Compatibility
Minecraft: Java Edition
1.21–1.21.1
Platforms
Supported environments
Server-side
Singleplayer
Tags
Creators
Details
Licensed CC-BY-4.0
Published 2 weeks ago
Banned Items Mod
NeoForge 21.1.220 | Minecraft 1.21.1 | Server-Side Only
A lightweight server-side mod that lets operators ban specific items by their full item fingerprint (registry ID + all data-components / NBT). Banned items are automatically destroyed wherever they appear: inventory, cursor, ground, crafting table, or anvil.
Commands (requires operator level 2)
| Command | Description |
|---|---|
/banhanditem |
Ban the item currently in your main hand. Deletes the item from your hand and scans the rest of your inventory for copies. Saves to config immediately. |
/unbanhanditem |
Unban the item currently in your main hand. |
/banneditemslist |
Print all currently banned items to chat. |
/reloadbanneditems |
Reload config/banneditems.json without restarting the server. |
How banning works
- Hold an item and run
/banhanditem. - The mod serialises the full item (item ID + every data-component such as
enchantments, custom name, lore, potion effects, etc.) to SNBT and stores it
in
config/banneditems.json. - From that moment, any item stack that matches both the item type and all data-components is considered banned.
- Banning is exact-match: a Diamond Sword with Sharpness V is a different entry from a plain Diamond Sword. This lets you ban specific hacked items without affecting normal ones.
Enforcement
| Trigger | Action |
|---|---|
| Inventory sweep (every 1 s) | Removes banned items from all 41 inventory slots and the cursor slot |
| Crafting output | Zeroes the result stack so the player receives nothing |
| Right-click on block / in air | Event cancelled; item cannot be used |
| Left-click / attacking | Event cancelled |
| Item pickup from ground | Item entity discarded immediately |
| Anvil (repair / rename) | Output blocked |
Config file
config/banneditems.json — a JSON array of SNBT strings.
[
"{id:\"minecraft:diamond_sword\",count:1}",
"{id:\"minecraft:tnt\",count:1,components:{\"minecraft:custom_name\":\"{\\\"text\\\":\\\"Super TNT\\\"}\"} }"
]
You can hand-edit this file and run /reloadbanneditems to apply changes without
restarting.


