Some basic steps to follow when tracking down command problems, along with some basic solutions.
Where are you running the command
Running On Server
Does the command work on a local world?
If yes then continue. If not then see running locally.
Error unknown item name
There's a few reasons,
- Server software changes the command syntax,
Some servers require the plugin prefix /minecraft:give or /minecraft:summon
- Server software changes the item syntax,
Some servers require the plugin prefix /minecraft:give @p minecraft:stone
- The command was made for a different version of minecraft, some commands swap the order of command arguments.
- Item name or block id may be incorrect (but you've probably checked this)
Permission Error
To run most high level commands such as /give you must be op.
In some cases if the server is running a permission plugin such as PermissionsEx or BukkitPerms you may need to enable commands in the plugin's config, best to check that plugin's documentation for how to do this.
Running Locally
Error starting with Expected
This is usually an issue with the NBT data, try reducing the command to the smallest command possible or removing parts from the NBT data.
Permission Error
To run most high level commands such as /give you must have created the world with allow cheats enabled, then switch to be op.
Helpful terms
NBT data
This is the data that usually appears after the block name or id. It starts with a curl bracket {. This data is close to the popular json format, however Minecraft removes a lot of quote marks around variables.
Example of NBT data
{Enchantments:[{id:"binding_curse",lvl:1}],Unbreakable:1}
Op
Grants operator status to a player and allows the player to use powerful commands. Can do things like put the player in creative mode, summon objects, break things.