◈ Admin & Utility
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.magicdefaults 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 stripasks 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
PERMISSIONS
- One per verb (
itemforge.name,itemforge.lore,itemforge.enchant…), so a builder rank can rename without being able to make things unbreakable - Three for formatting:
itemforge.format.colour,itemforge.format.styleanditemforge.format.magic itemforge.protectedfor the material list, anditemforge.limits.bypassfor a staff member testing something. Both default to false: they are granted, not inherited by being an operator- Every node is declared in
plugin.yml, so your permissions plugin can see them all
CONFIGURABLE
- Longest display name, longest lore line and how many lore lines an item may carry
- Highest enchantment level, and the largest stack
/item amountwill set - The protected material list — spawners, written books and filled maps out of the box, because a renamed one of those is how a fake passes for the real thing. Add your own (player heads, shulker boxes, anything) and a name that does not exist is reported on startup
- Whether every edit is written to the server console: who, what item, what changed
- English and Spanish included, and every string a player sees lives in the language file
Commands
| Command | What it does |
|---|---|
/item | Edit the item in your hand. |


