• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
资源图标

原创 工具 LingNpcCommend —— 自定义NPC右键执行指令[1.7] 1.0

完成注册/登录后下载
版权类型
原创
插件中文名称
自定义NPC绑定指令
插件英文名称
LingNpcCommand
原帖地址
#
支持的核心(服务端)
  1. 其他核心
语言支持
多语言
前置组件
无硬性依赖,兼容 [辅助]自定义NPC.jar(CustomNPCs 模组)
适配版本(Java)
  1. 1.7
[MD] ## 一、功能强大,自定义强。 右键 自定义NPC模组(CustomNPCs)生成的NPC,即可自动执行你在配置文件中写好的指令。 - 支持 **全局指令** 与 **按NPC名称独立指令** 两种模式,右键任意NPC时先执行全局指令,再执行该NPC专属指令,互不干扰。 - 支持 **无限数量的NPC配置**,一个NPC对应多条指令,指令按顺序依次执行。 - 指令支持 **控制台身份 / 玩家身份** 双模式执行,只需在指令前加 `player:` 前缀即可让玩家本人代为执行。 - 内置 **占位符系统**:`%player_name%`(玩家名)、`%player_uuid%`、`%player_x% / %player_y% / %player_z%`(玩家坐标)、`%npc_name%`(NPC名称)、`%npc_class%`(NPC类名),可自由组合进任意指令中。 - 支持 **每NPC每玩家独立冷却**,防止玩家高频连点刷指令。 ## 二、轻量无负担,安全性高。 - 除配置文件外 **没有任何多余储存文件**,冷却记录常驻内存并由定时任务周期清理,无写入、无IO、无数据库,绝不产生垃圾文件。 - **不存在模组不兼容就报错的问题**:插件通过反射访问模组类,即使服务端没有安装自定义NPC模组,插件也能正常加载,只会输出一条提示日志,不影响其他插件。 - 反射字段与方法 **只解析一次并缓存**,并优先以 `isInstance` 快速过滤普通实体,对非NPC实体零反射开销,性能损耗几乎为0。 - 所有关键逻辑均有异常捕获与兜底,单条指令执行失败不会影响后续指令。 ## 三、完美联动自定义NPC模组。 - 原生识别 CustomNPCs 模组实体(`EntityNPCInterface`),支持 **按NPC真实名称匹配**,无需额外绑定ID。 - 即便从NPC的DataDisplay中读取不到名称,也会自动回退到实体的 CustomName 甚至类名,保证稳定识别。 - 右键触发后可选择 **取消原版交互**,彻底覆盖NPC自带的对话/任务界面,只执行你的指令,适合做商店、传送、礼包、任务领取等玩法。 - 三个配套权限节点:`lingnpccommend.use`(触发权限,默认所有人)、`lingnpccommend.reload`(重载权限,默认OP)、`lingnpccommend.bypass`(绕过冷却,默认关闭)。 ## 四、使用教程 ### 主配置文件(config.yml) ```yaml # 调试模式(控制台输出检测到的NPC信息) Debug: false # 右键NPC时是否取消原版交互 CancelInteract: true # 同一NPC对同一玩家的右键冷却(毫秒), 0 关闭 Cooldown: 1000 # 是否启用全局指令 (右键任意本模组NPC都会执行) EnableGlobal: false # 全局指令列表, 支持占位符 Global-Commands: - "broadcast %player_name% 右键了NPC %npc_name%" # 按NPC名称配置指令 Npc-Commands: "管理员": - "player: say hello %player_name%" - "give %player_name% minecraft:diamond 1" "传送使者": - "player: tp %player_x% %player_y% %player_z%" ``` ### 常用指令 ``` /lnpc reload 重载配置 (别名 /lingnpccommend, /lnc) ``` [/MD]
作者
Y凌
下载
4
查看
96
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部