ItemForge
The item in your hand, edited from one command
ItemForge edits the item in your hand, from one command, on Paper 1.21.x. Name, lore, enchantments, flags, unbreakable, stack size, custom model data and player heads.
THE THREE
- Length is a limit, and it counts what the player SEES. Formatting codes do not take up space on screen, so they do not count against it. A name past the limit breaks anvils, holograms and hover text, which is why the ceiling exists
- Colour, style and obfuscated are three separate permissions. Colour is decoration. Bold is how a dropped item passes for a staff one. Obfuscated scrambles the text so nobody can read what the item actually is. itemforge.format.magic defaults to false, not to operators
- It lives in your config. A server that wants to protect something else does not have to recompile anything, and a material name that does not exist is reported on startup instead of silently doing nothing
DETAILS THAT ONLY SHOW UP IN USE
- Italic is turned off on every name and lore line. Minecraft italicises any custom name by itself, so a name typed with no formatting comes out formatted. Every editor has to undo this by hand, and most do not
- A tag nobody granted has no meaning. The parser is built from the player's permissions rather than checked against a hand-written list of tag names — so a tag that is neither colour, nor style, nor obfuscated cannot slip through because nobody thought to list it. It is left on the item as plain text
- /item head <player> never freezes the server. A name that has never joined has to be looked up at Mojang, which is a network request. It runs in the background and is only applied if you are still holding the same head when the answer comes back
- /item strip asks for every permission it uses. It removes the name, the lore, the enchantments, the flags, unbreakable and the model, so it requires all six — not just the two for name and lore
- Both & codes and modern tags are accepted, so your staff do not have to relearn anything
COMMANDS
- /item name <text> — or with no text, clears it
- /item lore add|set|remove|clear
- /item enchant <name> <level> · /item unenchant <name> · /item clearenchants — names resolve the way a player would type them ("sharpness", "unbreaking"), with tab completion
- /item flag <flag> · /item unbreakable · /item amount <n> · /item model <n>
- /item head <player> · /item strip · /item reload