BanItem 是一款简单、强大、轻量且高度可配置的插件,它允许服务器管理员针对特定世界、特定物品和特定操作(如放置、使用、合成等)设置禁令,并支持精细的权限控制。
BanItem 提供了两种主要模式来管理物品使用:
插件支持禁止以下多种物品交互行为(部分操作需要特定 Minecraft 版本):
place 操作)。配置文件 (config.yml) 结构清晰且功能强大。以下是一些关键概念:
禁令规则在 blacklist(黑名单)或 whitelist(白名单)节点下配置。
)、所有世界除某些外(, !world_the_end)或使用正则表达式(以 # 开头,如 #world)。Material 名称。格式与世界类似,支持单个、多个、所有(*,包括空手)、所有除某些外以及正则表达式。cooldown:设置操作冷却时间(毫秒)。entity:指定相关的实体类型。gamemode:仅在玩家处于特定游戏模式时生效。inventory-from / inventory-to:指定物品转移的源容器和目标容器类型。material:检查玩家手中或相关的另一个物品。permission:检查玩家是否拥有特定权限。log:设置为 true 时,拥有 /banitem log 权限的玩家会收到该禁令触发的消息。message:当禁令触发时发送给玩家的消息。placeholderapi_condition:当 PlaceholderAPI 的某个值匹配时才生效。region:指定 WorldGuard 区域。run:禁令触发时执行的控制台命令列表(支持 {player}, {world}, {itemname} 变量)。blacklist:
world:
diamond_block:
place: '&cYou are not allowed to place a diamond block in world.'
break: '&cYou are not allowed to break a diamond block in world.'
stick:
entityinteract:
entity: item_frame
message: '&cYou can not put a stick into an itemframe!'
log: true
'*, !world_the_end':
ender_pearl:
use: '&cYou can use enderpearls only in the end.'
whitelist:
world_the_end:
message: '&cOnly thing allowed in this world: placing dirt.'
ignored: 'interact'
dirt: placeBanItem 的权限系统非常精细,可以精确控制对特定世界、物品、操作和数据的绕过。
格式:banitem.bypass.<世界名>.<物品名>.<操作名>.<数据名>
allworlds 代表所有世界。allitems 代表所有物品。* 作为通配符。banitem.bypass.allworlds.stone.place.*:允许玩家在所有世界放置石头。banitem.bypass.*:绕过所有禁令。banitem.bypass.world_nether.allitems:允许玩家在地狱世界对所有物品进行所有操作。banitem.command.addbanitem.command.checkbanitem.command.helpbanitem.command.infobanitem.command.loadbanitem.command.logbanitem.command.metaitembanitem.command.reloadbanitem.command.remove/banitem add <actions> [-m materials] [-w worlds] [message]将你手中的物品(不含元数据)在当前世界加入禁令。可指定操作、材料、世界和提示信息。
/banitem check [delete]列出所有玩家库存中存在的黑名单物品(按世界规则)。使用 delete 参数同时删除这些物品。
/banitem metaitem 或 /bi mi/bi mi add <name> [action] [message]:将手中的物品(包含元数据)保存为自定义元物品并可选设置禁令。/bi mi get <name>:获取指定名称的元物品到你的库存。/bi mi list:列出所有已定义的元物品。/bi mi remove <name>:移除指定的元物品。/banitem help [type]获取关于指定类型(worlds, actions, entities, gamemodes, inventories)的详细信息。
/banitem info [debug]获取手中物品的信息(例如在配置中使用的材料名称)。
/banitem load <filename>加载指定的配置文件。
/banitem log切换日志模式。拥有此权限的玩家会收到所有标记了 log: true 的禁令触发信息。
/banitem reload 或 /bi rl重载 config.yml 配置文件。
/banitem remove [-m materials] [-w worlds]解除你手中物品的禁令。
你可以创建具有特定属性(如附魔、药水效果)的自定义物品进行管理。
customitems.yml 中定义自定义物品:customItemName:
material: DIAMOND_SWORD
enchantment-contains: 'unbreaking:3'config.yml 的黑名单中引用它:blacklist:
world:
customItemName:
attack: '&cYou can not attack with this sword.'完成!玩家将无法使用任何带有“耐久 III”附魔的钻石剑进行攻击。
重要提示:BanItem 的数据库会在下一个可用的服务器 tick 加载,以便让其他插件(如世界管理、物品管理插件)先完成加载。因此,在插件启动时直接调用 API 可能会得到空数据库。建议在延迟 2-3 秒的任务中加载你的插件逻辑。
// 方法一:通过 PluginManager
final BanItem banItem = (BanItem) getServer().getPluginManager().getPlugin("BanItem");
final BanItemAPI banItemApi = banItem.getApi();
// 方法二:直接通过 API 单例
final BanItemAPI banItemApi = BanItemAPI.getInstance();
// 方法三:通过 BanItem 实例
final BanItemAPI banItemApi = BanItem.getInstance().getApi();PlayerBanItemEvent:当一个物品/操作即将被禁止时触发,可取消。DeleteBannedItemEvent:当一个物品即将被 delete 操作删除时触发,可取消。感谢所有支持者!如果你喜欢这个插件,请给它评分和/或留下评论!
你也可以请开发者喝杯咖啡以示支持。
完整文档:https://banitem.andross.fr/
如有任何漏洞、问题或建议,请通过 SpigotMC 站内信或 Discord (andross96) 联系我。
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人次:3,030,581 | 今日访问人次:14,709 | 昨日访问人次:11,147
独立 IP:5,104 | 最近24小时独立访客:6,723
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6