The CommandAPI does a lot of stuff "behind the scenes". This internal CommandAPI section will go into detail about what the CommandAPI does, how it's implemented and why it has been implemented like that.
The CommandAPI's arguments are basically representations of the different arguments that the Minecraft Command Data protocol handles. These are outlined in the table below:
There are a few arguments that aren't implemented. Here's why:
minecraft:entity_anchor- This argument only has two values:
feet. It's incredibly unnecessary for any other purpose and is easier to implement with a
minecraft:item_slot- Bukkit's implementation of item slot numbers differs very wildly to Minecraft's implementation of item slot numbers. This difference makes it near-impossible to have a suitable middle-ground for item slot numbers that ensures that invalid numbers cannot be passed to the wrong inventory type. An implementation of this would require a rewrite of the current system to maintain proper inventory slot access safety.
minecraft:nbt_tag- You've got the
NBTCompoundArgument, that's good enough, right? ¯\_(ツ)_/¯