本帖最后由 q211316907 于 2020-4-26 19:49 编辑
前言
这款BanItem与站内转载的不一样,是2019年5月新发布的。
这款插件相比旧款更加轻量级,支持单个世界单独封禁一个物品的某个选项。
能完美兼容1.7.10-1.15.2。包括模组服,CatServer未测试不确定。
  • 黑名单: 你能够单独在一个世界里封禁掉一个物品的某个选项,比如合成、放置。
  • 白名单: 和黑名单相反,你可以只允许某个选项可用。
  • 良好的兼容性
  • 支持自定义物品&模组物品 (特殊数值/属性的物品[例如RPG物品],,药水,刷怪笼)
  • 轻量级 & 仅启用必要的监听器
  • 开发API
  • 声音和粒子
  • 可设置物品的众多选项(看下面)

可封禁的选项如下:
前边是配置里添加的选项,后边是介绍
  • place: 禁止物品被放置或使用
  • break: 禁止物品被破坏
  • pickup: 禁止物品被拾起
  • drop: 禁止物品掉落
  • interact: 禁止物品被右键互动
  • click: 禁止物品被左键点击
  • transfer: 禁止物品被取出、放入背包
  • wear: 禁止物品被穿在身上(你得设置允许place选项)
  • swap: 禁止物品被交换(交换页面)
  • armorstandplace: 禁止物品被放置在盔甲架上
  • armorstandtake: 禁止物品从盔甲架上取下
  • dispense: 禁止物品被从方块中发射
  • delete: 当玩家打开或关闭背包时,拥有这个选项的物品将会被检查并且被删除
  • creative: 仅在创造模式可用
  • craft: 禁止物品被合成
  • smelt: 禁止物品被熔炉
  • brew: 可被酿造
  • drops: 破坏方块禁止掉落
  • entitydrop: 物品是否从实体身上掉落
  • glide: 是否可用鞘翅滑行
  • hangingplace: 当玩家尝试放置悬挂物品时 (展示框、画...);
  • banitem.bypass.* - 在所有世界忽略禁用物品 (默认: OP)
    • banitem.bypass.<世界名字>.<原版物品名字>.<忽略的封禁选项>
    • banitem.bypass.<世界名字>.<自定义物品名字>.<忽略的封禁选项> (例子: banitem.bypass.*.stone.*)
  • banitem.command.* - 一切指令 (默认: OP)
    • banitem.command.check
    • banitem.command.customitem
    • banitem.command.reload
    • banitem.command.info
    • banitem.command.help
  • /banitem check [delete]- 列出背包里有封禁物的玩家,加上delete参数将删除封禁品。
  • /banitem customitem add <name> [force]: 将手上物品添加到自定义物品里,加上force参数可替换已存在的自定义物品。
  • /banitem customitem remove <name>: 移除自定义物品
  • /banitem list: 列出自定义物品
  • /banitem info - 获取手上物品信息 (获得材料名字方便你在config.yml里添加封禁物);
  • /banitem reload - 重载config.yml文件

因为插件支持1.13+,而1.13+bukkitAPI里方块类型/数值有较大变化,所以该插件为兼容新版本都采用物品名称检测。
  • 该插件添加封禁物品是通过修改config.yml来封禁的
  1. #物品黑名单
  2. blacklist:
  3. #封禁的世界名
  4.   world:
  5. #封禁的物品
  6.     diamond_block:
  7. #封禁这个物品的哪些选项
  8.       place: '&c当被放置或使用时提示的文本信息.'
  9.       break: '&c当被破坏时提示的文本信息.'
  10.     stone_button:
  11.       interact: '&cYou can not interact with a stone button in world.'
  12.       pickup: '&cYou can not pickup a stone button in world.'
  13.     lava_bucket:
  14.       place, creative, delete: '&cYou can not use lava buckets in this world while in creative mode.'
  15. #自定义物品的代码,items.yml里查看
  16.     my_custom_potion:
  17.       place: '&cYou can not use potion of speed I in world.'
  18. #物品白名单
  19. whitelist:
  20.   world_the_end:
  21.     message: '&cYou can only place and break ender stone in the end.'
  22. #默认忽略应该是,黑名单那边应该不支持这种节点,有的话作者应该有在上面写出来
  23.     ignored: inventory, pickup, drop, click
  24. #只允许放置破坏末地石
  25.     end_stone: place, interact, break
复制代码
  • 自定义物品先通过指令/banitem customitem add <name> 来添加,然后再到config.yml里添加封禁
  • 模组物品的话如果有数值重复的就不能直接添加了,得先创建自定义物品再封禁。