Many Useful Things Library

Many Useful Things Library 1.3.0

Denizen Version
This contains, just, oh so many different utilities, from procs to tasks to commands that I all use on a day to day basis when working on projects.


The config contains some stuff you might want to change for your particular setup, including a custom model data offset, to offset all the custom item textures (of which there are currently none but one day I'll get around to that) by a certain amount, so that it doesn't conflict with the cmd of other custom items you may have.

You have a bunch of color stuff, like errors, warnings, and the like, which can all be changed here, as well as the coloring for the formatting for commands. Right now, commands have a colorful usage, and you can change the color for all of them by changing just the color for, say right bracket, to change how all right brackets in command usage's look.

There's also a quick blacklist for two of the commands, one which removes all flags, and one that removes all mobs. The blacklist comes with some defaults, feel free to add or remove to taste.


This is where all of the lib procedures are located. They are split into a number of different files, labeled roughly by what they effect or do. So for example, random.dsc is all of the procedures that have to do with random stuff, such as a random pitch, or a random color. Below is a list of all of the procedures (as of 5/16/21), with zero explination. hopefully the name of each proc is clear enough on it's own, but if that's not enough, at the top of each file is a description of what each proc does, so feel free to take a look at that if you need more information. KEEP IN MIND that this library does change frequently as stuff is added to Denizen, and my stuff becomes less relevant, or is sometimes changed when I find out there is an easier way to do the thing I was doing, etc etc. Not all of these will be useful to you, but hopefully some of it is.
  • as_alpha
  • as_numeric
  • as_alphanumeric
  • as_nonalpha
  • as_nonnumeric
  • as_nonalphanumeric
  • is_alpha
  • is_numeric
  • is_alphanumeric
  • is_player
  • has_alpha
  • has_numeric
  • has_alphanumeric
  • has_permission
  • flipped_case
  • rainbow_text
  • animated_rainbow_text
  • instances_of_character
  • map_range
  • cycle_value
  • numeric_list
  • farthest_from_zero
  • normalize
  • clamp
  • sine_wave
  • sine_wave_increment
  • ease
  • romanize
  • random_pitch
  • random_color
  • random_color_tag
  • random_text
  • random_uppercase
  • random_by_weight
  • fill_list
  • find_nearest_npc_by_name
  • exact_match_offline_player
  • outline_cuboid
  • outline_location
  • shell_ellipsoid
  • center_armor_stand_on_head
  • block_face
  • block_facing
  • rainbow_list
  • unstackable_item


This is all the other stuff! We've got commands, tasks, as well as events and so on that help with the tasks and things. These aren't all immediately drop in like the procs are, but there's still lots of goodies in here. For example, in our tasks we have:


Spawns in a falling sand block with collision at the passed location, with the passed material. This block has an armor stand that is determined to you (along with the shulker and falling sand) so you can easily move around the block with the stand, and then simply remove all three things to clean up nice and easy!


Simulates block placement! Does the arm swing, makes the sound, doesn't actually place a block. Used internally for the random block placer tool, but can be useful in any instance where you want to pretend to place a block, and then just adjust it later, instead of actually placing a block down. Currently the sound matching doesn't work as well as I'd like it to, but one of these days I'll get around to making a big block-to-sound LUT so it works nicer.

We have a data script which is used a lot internally for data that doesn't need to keep being redefined everytime a procedure or task is called, but still needs to, ya know, exist somewhere. Most likely not useful, unless you need phi, epsilon, or the alphabet in a character set?

There are some internal procedures that really aren't useful for anything but the one task they were designed for, which is why they live in a separate procedure file. The entities file is some custom entities for the spawn_falling_block task, the items file is custom items for the commands and the events file are events that work in conjunction with the commands.

The commands... oh sorry-


There's a number of very useful commands when working on scripts. We have, in order:


An internal, fully denizen powered permission system, to be used in conjunction with the libraries commands, any possibly any other commands. It's not a legitimate permission, and so won't work with external permission plugins, nor will it be detected by denizen's has_permission tag, but there is a custom proc tag that allows you to easily check if a player does or doesn't have permissions for something. Includes wildcards! Note that all the following commands use this system, and you should either be an op, or give yourself permissions with this command, the utilities.* perm.


Probably my most used command, the naming scheme insinuates this is a "to be reserved" command, when quite the contrary, it's named that because it's short and gets rid of mobs. I was sick of dying from mobs while in survival, but there were things I wanted to test in survival. So I made this command. It feeds you, sets the time to day, clears the weather, kills all mobs (excluding those in the blacklist) and heals you to full. Plus it's very short, /a. I use it a lot to clear the rain.


Does what it says on the tin. Removes flags from a player or the server. This was made before monkey went made with flagging power and made dang near everything under the sun flaggable, so it unfortunately doesn't remove flags from those yet, but a very easy way to set yourself to square 1 to imitate a new player joining or if you just don't want to keep tying /ex flag <player> my_long_flag_name:!


Like remove_flags, but removes notables instead. Made too many? Get rid of 'em!


A fun little building tool, this allows you to add a bunch of blocks to a list with weights, and then the blocks will be pulled from that list randomly. Blocks with higher weights will be more likely to be picked and you can add a bunch of blocks. handles rotation as well too. Great for making those cracked gravel and cobblestone roads without needing to swap between 10 different materials all the time.


Like mcmonkey's cuboid tool on steroids. This thing does locations, it does cuboids, it does ellipsoids! I wrote a custom particle proc for each one of those! The ellipsoid particle one was a nightmare! I basically just wanted an all in one tool, and then I went a bit crazy with the particles and so on. All in all, still just an easy way to mark out notables.


Allows you to "puppet" an npc. Basically the npc despawns, you takes it's place, name, skin, the whole nine yards. You can walk around, chat, and do whatever you need to, and when you're done, you just rerun the command and the npc is left in your wake, as you fly away in spectator mode like a ghost vacating a previously possessed person. Useful for roleplay? Maybe short films or something? Or you can just physically walk an npc over to where you want them to stand, although that last one is a bit of a stretch. I don't even remember why I made this one.


If you have a queue that's infinitely running, shut that sucker down with this command! If that queue has no waits in it or anything though, this command doesn't work. That's just due to how Denizen code works. Can't stop the queue if it never gives you a chance to get in there and stop it. Great for runaway while loops and such that didn't end when they were supposed to.
First release
Last update
0.00 star(s) 0 ratings

More resources from jumpsplat120

Share this resource

Latest updates

  1. The Enchantment Update!

    New update, new commands, new procs! Commands denchant An enchantment command that's a little...
  2. Minor Update

    Bug Fixes Turned off debug on all commands Round lib_between since it throws an error if the...
  3. New Tasks and New Procedures

    Added: lib_simulate_item_breaking Fakes a player breaking an held item. The item is not taken...