Easy NPC (Bundle) 7.4.1
on 2026 Jul 24Easy NPC(1.20.1)版本更新日志
说明
本更新日志汇总了主要变更内容。
如需查看完整变更记录,请访问 [GitHub 历史记录][history]。
⚠️ 注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请参阅 [升级指南][upgrade_guide]。
7.4.0
- 修复 #807:不再将半径32格内所有同类型NPC拉入“自卫”战斗。
- 修复 #805:统一评估全部可见性设置,而非在首个设置处即停止判断。
- 修复 #804:为多普勒NPC保留自定义名称,确保基于名称的贴图与名称标签正常显示。
- 修复 #803:调整资源文件以匹配标准Minecraft风格,而非通用UI风格。
- 修复昼夜检测逻辑错误(此前将日出判定为夜晚、日落判定为白天)。
- 修复下界与末地的可见性检测错误(此前错误使用主世界时间)。
- 修复时间与游戏模式可见性复选框随机排列的问题。
- 修复游戏测试仅能在首次断言失败时报告问题,导致后续失败被隐藏。
- 修复“已配鞍”马匹皮肤变体始终不显示马鞍的问题。
- 将“对所有者可见”与“对队伍可见”两项设置扩展支持昼夜与游戏模式条件。
- 调整唤魔者、幻术师与卫道士变体中未启用“交叉双臂”状态时的手臂姿态,使其自然垂落。
- 新增“防御阵营”目标:当附近阵营成员或玩家受到伤害时,自动攻击施害者。
- 新增系统提示消息:当阵营成员彼此交战且该阵营选择置身事外时发出提示。
- 为掠夺者类生物新增头部装备栏位,便于移除或更换其队长旗帜。
- 在显示配置界面中新增昼夜预览功能。
- 为可见性属性与阵营防御机制新增单元测试与游戏测试。
- 优化可见性检测性能:每次检测仅读取一次显示属性。
- 补全旧版本显示属性缺失字段,自动填充默认值。
- 优化攻击目标界面:当未设置相关选项时,自动禁用“保护所有者”与“防御阵营”。
7.3.0
- 优化皮肤变体实现:改用类型化字段存储数据,而非解析变体名称字符串。
- 将方块宝可梦(Cobblemon)模组ID与默认模型统一集中至共享常量中。
- 使用共享
EnumUtils工具类替代重复枚举代码,统一提供get(String)查找方法。 - 优化村民职业与类型查找逻辑:改用直接注册表键查询,避免遍历扫描。
- 优化枚举名称查找性能:在构造时一次性缓存标签名、ID与键值。
- 新增针对皮肤变体、村民解析及枚举工具类的单元测试与游戏测试。
7.2.0
- 修复 #801:为NPC、对话与动作的UUID采用组合生成方式,避免动作追踪与执行限制出现冲突。
7.1.1
- 修复 #800:对实体类型采用延迟加载策略。
7.1.0
- 修复 #799:完善边界情况处理,并补充文档说明与更清晰的日志信息。
- 修复 #798:将控制台、命令与命令方块识别为可信命令来源。
- 修复单人游戏/LAN模式下的严重问题:客户端与服务端NPC共用同一注册表。
- 修复配置菜单处理中的内存泄漏,并增加超时与断开连接清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查找失败后无法恢复的问题,防止慢速服务器导致游戏卡死。
- 修复URL皮肤界面在检查远程图片时冻结游戏的问题;现改为后台异步执行检查。
- 新增“世界生成器”方块:可在全维度范围内限制某一NPC预设的生成数量;原有“群组生成器”现按维度独立计数,避免远距离NPC阻塞生成。
- 强化远程皮肤下载安全性:严格限制文件大小并安全处理重定向,防止因超大或恶意皮肤URL引发崩溃;新增可选配置项
blockPrivateAddresses。 - 提升服务端性能:仅向实际使用实体/玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:将AI防护机制扩展至史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、劫掠者、女巫)。
- 修复 #787、#531、#237 与 #184:新增阵营系统,支持
/easy_npc faction命令、逐NPC阵营分配及自动同步记分板队伍。 - 修复 #787、#771 与 #572:新增
target目标选项卡,支持攻击敌对阵营或指定目标(通过玩家名、队伍、实体标签或UUID)。 - 修复 #786:为方块宝可梦(Cobblemon)NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female或shiny搜索。 - 修复无敌NPC间阵营战斗问题:新增“可被阵营攻击”战斗属性。
- 修复方块宝可梦(Cobblemon)模型预览对超大体型物种适配不佳问题:改用Cobblemon自身档案缩放比例,而非碰撞箱高度。
- 修复阵营管理边界情况:校验阵营名称合法性、对阵营列表排序,并在阵营颜色变更或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型单独加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“可被玩家/怪物/阵营攻击”战斗属性:各属性独立于“无敌”状态生效,分别对对应攻击者群体开放特定漏洞。
- 优化预设命令与网络处理:将大型处理器拆分为小型专用组件(导入、导出及功能特化)。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、着色、删除阵营及管理敌对关系,并受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性标签页,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示与悬停工具提示。
- 新增针对阵营、目标目标及方块宝可梦(Cobblemon)模型变体的单元测试与游戏测试。
6.25.0
- 修复 #780:为远程纹理下载新增额外缓存与性能优化。
- 修复 #767:为属性滑块增加防护机制,防止其他模组传入天文数字级数值。
- 修复 #754:为含动作与条件的NPC新增自定义数据项匹配功能。
- 修复纹理管理器在错误线程运行可能导致崩溃与死锁的问题(≥1.21.x版本)。
- 修复动作条件中空UUID引发的非预期行为。
- 修复动作执行限制重置失效问题。
- 新增纹理注册队列,避免同一刻内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供含动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌等示例物品,以及适用于动作与条件的新物品数据。
- 新增通用防护机制,防止其他模组传入天文数字级属性值。
- 将后备最大生命值上限从1024提升至4096,以支持更复杂的NPC设计。
- 优化纹理管理器,消除重复的纹理检查与注册操作。
6.24.0
- 修复 #459、#775:新增阻止与不可见NPC交互的选项。
- 修复 #774:解决可选史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射引发的启动崩溃。
- 修复 #773:在基础刻度周期中及打开交易界面前检查限时交易重置。
- 修复交易重置时机问题:正确增加内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,展示昼夜时间与天气条件应用。
6.23.0
- 修复 #772:优化纹理重试机制,适配403与404错误并降低日志输出等级。
- 修复 #770:改善史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:解决NPC开关门不可靠的问题(门循环异常)。
- 修复 #760:新增对话选项与配置项(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件对话按钮。 - 修复 #709:新增名称颜色选择弹窗,支持32种预设色及手动输入RGB/十六进制值。
- 修复NPC名称颜色重置问题:在未指定颜色的情况下重命名时,保留原有名称颜色。
- 优化门移动属性:当启用“开门”或“关门”时,“穿门”自动启用。
6.22.0
- 修复 #766:向命令执行传递完整的服务器玩家上下文,提升与依赖特定玩家数据的第三方模组/插件兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并新增示例NPC预设
Grukk, the Sparring Post展示其用法。 - 修复 #763:确保对话按钮执行限制现已被准确记录。
- 修复 #758:新增示例NPC预设
One Wish Companion。 - 修复 #756:解决第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)导致的崩溃。
- 修复对话按钮未针对服务端数据锁定的问题,为 #760 与 #644 做准备。
- 修复 #628:新增条件化对话开启支持/命令,增强对对话向玩家展示时机的控制能力。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册完整原版脑记忆集。
- 为枪械标签(gun tag)新增更多枪械支持(#757)。
- 新增“条件化开启对话”动作:仅在满足条件时开启指定名称对话;原有“开启对话”动作保持无条件开启。
- 新增实体生命值与NPC生命值条件,支持应用于动作、对话及对话按钮。
- 为猪灵、猪灵蛮兵与僵尸化猪灵NPC新增无敌设定,与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),主题归类更合理。
6.21.0
- 修复掠夺者类生物在交叉双臂姿态下的物品附着问题。
- 修复掠夺者类生物十字弓攻击目标失效问题。
- 修复 #756:解决第三方物品无法作为手持物品渲染导致的崩溃。
- 修复 #756:解决第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃。
- 修复日志信息泛滥问题:降低日志详细程度,并增加对自定义模型部件的额外校验。
- 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
⚠️ 注意:本次更新将对话背景图尺寸调整为每边增加10×6像素,若您使用自定义对话背景,可能需要相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:支持为对话、对话按钮及交互添加条件。
- 修复对话界面布局与背景相关的较小UI问题。
- 重构对话背景图:每边尺寸增加10×6像素。
- 重构对话界面布局:更好适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端配置选项,用于对话文本。
- 新增条件符号,用于指示对话、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设
Threshold Warden,集成多种条件与动作。 - 新增若干与对话条件及按钮状态相关的小型Bug修复与优化。
6.18.0
⚠️ 注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行限制条目(未存储ID者)被重置或清除。
- 修复 #745:新增动作条件支持,实现更复杂、动态的行为逻辑。
- 修复 #652:为长文本对话按钮新增工具提示。
- 修复 #687:为命令值新增工具提示,完整显示其内容。
- 新增经验值等级条件。
- 新增游戏模式条件。
- 新增物品是否存在于物品栏的条件。
- 新增物品是否存在于主手/副手的条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设
Goldmere,集成多种条件与动作。 - 新增否定条件支持,允许对条件进行取反以构建更复杂逻辑。
- 移除
ActionDataEntry的伪参数ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 优化详细日志:降低启动及游戏运行期间
log.info消息频率。 - 新增单元测试与游戏测试。
6.16.0
- 修复 #732:新增禁用对话ESC键与关闭按钮的选项。
- 修复 #723:在交易界面等特定场景下避免自动关闭对话。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增头像缩放与位置偏移选项,用于对话界面。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗(Epic Fight)集成,并启用实验性功能。
- 修复 #729:确保交易使用次数正确存储。
- 修复 #728:新增玩家头颅自定义支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特定边界情况:在基础交易模式与普通/高级交易模式间切换。
- 修复对话按钮文字截断问题:工具提示中显示完整文本。
- 修复方块宝可梦(Cobblemon)动画问题:同步动画状态至Cobblemon动画系统。
- 新增逐交易动作支持:允许用户在购买后触发特定动作。
- 新增交易重置按钮:一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能状态:允许用户手动启用实验性功能。
- 新增示例商人
Griselda Grindstone,集成动作功能。 - 清理测试文件。
6.14.0(方块宝可梦支持与对话优化)
- 修复 #727:修改数值时确保变更同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础方块宝可梦(Cobblemon)支持,含Cobblemon NPC。
- 修复对话错位与导航问题:调整对话精灵图与界面。
- 修复X轴与Z轴根部旋转:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦(Cobblemon)支持:含自定义NPC类型与模型,供测试使用。
6.13.0(安全与权限更新)
⚠️ 注意:本次更新强化了多人游戏环境下的安全检查与权限控制。
部分服务端命令存在潜在风险,若被恶意利用可能造成危害。
本次更新将模型根部数据与逻辑同其余模型部件数据与逻辑分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑同其余模型部件数据与逻辑分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与示例,支持自定义模型。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂(Ghast)碰撞箱与名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查:防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、定制性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)准备权限系统。
- 针对配置界面渲染与资源进行通用代码清理与优化。
6.12.0
- 修复 #714:基于原版模型,新增对自定义模型部件列表的额外校验。
- 修复 #713:降低日志详细程度:将每个NPC的INFO级别消息降级为DEBUG,并合并冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制:防止生产环境中不必要的缓冲区分配。
- 新增模型部件名称常量至 EasyNPCModelManager,确保混入(Mixin)中的一致使用。
- 优化 RenderEntityTypeSupportConfig:增强过滤逻辑并优化数据结构,提升性能与可维护性。
- 移除输出大型数据结构的冗长调试日志。
6.11.0
- 修复 #703:解决新自定义图层系统与手部渲染的渲染问题。
- 修复 #701:新增对无效交易报价的额外防护与日志记录。
- 修复智能动画在修改头部位置后无法正常工作的问题。
- 修复头部追踪:将玩家检测逻辑移回服务端专属。
- 修复 CustomLookAtPlayerGoal:更好处理边界情况并减少抖动。
- 修复多普勒NPC持续持有手部物品的问题。
- 优化 PoseManager 日志消息。
- 更新Logo为新设计。
6.10.0
- 修复 #695:切换至
DEFAULT原版姿态时,清空模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时,才应用锁定旋转与姿态动画。
- 修复 #695:修正根部旋转枢轴点,改用实际包围盒高度而非固定值0.5f。
- 修复多个目标注册问题:包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺失的玩家目标刷新、离线目标重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定ROOT旋转的功能;根部锁定现由用户自主控制。
- 新增高级与自定义姿态配置界面中的锁定旋转复选框。
- 新增
ConfigurationMenuHandler中针对默认姿态界面的模型特定姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及面向Fabric与Forge的游戏测试。 - 将最大头部偏航角范围从60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿态。
- 修复 #597:新增多种逃离目标,支持逃离玩家、村民、怪物等。
- 修复姿态加载逻辑:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC的问题:先检查注
... [内容过长已截断]
Easy NPC (Bundle) 7.4.1
on 2026 Jul 24Easy NPC(1.20.1)版本更新日志
注意事项
本更新日志仅汇总了主要变更内容。
如需查看完整变更记录,请访问 [GitHub 历史记录][history]。
注意:升级至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请参阅 [升级指南][upgrade_guide]。
7.4.0
- 修复 #807:不再将半径32格内所有同类型NPC强制拉入“自卫”战斗。
- 修复 #805:统一评估全部可见性设置,而非在首个设置处即停止判断。
- 修复 #804:为多普勒NPC保留自定义名称,确保基于名称的贴图与名称标签正常显示。
- 修复 #803:调整资源文件以匹配标准Minecraft风格,而非通用UI风格。
- 修复昼夜检测逻辑错误——此前将日出判定为夜间、日落判定为白天。
- 修复下界与末地的可见性判断错误——此前错误使用主世界时间进行判断。
- 修复时间与游戏模式可见性复选框随机排列的问题。
- 修复游戏测试仅能在首次断言失败时报错的问题,避免后续失败被隐藏。
- 修复“已配鞍”马匹皮肤变体始终不显示马鞍的问题。
- 调整“对所有者可见”与“对队伍可见”两项设置,使其同样遵循昼夜与游戏模式限制。
- 调整唤魔者、幻术师与卫道士的非“交叉双臂”变体,使其双臂自然垂落。
- 新增“防御阵营”目标:当附近阵营成员或玩家受到攻击时,自动攻击施害者。
- 新增系统消息:当阵营成员彼此交战且该阵营选择置身事外时,向玩家发送提示。
- 为掠夺者类生物新增头部装备栏位,支持移除或更换其队长旗帜。
- 在显示配置界面中新增昼夜预览功能。
- 为可见性属性与阵营防御机制新增单元测试与游戏测试。
- 优化可见性检测性能:每次检测仅读取一次显示属性。
- 完善旧版本显示属性:自动补全缺失的默认值。
- 优化攻击目标界面:当未设定时,禁用“保护所有者”与“防御阵营”选项。
7.3.0
- 优化皮肤变体实现:改用强类型字段存储数据,而非解析变体名称字符串。
- 将Cobblemon模组ID与默认模型统一集中至共享常量中。
- 使用共享的
EnumUtils工具类替代重复的枚举代码,实现get(String)查找功能。 - 优化村民职业与类型查找逻辑:改用直接注册表键值查询,避免遍历扫描。
- 优化枚举名称查找:在构造阶段一次性缓存标签名、ID与键值。
- 为皮肤变体、村民解析及枚举工具类新增单元测试与游戏测试。
7.2.0
- 修复 #801:通过组合NPC、对话与动作的UUID,避免动作追踪与执行限制发生冲突。
7.1.1
- 修复 #800:采用懒加载方式加载实体类型。
7.1.0
- 修复 #799:完善边界情况处理,并补充详细文档与更清晰的日志信息。
- 修复 #798:将控制台、命令与命令方块识别为可信命令来源。
- 修复单人游戏/LAN模式下的严重问题:客户端与服务端NPC共用同一注册表。
- 修复配置菜单处理过程中的内存泄漏,并增加超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时发生的重复下载问题。
- 修复皮肤查找因错误失败后无法恢复的问题,避免服务器响应缓慢导致游戏卡死。
- 修复URL皮肤界面在检查远程图片时冻结游戏的问题;现改为后台异步执行校验。
- 新增“世界生成器”方块:在整个世界(含所有维度)范围内限制NPC预设的生成数量;原有“群组生成器”现按维度独立计数,避免远距离NPC干扰生成。
- 强化远程皮肤下载安全性:严格限制文件大小并安全处理重定向,防止因超大或恶意皮肤URL导致崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体/玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、劫掠者与女巫)。
- 修复 #787、#531、#237 与 #184:新增阵营系统,支持
/easy_npc faction命令、逐个NPC的阵营分配,以及自动同步记分板队伍。 - 修复 #787、#771 与 #572:新增“目标”目标页签,支持攻击敌对阵营,或按玩家名、队伍、实体标签或UUID指定特定目标。
- 修复 #786:为Cobblemon NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female(雌性)或shiny(闪光)搜索。 - 修复无敌NPC间阵营战斗问题:新增“可被阵营攻击”战斗属性。
- 修复Cobblemon模型选择预览对超大体型物种适配不佳的问题:改用Cobblemon自身档案缩放比例,而非碰撞箱高度进行缩放。
- 修复阵营管理边界情况:验证阵营名称、排序阵营列表,并在阵营颜色变更或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:按皮肤模型分别加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“可被玩家/怪物/阵营攻击”战斗属性:各属性独立于“无敌”状态运行,分别为对应攻击者群体单独开放攻击通道。
- 改进预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出与功能专属组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面:用于创建、染色、删除阵营,并管理敌对关系;受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性页签,作为NPC阵营分配的归属位置。
- 新增可复用的警告与帮助图标组件,支持内联提示与悬浮工具提示。
- 为阵营、目标目标及Cobblemon模型变体新增更多单元测试与游戏测试。
6.25.0
- 修复 #780:为远程纹理下载增加额外缓存与优化。
- 修复 #767:为属性滑块增加防护机制,抵御其他模组传入的天文数字数值。
- 修复 #754:为带动作与条件的NPC新增自定义数据物品匹配功能。
- 修复纹理管理器在错误线程运行可能导致>=1.21.x版本崩溃与死锁的问题。
- 修复动作条件为空UUID导致的意外行为。
- 修复动作执行限制重置问题。
- 新增纹理注册队列:避免同一游戏刻内多次同时下载。
- 新增NPC硬币、钥匙与红令牌作为消耗品,供带动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义硬币、钥匙与红令牌作为示例物品,并附带适用于动作与条件的新物品数据。
- 新增针对其他模组天文数字数值的通用属性防护机制。
- 将备用最大生命值上限从1024提升至4096,以支持更复杂的NPC。
- 优化纹理管理器,消除重复的纹理检查与注册流程。
6.24.0
- 修复 #459、#775:新增选项,禁止与不可见NPC交互。
- 修复 #774:解决因可选的史诗战斗(Epic Fight)与Cobblemon实体类型映射引发的启动崩溃。
- 修复 #773:在基础游戏刻期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机:正确增加内部计时器。
- 为 #459 新增昼夜与天气条件支持。
- 新增交易重置、计时器处理与实体属性相关的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,支持昼夜与天气条件。
6.23.0
- 修复 #772:优化纹理重试机制,支持403与404错误,并降低日志输出等级。
- 修复 #770:改善史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:解决NPC开门/关门不可靠的问题。
- 修复 #760:新增对话选项与配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件对话按钮。 - 修复 #709:新增名称颜色选择弹窗,提供32种预设色及手动RGB/十六进制输入。
- 修复NPC名称颜色重置问题:在未指定颜色时重命名,将保留现有名称颜色。
- 优化门移动属性:“通过门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 修复 #766:向命令执行传递完整的服务器玩家上下文,提升与依赖特定玩家数据的第三方模组/插件的兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并提供示例NPC预设
格鲁克,陪练桩演示其用法。 - 修复 #763:确保对话按钮执行限制现在会被准确记录。
- 修复 #758:提供名为
一愿随行者的示例NPC预设。 - 修复 #756:解决第三方村民AI(如PoiCompetitorScan / job_site)读取Easy NPC村民未注册脑部记忆导致的崩溃。
- 修复对话按钮在服务端数据下未被锁定的问题,为 #760 和 #644 做准备。
- 修复 #628:新增条件化对话开启支持/命令,以便更精细地控制对话向玩家展示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑部AI,并注册全部原版脑部记忆集合。
- 为枪械标签新增更多枪械,以支持 #757。
- 新增“开启对话(条件化)”动作:仅在满足条件时开启指定名称的对话;而原有“开启对话”动作仍保持无条件开启。
- 新增实体生命值与NPC生命值条件,支持用于动作、对话及对话按钮。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌属性,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(例如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),使其主题归类更合理。
6.21.0
- 修复交叉双臂姿态下掠夺者类生物的物品附着问题。
- 修复掠夺者类生物损坏的十字弓攻击目标。
- 修复 #756:解决第三方物品无法作为手持物品渲染导致的崩溃。
- 修复 #756:解决第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃。
- 修复日志信息泛滥问题:降低日志冗余度,并增加对自定义模型部件的额外检查。
- 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话背景图尺寸调整为每边增加10×6像素,若您使用自定义对话背景,可能需要相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:支持为对话、对话按钮及交互添加条件。
- 修复对话界面布局与背景相关的较小UI问题。
- 重构对话背景图:每边增加10×6像素。
- 重构对话界面布局:更好适配新背景尺寸并提升视觉效果。
- 新增打字机效果与客户端配置选项,用于对话文本。
- 新增条件符号:指示对话、按钮与交互的条件状态。
- 新增物品条件的数量字段:支持检查物品的具体数量。
- 新增示例NPC预设
阈值守望者,包含多种条件与动作。 - 新增较小的BUG修复与优化,涉及对话条件与按钮状态。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行限制条目(未存储ID者)被重置或移除。
- 修复 #745:新增动作条件支持,实现更复杂、动态的行为。
- 修复 #652:新增对话按钮工具提示,支持长文本显示。
- 修复 #687:新增命令值工具提示,显示完整值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品是否存在于物品栏的条件。
- 新增物品是否持于手中(主手与副手)的条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设
金宝石矿石,包含多种条件与动作。 - 新增否定条件支持:允许对条件取反,以构建更复杂的逻辑。
- 移除
ActionDataEntry参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 修复日志信息冗余问题:降低启动与游戏中
log.info消息输出频率。 - 新增更多单元测试与游戏测试。
6.16.0
- 修复 #732:提供选项,禁用对话的ESC键与关闭按钮。
- 修复 #723:在特定场景(如交易界面)下避免自动关闭对话。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增头像缩放与位置偏移选项,用于对话。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改善史诗战斗(Epic Fight)集成,并启用实验性功能。
- 修复 #729:确保交易使用次数被正确存储。
- 修复 #728:新增玩家头颅自定义支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特有边界情况:在基础交易模式与普通/高级交易模式间切换。
- 修复对话按钮文本被截断问题:工具提示中显示完整文本。
- 修复Cobblemon动画问题:同步动画状态至Cobblemon动画系统。
- 新增逐个交易专属动作:允许用户在购买后触发动作。
- 新增交易重置按钮:轻松重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关:允许用户手动启用实验性功能。
- 新增示例商人
格里赛尔达·磨石,附带动作。 - 清理测试文件。
6.14.0(Cobblemon支持与对话改进)
- 修复 #727:确保修改值时同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础Cobblemon支持,含Cobblemon NPC。
- 修复对话错位与导航问题:调整对话精灵图与界面。
- 修复X轴与Z轴根旋转:修正旋转逻辑与枢轴点计算。
- 新增基础Cobblemon支持:含自定义NPC类型与模型,用于测试。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限管理。
部分服务器命令具有潜在危险性,若被恶意利用可能造成风险。
本次更新将模型根部数据与逻辑,与其他模型部件的数据与逻辑分离,可能导致现有NPC的根旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑与其他模型部件的数据与逻辑分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂碰撞箱与名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查:防止潜在漏洞利用,确保多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)准备权限系统。
- 通用代码清理与优化,涉及配置界面渲染与资源。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外检查。
- 修复 #713:降低日志冗余度:将每个NPC的INFO级别消息降级为DEBUG,并合并冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护:防止生产环境中不必要的缓冲区分配。
- 新增模型部件名称常量至EasyNPCModelManager,确保混入(Mixin)中的一致使用。
- 优化
RenderEntityTypeSupportConfig:增强过滤逻辑,优化数据结构以提升性能与可维护性。 - 移除输出大型数据结构的冗长调试日志。
6.11.0
- 修复 #703:解决新自定义图层系统与手部渲染的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在修改头部位置后无法正常工作的问题。
- 修复头部追踪:将玩家检测移回仅服务端执行。
- 修复
CustomLookAtPlayerGoal:更好处理边界情况并减少抖动。 - 修复多普勒NPC持续持有手部物品的问题。
- 优化
PoseManager日志消息。 - 更新Logo为新设计。
6.10.0
- 修复 #695:切换至
DEFAULT原版姿势时,清除模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时,应用锁定旋转与姿势动画。
- 修复 #695:修正根旋转枢轴点,使用实际包围盒高度而非固定值0.5f。
- 修复多个目标注册问题:包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、离线目标重试等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定ROOT旋转的功能;根部锁定现由用户控制。
- 在高级与自定义姿势配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型专属姿势键过滤。 - 为
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData新增单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿势。
- 修复 #597:新增更多逃离目标,支持逃离玩家、村民、怪物等。
- 修复姿势加载:直接从模组资源读取,而非复制文件到磁盘。
- 修复实体加入时重复调用
saveNPC的问题:先检查注册表中是否已存在条目。 - 新增
despawn与spawn命令:支持通过UUID移除与重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类:支持外部模组以编程方式控制NPC姿势与管理NPC。 - 新增所有支持NPC类型对应的姿势数据文件。
- 在基础姿势配置界面中新
... [内容过长已截断]
Easy NPC (Bundle) 7.4.0
on 2026 Jul 24Easy NPC(1.20.1)版本更新日志
注意事项
本更新日志仅汇总了主要变更内容。
如需查看完整更新日志,请访问 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多升级相关信息,请参阅 [升级指南][upgrade_guide]。
7.4.0
- 修复 #807:不再将半径32格内所有同类型NPC强制拉入“自卫”战斗。
- 修复 #805:统一评估全部可见性设置,而非在首个设置处即终止判断。
- 修复 #804:为多普勒NPC保留自定义名称,以确保基于名称的贴图与名称标签正常显示。
- 修复 #803:调整资源素材风格,使其更贴近原版Minecraft UI,而非通用UI风格。
- 修复昼夜检测逻辑错误——此前将日出判定为夜间、日落判定为白天。
- 修复下界与末地中的可见性判断错误——此前错误使用主世界时间进行判定。
- 修复时间与游戏模式可见性复选框随机排列的问题。
- 修复游戏测试仅能在首次断言失败时报告问题,导致后续失败被隐藏。
- 修复“已装备鞍具”的马类皮肤变体始终不显示鞍具的问题。
- 将“对所有者可见”与“对队伍可见”两项设置,扩展支持昼夜与游戏模式限制。
- 调整唤魔者、幻术师与卫道士的非“交叉双臂”变体,使其双臂自然下垂。
- 新增“防御阵营”目标:当附近阵营成员或玩家受到攻击时,自动反击施害者。
- 新增系统提示消息:当阵营成员彼此交战且该阵营保持中立时发出提示。
- 为恼鬼类生物新增头部装备栏位,便于移除或更换其队长旗帜。
- 在显示配置界面中新增昼夜预览功能。
- 新增针对可见性属性与阵营防御功能的单元测试与游戏测试。
- 优化可见性检测性能:每次检测仅读取一次显示属性。
- 补全旧版本显示属性缺失字段,按默认值自动填充。
- 优化攻击目标界面:当未启用时,自动禁用“保护所有者”与“防御阵营”选项。
7.3.0
- 优化皮肤变体机制:改用类型化字段存储数据,而非解析变体名称字符串。
- 统一集中管理Cobblemon模组ID与默认模型,通过共享常量实现。
- 使用共享
EnumUtils工具类替代重复枚举代码,实现get(String)查找功能。 - 优化村民职业与类型查找逻辑:改用直接注册表键查询,避免遍历扫描。
- 优化枚举名称查找:在构造阶段一次性缓存标签名、ID与键值。
- 新增针对皮肤变体、村民解析及枚举工具类的单元测试与游戏测试。
7.2.0
- 修复 #801:对NPC、对话与动作的UUID采用组合生成方式,避免动作追踪与执行限制发生冲突。
7.1.1
- 修复 #800:对实体类型采用延迟加载机制。
7.1.0
- 修复 #799:完善边界情况处理,并补充说明文档与更清晰的日志信息。
- 修复 #798:将控制台、命令与命令方块视为可信命令来源。
- 修复单人游戏/LAN环境下客户端与服务端NPC共用同一注册表的关键问题。
- 修复配置菜单处理过程中的内存泄漏,并增加超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查找失败后无法恢复的问题,避免服务器响应缓慢导致游戏卡死。
- 修复URL皮肤界面在远程图像校验期间冻结游戏的问题;现改为后台异步执行校验。
- 新增“世界生成器”方块:限定NPC预设在整个世界(所有维度)范围内生效;原有“群组生成器”现按维度独立计数,使远距离NPC不再阻碍生成。
- 强化远程皮肤下载安全性:严格限制文件大小、安全处理重定向,防止因超大或恶意皮肤URL引发崩溃;新增可选配置项
blockPrivateAddresses。 - 提升服务端性能:仅向实际使用实体/玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:将AI防护机制扩展至史诗战斗模组及原始NPC变体(猪灵、村民、末影人、苦力怕、劫掠者、女巫)。
- 修复 #787、#531、#237 与 #184:新增阵营系统,支持
/easy_npc faction命令、逐NPC阵营分配及自动同步记分板队伍。 - 修复 #787、#771 与 #572:新增
target目标选项卡,支持攻击敌对阵营,或按玩家名、队伍、实体标签、UUID精准指定目标。 - 修复 #786:为Cobblemon NPC新增性别与闪光形态变体,可在模型选择中通过关键词
female或shiny检索。 - 修复无敌NPC间阵营战斗问题:新增“可被阵营攻击”战斗属性。
- 修复Cobblemon模型预览对超大体型物种适配不良问题:改用Cobblemon自身档案缩放比例,而非碰撞箱高度。
- 修复阵营管理边界问题:验证阵营名称合法性、对阵营列表排序、在阵营颜色变更或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型单独加载与清除纹理缓存,而非始终重建全部自定义纹理缓存。
- 优化“可被玩家/怪物/阵营攻击”战斗属性:各属性独立于“无敌”状态生效,分别为其对应攻击群体开放特定攻击通道。
- 优化预设命令与网络处理:将大型处理器拆分为小型、专注的导入、导出及功能专属组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面:用于创建、着色、删除阵营,以及管理敌对关系;受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性标签页,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示与悬浮 tooltip。
- 新增针对阵营、目标目标、Cobblemon模型变体的单元测试与游戏测试。
6.25.0
- 修复 #780:为远程纹理下载新增额外缓存与优化措施。
- 修复 #767:为属性滑块增加防护机制,抵御其他模组传入的天文数值。
- 修复 #754:为带动作与条件的NPC新增自定义数据项匹配功能。
- 修复纹理管理器在错误线程运行可能引发崩溃与死锁的问题(≥1.21.x 版本)。
- 修复动作条件为空UUID导致的意外行为。
- 修复动作执行限制重置问题。
- 新增纹理注册队列,避免同一游戏刻内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供带动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,含自定义金币、钥匙与红令牌等示例物品,以及适用于动作与条件的新物品数据。
- 新增通用属性防护机制,抵御其他模组传入的天文数值。
- 将备用最大生命值上限由1024提升至4096,以支持更复杂的NPC设计。
- 优化纹理管理器,消除重复的纹理检查与注册操作。
6.24.0
- 修复 #459、#775:新增“禁止与不可见NPC交互”选项。
- 修复 #774:解决可选史诗战斗与Cobblemon实体类型映射相关的启动崩溃。
- 修复 #773:在基础游戏刻与打开交易界面前检查限时交易重置。
- 修复交易重置时机问题:正确递增内部计时器。
- 新增昼夜与天气条件支持(对应 #459)。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,含昼夜与天气条件。
6.23.0
- 修复 #772:针对403与404错误优化纹理重试机制,并降低日志输出级别。
- 修复 #770:修复史诗战斗NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染问题。
- 修复 #769:修复NPC开门/关门不可靠的循环问题。
- 修复 #760:新增对话选项与配置项(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件型对话按钮。 - 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制输入。
- 修复重命名时未指定颜色导致NPC姓名颜色被重置的问题:保留现有姓名颜色。
- 优化门运动属性:“通过门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 修复 #766:向命令执行传递完整服务端玩家上下文,提升与依赖特定玩家数据的第三方模组/插件兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并新增示例NPC预设
Grukk, the Sparring Post展示其用法。 - 修复 #763:确保对话按钮执行限制现在能被准确记录。
- 修复 #758:新增示例NPC预设
One Wish Companion。 - 修复 #756:解决第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)导致的崩溃。
- 修复对话按钮在服务端数据下未被锁定的问题,为 #760 与 #644 做准备。
- 修复 #628:新增条件型对话开启支持/命令,以更精细控制对话向玩家展示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册完整的原版脑记忆集合。
- 为枪械标签新增更多枪械(对应 #757)。
- 新增“打开对话(条件型)”动作:仅当满足指定条件时才打开指定名称的对话;而原有“打开对话”动作仍无条件打开对话。
- 新增适用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌设定,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末地水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),使其主题归类更合理。
6.21.0
- 修复交叉双臂姿态下恼鬼类生物的物品附着问题。
- 修复恼鬼类生物十字弓攻击目标失效问题。
- 修复 #756:解决第三方物品无法作为手持物品渲染导致的崩溃。
- 修复 #756:解决第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃。
- 修复日志信息泛滥问题:降低日志详细程度,并增加对自定义模型部件的额外检查。
- 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话背景图像尺寸调整为每边增加10×6像素,若您使用自定义对话背景,则可能需要相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:支持为对话、对话按钮及交互添加条件。
- 修复对话界面布局与背景相关的小型UI问题。
- 重构对话背景图像:每边增加10×6像素。
- 重构对话界面布局:更好适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端配置选项,用于对话文本。
- 新增条件符号,直观指示对话、按钮与交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设
Threshold Warden,含多种条件与动作。 - 新增小型BUG修复与针对对话条件及按钮状态的优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行限制条目(未保存ID者)被重置或移除。
- 修复 #745:新增动作条件支持,实现更复杂、动态的行为。
- 修复 #652:新增对话按钮工具提示,支持长文本显示。
- 修复 #687:新增命令值工具提示,完整显示命令值。
- 新增经验值等级条件。
- 新增游戏模式条件。
- 新增“物品栏中有某物品”条件。
- 新增“手中持有某物品”条件(支持主手与副手)。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增含多种条件与动作的示例NPC预设
Goldmere。 - 新增否定条件支持,允许对条件取反以构建更复杂逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 优化详细日志:降低启动与游戏中
log.info消息频率。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:新增禁用对话ESC键与关闭按钮的选项。
- 修复 #723:避免在交易界面等特定场景下自动关闭对话。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增头像缩放与位置偏移选项,用于对话界面。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗集成,并启用实验性功能。
- 修复 #729:确保交易使用次数被正确存储。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特有边界问题:在基础交易模式与普通/高级交易模式间切换。
- 修复对话按钮文字截断问题,通过工具提示显示完整文本。
- 修复Cobblemon动画问题:同步动画状态至Cobblemon动画系统。
- 新增每笔交易专属动作:允许用户在购买后触发动作。
- 新增交易重置按钮:一键重置全部交易。
- 新增交易配置界面中的交易使用信息。
- 新增实验性功能开关:允许用户手动启用实验性功能。
- 新增示例商人
Griselda Grindstone,含动作功能。 - 清理测试文件。
6.14.0(Cobblemon支持与对话优化)
- 修复 #727:确保修改值后同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础Cobblemon支持,含Cobblemon NPC。
- 修复对话错位与导航问题:调整对话精灵图与界面。
- 修复X轴与Z轴根部旋转:修正旋转逻辑与枢轴点计算。
- 新增基础Cobblemon支持:含自定义NPC类型与测试用模型。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务端命令存在潜在风险,恶意使用可能导致安全隐患。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑从其余模型部件数据与逻辑中分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂碰撞箱与名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查:防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)做好权限系统准备。
- 针对配置界面渲染与资源的通用代码清理与优化。
6.12.0
- 修复 #714:基于原版模型新增对自定义模型部件列表的额外检查。
- 修复 #713:降低日志冗余度:将每个NPC的INFO级消息降级为DEBUG,并合并冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制:防止生产环境中不必要的缓冲区分配。
- 新增模型部件名称常量至 EasyNPCModelManager,确保混入(Mixin)中的一致使用。
- 优化 RenderEntityTypeSupportConfig:增强过滤逻辑,优化数据结构以提升性能与可维护性。
- 移除冗长调试日志(输出大型数据结构)。
6.11.0
- 修复 #703:解决新自定义图层系统与手部渲染相关的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 修复头部追踪:将玩家检测逻辑移回服务端独占执行。
- 修复 CustomLookAtPlayerGoal:更好处理边界情况,减少抖动。
- 修复多普勒NPC持续保留手持物品的问题。
- 优化 PoseManager 日志消息。
- 更新Logo为新设计。
6.10.0
- 修复 #695:切换至
DEFAULT原版姿态时,清空模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时,才应用旋转锁定与姿态动画。
- 修复 #695:修正根部旋转枢轴点,改用实际包围盒高度而非固定值0.5f。
- 修复多个目标注册问题:包括反转的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少玩家目标刷新、离线目标重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定ROOT旋转的功能;ROOT旋转锁定现由用户自主控制。
- 在高级与自定义姿态配置界面中新增旋转锁定复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型特定姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及面向Fabric与Forge的游戏测试。 - 将最大头部偏航范围由60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿态。
- 修复 #597:新增多种逃跑目标,支持逃离玩家、村民、怪物等。
- 修复姿态加载逻辑:直接从模组资源读取,而非复制文件到磁盘。
- 修复实体加入时重复调用
saveNPC:先检查是否存在已有注册表项。 - 新增
despawn与spawn命令:支持通过UUID移除与重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与 `EasyNPCEntity
... [内容过长已截断]
Easy NPC (Bundle) 7.4.0
on 2026 Jul 24Easy NPC(1.20.1)版本更新日志
注意事项
本更新日志仅汇总了主要变更内容。
完整变更日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请查阅 [升级指南][upgrade_guide]。
7.4.0
- 修复 #807:不再将半径32格内所有同类型NPC拉入“自卫”战斗。
- 修复 #805:统一评估全部可见性设置,而非在首个设置处即停止判断。
- 修复 #804:为多普勒NPC保留自定义名称,确保基于名称的纹理与名称标签正常显示。
- 修复 #803:调整资源文件以匹配标准Minecraft风格,而非通用UI风格。
- 修复昼夜检测逻辑错误——此前将日出判定为夜晚、日落判定为白天。
- 修复下界与末地中的可见性判断错误——此前错误使用主世界时间进行判定。
- 修复时间与游戏模式可见性复选框随机排列的问题。
- 修复游戏测试仅能在首次断言失败时报错,导致后续失败被隐藏的问题。
- 修复“已配鞍”马类皮肤变体始终不显示马鞍的问题。
- 将“对所有者可见”与“对队伍可见”两项设置扩展支持昼夜与游戏模式条件。
- 调整唤魔者、幻术师与卫道士变体(不含“交叉双臂”动作)的姿态,使其双臂自然垂落。
- 新增“保卫阵营”目标:当附近阵营成员或玩家受到攻击时,自动反击施害者。
- 新增系统消息提示:当阵营成员彼此交战且该阵营选择置身事外时,向玩家发送提示。
- 为恼鬼类生物新增头部装备栏位,支持移除或更换其队长旗帜。
- 在显示配置界面中新增昼夜预览功能。
- 新增针对可见性属性与阵营防御机制的单元测试及游戏测试。
- 优化可见性检查性能:每次检查仅读取一次显示属性。
- 自动补全旧版本中缺失的显示属性,默认填充其默认值。
- 优化攻击目标界面:当未启用时,禁用“保护所有者”与“保卫阵营”选项。
7.3.0
- 优化皮肤变体实现:以强类型字段方式承载数据,而非解析变体名称字符串。
- 将Cobblemon模组ID与默认模型统一集中至共享常量中。
- 使用共享
EnumUtils辅助类替代重复枚举代码,实现get(String)查找功能。 - 优化村民职业与类型查找逻辑:改用直接注册表键访问,避免遍历扫描。
- 优化枚举名称查找性能:在构造时一次性缓存标签名、ID与键值。
- 新增针对皮肤变体、村民解析及枚举辅助类的单元测试与游戏测试。
7.2.0
- 修复 #801:通过组合NPC、对话与动作的UUID,避免动作追踪与执行限制发生冲突。
7.1.1
- 修复 #800:采用延迟加载方式加载实体类型。
7.1.0
- 修复 #799:完善边界情况处理,并补充说明文档与更清晰的日志信息。
- 修复 #798:将控制台、命令与命令方块视为可信命令来源。
- 修复单人游戏/LAN联机下的严重问题:客户端与服务端NPC共用同一注册表。
- 修复配置菜单处理过程中的内存泄漏,并增加超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查找失败后无法恢复的问题,避免慢速服务器导致游戏卡死。
- 修复URL皮肤界面在验证远程图片时冻结游戏的问题;现改为后台异步执行验证。
- 新增“世界生成器”方块:可在整个世界(含所有维度)范围内限制NPC预设的生成数量;原有“群组生成器”现按维度独立计数,远距离NPC不再影响其生成。
- 强化远程皮肤下载安全性:严格限制文件大小并安全处理重定向,防止因过大或恶意皮肤URL引发崩溃;新增可选配置项
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体/玩家加载事件的NPC发送对应事件,且按维度分组发送。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:将AI防护机制扩展至史诗战斗模组及原始NPC变体(猪灵、村民、末影人、苦力怕、劫掠者与女巫)。
- 修复 #787、#531、#237 与 #184:新增阵营系统,支持
/easy_npc faction命令、逐NPC阵营分配及自动同步记分板队伍。 - 修复 #787、#771 与 #572:新增
目标目标选项卡,支持攻击敌对阵营或指定目标(按玩家名、队伍、实体标签或UUID)。 - 修复 #786:为Cobblemon NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female或shiny搜索。 - 修复无敌NPC间阵营战斗问题:新增
可被阵营攻击战斗属性。 - 修复Cobblemon模型选择预览对超大体型物种适配不良问题:改用Cobblemon自身档案缩放比例,而非碰撞箱高度。
- 修复阵营管理边界情况:校验阵营名称、排序阵营列表,并在阵营颜色变更或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:按皮肤模型分别加载与清除纹理缓存,而非始终重建完整自定义纹理缓存。
- 改进
可被玩家/怪物/阵营攻击战斗属性:各属性独立于无敌状态运行,分别为对应攻击者群体单独开放攻击通道。 - 优化预设命令与网络处理:将大型处理器拆分为小型、专注的导入/导出及功能专属组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,支持创建、染色、删除阵营及管理敌对关系,并受全新
FACTION_MANAGEMENT安全特性保护。 - 新增
杂项属性选项卡,作为NPC阵营分配的归属位置。 - 新增可复用警告图标与帮助图标组件,支持内联提示及工具提示。
- 新增针对阵营、目标目标及Cobblemon模型变体的单元测试与游戏测试。
6.25.0
- 修复 #780:为远程纹理下载新增额外缓存与优化。
- 修复 #767:为属性滑块添加防护机制,防止其他模组输入天文数字级数值。
- 修复 #754:为带动作与条件的NPC新增自定义数据物品匹配功能。
- 修复纹理管理器在错误线程中运行可能导致≥1.21.x版本崩溃与死锁的问题。
- 修复动作条件为空UUID导致的意外行为。
- 修复动作执行限制重置问题。
- 新增纹理注册队列,避免同一次刻中多次并发下载。
- 新增NPC硬币、钥匙与红令牌作为消耗品,供带动作与条件的NPC使用。
- 新增示例NPC预设
欢迎硬币商人,包含自定义硬币、钥匙与红令牌等示例物品,以及用于动作与条件的新物品数据。 - 新增通用属性防护机制,防止其他模组输入天文数字级数值。
- 将后备最大生命值上限由1024提升至4096,以支持更复杂的NPC。
- 优化纹理管理器,消除重复的纹理检查与注册。
6.24.0
- 修复 #459、#775:新增阻止与不可见NPC交互的选项。
- 修复 #774:解决可选模组史诗战斗与Cobblemon实体类型映射相关启动崩溃。
- 修复 #773:在基础刻期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机问题:正确递增内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设
天象侦察员,演示昼夜时间与天气条件应用。
6.23.0
- 修复 #772:优化纹理重试机制,支持403与404错误,并降低日志级别。
- 修复 #770:改善史诗战斗NPC(唤魔者、掠夺者、卫道士及人形皮肤)的物品渲染。
- 修复 #769:解决NPC开关门不可靠的问题。
- 修复 #760:新增对话选项及配置项(
buttonConditionMode: LOCK 或 HIDE),支持锁定或隐藏不可用的条件对话按钮。 - 修复 #709:新增支持32色及手动RGB/十六进制值的颜色选择弹窗。
- 修复NPC名称颜色重置问题:若重命名时未指定颜色,则保留原有名称颜色。
- 优化门运动属性:“穿门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 修复 #766:向命令执行传递完整服务端玩家上下文,以提升与依赖特定玩家数据的第三方模组/插件的兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并提供示例NPC预设
格鲁克,陪练桩演示其用法。 - 修复 #763:确保对话按钮执行限制现已正确记录。
- 修复 #758:提供示例NPC预设
一愿随行者。 - 修复第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)导致的崩溃 #756。
- 修复对话按钮服务端数据未锁定问题,为 #760 和 #644 做准备。
- 修复 #628:新增条件对话开启支持/命令,以更精细地控制对话向玩家展示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册完整的原版脑记忆集。
- 为枪械标签新增更多枪械,以支持 #757。
- 新增“开启对话(条件式)”动作:仅在满足条件时开启指定名称的对话;原有“开启对话”动作保持无条件开启。
- 新增适用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌设定,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末地水晶)。
- 将“投射物碰撞”属性迁移至战斗属性界面(此前位于能力界面),使其主题归属更合理。
6.21.0
- 修复交叉双臂姿态下恼鬼类生物的物品附着问题。
- 修复恼鬼类生物损坏的弩箭攻击目标。
- 修复第三方物品无法作为手持物品渲染导致的崩溃 #756。
- 修复第三方混入类尝试访问不存在模型部件导致的崩溃 #756。
- 修复日志信息泛滥问题:降低日志详细程度,并为自定义模型部件添加额外检查。
- 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话背景图片尺寸调整为每边增加10×6像素,若您使用自定义对话背景,请相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:支持对话、对话按钮与交互的条件判断。
- 修复对话界面布局与背景相关的较小UI问题。
- 重构对话背景图片:每边增加10×6像素。
- 重构对话界面布局:适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置。
- 新增条件符号,用于指示对话、按钮与交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设
阈值守卫者,演示多种条件与动作。 - 新增小范围BUG修复与对话条件及按钮状态相关优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行限制条目(未存储ID者)被重置或移除。
- 修复 #745:新增动作条件支持,实现更复杂与动态的行为。
- 修复 #652:为长文本对话按钮新增工具提示。
- 修复 #687:新增命令值工具提示,显示完整值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品是否在物品栏中的条件。
- 新增物品是否在手中(主手与副手)的条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设
金宝石矿石,演示多种条件与动作。 - 新增否定条件支持,允许对条件取反以实现更复杂逻辑。
- 移除
ActionDataEntry参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 修复详细日志问题:降低启动及游戏内
log.info消息频次。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:提供禁用ESC键与关闭按钮的选项。
- 修复 #723:在特定情况下(如交易界面)避免自动关闭。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 新增缺失翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗集成并启用实验性功能。
- 修复 #729:确保交易使用次数正确保存。
- 修复 #728:新增玩家头颅自定义支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面并增强对自定义交易的支持。
- 修复交易特有边界情况:在基础与常规/高级交易模式间切换。
- 修复对话按钮文字截断问题,工具提示显示完整文字。
- 修复Cobblemon动画问题:同步动画状态至Cobblemon动画系统。
- 新增逐笔交易专属动作:允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置所有交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能状态,允许用户手动启用实验性功能。
- 新增示例商人
格里塞尔达·磨石,含动作支持。 - 清理测试文件。
6.14.0(Cobblemon支持与对话改进)
- 修复 #727:确保修改值后同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础Cobblemon支持,含Cobblemon NPC。
- 修复对话错位与导航问题:调整对话精灵图与界面。
- 修复X轴与Z轴根旋转:修正旋转逻辑与枢轴点计算。
- 新增基础Cobblemon支持:含自定义NPC类型与测试用模型。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限控制。
允许执行潜在危险的服务端命令(若被恶意利用可能造成风险)。
本次更新将模型根部数据与逻辑与其他模型部件数据及逻辑分离,可能导致现有NPC的根旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑与其他模型部件数据及逻辑分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂碰撞箱与名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境安全。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专属组件,并从核心模组中移除。
- 移除重复精灵图集。
- 为未来可能的Luck Perms集成(如 #712)准备权限系统。
- 通用代码清理与优化,涉及配置界面渲染与资源。
6.12.0
- 修复 #714:基于原版模型新增自定义模型部件列表的额外检查。
- 修复 #713:降低日志详细程度:将每NPC的INFO日志降级为DEBUG,并整合冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 新增模型部件名称常量至EasyNPCModelManager,确保混入类中的一致使用。
- 优化RenderEntityTypeSupportConfig:增强过滤逻辑并优化数据结构,以提升性能与可维护性。
- 移除冗长调试日志(转储大型数据结构)。
6.11.0
- 修复 #703:解决新自定义图层系统与手部渲染的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在修改头部位置后失效的问题。
- 修复头部追踪:将玩家检测移回服务端专属逻辑。
- 修复CustomLookAtPlayerGoal:更好处理边界情况并减少抖动。
- 修复多普勒NPC持续持有手部物品的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 修复 #695:切换至
DEFAULT原版姿态时,清除模型部件旋转/位置。 - 修复 #695:仅当NPC空闲时应用锁定旋转与姿态动画。
- 修复 #695:修正根旋转枢轴点,使用实际包围盒高度而非固定0.5f。
- 修复多重目标注册问题:包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、离线目标重试等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定ROOT旋转;根旋转锁定现由用户控制。
- 在高级与自定义姿态配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型专属姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航角范围由60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿态。
- 修复 #597:新增面向玩家、村民、怪物等的额外逃逸目标。
- 修复姿态加载:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC:先检查注册表中是否已存在对应条目。 - 新增
despawn与spawn命令:支持通过UUID移除与重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,支持外部模组以编程方式控制NPC姿态与管理NPC。 - 新增所有支持NPC类型的姿态数据文件。
- 在基础姿态配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal:在执行回调动作前,先将NPC移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl:尊重锁定的根旋转。 - 新增同步的所有者变更与维度变更至NPC实体数据索引。
- 新增EasyNPCItemAttachmentLayer至各
... [内容过长已截断]
Easy NPC (Bundle) 7.3.0
on 2026 Jul 19Easy NPC(1.20.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及所有自定义NPC!
更多详细信息请查阅 [升级指南][upgrade_guide]。
7.3.0
- 优化皮肤变体实现方式,改用类型化字段存储数据,不再依赖解析变体名称。
- 将方块宝可梦(Cobblemon)模组ID与默认模型统一为共享常量。
- 引入共享的
EnumUtils工具类,通过get(String)方法减少重复的枚举代码。 - 优化村民职业与类型查找逻辑,直接使用注册表键而非扫描方式。
- 优化枚举名称查找性能,在构造时一次性缓存标签名、ID与键值。
- 新增针对皮肤变体、村民解析及枚举工具类的单元测试与游戏内测试。
7.2.0
- 修复 #801:通过组合NPC、对话与动作的UUID,避免动作追踪与执行限制发生冲突。
7.1.1
- 修复 #800:采用延迟加载实体类型的方式。
7.1.0
- 修复 #799:修正边界情况,并补充说明文档与更清晰的日志信息。
- 修复 #798:将控制台、命令与命令方块识别为可信命令来源。
- 修复单人游戏/局域网模式下的严重问题:客户端与服务端NPC共用同一注册表。
- 修复配置菜单处理中的内存泄漏问题,并新增超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查找失败后导致后续查找失效的问题,确保慢速服务器不会卡死游戏。
- 修复URL皮肤界面在检查远程图像时冻结游戏的问题;现改为后台异步执行校验。
- 新增“世界生成器”方块,可在全维度范围内限制某一NPC预设的生成数量;原有“群组生成器”现按维度独立计数,远距离NPC不再影响其触发。
- 加强远程皮肤下载安全性:设置严格的尺寸上限、安全重定向处理,防止因过大或恶意皮肤URL导致崩溃;新增可选配置项
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:扩展AI防护机制,覆盖史诗战斗(Epic Fight)模组及原生NPC变体(猪灵、村民、末影人、苦力怕、劫持者与女巫)。
- 修复 #787、#531、#237 与 #184:新增阵营系统,支持
/easy_npc faction命令、逐个NPC阵营分配,以及自动同步记分板队伍。 - 修复 #787、#771 与 #572:新增“目标”目标选项卡,支持攻击敌对阵营或指定目标(按玩家名、队伍、实体标签或UUID)。
- 修复 #786:为方块宝可梦(Cobblemon)NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female(雌性)或shiny(闪光)搜索。 - 修复无敌NPC间阵营战斗问题:新增“可被阵营攻击”战斗属性。
- 修复方块宝可梦(Cobblemon)模型预览对超大体型物种显示异常问题:改用方块宝可梦自身的轮廓缩放比例,而非碰撞箱高度。
- 修复阵营管理边界情况:验证阵营名称、排序阵营列表,并在阵营颜色更改或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型分别加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“可被玩家/怪物/阵营攻击”战斗属性:各属性独立于“无敌”状态运行,分别为对应攻击者群体单独开放攻击通道。
- 改进预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专用组件。
- 新增易模型实体(Easy Model Entities)支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、着色、删除阵营及管理敌对关系,受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的主入口。
- 新增可复用的警告图标与帮助图标组件,支持内联提示与悬浮提示。
- 新增针对阵营、目标目标及方块宝可梦(Cobblemon)模型变体的单元测试与游戏内测试。
6.25.0
- 修复 #780:为远程纹理下载增加额外缓存与优化。
- 修复 #767:为属性滑块添加防护机制,防止其他模组传入天文数字级数值。
- 修复 #754:为带动作与条件的NPC新增自定义数据物品匹配功能。
- 修复纹理管理器在错误线程中运行可能导致 >= 1.21.x 版本崩溃与死锁的问题。
- 修复动作条件中空UUID引发的意外行为。
- 修复动作执行限制重置问题。
- 新增纹理注册队列,避免同一次刻(tick)内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供带动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,含自定义金币、钥匙与红令牌作为示例物品,并提供适用于动作与条件的新物品数据。
- 新增通用属性防护机制,防止其他模组传入天文数字级数值。
- 将备用最大生命值上限从1024提升至4096,以支持更复杂的NPC。
- 改进纹理管理器,消除重复的纹理检查与注册操作。
6.24.0
- 修复 #459、#775:新增选项,禁止与不可见NPC交互。
- 修复 #774:由可选的史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射引发的启动崩溃。
- 修复 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机问题:正确提升内部刻度计。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、刻度计处理及实体属性的单元测试与游戏内测试。
- 新增示例NPC预设“天象哨兵”,含昼夜时间与天气条件。
6.23.0
- 修复 #772:调整纹理重试机制,适配403与404错误,并降低日志输出级别。
- 修复 #770:改进史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:NPC开门关门循环异常问题(无法可靠开启或关闭门)。
- 修复 #760:新增对话选项与配置项(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件性对话按钮。 - 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入。
- 修复重命名NPC时未指定颜色会导致姓名颜色重置的问题:保留原有姓名颜色。
- 改进门移动属性:当启用“开门”或“关门”时,“穿门”自动启用。
6.22.0
- 修复 #766:向命令执行传递完整服务端玩家上下文,以提升与依赖特定玩家数据的第三方模组及插件兼容性。
- 修复 #764:新增实体生命值与NPC生命值条件,并提供示例NPC预设“格鲁克——陪练木桩”演示其用法。
- 修复 #763:确保对话按钮执行限制现已记录。
- 修复 #758:提供名为“一愿随行者”的示例NPC预设。
- 修复第三方村民AI读取Easy NPC村民未注册脑记忆导致的崩溃(如PoiCompetitorScan / job_site)#756。
- 修复对话按钮在服务端数据下未锁定问题,为 #760 与 #644 做准备。
- 修复 #628:新增条件性对话开启支持/命令,实现更精细的对话显示控制。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册完整的原版脑记忆集合。
- 为枪械标签(gun tag)新增更多枪械,以支持 #757。
- 新增“开启对话(条件性)”动作:仅在满足条件时开启指定名称对话;原有“开启对话”动作保持无条件开启。
- 新增实体生命值与NPC生命值条件,适用于动作、对话及对话按钮。
- 将猪灵、猪灵蛮兵与僵尸猪灵NPC设为无敌,与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战或投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),主题归属更合理。
6.21.0
- 修复交叉手臂姿态下卫道士(Illager)物品附着问题。
- 修复卫道士(Illager)十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃 #756。
- 修复第三方混入(mixin)尝试访问不存在模型部件导致的崩溃 #756。
- 修复
log.info日志泛滥问题:降低日志冗余度,并为自定义模型部件添加额外检查。 - 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话背景图像尺寸调整为每边增加10×6像素,若您使用自定义对话背景,请相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:支持对话、对话按钮及交互的条件判断。
- 修复对话界面布局与背景相关的较小UI问题。
- 每边扩展对话背景图像10×6像素。
- 重构对话界面布局,适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,直观显示对话、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈限守望者”,含多种条件与动作。
- 新增小型BUG修复与针对对话条件及按钮状态的优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行限制条目(无存储ID者)被重置或移除。
- 修复 #745:新增动作条件支持,实现更复杂、动态的行为。
- 修复 #652:为长文本对话按钮新增工具提示。
- 修复 #687:为命令值新增工具提示,显示完整值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品栏内存在物品条件。
- 新增手持物品条件(支持主手与副手)。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增含多种条件与动作的示例NPC预设“金默尔”。
- 新增否定条件支持,便于构建更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 通过降低启动与游戏内
log.info消息数量,改善详细日志输出。 - 新增额外单元测试与游戏内测试。
6.16.0
- 修复 #732:提供选项,禁用对话框的ESC键与关闭按钮。
- 修复 #723:在特定场景(如交易界面)下避免自动关闭。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 补充缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗(Epic Fight)集成,并启用实验性功能。
- 修复 #729:确保交易使用次数正确存储。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特定边界情况:在基础交易模式与常规/高级交易模式间切换。
- 修复对话按钮文字被截断问题(工具提示显示完整文本)。
- 修复方块宝可梦(Cobblemon)动画问题:同步动画状态至方块宝可梦动画系统。
- 新增按交易定制的动作,允许用户在购买后触发动作。
- 新增交易重置按钮,一键重置全部交易。
- 在交易配置界面新增交易使用信息。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,含动作支持。
- 清理测试文件。
6.14.0(方块宝可梦支持与对话改进)
- 修复 #727:确保值变更时同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础方块宝可梦支持,含方块宝可梦NPC。
- 修复对话错位与导航问题:调整对话精灵图与界面。
- 修复X轴与Z轴根部旋转问题:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦支持,含自定义NPC类型与测试模型。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限管理。
部分服务端命令可能具有潜在危险性,若被恶意利用可能造成风险。
本次更新将模型根部数据与逻辑与其他模型部件数据及逻辑分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑与其他模型部件数据及逻辑分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂(Ghast)碰撞箱与名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集(sprite sheets)。
- 为未来可能集成Luck Perms(如 #712)做权限系统准备。
- 通用代码清理与针对配置界面渲染及资源的优化。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外检查。
- 修复 #713:降低日志冗余度:将每NPC的INFO消息降级为DEBUG,并合并冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在 EasyNPCModelManager 中新增模型部件名称常量,确保混入(mixin)中的一致使用。
- 通过增强过滤逻辑与优化数据结构,改进 RenderEntityTypeSupportConfig,提升性能与可维护性。
- 移除输出大量数据结构的冗长调试日志。
6.11.0
- 修复 #703:解决新自定义图层系统与手持物品渲染的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 修复头部追踪问题:将玩家检测移回仅服务端执行。
- 修复 CustomLookAtPlayerGoal,更好处理边界情况并减少抖动。
- 修复多普勒(Doppler)NPC持续持有手中物品的问题。
- 改进 PoseManager 日志消息。
- 更新Logo设计。
6.10.0
- 修复 #695:切换至
DEFAULT原版姿势时,清除模型部件的旋转/位置。 - 修复 #695:仅当NPC处于闲置状态时,应用锁定旋转与姿势动画。
- 修复 #695:修正根部旋转枢轴点,使用实际包围盒高度而非固定0.5f。
- 修复多个目标注册问题,包括反转的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、离线目标重试等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定根部旋转的功能;根部锁定现由用户控制。
- 在高级与自定义姿势配置界面新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型特定姿势键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏内测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿势。
- 修复 #597:新增多种逃离目标(玩家、村民、怪物等)的逃离目标(Flee goals)。
- 修复姿势加载逻辑:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC的问题:首次检查注册表是否存在对应条目。 - 新增
despawn与spawn命令,支持通过UUID移除与重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿势与管理NPC。 - 新增所有支持NPC类型的姿势数据文件。
- 在基础姿势配置界面新增锁定旋转复选框。
- 新增
MoveToPositionGoal,支持NPC移动至指定位置后再执行回调动作。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根部旋转。 - 新增同步的拥有者变更与维度变更至NPC实体数据索引。
- 新增
EasyNPCItemAttachmentLayer至多种实体渲染器。 - 新增专用“逃离目标”配置选项卡,含针对苦力怕、怪物、生物、玩家、村民与太阳的逃离目标。
- 新增
FOLLOW_ITEM目标至跟随目标选项卡,支持NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在注视目标界面启用“按UUID注视实体”与“注视拥有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如十字弓充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET,并将CAT_PURR映射至猫NPC,丰富驯服环境音效
... [内容过长已截断]
Easy NPC (Bundle) 7.3.0
on 2026 Jul 19Easy NPC(1.20.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详细信息请查阅 [升级指南][upgrade_guide]。
7.3.0
- 优化皮肤变体系统,改用类型化字段存储其数据,不再依赖解析变体名称。
- 将 Cobblemon 模组ID与默认模型统一为共享常量。
- 引入共享的
EnumUtils工具类,通过get(String)方法减少重复的枚举代码。 - 优化村民职业与类型查找逻辑,直接使用注册表键而非扫描方式。
- 优化枚举名称查找,在构造时一次性缓存标签名、ID与键值。
- 新增针对皮肤变体、村民解析及枚举工具的单元测试与游戏测试。
7.2.0
- 修复 #801:通过组合 NPC、对话与动作的 UUID,避免动作追踪与执行限制发生冲突。
7.1.1
- 修复 #800:采用延迟加载实体类型的方式。
7.1.0
- 修复 #799:修正边界情况,并补充说明文档与更清晰的日志信息。
- 修复 #798:将控制台、命令与命令方块视为可信命令来源。
- 修复单人游戏/局域网模式下的严重问题:客户端与服务端NPC共用同一注册表。
- 修复配置菜单处理中的内存泄漏,并增加超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查找失败后无法恢复的问题,避免慢速服务器导致游戏卡死。
- 修复URL皮肤界面在检查远程图像时冻结游戏的问题;现改为后台异步执行校验。
- 新增“世界生成器”方块,可在全维度范围内限制某NPC预设的生成数量;原有“群组生成器”现按维度分别计数,远离的NPC不再影响其生成。
- 强化远程皮肤下载安全性:严格限制文件大小、安全处理重定向,防止因过大或恶意皮肤URL导致崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组处理。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、掠夺者与女巫)。
- 修复 #787、#531、#237 与 #184:新增阵营系统,支持
/easy_npc faction命令、每NPC阵营分配及自动同步记分板队伍。 - 修复 #787、#771 与 #572:新增“目标”目标选项卡,支持攻击敌对阵营或指定目标(按玩家名、队伍、实体标签或UUID)。
- 修复 #786:为 Cobblemon NPC 新增性别与闪光模型变体,可在模型选择中通过关键词
female或shiny搜索。 - 修复无敌NPC间阵营战斗问题,新增“可被阵营攻击”战斗属性。
- 修复 Cobblemon 模型选择预览对超大体型物种显示异常的问题,改用 Cobblemon 自身的角色缩放比例而非碰撞箱高度进行缩放。
- 修复阵营管理边界情况:验证阵营名称、排序阵营列表、在阵营颜色变更或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型分别加载与清除纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“可被玩家/怪物/阵营攻击”战斗属性,使其独立于“无敌”属性运行,各自为对应攻击者群体开放特定漏洞。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专属组件。
- 新增 Easy Model Entities 支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、着色、删除阵营及管理敌对关系,受新安全特性
FACTION_MANAGEMENT保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬浮 tooltip。
- 新增针对阵营、目标目标及 Cobblemon 模型变体的单元测试与游戏测试。
6.25.0
- 修复 #780:为远程纹理下载新增额外缓存与优化。
- 修复 #767:为属性滑块增加防护,防止其他模组传入天文数字级数值。
- 修复 #754:为带动作与条件的NPC新增自定义数据物品匹配功能。
- 修复纹理管理器在错误线程运行可能导致 >=1.21.x 版本崩溃与死锁的问题。
- 修复动作条件中空UUID导致意外行为的问题。
- 修复动作执行限制重置问题。
- 新增纹理注册队列,避免同一次刻(tick)内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供带动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,含自定义金币、钥匙与红令牌,以及用于动作与条件的新物品数据。
- 新增通用属性防护机制,防止其他模组传入天文数字级数值。
- 将备用最大生命值上限从1024提升至4096,以支持更复杂的NPC。
- 优化纹理管理器,消除重复的纹理检查与注册。
6.24.0
- 修复 #459、#775:新增选项以阻止与隐形NPC交互。
- 修复 #774:解决可选史诗战斗(Epic Fight)与 Cobblemon 实体类型映射相关的启动崩溃。
- 修复 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机问题,正确提升内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理与实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天巡侦察兵”,支持昼夜时间与天气条件。
6.23.0
- 修复 #772:调整纹理重试机制,适配403与404错误并降低日志等级。
- 修复 #770:改进史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:解决NPC开门关门不可靠的门循环问题。
- 修复 #760:新增对话选项与配置设置(buttonConditionMode:LOCK 或 HIDE),用于锁定或隐藏不可用的条件性对话按钮。
- 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制输入。
- 修复未指定颜色时重命名NPC导致姓名颜色重置的问题,现保留原有姓名颜色。
- 优化门移动属性:“穿门”将在“开门”或“关门”启用时自动激活。
6.22.0
- 修复 #766:向命令执行传递完整的服务器玩家上下文,提升与依赖特定玩家数据的第三方模组及插件兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并新增示例NPC预设“格鲁克,陪练桩”演示这些条件的使用。
- 修复 #763:确保对话按钮执行限制现在会被记录。
- 修复 #758:提供名为“一愿随行”的示例NPC预设。
- 修复第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)导致的崩溃问题 #756。
- 修复对话按钮未对服务端数据加锁的问题,为 #760 和 #644 做准备。
- 修复 #628:新增条件性对话开启支持/命令,实现对对话向玩家展示时机的精细控制。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册完整原版脑记忆集合。
- 为枪械标签新增更多枪械,以支持 #757。
- 新增“开启对话(条件性)”动作:仅当满足条件时才开启指定名称的对话;原有“开启对话”动作保持无条件开启。
- 新增用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 将猪灵、猪灵蛮兵与僵尸猪灵NPC设为无敌,与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(例如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,主题上更为契合(此前位于能力界面)。
6.21.0
- 修复劫掠者交叉双臂姿态下的物品附着问题。
- 修复劫掠者十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃问题 #756。
- 修复第三方混入(mixin)尝试访问不存在模型部件导致的崩溃问题 #756。
- 修复
log.info日志泛滥问题:降低日志详细程度,并为自定义模型部件添加额外检查。 - 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃问题。
6.19.0
注意:本次更新将对话背景图片尺寸调整为每边增加10×6像素,若您使用自定义对话背景,则可能需要相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:支持对话、对话按钮与交互的条件判断。
- 修复对话界面布局与背景相关的细微UI问题。
- 将对话背景图片每边重构为增加10×6像素。
- 重构对话界面布局,以适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,用于指示对话、按钮与交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守卫者”,含多种条件与动作。
- 新增细微BUG修复与针对对话条件及按钮状态的优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行限制条目(未存储ID者)被重置或移除。
- 修复 #745:为动作新增条件支持,实现更复杂、动态的行为。
- 修复 #652:为对话按钮新增长文本提示tooltip。
- 修复 #687:为命令值新增tooltip,显示完整值。
- 新增经验值等级条件。
- 新增游戏模式条件。
- 新增“物品栏中有物品”条件。
- 新增“手中持有物品”条件,支持主手与副手。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增含多种条件与动作的示例NPC预设“金宝石矿石”。
- 新增否定条件支持,允许对条件取反以构建更复杂逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多类型条件。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外tooltip。
- 通过减少启动与游戏中
log.info消息,优化详细日志输出。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:提供选项以禁用对话的ESC键与关闭按钮。
- 修复 #723:在交易界面等特定情况下避免自动关闭。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗(Epic Fight)集成并启用实验性功能。
- 修复 #729:确保交易使用次数正确存储。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,增强对自定义交易的支持。
- 修复交易特定边界情况:在基础与常规/高级交易模式之间切换。
- 修复对话按钮文字被截断问题,完整文字通过tooltip显示。
- 修复 Cobblemon 动画问题:同步动画状态至 Cobblemon 动画系统。
- 新增每笔交易专属动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 在交易配置界面新增交易使用信息。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,含动作。
- 清理测试文件。
6.14.0(Cobblemon 支持与对话改进)
- 修复 #727:确保修改值时同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础 Cobblemon 支持,含 Cobblemon NPC。
- 修复对话错位与导航问题:调整对话精灵图与界面。
- 修复X轴与Z轴根旋转:修正旋转逻辑与枢轴点计算。
- 新增基础 Cobblemon 支持,含用于测试的自定义NPC类型与模型。
6.13.0(安全与权限更新)
注意:本次更新包含针对多人游戏环境的强化安全检查与权限控制。
部分可执行的服务端命令若被恶意利用,可能存在潜在风险。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑从其余模型部件数据与逻辑中分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景双重渲染问题:移除冗余背景渲染。
- 修复恶魂碰撞箱与名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)准备权限系统。
- 针对配置界面渲染与资源的通用代码清理与优化。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外检查。
- 修复 #713:降低日志详细程度,将每NPC的INFO消息降级为DEBUG,并合并冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在 EasyNPCModelManager 中新增模型部件名称常量,确保混入(mixin)中的一致使用。
- 通过增强过滤逻辑与优化数据结构,提升 RenderEntityTypeSupportConfig 性能与可维护性。
- 移除输出大型数据结构的冗长调试日志。
6.11.0
- 修复 #703:解决新自定义图层系统与手持物品渲染的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 修复头部追踪:将玩家检测移回服务端独占逻辑。
- 修复 CustomLookAtPlayerGoal,更好处理边界情况并减少抖动。
- 修复多普勒NPC持续保留手持物品的问题。
- 优化 PoseManager 日志消息。
- 更新Logo为新设计。
6.10.0
- 修复 #695:切换至
DEFAULT原版姿态时清除模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时应用锁定旋转与姿态动画。
- 修复 #695:修正根旋转枢轴点,使用实际包围盒高度而非固定0.5f。
- 修复多个目标注册问题,包括反转的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺失的玩家目标刷新、离线目标重试等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定ROOT旋转;根部锁定现由用户控制。
- 在高级与自定义姿态配置界面新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型专属姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及 Fabric 与 Forge 的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿态。
- 修复 #597:新增面向玩家、村民、怪物等的额外逃逸目标。
- 修复姿态加载:直接从模组资源读取,而非复制文件到磁盘。
- 修复实体加入时重复调用
saveNPC:先检查是否存在已有注册表条目。 - 新增
despawn与spawn命令,支持通过UUID移除与重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,支持外部模组以编程方式控制NPC姿态与管理NPC。 - 新增所有支持NPC类型的姿态数据文件。
- 在基础姿态配置界面新增锁定旋转复选框。
- 新增
MoveToPositionGoal,用于在执行回调动作前将NPC移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根部旋转。 - 新增同步的拥有者变更与维度变更至NPC实体数据索引。
- 新增 EasyNPCItemAttachmentLayer 至各类实体渲染器。
- 新增专属“逃逸目标”配置选项卡,含面向苦力怕、怪物、生物、玩家、村民与太阳的逃逸目标。
- 新增
FOLLOW_ITEM目标至跟随目标选项卡,使NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”界面启用“按UUID注视实体”与“注视拥有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使瞬态索引(如弩箭充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET,并将CAT_PURR映射至猫形NPC,丰富驯服环境音效。 - 将周期性NPC保存操作的日志等级从 INFO 降至 DEBUG。
6.8.3
- 修复 #680:通过升级网络协议版本强制执行版本不匹配检查
... [内容过长已截断]
Easy NPC (Bundle) 7.2.1
on 2026 Jul 17Easy NPC:核心版(1.21.11)更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新前请务必备份您的世界存档及所有NPC数据!
更多详细信息,请查阅 [升级指南][upgrade_guide]。
7.2.0
- 修复 #801:通过为NPC、对话框与操作使用组合式UUID,避免操作追踪与执行次数限制发生冲突。
7.1.1
- 修复 #800:采用懒加载方式加载实体类型。
- 修复 #799:修正边界情况,并补充文档说明与更清晰的日志信息。
- 修复 #798:将控制台、命令及命令方块视为可信命令来源。
- 修复单人游戏/局域网模式下的严重问题:客户端与服务端NPC共用同一注册表。
- 修复配置菜单处理过程中的内存泄漏,并添加超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查询因错误失败后无法恢复的问题,避免服务器响应缓慢导致游戏卡死。
- 修复URL皮肤界面在检查远程图片时冻结游戏的问题;现该检查将在后台运行。
- 新增“世界刷怪箱”方块,可在全维度范围内限制某一NPC预设的生成数量;原有“群组刷怪箱”改为按维度独立计数,从而避免远距离NPC阻塞其功能。
- 加强远程皮肤下载安全性:严格限制文件大小并安全处理重定向,防止因超大或恶意皮肤URL引发崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送相关事件,并按维度分组发送。
7.0.0
- 修复 #794:使用预期的类型进行NPC渲染。
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、劫掠者与女巫)。
- 修复 #787、#531、#237 和 #184:新增阵营系统,支持
/easy_npc faction命令、逐个NPC分配阵营、以及自动同步记分板队伍。 - 修复 #787、#771 和 #572:新增“目标”目标选项卡,支持攻击敌对阵营或指定目标(按玩家名、队伍、实体标签或UUID)。
- 修复 #786:为方块宝可梦(Cobblemon)NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female(雌性)或shiny(闪光)搜索。 - 修复无敌NPC之间阵营战斗失效的问题,新增“可被阵营攻击”战斗属性。
- 修复方块宝可梦(Cobblemon)模型选择预览对超大体型物种显示异常的问题:改用Cobblemon自身档案缩放比例,而非碰撞箱高度进行缩放。
- 修复阵营管理边界情况:验证阵营名称、排序阵营列表、并在阵营颜色更改或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型单独加载与清空纹理缓存,而非始终重建整个自定义纹理缓存。
- 改进“可被玩家/怪物/阵营攻击”战斗属性:使其各自独立于“无敌”属性运作,分别开放对应攻击者群体的针对性漏洞。
- 改进预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出与功能专用组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、着色、删除阵营及管理敌对关系,并由新安全特性
FACTION_MANAGEMENT(阵营管理)保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示与工具提示。
- 新增针对阵营、目标目标及方块宝可梦(Cobblemon)模型变体的额外单元测试与游戏测试。
6.25.0
- 修复 #782、#636、#622:在验证过程中保留数据组件。
- 修复 #780:缓存远程纹理下载,减少重复注册。
- 修复 #767:对来自其他模组的极端属性值进行滑动条钳制。
- 修复 #754:为带有操作与条件的NPC添加自定义数据物品匹配功能。
- 修复纹理管理器在错误线程中运行可能导致 >= 1.21.x 版本崩溃与死锁的问题。
- 修复空UUID在操作条件中的处理。
- 修复操作执行次数限制重置问题。
- 新增纹理注册队列,避免同一刻内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供带操作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌物品数据。
- 新增针对其他模组极端属性值的属性防护机制。
- 将高生命值NPC的备用最大生命值上限从1024提升至4096。
- 改进纹理管理器:减少重复纹理检查与注册。
6.24.0
- 修复 #459、#775:新增选项以阻止与隐形NPC的交互。
- 修复 #774:与可选的史诗战斗(Epic Fight)及方块宝可梦(Cobblemon)实体类型映射相关的启动崩溃。
- 修复 #773:在基础刻度期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机:正确增加内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设“天穹哨兵”,支持昼夜时间与天气条件。
6.23.0
- 修复 #772:优化纹理重试机制,支持403与404错误,并降低日志输出级别。
- 修复 #770:改进史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:NPC开门/关门循环异常,无法可靠执行开关门动作。
- 修复 #760:新增对话框选项与配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件按钮。 - 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入。
- 修复未指定颜色时重命名NPC导致姓名颜色重置的问题:保留原有姓名颜色。
- 改进门移动属性:“穿门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 修复 #766:向命令执行传递完整的服务器玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并新增示例NPC预设“格鲁克——陪练木桩”,演示这些条件的使用。
- 修复 #763:确保对话框按钮执行次数限制现在会被记录。
- 修复 #758:新增名为“一愿伴侣”的示例NPC预设。
- 修复第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)导致的崩溃(#756)。
- 修复对话框按钮未对服务端数据加锁的问题,为 #760 和 #644 做准备。
- 修复 #628:新增条件式对话框开启支持/命令,以便更精确地控制对话框向玩家展示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册全部原版脑记忆集合。
- 为枪械标签新增更多枪械(#757)。
- 新增“条件式开启对话框”操作:仅在满足条件时开启指定名称的对话框;而原有“开启对话框”操作仍无条件开启。
- 新增适用于操作、对话框及对话框按钮的实体生命值与NPC生命值条件。
- 新增猪灵、猪灵蛮兵与僵尸猪灵NPC的无敌状态,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(例如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),使其主题归属更合理。
6.21.0
- 修复交叉手臂姿态下卫道士手持物品附件问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃(#756)。
- 修复第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃(#756)。
- 修复
log.info日志泛滥问题:降低日志冗余度,并为自定义模型部件添加额外检查。 - 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话框背景图片尺寸调整为每边增加10×6像素,若您使用自定义对话框背景,则可能需要相应调整。
- 修复 #752、#130:新增对话框按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话框文字打字机效果支持。
- 修复 #690、#309:支持对话框、对话框按钮及交互的条件判断。
- 修复对话框界面布局与背景相关的细微UI问题。
- 重构对话框背景图片,每边增加10×6像素。
- 重构对话框界面布局,以适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端对话框文字配置。
- 新增条件符号,用于指示对话框、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守卫者”,涵盖多种条件与操作。
- 新增细微的条件与按钮状态相关Bug修复及优化。
6.18.0
注意:本次更新更改了条件与操作的内部数据格式,可能导致旧版执行次数限制条目(未存储ID者)被重置或移除。
- 修复 #745:为操作新增条件支持,实现更复杂、动态的行为。
- 修复 #652:为长文本对话框按钮新增工具提示。
- 修复 #687:为命令值新增工具提示,显示完整值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品栏内持有物品条件。
- 新增主手/副手持有物品条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设“金宝石矿石商人”,涵盖多种条件与操作。
- 新增否定条件支持,允许对条件取反以构建更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 修复日志冗余问题:降低启动及游戏内
log.info消息输出量。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:新增选项,支持禁用对话框的ESC键与关闭按钮。
- 修复 #723:避免在交易界面等特定情况下自动关闭对话框。
- 新增通用对话框配置选项,允许用户自定义对话框行为。
- 新增头像缩放与位置偏移选项,用于对话框。
- 新增缺失的本地化键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗(Epic Fight)集成,并启用实验性功能。
- 修复 #729:确保交易使用次数正确存储。
- 修复 #728:新增玩家头颅自定义支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 和 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特有边界情况:切换基础交易模式与普通/高级交易模式。
- 修复对话框按钮文字截断问题,完整文字可通过工具提示查看。
- 修复方块宝可梦(Cobblemon)动画问题:同步动画状态至方块宝可梦动画系统。
- 新增逐个交易专属操作,允许用户在购买后触发操作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能状态,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,附带操作功能。
- 清理测试文件。
6.14.0
- 修复 #727:确保值更改时同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础方块宝可梦(Cobblemon)支持,含Cobblemon NPC。
- 修复对话框错位与导航问题:调整对话框精灵图与界面。
- 修复X轴与Z轴根部旋转:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦(Cobblemon)支持,含自定义NPC类型与测试用模型。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务端命令存在潜在风险,若被恶意利用可能造成危害。
本次更新将模型根部数据与逻辑同其余模型部件数据与逻辑分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑同其余模型部件数据与逻辑分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话框与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与示例,支持自定义模型。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂与史莱姆碰撞箱及名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话框界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能集成Luck Perms(如 #712)做好权限系统准备。
- 通用代码清理与优化,涉及配置界面渲染与资源。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外检查。
- 修复 #713:降低日志冗余度:将每NPC的INFO级消息降级为DEBUG,并合并冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在 EasyNPCModelManager 中新增模型部件名称常量,确保混入(Mixin)间一致使用。
- 优化 RenderEntityTypeSupportConfig:增强过滤逻辑,优化数据结构以提升性能与可维护性。
- 移除输出大量数据结构的冗长调试日志。
6.11.1
- 修复 #710:改进可恢复交易数据的向后兼容解析。
6.11.0
- 修复 #703:解决新自定义图层系统与手持物品渲染的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在修改头部位置后无法正常工作的问题。
- 修复头部追踪:将玩家检测移回仅服务端执行。
- 修复 CustomLookAtPlayerGoal:更好处理边界情况,减少抖动。
- 修复多普勒NPC持续保留手持物品的问题。
- 改进 PoseManager 日志消息。
- 更新Logo,采用新设计。
6.10.0
- 修复 #698:为第三方实体创建添加try-catch处理。
- 修复 #695:切换至
DEFAULT原版姿态时,清除模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时,应用锁定旋转与姿态动画。
- 修复 #695:修正根部旋转枢轴点,使用实际包围盒高度而非固定0.5f。
- 修复多项目标注册问题,包括反转的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺失的玩家目标刷新、以及离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定根部旋转;现根部锁定由用户控制。
- 在高级与自定义姿态配置界面新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型特定姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿态。
- 修复 #597:新增面向玩家、村民、怪物等的额外逃亡目标。
- 修复姿态加载:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC:先检查是否存在注册表条目。 - 新增
despawn与spawn命令,支持通过UUID移除或重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组编程控制NPC姿态与管理NPC。 - 新增所有支持NPC类型的姿态数据文件。
- 在基础姿态配置界面新增锁定旋转复选框。
- 新增
MoveToPositionGoal:在执行回调操作前,将NPC移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl:尊重锁定的根部旋转。 - 新增同步的所有者变更与维度变更至NPC实体数据索引。
- 新增
EasyNPCItemAttachmentLayer至各类实体渲染器。 - 新增专用“逃亡目标”配置选项卡,支持逃离苦力怕、怪物、生物、玩家、村民及阳光的目标。
- 新增
FOLLOW_ITEM目标至跟随目标选项卡,支持NPC按资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在注视目标界面启用“按UUID注视实体”与“注视所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如弩箭充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET,并将CAT_PURR映射至猫NPC,丰富驯服环境音效。 - 将周期性NPC保存操作的日志级别从INFO降为DEBUG。
6.8.3
- 修复 #680:通过升级网络协议版本强制执行版本不匹配检查。
- 修复 #679:重置名称标签的位置、旋转与尺寸。
- 修复 #665:为根部旋转新增多状态滑动条。
- 修复 #664:新增禁用跟随鼠标光标选项,便于姿态调整。
... [内容过长已截断]
Easy NPC (Bundle) 7.2.1
on 2026 Jul 17Easy NPC:核心版(1.21.11)更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:升级至新版本前,请务必备份您的世界存档及所有NPC数据!
更多详细信息请查阅 [升级指南][upgrade_guide]。
7.2.0
- 通过为NPC、对话框与操作分别组合生成UUID,修复了#801问题,避免操作执行追踪与执行次数限制发生冲突。
7.1.1
- 通过延迟加载实体类型,修复了#800问题。
- 通过修正边界情况并补充文档说明与更清晰的日志信息,修复了#799问题。
- 将控制台、命令及命令方块视为可信命令来源,修复了#798问题。
- 修复了一个严重单人游戏/局域网问题:客户端与服务端NPC共享同一注册表。
- 修复了配置菜单处理过程中的内存泄漏,并新增超时机制与断开连接后的清理逻辑。
- 修复了多个NPC同时请求同一皮肤时重复下载的问题。
- 修复了皮肤查询因错误失败后导致慢速服务器卡死游戏的问题。
- 修复了URL皮肤界面在检查远程图片时冻结游戏的问题;现该检查将在后台运行。
- 新增“世界刷怪箱”方块,可将NPC预设限制于整个世界(所有维度);现有“群组刷怪箱”改为按维度计数,使远距离NPC不再影响其触发。
- 加强远程皮肤下载安全性:严格限制文件大小、安全处理重定向,防止因过大或恶意皮肤URL导致崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 通过采用预期的NPC渲染类型,修复了#794问题。
- 新增流浪商人NPC类型,修复了#791问题。
- 扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、掠夺者与女巫),修复了#788问题。
- 新增派系系统,包含
/easy_npc faction指令、每NPC派系分配及自动同步记分板队伍,修复了#787、#531、#237与#184问题。 - 新增“目标”目标页签,支持攻击敌对派系或指定目标(玩家名、队伍、实体标签或UUID),修复了#787、#771与#572问题。
- 为方块宝可梦(Cobblemon)NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female(雌性)或shiny(闪光)搜索,修复了#786问题。 - 新增“派系可攻击”战斗属性,修复了无敌NPC间派系战斗无法生效的问题。
- 针对方块宝可梦(Cobblemon)大型物种的模型预览问题,改用其自身档案缩放比例而非碰撞箱高度进行缩放。
- 通过校验派系名称、排序派系列表、以及在派系颜色变更或删除后刷新已加载NPC的记分板分配,修复了派系管理的边界情况。
- 通过按皮肤模型分别加载与清空纹理缓存(而非始终重建全部自定义纹理缓存),修复了自定义皮肤重载问题。
- 改进“玩家/怪物/派系可攻击”战斗属性,使其各自独立于“无敌”属性运作,为对应攻击者群体单独开放针对性漏洞。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专属组件。
- 新增Easy Model Entities支持。
- 新增派系管理器与派系编辑器界面,用于创建、着色、删除派系及管理敌对关系,并受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性页签,作为NPC派系分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示与悬浮工具提示。
- 新增针对派系、目标目标及方块宝可梦(Cobblemon)模型变体的额外单元测试与游戏测试。
6.25.0
- 在验证过程中保留数据组件,修复了#782、#636与#622问题。
- 通过缓存远程纹理下载并减少重复注册,修复了#780问题。
- 对其他模组引入的极端属性值进行钳制,修复了#767问题。
- 新增自定义数据物品匹配功能,支持含操作与条件的NPC,修复了#754问题。
- 修复了纹理管理器在错误线程中运行可能引发崩溃与死锁的问题(适用于1.21.x及以上版本)。
- 修复了操作条件中空UUID的处理。
- 修复了操作执行次数限制的重置逻辑。
- 新增纹理注册队列,避免同一刻内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供含操作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,含自定义金币、钥匙与红令牌物品数据。
- 新增针对其他模组引入极端属性值的防护机制。
- 将高生命值NPC的备用最大生命值从1024提升至4096。
- 优化纹理管理器:减少重复纹理检查与注册。
6.24.0
- 新增选项以阻止与隐形NPC交互,修复了#459与#775问题。
- 修复了因可选的史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射引发的启动崩溃(#774)。
- 在基础刻度周期内及打开交易界面前检查限时交易重置,修复了#773问题。
- 通过正确增加内部刻度器,修复了交易重置时机问题。
- 为#459新增昼夜时间与天气条件支持。
- 新增针对交易重置、刻度器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,含昼夜时间与天气条件。
6.23.0
- 针对403与404错误调整纹理重试机制并降低日志等级,修复了#772问题。
- 修复了史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染问题(#770)。
- 修复了NPC开门/关门循环异常(无法可靠开关门)的问题(#769)。
- 新增对话框选项与配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件型对话按钮,修复了#760问题。 - 新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制输入,修复了#709问题。
- 修复了未指定颜色重命名时NPC姓名颜色被重置的问题,现保留原有颜色。
- 优化门移动属性:“穿门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 向命令执行传递完整服务端玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性,修复了#766问题。
- 新增实体生命值、NPC生命值条件及示例NPC预设
格鲁克——陪练木桩,修复了#764问题。 - 确保对话按钮执行次数限制现已被记录,修复了#763问题。
- 提供名为
一愿伴侣的示例NPC预设,修复了#758问题。 - 修复了第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan/工作地点)导致的崩溃(#756)。
- 为#760与#644做准备,修复了服务端数据下对话按钮未锁定的问题。
- 新增条件型对话开启支持/指令,实现对对话显示时机的精细控制,修复了#628问题。
- 为猪灵与猪灵蛮兵NPC添加脑AI,并注册完整原版脑记忆集。
- 为枪械标签(gun tag)新增更多枪械,支持#757。
- 新增“开启对话(条件型)”操作:仅当满足条件时才开启指定名称的对话框;而原有“开启对话”操作仍无条件开启。
- 新增实体生命值与NPC生命值条件,支持操作、对话框及对话按钮。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌属性,与其他NPC保持一致。
- 新增“击退免疫”战斗属性,防止NPC被近战或投射物攻击击退。
- 新增“爆炸免疫”战斗属性,使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),更符合主题分类。
6.21.0
- 修复了交叉手臂姿势下卫道士(Illager)的物品附着问题。
- 修复了卫道士(Illager)十字弓攻击目标失效的问题。
- 修复了第三方物品无法作为手持物品渲染导致的崩溃(#756)。
- 修复了第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃(#756)。
- 通过降低日志冗余度并为自定义模型部件添加额外校验,减少
log.info信息刷屏。 - 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复了第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话框背景图像尺寸调整为每边+10×6像素,若用户使用自定义对话框背景,则可能需要相应调整。
- 新增对话按钮条件支持,允许禁用按钮,修复了#752与#130问题。
- 新增打字机效果支持对话文本,修复了#683与#215问题。
- 允许对话、对话按钮及交互添加条件,修复了#690与#309问题。
- 修复了对话界面布局与背景的小型UI问题。
- 按每边+10×6像素重构对话框背景图像。
- 重构对话界面布局,适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端对话文本配置选项。
- 新增条件符号,直观指示对话、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检测特定数量的物品。
- 新增示例NPC预设
阈值守望者,含多种条件与操作。 - 新增否定条件支持,便于构建更复杂的逻辑。
6.18.0
注意:本次更新更改了条件与操作的内部数据格式,可能导致旧版执行次数限制条目(无存储ID者)被重置或移除。
- 新增操作条件支持,实现更复杂、动态的行为,修复了#745问题。
- 新增对话按钮工具提示以支持长文本,修复了#652问题。
- 新增命令值工具提示以显示完整值,修复了#687问题。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品栏持有物品条件。
- 新增手持物品条件(支持主手与副手)。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设
金宝石矿石,含多种条件与操作。 - 新增否定条件支持,便于构建更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 新增“以玩家身份执行”的额外工具提示,修复了#738问题。
- 通过减少启动与游戏内
log.info消息,优化详细日志输出。 - 新增额外单元测试与游戏测试。
6.16.0
- 新增选项以禁用对话框的ESC键与关闭按钮,修复了#732问题。
- 在特定情形(如交易界面)下避免自动关闭,修复了#723问题。
- 新增通用对话框配置选项,允许用户自定义对话行为。
- 新增头像缩放与位置偏移选项,用于对话框。
- 补充缺失的本地化键值。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 若客户端物种列表为空,则重新同步物种数据,修复了#731问题。
- 改进史诗战斗(Epic Fight)集成并启用实验性功能,修复了#730问题。
- 确保交易使用次数被正确存储,修复了#729问题。
- 新增玩家头颅的自定义头支持,修复了#728问题。
- 显示剩余交易次数,并支持手动与自动重置,修复了#689问题。
- 新增交易配置界面并增强自定义交易支持,修复了#218与#132问题。
- 通过切换基础/普通/高级交易模式,修复特定交易边界情况。
- 修复对话按钮文字被截断问题,完整文本通过工具提示显示。
- 通过同步动画状态至方块宝可梦(Cobblemon)动画系统,修复其动画问题。
- 新增每笔交易专属操作,允许用户在购买后触发操作。
- 新增交易重置按钮,便于一键重置全部交易。
- 在交易配置界面中添加交易使用信息。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人
格里斯尔达·磨石,含操作功能。 - 清理测试文件。
6.14.0
- 确保数值变更时同步至客户端,修复了#727问题。
- 新增特定命令的白名单,修复了#726问题。
- 新增基础方块宝可梦(Cobblemon)支持(含Cobblemon NPC),修复了#686、#389、#304与#211问题。
- 通过调整对话精灵图与界面,修复对话错位与导航问题。
- 修正X轴与Z轴根部旋转逻辑与枢轴点计算,修复旋转问题。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务端命令存在潜在风险,恶意使用可能导致安全隐患。
本次更新将模型根部数据与逻辑与其他模型部件数据与逻辑分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 将模型根部数据与逻辑与其他模型部件数据与逻辑分离,修复了#725问题。
- 支持
.sbnt文件作为本地预设,修复了#722问题。 - 为对话与配置界面背景新增专用资源,修复了#675问题。
- 新增安全检查与权限系统,修复了#605、#532与#529问题。
- 新增实验性API文档与自定义模型支持示例,修复了#469与#311问题。
- 通过移除冗余背景渲染,修复配置界面背景双重渲染问题。
- 通过调整包围盒,修复恶魂(Ghast)与史莱姆(Slime)的碰撞箱及名称标签位置问题。
- ⚠️ 新增安全检查,防止潜在漏洞利用,确保多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的LuckPerms集成(如#712)准备权限系统。
- 通用代码清理与优化,聚焦于配置界面渲染与资源处理。
6.12.0
- 基于原版模型,为自定义模型部件列表新增额外校验,修复了#714问题。
- 降低日志冗余度:将每NPC的INFO级消息降级为DEBUG级,并合并冗余警告消息,修复了#713问题。
- 减少启动/配置日志输出量,修复了#711问题。
- 强化NBT校验防护,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中添加模型部件名称常量,确保混入(Mixin)中的一致使用。
- 优化RenderEntityTypeSupportConfig:增强过滤逻辑并优化数据结构,提升性能与可维护性。
- 移除输出大型数据结构的冗长调试日志。
6.11.1
- 改进可恢复交易数据的向后兼容解析,修复了#710问题。
6.11.0
- 修复新自定义图层系统与手部渲染导致的渲染问题(#703)。
- 新增额外防护与日志记录,防范无效交易报价(#701)。
- 修复智能动画在修改头部位置后无法正常工作的问题。
- 将玩家检测移回服务端,修复头部追踪问题。
- 改进CustomLookAtPlayerGoal,更好处理边界情况并减少抖动。
- 修复多普勒NPC(Doppler NPCs)持续持有手部物品的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 为第三方实体创建添加try-catch机制,修复了#698问题。
- 切换至
DEFAULT原版姿势时清除模型部件旋转/位置,修复了#695问题。 - 仅当NPC处于空闲状态时应用锁定旋转与姿势动画,修复了#695问题。
- 校正根部旋转枢轴点,使用实际包围盒高度而非固定0.5f,修复了#695问题。
- 修复多个目标注册问题:包括反转的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、离线目标重试等。 - 目标注销后移除目标引用残留。
- 移除加载姿势时自动锁定ROOT旋转;根部锁定现由用户控制。
- 在高级与自定义姿势配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面添加模型专属姿势键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 新增缓存与防护机制,防止NPC实体数据更新被重复触发,修复了#692与#666问题。
- 为所有支持的NPC类型新增基础自定义姿势,修复了#651与#617问题。
- 新增额外逃跑目标(逃离玩家、村民、怪物等),修复了#597问题。
- 姿势加载直接读取模组资源,而非复制文件至磁盘。
- 实体加入时检查已有注册项,避免重复调用
saveNPC,修复重复保存问题。 - 新增
despawn与spawn指令,支持通过UUID移除与重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,支持外部模组以编程方式控制NPC姿势与管理NPC。 - 为所有支持的NPC类型新增姿势数据文件。
- 在基础姿势配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,使NPC移动至指定位置后执行回调操作。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根部旋转。 - 在NPC实体数据索引中同步所有者变更与维度变更。
- 将EasyNPCItemAttachmentLayer集成至各类实体渲染器。
- 新增专用“逃跑目标”配置页签,含针对苦力怕、怪物、生物、玩家、村民及太阳的逃跑目标。
- 在跟随目标页签中新增
FOLLOW_ITEM目标,支持NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在查看目标界面中启用“按UUID查看实体”与“查看所有者”目标。 - 在
SynchedDataIndex中新增`persist
... [内容过长已截断]
Easy NPC (Bundle) 7.2.1
on 2026 Jul 17Easy NPC:核心版(1.21.11)更新日志
说明
本更新日志汇总了主要变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
注意:更新前请务必备份您的世界存档及所有NPC数据!
更多详情请查阅 [升级指南][upgrade_guide]。
7.2.0
- 通过为NPC、对话框与操作使用组合式UUID,修复#801问题,避免操作追踪与执行限制发生冲突。
7.1.1
- 通过延迟加载实体类型,修复#800问题。
- 通过修正边界情况并补充文档说明与更清晰的日志信息,修复#799问题。
- 将控制台、命令与命令方块视为可信命令来源,修复#798问题。
- 修复单人游戏/局域网模式下的关键问题:客户端与服务端NPC共享同一注册表。
- 修复配置菜单处理中的内存泄漏,并添加超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查询在出错后失败的问题,避免慢速服务器导致游戏卡死。
- 修复URL皮肤界面在检查远程图片时冻结游戏的问题;现改为后台异步检查。
- 新增“世界刷怪箱”方块,使NPC预设在整个世界(所有维度)范围内生效;原有“群组刷怪箱”现按维度独立计数,远离的NPC不再占用其配额。
- 强化远程皮肤下载安全性:严格限制文件大小、安全处理重定向,防止因过大或恶意皮肤URL引发崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 通过采用预期的NPC渲染类型,修复#794问题。
- 新增流浪商人NPC类型,修复#791问题。
- 扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原生NPC变体(猪灵、村民、末影人、苦力怕、劫掠者与女巫),修复#788问题。
- 新增阵营系统,包含
/easy_npc faction命令、逐NPC阵营分配及自动同步记分板队伍,修复#787、#531、#237与#184问题。 - 新增“目标”目标选项卡,支持攻击敌对阵营或指定目标(按玩家名、队伍、实体标签或UUID),修复#787、#771与#572问题。
- 为方块宝可梦(Cobblemon)NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female或shiny检索,修复#786问题。 - 新增“阵营可攻击”战斗属性,修复无敌NPC间无法进行阵营战斗的问题。
- 针对体型过大的方块宝可梦物种,改用方块宝可梦自身的档案缩放比例而非碰撞箱高度进行模型预览缩放,修复相关问题。
- 通过验证阵营名称、排序阵营列表,以及在阵营颜色变更或删除后刷新已加载NPC的记分板分配,修复阵营管理边界情况。
- 改为按皮肤模型分别加载与清除纹理缓存,而非始终重建全部自定义纹理缓存,修复自定义皮肤重载问题。
- 改进“玩家/怪物/阵营可攻击”战斗属性,使其各自独立于“无敌”属性运行,为对应攻击者群体单独开放针对性漏洞。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专用组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、染色、删除阵营及管理敌对关系,受新安全特性
FACTION_MANAGEMENT保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬停工具提示。
- 新增针对阵营、目标目标及方块宝可梦模型变体的单元测试与游戏测试。
6.25.0
- 在校验过程中保留数据组件,修复#782、#636与#622问题。
- 通过缓存远程纹理下载并减少重复注册,修复#780问题。
- 对其他模组传入的极端属性值进行钳制,修复#767问题。
- 为含操作与条件的NPC添加自定义数据物品匹配功能,修复#754问题。
- 修复纹理管理器在错误线程运行可能导致≥1.21.x版本崩溃与死锁的问题。
- 修复空UUID在操作条件中的处理问题。
- 修复操作执行限制重置问题。
- 新增纹理注册队列,避免同一次刻(tick)内多次并发下载。
- 新增NPC硬币、钥匙与红令牌作为消耗品,供含操作与条件的NPC使用。
- 新增示例NPC预设“欢迎硬币商人”,含自定义硬币、钥匙与红令牌物品数据。
- 新增针对其他模组传入极端值的属性防护机制。
- 将高生命值NPC的备用最大生命值从1024提升至4096。
- 优化纹理管理器:减少重复纹理检查与注册。
6.24.0
- 新增屏蔽与隐形NPC交互的选项,修复#459与#775问题。
- 修复因可选史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射引发的启动崩溃,修复#774问题。
- 在基础刻(base tick)期间及打开交易界面前检查限时交易重置,修复#773问题。
- 通过正确增加内部计时器,修复交易重置时机问题。
- 新增昼夜时间与天气条件支持,用于#459问题。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨兵”,含昼夜时间与天气条件。
6.23.0
- 调整纹理重试机制以应对403与404错误,并降低日志输出级别,修复#772问题。
- 修复史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染问题,修复#770问题。
- 修复NPC开门/关门动作不稳定的问题,修复#769问题。
- 新增对话框按钮选项及配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件性对话框按钮,修复#760问题。 - 新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制输入,修复#709问题。
- 修复未指定颜色重命名时NPC姓名颜色被重置的问题,现保留原有颜色。
- 优化门移动属性:“通过门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 向命令执行传递完整服务端玩家上下文,提升与依赖特定玩家数据的第三方模组及插件兼容性,修复#766问题。
- 新增实体生命值、NPC生命值条件及示例NPC预设
格鲁克——陪练桩,用于演示这些条件,修复#764问题。 - 确保对话框按钮执行限制现在被正确记录,修复#763问题。
- 新增名为
一愿随行者的示例NPC预设,修复#758问题。 - 修复第三方村民AI读取Easy NPC村民未注册脑部记忆(如PoiCompetitorScan / job_site)导致的崩溃问题#756。
- 为#760与#644做准备,修复对话框按钮在服务端数据下未锁定的问题。
- 新增条件性对话框开启支持/命令,实现更精细控制对话框向玩家展示的时机,修复#628问题。
- 为猪灵与猪灵蛮兵NPC添加脑部AI,并注册完整的原版脑部记忆集。
- 为枪械标签新增更多枪械,用于#757问题。
- 新增“开启对话框(条件性)”操作:仅当满足条件时才开启指定对话框;而原有“开启对话框”操作仍保持无条件开启。
- 新增适用于操作、对话框及对话框按钮的实体生命值与NPC生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌设定,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性,使NPC免受近战或投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性,使NPC完全免疫爆炸伤害及位移(例如TNT、苦力怕、末地水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,使其主题归属更合理(此前位于能力界面)。
6.21.0
- 修复交叉手臂姿势下卫道士手持物品的附着问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃问题#756。
- 修复第三方Mixin尝试访问不存在模型部件导致的崩溃问题#756。
- 通过降低日志冗余度并为自定义模型部件添加额外校验,减少
log.info日志刷屏。 - 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃问题。
6.19.0
注意:本次更新将对话框背景图片尺寸调整为每边+10×6像素,若您使用自定义对话框背景,请相应调整。
- 新增对话框按钮条件支持,允许禁用按钮,修复#752与#130问题。
- 新增对话文本打字机效果支持,修复#683与#215问题。
- 允许为对话框、对话框按钮及交互添加条件,修复#690与#309问题。
- 修复对话框界面布局与背景相关的细微UI问题。
- 重构对话框背景图片,每边增加10×6像素。
- 重构对话框界面布局,以适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端对话文本配置选项。
- 新增条件状态符号,直观显示对话框、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设
阈值守卫者,含多种条件与操作。 - 新增否定条件支持,便于构建更复杂的逻辑。
6.18.0
注意:本次更新更改了条件与操作的内部数据格式,可能导致旧版执行限制条目(无存储ID者)被重置或移除。
- 新增操作条件支持,实现更复杂、动态的行为,修复#745问题。
- 新增长文本对话框按钮工具提示,修复#652问题。
- 新增命令值工具提示以显示完整值,修复#687问题。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品栏持有物品条件。
- 新增主手与副手持物品条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设
金宝石矿石商人,含多种条件与操作。 - 新增否定条件支持,便于构建更复杂的逻辑。
- 移除
ActionDataEntry参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 新增“以玩家身份执行”的额外工具提示,修复#738问题。
- 通过降低启动及游戏内
log.info日志输出频率,优化详细日志,修复此问题。 - 新增更多单元测试与游戏测试。
6.16.0
- 新增禁用对话框ESC键与关闭按钮的选项,修复#732问题。
- 避免在交易界面等特定情况下自动关闭对话框,修复#723问题。
- 新增通用对话框配置选项,允许用户自定义对话框行为。
- 新增对话框头像缩放与位置偏移选项。
- 补充缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 若客户端物种列表为空,则重新同步物种数据,修复#731问题。
- 改进史诗战斗(Epic Fight)集成并启用实验性功能,修复#730问题。
- 确保交易使用次数被正确存储,修复#729问题。
- 新增玩家头颅自定义支持,修复#728问题。
- 显示剩余交易次数,并支持手动与自动重置,修复#689问题。
- 新增交易配置界面并增强自定义交易支持,修复#218与#132问题。
- 通过切换基础/常规/高级交易模式,修复交易特定边界情况。
- 修复对话框按钮文字截断问题,完整文字可通过工具提示查看。
- 通过同步动画状态至方块宝可梦(Cobblemon)动画系统,修复方块宝可梦动画问题。
- 新增按交易定制的操作,允许用户在购买后触发操作。
- 新增交易重置按钮,便于一键重置全部交易。
- 在交易配置界面中添加交易使用信息。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人
格里塞尔达·磨石,含操作功能。 - 清理测试文件。
6.14.0
- 确保修改值时同步至客户端,修复#727问题。
- 新增特定命令白名单,修复#726问题。
- 新增基础方块宝可梦(Cobblemon)支持(含Cobblemon NPC),修复#686、#389、#304与#211问题。
- 通过调整对话框精灵图与界面,修复对话框错位与导航问题。
- 通过修正旋转逻辑与枢轴点计算,修复X轴与Z轴根部旋转问题。
- 新增基础方块宝可梦(Cobblemon)支持,含自定义NPC类型与测试用模型。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限管理。
部分服务端命令可能具有潜在危险性,若被恶意利用将造成风险。
本次更新将模型根部数据与逻辑与其他模型部件数据及逻辑分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 将模型根部数据与逻辑与其他模型部件数据及逻辑分离,修复#725问题。
- 支持
.sbnt文件作为本地预设,修复#722问题。 - 为对话框与配置界面背景新增专用资源,修复#675问题。
- 新增安全检查与权限系统,修复#605、#532与#529问题。
- 新增实验性API文档与自定义模型支持示例,修复#469与#311问题。
- 通过移除冗余背景渲染,修复配置界面背景重复渲染问题。
- 通过调整包围盒,修复恶魂与史莱姆的碰撞箱及名称标签位置问题。
- ⚠️ 新增安全检查,防止潜在漏洞利用,确保多人游戏环境下的安全使用。
- 将动态对话框界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如#712)做好权限系统准备。
- 通用代码清理与优化,聚焦于配置界面渲染与资源处理。
6.12.0
- 基于原版模型,为自定义模型部件列表添加额外校验,修复#714问题。
- 降低日志冗余度:将每NPC的INFO级别日志降级为DEBUG,并整合冗余警告消息,修复#713问题。
- 减少启动/配置日志输出量,修复#711问题。
- 优化NBT校验防护机制,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中添加模型部件名称常量,确保Mixin中的一致使用。
- 优化RenderEntityTypeSupportConfig:增强过滤逻辑,优化数据结构以提升性能与可维护性。
- 移除大量数据结构转储的冗长调试日志。
6.11.1
- 改进可恢复交易数据的向后兼容解析,修复#710问题。
6.11.0
- 修复新自定义图层系统与手持物品渲染导致的渲染问题,修复#703问题。
- 新增额外防护与日志记录,防止无效交易报价,修复#701问题。
- 修复智能动画在头部位置被修改时无法正常工作的问题。
- 将玩家检测移回服务端独占逻辑,修复头部追踪问题。
- 改进CustomLookAtPlayerGoal,更好处理边界情况并减少抖动。
- 修复多普勒NPC持续保留手持物品的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 为第三方实体创建添加try-catch机制,修复#698问题。
- 切换至
DEFAULT原版姿势时清除模型部件旋转/位置,修复#695问题。 - 仅当NPC处于空闲状态时应用锁定旋转与姿势动画,修复#695问题。
- 校正根部旋转枢轴点,使用实际包围盒高度而非固定0.5f,修复#695问题。
- 修复多项目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺失的玩家目标刷新,以及离线目标重试机制。 - 目标注销后不再保留目标引用。
- 移除加载姿势时自动锁定根部旋转;根部锁定现由用户自主控制。
- 在高级与自定义姿势配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面添加模型专属姿势键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge平台的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 新增缓存与防护机制,防止NPC实体数据更新被重复触发,修复#692与#666问题。
- 为所有支持的NPC类型新增基础自定义姿势,修复#651与#617问题。
- 新增面向玩家、村民、怪物等的额外逃逸目标,修复#597问题。
- 姿势加载改为直接从模组资源读取,而非复制文件至磁盘。
- 实体加入时通过检查已有注册项,避免重复调用
saveNPC,修复此问题。 - 新增
despawn与spawn命令,支持通过UUID移除与重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿势与管理NPC。 - 为所有支持的NPC类型新增姿势数据文件。
- 在基础姿势配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,使NPC在执行回调操作前先移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根部旋转。 - 在NPC实体数据索引中同步所有者变更与维度变更。
- 在各类实体渲染器中新增EasyNPCItemAttachmentLayer。
- 新增专用“逃逸目标”配置选项卡,含针对苦力怕、怪物、生物、玩家、村民及太阳的逃逸目标。
- 在跟随目标选项卡中新增
FOLLOW_ITEM目标,使NPC按资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在注视目标界面中启用“按UUID注视实体”与“注视所有者”目标。 - 在 `SynchedD
... [内容过长已截断]
Easy NPC (Bundle) 7.2.0
on 2026 Jul 15Easy NPC:核心版(1.21.1)更新日志
说明
本更新日志汇总了主要变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
⚠️ 注意:更新前请务必备份您的世界存档及所有NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
7.2.0
- 修复 #801:通过为NPC、对话框及操作的UUID采用组合生成方式,避免操作追踪与执行次数限制发生冲突。
7.1.1
- 修复 #800:采用懒加载方式加载实体类型。
- 修复 #799:修正边界情况,并补充文档说明与更清晰的日志信息。
- 修复 #798:将控制台、命令及命令方块视为可信命令来源。
- 修复一个严重影响单人游戏/局域网联机的关键问题:客户端与服务端NPC共享同一注册表。
- 修复配置菜单处理过程中的内存泄漏问题,并新增超时机制与断开连接后的清理逻辑。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查找在出错后失效的问题,避免服务器响应缓慢导致游戏卡死。
- 修复URL皮肤界面在检查远程图片时冻结游戏的问题;现改为后台异步执行检查。
- 新增“世界刷怪箱”方块,可在全维度范围内统一限制某NPC预设的生成数量;原有“组刷怪箱”现按维度独立计数,远离的NPC不再影响其触发。
- 强化远程皮肤下载安全性:严格限制文件大小、安全处理重定向,防止因超大或恶意皮肤URL引发崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体/玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原生NPC变体(猪灵、村民、末影人、苦力怕、劫掠者、女巫)。
- 修复 #787、#531、#237 和 #184:新增派系系统,支持
/easy_npc faction命令、逐NPC派系分配及自动同步记分板队伍。 - 修复 #787、#771 和 #572:新增“目标”目标选项卡,支持攻击敌对派系,或按玩家名称、队伍、实体标签或UUID指定特定目标。
- 修复 #786:为方块宝可梦(Cobblemon)NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female(雌性)或shiny(闪光)搜索。 - 修复无敌NPC之间派系战斗失效问题,新增“派系可攻击”战斗属性。
- 修复方块宝可梦模型预览在体型过大物种上显示异常的问题,改用方块宝可梦自身档案缩放比例而非碰撞箱高度进行缩放。
- 修复派系管理边界情况:验证派系名称、排序派系列表,并在派系颜色更改或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型分别加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“玩家/怪物/派系可攻击”战斗属性:各属性独立于“无敌”状态运作,分别为对应攻击者群体单独开放攻击通道。
- 优化预设命令与网络处理:将大型处理器拆分为更小、功能聚焦的导入、导出及特性专用组件。
- 新增Easy Model Entities支持。
- 新增派系管理器与派系编辑器界面,用于创建、着色、删除派系及管理敌对关系,受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性选项卡,作为NPC派系分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬浮工具提示。
- 新增针对派系、目标目标及方块宝可梦模型变体的单元测试与游戏测试。
6.25.0
- 修复 #782、#636、#622:在验证过程中保留数据组件。
- 修复 #780:缓存远程纹理下载,减少重复注册。
- 修复 #767:对其他模组传入的极端属性值进行钳制处理。
- 修复 #754:为含操作与条件的NPC添加自定义数据物品匹配功能。
- 修复纹理管理器在错误线程中运行可能引发崩溃与死锁的问题(Minecraft ≥ 1.21.x)。
- 修复空UUID在操作条件中的处理。
- 修复操作执行次数限制重置问题。
- 新增纹理注册队列,避免同一次刻(tick)内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供含操作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌物品数据。
- 新增针对其他模组传入极端值的属性防护机制。
- 将高生命值NPC的备用最大生命值上限由1024提升至4096。
- 优化纹理管理器:减少重复纹理检查与注册。
6.24.0
- 修复 #459、#775:新增阻止与不可见NPC交互的选项。
- 修复 #774:因可选的史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射引发的启动崩溃。
- 修复 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机问题:正确增加内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨兵”,支持昼夜时间与天气条件。
6.23.0
- 修复 #772:调整纹理重试策略,适配403与404错误并降低日志等级。
- 修复 #770:改进史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:NPC开门/关门循环异常,无法稳定执行开关门动作。
- 修复 #760:新增对话框选项与配置设置(
buttonConditionMode: LOCK 或 HIDE),支持锁定或隐藏不可用的条件性对话按钮。 - 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入。
- 修复重命名NPC时未指定颜色导致姓名颜色被重置的问题:保留原有姓名颜色。
- 优化门移动相关属性:“穿门”将自动启用,当“开门”或“关门”处于激活状态时。
6.22.0
- 修复 #766:向命令执行传递完整的服务器玩家上下文,以提升与依赖特定玩家数据的第三方模组及插件的兼容性。
- 修复 #764:新增实体生命值与NPC生命值条件,并新增示例NPC预设“格鲁克——陪练木桩”以演示这些条件的使用。
- 修复 #763:确保对话按钮执行次数限制现已正确记录。
- 修复 #758:新增名为“一愿伴侣”的示例NPC预设。
- 修复第三方村民AI(如PoiCompetitorScan / job_site)读取Easy NPC村民未注册脑记忆导致的崩溃问题(#756)。
- 修复对话按钮在服务端数据下未锁定的问题,为 #760 和 #644 做准备。
- 修复 #628:新增条件性开启对话框的支持/命令,以更精细地控制对话框向玩家展示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册完整原版脑记忆集。
- 为枪械标签(gun tag)新增更多枪械(#757)。
- 新增“条件性开启对话框”操作:仅当满足指定条件时才开启指定名称的对话框;而原有“开启对话框”操作仍无条件开启。
- 新增适用于操作、对话框及对话按钮的实体生命值与NPC生命值条件。
- 将猪灵、猪灵蛮兵与僵尸猪灵NPC设为无敌,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害及位移(如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,使其主题归属更合理(此前位于能力界面)。
6.21.0
- 修复交叉手臂姿态下卫道士(Illager)的物品附着问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染所导致的崩溃问题(#756)。
- 修复第三方混入(mixin)尝试访问不存在模型部件所导致的崩溃问题(#756)。
- 修复
log.info日志泛滥问题:降低日志冗余度,并为自定义模型部件添加额外校验。 - 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标所导致的崩溃问题。
6.19.0
⚠️ 注意:本次更新将对话框背景图片尺寸调整为每边增加10×6像素,若您使用自定义对话框背景,请相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:支持为对话框、对话按钮及交互行为添加条件。
- 修复对话界面布局与背景相关的较小UI问题。
- 重构对话框背景图片:每边增加10×6像素。
- 重构对话界面布局,以适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端配置选项,用于对话文本。
- 新增条件符号,用于指示对话、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守卫者”,包含多种条件与操作。
- 新增较小的与对话条件及按钮状态相关的Bug修复与优化。
6.18.0
⚠️ 注意:本次更新变更了条件与操作的内部数据格式,可能导致旧版执行次数限制条目(未存储ID者)被重置或移除。
- 修复 #745:为操作新增条件支持,实现更复杂、动态的行为。
- 修复 #652:为对话按钮新增工具提示,支持长文本显示。
- 修复 #687:为命令值新增工具提示,显示完整值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增“物品栏中存在物品”条件。
- 新增“手持物品”条件,支持主手与副手。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增金宝石矿石(Goldmere)示例NPC预设,包含多种条件与操作。
- 新增否定条件支持,允许对条件取反以构建更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 通过降低启动及游戏中
log.info消息数量,优化详细日志输出。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:提供禁用ESC键与对话框关闭按钮的选项。
- 修复 #723:在交易界面等特定情况下避免自动关闭。
- 新增通用对话框配置选项,允许用户自定义对话框行为。
- 新增对话框头像缩放与位置偏移选项。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗(Epic Fight)集成,并启用实验性功能。
- 修复 #729:确保交易使用次数正确保存。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特有边界情况:在基础交易模式与普通/高级交易模式间切换。
- 修复对话按钮文字被截断问题,工具提示中显示完整文本。
- 修复方块宝可梦(Cobblemon)动画问题:同步动画状态至方块宝可梦动画系统。
- 新增逐个交易专属操作,允许用户在购买后触发操作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能状态,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,含操作功能。
- 清理测试文件。
6.14.0
- 修复 #727:确保修改数值时同步更新至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础方块宝可梦(Cobblemon)支持,含方块宝可梦NPC。
- 修复对话框错位与导航问题:调整对话框精灵图与界面。
- 修复X轴与Z轴根部旋转:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦(Cobblemon)支持,含用于测试的自定义NPC类型与模型。
6.13.0(安全与权限更新)
⚠️ 注意:本次更新增强了多人游戏环境下的安全检查与权限控制。部分服务器命令可能存在潜在风险,若被恶意利用可能造成危害。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑从其余模型部件数据与逻辑中分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话框与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂(Ghast)与史莱姆(Slime)的碰撞箱及名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话框背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集(sprite sheets)。
- 为未来可能的LuckPerms集成(如 #712)做好权限系统准备。
- 通用代码清理与优化,涉及配置界面渲染及资源处理。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外校验。
- 修复 #713:降低日志冗余度:将每个NPC的INFO级别消息降级为DEBUG,并合并冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入(mixin)中的一致使用。
- 优化RenderEntityTypeSupportConfig:增强过滤逻辑,优化数据结构以提升性能与可维护性。
- 移除转储大型数据结构的冗长调试日志。
6.11.1
- 修复 #710:改进可恢复交易数据的向后兼容解析。
6.11.0
- 修复 #703:解决新自定义图层系统与手持物品渲染的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置被修改时无法正常工作的问题。
- 修复头部追踪:将玩家检测移回服务端独占执行。
- 修复CustomLookAtPlayerGoal,以更好处理边界情况并减少抖动。
- 修复多普勒NPC(Doppler NPCs)持续持有手中物品的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 修复 #698:为第三方实体创建添加try-catch异常捕获。
- 修复 #695:切换至
DEFAULT原版姿态时,清除模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时,应用锁定旋转与姿态动画。
- 修复 #695:修正根部旋转枢轴点,使用实际包围盒高度而非固定值0.5f。
- 修复多个目标注册问题,包括反转的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺失的玩家目标刷新、以及离线目标重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定根部旋转;根部锁定现由用户自主控制。
- 在高级与自定义姿态配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型特定姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge平台的游戏测试。 - 将最大头部偏航范围由60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿态。
- 修复 #597:新增更多逃离目标,支持逃离玩家、村民、怪物等。
- 修复姿态加载逻辑:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC的问题:先检查注册表中是否已存在对应条目。 - 新增
despawn与spawn命令,支持通过UUID移除与重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,支持外部模组以编程方式控制NPC姿态及管理NPC。 - 新增所有支持NPC类型的姿态数据文件。
- 在基础姿态配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,支持NPC移动至指定位置后执行回调操作。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根部旋转。 - 新增同步的所有者变更与维度变更至NPC实体数据索引。
- 在各类实体渲染器中新增EasyNPCItemAttachmentLayer。
- 新增专用“逃离目标”配置选项卡,支持逃离苦力怕、怪物、生物、玩家、村民及太阳的目标。
- 在跟随目标选项卡中新增
FOLLOW_ITEM目标,支持NPC按资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”界面中启用“按UUID注视实体”与“注视所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如弩箭充能、模型动画)不再触发脏数据保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫NPC,以丰富驯服环境音效。 - 将周期性NPC保存操作的日志冗余度由INFO降级为DEBUG。
6.8.3
- 修复 #680:通过升级网络协议版本强制执
... [内容过长已截断]
Easy NPC (Bundle) 7.2.0
on 2026 Jul 15Easy NPC:核心版(1.21.1)更新日志
说明
本更新日志汇总了主要变更内容。
如需查看完整变更记录,请访问 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及所有NPC数据!
更多详细信息请参阅 [升级指南][upgrade_guide]。
7.2.0
- 修复 #801:通过为NPC、对话框及操作的UUID采用组合生成方式,避免操作追踪与执行次数限制发生冲突。
7.1.1
- 修复 #800:改用延迟加载实体类型。
- 修复 #799:完善边界情况处理,并补充文档说明与更清晰的日志输出。
- 修复 #798:将控制台、命令及命令方块视为可信命令来源。
- 修复单人游戏/局域网模式下的关键问题:客户端与服务端NPC共享同一注册表。
- 修复配置菜单处理过程中的内存泄漏问题,并新增超时机制与断开连接后的清理逻辑。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查询在出错后失败的问题,使响应缓慢的服务器不再导致游戏卡死。
- 修复URL皮肤界面在检查远程图像时冻结游戏的问题;现该检查将在后台运行。
- 新增“世界刷怪箱”方块,可在整个世界(含所有维度)范围内限制某一NPC预设的生成数量;原有“群组刷怪箱”现按维度分别计数,因此远距离NPC不再影响其触发。
- 强化远程皮肤下载安全性:设置严格的尺寸限制并安全处理重定向,防止因过大或恶意皮肤URL引发崩溃;新增可选配置项
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,且按维度分组发送。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、劫掠者与女巫)。
- 修复 #787、#531、#237 与 #184:新增阵营系统,支持
/easy_npc faction命令、逐NPC阵营分配及自动同步记分板队伍。 - 修复 #787、#771 与 #572:新增“目标”目标选项卡,支持攻击敌对阵营或特定目标(按玩家名、队伍、实体标签或UUID筛选)。
- 修复 #786:为方块宝可梦(Cobblemon)NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female(雌性)或shiny(闪光)搜索。 - 修复无敌NPC之间阵营战斗失效问题,新增“可被阵营攻击”战斗属性。
- 修复方块宝可梦模型选择预览对超大体型物种显示异常问题:改用方块宝可梦自身档案缩放比例而非碰撞箱高度进行缩放。
- 修复阵营管理边界情况:验证阵营名称、排序阵营列表,并在阵营颜色更改或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型单独加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“可被玩家/怪物/阵营攻击”战斗属性:各属性独立于“无敌”状态运作,分别为对应攻击者群体单独开放针对性漏洞。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专用组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、着色、删除阵营及管理敌对关系,并受全新
FACTION_MANAGEMENT(阵营管理)安全特性保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的主入口。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬浮工具提示。
- 新增针对阵营、目标目标及方块宝可梦模型变体的额外单元测试与游戏测试。
6.25.0
- 修复 #782、#636、#622:在验证过程中保留数据组件。
- 修复 #780:缓存远程纹理下载,减少重复注册。
- 修复 #767:对来自其他模组的极端属性值进行滑块钳制。
- 修复 #754:为含操作与条件的NPC添加自定义数据物品匹配功能。
- 修复纹理管理器在错误线程中运行可能导致 >= 1.21.x 版本崩溃与死锁的问题。
- 修复操作条件中空UUID的处理问题。
- 修复操作执行次数限制重置问题。
- 新增纹理注册队列,避免同一次刻(tick)内多次同时下载。
- 新增NPC金币、钥匙与红令牌作为含操作与条件NPC的消耗品。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌物品数据。
- 新增针对其他模组极端数值的属性防护机制。
- 将高生命值NPC的备用最大生命值上限由1024提升至4096。
- 优化纹理管理器:减少重复纹理检测与注册。
6.24.0
- 修复 #459、#775:新增阻止与不可见NPC交互的选项。
- 修复 #774:与可选的史诗战斗(Epic Fight)及方块宝可梦(Cobblemon)实体类型映射相关的启动崩溃。
- 修复 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机:正确增加内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,支持昼夜时间与天气条件。
6.23.0
- 修复 #772:调整纹理重试机制以应对403与404错误,并降低日志等级。
- 修复 #770:改进史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:NPC开门/关门循环异常,无法可靠开关门。
- 修复 #760:新增对话框选项及配置项(buttonConditionMode:LOCK 或 HIDE),用于锁定或隐藏不可用的条件性对话按钮。
- 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入。
- 修复重命名时未指定颜色会导致NPC姓名颜色重置的问题:现将保留原有姓名颜色。
- 优化门移动属性:“穿门”将随“开门”或“关门”激活而自动启用。
6.22.0
- 修复 #766:向命令执行传递完整的服务器玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并新增示例NPC预设“格鲁克——陪练木桩”以演示这些条件的使用。
- 修复 #763:确保对话按钮执行次数限制现已正确记录。
- 修复 #758:新增名为“一愿伴侣”的示例NPC预设。
- 修复第三方村民AI读取Easy NPC村民未注册脑部记忆(如PoiCompetitorScan / job_site)导致的崩溃问题(#756)。
- 修复对话按钮在服务端数据下未锁定的问题,为 #760 与 #644 做准备。
- 修复 #628:新增条件性对话开启支持/命令,实现更精细控制对话向玩家展示的时机。
- 新增猪灵与猪灵蛮兵NPC的脑部AI,并注册完整原版脑部记忆集合。
- 为 #757 新增更多枪械至枪械标签。
- 新增“条件性开启对话”操作:仅当满足指定条件时才开启命名对话;原有“开启对话”操作仍保持无条件开启。
- 新增适用于操作、对话框及对话按钮的实体生命值与NPC生命值条件。
- 新增猪灵、猪灵蛮兵与僵尸猪灵NPC的无敌设定,与其他NPC保持一致。
- 新增“击退免疫”战斗属性:防止NPC被近战或投射物攻击击退。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末地水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,使其主题归属更合理(此前位于能力界面)。
6.21.0
- 修复交叉手臂姿势下卫道士手持物品附件问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃(#756)。
- 修复第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃(#756)。
- 修复日志INFO级别消息泛滥问题:降低日志冗余度,并为自定义模型部件增加额外校验。
- 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话框背景图片尺寸调整为每边增加10×6像素,若用户使用自定义对话框背景,则可能需要相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:允许为对话框、对话按钮及交互行为添加条件。
- 修复对话界面布局与背景相关的细微UI问题。
- 重构对话框背景图片:每边增加10×6像素。
- 重构对话界面布局,以适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,用于指示对话、按钮及交互行为的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守望者”,涵盖多种条件与操作。
- 新增细微Bug修复及针对对话条件与按钮状态的优化。
6.18.0
注意:本次更新更改了条件与操作的内部数据格式,可能导致旧版执行次数限制条目(无存储ID者)被重置或移除。
- 修复 #745:为操作新增条件支持,实现更复杂、动态的行为。
- 修复 #652:为对话按钮新增长文本工具提示支持。
- 修复 #687:为命令值新增工具提示,显示完整值。
- 新增经验值等级条件。
- 新增游戏模式条件。
- 新增“物品栏中存在物品”条件。
- 新增“手中持有物品”条件,支持主手与副手。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设“金宝石矿石”,涵盖多种条件与操作。
- 新增否定条件支持,便于构建更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 修复详细日志问题:降低启动及游戏运行期间的INFO级别日志输出。
- 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:新增禁用ESC键与对话框关闭按钮的选项。
- 修复 #723:避免在特定情况下(如交易界面)自动关闭对话框。
- 新增通用对话框配置选项,允许用户自定义对话框行为。
- 新增头像缩放与位置偏移选项。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗及体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗(Epic Fight)集成并启用实验性功能。
- 修复 #729:确保交易使用次数正确存储。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特定边界情况:在基础交易模式与普通/高级交易模式间切换。
- 修复对话按钮文字被截断问题,工具提示中显示完整文本。
- 修复方块宝可梦(Cobblemon)动画问题:同步动画状态至方块宝可梦动画系统。
- 新增按交易定制的操作,允许用户在购买后触发操作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能状态开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,含操作支持。
- 清理测试文件。
6.14.0
- 修复 #727:确保值更改后同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础方块宝可梦(Cobblemon)支持,含方块宝可梦NPC。
- 修复对话框错位与导航问题:调整对话框精灵图与界面。
- 修复X轴与Z轴根旋转问题:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦(Cobblemon)支持,含用于测试的自定义NPC类型与模型。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务端命令若被恶意利用,可能存在潜在风险。
本次更新将模型根部数据与逻辑与其他模型部件的数据与逻辑分离,可能导致现有NPC的根旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑与其他模型部件的数据与逻辑分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话框与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂与史莱姆的碰撞箱及名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话框背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的LuckPerms集成(如 #712)做好权限系统准备。
- 针对配置界面渲染与资源的通用代码清理与优化。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外校验。
- 修复 #713:降低日志冗余度:将每个NPC的INFO级别消息降级为DEBUG,并整合冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入(Mixin)中的一致使用。
- 优化RenderEntityTypeSupportConfig:增强过滤逻辑并优化数据结构,提升性能与可维护性。
- 移除输出大型数据结构的冗长调试日志。
6.11.1
- 修复 #710:改进可恢复交易数据的向后兼容解析。
6.11.0
- 修复 #703:解决新自定义图层系统与手持物品渲染引发的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 修复头部追踪:将玩家检测移回仅服务端执行。
- 修复CustomLookAtPlayerGoal,以更好处理边界情况并减少抖动。
- 修复多普勒NPC持续持有手中物品的问题。
- 优化PoseManager日志消息。
- 更新Logo,采用全新设计。
6.10.0
- 修复 #698:为第三方实体创建添加try-catch异常捕获。
- 修复 #695:切换至
DEFAULT原版姿势时,清除模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时,应用锁定旋转与姿势动画。
- 修复 #695:修正根旋转枢轴点,改用实际包围盒高度而非固定值0.5f。
- 修复多个目标注册问题,包括反转的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、以及离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定根旋转的功能;根旋转锁定现由用户控制。
- 在高级与自定义姿势配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型特定姿势键过滤功能。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围由60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿势。
- 修复 #597:新增针对玩家、村民、怪物等的额外逃跑目标。
- 修复姿势加载:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC:先检查是否存在注册表条目。 - 新增
despawn与spawn命令,支持通过UUID移除或重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿势与管理NPC。 - 新增所有支持NPC类型的姿势数据文件。
- 在基础姿势配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,可在执行回调操作前将NPC移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根旋转。 - 新增NPC实体数据索引中的同步所有者变更与维度变更。
- 将
EasyNPCItemAttachmentLayer加入各类实体渲染器。 - 新增专用“逃跑目标”配置选项卡,含针对苦力怕、怪物、生物、玩家、村民及太阳的逃跑目标。
- 新增
FOLLOW_ITEM目标至跟随目标选项卡,使NPC按资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”界面中启用“按UUID注视实体”与“注视所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如弩箭充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫NPC,以丰富驯服后的环境音效。 - 将周期性NPC保存操作的日志等级由INFO降为DEBUG。
6.8.3
- 修复 #680:通过升级网络协议版本强制版本不匹配。
- 修复 #679:重置名称标签的位置、旋转与尺寸。
- 修复 #665:为根旋转新增多状态滑块。
- 修复 #664:新增禁用跟随鼠标光标选项,便于姿势调整。
- 修复 #663:改进X轴与Z轴根旋转支持。
- 修复 #661:新增NPC魔
... [内容过长已截断]
Easy NPC (Bundle) 7.2.0
on 2026 Jul 15Easy NPC(1.20.1)版本更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新前请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
7.2.0
- 修复 #801:通过为NPC、对话框和操作生成组合式UUID,避免操作追踪与执行次数限制发生冲突。
7.1.1
- 修复 #800:采用懒加载方式加载实体类型。
7.1.0
- 修复 #799:修正边界情况,并补充相关文档与更清晰的日志信息。
- 修复 #798:将控制台、命令及命令方块视为可信命令来源。
- 修复单人游戏/局域网模式下的严重问题:客户端与服务端NPC共用同一注册表。
- 修复配置菜单处理过程中的内存泄漏问题,并新增超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查询失败后无法恢复的问题,避免服务器响应缓慢导致游戏卡死。
- 修复URL皮肤界面在检查远程图像时冻结游戏的问题;现该检查已在后台运行。
- 新增“世界刷怪箱”方块,可在全维度范围内统一限制某一NPC预设的生成数量;原有“群组刷怪箱”现按维度分别计数,因此远距离NPC不再影响其触发。
- 强化远程皮肤下载机制:增加严格的尺寸限制与安全重定向处理,防止因超大或恶意皮肤URL引发崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,且按维度分组发送。
7.0.0
- 修复 #791:新增“流浪商人”NPC类型。
- 修复 #788:扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、劫掠者、女巫)。
- 修复 #787、#531、#237 和 #184:新增派系系统,支持
/easy_npc faction命令、逐个NPC分配派系、以及自动同步记分板队伍。 - 修复 #787、#771 和 #572:新增“目标”目标选项卡,支持攻击敌对阵营或指定目标(按玩家名、队伍、实体标签或UUID)。
- 修复 #786:为方块宝可梦(Cobblemon)NPC新增性别与异色模型变体,可在模型选择中通过关键词
female或shiny搜索。 - 修复无敌NPC之间派系战斗失效问题:新增“可被派系攻击”战斗属性。
- 修复方块宝可梦模型预览对超大体型物种显示异常的问题:改用方块宝可梦自身档案缩放比例而非碰撞箱高度进行缩放。
- 修复派系管理边界情况:校验派系名称、排序派系列表,并在修改派系颜色或删除派系后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型单独加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“可被玩家/怪物/派系攻击”战斗属性:使其独立于“无敌”属性运行,各自为对应攻击者群体开放专属漏洞。
- 改进预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出与功能专用组件。
- 新增Easy Model Entities支持。
- 新增派系管理器与派系编辑器界面,用于创建、染色、删除派系及管理敌对关系,并由新设安全特性
FACTION_MANAGEMENT进行保护。 - 新增“杂项”属性选项卡,作为NPC派系分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示与悬浮工具提示。
- 新增针对派系、目标目标及方块宝可梦模型变体的单元测试与游戏测试。
6.25.0
- 修复 #780:为远程纹理下载增加额外缓存与优化。
- 修复 #767:为属性滑块增加防护机制,防止其他模组输入天文数字级数值。
- 修复 #754:为带操作与条件的NPC新增自定义数据物品匹配功能。
- 修复纹理管理器在错误线程中运行可能导致 >= 1.21.x 版本崩溃与死锁的问题。
- 修复动作条件为空UUID导致意外行为的问题。
- 修复动作执行次数限制重置问题。
- 新增纹理注册队列,避免同一次刻(tick)内多次并发下载。
- 新增NPC金币、金钥匙与红令牌作为消耗品,供带操作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,含自定义金币、金钥匙与红令牌作为示例物品,并附带适用于动作与条件的新物品数据。
- 新增通用防护机制,防止其他模组输入天文数字级数值影响属性。
- 将备用最大生命值上限从1024提升至4096,以支持更复杂的NPC。
- 改进纹理管理器,消除重复的纹理检查与注册。
6.24.0
- 修复 #459、#775:新增选项以阻止与隐形NPC的交互。
- 修复 #774:解决可选史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射相关的启动崩溃。
- 修复 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机:正确提升内部刻度计。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、刻度计处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,含昼夜时间与天气条件。
6.23.0
- 修复 #772:调整纹理重试机制,针对403与404错误降低日志输出等级。
- 修复 #770:改进史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:解决NPC开门/关门不可靠的门循环问题。
- 修复 #760:新增对话框选项与配置设置(buttonConditionMode: LOCK 或 HIDE),用于锁定或隐藏不可用的条件按钮。
- 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入。
- 修复NPC重命名未指定颜色时姓名颜色被重置的问题:保留原有姓名颜色。
- 改进门移动属性:当启用“开门”或“关门”时,“穿门”自动启用。
6.22.0
- 修复 #766:向命令执行传递完整的服务器玩家上下文,以提升与依赖特定玩家数据的第三方模组及插件兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并添加示例NPC预设“格鲁克,陪练木桩”演示这些条件的使用。
- 修复 #763:确保对话框按钮执行次数限制现在会被记录。
- 修复 #758:新增名为“一愿相伴”的示例NPC预设。
- 修复第三方村民AI读取Easy NPC村民未注册脑部记忆(如PoiCompetitorScan / job_site)引发的崩溃问题 #756。
- 修复对话框按钮在服务端数据下未被锁定的问题,为 #760 与 #644 做准备。
- 修复 #628:新增条件式对话框开启支持/命令,以更精准控制对话框向玩家展示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑部AI,并注册完整原版脑部记忆集合。
- 为枪械标签新增更多枪械,以支持 #757。
- 新增“条件式开启对话框”动作:仅在满足条件时开启指定名称的对话框;而原有“开启对话框”动作仍无条件开启。
- 新增适用于动作、对话框及对话框按钮的实体生命值与NPC生命值条件。
- 将猪灵、猪灵蛮兵与僵尸猪灵NPC设为无敌,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末地水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,使其主题归属更合理(此前位于能力界面)。
6.21.0
- 修复交叉手臂姿势下卫道士的物品附着问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染所引发的崩溃问题 #756。
- 修复第三方混入(Mixin)尝试访问不存在模型部件所引发的崩溃问题 #756。
- 修复日志信息(log.info)泛滥问题:降低日志详细程度,并为自定义模型部件增加额外校验。
- 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标所引发的崩溃问题。
6.19.0
注意:本次更新将对话框背景图片尺寸调整为每边增加10×6像素,若您使用自定义对话框背景,则可能需要相应调整。
- 修复 #752、#130:新增对话框按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:允许为对话框、对话框按钮及交互添加条件。
- 修复对话框界面布局与背景相关的较小UI问题。
- 重构对话框背景图片,每边增加10×6像素。
- 重构对话框界面布局,以适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,用于指示对话框、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守卫者”,含多种条件与动作。
- 新增较小的与对话框条件及按钮状态相关的Bug修复与优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(未存储ID者)被重置或移除。
- 修复 #745:为动作新增条件支持,实现更复杂、动态的行为。
- 修复 #652:为较长文本的对话框按钮新增工具提示支持。
- 修复 #687:为命令值新增工具提示,以显示完整值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品栏内有某物品的条件。
- 新增主手与副手持有某物品的条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增含多种条件与动作的示例NPC预设“金宝石矿石”。
- 新增否定条件支持,允许对条件取反以实现更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多类型的条件。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 通过减少启动及游戏过程中
log.info消息,实现更详尽的日志记录。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:提供选项以禁用对话框的ESC键与关闭按钮。
- 修复 #723:避免在交易界面等特定情况下自动关闭对话框。
- 新增通用对话框配置选项,允许用户自定义对话框行为。
- 新增头像缩放与位置偏移选项,用于对话框。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗(Epic Fight)集成并启用实验性功能。
- 修复 #729:确保交易使用次数被正确保存。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特定边界情况:在基础交易模式与常规/高级交易模式间切换。
- 修复对话框按钮文字被截断问题,完整文字将以工具提示显示。
- 修复方块宝可梦动画问题:通过同步动画状态至方块宝可梦动画系统解决。
- 新增逐个交易专属动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置所有交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里斯尔达·磨石”,含动作支持。
- 清理测试文件。
6.14.0(方块宝可梦支持与对话框改进)
- 修复 #727:确保值变更时能同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础方块宝可梦支持,含方块宝可梦NPC。
- 修复对话框错位与导航问题:通过调整对话框精灵图与界面解决。
- 修复X轴与Z轴根旋转问题:修正旋转逻辑与枢轴计算。
- 新增基础方块宝可梦支持,含用于测试的自定义NPC类型与模型。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限管理。
其中包含可执行服务端命令的功能,若被恶意利用则可能存在风险。
本次更新将模型根数据与逻辑与其他模型部件的数据与逻辑分离,因此可能导致现有NPC的根旋转与缩放重置为默认值。
- 修复 #725:将模型根数据与逻辑与其他模型部件的数据与逻辑分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话框与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂碰撞箱与姓名标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防止潜在漏洞利用,确保多人游戏环境下的安全使用。
- 将动态对话框界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的LuckPerms集成(如 #712)做权限系统准备。
- 与配置界面渲染及资源相关的通用代码清理与优化。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外校验。
- 修复 #713:通过将每个NPC的INFO级别日志降级为DEBUG级别,并整合冗余警告消息,降低日志详细程度。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT校验防护机制,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入(Mixin)中的一致使用。
- 通过增强过滤逻辑与优化数据结构,改进RenderEntityTypeSupportConfig,以提升性能与可维护性。
- 移除转储大型数据结构的冗长调试日志。
6.11.0
- 修复 #703:解决新自定义图层系统与手持物品渲染的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置被修改后无法正常工作的问题。
- 修复头部追踪:将玩家检测移回仅服务端执行。
- 修复CustomLookAtPlayerGoal,以更好处理边界情况并减少抖动。
- 修复多普勒NPC持续保留手持物品的问题。
- 改进PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 修复 #695:切换至
DEFAULT原版姿势时,清除模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时,才应用锁定旋转与姿势动画。
- 修复 #695:修正根旋转枢轴,使用实际包围盒高度而非固定值0.5f。
- 修复多个目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、以及离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定ROOT旋转;根旋转锁定现由用户控制。
- 在高级与自定义姿势配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型特有姿势键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿势。
- 修复 #597:新增更多逃离目标(玩家、村民、怪物等)的逃离目标。
- 修复姿势加载:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC的问题:先检查是否存在已有注册项。 - 新增
despawn与spawn命令,支持通过UUID移除与重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿势与管理NPC。 - 新增所有支持NPC类型对应的姿势数据文件。
- 在基础姿势配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,用于在执行回调动作前将NPC移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,以尊重锁定的根旋转。 - 新增同步的所有者变更与维度变更至NPC实体数据索引。
- 新增
EasyNPCItemAttachmentLayer至多种实体渲染器。 - 新增专用“逃离目标”配置选项卡,含针对苦力怕、怪物、生物、玩家、村民及太阳的逃离目标。
- 新增
FOLLOW_ITEM目标至跟随目标选项卡,使NPC可根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在查看目标界面中启用“按UUID查看实体”与“查看所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如弩箭充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫NPC,以丰富驯服环境音效。 - 将周期性NPC保存操作的日志详细程度从INFO降至DEBUG。
6.8.3
- 修复 #680:通过升级网络协议版本强制执行版本不匹配检查。
- 修复 #679:重置姓名标签的位置、旋转与大小。
- 修复 #665:为根旋转新增多状态滑动支持。
- 修复 #664:新增禁用跟随鼠标光标选项,便于姿势调整。
- 修复 #663:改进X轴与Z轴根旋转支持。
- 修复 #661:新增NPC魔杖配合潜行快捷旋转功能,使NPC根部朝向玩家。
- 修复移动工具错误触发交
... [内容过长已截断]
Easy NPC (Bundle) 7.2.0
on 2026 Jul 15Easy NPC(1.20.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
如需查看完整变更记录,请访问 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及所有NPC数据!
更多详情请参阅 [升级指南][upgrade_guide]。
7.2.0
- 通过为NPC、对话框与操作分别组合生成UUID,修复了#801问题,避免操作追踪与执行次数限制发生冲突。
7.1.1
- 通过延迟加载实体类型,修复了#800问题。
7.1.0
- 修复#799:修正边界情况,并补充说明文档与更清晰的日志信息。
- 修复#798:将控制台、命令与命令方块视为可信命令来源。
- 修复一项关键的单人游戏/局域网问题:客户端与服务端NPC共享同一注册表。
- 修复配置菜单处理中的内存泄漏,并增加超时与断开连接后的清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查询在出错后失效的问题,使响应缓慢的服务器不再导致游戏卡死。
- 修复URL皮肤界面在检查远程图片时冻结游戏的问题;现该检查已在后台运行。
- 新增“世界刷怪箱”方块,可将NPC预设限制于整个世界(所有维度);原有“群组刷怪箱”现按维度单独计数,避免远处NPC阻塞其功能。
- 强化远程皮肤下载安全性:严格限制文件大小、安全处理重定向,防止因过大或恶意皮肤URL引发崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组处理。
7.0.0
- 修复#791:新增流浪商人NPC类型。
- 修复#788:扩展AI防护机制,覆盖[EF]史诗战斗及原始NPC变体(猪灵、村民、末影人、苦力怕、劫持者与女巫)。
- 修复#787、#531、#237与#184:新增派系系统,支持
/easy_npc faction命令、逐NPC派系分配及自动同步记分板队伍。 - 修复#787、#771与#572:新增“目标”目标选项卡,支持按玩家名称、队伍、实体标签或UUID攻击敌对阵营或特定目标。
- 修复#786:为方块宝可梦NPC新增性别与异色模型变体,可在模型选择中通过关键词
female或shiny搜索。 - 修复无敌NPC之间的派系战斗问题:新增“派系可攻击”战斗属性。
- 修复方块宝可梦模型预览对超大体型物种显示异常的问题:改用方块宝可梦自身的角色缩放比例,而非碰撞箱高度进行缩放。
- 修复派系管理边界情况:校验派系名称、排序派系列表,并在派系颜色更改或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型分别加载与清除纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“玩家/怪物/派系可攻击”战斗属性:使其各自独立于“铁布衫”属性运作,分别为对应攻击者群体单独开放针对性漏洞。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专用组件。
- 新增Easy Model Entities支持。
- 新增派系管理器与派系编辑器界面,用于创建、着色、删除派系及管理敌对关系,并受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性选项卡,作为NPC派系分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及工具提示。
- 新增针对派系、目标目标及方块宝可梦模型变体的单元测试与游戏测试。
6.25.0
- 修复#780:为远程纹理下载增加额外缓存与优化。
- 修复#767:为属性滑块增加防护机制,防止其他模组传入天文数字级数值。
- 修复#754:为含操作与条件的NPC新增自定义数据物品匹配功能。
- 修复纹理管理器在错误线程中运行可能在≥1.21.x版本中引发崩溃与死锁的问题。
- 修复动作条件为空UUID导致意外行为的问题。
- 修复动作执行次数限制重置问题。
- 新增纹理注册队列,避免同一次刻内多次并发下载。
- 新增NPC金币、金钥匙与红令牌作为含操作与条件NPC的消耗性物品。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、金钥匙与红令牌等示例物品,以及适用于动作与条件的新物品数据。
- 新增通用防护机制,防止其他模组传入天文数字级数值影响属性。
- 将后备最大生命值从1024提升至4096,以支持更复杂的NPC。
- 改进纹理管理器,消除重复的纹理检查与注册。
6.24.0
- 修复#459、#775:新增选项,禁止与隐形NPC交互。
- 修复#774:与可选的[EF]史诗战斗及方块宝可梦实体类型映射相关的启动崩溃问题。
- 修复#773:在基础刻中检查限时交易重置,并于打开交易界面前完成检查。
- 修复交易重置时机问题:正确提升内部刻度计。
- 为#459新增昼夜时间与天气条件支持。
- 新增针对交易重置、刻度计处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,支持昼夜时间与天气条件。
6.23.0
- 修复#772:调整纹理重试机制,适配403与404错误,并降低日志输出等级。
- 修复#770:改进[EF]史诗战斗NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染。
- 修复#769:NPC开门/关门循环问题,确保门可靠开关。
- 修复#760:新增对话框按钮选项及配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件按钮。 - 修复#709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制输入。
- 修复NPC重命名时未指定颜色导致姓名颜色被重置的问题:保留原有姓名颜色。
- 改进门移动属性:“穿门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 修复#766:向命令执行传递完整的服务器玩家上下文,提升与依赖特定玩家数据的第三方模组及插件兼容性。
- 修复#764:新增实体生命值、NPC生命值条件,以及示例NPC预设
格鲁克——陪练桩,演示此类条件用法。 - 修复#763:确保对话框按钮执行次数限制现在会被记录。
- 修复#758:新增名为
一愿随行者的示例NPC预设。 - 修复第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)引发的崩溃问题#756。
- 修复对话框按钮在服务端数据下未被锁定的问题,为#760与#644做准备。
- 修复#628:新增条件式对话框开启支持/命令,实现对对话框向玩家展示时机的精细控制。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册全部原版脑记忆集合。
- 为枪械标签新增更多枪械,以支持#757。
- 新增“条件式开启对话框”动作:仅当满足条件时才开启指定名称的对话框;原有“开启对话框”动作仍保持无条件开启。
- 新增实体生命值与NPC生命值条件,支持动作、对话框及对话框按钮。
- 新增猪灵、猪灵蛮兵与僵尸猪灵NPC的无敌状态,与其他NPC保持一致。
- 新增“击退免疫”战斗属性:防止NPC被近战或投射物攻击击退。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(例如TNT、苦力怕、末地水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,更符合主题逻辑(此前位于能力界面)。
6.21.0
- 修复交叉手臂姿势下卫道士的物品附着问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染引发的崩溃问题#756。
- 修复第三方混入尝试访问不存在模型部件引发的崩溃问题#756。
- 修复
log.info信息泛滥问题:降低日志冗余度,并增加对自定义模型部件的额外校验。 - 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标引发的崩溃问题。
6.19.0
注意:本次更新将对话框背景图片尺寸调整为每边增加10×6像素,若您使用自定义对话框背景,可能需要相应调整。
- 修复#752、#130:新增对话框按钮条件支持,允许禁用按钮。
- 修复#683、#215:新增对话框文本打字机效果支持。
- 修复#690、#309:支持对话框、对话框按钮及交互的条件判断。
- 修复对话框界面布局与背景相关的小型UI问题。
- 重构对话框背景图片:每边增加10×6像素。
- 重构对话框界面布局,以更好适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端对话框文本配置。
- 新增条件符号,直观指示对话框、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设
阈值守卫者,涵盖多种条件与动作。 - 新增小型BUG修复与针对对话框条件及按钮状态的优化。
6.18.0
注意:本次更新变更了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(未存储ID者)被重置或移除。
- 修复#745:新增动作条件支持,实现更复杂、动态的行为。
- 修复#652:新增对话框按钮工具提示,支持长文本显示。
- 修复#687:新增命令值工具提示,完整显示命令值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品栏持有物品条件。
- 新增手持物品条件(支持主手与副手)。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设
金宝石矿石,涵盖多种条件与动作。 - 新增否定条件支持,允许对条件取反,实现更复杂的逻辑。
- 移除
ActionDataEntry参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复#738:为“以玩家身份执行”新增额外工具提示。
- 通过减少启动及游戏中
log.info消息,优化详细日志输出。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复#732:新增选项,禁用对话框的ESC键与关闭按钮。
- 修复#723:在交易界面等特定情况下避免自动关闭。
- 新增通用对话框配置选项,允许用户自定义对话框行为。
- 新增头像缩放与位置偏移选项,用于对话框。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、[EF]史诗战斗与体验优化更新)
- 修复#731:若客户端物种列表为空,则重新同步物种数据。
- 修复#730:改进[EF]史诗战斗集成,并启用实验性功能。
- 修复#729:确保交易使用次数被正确存储。
- 修复#728:新增玩家头颅的自定义头颅支持。
- 修复#689:显示剩余交易次数,并支持手动与自动重置。
- 修复#218与#132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特定边界情况:在基础交易模式与普通/高级交易模式间切换。
- 修复对话框按钮文字被截断问题,工具提示显示完整文本。
- 修复方块宝可梦动画问题:同步动画状态至方块宝可梦动画系统。
- 新增逐笔交易专属动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人
格里塞尔达·磨石,配备动作。 - 清理测试文件。
6.14.0(方块宝可梦支持与对话框改进)
- 修复#727:确保值变更时同步至客户端。
- 修复#726:为特定命令新增额外白名单。
- 修复#686、#389、#304、#211:新增基础方块宝可梦支持,含方块宝可梦NPC。
- 修复对话框错位与导航问题:调整对话框精灵图与界面。
- 修复X轴与Z轴根旋转:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦支持:含自定义NPC类型与模型,用于测试。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限控制。
允许执行服务端命令,但若被恶意利用可能带来风险。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 修复#725:将模型根部数据与逻辑从其余模型部件数据与逻辑中分离。
- 修复#722:支持
.sbnt文件作为本地预设。 - 修复#675:为对话框与配置界面背景新增专用资源。
- 修复#605、#532、#529:新增安全检查与权限系统。
- 修复#469、#311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂碰撞箱与名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防范潜在漏洞,保障多人游戏环境安全使用。
- 将动态对话框界面背景替换为静态背景,以提升性能、定制性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的LuckPerms集成(如#712)准备权限系统。
- 针对配置界面渲染与资源进行通用代码清理与优化。
6.12.0
- 修复#714:基于原版模型,新增对自定义模型部件列表的额外校验。
- 修复#713:降低日志冗余度:将每NPC的INFO级别消息降级为DEBUG,并合并冗余警告消息。
- 修复#711:减少启动/配置日志输出量。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入代码中的一致使用。
- 通过增强过滤逻辑与优化数据结构,改进RenderEntityTypeSupportConfig,提升性能与可维护性。
- 移除转储大型数据结构的冗长调试日志。
6.11.0
- 修复#703:解决新自定义图层系统与手持物品渲染的渲染问题。
- 修复#701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 修复头部追踪:将玩家检测移回服务端独占处理。
- 修复CustomLookAtPlayerGoal,更好地处理边界情况并减少抖动。
- 修复多普勒NPC持续持有手持物品的问题。
- 改进PoseManager日志消息。
- 更新Logo,采用新设计。
6.10.0
- 修复#695:切换至
DEFAULT原版姿势时,清空模型部件的旋转/位置。 - 修复#695:仅当NPC处于空闲状态时,应用旋转锁定与姿势动画。
- 修复#695:修正根部旋转枢轴点,使用实际包围盒高度而非固定0.5f。
- 修复多项目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺失的玩家目标刷新,以及离线目标重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定ROOT旋转;根部锁定现由用户自主控制。
- 在高级与自定义姿势配置界面中新增旋转锁定复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型特定姿势键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 修复#692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复#651、#617:为所有支持的NPC类型新增基础自定义姿势。
- 修复#597:新增面向玩家、村民、怪物等的额外逃亡目标。
- 修复姿势加载逻辑:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC的问题:首次检查是否存在注册表条目。 - 新增
despawn与spawn命令,支持通过UUID移除与重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,支持外部模组以编程方式控制NPC姿势及管理NPC。 - 新增所有支持NPC类型对应的姿势数据文件。
- 在基础姿势配置界面中新增旋转锁定复选框。
- 新增
MoveToPositionGoal,使NPC先移动至指定位置,再执行回调动作。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根部旋转。 - 新增同步的所有者变更与维度变更至NPC实体数据索引。
- 新增EasyNPCItemAttachmentLayer至各类实体渲染器。
- 新增专用“逃亡目标”配置选项卡,支持逃离苦力怕、怪物、生物、玩家、村民及太阳的目标。
- 新增
FOLLOW_ITEM目标至跟随目标选项卡,使NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”界面中启用“按UUID注视实体”与“注视所有者”目标。 - 新增
persistent标志至SynchedDataIndex,使瞬态索引(如弩箭充能、模型动画)不再触发脏保存标记。 - 新增可配置的
customParticlesEnabled标志至SlimeBase,供API使用者调用。 - 新增
SoundType.PET,并将CAT_PURR映射至猫NPC,丰富驯服环境音效。 - 将周期性NPC保存操作的日志冗余度从INFO降至DEBUG。
6.8.3
- 修复#680:通过升级网络协议版本强制版本不匹配。
- 修复#679:重置名称标签的位置、旋转与尺寸。
- 修复#665:为根部旋转新增多状态滑动支持。
- 修复#664:新增禁用鼠标光标跟随选项,简化姿势调整。
- 修复#663:增强X轴与Z轴根部旋转支持。
- 修复#661:新增NPC魔杖快速旋转功能:潜行状态下对NPC使用魔杖,使其根部朝向玩家旋转。
- 修复移动工具错误触发交互:在交互处理器中增加移动工具检测。
- 修复预设物品错误触发交互:在交互处理器中增加预设物品检测。
- 修复史莱姆与恶魂碰撞箱及名称标签位置问题:调整包围盒与眼高计算。
- 修复史莱姆与恶魂GUI位置问题:调整偏移值。
6.8.2
- 修复#677:扩展
SafeMerchantData,新增notifyTrade方法以避免崩溃。 - 新增进度数据支持,依据玩家互动与动作为NPC升级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增`OriginalModelConfig.withVar
... [内容过长已截断]
Easy NPC (Bundle) 7.1.1
on 2026 Jul 14Easy NPC:核心版(1.21.1)更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
7.1.1
- 通过延迟加载实体类型修复了 #800 问题。
- 通过修复边界情况并补充文档与更清晰的日志信息,修复了 #799 问题。
- 将控制台、命令及命令方块视为可信命令来源,修复了 #798 问题。
- 修复了一个严重的单人游戏/局域网问题:客户端与服务端的NPC共享同一注册表。
- 修复了配置菜单处理中的内存泄漏,并增加了超时与断开连接后的清理机制。
- 修复了多个NPC同时请求同一皮肤时重复下载的问题。
- 修复了皮肤查询在出错后失败的问题,避免因服务器响应缓慢而冻结游戏。
- 修复了URL皮肤界面在检查远程图片时导致游戏冻结的问题;现该检查将在后台运行。
- 新增“世界生成器”方块,可在整个世界(所有维度)范围内限制某一NPC预设的生成数量;原有“群组生成器”现按维度分别计数,因此远距离的NPC不再影响其生成。
- 加强远程皮肤下载的安全性:严格限制文件大小、安全处理重定向,防止因过大或恶意皮肤URL导致崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 通过添加流浪商人NPC类型修复了 #791 问题。
- 扩展AI防护机制以覆盖Epic Fight模组及原始NPC变体(猪灵、村民、末影人、苦力怕、掠夺者与女巫),修复了 #788 问题。
- 通过添加派系系统(含
/easy_npc faction命令)、逐NPC派系分配及自动记分板队伍同步,修复了 #787、#531、#237 和 #184 问题。 - 通过新增“目标”目标选项卡(支持攻击敌对派系或指定目标——包括玩家名称、队伍、实体标签或UUID),修复了 #787、#771 和 #572 问题。
- 为 Cobblemon NPC 添加性别与闪亮模型变体,并可在模型选择中通过关键词
female或shiny搜索,修复了 #786 问题。 - 新增“派系可攻击”战斗属性,修复了无敌NPC之间无法进行派系战斗的问题。
- 调整 Cobblemon 模型选择预览逻辑:针对体型过大的物种,改用 Cobblemon 自身的角色缩放比例而非碰撞箱高度进行缩放。
- 通过验证派系名称、排序派系列表、并在派系颜色更改或删除后刷新已加载NPC的记分板分配,修复了派系管理的边界情况。
- 优化自定义皮肤重载机制:改为按皮肤模型单独加载与清除纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“玩家/怪物/派系可攻击”战斗属性:使其独立于“无敌”属性运作,各自为对应的攻击者群体开放特定攻击通道。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专属组件。
- 新增 Easy Model Entities 支持。
- 新增派系管理器与派系编辑器界面,用于创建、着色、删除派系及管理敌对关系;受新增安全特性
FACTION_MANAGEMENT保护。 - 新增“杂项”属性选项卡,作为NPC派系分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬浮工具提示。
- 为派系、目标目标及 Cobblemon 模型变体新增单元测试与游戏测试。
6.25.0
- 在验证过程中保留数据组件,修复了 #782、#636 和 #622 问题。
- 通过缓存远程纹理下载并减少重复注册,修复了 #780 问题。
- 通过限制属性滑块取值范围,防止其他模组传入极端数值,修复了 #767 问题。
- 为具有动作与条件的NPC添加自定义数据物品匹配功能,修复了 #754 问题。
- 修复了纹理管理器在错误线程中运行可能导致 >=1.21.x 版本崩溃与死锁的问题。
- 修复了动作条件中空UUID的处理问题。
- 修复了动作执行次数限制的重置逻辑。
- 新增纹理注册队列,避免同一次刻内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供具有动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌物品数据。
- 新增防护机制,防止其他模组传入极端属性值。
- 将备用最大生命值上限由1024提升至4096,适配高生命值NPC。
- 优化纹理管理器:减少重复纹理检查与注册。
6.24.0
- 新增屏蔽与不可见NPC交互的选项,修复了 #459 和 #775 问题。
- 修复了因可选Epic Fight与Cobblemon实体类型映射引发的启动崩溃(#774)。
- 在基础刻度期间及打开交易界面前检查限时交易重置,修复了 #773 问题。
- 通过正确增加内部计时器,修复了交易重置时机问题。
- 为 #459 新增昼夜时间与天气条件支持。
- 为交易重置、计时器处理及实体属性新增单元测试与游戏测试。
- 新增示例NPC预设“天穹哨兵”,支持昼夜时间与天气条件。
6.23.0
- 针对403与404错误调整纹理重试机制并降低日志级别,修复了 #772 问题。
- 修复了Epic Fight NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染问题(#770)。
- 修复了NPC开门关门不可靠导致的门循环问题(#769)。
- 新增对话按钮启用模式(
buttonConditionMode: LOCK或HIDE)配置选项,支持锁定或隐藏不可用的条件式对话按钮,修复了 #760 问题。 - 新增姓名颜色选择弹窗(含32种预设色及手动RGB/十六进制输入),修复了 #709 问题。
- 修复了未指定颜色时重命名NPC会导致姓名颜色重置的问题,现会保留原有颜色。
- 优化门移动属性:当启用“开门”或“关门”时,“穿门”将自动启用。
6.22.0
- 向命令执行传递完整的服务器玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性,修复了 #766 问题。
- 新增实体生命值、NPC生命值条件及示例NPC预设“格鲁克——陪练木桩”,修复了 #764 问题。
- 确保对话按钮执行次数限制被准确记录,修复了 #763 问题。
- 提供名为“一愿伴侣”的示例NPC预设,修复了 #758 问题。
- 修复了第三方村民AI读取Easy NPC村民未注册脑部记忆(如PoiCompetitorScan / job_site)导致的崩溃(#756)。
- 为 #760 与 #644 做准备,修复了服务端数据下对话按钮未锁定的问题。
- 新增条件式对话开启支持/命令,更精细地控制对话向玩家展示的时机,修复了 #628 问题。
- 为猪灵与猪灵蛮兵NPC添加脑部AI,并注册全部原版脑部记忆集合。
- 为枪械标签(gun tag)新增若干枪械,以支持 #757。
- 新增“条件式开启对话”动作:仅当满足条件时才开启指定名称的对话;原有“开启对话”动作保持无条件开启。
- 新增适用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC添加无敌属性,与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战或投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(例如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,更符合主题分类(此前位于能力界面)。
6.21.0
- 修复了交叉手臂姿态下劫掠者类生物的物品附着问题。
- 修复了劫掠者类生物损坏的弩箭攻击目标。
- 修复了因第三方物品无法作为手持物品渲染导致的崩溃(#756)。
- 修复了第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃(#756)。
- 通过降低日志冗余度并增加自定义模型部件检查,减少
log.info垃圾信息。 - 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复了第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话背景图尺寸调整为每边增加10×6像素,若您使用自定义对话背景,请相应调整。
- 新增对话按钮条件支持,允许禁用按钮,修复了 #752 和 #130 问题。
- 新增对话文本打字机效果支持,修复了 #683 和 #215 问题。
- 允许对话、对话按钮及交互动作添加条件,修复了 #690 和 #309 问题。
- 修复了对话界面布局与背景相关的较小UI问题。
- 将对话背景图每边重构为增加10×6像素。
- 重构对话界面布局,以更好适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,直观显示对话、按钮及交互动作的条件状态。
- 新增物品条件的数量字段,支持检测特定数量的物品。
- 新增示例NPC预设“阈限守望者”,包含多种条件与动作。
- 新增小型BUG修复与优化,聚焦于对话条件及按钮状态。
6.18.0
注意:本次更新变更了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(无存储ID者)被重置或移除。
- 新增动作条件支持,实现更复杂、动态的行为逻辑,修复了 #745 问题。
- 新增对话按钮长文本提示框,修复了 #652 问题。
- 新增命令值提示框,完整显示命令值,修复了 #687 问题。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增“物品栏中存在物品”条件。
- 新增“手持物品”条件(支持主手与副手)。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设“黄金默尔”,含多种条件与动作。
- 新增否定条件支持,便于构建更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 为“以玩家身份执行”新增额外提示框,修复了 #738 问题。
- 通过减少启动及游戏中
log.info消息,优化详细日志输出。 - 新增单元测试与游戏测试。
6.16.0
- 新增选项,禁用对话界面的ESC键与关闭按钮,修复了 #732 问题。
- 在特定场景(如交易界面)避免自动关闭,修复了 #723 问题。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 补充缺失的本地化键值。
6.15.0(交易、玩家头颅、Epic Fight 及体验优化更新)
- 若客户端物种列表为空,则重新同步物种数据,修复了 #731 问题。
- 改进Epic Fight集成并启用实验性功能,修复了 #730 问题。
- 确保交易使用次数被正确存储,修复了 #729 问题。
- 新增玩家头颅的自定义头颅支持,修复了 #728 问题。
- 显示剩余交易次数,并支持手动与自动重置,修复了 #689 问题。
- 新增交易配置界面并增强自定义交易支持,修复了 #218 和 #132 问题。
- 通过切换基础/常规/高级交易模式,修复交易相关边界情况。
- 修复对话按钮文字截断问题,完整文字可通过提示框查看。
- 通过同步动画状态至Cobblemon动画系统,修复Cobblemon动画问题。
- 新增按交易定制的动作,允许用户在购买后触发动作。
- 新增交易重置按钮,一键重置全部交易。
- 在交易配置界面新增交易使用信息。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,含动作支持。
- 清理测试文件。
6.14.0
- 确保修改值时同步至客户端,修复了 #727 问题。
- 新增特定命令白名单,修复了 #726 问题。
- 新增基础Cobblemon支持(含Cobblemon NPC),修复了 #686、#389、#304 和 #211 问题。
- 通过调整对话精灵图与界面,修复对话错位与导航问题。
- 修正X轴与Z轴根旋转逻辑及枢轴计算,修复旋转问题。
- 新增基础Cobblemon支持(含自定义NPC类型与模型),用于测试。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限管理。部分服务端命令若被恶意利用可能造成危险。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,可能导致现有NPC的根旋转与缩放重置为默认值。
- 将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,修复了 #725 问题。
- 支持
.sbnt文件作为本地预设,修复了 #722 问题。 - 为对话与配置界面背景新增专用资源,修复了 #675 问题。
- 新增安全检查与权限系统,修复了 #605、#532 和 #529 问题。
- 新增实验性API文档与自定义模型支持示例,修复了 #469 和 #311 问题。
- 通过移除冗余背景渲染,修复配置界面背景重复渲染问题。
- 通过调整包围盒,修复了恶魂与史莱姆的碰撞箱及名称标签位置问题。
- ⚠️ 新增安全检查,防范潜在漏洞,确保多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能集成Luck Perms(如 #712)做权限系统准备。
- 通用代码清理与优化,聚焦于配置界面渲染与资源。
6.12.0
- 基于原版模型,新增自定义模型部件列表校验,修复了 #714 问题。
- 将每NPC的
INFO日志级别降级为DEBUG并合并冗余警告消息,降低日志冗余度,修复了 #713 问题。 - 减少启动/配置日志输出量,修复了 #711 问题。
- 优化NBT验证防护,防止生产环境中不必要的缓冲区分配。
- 在 EasyNPCModelManager 中新增模型部件名称常量,确保混入(Mixin)中的一致使用。
- 优化
RenderEntityTypeSupportConfig:增强过滤逻辑,优化数据结构以提升性能与可维护性。 - 移除转储大型数据结构的冗长调试日志。
6.11.1
- 优化可恢复交易数据的向后兼容解析,修复了 #710 问题。
6.11.0
- 修复新自定义图层系统与手持渲染导致的渲染问题(#703)。
- 新增额外防护与日志记录,防范无效交易报价,修复了 #701 问题。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 将玩家检测逻辑移回服务端,修复头部追踪问题。
- 优化
CustomLookAtPlayerGoal,更好处理边界情况并减少抖动。 - 修复多普勒NPC持续持有手中物品的问题。
- 优化
PoseManager日志信息。 - 更新Logo为新设计。
6.10.0
- 为第三方实体创建添加
try-catch保护,修复了 #698 问题。 - 切换至
DEFAULT原版姿态时,清空模型部件旋转/位置,修复了 #695 问题。 - 仅当NPC处于空闲状态时应用锁定旋转与姿态动画,修复了 #695 问题。
- 校正根旋转枢轴,采用实际包围盒高度而非固定值0.5f,修复了 #695 问题。
- 修复多项目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、离线目标重试等。 - 目标注销后清除目标引用残留。
- 移除加载姿态时自动锁定根旋转;根旋转锁定现由用户控制。
- 在高级与自定义姿态配置界面新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型特有姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及 Fabric 与 Forge 的游戏测试。 - 将头部最大偏航角范围由60°提升至65°。
6.9.0
- 新增缓存与防护机制,防止NPC实体数据更新被重复触发,修复了 #692 与 #666 问题。
- 新增所有支持NPC类型的简易自定义姿态,修复了 #651 与 #617 问题。
- 新增针对玩家、村民、怪物等的额外逃跑目标,修复了 #597 问题。
- 优化姿态加载逻辑:直接从模组资源读取,而非复制文件至磁盘。
- 实体加入时,先检查注册表是否存在再调用
saveNPC,修复重复保存问题。 - 新增
despawn与spawn命令,支持按UUID移除与重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿态与管理NPC。 - 新增所有支持NPC类型的姿态数据文件。
- 在基础姿态配置界面新增锁定旋转复选框。
- 新增
MoveToPositionGoal,使NPC移动至指定位置后执行回调动作。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根旋转。 - 新增NPC实体数据索引中的同步所有者变更与维度变更。
- 在各类实体渲染器中新增
EasyNPCItemAttachmentLayer。 - 新增专属“逃跑目标”配置选项卡,支持逃离苦力怕、怪物、生物、玩家、村民及太阳的目标。
- 在跟随目标选项卡中新增
FOLLOW_ITEM目标,使NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在注视目标界面启用“按UUID注视实体”与“注视所有者”目标。 - 为
SynchedDataIndex新增persistent标志,使临时索引(如弩箭充能、模型动画)不再触发脏标记保存。 - 为
SlimeBase新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫形NPC,丰富驯服环境音效。 - 将周期性NPC保存操作的日志级别由
INFO降为DEBUG。
6.8.3
- 升级网络协议版
... [内容过长已截断]
Easy NPC (Bundle) 7.1.1
on 2026 Jul 14Easy NPC(1.20.1)版本更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:升级至新版本前,请务必备份您的世界存档及NPC数据!
更多详细信息请查阅 [升级指南][upgrade_guide]。
7.1.1
- 通过延迟加载实体类型修复了 #800 问题。
7.1.0
- 通过修复边界情况并补充文档与更清晰的日志信息,修复了 #799 问题。
- 将控制台、命令及命令方块视为可信命令来源,修复了 #798 问题。
- 修复了一个关键的单人游戏/局域网问题:客户端与服务端NPC共享同一注册表。
- 修复了配置菜单处理中的内存泄漏,并增加了超时与断开连接清理机制。
- 修复了多个NPC同时请求同一皮肤时重复下载的问题。
- 修复了皮肤查找在出错后失败的问题,避免服务器响应缓慢导致游戏卡顿。
- 修复了URL皮肤界面在检查远程图片时冻结游戏的问题;现改为后台执行检查。
- 新增“世界刷怪箱”方块,可将NPC预设限制在整个世界(所有维度)范围内生效;原有“群组刷怪箱”现按维度独立计数,远离的NPC不再影响其触发。
- 强化远程皮肤下载机制:设置严格的尺寸上限并安全处理重定向,防止因过大或恶意皮肤URL导致崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组处理。
7.0.0
- 新增流浪商人NPC类型,修复了 #791 问题。
- 扩展AI防护机制以兼容Epic Fight模组及原版NPC变体(猪灵、村民、末影人、苦力怕、掠夺者与女巫),修复了 #788 问题。
- 新增阵营系统及
/easy_npc faction命令,支持为每个NPC分配阵营并自动同步记分板队伍,修复了 #787、#531、#237 和 #184 问题。 - 新增“目标”目标页签,支持攻击敌对阵营或按玩家名、队伍、实体标签或UUID指定特定目标,修复了 #787、#771 和 #572 问题。
- 为方块宝可梦NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female或shiny搜索,修复了 #786 问题。 - 新增“可被阵营攻击”战斗属性,修复了无敌NPC间阵营战斗失效的问题。
- 方块宝可梦模型预览对超大体型物种进行缩放适配,采用方块宝可梦自身档案比例而非碰撞箱高度。
- 通过校验阵营名称、排序阵营列表,以及在阵营颜色更改或删除后刷新已加载NPC的记分板分配,修复了阵营管理的边界情况。
- 优化自定义皮肤重载机制:按皮肤模型分别加载与清除纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“可被玩家/怪物/阵营攻击”战斗属性,使其各自独立于“无敌”属性运行,分别为对应攻击者群体开放精准的攻击入口。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专属组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、着色、删除阵营及管理敌对关系,受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性页签,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬浮工具提示。
- 新增针对阵营、目标目标及方块宝可梦模型变体的单元测试与游戏测试。
6.25.0
- 新增远程纹理下载的额外缓存与优化措施,修复了 #780 问题。
- 防护属性滑块免受其他模组异常数值干扰,修复了 #767 问题。
- 新增NPC动作与条件的自定义数据项匹配功能,修复了 #754 问题。
- 修复纹理管理器在错误线程中运行可能引发崩溃与死锁的问题(适用于 ≥ 1.21.x 版本)。
- 修复空UUID导致动作条件产生意外行为的问题。
- 修复动作执行次数限制重置问题。
- 新增纹理注册队列,避免同一刻内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为NPC动作与条件可用的消耗品。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌作为示例物品,以及用于动作与条件的新物品数据。
- 新增通用防护机制,防止其他模组输入异常巨大数值。
- 将后备最大生命值从1024提升至4096,以支持更复杂的NPC。
- 优化纹理管理器,消除重复的纹理检查与注册。
6.24.0
- 新增屏蔽与不可见NPC交互的选项,修复了 #459 与 #775 问题。
- 修复由可选Epic Fight与方块宝可梦实体类型映射引发的启动崩溃,修复了 #774 问题。
- 在基础刻度期间及打开交易界面前检查限时交易重置,修复了 #773 问题。
- 通过正确增加内部计时器,修复交易重置时机问题。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理与实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨卫”,含昼夜时间与天气条件。
6.23.0
- 调整纹理重试策略以应对403与404错误并降低日志等级,修复了 #772 问题。
- 修复Epic Fight NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染问题,修复了 #770 问题。
- 修复NPC开门关门不可靠的门循环问题,修复了 #769 问题。
- 新增对话按钮选项及配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件性对话按钮,修复了 #760 问题。 - 新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入,修复了 #709 问题。
- 修复未指定颜色重命名时NPC姓名颜色被重置的问题,现保留原有颜色。
- 优化门移动属性:“穿门”将在“开门”或“关门”启用时自动激活。
6.22.0
- 向命令执行传递完整服务端玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性,修复了 #766 问题。
- 新增实体生命值、NPC生命值条件及示例NPC预设“格鲁克,陪练桩”,用于演示这些条件的使用,修复了 #764 问题。
- 确保对话按钮执行次数限制已被记录,修复了 #763 问题。
- 新增名为“一愿随行”的示例NPC预设,修复了 #758 问题。
- 修复第三方村民AI读取Easy NPC村民未注册脑部记忆(如PoiCompetitorScan / job_site)导致的崩溃(#756)。
- 为服务端数据对话按钮解锁做准备,修复了对话按钮未锁定问题(为 #760 与 #644 做铺垫)。
- 新增条件性对话开启支持/命令,实现对对话向玩家展示时机的更精细控制,修复了 #628 问题。
- 为猪灵与猪灵蛮兵NPC添加脑部AI,并注册完整的原版脑部记忆集合。
- 为枪械标签新增更多枪械(#757)。
- 新增“开启对话(条件性)”动作:仅当满足条件时才开启指定名称对话;原有“开启对话”动作仍保持无条件开启。
- 新增用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC添加无敌属性,确保与其他NPC行为一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害及位移(如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,主题上更为契合(此前位于能力界面)。
6.21.0
- 修复交叉手臂姿态下劫掠者类生物的物品附着问题。
- 修复劫掠者类生物损坏的弩箭攻击目标。
- 修复第三方物品无法作为手持物品渲染导致的崩溃(#756)。
- 修复第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃(#756)。
- 通过降低日志冗余度并增加对自定义模型部件的额外检查,减少
log.info冗余消息。 - 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话背景图片调整为每边增加10×6像素,若用户使用自定义对话背景,可能需要相应调整。
- 新增对话按钮条件支持,允许禁用按钮,修复了 #752 与 #130 问题。
- 新增对话文本打字机效果支持,修复了 #683 与 #215 问题。
- 允许对话、对话按钮及交互设置条件,修复了 #690 与 #309 问题。
- 修复对话界面布局与背景相关的较小UI问题。
- 重构对话背景图片,每边增加10×6像素。
- 重构对话界面布局,以更好适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,用于指示对话、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守卫者”,含多种条件与动作。
- 新增较小的与对话条件及按钮状态相关的Bug修复与优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(无存储ID)被重置或移除。
- 新增动作条件支持,实现更复杂、动态的行为,修复了 #745 问题。
- 新增对话按钮工具提示以显示较长文本,修复了 #652 问题。
- 新增命令值工具提示以显示完整值,修复了 #687 问题。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增“物品栏中存在物品”条件。
- 新增“手持物品”条件,支持主手与副手。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增含多种条件与动作的示例NPC预设“金宝石矿石”。
- 新增否定条件支持,允许对条件取反以实现更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统以支持更多类型的条件。
6.17.0
- 新增“以玩家身份执行”的额外工具提示,修复了 #738 问题。
- 通过降低启动及游戏内
log.info消息频率,实现更详细的日志输出。 - 新增额外单元测试与游戏测试。
6.16.0
- 新增禁用ESC键与对话关闭按钮的选项,修复了 #732 问题。
- 在交易界面等特定情况下避免自动关闭,修复了 #723 问题。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、Epic Fight及品质优化更新)
- 若客户端物种列表为空,则重新同步物种数据,修复了 #731 问题。
- 改进Epic Fight集成并启用实验性功能,修复了 #730 问题。
- 确保交易使用次数被正确存储,修复了 #729 问题。
- 新增玩家头颅的自定义头颅支持,修复了 #728 问题。
- 显示剩余交易次数,并支持手动与自动重置,修复了 #689 问题。
- 新增交易配置界面并增强对自定义交易的支持,修复了 #218 与 #132 问题。
- 通过切换基础与普通/高级交易模式,修复特定交易边界问题。
- 修复对话按钮文本被截断问题,工具提示显示完整文本。
- 通过与方块宝可梦动画系统同步动画状态,修复方块宝可梦动画问题。
- 新增每笔交易专属动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 在交易配置界面新增交易使用信息。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨刀石”,含动作功能。
- 清理测试文件。
6.14.0(方块宝可梦支持与对话改进)
- 确保值变更时同步至客户端,修复了 #727 问题。
- 新增特定命令的额外白名单,修复了 #726 问题。
- 新增基础方块宝可梦支持(含方块宝可梦NPC),修复了 #686、#389、#304 与 #211 问题。
- 通过调整对话精灵图与界面,修复对话错位与导航问题。
- 修正X轴与Z轴根旋转,校正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦支持,含用于测试的自定义NPC类型与模型。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务端命令若被恶意利用,可能存在潜在风险。
本次更新将模型根部数据与逻辑与其他模型部件数据与逻辑分离,可能导致现有NPC的根旋转与缩放重置为默认值。
- 将模型根部数据与逻辑与其他模型部件数据与逻辑分离,修复了 #725 问题。
- 支持
.sbnt文件作为本地预设,修复了 #722 问题。 - 新增对话与配置界面背景的专用资源,修复了 #675 问题。
- 新增安全检查与权限系统,修复了 #605、#532 与 #529 问题。
- 新增实验性API文档与自定义模型支持示例,修复了 #469 与 #311 问题。
- 通过移除冗余背景渲染,修复配置界面背景重复渲染问题。
- 通过调整包围盒,修复恶魂碰撞箱与姓名标签位置问题。
- ⚠️ 新增安全检查,防止潜在漏洞利用,确保多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)准备权限系统。
- 与配置界面渲染及资源相关的通用代码清理与优化。
6.12.0
- 基于原版模型,新增对自定义模型部件列表的额外检查,修复了 #714 问题。
- 通过将每NPC的INFO级别日志降级为DEBUG级别并合并冗余警告消息,降低日志冗余度,修复了 #713 问题。
- 减少启动/配置日志输出量,修复了 #711 问题。
- 优化NBT验证防护,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入(Mixin)中的一致使用。
- 通过增强过滤逻辑与优化数据结构,提升RenderEntityTypeSupportConfig的性能与可维护性。
- 移除冗长的调试日志(用于转储大型数据结构)。
6.11.0
- 修复新自定义图层系统与手持物品渲染导致的渲染问题(#703)。
- 新增额外防护与日志记录,防止无效交易报价,修复了 #701 问题。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 将玩家检测移回服务端独占处理,修复头部追踪问题。
- 改进CustomLookAtPlayerGoal,更好地处理边界情况并减少抖动。
- 修复多普勒NPC持续持有其手持物品的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 切换至
DEFAULT原版姿态时,清除模型部件旋转/位置,修复了 #695 问题。 - 仅当NPC处于空闲状态时,应用锁定旋转与姿态动画,修复了 #695 问题。
- 校正根旋转枢轴点,使用实际包围盒高度而非固定值0.5f,修复了 #695 问题。
- 修复多项目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新,以及对离线目标的重试机制。 - 目标注销后清除目标引用残留。
- 移除加载姿态时自动锁定根旋转;根旋转锁定现由用户控制。
- 在高级与自定义姿态配置界面新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型特有姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 新增缓存与防护机制,防止NPC实体数据更新被冗余触发,修复了 #692 与 #666 问题。
- 新增所有支持NPC类型的基础自定义姿态,修复了 #651 与 #617 问题。
- 新增针对玩家、村民、怪物等的额外逃离目标,修复了 #597 问题。
- 姿态加载直接从模组资源读取,而非复制文件至磁盘。
- 实体加入时检查已有注册表条目,避免重复调用
saveNPC,修复了 #597 问题。 - 新增
despawn与spawn命令,支持通过UUID移除或重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组编程控制NPC姿态与管理NPC。 - 新增所有支持NPC类型的姿态数据文件。
- 在基础姿态配置界面新增锁定旋转复选框。
- 新增
MoveToPositionGoal,支持NPC在执行回调动作前移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根旋转。 - 在NPC实体数据索引中同步所有者变更与维度变更。
- 在各类实体渲染器中新增 EasyNPCItemAttachmentLayer。
- 新增专用“逃离目标”配置页签,含针对苦力怕、怪物、生物、玩家、村民及太阳的逃离目标。
- 在跟随目标页签中新增
FOLLOW_ITEM目标,支持NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在注视目标界面启用“按UUID注视实体”与“注视所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如弩箭充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫NPC,丰富驯服后的环境音效。 - 将周期性NPC保存操作的日志等级从INFO降至DEBUG。
6.8.3
- 升级网络协议版本以强制版本不匹配,修复了 #680 问题。
- 重置姓名标签的位置、旋转与尺寸,修复了 #679 问题。
- 新增根旋转的多状态滑动支持,修复了 #665 问题。
- 新增禁用跟随鼠标光标选项,便于姿态调整,修复了 #664 问题。
- 改进X轴与Z轴根旋转支持,修复了 #663 问题。
- 新增NPC魔
... [内容过长已截断]
Easy NPC (Bundle) 7.1.1
on 2026 Jul 14Easy NPC(1.20.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详细信息请查阅 [升级指南][upgrade_guide]。
7.1.1
- 通过延迟加载实体类型修复 #800。
7.1.0
- 通过修复边界情况并补充文档与更清晰的日志信息修复 #799。
- 通过将控制台、命令及命令方块视为可信命令来源修复 #798。
- 修复了一个关键的单人游戏/局域网问题:客户端与服务端NPC共享同一注册表。
- 修复了配置菜单处理中的内存泄漏,并添加超时与断开连接清理机制。
- 修复了多个NPC同时请求同一皮肤时出现重复下载的问题。
- 修复了皮肤查询在出错后失败的问题,避免慢速服务器导致游戏卡死。
- 修复了URL皮肤界面在检查远程图片时冻结游戏的问题;现该检查已在后台运行。
- 新增“世界生成器”方块,可在整个世界(所有维度)范围内限制某一NPC预设的生成数量;原有“组生成器”现按维度分别计数,从而避免远距离NPC阻塞生成。
- 强化远程皮肤下载机制:设置严格的尺寸上限并安全处理重定向,防止因过大或恶意皮肤URL引发崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 通过新增流浪商人NPC类型修复 #791。
- 通过将AI防护机制扩展至史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、劫掠者、女巫)修复 #788。
- 通过新增阵营系统(含
/easy_npc faction命令、每NPC阵营分配及自动记分板队伍同步)修复 #787、#531、#237 和 #184。 - 通过新增“目标”目标选项卡(支持攻击敌对阵营或按玩家名、队伍、实体标签、UUID指定特定目标)修复 #787、#771 和 #572。
- 通过为方块宝可梦(Cobblemon)NPC新增性别与闪光模型变体(可在模型选择中搜索
female或shiny)修复 #786。 - 通过新增“阵营可攻击”战斗属性修复无敌NPC之间无法进行阵营战斗的问题。
- 通过改用方块宝可梦自身的角色档案缩放比例(而非碰撞箱高度)缩放超大体型物种的模型预览修复方块宝可梦模型选择预览问题。
- 通过验证阵营名称、排序阵营列表,以及在阵营颜色更改或删除后刷新已加载NPC的记分板分配,修复阵营管理的边界情况。
- 通过按皮肤模型分别加载与清空纹理缓存(而非始终重建全部自定义纹理缓存)修复自定义皮肤重载问题。
- 改进“玩家/怪物/阵营可攻击”战斗属性,使其独立于“无敌”属性运作,各自为对应攻击者群体开放精准的攻击通道。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专用组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、染色、删除阵营及管理敌对关系,受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示与悬浮工具提示。
- 新增针对阵营、目标目标及方块宝可梦模型变体的额外单元测试与游戏测试。
6.25.0
- 通过为远程纹理下载增加额外缓存与优化修复 #780。
- 通过为属性滑块增设防护机制,防止其他模组输入天文数字级数值修复 #767。
- 通过为带动作与条件的NPC新增自定义数据项匹配功能修复 #754。
- 修复纹理管理器在错误线程中运行可能导致 ≥1.21.x 版本崩溃与死锁的问题。
- 修复因动作条件中UUID为空导致的意外行为问题。
- 修复动作执行次数限制重置问题。
- 新增纹理注册队列,避免同一游戏刻内多次同时下载。
- 新增NPC金币、金钥匙与红令牌作为带动作与条件的NPC可用消耗品。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、金钥匙与红令牌等示例物品,以及适用于动作与条件的新物品数据。
- 新增通用防护机制,防止其他模组输入天文数字级数值影响属性。
- 将后备最大生命值上限从1024提升至4096,以支持更复杂的NPC。
- 改进纹理管理器,消除重复的纹理检查与注册。
6.24.0
- 通过新增“阻止与隐形NPC交互”选项修复 #459 与 #775。
- 通过修复与可选的史诗战斗(Epic Fight)及方块宝可梦(Cobblemon)实体类型映射相关的启动崩溃修复 #774。
- 通过在基础游戏刻期间及打开交易界面前检查限时交易重置修复 #773。
- 通过正确提升内部计时器修复交易重置时机问题。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设“天穹哨兵”,包含昼夜时间与天气条件。
6.23.0
- 通过调整对403与404错误的纹理重试机制并降低日志等级修复 #772。
- 通过修复史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染修复 #770。
- 通过修复NPC开门/关门不可靠的循环问题修复 #769。
- 通过新增对话按钮选项与配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件性对话按钮修复 #760。 - 通过新增支持32种颜色及手动RGB/十六进制值的颜色选择弹窗修复 #709。
- 修复未指定颜色重命名时NPC名称颜色被重置的问题,改为保留现有名称颜色。
- 改进门移动属性:当启用“开门”或“关门”时,“穿门”将自动启用。
6.22.0
- 通过向命令执行传递完整服务端玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性修复 #766。
- 通过新增实体生命值、NPC生命值条件及示例NPC预设“格鲁克,陪练桩”修复 #764。
- 通过确保记录对话按钮执行次数限制修复 #763。
- 通过提供名为“一愿随行”的示例NPC预设修复 #758。
- 修复第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)导致的崩溃问题 #756。
- 修复对话按钮在服务端数据下未被锁定的问题,为 #760 与 #644 做准备。
- 通过新增条件性对话开启支持/命令修复 #628,以更好控制对话向玩家显示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册全部原版脑记忆集合。
- 为枪械标签新增额外枪械支持 #757。
- 新增“开启对话(条件性)”动作:仅在满足其条件时开启指定名称的对话;而原有“开启对话”动作仍无条件开启对话。
- 新增适用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 新增猪灵、猪灵蛮兵与僵尸猪灵NPC的无敌设定,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性,使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性,使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),使其主题更契合。
6.21.0
- 修复交叉手臂姿态下卫道士的手持物品附着问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃问题 #756。
- 修复第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃问题 #756。
- 通过降低日志详细程度并增加对自定义模型部件的额外检查,修复日志信息泛滥问题。
- 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃问题。
6.19.0
注意:本次更新将对话背景图片尺寸调整为各边增加10×6像素,若用户使用自定义对话背景,则可能需要相应调整。
- 通过新增对话按钮条件支持以禁用按钮修复 #752 与 #130。
- 通过新增对话文本打字机效果支持修复 #683 与 #215。
- 通过允许对话、对话按钮及交互添加条件修复 #690 与 #309。
- 修复对话界面布局与背景相关的较小UI问题。
- 将对话背景图片重构为每边增加10×6像素。
- 重构对话界面布局以适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,以指示对话、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守望者”,包含多种条件与动作。
- 新增较小的与对话条件及按钮状态相关的Bug修复与优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(未存储ID者)被重置或移除。
- 通过为动作新增条件支持以实现更复杂、更动态的行为修复 #745。
- 通过为较长文本新增对话按钮工具提示修复 #652。
- 通过为命令值新增工具提示以显示完整值修复 #687。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增“物品栏中有物品”条件。
- 新增“手持物品”条件(支持主手与副手)。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设“金宝石矿石”,包含多种条件与动作。
- 新增否定条件支持,以支持更复杂的逻辑判断。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统以支持更多类型的条件。
6.17.0
- 通过为“以玩家身份执行”新增额外工具提示修复 #738。
- 通过减少启动及游戏内
log.info消息修复详细日志问题。 - 新增额外单元测试与游戏测试。
6.16.0
- 通过提供禁用ESC键与关闭按钮的选项修复 #732。
- 通过避免在特定情况下(如交易界面)自动关闭修复 #723。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 通过在客户端物种列表为空时重新同步物种数据修复 #731。
- 通过改进史诗战斗(Epic Fight)集成并启用实验性功能修复 #730。
- 通过确保交易使用次数正确存储修复 #729。
- 通过新增玩家头颅自定义支持修复 #728。
- 通过显示剩余交易次数并支持手动与自动重置修复 #689。
- 通过新增交易配置界面及对自定义交易的更好支持修复 #218 与 #132。
- 通过在基础与常规/高级交易模式间切换修复特定交易边界问题。
- 修复对话按钮文字截断问题,并通过工具提示显示完整文字。
- 通过同步动画状态至方块宝可梦动画系统修复方块宝可梦动画问题。
- 新增每笔交易专属动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,配备动作。
- 清理测试文件。
6.14.0(方块宝可梦支持与对话改进)
- 通过确保值更改时同步至客户端修复 #727。
- 通过为特定命令新增额外白名单修复 #726。
- 通过新增基础方块宝可梦支持(含方块宝可梦NPC)修复 #686、#389、#304 与 #211。
- 通过调整对话精灵图与界面修复对话错位与导航问题。
- 通过修正旋转逻辑与枢轴点计算修复X轴与Z轴根部旋转问题。
- 新增基础方块宝可梦支持,含用于测试的自定义NPC类型与模型。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务端命令若被恶意利用,可能存在潜在风险。
本次更新将模型根部数据与逻辑同其余模型部件的数据与逻辑分离,因此可能导致现有NPC的根部旋转与缩放重置为默认值。
- 通过将模型根部数据与逻辑同其余模型部件的数据与逻辑分离修复 #725。
- 通过支持
.sbnt文件作为本地预设修复 #722。 - 通过为对话与配置界面背景新增专用资源修复 #675。
- 通过新增安全检查与权限系统修复 #605、#532 与 #529。
- 通过新增实验性API文档与自定义模型支持示例修复 #469 与 #311。
- 通过移除冗余背景渲染修复配置界面背景双重渲染问题。
- 通过调整包围盒修复恶魂碰撞箱与名称标签位置问题。
- ⚠️ 新增安全检查以防止潜在漏洞利用,确保多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)准备权限系统。
- 针对配置界面渲染与资源进行通用代码清理与优化。
6.12.0
- 通过基于原版模型新增自定义模型部件列表的额外检查修复 #714。
- 通过将每个NPC的INFO级别日志降级为DEBUG级别并合并冗余警告消息降低日志详细程度修复 #713。
- 通过减少启动/配置日志输出量修复 #711。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,以确保混入(Mixin)中的一致使用。
- 通过增强过滤逻辑与优化数据结构,改进RenderEntityTypeSupportConfig,以提升性能与可维护性。
- 移除输出大型数据结构的冗长调试日志。
6.11.0
- 修复新自定义图层系统与手持物品渲染导致的 #703 渲染问题。
- 通过为无效交易报价新增额外防护与日志记录修复 #701。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 通过将玩家检测移回服务端修复头部追踪问题。
- 修复CustomLookAtPlayerGoal,以更好地处理边界情况并减少抖动。
- 修复多普勒NPC持续持有手中物品的问题。
- 改进PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 通过在切换至
DEFAULT原版姿态时清除模型部件旋转/位置修复 #695。 - 通过仅在NPC空闲时应用锁定旋转与姿态动画修复 #695。
- 通过将根部旋转枢轴点修正为使用实际包围盒高度而非0.5f修复 #695。
- 修复多个目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理程序中的错误UUID、加入/离开时缺少针对玩家的目标刷新,以及离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定根部旋转;现根部锁定由用户控制。
- 在高级与自定义姿态配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型特定姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 通过新增缓存与防护机制防止NPC实体数据更新被冗余重触发修复 #692 与 #666。
- 通过为所有支持的NPC类型新增基础自定义姿态修复 #651 与 #617。
- 通过为逃离玩家、村民、怪物等新增额外逃跑目标修复 #597。
- 修复姿态加载直接从模组资源读取,而非复制文件至磁盘。
- 通过首次检查是否存在注册表条目修复实体加入时重复调用
saveNPC的问题。 - 新增
despawn与spawn命令,支持通过UUID移除与重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿态及管理NPC。 - 新增所有支持NPC类型的姿态数据文件。
- 在基础姿态配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,使NPC在执行回调动作前先移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,以尊重锁定的根部旋转。 - 新增同步的所有者变更与维度变更至NPC实体数据索引。
- 将
EasyNPCItemAttachmentLayer加入各类实体渲染器。 - 新增专用“逃跑目标”配置选项卡,包含针对苦力怕、怪物、生物、玩家、村民及太阳的逃跑目标。
- 在跟随目标选项卡中新增
FOLLOW_ITEM目标,使NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”界面中启用“按UUID注视实体”与“注视所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如十字弓充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫NPC,以丰富驯服后的环境音效种类。 - 将周期性NPC保存操作的日志等级从INFO降至DEBUG。
6.8.3
- 通过升级网络协议版本强制版本不匹配修复 #680。
- 通过重置名称标签的位置、旋转与尺寸修复 #679。
- 通过为根部旋转新增多状态滑动条修复 #665。
- 通过新增禁用跟随鼠标光标选项以简化姿态调整修复 #664。
- 通过增强X轴与Z轴根部旋转支持修复 #663。
- 通过新增NPC魔杖配合潜行快速旋转根部朝向玩家修复 #661。
- 通过在交互处理器中增加移动工具检查,修复移动工具错误触发交互的问题。
- 通过在交互处理器中增加预设物品检查,修复预设物品错误触发交互的问题。
- 通过调整包围盒与眼睛高度计算修复史莱姆与恶魂碰撞箱及名称标签位置问题。
- 通过调整偏
... [内容过长已截断]
Easy NPC (Bundle) 7.1.0
on 2026 Jul 13Easy NPC(1.20.1)更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新前请务必备份您的世界存档及NPC数据!
更多详情请查阅 [升级指南][upgrade_guide]。
7.1.0
- 修复 #799:修正边界情况,并补充相关文档与更清晰的日志信息。
- 修复 #798:将控制台、命令及命令方块视为可信命令来源。
- 修复单人游戏/局域网模式下的严重问题——客户端与服务端NPC共用同一注册表。
- 修复配置菜单处理过程中的内存泄漏问题,并新增超时与断开连接清理机制。
- 修复多个NPC同时请求同一皮肤时重复下载的问题。
- 修复皮肤查询失败后无法重试的问题,避免慢速服务器导致游戏卡死。
- 修复URL皮肤界面在检查远程图片时冻结游戏的问题;现改为后台异步执行检查。
- 新增“世界生成器”方块,可在整个世界(所有维度)范围内限制某一NPC预设的生成数量;原有“群组生成器”现按维度分别计数,因此远距离NPC不再影响其生成。
- 强化远程皮肤下载机制:增加严格尺寸限制与安全重定向处理,防止因超大或恶意皮肤URL引发崩溃;新增可选设置
blockPrivateAddresses。 - 提升服务器性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组处理。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:扩展AI防护机制,覆盖Epic Fight模组及原版NPC变体(猪灵、村民、末影人、苦力怕、劫持者与女巫)。
- 修复 #787、#531、#237 与 #184:新增阵营系统,支持
/easy_npc faction命令、逐个NPC阵营分配及自动同步记分板队伍。 - 修复 #787、#771 与 #572:新增“目标”目标选项卡,支持攻击敌对阵营或指定目标(按玩家名、队伍、实体标签或UUID)。
- 修复 #786:为方块宝可梦NPC新增性别与闪光模型变体,可在模型选择中通过输入
female或shiny进行筛选。 - 修复无敌NPC之间阵营战斗失效的问题,新增“阵营可攻击”战斗属性。
- 修复大型方块宝可梦物种模型预览异常问题,改用方块宝可梦自身的档案缩放比例而非碰撞箱高度进行缩放。
- 修复阵营管理边界情况:验证阵营名称、对阵营列表排序,并在阵营颜色变更或删除后刷新已加载NPC的记分板分配。
- 修复自定义皮肤重载问题:改为按皮肤模型单独加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“玩家/怪物/阵营可攻击”战斗属性,使其独立于“无敌”属性运行,各自为对应攻击者群体开放针对性漏洞。
- 优化预设命令与网络处理逻辑:将大型处理器拆分为更小、更专注的导入、导出及功能专用组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、着色、删除阵营以及管理敌对关系,受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的主入口。
- 新增可复用的警告图标与帮助图标组件,支持内联提示与悬停工具提示。
- 新增针对阵营、目标目标及方块宝可梦模型变体的单元测试与游戏测试。
6.25.0
- 修复 #780:为远程纹理下载增加额外缓存与优化。
- 修复 #767:为属性滑块增加防护机制,防止其他模组传入天文数字级数值。
- 修复 #754:为带动作与条件的NPC新增自定义数据物品匹配功能。
- 修复纹理管理器在错误线程中运行可能导致 >= 1.21.x 版本崩溃与死锁的问题。
- 修复动作条件中空UUID导致意外行为的问题。
- 修复动作执行次数限制重置问题。
- 新增纹理注册队列,避免同一次刻(tick)内多次并发下载。
- 新增NPC金币、钥匙与红色代币作为消耗品,供带动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红色代币作为示例物品,并提供适用于动作与条件的新物品数据。
- 新增通用防护机制,防止其他模组传入天文数字级属性值。
- 将备用最大生命值上限从1024提升至4096,以支持更复杂的NPC。
- 改进纹理管理器,消除重复的纹理检查与注册。
6.24.0
- 修复 #459 与 #775:新增选项,禁止与不可见NPC交互。
- 修复 #774:与可选Epic Fight及方块宝可梦实体类型映射相关的启动崩溃问题。
- 修复 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机问题:正确增加内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,含昼夜时间与天气条件。
6.23.0
- 修复 #772:调整纹理重试策略,适配403与404错误,并降低日志输出级别。
- 修复 #770:改进Epic Fight NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染。
- 修复 #769:NPC开门/关门循环异常问题。
- 修复 #760:新增对话选项与配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件性对话按钮。 - 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入。
- 修复重命名NPC时未指定颜色导致姓名颜色被重置的问题,现保留原有姓名颜色。
- 改进门移动属性:当启用“开门”或“关门”时,“穿门”自动启用。
6.22.0
- 修复 #766:向命令执行传递完整的服务器玩家上下文,以提升与依赖特定玩家数据的第三方模组及插件的兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件,并新增示例NPC预设“格鲁克,陪练桩”以演示这些条件的使用。
- 修复 #763:确保对话按钮执行次数限制现在会被记录。
- 修复 #758:提供名为“一愿伴侣”的示例NPC预设。
- 修复第三方村民AI读取Easy NPC村民未注册脑部记忆(如PoiCompetitorScan / job_site)导致的崩溃问题 #756。
- 修复对话按钮在服务端数据下未锁定的问题,为 #760 与 #644 做准备。
- 修复 #628:新增条件性对话开启支持/命令,以更精准地控制对话向玩家显示的时机。
- 新增猪灵与猪灵蛮兵NPC的脑部AI,并注册完整原版脑部记忆集合。
- 为枪械标签新增更多枪械,以支持 #757。
- 新增“开启对话(条件性)”动作,仅在满足条件时开启指定对话;而原有“开启对话”动作仍无条件开启对话。
- 新增实体生命值与NPC生命值条件,适用于动作、对话及对话按钮。
- 新增猪灵、猪灵蛮兵与僵尸猪灵NPC的无敌状态,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性,使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性,使NPC免疫爆炸伤害与位移(例如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,使其主题归属更合理(此前位于能力界面)。
6.21.0
- 修复交叉手臂姿态下卫道士手持物品的附着问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃问题 #756。
- 修复第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃问题 #756。
- 修复
log.info日志刷屏问题:降低日志详细程度,并为自定义模型部件添加额外检查。 - 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃问题。
6.19.0
注意:本次更新将对话背景图每边调整了10×6像素,若您使用自定义对话背景,则可能需要相应调整。
- 修复 #752 与 #130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683 与 #215:新增对话文本打字机效果支持。
- 修复 #690 与 #309:支持为对话、对话按钮及交互添加条件。
- 修复对话界面布局与背景相关的细微UI问题。
- 将对话背景图每边重构为10×6像素。
- 重构对话界面布局,以更好适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端对话文本配置。
- 新增条件符号,以指示对话、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守望者”,含多种条件与动作。
- 新增细微Bug修复与针对对话条件及按钮状态的优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(未存储ID者)被重置或移除。
- 修复 #745:为动作新增条件支持,实现更复杂、动态的行为。
- 修复 #652:为对话按钮新增长文本工具提示支持。
- 修复 #687:为命令值新增工具提示,显示完整值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增“物品栏中存在物品”条件。
- 新增“手持物品”条件,支持主手与副手。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增含多种条件与动作的示例NPC预设“金默尔”。
- 新增否定条件支持,允许对条件取反以构建更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多类型的条件。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 修复详细日志问题:减少启动与游戏过程中
log.info消息输出。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:新增选项,禁用对话框的ESC键与关闭按钮。
- 修复 #723:避免在交易界面等特定情况下自动关闭对话框。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增头像缩放与位置偏移选项,用于对话框。
- 新增缺失的本地化键。
6.15.0(交易、玩家头颅、Epic Fight与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进Epic Fight集成并启用实验性功能。
- 修复 #729:确保交易使用次数被正确保存。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特定边界情况:在基础交易模式与普通/高级交易模式间切换。
- 修复对话按钮文字被截断问题,工具提示显示完整文本。
- 修复方块宝可梦动画问题:与方块宝可梦动画系统同步动画状态。
- 新增按交易定制的动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,含动作支持。
- 清理测试文件。
6.14.0(方块宝可梦支持与对话改进)
- 修复 #727:确保修改值时同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304 与 #211:新增基础方块宝可梦支持,含方块宝可梦NPC。
- 修复对话错位与导航问题:调整对话精灵图与界面。
- 修复X轴与Z轴根旋转问题:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦支持,含自定义NPC类型与模型,用于测试。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限管理。
它允许执行潜在危险的服务端命令(若被恶意利用)。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,这意味着现有NPC的根旋转与缩放可能被重置为默认值。
- 修复 #725:将模型根部数据与逻辑从其余模型部件数据与逻辑中分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话与配置界面背景新增专用资源。
- 修复 #605、#532 与 #529:新增安全检查与权限系统。
- 修复 #469 与 #311:新增实验性API文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂碰撞箱与姓名标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防止潜在漏洞利用,确保多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的LuckPerms集成(如 #712)准备权限系统。
- 针对配置界面渲染与资源的通用代码清理与优化。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外检查。
- 修复 #713:降低日志详细程度,将每个NPC的INFO消息降级为DEBUG,并整合冗余警告消息。
- 修复 #711:减少启动/配置日志输出量。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在 EasyNPCModelManager 中新增模型部件名称常量,确保混入(Mixin)中的一致使用。
- 通过增强过滤逻辑与优化数据结构,改进 RenderEntityTypeSupportConfig,以提升性能与可维护性。
- 移除输出大量数据结构的冗长调试日志。
6.11.0
- 修复 #703:解决新自定义图层系统与手部渲染带来的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在修改头部位置后无法正常工作的问题。
- 修复头部追踪:将玩家检测移回服务端专属逻辑。
- 修复 CustomLookAtPlayerGoal,以更好地处理边界情况并减少抖动。
- 修复多普勒NPC持续持有手部物品的问题。
- 改进 PoseManager 日志消息。
- 更新Logo为新设计。
6.10.0
- 修复 #695:切换至
DEFAULT原版姿势时清除模型部件的旋转/位置。 - 修复 #695:仅当NPC处于空闲状态时应用锁定旋转与姿势动画。
- 修复 #695:修正根旋转枢轴点,使用实际包围盒高度而非固定值0.5f。
- 修复多个目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、以及离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定ROOT旋转的功能;根旋转锁定现由用户控制。
- 在高级与自定义姿势配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型特定姿势键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 修复 #692 与 #666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651 与 #617:为所有支持的NPC类型新增基础自定义姿势。
- 修复 #597:新增额外逃离目标,支持逃离玩家、村民、怪物等。
- 修复姿势加载逻辑:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC的问题:先检查是否存在已注册条目。 - 新增
despawn与spawn命令,支持通过UUID移除与重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿势与管理NPC。 - 新增所有支持NPC类型对应的姿势数据文件。
- 在基础姿势配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,支持NPC在执行回调动作前移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根旋转。 - 新增NPC实体数据索引中的同步所有者变更与维度变更。
- 将
EasyNPCItemAttachmentLayer加入各类实体渲染器。 - 新增专用“逃离目标”配置选项卡,含针对苦力怕、怪物、生物、玩家、村民与阳光的逃离目标。
- 在跟随目标选项卡中新增
FOLLOW_ITEM目标,支持NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”界面中启用“按UUID注视实体”与“注视所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如十字弓充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫NPC,以丰富驯服后的环境音效。 - 将周期性NPC保存操作的日志级别从INFO降至DEBUG。
6.8.3
- 修复 #680:通过升级网络协议版本强制版本不匹配。
- 修复 #679:重置姓名标签的位置、旋转与尺寸。
- 修复 #665:为根旋转新增多状态滑块。
- 修复 #664:新增禁用跟随鼠标光标选项,便于姿势调整。
- 修复 #663:增强X轴与Z轴根旋转支持。
- 修复 #661:新增NPC魔杖配合潜行快速旋转根部以面向玩家的功能。
- 修复移动工具错误触发交互的问题:在交互处理器中增加移动工具检查。
- 修复预设物品错误触发交互的问题:在交互处理器中增加预设物品检查。
- 修复史莱姆与恶魂碰撞箱及姓名标签位置问题:调整包围盒与眼睛高度计算。
- 修复史莱姆与恶魂GUI位置问题:调整偏移值。
6.8.2
- 修复 #677:扩展
SafeMerchantData,新增notifyTrade方法以
... [内容过长已截断]
Easy NPC (Bundle) 7.1.0
on 2026 Jul 13Easy NPC(1.20.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
如需查看完整变更记录,请访问 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详细信息请参阅 [升级指南][upgrade_guide]。
7.1.0
- 通过修复边界情况、补充文档说明及优化日志输出,修复了 #799 问题。
- 将控制台、命令及命令方块视为可信命令来源,修复了 #798 问题。
- 修复了一个严重的单人游戏/局域网问题:客户端与服务端的NPC共享同一注册表。
- 修复了配置菜单处理中的内存泄漏,并增加了超时机制与断开连接后的清理逻辑。
- 修复了多个NPC同时请求同一皮肤时重复下载的问题。
- 修复了皮肤查询在发生错误后失败的问题,避免因服务器响应缓慢而卡死游戏。
- 修复了URL皮肤界面在检查远程图片时导致游戏冻结的问题;现改为后台执行检查。
- 新增“世界生成器”方块,可在整个世界(所有维度)范围内限制某一NPC预设的生成数量;原有“群组生成器”现按维度分别计数,从而避免远距离NPC阻塞生成。
- 加强远程皮肤下载的安全性:严格限制文件大小、安全处理重定向,防止因过大或恶意皮肤URL导致崩溃;新增可选设置
blockPrivateAddresses。 - 优化服务端性能:仅向实际使用实体与玩家加载事件的NPC发送对应事件,并按维度分组发送。
7.0.0
- 通过新增流浪商人NPC类型,修复了 #791 问题。
- 扩展AI防护机制,覆盖Epic Fight模组及原生NPC变体(猪灵、村民、末影人、苦力怕、掠夺者与女巫),修复了 #788 问题。
- 通过新增阵营系统(含
/easy_npc faction命令、逐NPC阵营分配及自动记分板队伍同步),修复了 #787、#531、#237 和 #184 问题。 - 新增“目标”目标选项卡,支持攻击敌对阵营或指定目标(按玩家名、队伍、实体标签或UUID),修复了 #787、#771 和 #572 问题。
- 为方块宝可梦NPC新增性别与闪光模型变体,可在模型选择中通过关键词
female或shiny搜索,修复了 #786 问题。 - 新增“可被阵营攻击”战斗属性,修复了无敌NPC之间无法进行阵营战斗的问题。
- 针对体型过大的方块宝可梦物种,调整模型选择预览缩放方式:改用方块宝可梦自身的档案缩放比例,而非碰撞箱高度。
- 通过校验阵营名称、排序阵营列表,以及在阵营颜色变更或删除后刷新已加载NPC的记分板分配,修复了阵营管理的边界情况。
- 优化自定义皮肤重载机制:按皮肤模型单独加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“可被玩家/怪物/阵营攻击”战斗属性:使其独立于“无敌”属性运作,各自为对应攻击者群体开放针对性漏洞。
- 优化预设命令与网络处理:将大型处理器拆分为更小、更专注的导入、导出及功能专属组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、染色、删除阵营,并管理敌对关系;受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬浮提示。
- 新增针对阵营、目标目标及方块宝可梦模型变体的单元测试与游戏测试。
6.25.0
- 通过加强远程纹理下载的缓存与优化,修复了 #780 问题。
- 通过防护属性滑块免受其他模组传入的极端数值影响,修复了 #767 问题。
- 通过为带动作与条件的NPC添加自定义数据物品匹配功能,修复了 #754 问题。
- 修复了纹理管理器在错误线程中运行可能导致 >= 1.21.x 版本崩溃与死锁的问题。
- 修复了动作条件中空UUID引发的非预期行为。
- 修复了动作执行次数限制重置问题。
- 新增纹理注册队列,避免同一次刻内多次并发下载。
- 新增NPC硬币、钥匙与红令牌作为消耗品,供带动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义硬币、钥匙与红令牌等示例物品,以及用于动作与条件的新物品数据。
- 新增通用防护机制,防止其他模组传入极端数值影响属性。
- 将备用最大生命值上限从1024提升至4096,以支持更复杂的NPC。
- 优化纹理管理器,消除重复的纹理检查与注册。
6.24.0
- 通过新增“禁止与隐形NPC交互”选项,修复了 #459 与 #775 问题。
- 修复了因可选Epic Fight与方块宝可梦实体类型映射引发的启动崩溃(#774)。
- 在基础刻及打开交易界面前检查限时交易重置,修复了 #773 问题。
- 通过正确增加内部计时器,修复了交易重置时机问题。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天巡侦察兵”,包含昼夜时间与天气条件。
6.23.0
- 调整纹理重试机制,针对403与404错误降低日志级别,修复了 #772 问题。
- 修复Epic Fight NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染问题(#770)。
- 修复NPC开门关门不可靠导致的门循环问题(#769)。
- 新增对话按钮选项与配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件按钮,修复了 #760 问题。 - 新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制输入,修复了 #709 问题。
- 修复重命名时未指定颜色会导致NPC姓名颜色重置的问题,现保留原有姓名颜色。
- 优化门移动属性:“通行门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 向命令执行传递完整的服务器玩家上下文,提升与依赖特定玩家数据的第三方模组及插件兼容性,修复了 #766 问题。
- 新增实体生命值、NPC生命值条件及示例NPC预设“格鲁克——陪练木桩”,修复了 #764 问题。
- 确保对话按钮执行次数限制现已记录,修复了 #763 问题。
- 提供名为“一愿随行者”的示例NPC预设,修复了 #758 问题。
- 修复第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)引发的崩溃(#756)。
- 为 #760 与 #644 做准备,修复对话按钮在服务端数据下未锁定的问题。
- 新增条件化对话开启支持/命令,实现对对话向玩家展示时机的精细控制,修复了 #628 问题。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册完整原版脑记忆集。
- 为 #757 新增更多枪械至枪械标签。
- 新增“条件化开启对话”动作:仅当满足条件时才开启指定名称的对话;原有“开启对话”动作保持无条件开启。
- 新增实体生命值与NPC生命值条件,适用于动作、对话及对话按钮。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌设定,与其他NPC保持一致。
- 新增“击退免疫”战斗属性,使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性,使NPC免疫爆炸伤害及位移(例如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面,使其主题归属更合理(此前位于能力界面)。
6.21.0
- 修复交叉手臂姿势下卫道士的物品附着问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃(#756)。
- 修复第三方混入类尝试访问不存在模型部件导致的崩溃(#756)。
- 通过降低日志冗余度并增加自定义模型部件检查,减少
log.info冗余消息。 - 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标导致的崩溃。
6.19.0
注意:本次更新将对话背景图尺寸调整为每边增加10×6像素,若用户使用自定义对话背景,则可能需要相应调整。
- 通过新增对话按钮条件支持以禁用按钮,修复了 #752 与 #130 问题。
- 通过新增对话文字打字机效果支持,修复了 #683 与 #215 问题。
- 通过为对话、对话按钮及交互添加条件支持,修复了 #690 与 #309 问题。
- 修复对话界面布局与背景相关的较小UI问题。
- 将对话背景图每边重构为增加10×6像素。
- 重构对话界面布局,以更好适配新背景尺寸并提升视觉效果。
- 新增打字机效果及客户端对话文字配置。
- 新增条件符号,直观指示对话、按钮及交互的条件状态。
- 新增物品条件的数量字段,支持检查物品的具体数量。
- 新增示例NPC预设“阈值守卫者”,包含多种条件与动作。
- 新增较小的与对话条件及按钮状态相关的Bug修复与优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(未存储ID者)被重置或移除。
- 通过为动作新增条件支持以实现更复杂、动态的行为,修复了 #745 问题。
- 通过为对话按钮新增长文本提示支持,修复了 #652 问题。
- 通过为命令值新增提示框以显示完整值,修复了 #687 问题。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品是否存在于物品栏的条件。
- 新增物品是否持于手中(主手与副手)的条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增金宝石矿石示例NPC预设,包含多种条件与动作。
- 新增否定条件支持,允许对条件取反以实现更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统以支持更多类型的条件。
6.17.0
- 通过为“以玩家身份执行”新增额外提示,修复了 #738 问题。
- 通过减少启动及游戏中
log.info消息,优化详细日志输出。 - 新增额外单元测试与游戏测试。
6.16.0
- 通过提供禁用ESC键与关闭按钮的选项,修复了 #732 问题。
- 通过避免在交易界面等特定场景下自动关闭,修复了 #723 问题。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、Epic Fight与体验优化更新)
- 通过在客户端物种列表为空时重新同步物种数据,修复了 #731 问题。
- 通过改进Epic Fight集成并启用实验性功能,修复了 #730 问题。
- 通过确保交易使用次数正确存储,修复了 #729 问题。
- 通过新增玩家头颅的自定义支持,修复了 #728 问题。
- 通过显示剩余交易次数并支持手动与自动重置,修复了 #689 问题。
- 通过新增交易配置界面及对自定义交易的更好支持,修复了 #218 与 #132 问题。
- 通过在基础交易模式与普通/高级交易模式间切换,修复交易特有边界情况。
- 修复对话按钮文字被截断问题,完整文字通过提示框显示。
- 通过将动画状态与方块宝可梦动画系统同步,修复方块宝可梦动画问题。
- 新增逐交易动作支持,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,配备动作功能。
- 清理测试文件。
6.14.0(方块宝可梦支持与对话改进)
- 通过确保值变更时同步至客户端,修复了 #727 问题。
- 通过为特定命令新增额外白名单,修复了 #726 问题。
- 通过新增基础方块宝可梦支持(含方块宝可梦NPC),修复了 #686、#389、#304 与 #211 问题。
- 通过调整对话精灵图与界面,修复对话错位与导航问题。
- 通过修正旋转逻辑与枢轴点计算,修复X轴与Z轴根部旋转问题。
- 新增基础方块宝可梦支持,含自定义NPC类型与测试用模型。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限管理。
部分服务端命令若被恶意利用,可能存在潜在风险。
本次更新将模型根部数据与逻辑与其他模型部件的数据与逻辑分离,可能导致现有NPC的根部旋转与缩放重置为默认值。
- 通过将模型根部数据与逻辑与其他模型部件的数据与逻辑分离,修复了 #725 问题。
- 通过支持
.sbnt文件作为本地预设,修复了 #722 问题。 - 通过为对话与配置界面背景新增专用资源,修复了 #675 问题。
- 通过新增安全检查与权限系统,修复了 #605、#532 与 #529 问题。
- 通过新增实验性API文档与自定义模型支持示例,修复了 #469 与 #311 问题。
- 通过移除冗余背景渲染,修复配置界面背景重复渲染问题。
- 通过调整碰撞箱,修复恶魂碰撞箱与姓名标签位置问题。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)做好权限系统准备。
- 与配置界面渲染及资源相关的通用代码清理与优化。
6.12.0
- 通过基于原版模型对自定义模型部件列表新增额外检查,修复了 #714 问题。
- 通过将每个NPC的
INFO级别日志降级为DEBUG并整合冗余警告消息,降低日志冗余度,修复了 #713 问题。 - 通过减少过大的启动/配置日志输出,修复了 #711 问题。
- 优化NBT验证防护,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入类中的一致使用。
- 通过增强过滤逻辑与优化数据结构,改进RenderEntityTypeSupportConfig,提升性能与可维护性。
- 移除转储大量数据结构的冗长调试日志。
6.11.0
- 修复新自定义图层系统与手持物品渲染引发的 #703 渲染问题。
- 通过为无效交易报价新增额外防护与日志记录,修复了 #701 问题。
- 修复修改头部位置后智能动画无法正常工作的问题。
- 通过将玩家检测移回服务端,修复头部追踪问题。
- 改进CustomLookAtPlayerGoal,更好处理边界情况并减少抖动。
- 修复多普勒NPC持续持有手中物品的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 切换至
DEFAULT原版姿势时清除模型部件旋转/位置,修复了 #695 问题。 - 仅当NPC处于空闲状态时应用锁定旋转与姿势动画,修复了 #695 问题。
- 校正根部旋转枢轴点,使用实际碰撞箱高度而非固定值0.5f,修复了 #695 问题。
- 修复多个目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、离线目标重试等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定根部旋转;根部锁定现由用户控制。
- 在高级与自定义姿势配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型特定姿势键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 通过新增缓存与防护机制防止NPC实体数据更新被重复触发,修复了 #692 与 #666 问题。
- 通过为所有支持的NPC类型新增基础自定义姿势,修复了 #651 与 #617 问题。
- 通过新增针对玩家、村民、怪物等的额外逃逸目标,修复了 #597 问题。
- 修复姿势加载直接从模组资源读取,而非复制文件到磁盘。
- 通过在实体加入前检查是否存在已有注册表条目,修复重复调用
saveNPC的问题。 - 新增
despawn与spawn命令,支持通过UUID移除与重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿势与管理NPC。 - 新增所有支持NPC类型的姿势数据文件。
- 在基础姿势配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,支持NPC在执行回调动作前移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重锁定的根部旋转。 - 新增NPC实体数据索引的同步所有者变更与维度变更。
- 将
EasyNPCItemAttachmentLayer添加至多种实体渲染器。 - 新增专用“逃逸目标”配置选项卡,支持对苦力怕、怪物、生物、玩家、村民及太阳的逃逸目标。
- 新增
FOLLOW_ITEM目标至跟随目标选项卡,支持NPC按资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在注视目标界面中启用“按UUID注视实体”与“注视所有者”目标。 - 为
SynchedDataIndex新增persistent标志,使临时索引(如十字弓充能、模型动画)不再触发脏保存标记。 - 为
SlimeBase新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET,并将CAT_PURR映射至猫NPC,以丰富驯服后的环境音效。 - 将周期性NPC保存操作的日志冗余度从
INFO降至DEBUG。
6.8.3
- 通过升级网络协议版本强制版本不匹配,修复了 #680 问题。
- 通过重置姓名标签的位置、旋转与尺寸,修复了 #679 问题。
- 通过为根部旋转新增多状态滑动支持,修复了 #665 问题。
- 通过新增禁用跟随鼠标光标选项以简化姿势调整,修复了 #664 问题。
- 通过增
... [内容过长已截断]
Easy NPC (Bundle) 7.0.1
on 2026 Jul 12Easy NPC:核心版(1.21.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
如需查看完整更新日志,请访问 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请参阅 [升级指南][upgrade_guide]。
7.0.0
- 通过新增流浪商人NPC类型修复了问题 #791。
- 通过将AI防护机制扩展至史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、劫持者与女巫),修复了问题 #788。
- 通过新增阵营系统(含
/easy_npc faction命令)、每NPC阵营分配功能以及自动同步记分板队伍,修复了问题 #787、#531、#237 和 #184。 - 通过新增
target目标选项卡(支持按玩家名称、队伍、实体标签或UUID攻击敌对阵营或特定目标),修复了问题 #787、#771 和 #572。 - 通过为方块宝可梦NPC新增性别与异色模型变体(可在模型选择中输入
female或shiny进行搜索),修复了问题 #786。 - 通过新增“派系可攻击”战斗属性,修复了无敌NPC之间派系战斗失效的问题。
- 通过依据方块宝可梦自身角色档案缩放比例(而非碰撞箱高度)调整超大体型物种的模型预览,修复了方块宝可梦模型选择预览异常问题。
- 通过校验阵营名称、排序阵营列表,以及在阵营颜色变更或删除后刷新已加载NPC的记分板分配,修复了阵营管理边缘情况问题。
- 通过按皮肤模型分别加载与清空纹理缓存(而非始终重建全部自定义纹理缓存),修复了自定义皮肤重载问题。
- 改进了“玩家/怪物/派系可攻击”战斗属性,使其独立于“无敌”属性运作,各自为对应攻击者群体单独开放针对性漏洞。
- 通过将大型处理器拆分为更小、更专注的导入、导出及功能专属组件,优化了预设命令与网络处理逻辑。
- 新增对Easy Model Entities的支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、染色、删除阵营,并管理敌对关系;该功能受全新
FACTION_MANAGEMENT安全特性保护。 - 新增“杂项”属性选项卡,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬浮工具提示。
- 新增针对阵营、目标目标及方块宝可梦模型变体的额外单元测试与游戏测试。
6.25.0
- 通过在验证过程中保留数据组件,修复了问题 #782、#636 和 #622。
- 通过缓存远程纹理下载并减少重复注册,修复了问题 #780。
- 通过限制其他模组传入的极端属性值,修复了问题 #767。
- 通过为具备动作与条件的NPC添加自定义数据物品匹配功能,修复了问题 #754。
- 修复了纹理管理器在错误线程中运行可能导致崩溃与死锁的问题(适用于 ≥ 1.21.x 版本)。
- 修复了动作条件中空UUID的处理问题。
- 修复了动作执行次数限制的重置问题。
- 新增纹理注册队列,避免同一刻内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供具备动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌物品数据。
- 新增针对其他模组传入极端数值的属性防护机制。
- 将高生命值NPC的备用最大生命值上限从1024提升至4096。
- 优化纹理管理器,减少重复纹理检测与注册。
6.24.0
- 通过新增阻止与隐形NPC交互的选项,修复了问题 #459 和 #775。
- 修复了因可选的史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射导致的启动崩溃问题(#774)。
- 通过在基础刻度期间及打开交易界面前检查限时交易重置,修复了问题 #773。
- 通过正确增加内部计时器,修复了交易重置时机问题。
- 为问题 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设“天穹哨卫侦察员”,支持昼夜时间与天气条件。
6.23.0
- 通过针对403与404错误调整纹理重试机制并降低日志输出级别,修复了问题 #772。
- 修复了史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染问题(#770)。
- 修复了NPC开门/关门循环异常(无法可靠开关门)的问题(#769)。
- 通过新增对话按钮选项及配置设置(
buttonConditionMode: LOCK或HIDE),实现对不可用条件对话按钮的锁定或隐藏,修复了问题 #760。 - 通过新增支持32种预设色及手动RGB/十六进制值的颜色选择弹窗,修复了问题 #709。
- 修复了未指定颜色重命名NPC时名称颜色被重置的问题,现可保留原有名称颜色。
- 优化了门移动属性,使启用“通过门”时自动激活,“开门”或“关门”处于活动状态时亦然。
6.22.0
- 通过向命令执行传递完整的服务器端玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性,修复了问题 #766。
- 通过新增实体生命值、NPC生命值条件及示例NPC预设“格鲁克,陪练桩”,修复了问题 #764。
- 修复了对话按钮执行次数限制未被记录的问题(#763)。
- 通过提供名为“一愿随行者”的示例NPC预设,修复了问题 #758。
- 修复了第三方村民AI读取Easy NPC村民未注册脑部记忆(如PoiCompetitorScan / job_site)引发的崩溃问题(#756)。
- 修复了对话按钮服务端数据未锁定问题,为后续 #760 和 #644 做准备。
- 通过新增条件化对话开启支持/命令,增强对对话向玩家展示时机的控制,修复了问题 #628。
- 新增猪灵与猪灵蛮兵NPC的脑部AI,并注册了全部原版脑部记忆集合。
- 为枪械标签新增更多枪械(#757)。
- 新增“开启对话(条件式)”动作,仅当满足指定条件时才开启命名对话;而原有“开启对话”动作仍保持无条件开启。
- 新增用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 新增猪灵、猪灵蛮兵与僵尸猪灵NPC的无敌属性,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性,防止NPC被近战或投射物攻击击退。
- 新增“爆炸免疫”战斗属性,使NPC免疫爆炸伤害及位移(如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性迁移至战斗属性界面,使其主题归属更为合理(此前位于能力界面)。
6.21.0
- 修复了交叉手臂姿势下卫道士手持物品的附着问题。
- 修复了卫道士十字弓攻击目标失效问题。
- 修复了第三方物品无法作为手持物品渲染所引发的崩溃问题(#756)。
- 修复了第三方混入类尝试访问不存在模型部件所引发的崩溃问题(#756)。
- 通过降低日志冗余度并增加对自定义模型部件的额外校验,减少
log.info垃圾信息。 - 提升 EasyNPCModelManager 性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复了第三方模组尝试访问不存在NPC目标所引发的崩溃问题。
6.19.0
注意:本次更新将对话背景图尺寸调整为每边增加10×6像素,若您使用自定义对话背景,则可能需要相应调整。
- 通过新增对话按钮条件支持以禁用按钮,修复了问题 #752 和 #130。
- 通过新增对话文本打字机效果支持,修复了问题 #683 和 #215。
- 通过允许对话、对话按钮及交互行为设置条件,修复了问题 #690 和 #309。
- 修复了对话界面布局与背景相关的细微UI问题。
- 重构对话背景图,每边增加10×6像素。
- 重构对话界面布局,以更好适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,用于指示对话、按钮及交互行为的条件状态。
- 新增物品条件中的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守卫者”,包含多种条件与动作。
- 新增小型Bug修复及与对话条件和按钮状态相关的优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(无存储ID者)被重置或移除。
- 通过为动作新增条件支持以实现更复杂、动态的行为,修复了问题 #745。
- 通过为长文本对话按钮新增工具提示,修复了问题 #652。
- 通过为命令值新增工具提示以显示完整值,修复了问题 #687。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品栏内持有物品条件。
- 新增主手与副手持有物品条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设“金宝石矿石”,包含多种条件与动作。
- 新增否定条件支持,允许对条件进行取反以实现更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统以支持更多条件类型。
6.17.0
- 通过为“以玩家身份执行”新增额外工具提示,修复了问题 #738。
- 通过降低启动及游戏内
log.info消息频率,优化详细日志输出。 - 新增额外单元测试与游戏测试。
6.16.0
- 通过提供禁用ESC键与关闭按钮的选项,修复了问题 #732。
- 通过避免在交易界面等特定场景下自动关闭对话,修复了问题 #723。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗及体验优化更新)
- 通过在客户端物种列表为空时重新同步物种数据,修复了问题 #731。
- 通过改进史诗战斗(Epic Fight)集成并启用实验性功能,修复了问题 #730。
- 通过确保交易使用次数正确存储,修复了问题 #729。
- 通过新增玩家头颅的自定义头颅支持,修复了问题 #728。
- 通过显示剩余交易次数并支持手动与自动重置,修复了问题 #689。
- 通过新增交易配置界面及对自定义交易的更好支持,修复了问题 #218 和 #132。
- 通过在基础交易模式与普通/高级交易模式间切换,修复了交易特定边缘情况。
- 修复了对话按钮文字被截断但工具提示显示完整文本的问题。
- 通过同步动画状态至方块宝可梦动画系统,修复了方块宝可梦动画问题。
- 新增每笔交易专属动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置所有交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,配备动作功能。
- 清理测试文件。
6.14.0
- 通过确保值变更时同步至客户端,修复了问题 #727。
- 通过为特定命令新增额外白名单,修复了问题 #726。
- 通过新增基础方块宝可梦支持(含方块宝可梦NPC),修复了问题 #686、#389、#304 和 #211。
- 通过调整对话精灵图与界面,修复了对话错位及导航问题。
- 通过修正旋转逻辑与枢轴点计算,修复了X轴与Z轴根部旋转问题。
- 新增基础方块宝可梦支持,含用于测试的自定义NPC类型与模型。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全检查与权限管理。
某些服务器命令若被恶意利用,可能存在潜在风险。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,因此可能导致现有NPC的根部旋转与缩放重置为默认值。
- 通过将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,修复了问题 #725。
- 通过支持本地预设
.sbnt文件,修复了问题 #722。 - 通过为对话与配置界面背景新增专用资源,修复了问题 #675。
- 通过新增安全检查与权限系统,修复了问题 #605、#532 和 #529。
- 通过新增实验性API文档与自定义模型支持示例,修复了问题 #469 和 #311。
- 通过移除冗余背景渲染,修复了配置界面背景双重渲染问题。
- 通过调整包围盒,修复了恶魂与史莱姆的碰撞箱及名称标签位置问题。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置UI专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能集成Luck Perms(如问题 #712)做权限系统准备。
- 针对配置界面渲染与资源进行常规代码清理与优化。
6.12.0
- 通过基于原版模型新增自定义模型部件列表的额外校验,修复了问题 #714。
- 通过将每个NPC的INFO级日志消息降级为DEBUG级并整合冗余警告消息,降低日志冗余度,修复了问题 #713。
- 通过减少启动/配置日志输出量,修复了问题 #711。
- 修复NBT校验防护机制,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入类中的一致使用。
- 通过增强过滤逻辑并优化数据结构,提升RenderEntityTypeSupportConfig的性能与可维护性。
- 移除转储大型数据结构的冗长调试日志。
6.11.1
- 通过改进可恢复交易数据的向后兼容解析,修复了问题 #710。
6.11.0
- 修复了新自定义图层系统与手持物品渲染导致的渲染问题(#703)。
- 通过为无效交易报价新增额外防护与日志记录,修复了问题 #701。
- 修复了智能动画在修改头部位置后无法正常工作的问题。
- 通过将玩家检测移回纯服务端逻辑,修复了头部追踪问题。
- 修复CustomLookAtPlayerGoal,以更好处理边缘情况并减少抖动。
- 修复多普勒NPC持续保留手持物品库存的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 通过为第三方实体创建添加try-catch机制,修复了问题 #698。
- 通过切换至
DEFAULT原版姿态时清除模型部件旋转/位置,修复了问题 #695。 - 通过仅在NPC空闲时应用锁定旋转与姿态动画,修复了问题 #695。
- 通过修正根部旋转枢轴点采用实际包围盒高度而非固定0.5f,修复了问题 #695。
- 修复了多项目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少玩家目标刷新、离线目标重试等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定ROOT旋转;根部锁定现由用户自主控制。
- 在高级与自定义姿态配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿态界面新增模型专属姿态键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior及ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge的游戏测试。 - 将最大头部偏航范围从60°提升至65°。
6.9.0
- 通过新增缓存与防护机制防止NPC实体数据更新被冗余重触发,修复了问题 #692 和 #666。
- 通过为所有支持的NPC类型新增基础自定义姿态,修复了问题 #651 和 #617。
- 通过新增针对玩家、村民、怪物等的额外逃离目标,修复了问题 #597。
- 修复姿态加载逻辑,改为直接从模组资源读取,而非复制文件至磁盘。
- 通过在实体加入前先检查现有注册项,修复了重复调用
saveNPC的问题。 - 新增
despawn与spawn命令,支持通过UUID移除或重生NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿态及管理NPC。 - 新增所有支持NPC类型的姿态数据文件。
- 在基础姿态配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,可在执行回调动作前将NPC移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,以尊重锁定的根部旋转。 - 新增同步的所有者变更与维度变更至NPC实体数据索引。
- 将
EasyNPCItemAttachmentLayer添加至各类实体渲染器。 - 新增专属“逃离目标”配置选项卡,支持逃离苦力怕、怪物、生物、玩家、村民及太阳的目标。
- 新增
FOLLOW_ITEM目标至跟随目标选项卡,支持NPC按资源定位(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”界面中启用“按UUID注视实体”与“注视所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使瞬态索引(如弩箭充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫NPC,以丰富驯服后的环境音效。 - 将周期性NPC保存操作的日志冗余度从INFO降为DEBUG。
6.8.3
- 通过升级网络协议版本强制版本不匹配,修复了问题 #680。
- 通过重置名称标签的位置、旋转与尺寸,修复了问题 #679。
- 通过新增根部旋转的多状态滑动支持,修复了问题 #665。
- 通过新增禁用鼠标光标跟随选项以简化姿态调整,修复了问题 #664。
- 通过增强X轴与Z轴根部旋转支持,修复了问题 #663。
- 通过新增NPC魔杖配合潜行快速旋转根部使其面向玩家,修复了问题 #661。
- 通过在交互处理器中增加移动工具检查,修复了移动工具错误触发交互的问题。
- 通过在交互处理器中增加预设物品检查,修复了预设物品错误触发交互的问题。
- 通过调整包围盒与眼高计算,修复了史莱姆与恶魂的碰撞箱及名称标签位置问题。
- 通过调整偏移值,修复了史莱姆与恶魂GUI位置问题。
6.8.2
- 通过扩展
SafeMerchantData并添加notifyTrade方法避免崩溃,修复了问题 #677。
... [内容过长已截断]
Easy NPC (Bundle) 7.0.1
on 2026 Jul 12Easy NPC:核心版(1.21.1)更新日志
注意事项
本更新日志仅汇总了主要变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
7.0.0
- 修复 #791:新增流浪商人NPC类型。
- 修复 #788:扩展AI防护机制,覆盖史诗战斗(Epic Fight)及原始NPC变体(猪灵、村民、末影人、苦力怕、劫持者和女巫)。
- 修复 #787、#531、#237 和 #184:新增阵营系统,支持
/easy_npc faction命令、按NPC分配阵营,以及自动同步计分板队伍。 - 修复 #787、#771 和 #572:新增“靶子”目标页签,支持按玩家名称、队伍、实体标签或UUID攻击敌对阵营或特定目标。
- 修复 #786:为方块宝可梦(Cobblemon)NPC新增性别与异色模型变体,可在模型选择界面通过输入
female或shiny进行搜索。 - 修复无敌NPC间阵营战斗问题,新增“派系可攻击”战斗属性。
- 修复超大体型物种的方块宝可梦模型预览问题,改为依据方块宝可梦自身档案缩放比例而非碰撞箱高度进行缩放。
- 修复阵营管理边缘情况:校验阵营名称、对阵营列表排序,并在阵营颜色变更或删除后刷新已加载NPC的计分板队伍分配。
- 修复自定义皮肤重载问题:改为按皮肤模型分别加载与清空纹理缓存,而非始终重建全部自定义纹理缓存。
- 改进“玩家/怪物/派系可攻击”战斗属性,使其各自独立于“无敌”属性运行,分别为对应攻击者群体开放精准的攻击入口。
- 优化预设命令与网络处理逻辑:将大型处理器拆分为更小、更专注的导入、导出及功能专属组件。
- 新增Easy Model Entities支持。
- 新增阵营管理器与阵营编辑器界面,用于创建、染色、删除阵营,以及管理敌对关系;受全新“阵营管理”安全特性保护。
- 新增“杂项”属性页签,作为NPC阵营分配的归属位置。
- 新增可复用的警告图标与帮助图标组件,支持内联提示及悬浮工具提示。
- 新增针对阵营、靶子目标及方块宝可梦模型变体的额外单元测试与游戏测试。
6.25.0
- 修复 #782、#636、#622:在验证过程中保留数据组件。
- 修复 #780:缓存远程纹理下载,减少重复注册。
- 修复 #767:限制属性滑块取值,防止其他模组传入极端数值。
- 修复 #754:为具备动作与条件的NPC新增自定义数据项匹配功能。
- 修复纹理管理器在错误线程中运行可能导致 ≥1.21.x 版本崩溃与死锁的问题。
- 修复动作条件中空UUID的处理。
- 修复动作执行次数限制重置问题。
- 新增纹理注册队列,避免同一游戏刻内多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供具备动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌物品数据。
- 新增针对其他模组传入极端数值的属性防护机制。
- 将高生命值NPC的备用最大生命值从1024提升至4096。
- 优化纹理管理器:减少重复纹理检测与注册。
6.24.0
- 修复 #459、#775:新增选项以阻止与隐形NPC交互。
- 修复 #774:启动时因可选的史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射引发的崩溃。
- 修复 #773:在基础游戏刻期间及打开交易界面前检查限时交易重置。
- 修复交易重置时机问题:正确增加内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,支持昼夜时间与天气条件。
6.23.0
- 修复 #772:调整纹理重试机制,适配403与404错误,并降低日志输出等级。
- 修复 #770:改善史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染。
- 修复 #769:NPC开门/关门循环异常,导致门无法可靠开启或关闭。
- 修复 #760:新增对话按钮选项及配置设置(buttonConditionMode:LOCK 或 HIDE),支持锁定或隐藏不可用的条件性对话按钮。
- 修复 #709:新增姓名颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入。
- 修复未指定颜色时重命名NPC导致姓名颜色被重置的问题,改为保留原有姓名颜色。
- 优化门移动属性:“穿门”将在“开门”或“关门”激活时自动启用。
6.22.0
- 修复 #766:向命令执行传递完整的服务器端玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性。
- 修复 #764:新增实体生命值与NPC生命值条件,并添加示例NPC预设“格鲁克,陪练桩”以演示这些条件的使用。
- 修复 #763:确保对话按钮执行次数限制现已记录。
- 修复 #758:提供名为“一愿相伴”的示例NPC预设。
- 修复第三方村民AI(如PoiCompetitorScan / job_site)读取Easy NPC村民未注册脑记忆时引发的崩溃(#756)。
- 修复对话按钮未针对服务端数据锁定的问题,为 #760 和 #644 做准备。
- 修复 #628:新增条件性对话开启支持/命令,以更精细地控制对话向玩家展示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册全部原版脑记忆集合。
- 为枪械标签新增额外枪械,以支持 #757。
- 新增“开启对话(条件性)”动作:仅当满足条件时才开启指定名称的对话;而原有“开启对话”动作仍保持无条件开启。
- 新增实体生命值与NPC生命值条件,适用于动作、对话及对话按钮。
- 新增猪灵、猪灵蛮兵与僵尸猪灵NPC的无敌设定,与其他NPC保持一致。
- 新增“击退免疫”战斗属性,使NPC免受近战或投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性,使NPC对爆炸伤害及位移(如TNT、苦力怕、末影水晶)完全免疫。
- 将“投射物碰撞”属性移至战斗属性页签,使其主题归属更合理(此前位于能力页签)。
6.21.0
- 修复交叉手臂姿势下卫道士手持物品的附着问题。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染时引发的崩溃(#756)。
- 修复第三方混入(Mixin)尝试访问不存在模型部件时引发的崩溃(#756)。
- 修复日志信息(log.info)刷屏问题:降低日志详细程度,并为自定义模型部件添加额外校验。
- 提升EasyNPCModelManager性能。
- 重构NPC渲染器,移除默认手持物品图层。
6.20.0
- 修复第三方模组尝试访问不存在NPC目标时引发的崩溃。
6.19.0
注意:本次更新将对话背景图片尺寸调整为每边增加10×6像素,若用户使用自定义对话背景,则可能需要相应调整。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:支持为对话、对话按钮及交互行为添加条件。
- 修复对话界面布局与背景相关的较小UI问题。
- 重构对话背景图片,每边尺寸增加10×6像素。
- 重构对话界面布局,以适配新背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件符号,用于指示对话、按钮及交互行为的条件状态。
- 新增物品条件中的数量字段,支持检查特定数量的物品。
- 新增示例NPC预设“阈值守卫者”,包含多种条件与动作。
- 新增小型BUG修复及与对话条件和按钮状态相关的优化。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版执行次数限制条目(未存储ID者)被重置或移除。
- 修复 #745:为动作新增条件支持,实现更复杂、更动态的行为。
- 修复 #652:为较长文本的对话按钮新增工具提示支持。
- 修复 #687:为命令值新增工具提示,显示完整值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增“物品栏中存在物品”条件。
- 新增“手持物品”条件,支持主手与副手。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设“金宝石矿石”,包含多种条件与动作。
- 新增否定条件支持,允许对条件取反以实现更复杂的逻辑。
- 移除
ActionDataEntry的参数伪ID,替换为随机UUID。 - 重构条件系统,支持更多条件类型。
6.17.0
- 修复 #738:为“以玩家身份执行”新增额外工具提示。
- 修复详细日志问题:降低启动及游戏内
log.info消息输出频率。 - 新增额外单元测试与游戏测试。
6.16.0
- 修复 #732:新增选项以禁用对话框的ESC键与关闭按钮。
- 修复 #723:在特定情形(如交易界面)下避免自动关闭对话框。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增对话头像缩放与位置偏移选项。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗与体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进史诗战斗(Epic Fight)集成,并启用实验性功能。
- 修复 #729:确保交易使用次数正确存储。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特定边缘情况:在基础交易模式与普通/高级交易模式之间切换。
- 修复对话按钮文字被截断问题,同时工具提示显示完整文本。
- 修复方块宝可梦(Cobblemon)动画问题:同步动画状态至方块宝可梦动画系统。
- 新增按交易定制的动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置所有交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,配备动作功能。
- 清理测试文件。
6.14.0
- 修复 #727:确保修改数值时同步至客户端。
- 修复 #726:为特定命令新增额外白名单。
- 修复 #686、#389、#304、#211:新增基础方块宝可梦(Cobblemon)支持,含方块宝可梦NPC。
- 修复对话错位与导航问题:调整对话精灵图与界面。
- 修复X轴与Z轴根旋转问题:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦(Cobblemon)支持,含自定义NPC类型与模型,用于测试。
6.13.0(安全与权限更新)
注意:本次更新强化了多人游戏环境下的安全检查与权限管理。
部分服务器命令若被恶意利用,可能存在潜在风险。
本次更新将模型根部数据与逻辑从其余模型部件的数据与逻辑中分离,因此可能导致现有NPC的根旋转与缩放重置为默认值。
- 修复 #725:将模型根部数据与逻辑从其余模型部件的数据与逻辑中分离。
- 修复 #722:支持
.sbnt文件作为本地预设。 - 修复 #675:为对话与配置界面背景新增专用资源。
- 修复 #605、#532、#529:新增安全检查与权限系统。
- 修复 #469、#311:新增实验性API文档与示例,支持自定义模型。
- 修复配置界面背景双重渲染问题:移除冗余背景渲染。
- 修复恶魂与史莱姆碰撞箱及名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查,防范潜在漏洞,确保多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专属组件,并从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)准备权限系统。
- 与配置界面渲染及资源相关的通用代码清理与优化。
6.12.0
- 修复 #714:基于原版模型,为自定义模型部件列表新增额外校验。
- 修复 #713:降低日志详细程度:将每个NPC的INFO级别消息降级为DEBUG,并整合冗余警告消息。
- 修复 #711:减少启动/配置时过大的日志输出。
- 修复NBT校验防护机制,避免生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入(Mixin)中的一致使用。
- 优化RenderEntityTypeSupportConfig:增强过滤逻辑,优化数据结构以提升性能与可维护性。
- 移除输出大型数据结构的冗长调试日志。
6.11.1
- 修复 #710:改进可恢复交易数据的向后兼容解析。
6.11.0
- 修复 #703:解决新自定义图层系统与手部渲染引发的渲染问题。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置被修改时无法正常工作的问题。
- 修复头部追踪:将玩家检测移回仅服务端执行。
- 修复CustomLookAtPlayerGoal,更好地处理边缘情况并减少抖动。
- 修复多普勒NPC持续持有手持物品的问题。
- 优化PoseManager日志消息。
- 更新Logo,采用全新设计。
6.10.0
- 修复 #698:为第三方实体创建添加try-catch异常捕获。
- 修复 #695:切换至“默认”原版姿势时,清除模型部件的旋转/位置。
- 修复 #695:仅当NPC处于空闲状态时,应用锁定旋转与姿势动画。
- 修复 #695:修正根旋转枢轴点,使用实际包围盒高度而非固定值0.5f。
- 修复多个目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺失的玩家目标刷新,以及离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定根旋转的功能;根旋转锁定现由用户控制。
- 在高级与自定义姿势配置界面中新增锁定旋转复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型专属姿势键过滤。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior及ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及Fabric与Forge平台的游戏测试。 - 将最大头部水平转动范围从60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿势。
- 修复 #597:新增面向玩家、村民、怪物等的额外逃跑目标。
- 修复姿势加载逻辑:直接从模组资源读取,而非复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC的问题:先检查注册表中是否已存在条目。 - 新增
despawn与spawn命令,支持通过UUID移除与重新生成NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共API类,供外部模组以编程方式控制NPC姿势与管理NPC。 - 新增所有支持NPC类型对应的姿势数据文件。
- 在基础姿势配置界面中新增锁定旋转复选框。
- 新增
MoveToPositionGoal,支持NPC在执行回调动作前移动至指定位置。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重已锁定的根旋转。 - 新增同步所有者变更与维度变更至NPC实体数据索引。
- 将
EasyNPCItemAttachmentLayer添加至各类实体渲染器。 - 新增专属“逃跑目标”配置页签,支持针对苦力怕、怪物、生物、玩家、村民及太阳的逃跑目标。
- 新增
FOLLOW_ITEM目标至跟随目标页签,支持NPC根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”界面中启用“按UUID注视实体”与“注视所有者”目标。 - 在
SynchedDataIndex中新增persistent标志,使临时索引(如弩箭充能、模型动画)不再触发脏保存标记。 - 在
SlimeBase中新增可配置的customParticlesEnabled标志,供API使用者调用。 - 新增
SoundType.PET,并将CAT_PURR映射至猫NPC,丰富驯服后的环境音效种类。 - 将周期性NPC保存操作的日志级别从INFO降至DEBUG。
6.8.3
- 修复 #680:通过升级网络协议版本强制版本不匹配检查。
- 修复 #679:重置名称标签的位置、旋转与尺寸。
- 修复 #665:为根旋转新增多状态滑动支持。
- 修复 #664:新增禁用鼠标跟随选项,简化姿势调整。
- 修复 #663:增强X轴与Z轴根旋转支持。
- 修复 #661:新增NPC魔杖配合潜行快捷旋转功能,使NPC根部朝向玩家。
- 修复移动工具错误触发交互:在交互处理器中添加移动工具检查。
- 修复预设物品错误触发交互:在交互处理器中添加预设物品检查。
- 修复史莱姆与恶魂碰撞箱及名称标签位置问题:调整包围盒与眼睛高度计算。
- 修复史莱姆与恶魂GUI位置问题:调整偏移值。
6.8.2
- 修复 #677:扩展
SafeMerchantData并添加 notifyTrade 方法,避免崩溃。 - 新增进度数据支持,可根据玩家互动与动作提升NPC等级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原模型上使用变体纹理。
6.8.1
- 修复 #676:改用现有预设辅助方法,而非自定义方法。
6.8.0(新增API支持)
- 修复 #667:为无效网络数据包新增警告消息与额外检查。
- 修复马生成蛋模型。
- 修复悦灵、鸡、苦力怕、狐狸、恶魂、马、卫道士、铁傀儡、史莱姆与恼鬼的姿势支持。
- 新增NPC基础类,以增强API支持。
- 新增NPC原始类,以支持高级API功能。
- 新增史莱姆与恶魂NPC类型。
... [内容过长已截断]




