可配置的禁止物品列表

可配置的禁止物品列表

一个轻量级的服务端模组,允许管理员通过完整的物品指纹(注册ID + NBT)封禁特定物品。被封禁的物品无论出现在何处都会自动销毁:背包、鼠标指针、地面、工作台或铁砧中。

禁止物品 Mod

NeoForge 21.1.220 | Minecraft 1.21.1 | 仅服务端

一款轻量级的服务端 Mod,允许管理员通过完整物品指纹(注册 ID + 所有数据组件 / NBT)禁止特定物品。被禁止的物品将自动销毁,无论它们出现在何处:物品栏、光标上、地面、工作台或铁砧中。


命令 (需要管理员等级 2)

命令 描述
/banhanditem 禁止主手中当前的物品。从手中删除该物品并扫描其余物品栏中的副本。立即保存至配置文件。
/unbanhanditem 解除禁止主手中当前的物品。
/banneditemslist 在聊天框中打印所有当前被禁止的物品。
/reloadbanneditems 无需重启服务器即可重新加载 config/banneditems.json。

禁止机制

  1. 手持一个物品并运行 /banhanditem。
  2. Mod 会将完整物品(物品 ID + 每个数据组件,如附魔、自定义名称、描述、药水效果等)序列化为 SNBT 并存储在 config/banneditems.json 中。
  3. 从那一刻起,任何同时匹配物品类型和所有数据组件的物品堆叠都将被视为被禁止。
  4. 禁止是精确匹配:一把带有锋利 V 的下界合金剑与一把普通的下界合金剑是不同的条目。这允许你禁止特定的被修改物品,而不会影响正常物品。

执行机制

触发事件 操作
物品栏扫描(每秒 1 次) 从全部 41 个物品栏格子及光标格子中移除被禁止的物品。
合成输出 将结果堆叠归零,使玩家无法获得物品。
右键点击方块 / 在空中 取消事件;物品无法使用。
左键点击 / 攻击 取消事件。
从地面拾取物品 立即丢弃物品实体。
铁砧(修复 / 重命名) 阻止输出。

配置文件

config/banneditems.json — 一个包含 SNBT 字符串的 JSON 数组。

[
  "{id:\"minecraft:diamond_sword\",count:1}",
  "{id:\"minecraft:tnt\",count:1,components:{\"minecraft:custom_name\":\"{\\\"text\\\":\\\"Super TNT\\\"}\"} }"
]

你可以手动编辑此文件,然后运行 /reloadbanneditems 来应用更改,无需重启服务器。