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。 - 通过新增“目标”目标选项卡,支持按玩家名称、队伍、实体标签或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)与方块宝可梦实体类型映射引发的启动崩溃问题(#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(交易、玩家头颅、史诗战斗与体验优化更新)
- 通过在客户端物种列表为空时重新同步物种数据,修复了问题 #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。
- 通过移除冗余背景渲染,修复了配置界面背景重复渲染问题。
- 通过调整包围盒,修复了恶魂与史莱姆的碰撞箱及名称标签位置问题。
- ⚠️ 新增安全检查机制,防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能集成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持续持有手部物品的问题。
- 改进
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
- 通过升级网络协议版本强制版本不匹配,修复了问题 #680。
- 通过重置名称标签的位置、旋转与尺寸,修复了问题 #679。
- 通过为根部旋转新增多状态滑动条,修复了问题 #665。
- 通过新增禁用鼠标光标跟随选项以简化姿势调整,修复了问题 #664。
- 通过增强X轴与Z轴根部旋转支持,修复了问题 #663。
- 通过新增NPC魔杖配合潜行快速旋转根部朝向玩家的功能,修复了问题 #661。
- 通过在交互处理器中增加移动工具检查,修复了移动工具错误触发交互的问题。
- 通过在交互处理器中增加预设物品检查,修复了预设物品错误触发交互的问题。
- 通过调整包围盒与眼睛高度计算,修复了史莱姆与恶魂的碰撞箱及名称标签位置问题。
- 通过调整偏移值,修复了史莱姆与恶魂GUI位置
... [内容过长已截断]
Easy NPC (Bundle) 7.0.0
on 2026 Jul 11Easy 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。 - 通过新增“目标”目标选项卡,支持按玩家名称、队伍、实体标签或UUID攻击敌对阵营或特定目标,修复 #787、#771 和 #572。
- 通过为方块宝可梦(Cobblemon)NPC新增性别与异色模型变体(可在模型选择中以“female”或“shiny”搜索),修复 #786。
- 通过新增“派系可攻击”战斗属性,修复无敌NPC之间的派系战斗问题。
- 通过改用方块宝可梦自身角色档案缩放比例(而非碰撞箱高度)进行缩放,修复超大体型物种的方块宝可梦模型预览问题。
- 通过校验派系名称、排序派系列表,以及在派系颜色变更或删除后刷新已加载NPC的计分板分配,修复派系管理的边界情况。
- 通过按皮肤模型分别加载与清空纹理缓存(而非始终重建全部自定义纹理缓存),修复自定义皮肤重载问题。
- 改进“玩家/怪物/派系可攻击”战斗属性,使其独立于“无敌”属性运行,各自为对应攻击者群体开放专属攻击通道。
- 通过将大型处理器拆分为更小、更专注的导入、导出及功能专用组件,改进预设命令与网络处理逻辑。
- 新增Easy Model Entities支持。
- 新增派系管理器与派系编辑器界面,用于创建、着色、删除派系,并管理敌对关系;该功能受全新“派系管理”安全特性保护。
- 新增“杂项”属性选项卡,作为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,并注册全部原版脑部记忆集合。
- 为枪械标签(gun tag)新增额外枪械,以支持 #757。
- 新增“条件性开启对话”动作,仅当满足条件时才开启指定名称的对话;原有“开启对话”动作仍保持无条件开启。
- 新增用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌属性,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性,防止NPC被近战或弹道攻击击退。
- 新增“爆炸免疫”战斗属性,使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末影水晶)。
- 将“弹道碰撞”属性移至战斗属性界面(此前位于能力界面),使其主题归属更合理。
6.21.0
- 修复卫道士在交叉手臂姿态下的物品附着问题。
- 修复卫道士损坏的弩攻击目标。
- 修复第三方物品无法作为手持物品渲染导致的崩溃(#756)。
- 修复第三方混入(mixins)尝试访问不存在模型部件导致的崩溃(#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。
- 通过新增基础方块宝可梦(Cobblemon)支持(含方块宝可梦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中新增模型部件名称常量,确保混入(mixins)中的一致使用。
- 通过增强过滤逻辑并优化数据结构,改进RenderEntityTypeSupportConfig,以提升性能与可维护性。
- 移除输出大型数据结构的冗长调试日志。
6.11.1
- 通过改进可恢复交易数据的向后兼容解析,修复 #710。
6.11.0
- 修复新自定义图层系统与手持物品渲染导致的 #698 渲染问题。
- 通过为无效交易报价新增额外防护与日志记录,修复 #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。 - 新增进度数据支持,可根据玩家交互与动作为NPC升级。
- 新增全局NPC追踪系统,以便于跨世界更好地管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原模型中使用变体纹理。
6.8.1
- 通过使用现有预设辅助方法而非自定义方法,修复 #676。
6.8.0(新增API支持)
- 通过为无效网络数据包新增警告消息与额外检查,修复 #667。
- 修复马生成蛋模型。
- 修复悦灵、鸡、苦力怕、狐狸、恶魂、马、卫道士、铁傀儡、史莱姆与恼鬼的姿态支持。
- 新增NPC基类,以提供更好的API支持。
- 新增NPC原始类,以提供高级API支持。
... [内容过长已截断]
Easy NPC (Bundle) 7.0.0
on 2026 Jul 11Easy 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。 - 通过新增“目标”目标选项卡(支持攻击敌对阵营,或按玩家名称、队伍、实体标签、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。
- 修复了纹理管理器在错误线程中运行可能导致崩溃与死锁的问题(适用于 Minecraft ≥ 1.21.x 版本)。
- 修复了动作条件中空UUID的处理问题。
- 修复了动作执行次数限制的重置逻辑。
- 新增纹理注册队列,避免同一游戏刻内发起多次并发下载。
- 新增NPC金币、钥匙与红令牌作为消耗品,供具备动作与条件的NPC使用。
- 新增示例NPC预设“欢迎金币商人”,包含自定义金币、钥匙与红令牌物品数据。
- 新增针对其他模组极端数值的属性防护机制。
- 将高生命值NPC的备用最大生命值上限从1024提升至4096。
- 优化纹理管理器,减少重复纹理检测与注册。
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,并注册全部原版脑部记忆集合。
- 为枪械标签(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(交易、玩家头颅、史诗战斗及品质优化更新)
- 通过在客户端物种列表为空时重新同步物种数据,修复了问题 #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。
- 通过移除冗余背景渲染,修复了配置界面背景重复渲染问题。
- 通过调整碰撞箱,修复了恶魂与史莱姆的碰撞箱及名称标签位置问题。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能集成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持续持有手中物品的问题。
- 优化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
... [内容过长已截断]
Easy NPC (Bundle) 7.0.0
on 2026 Jul 11Easy NPC(1.20.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详细信息请查阅 [升级指南][upgrade_guide]。
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。
- 通过修复与可选史诗战斗及方块宝可梦实体类型映射相关的启动崩溃问题,修复了问题 #774。
- 通过在基础刻度期间及打开交易界面前检查限时交易重置,修复了问题 #773。
- 通过正确增加内部计时器,修复了交易重置时机问题。
- 为问题 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,支持昼夜时间与天气条件。
6.23.0
- 通过针对403与404错误优化纹理重试机制并降低日志输出级别,修复了问题 #772。
- 通过修复史诗战斗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。
- 通过改进史诗战斗集成并启用实验性功能,修复了问题 #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.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。
- 修复移动工具错误触发交互的问题:在交互处理器中新增移动工具校验。
- 修复预设物品错误触发交互的问题:在交互处理器中新增预设物品校验。
- 通过调整包围盒与眼高计算,修复史莱姆与恶魂的碰撞箱及名称标签位置问题。
- 通过调整偏移值,修复史莱姆与恶魂的GUI位置问题。
6.8.2
- 通过在
SafeMerchantData中扩展notifyTrade方法避免崩溃,修复了问题 #677。 - 新增基于玩家互动与动作的NPC升级进度数据支持。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()
... [内容过长已截断]
Easy NPC (Bundle) 7.0.0
on 2026 Jul 11Easy NPC(1.20.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详细信息请查阅 [升级指南][upgrade_guide]。
7.0.0
- 通过新增流浪商人NPC类型修复 #791。
- 通过将AI防护机制扩展至史诗战斗及原始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。
- 修复因可选的史诗战斗与方块宝可梦实体类型映射引发的启动崩溃(#774)。
- 通过在基础刻度循环中及打开交易界面前检查限时交易重置,修复 #773。
- 通过正确增加内部计时器,修复交易重置时机异常。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例NPC预设“天穹哨兵”,包含昼夜时间与天气条件。
6.23.0
- 通过调整403与404错误下的纹理重试策略并降低日志等级,修复 #772。
- 修复史诗战斗NPC(唤魔者、掠夺者、卫道士及拟人化皮肤)的物品渲染问题(#770)。
- 修复NPC开门关门不可靠导致的门循环问题(#769)。
- 通过新增对话按钮选项及配置设置(
buttonConditionMode: LOCK或HIDE),支持锁定或隐藏不可用的条件性对话按钮,修复 #760。 - 通过新增支持32种预设颜色及手动RGB/十六进制值的颜色选择弹窗,修复 #709。
- 修复未指定颜色时重命名NPC导致名称颜色被重置的问题,改为保留现有名称颜色。
- 优化门移动属性,使“穿越门”在启用“开门”或“关门”时自动激活。
6.22.0
- 通过向命令执行传递完整服务器玩家上下文,提升与依赖特定玩家数据的第三方模组及插件的兼容性,修复 #766。
- 通过新增实体生命值、NPC生命值条件及示例NPC预设“格鲁克——陪练木桩”,修复 #764。
- 修复对话按钮执行次数限制未被记录的问题(#763)。
- 通过提供名为“一愿随行”的示例NPC预设,修复 #758。
- 修复第三方村民AI(如PoiCompetitorScan / job_site)读取Easy NPC村民未注册脑记忆导致的崩溃(#756)。
- 修复对话按钮未针对服务端数据锁定的问题,为 #760 和 #644 做准备。
- 通过新增条件性对话开启支持/命令,实现对对话向玩家展示时机的精细控制,修复 #628。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册全部原版脑记忆集合。
- 为枪械标签新增更多枪械,以支持 #757。
- 新增“条件性开启对话”动作,仅当满足其条件时才开启指定名称的对话;而原有“开启对话”动作仍保持无条件开启。
- 新增用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌属性,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性,防止NPC被近战或投射物攻击击退。
- 新增“爆炸免疫”战斗属性,使NPC免疫爆炸伤害与位移(如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性迁移至战斗属性界面(此前位于能力界面),使其主题归属更合理。
6.21.0
- 修复交叉手臂姿态下卫道士手持物品的附件异常。
- 修复卫道士十字弓攻击目标失效问题。
- 修复第三方物品无法作为手持物品渲染导致的崩溃(#756)。
- 修复第三方混入(mixins)尝试访问不存在模型部件导致的崩溃(#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。
- 通过改进史诗战斗集成并启用实验性功能,修复 #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中新增模型部件名称常量,以确保混入(mixins)中的一致使用。
- 通过增强过滤逻辑并优化数据结构,改进RenderEntityTypeSupportConfig性能与可维护性。
- 移除转储大型数据结构的冗长调试日志。
6.11.0
- 修复新自定义图层系统与手部渲染导致的 #703 渲染问题。
- 通过为无效交易报价新增额外防护与日志记录,修复 #701。
- 修复智能动画在头部位置修改后无法正常工作的问题。
- 通过将玩家检测移回服务端独占,修复头部追踪异常。
- 修复CustomLookAtPlayerGoal对边缘情况的处理能力不足及抖动问题。
- 修复多普勒NPC持续持有手部物品的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 通过切换至
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。 - 新增基于玩家交互与动作的NPC升级进度数据支持。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原模型上使用变体纹理。
6.8.1
- 通过复用现有预设辅助方法而非自定义方法,修复 #676。
6.8.0(新增API支持)
- 通过为无效网络数据包新增警告消息与额外校验,修复 #667。
- 修复马匹生成蛋模型。
- 修复悦灵、鸡、苦力怕、狐狸、恶魂、马、卫道士、铁傀儡、史莱姆与恼鬼的姿态支持。
- 新增NPC基础类,以提升API支持能力。
- 新增NPC原始类,以支持高级API功能。
- 新增史莱姆与恶魂NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性及未来改进空间。
6.7.1
- 通过在客户端新增原版Bug校验,修复
... [内容过长已截断]
Easy NPC (Bundle) 6.25.0
on 2026 Jun 29Easy NPC:核心版(1.21.1)更新日志
注意事项
本更新日志仅汇总关键变更内容。
完整变更记录请访问 [GitHub 历史记录][history]。
注意:更新前请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
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预设“一愿之伴”。
- 修复 #756:解决第三方村民AI读取Easy NPC村民未注册脑记忆(如PoiCompetitorScan / job_site)导致的崩溃。
- 修复对话按钮在服务端数据下未被锁定的问题,为 #760 和 #644 做准备。
- 修复 #628:新增条件性对话开启支持/命令,以更精细地控制对话向玩家展示的时机。
- 为猪灵与猪灵蛮兵NPC新增脑AI,并注册全部原版脑记忆。
- 为 #757 新增更多枪械至枪械标签。
- 新增“条件性开启对话”动作:仅当满足指定条件时才开启对应名称的对话;原有“开启对话”动作仍保持无条件开启。
- 新增实体生命值与NPC生命值条件,适用于动作、对话及对话按钮。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌属性,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性:使NPC免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使NPC免疫爆炸伤害与位移(例如TNT、苦力怕、末影水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),使其主题归属更合理。
6.21.0
- 修复交叉手臂姿势下卫道士类NPC的物品附着问题。
- 修复卫道士类NPC损坏的十字弓攻击目标。
- 修复 #756:解决第三方物品无法作为手持物品渲染导致的崩溃。
- 修复 #756:解决第三方混入(Mixin)尝试访问不存在模型部件导致的崩溃。
- 修复日志信息(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
- 修复 #732:新增选项,禁用对话框的ESC键与关闭按钮。
- 修复 #723:避免在交易界面等特定情况下自动关闭对话框。
- 新增通用对话配置选项,允许用户自定义对话行为。
- 新增头像缩放与位置偏移选项,用于对话框。
- 新增缺失的翻译键。
6.15.0(交易、玩家头颅、史诗战斗及体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:优化史诗战斗(Epic Fight)集成并启用实验性功能。
- 修复 #729:确保交易使用次数被正确存储。
- 修复 #728:新增玩家头颅的自定义头支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易特有边缘情况:可在基础交易模式与普通/高级交易模式间切换。
- 修复对话按钮文字被截断问题,完整文字通过提示显示。
- 修复 Cobblemon 动画问题:通过同步动画状态至 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、加入/离开时缺失的玩家目标刷新,以及离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定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根部朝向玩家。
- 修复移动工具错误触发交互:在交互处理器中新增移动工具检测。
- 修复预设物品错误触发交互:在交互处理器中新增预设物品检测。
- 修复史莱姆与恶魂的碰撞箱及姓名标签位置问题:通过调整边界框与眼高计算解决。
- 修复史莱姆与恶魂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类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性及未来改进空间。
6.7.1
- 修复 #657 与 #656:新增客户端侧额外检查,应对原版Bug。
6.7.0
- 修复 #650:于 setupAnim 方法中实现狼腿部动画。
- 修复 #648:修正 canBeHitByProjectiles 翻译。
- 修复 #645:新增
allowBypassInvulnerability配置选项,允许/禁止绕过NPC无敌状态。 - 修复小宽度下删除按钮仍显示标签的问题。
- 修复某些情况下上下按钮位置不正确的问题。
- 修复对话与配置UI中姓名标签意外显示的问题。
- 修复距离动作问题:多个动作未能被正确触发。
- 修复NPC预设相关问题。
- 修复猫NPC与狼NPC所有者数据同步异常问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本)导出与导入功能,方便分享NPC预设。 - 重构现有NPC预设,采用新
.snbt格式。 - 重构刷怪笼系统,采用新预设格式,以提升可维护性及未来改进空间。
6.6.2
- 修复 #643:重构缩放系统。
- 修复重启/重载后缩放未能正确更新碰撞箱与姓名标签位置的问题。
- 新增MID与MOUSE_OVER姓名标签可见性模式,以更精细控制NPC姓名显示。
- 新增基于队伍的姓名标签可见性支持,遵循原版队伍机制。
6.6.1
- 修复 #638:重构显示属性的内部数据处理逻辑。
6.6.0
- 修复 #634:实现异步纹理加载,并配备专用线程池。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 修复纹理重载防护中的竞态条件:使用原子操作解决。
- 修复远程纹理下载期间HTTP连接的资源泄
... [内容过长已截断]
Easy NPC (Bundle) 6.25.0
on 2026 Jun 29Easy NPC:核心版(1.21.1)更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及所有NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
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。
- 修复了 #774:因可选的史诗战斗(Epic Fight)与方块宝可梦(Cobblemon)实体类型映射引发的启动崩溃。
- 修复了 #773:在基础游戏刻及打开交易界面前检查限时交易重置状态。
- 通过正确增加内部计时器,修复了交易重置时机不准的问题。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设“天穹哨探”,支持昼夜时间与天气条件。
6.23.0
- 通过调整对403与404错误的纹理重试策略并降低日志级别,修复了 #772。
- 修复了 #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
- 修复了交叉手臂姿势下卫道士(Illager)的物品附着问题。
- 修复了卫道士(Illager)弩箭攻击目标失效的问题。
- 修复了 #756:第三方物品无法作为手持物品渲染所引发的崩溃。
- 修复了 #756:第三方混入(Mixin)尝试访问不存在模型部件所引发的崩溃。
- 通过降低日志冗余度并增加自定义模型部件的额外检查,修复了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)动画问题:通过同步动画状态至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文档与自定义模型支持示例。
- 修复了配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复了恶魂(Ghast)与史莱姆(Slime)碰撞箱及名称标签位置问题:通过调整包围盒解决。
- ⚠️ 新增安全检查,防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的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(Doppler NPCs)持续持有手持物品库存的问题。
- 优化PoseManager日志消息。
- 更新Logo,采用全新设计。
6.10.0
- 修复了 #698:为第三方实体创建添加try-catch异常捕获。
- 修复了 #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:新增多种逃跑目标(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,以丰富驯服后的环境音效。 - 将周期性NPC保存操作的日志级别由INFO降为DEBUG。
6.8.3
- 修复了 #680:通过升级网络协议版本,强制校验版本不匹配问题。
- 修复了 #679:重置名称标签的位置、旋转与尺寸。
- 修复了 #665:新增根部旋转的多状态滑块。
- 修复了 #664:新增禁用跟随鼠标光标选项,简化姿势调整。
- 修复了 #663:增强X轴与Z轴根部旋转支持。
- 修复了 #661:新增NPC法杖配合潜行的快速旋转功能,使NPC根部朝向玩家。
- 修复了移动工具错误触发交互行为的问题:在交互处理器中新增移动工具检查。
- 修复了预设物品错误触发交互行为的问题:在交互处理器中新增预设物品检查。
- 修复了史莱姆(Slime)与恶魂(Ghast)碰撞箱及名称标签位置问题:通过调整包围盒与眼睛高度计算解决。
- 修复了史莱姆(Slime)与恶魂(Ghast)GUI位置问题:通过调整偏移值解决。
6.8.2
- 修复了 #677:扩展
SafeMerchantData,新增notifyTrade方法,避免崩溃。 - 新增进度数据支持,可根据玩家交互与动作为NPC升级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原版模型上使用变体纹理。
6.8.1
- 修复了 #676:改用现有预设辅助方法,而非自定义方法。
6.8.0(新增API支持)
- 修复了 #667:新增无效网络数据包的警告信息与额外检查。
- 修复了马匹生成蛋模型。
- 修复了悦灵(Allay)、鸡(Chicken)、苦力怕(Creeper)、狐狸(Fox)、恶魂(Ghast)、马(Horse)、卫道士(Illager)、铁傀儡(Iron Golem)、史莱姆(Slime)与恼鬼(Vex)的姿势支持。
- 新增NPC基础类,以提升API支持能力。
- 新增NPC原始类,以支持高级API功能。
- 新增史莱姆(Slim)与恶魂(Ghast)NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性及未来扩展性。
6.7.1
- 修复了 #657 和 #656:新增客户端侧检查,应对原版漏洞。
6.7.0
- 修复了 #650:在setupAnim方法中实现狼腿动画。
- 修复了 #648:“canBeHitByProjectiles”的翻译问题。
- 修复了 #645:新增
allowBypassInvulnerability配置选项,允许/禁止绕过NPC无敌状态。 - 修复了删除按钮在宽度较小时仍显示标签的问题。
- 修复了上下按钮在某些情况下定位不正确的问题。
- 修复了对话与配置界面中名称标签意外显示的问题。
- 修复了距离型动作中多个动作无法被正确触发的问题。
- 修复了NPC预设相关问题。
- 修复了猫形NPC与狼形NPC的拥有者数据同步异常问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(纯文本)导出与导入
... [内容过长已截断]
Easy NPC (Bundle) 6.25.0
on 2026 Jun 29Easy NPC(1.20.1)更新日志
注意事项
本日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
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(如PoiCompetitorScan / job_site)读取Easy NPC村民未注册脑记忆导致的崩溃(#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(Cobblemon支持与对话优化)
- 通过确保值变更时同步至客户端,修复了 #727 问题。
- 通过为特定命令新增额外白名单,修复了 #726 问题。
- 通过为Cobblemon NPC新增基础支持,修复了 #686、#389、#304 与 #211 问题。
- 通过调整对话精灵图与界面,修复了对话错位与导航问题。
- 通过修正旋转逻辑与枢轴点计算,修复了X轴与Z轴根部旋转问题。
- 新增基础Cobblemon支持,含自定义NPC类型与测试用模型。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务端命令具备潜在危险性,恶意使用可能造成风险。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,因此现有NPC的根部旋转与缩放值可能被重置为默认值。
- 通过将模型根部数据与逻辑同其余模型部件数据与逻辑分离,修复了 #725 问题。
- 通过支持本地预设.sbnt文件,修复了 #722 问题。
- 通过为对话与配置界面背景新增专用资源,修复了 #675 问题。
- 通过新增安全检查与权限系统,修复了 #605、#532 与 #529 问题。
- 通过新增实验性API文档与自定义模型支持示例,修复了 #469 与 #311 问题。
- 通过移除冗余背景渲染,修复了配置界面背景重复渲染问题。
- 通过调整包围盒,修复了恶魂碰撞箱与名称标签位置问题。
- ⚠️ 新增安全检查,防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义能力与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的LuckPerms集成(如 #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、加入/离开时缺失的玩家目标刷新、离线目标重试机制等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定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 问题。 - 新增基于玩家互动与动作的NPC升级进度数据支持。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 为
OriginalModelConfig.withVariantTexture()新增支持变体纹理选项。
6.8.1
- 通过使用现有预设辅助方法替代自定义方法,修复了 #676 问题。
6.8.0(新增API支持)
- 通过为无效网络数据包新增警告消息与额外校验,修复了 #667 问题。
- 修复马生成蛋模型。
- 修复悦灵、鸡、苦力怕、狐狸、恶魂、马、劫掠者、铁傀儡、史莱姆与恼鬼的姿势支持。
- 新增NPC基类,提升API支持能力。
- 新增NPC原始类,为高级API支持提供便利。
- 新增史莱姆与恶魂NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,提升可维护性与未来拓展性。
6.7.1
- 通过新增客户端侧原版Bug校验,修复了 #657 与 #656 问题。
6.7.0
- 通过在setupAnim方法中实现狼腿部动画,修复了 #650 问题。
- 通过修复canBeHitByProjectiles翻译,修复了 #648 问题。
- 通过新增
allowBypassInvulnerability配置项控制NPC是否允许绕过无敌状态,修复了 #645 问题。 - 修复小宽度下删除按钮仍显示标签的问题。
- 修复上下按钮在某些情况下定位不准的问题。
- 修复对话与配置界面中名称标签异常显示的问题。
- 修复距离型动作中多个动作未能正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫NPC与狼NPC所有者数据同步异常问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设.snbt(文本)导出与导入功能,便于分享NPC预设。
- 重构现有NPC预设,改用新.snbt格式。
- 重构刷怪笼系统,采用新预设格式以提升可维护性与未来拓展性。
6.6.2
- 通过重构缩放系统,修复了 #643 问题。
- 修复重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,实现NPC名称显示的精细控制。
- 新增基于队伍的名称标签可见性支持,尊重原版队伍设定。
... [内容过长已截断]
Easy NPC (Bundle) 6.25.0
on 2026 Jun 29Easy NPC(1.20.1)更新日志
注意事项
本日志仅汇总关键变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
注意:更新前请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
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,并注册全部原版脑记忆集合。
- 为枪械标签(gun tag)新增更多枪械,以支持 #757。
- 新增“条件化开启对话”动作:仅当满足指定条件时才开启命名对话;而原有“开启对话”动作仍保持无条件开启。
- 新增用于动作、对话及对话按钮的实体生命值与NPC生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵NPC新增无敌状态,以与其他NPC保持一致。
- 新增“击退免疫”战斗属性,使NPC免受近战或投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性,使NPC对爆炸伤害与位移(如TNT、苦力怕、末地水晶)完全免疫。
- 将“投射物碰撞”属性移至战斗属性界面,使其主题归属更合理(此前位于能力界面)。
6.21.0
- 修复了交叉手臂姿势下劫掠者类NPC的物品附着问题。
- 修复了劫掠者类NPC损坏的十字弓攻击目标。
- 修复了第三方物品无法作为手持物品渲染所引发的崩溃(#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(交易、玩家头颅、史诗战斗与体验优化更新)
- 通过在客户端物种列表为空时重新同步物种数据,修复了 #731 问题。
- 通过改进史诗战斗(Epic Fight)集成并启用实验性功能,修复了 #730 问题。
- 通过确保交易使用次数被正确存储,修复了 #729 问题。
- 通过新增玩家头颅自定义支持,修复了 #728 问题。
- 通过显示剩余交易次数并支持手动与自动重置,修复了 #689 问题。
- 通过新增交易配置界面及对自定义交易的更好支持,修复了 #218 与 #132 问题。
- 通过在基础与常规/高级交易模式间切换,修复了特定交易边缘情况。
- 修复了对话按钮文字被截断、但工具提示可显示全文的问题。
- 通过同步动画状态至方块宝可梦(Cobblemon)动画系统,修复了Cobblemon动画问题。
- 新增按交易定制的动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·研磨石”,含动作配置。
- 清理测试文件。
6.14.0(方块宝可梦支持与对话优化)
- 通过确保值变更后同步至客户端,修复了 #727 问题。
- 通过为特定命令新增额外白名单,修复了 #726 问题。
- 通过为方块宝可梦(Cobblemon)NPC新增基础支持,修复了 #686、#389、#304 与 #211 问题。
- 通过调整对话精灵图与界面,修复了对话错位与导航问题。
- 通过修正旋转逻辑与枢轴点计算,修复了X轴与Z轴根部旋转问题。
- 新增基础方块宝可梦(Cobblemon)支持,含自定义NPC类型与测试用模型。
6.13.0(安全与权限更新)
注意:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务器命令可能存在潜在风险,若被恶意利用则可能导致严重后果。
本次更新将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,因此可能导致现有NPC的根部旋转与缩放重置为默认值。
- 通过将模型根部数据与逻辑从其余模型部件数据与逻辑中分离,修复了 #725 问题。
- 通过支持本地预设.sbnt文件,修复了 #722 问题。
- 通过为对话与配置界面背景新增专用资源,修复了 #675 问题。
- 通过新增安全检查与权限系统,修复了 #605、#532 与 #529 问题。
- 通过新增实验性API文档与自定义模型支持示例,修复了 #469 与 #311 问题。
- 通过移除冗余背景渲染,修复了配置界面背景重复渲染问题。
- 通过调整边界框,修复了恶魂(Ghast)碰撞箱与名称标签位置问题。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的Luck Perms集成(如 #712)做好权限系统准备。
- 针对配置界面渲染与资源进行通用代码清理与优化。
6.12.0
- 通过基于原版模型对自定义模型部件列表新增额外检查,修复了 #714 问题。
- 通过将每个NPC的INFO级别日志降级为DEBUG级别,并合并冗余警告消息,修复了 #713 问题。
- 通过减少启动/配置日志输出量,修复了 #711 问题。
- 修复NBT验证守卫,防止生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保Mixin中的一致使用。
- 通过增强过滤逻辑与优化数据结构,提升RenderEntityTypeSupportConfig性能与可维护性。
- 移除会转储大型数据结构的冗长调试日志。
6.11.0
- 修复了新自定义图层系统与手持物品渲染导致的 #703 渲染问题。
- 通过为无效交易报价新增额外防护与日志记录,修复了 #701 问题。
- 修复了智能动画在头部位置修改后无法正常工作的问题。
- 通过将玩家检测移回仅服务端执行,修复了头部追踪问题。
- 修复CustomLookAtPlayerGoal,以更好地处理边缘情况并减少抖动。
- 修复多普勒(Doppler)NPC持续持有其手持物品库存的问题。
- 优化PoseManager日志消息。
- 更新Logo为新设计。
6.10.0
- 通过在切换至
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 问题。
- 修复姿势加载逻辑,使其直接从模组资源读取,而非复制文件至磁盘。
- 通过在保存NPC前先检查现有注册项,修复了实体加入时重复调用
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 问题。
- 修复移动工具错误触发交互的问题:在交互处理器中新增移动工具检测。
- 修复预设物品错误触发交互的问题:在交互处理器中新增预设物品检测。
- 通过调整边界框与眼高计算,修复史莱姆(Slime)与恶魂(Ghast)的碰撞箱及名称标签位置问题。
- 通过调整偏移值,修复史莱姆(Slime)与恶魂(Ghast)的GUI位置问题。
6.8.2
- 通过扩展
SafeMerchantData并添加notifyTrade方法,修复了 #677 问题,避免崩溃。 - 新增进度数据支持,可根据玩家交互与动作提升NPC等级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原始模型上使用变体纹理。
6.8.1
- 通过复用现有预设辅助方法而非自定义方法,修复了 #676 问题。
6.8.0(新增API支持)
- 通过为无效网络数据包新增警告消息与额外检查,修复了 #667 问题。
- 修复马生成蛋模型。
- 修复悦灵(Allay)、鸡(Chicken)、苦力怕(Creeper)、狐狸(Fox)、恶魂(Ghast)、马(Horse)、劫掠者(Illager)、铁傀儡(Iron Golem)、史莱姆(Slime)与恼鬼(Vex)的姿势支持。
- 新增NPC基类,以增强API支持。
- 新增NPC原始类,以支持高级API功能。
- 新增史莱姆(Slime)与恶魂(Ghast)NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性与未来改进空间。
6.7.1
- 通过为原版Bug新增额外客户端检查,修复了 #657 与 #656 问题。
6.7.0
- 通过在setupAnim方法中实现狼腿部动画,修复了 #650 问题。
- 通过修复canBeHitByProjectiles翻译,修复了 #648 问题。
- 通过新增
allowBypassInvulnerability配置选项以允许/禁止绕过NPC无敌状态,修复了 #645 问题。 - 修复删除按钮即使宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不正确的问题。
- 修复对话与配置界面中名称标签意外显示的问题。
- 修复距离动作中多个动作未能正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫NPC与狼NPC所有者数据未能正确同步的问题。
- 新增预设浏览器,便于快速选择常用NPC预
... [内容过长已截断]
Easy NPC (Bundle) 6.24.1
on 2026 Jun 28Easy NPC:核心版(1.21.11)更新日志
注意事项
本日志仅汇总关键变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
⚠️ 重要提示:升级至新版本前,请务必备份您的世界存档及所有NPC数据!
更多升级说明请查阅 [升级指南][upgrade_guide]。
6.24.0
- 通过新增“阻止与隐身NPC交互”选项,修复了 #459 和 #775。
- 修复了 #774:因可选的 Epic Fight 与 Cobblemon 实体类型映射引发的启动崩溃。
- 修复了 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置逻辑。
- 修正交易重置时机,正确提升内部计时器。
- 为 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的单元测试与游戏内测试。
- 新增示例NPC预设
Skywatch Scout(天巡侦察员),演示昼夜时间与天气条件的使用。
6.23.0
- 修复了 #774:将
isSunBurnTick错误迁移至 26.x 版本。 - 修复了 #772:优化纹理加载重试机制,对 403 与 404 错误进行适配,并降低日志输出等级。
- 修复了 #770:改进 Epic Fight NPC(唤魔者、掠夺者、卫道士及人形皮肤)的物品渲染效果。
- 修复了 #769:NPC开门/关门动作不可靠的问题(门循环异常)。
- 修复了 #760:新增对话按钮选项及配置项(
buttonConditionMode: LOCK 或 HIDE),支持锁定或隐藏不可用的条件型对话按钮。 - 修复了 #709:为NPC名称新增颜色选择弹窗,提供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)尝试访问不存在模型部件所引发的崩溃。
- 通过降低日志冗余度并增加自定义模型部件校验,减少
log.info的刷屏信息。 - 提升
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.1
- 修复了 #735:继承正确的基类。
- 修复若干 26.1.2 版本专属问题(经手动生成测试发现)。
6.15.0(交易、玩家头颅、Epic Fight 与体验优化更新)
- 修复了 #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文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂与史莱姆的碰撞箱及名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查机制,防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的 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、加入/离开时缺少面向玩家的刷新、离线目标重试机制等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定ROOT旋转的功能;现由用户自主控制。
- 在高级与自定义姿势配置界面中新增旋转锁定复选框。
- 在
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,丰富驯服后的环境音效。 - 将周期性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原始类(raw classes),以支持高级API功能。
- 新增史莱姆与恶魂NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,提升可维护性与未来可扩展性。
6.7.1
- 修复了 #657 与 #656:新增客户端侧额外校验,应对原版漏洞。
6.7.0
- 修复了 #650:在
setupAnim方法中实现狼腿部动画。 - 修复了 #648:修正
canBeHitByProjectiles翻译。 - 修复了 #645:新增
allowBypassInvulnerability配置项,控制NPC是否允许绕过无敌状态。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不正确的问题。
- 修复对话与配置界面中显示名称标签的问题。
- 修复距离型动作中多个动作未能正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫NPC与狼NPC所有者数据同步异常的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本)导出与导入功能,方便分享NPC预设。 - 重构现有NPC预设,统一采用新的
.snbt格式。 - 重构刷怪笼系统,采用新预设格式,提升可维护性与未来可扩展性。
6.6.2
- 修复了 #643:重构缩放系统。
- 修复重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,实现更精细的NPC名称显示控制。
- 新增基于队伍的名称标签可见性支持,尊重原版队伍设定。
6.6.1
- 修复了 #638:重构显示属性的内部数据处理逻辑。
6.6.0
- 修复了 #634:实现异步纹理加载,并配备专用线程池。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 使用原子操作修复纹理重载防护中的竞态条件。
- 修复远程纹理下载过程中HTTP
... [内容过长已截断]
Easy NPC (Bundle) 6.24.1
on 2026 Jun 28Easy NPC:核心版(1.21.11)更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及 NPC 数据!
更多详情请查阅 [升级指南][upgrade_guide]。
6.24.0
- 通过添加“阻止与隐形 NPC 交互”选项,修复了 #459 和 #775。
- 修复了 #774:启动崩溃问题(由可选的 Epic Fight 与 Cobblemon 实体类型映射引发)。
- 修复了 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 通过正确增加内部计时器,修复了交易重置时机问题。
- 为 #459 添加了昼夜时间与天气条件支持。
- 新增了针对交易重置、计时器处理及实体属性的单元测试与游戏测试。
- 新增示例 NPC 预设
Skywatch Scout,演示昼夜时间与天气条件的使用。
6.23.0
- 通过将 isSunBurnTick 错误迁移至 26.x 版本,修复了 #774。
- 通过优化纹理加载重试机制(适配 403 与 404 错误)并降低日志等级,修复了 #772。
- 修复了 #770:Epic Fight NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染问题。
- 修复了 #769:NPC 开关门循环异常(门无法可靠开启或关闭)。
- 修复了 #760:新增对话选项及配置项(buttonConditionMode:LOCK 或 HIDE),用于锁定或隐藏不可用的条件型对话按钮。
- 修复了 #709:为 NPC 名称添加颜色选择弹窗,支持 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 尝试访问不存在的模型部件导致的崩溃。
- 通过降低日志详细程度并为自定义模型部件添加额外校验,修复了 log.info 日志刷屏问题。
- 提升了 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.1
- 修复了 #735:通过继承正确的基类解决。
- 修复了若干 26.1.2 版本特有的手动生成测试问题。
6.15.0(交易、玩家头颅、Epic Fight 及体验优化更新)
- 修复了 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复了 #730:改进 Epic Fight 集成并启用实验性功能。
- 修复了 #729:确保交易使用次数被正确保存。
- 修复了 #728:添加玩家头颅的自定义头颅支持。
- 修复了 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复了 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复了交易特定边缘情况:可在基础交易模式与普通/高级交易模式间切换。
- 修复了对话按钮文字被截断问题(完整文字可通过提示查看)。
- 修复了 Cobblemon 动画问题:通过同步动画状态至 Cobblemon 动画系统解决。
- 新增每笔交易专属动作,允许用户在购买后触发动作。
- 新增交易重置按钮,便于一键重置所有交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人
Griselda Grindstone,附带动作示例。 - 清理测试文件。
6.14.0
- 修复了 #727:确保值变更时同步至客户端。
- 修复了 #726:为特定命令添加额外白名单。
- 修复了 #686、#389、#304、#211:通过 Cobblemon NPC 添加基础 Cobblemon 支持。
- 修复了对话错位与导航问题:通过调整对话精灵图与界面解决。
- 修复了 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、加入/离开时缺少面向玩家的刷新、以及离线目标重试机制。 - 修复了目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定 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 添加至各类实体渲染器。
- 新增专用
Flee Objective配置标签页,含针对爬行者、怪物、生物、玩家、村民及阳光的逃跑目标。 - 在跟随目标标签页中新增
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 类型。
- 新增自定义模型 API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性与未来改进空间。
6.7.1
- 修复了 #657 与 #656:为原版漏洞添加额外客户端校验。
6.7.0
- 修复了 #650:在 setupAnim 方法中实现狼腿部动画。
- 修复了 #648:修正 canBeHitByProjectiles 的翻译。
- 修复了 #645:新增
allowBypassInvulnerability配置选项,允许/禁止绕过 NPC 无敌状态。 - 修复了删除按钮在宽度较小时仍显示标签的问题。
- 修复了上下按钮在某些情况下定位不正确的问题。
- 修复了对话与配置界面中显示名称标签的问题。
- 修复了距离型动作问题:多个动作未能被正确触发。
- 修复了 NPC 预设相关问题。
- 修复了猫 NPC 与狼 NPC 的拥有者数据未正确同步的问题。
- 新增预设浏览器,便于快速选择常用 NPC 预设。
- 新增预设 .snbt(文本)导出与导入功能,便于分享 NPC 预设。
- 重构现有 NPC 预设,采用新 .snbt 格式。
- 重构生成器系统,采用新预设格式,以提升可维护性与未来改进空间。
6.6.2
- 修复了 #643:重构缩放系统。
- 修复了重启/重载后缩放未正确更新碰撞箱与名称标签位置的问题。
- 新增 MID 与 MOUSE_OVER 名称标签可见性模式,实现更精细的 NPC 名称显示控制。
- 新增基于队伍的名称标签可见性支持,尊重原版队伍机制。
6.6.1
- 修复了 #638:重构显示属性
... [内容过长已截断]
Easy NPC (Bundle) 6.24.1
on 2026 Jun 28Easy NPC:核心版(1.21.11)更新日志
注意事项
本日志仅汇总主要变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
注意:更新前请务必备份您的世界存档及 NPC 数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
6.24.0
- 通过新增“阻止与不可见 NPC 交互”选项,修复了问题 #459 和 #775。
- 修复了问题 #774:因可选的 Epic Fight 与 Cobblemon 实体类型映射引发的启动崩溃。
- 修复了问题 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置逻辑。
- 修正交易重置时机,正确提升内部计时器计数值。
- 为问题 #459 新增昼夜时间与天气条件支持。
- 新增针对交易重置、计时器处理及实体属性的额外单元测试与游戏内测试。
- 新增示例 NPC 预设
Skywatch Scout(天巡侦察员),含昼夜时间与天气条件。
6.23.0
- 通过将 isSunBurnTick 错误迁移至 26.x 版本,修复问题 #774。
- 通过优化纹理加载重试机制(适配 403 与 404 错误)并降低日志输出级别,修复问题 #772。
- 修复问题 #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(如 PoiCompetitorScan / job_site)读取 Easy NPC 村民未注册脑记忆时引发的崩溃。
- 为准备问题 #760 与 #644,修复对话按钮在服务端数据下未锁定的问题。
- 修复问题 #628:新增条件型对话开启支持/指令,实现更精细地控制对话向玩家展示的时机。
- 为猪灵与猪灵蛮兵 NPC 新增脑 AI,并完整注册原版全部脑记忆。
- 为枪械标签(gun tag)新增若干枪械,以支持问题 #757。
- 新增“条件型开启对话”动作:仅当满足指定条件时才开启指定名称的对话;原有“开启对话”动作保持无条件开启。
- 新增适用于动作、对话及对话按钮的实体生命值与 NPC 生命值条件。
- 为猪灵、猪灵蛮兵与僵尸猪灵 NPC 新增无敌属性,与其他 NPC 行为保持一致。
- 新增“击退免疫”战斗属性:使 NPC 免受近战与投射物攻击造成的击退效果。
- 新增“爆炸免疫”战斗属性:使 NPC 免受爆炸伤害及位移(如 TNT、爬行者、末地水晶)。
- 将“投射物碰撞”属性移至战斗属性界面(此前位于能力界面),使其主题归属更合理。
6.21.0
- 修复持交叉手臂姿态的灾厄村民(Illager)物品附着问题。
- 修复灾厄村民十字弓攻击目标失效问题。
- 修复问题 #756:第三方物品无法作为手持物品渲染所引发的崩溃。
- 修复问题 #756:第三方 Mixin 尝试访问不存在模型部件所引发的崩溃。
- 通过降低日志冗余度并增加自定义模型部件校验,修复日志信息(log.info)刷屏问题。
- 提升 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.1
- 修复问题 #735:扩展正确的基类。
- 修复若干 26.1.2 版本专属问题(经手动生成测试确认)。
6.15.0(交易、玩家头颅、Epic Fight 及体验优化更新)
- 修复问题 #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)与史莱姆(Slime)的碰撞箱及名称标签位置问题:调整边界框。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义能力与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能集成 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(Doppler NPCs)持续持有手持物品的问题。
- 优化 PoseManager 日志消息。
- 更新 Logo 为全新设计。
6.10.0
- 修复问题 #698:为第三方实体创建添加 try-catch 异常捕获。
- 修复问题 #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标志,使瞬态索引(如十字弓充能、模型动画)不再触发脏标记(dirty-save marking)。 - 为
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 类型。
- 新增自定义模型 API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性及未来改进空间。
6.7.1
- 修复问题 #657 与 #656:新增额外客户端校验,应对原版漏洞。
6.7.0
- 修复问题 #650:在 setupAnim 方法中实现狼腿部动画。
- 修复问题 #648:修正 canBeHitByProjectiles 翻译。
- 修复问题 #645:新增
allowBypassInvulnerability配置项,支持允许/禁止绕过 NPC 无敌状态。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不正确的问题。
- 修复对话与配置界面中名称标签意外显示的问题。
- 修复距离型动作问题:多个动作未能正确触发。
- 修复 NPC 预设相关问题。
- 修复猫形 NPC 与狼形 NPC 的拥有者数据同步异常问题。
- 新增预设浏览器,便于快速选择常用 NPC 预设。
- 新增预设 .snbt(文本)导出与导入功能,便于分享 NPC 预设。
- 重构现有 NPC 预设,采用新的 .snbt 格式。
- 重构生成器系统,采用新预设格式,以提升可维护性及未来改进空间。
6.6.2
- 修复问题 #643:重构缩放系统。
- 修复重启/重载后缩放未能正确更新碰撞
... [内容过长已截断]
Easy NPC (Bundle) 6.24.0
on 2026 Jun 27Easy NPC(1.20.1)更新日志
说明
本更新日志汇总了主要变更内容。
如需查看完整变更记录,请访问 [GitHub 历史记录][history]。
⚠️ 注意:更新前请务必备份您的世界存档及NPC数据!
更多升级相关信息,请参阅 [升级指南][upgrade_guide]。
6.24.0
- 通过新增“阻止与隐身NPC交互”选项,修复了问题 #459 和 #775。
- 修复了问题 #774:因可选的 Epic Fight 与 Cobblemon 实体类型映射导致的启动崩溃。
- 修复了问题 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 通过正确增加内部计时器,修正了交易重置时机。
- 为问题 #459 新增了“时间(白天/夜晚)”与“天气条件”支持。
- 新增了针对交易重置、计时器处理及实体属性的额外单元测试与游戏内测试。
- 新增示例NPC预设
Skywatch Scout(天巡侦察员),支持时间与天气条件。
6.23.0
- 修复了问题 #772:优化纹理加载重试机制,对 403 和 404 错误进行适配,并降低日志输出级别。
- 修复了问题 #770:改进 Epic Fight NPC(唤魔者、掠夺者、卫道士及人形皮肤)的物品渲染效果。
- 修复了问题 #769:NPC开门/关门行为不稳定的问题。
- 修复了问题 #760:新增对话按钮选项及配置项(
buttonConditionMode: LOCK 或 HIDE),支持锁定或隐藏不可用的条件型对话按钮。 - 修复了问题 #709:为NPC名称新增颜色选择弹窗,提供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
- 修复了卫道士NPC在“双臂交叉”姿势下的物品附着问题。
- 修复了卫道士NPC十字弓攻击目标失效的问题。
- 修复了问题 #756:第三方物品无法作为手持物品渲染所引发的崩溃。
- 修复了问题 #756:第三方Mixin尝试访问不存在模型部件所引发的崩溃。
- 通过降低日志冗余度并增加自定义模型部件的额外校验,修复了
log.info日志刷屏问题。 - 提升了
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(交易、玩家头颅、Epic Fight 及体验优化更新)
- 修复了问题 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复了问题 #730:优化Epic Fight集成,并启用实验性功能。
- 修复了问题 #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文档与自定义模型支持示例。
- 通过移除冗余背景渲染,修复配置界面背景重复绘制问题。
- 通过调整包围盒,修复恶魂的碰撞箱与名称标签位置问题。
- ⚠️ 新增安全检查,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能的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使用魔杖,使其根部朝向玩家。
- 修复移动工具错误触发交互的问题:在交互处理器中新增移动工具检查。
- 修复预设物品错误触发交互的问题:在交互处理器中新增预设物品检查。
- 修复史莱姆与恶魂的碰撞箱及名称标签位置问题:通过调整包围盒与视线高度计算解决。
- 修复史莱姆与恶魂GUI位置问题:通过调整偏移值解决。
6.8.2
- 修复了问题 #677:扩展
SafeMerchantData,新增notifyTrade方法,避免崩溃。 - 新增NPC成长进度数据支持,依据玩家互动与动作提升NPC等级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原始模型上使用变体纹理。
6.8.1
- 修复了问题 #676:改用现有预设辅助方法,而非自定义方法。
6.8.0(新增API支持)
- 修复了问题 #667:新增无效网络数据包的警告信息与额外校验。
- 修复马生成蛋模型。
- 修复悦灵、鸡、苦力怕、狐狸、恶魂、马、卫道士、铁傀儡、史莱姆与恼鬼的姿势支持。
- 新增NPC基类,以提升API支持能力。
- 新增NPC原始类,以支持高级API使用。
- 新增史莱姆与恶魂NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性与未来扩展性。
6.7.1
- 修复了问题 #657 与 #656:为原版Bug新增额外客户端校验。
6.7.0
- 修复了问题 #650:在
setupAnim方法中实现狼腿部动画。 - 修复了问题 #648:修正
canBeHitByProjectiles翻译。 - 修复了问题 #645:新增
allowBypassInvulnerability配置项,控制是否允许绕过NPC无敌状态。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不正确的问题。
- 修复对话与配置UI界面中显示名称标签的问题。
- 修复距离型动作中多个动作未能正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫NPC与狼NPC所有者数据未正确同步的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本)导出与导入功能,便于分享NPC预设。 - 重构现有NPC预设,采用新
.snbt格式。 - 重构刷怪蛋系统,采用新预设格式以提升可维护性与未来扩展性。
6.6.2
- 修复了问题 #643:重构缩放系统。
- 修复重启/重载后缩放未正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,实现对NPC名称显示的精细控制。
- 新增基于队伍的名称标签可见性支持,遵循原版队伍机制。
6.6.1
- 修复了问题 #638:重构显示属性的内部数据处理逻辑。
6.6.0
- 修复了问题 #634:实现异步纹理加载,并配备专用线程池。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 使用原子操作修复纹理重载防护中的竞态条件。
- 修复远程纹理下载过程中HTTP连接的资源泄
... [内容过长已截断]
Easy NPC (Bundle) 6.24.0
on 2026 Jun 27Easy NPC(1.20.1)版本更新日志
注意事项
本更新日志仅汇总关键变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
6.24.0
- 通过新增“阻止与隐身NPC交互”选项,修复了问题 #459 和 #775。
- 修复了问题 #774:因可选的 Epic Fight 与 Cobblemon 实体类型映射导致的启动崩溃。
- 修复了问题 #773:在基础刻(base tick)期间及打开交易界面前检查限时交易重置。
- 通过正确增加内部计时器,修复了交易重置时机问题。
- 为问题 #459 新增了昼夜时间与天气条件支持。
- 新增了针对交易重置、计时器处理及实体属性的额外单元测试与游戏测试。
- 新增示例NPC预设
Skywatch Scout(天巡侦察员),演示昼夜时间与天气条件的使用。
6.23.0
- 修复了问题 #772:优化纹理加载重试机制,对 403 和 404 错误进行适配,并降低日志输出等级。
- 修复了问题 #770:改进 Epic Fight NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染效果。
- 修复了问题 #769:NPC开门/关门动作不可靠的问题(门循环异常)。
- 修复了问题 #760:新增对话按钮条件选项及配置项(
buttonConditionMode: LOCK 或 HIDE),支持锁定或隐藏不可用的条件型对话按钮。 - 修复了问题 #709:为NPC名称新增颜色选择弹窗,提供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)尝试访问不存在模型部件所引发的崩溃。
- 通过降低日志冗余度并增加自定义模型部件的校验,修复了
log.info信息刷屏问题。 - 提升了
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:为对话按钮新增长文本提示框(tooltip)。
- 修复了问题 #687:为命令值新增提示框,完整显示其值。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增“物品栏中拥有某物品”条件。
- 新增“手持某物品”条件(支持主手与副手)。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例NPC预设
Goldmere(金宝石),包含多种条件与动作。 - 新增否定条件支持,以实现更复杂的逻辑判断。
- 移除
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:新增交易配置界面,并增强对自定义交易的支持。
- 修复了交易特定边缘情况:在基础交易模式与普通/高级交易模式间切换。
- 修复了对话按钮文字截断问题(完整文字通过提示框显示)。
- 修复了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文档与自定义模型支持示例。
- 修复了配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复了恶魂碰撞箱与名称标签位置问题:调整包围盒。
- ⚠️ 新增安全检查机制,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能集成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、加入/离开时缺少面向玩家的刷新、以及对离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定根部旋转的功能;根部旋转锁定现由用户自主控制。
- 在高级与自定义姿势配置界面中新增“旋转锁定”复选框。
- 在
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,以丰富驯服后的环境音效。 - 将周期性NPC保存操作的日志等级由INFO降为DEBUG。
6.8.3
- 修复了问题 #680:通过升级网络协议版本,强制执行版本不匹配检查。
- 修复了问题 #679:重置名称标签的位置、旋转与尺寸。
- 修复了问题 #665:为根部旋转新增多状态滑动支持。
- 修复了问题 #664:新增禁用“跟随鼠标光标”选项,便于姿势编辑。
- 修复了问题 #663:增强对X轴与Z轴根部旋转的支持。
- 修复了问题 #661:新增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原始类(raw classes),以支持高级API功能。
- 新增史莱姆与恶魂NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性与未来拓展性。
6.7.1
- 修复了问题 #657 和 #656:新增客户端侧校验,以应对原版Bug。
6.7.0
- 修复了问题 #650:在
setupAnim方法中实现狼腿部动画。 - 修复了问题 #648:修正
canBeHitByProjectiles翻译。 - 修复了问题 #645:新增
allowBypassInvulnerability配置项,允许/禁止绕过NPC无敌状态。 - 修复了删除按钮在宽度较小时仍显示标签的问题。
- 修复了上下按钮在某些情况下定位不准确的问题。
- 修复了对话与配置界面中名称标签意外显示的问题。
- 修复了距离型动作中多个动作未被正确触发的问题。
- 修复了NPC预设相关问题。
- 修复了猫形NPC与狼形NPC所有者数据未正确同步的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本)导出与导入功能,便于分享NPC预设。 - 重构现有NPC预设,采用新
.snbt格式。 - 重构刷怪笼系统,采用新预设格式以提升可维护性与未来拓展性。
6.6.2
- 修复了问题 #643:重构缩放系统。
- 修复了重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,以更精细地控制NPC名称显示。
- 新增基于队伍的名称标签可见性支持,尊重原版队伍设定。
6.6.1
- 修复了问题 #638:重构显示属性的内部数据处理逻辑。
6.6.0
- 修复了问题 #634:实现异步纹理加载,并配备专用线程池。
- 修复了纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 使用原子操作修复纹理重载防护中的竞态条件。
- 修复远程纹理下载过程中HTTP连接的资源泄漏问题。
- 修复URL验证刷屏问题,避免同一纹理被多次同时下载。
- 修复远程图像验证异常处理问题,防止因无效URL导致崩溃。
- 修复NPC加载过程中出现
... [内容过长已截断]
Easy NPC (Bundle) 6.23.0
on 2026 Jun 25Easy NPC:核心版(1.21.1)更新日志
注意事项
本更新日志仅汇总关键变更内容。
完整更新日志请前往 [GitHub 历史记录][history] 查看。
⚠️ 注意:升级至新版本前,请务必备份您的世界存档及所有NPC数据!
更多升级相关信息,请参阅 [升级指南][upgrade_guide]。
6.23.0
- 修复 #772:优化纹理加载重试机制,针对 HTTP 403 和 404 错误进行适配,并降低日志输出级别。
- 修复 #770:改善“史诗战斗”(Epic Fight)模组中唤魔者、掠夺者、卫道士及类人皮肤NPC的物品渲染效果。
- 修复 #769:解决NPC开门/关门动作不可靠、循环异常的问题。
- 修复 #760:新增对话选项及配置项(
buttonConditionMode: LOCK或HIDE),支持对不满足条件的对话按钮执行锁定或隐藏操作。 - 修复 #709:为NPC名称添加颜色选择弹窗,内置32种预设色,并支持手动输入RGB值或十六进制颜色码。
- 修复重命名NPC时未指定颜色导致名称颜色被重置的问题,现将保留原有名称颜色。
- 优化门交互属性逻辑:当启用“开门”或“关门”功能时,“穿门”功能将自动启用。
6.22.0
- 修复 #766:向命令执行过程传递完整的服务器端玩家上下文,以提升与依赖特定玩家数据的第三方模组/插件的兼容性。
- 修复 #764:新增实体生命值、NPC生命值条件判断功能,并提供示例NPC预设
Grukk, the Sparring Post展示其用法。 - 修复 #763:确保对话按钮执行次数限制现已正确记录。
- 修复 #758:新增示例NPC预设
One Wish Companion。 - 修复 #756:解决第三方村民AI(如 PoiCompetitorScan / job_site)读取Easy NPC村民未注册脑记忆时引发的崩溃问题。
- 修复对话按钮在服务端数据下未被锁定的问题,为后续 #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文档与自定义模型支持示例。
- 修复配置界面背景重复渲染问题:移除冗余背景绘制逻辑。
- 修复恶魂与史莱姆的碰撞箱及名称标签位置问题:通过调整包围盒修正。
- ⚠️ 新增安全检查机制,防范潜在漏洞利用,保障多人环境下的安全运行。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义能力与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专属组件,并将其从核心模组中剥离。
- 移除重复的精灵图集。
- 为未来可能接入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、加入/离开时缺少面向玩家的刷新、离线目标重试机制等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定ROOT旋转的功能;现由用户自主控制根部旋转锁定。
- 在高级与自定义姿势配置界面中新增旋转锁定复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型专属姿势键过滤功能。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData单元测试。 - 新增
NPCDataIsolationTestHelper及 Fabric 与 Forge 平台的游戏测试。 - 将最大头部偏航角范围由60°提升至65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止NPC实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的NPC类型新增基础自定义姿势。
- 修复 #597:新增多种逃离目标的Flee目标,支持逃离玩家、村民、怪物等。
- 修复姿势加载逻辑:直接从模组资源读取,不再复制文件至磁盘。
- 修复实体加入时重复调用
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追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原版模型上使用额外动物纹理。
6.8.1
- 修复 #676:改用现有预设辅助方法,而非自定义实现。
6.8.0(新增API支持)
- 修复 #667:为非法网络数据包新增警告信息与额外校验。
- 修复马匹生成蛋模型。
- 修复悦灵、鸡、苦力怕、狐狸、恶魂、马、灾厄村民、铁傀儡、史莱姆与恼鬼的姿势支持。
- 新增NPC基础类,提升API支持能力。
- 新增NPC原始类,支持高级API开发。
- 新增史莱姆与恶魂NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,提升可维护性与未来扩展性。
6.7.1
- 修复 #657 与 #656:针对原版BUG新增额外客户端校验。
6.7.0
- 修复 #650:在
setupAnim方法中实现狼腿部动画。 - 修复 #648:修正
canBeHitByProjectiles翻译。 - 修复 #645:新增
allowBypassInvulnerability配置项,允许/禁止绕过NPC无敌状态。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位异常的问题。
- 修复对话与配置界面中名称标签意外显示的问题。
- 修复距离动作中多个动作无法被正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫型NPC与狼型NPC所有者数据同步异常问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本格式)导出与导入功能,方便分享NPC预设。 - 重构现有NPC预设,统一采用新
.snbt格式。 - 重构刷怪笼系统,采用新预设格式以提升可维护性与未来扩展性。
6.6.2
- 修复 #643:重构缩放系统。
- 修复重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,实现更精细的NPC名称显示控制。
- 新增基于队伍的名称标签可见性支持,兼容原版队伍系统。
6.6.1
- 修复 #638:重构显示属性的内部数据处理逻辑。
6.6.0
- 修复 #634:实现异步纹理加载,并配备专用线程池。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 修复纹理重载防护中的竞态条件:采用原子操作实现。
- 修复远程纹理下载过程中HTTP连接的资源泄漏问题。
- 修复URL校验泛滥问题:允许多个相同纹理同时下载。
- 修复远程图像校验异常处理缺陷,防止因无效URL导致崩溃。
- 修复NPC加载过程中出现的
defineId called for:警告信息。 - 重构纹理加载架构,采用多层级防护与速率限制机制。
- 重构实体数据注册逻辑,提升可维护性。
- 将数据类转换为现代Java记录(record),增强不可变性与线程安全性。
- 新增线程安全的会话服务器防刷机制(ConcurrentHashMap)。
- 新增全面错误恢复机制,失败后自动重置冷却时间。
- 优化纹理加载:采用双线程池与500毫秒速率限制。
- 优化异常处理:为 IIOException 与 FileNotFoundException 设置专属捕获块。
6.5.2
- 修复村民职业与工作站点皮肤显示异常问题。
- 优化GitHub工作流:为Gradle依赖添加缓存。
- 优化Gradle构建时间与清理任
... [内容过长已截断]
Easy NPC (Bundle) 6.23.0
on 2026 Jun 25Easy NPC:核心版(1.21.1)更新日志
说明
本更新日志汇总了主要变更内容。
如需查看完整变更记录,请访问 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请参阅 [升级指南][upgrade_guide]。
6.23.0
- 通过调整纹理加载重试机制(针对403和404错误)并降低日志输出等级,修复了问题 #772。
- 修复了问题 #770:优化史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及类人皮肤)的物品渲染效果。
- 修复了问题 #769:NPC开关门行为不稳定(无法可靠地开启或关闭门)。
- 修复了问题 #760:新增对话按钮选项及配置项(buttonConditionMode:LOCK 或 HIDE),支持对不可用的条件型对话按钮进行锁定或隐藏。
- 修复了问题 #709:为NPC名称添加颜色选择弹窗,提供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
- 修复了劫掠者类NPC在交叉双臂姿势下的物品附着问题。
- 修复了劫掠者类NPC损坏的弩攻击目标。
- 修复了问题 #756:第三方物品无法作为手持物品渲染所引发的崩溃。
- 修复了问题 #756:第三方混入(mixin)尝试访问不存在模型部件所引发的崩溃。
- 通过降低日志详细程度并增加自定义模型部件的额外检查,减少 log.info 的冗余信息刷屏。
- 提升 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 NPC,提供基础Cobblemon支持。
- 修复了对话错位与导航问题:通过调整对话精灵图与界面实现。
- 修复了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、加入/离开时缺少面向玩家的刷新、离线目标重试机制等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定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根部朝向玩家。
- 修复移动工具错误触发交互:在交互处理器中增加对移动工具的检查。
- 修复预设物品错误触发交互:在交互处理器中增加对预设物品的检查。
- 修复史莱姆与幽灵的碰撞箱及名称标签位置问题:通过调整包围盒与眼睛高度计算解决。
- 修复史莱姆与幽灵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类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,提升可维护性与未来扩展性。
6.7.1
- 修复了问题 #657 与 #656:为原版Bug添加额外客户端检查。
6.7.0
- 修复了问题 #650:在 setupAnim 方法中实现狼腿部动画。
- 修复了问题 #648:修正 canBeHitByProjectiles 翻译。
- 修复了问题 #645:新增
allowBypassInvulnerability配置选项,控制是否允许绕过NPC无敌状态。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下位置不正确的问题。
- 修复对话与配置界面中显示名称标签的问题。
- 修复距离型动作中多个动作未能正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫NPC与狼NPC所有者数据未正确同步的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设 .snbt(文本)导出与导入功能,方便分享NPC预设。
- 重构现有NPC预设,采用新 .snbt 格式。
- 重构刷怪笼系统,采用新预设格式,提升可维护性与未来扩展性。
6.6.2
- 修复了问题 #643:重构缩放系统。
- 修复重启/重载后缩放未正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,实现更精细的NPC名称显示控制。
- 新增基于队伍的名称标签可见性支持,遵循原版队伍规则。
6.6.1
- 修复了问题 #638:重构显示属性的内部数据处理逻辑。
6.6.0
- 修复了问题 #634:实现异步纹理加载,并配备专用线程池。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 使用原子操作修复纹理重载防护中的竞态条件。
- 修复远程纹理下载过程中HTTP连接的资源泄漏。
- 修复URL验证冗余问题,防止同一纹理被多次同时下载。
- 修复远程图像验证异常处理,避免因无效URL导致崩溃。
- 修复NPC加载期间出现的
defineId called for:警告信息。 - 重构纹理加载架构,引入多层级防护与速率限制。
- 重构实体数据注册逻辑,提升可维护性。
- 将数据类转换为现代Java记录(record),增强不可变性与线程安全性。
- 新增线程安全的会话服务器防刷保护(ConcurrentHashMap)。
- 新增全面的错误恢复机制,失败后自动重置冷却时间。
- 优化纹理加载:采用双线程池与500毫秒速率限制。
- 改进异常处理:为 IIOException 与 FileNotF
... [内容过长已截断]
Easy NPC (Bundle) 6.23.0
on 2026 Jun 25Easy NPC(1.20.1)更新日志
注意事项
本日志仅汇总关键变更内容。
完整变更记录请参阅 [GitHub 历史记录][history]。
注意:更新前请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 [升级指南][upgrade_guide]。
6.23.0
- 修复 #772:优化纹理加载重试机制,针对 403 和 404 错误降低日志输出等级。
- 修复 #770:改善史诗战斗(Epic Fight)NPC(唤魔者、掠夺者、卫道士及人形皮肤)的物品渲染效果。
- 修复 #769:解决NPC开门/关门动作不可靠的问题。
- 修复 #760:新增对话选项及配置项(buttonConditionMode:LOCK 或 HIDE),支持锁定或隐藏不可用的条件型对话按钮。
- 修复 #709:为NPC名称添加颜色选择弹窗,提供 32 种预设色及手动输入 RGB/十六进制值功能。
- 修复重命名时未指定颜色导致名称颜色被重置的问题,现保留原有名称颜色。
- 优化门交互属性:当启用“开门”或“关门”时,“穿门”自动启用。
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
- 修复持交叉手臂姿态的灾厄村民(Illager)物品附着异常。
- 修复灾厄村民十字弓攻击目标失效问题。
- 修复 #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(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文档与示例,支持自定义模型。
- 修复配置界面背景重复渲染问题:移除冗余背景渲染。
- 修复恶魂(Ghast)碰撞箱与名称标签位置异常:调整包围盒。
- ⚠️ 新增安全检查机制,防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,提升性能、可定制性与兼容性。
- 将动态配置界面背景替换为静态背景,提升性能。
- 重构配置界面专属组件,并从核心模组中移除。
- 移除重复的精灵图集。
- 为未来可能集成 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、加入/离开时缺少面向玩家的刷新、离线目标重试机制等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定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根部朝向玩家。
- 修复移动工具错误触发交互:在交互处理器中新增移动工具检查。
- 修复预设物品错误触发交互:在交互处理器中新增预设物品检查。
- 修复史莱姆与恶魂(Ghast)碰撞箱及名称标签位置异常:调整包围盒与眼高计算。
- 修复史莱姆与恶魂(Ghast)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开发。
- 新增史莱姆与恶魂(Ghast)NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,提升可维护性与未来可拓展性。
6.7.1
- 修复 #657 与 #656:新增客户端侧校验,应对原版漏洞。
6.7.0
- 修复 #650:在
setupAnim方法中实现狼腿部动画。 - 修复 #648:修正
canBeHitByProjectiles翻译。 - 修复 #645:新增
allowBypassInvulnerability配置选项,控制是否允许绕过NPC无敌状态。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不准确的问题。
- 修复对话与配置UI界面中显示名称标签的问题。
- 修复距离型动作中多个动作未能正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫NPC与狼NPC所有者数据同步异常的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本)导出与导入功能,方便分享NPC预设。 - 重构现有NPC预设,采用新的
.snbt格式。 - 重构刷怪笼系统,采用新预设格式以提升可维护性与未来可拓展性。
6.6.2
- 修复 #643:重构缩放系统。
- 修复重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,实现更精细的NPC名称显示控制。
- 新增基于队伍的名称标签可见性支持,遵循原版队伍机制。
6.6.1
- 修复 #638:重构显示属性的内部数据处理逻辑。
6.6.0
- 修复 #634:实现异步纹理加载,并配备专用线程池。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 修复纹理重载保护中的竞态条件,采用原子操作。
- 修复远程纹理下载过程中HTTP连接的资源泄漏。
- 修复URL校验泛滥问题,避免同一纹理被多次同时下载。
- 修复远程图像校验异常处理,防止因无效URL导致崩溃。
- 修复NPC加载期间出现的
defineId called for:警告。 - 重构纹理加载架构,采用多层防护与速率限制。
- 重构实体数据注册逻辑,提升可维护性。
- 将数据类转换为现代Java记录(record),增强不可变性与线程安全性。
- 新增线程安全会话服务器防刷机制(ConcurrentHashMap)。
- 新增全面错误恢复机制,失败时自动重置冷却时间。
- 优化纹理加载:采用双线程池与500毫秒速率限制。
- 优化异常处理:为 IIOException 与 FileNotFoundException 设置专属捕获块。
6.5.2
- 修复村民职业与工作皮肤问题。
- 优化GitHub工作流:为Gradle依赖添加缓存。
- 优化Gradle构建时间与清理任务。
6.5.1
- 修复 #632:实现ON_KILL动作类型与事件。
- 修复 #629:优化纹理处理性能、缓存及内存占用。
- 修复NPC击杀命令失效问题。
- 修复纹理重载保护机制,避免缓存驱逐后无法重载。
- 修复远程图像校验器中的WebP验证Bug(缺失return语句)。
- 重构纹理处理逻辑,提升可维护性与未来可拓展性。
- 新增基于时间的重载保护(60秒),替代永久阻断机制。
- 新增纹理处理相关单元测试。
- 优化Grad
... [内容过长已截断]
Easy NPC (Bundle) 6.23.0
on 2026 Jun 25Easy NPC(1.20.1)更新日志
注意事项
本更新日志汇总了主要变更内容。
如需查看完整更新日志,请访问 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请参阅 [升级指南][upgrade_guide]。
6.23.0
- 通过调整纹理加载重试机制(针对403与404错误)并降低日志输出等级,修复了 #772 问题。
- 修复了 #770 问题:优化史诗战斗模组(Epic Fight)中唤魔者、掠夺者、卫道士及类人皮肤NPC的物品渲染效果。
- 修复了 #769 问题:NPC开门/关门动作不可靠的问题。
- 修复了 #760 问题:新增对话选项及配置项(buttonConditionMode:LOCK 或 HIDE),支持锁定或隐藏不可用的条件型对话按钮。
- 修复了 #709 问题:为NPC名称添加颜色选择弹窗,提供32种预设色及手动RGB/十六进制值输入功能。
- 修复了重命名NPC时未指定颜色导致名称颜色被重置的问题,现将保留原有名称颜色。
- 改进了门交互属性:当启用“开门”或“关门”功能时,“穿门”功能将自动启用。
6.22.0
- 修复了 #766 问题:在命令执行过程中传递完整的服务器端玩家上下文,以提升与依赖特定玩家数据的第三方模组及插件的兼容性。
- 修复了 #764 问题:新增实体生命值、NPC生命值条件,并添加示例NPC预设
格鲁克——陪练木桩,用于演示这些条件的使用方法。 - 修复了 #763 问题:确保对话按钮执行次数限制现已正确记录。
- 修复了 #758 问题:新增示例NPC预设
许愿伙伴。 - 修复了 #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)尝试访问不存在模型部件所导致的崩溃。
- 通过降低日志详细程度并增加自定义模型部件的额外校验,减少了 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动画异常问题:通过与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文档与自定义模型支持示例。
- 修复了配置界面背景重复渲染问题:移除了冗余的背景渲染逻辑。
- 修复了恶魂碰撞箱与名称标签位置问题:通过调整边界框解决。
- ⚠️ 新增安全检查机制,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话界面背景替换为静态背景,以提升性能、自定义性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构了配置界面专属组件,并将其从核心模组中移除。
- 移除了重复的精灵图集。
- 为未来可能的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根部朝向玩家。
- 修复了移动工具错误触发交互的问题:在交互处理器中新增移动工具校验。
- 修复了预设物品错误触发交互的问题:在交互处理器中新增预设物品校验。
- 修复了史莱姆与恶魂碰撞箱及名称标签位置问题:通过调整边界框与眼睛高度计算解决。
- 修复了史莱姆与恶魂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类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构了内部数据处理与注册逻辑,以提升可维护性与未来改进空间。
6.7.1
- 修复了 #657 与 #656 问题:在客户端新增额外校验,以应对原版漏洞。
6.7.0
- 修复了 #650 问题:在 setupAnim 方法中实现狼腿动画。
- 修复了 #648 问题:修正 canBeHitByProjectiles 的翻译。
- 修复了 #645 问题:新增
allowBypassInvulnerability配置选项,允许/禁止绕过NPC无敌状态。 - 修复了删除按钮在宽度较小时仍显示标签的问题。
- 修复了上下按钮在某些情况下定位不正确的问题。
- 修复了对话与配置界面中名称标签意外显示的问题。
- 修复了距离型动作中多个动作未能正确触发的问题。
- 修复了NPC预设相关问题。
- 修复了猫形NPC与狼形NPC所属者数据未能正确同步的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设 .snbt(文本)导出与导入功能,便于分享NPC预设。
- 重构了现有NPC预设,统一采用新的 .snbt 格式。
- 重构了刷怪笼系统,采用新预设格式以提升可维护性与未来改进空间。
6.6.2
- 修复了 #643 问题:重构缩放系统。
- 修复了重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER两种名称标签可见性模式,以实现更精细的NPC名称显示控制。
- 新增基于队伍的名称标签可见性支持,尊重原版队伍设定。
6.6.1
- 修复了 #638 问题:重构了显示属性的内部数据处理逻辑。
6.6.0
- 修复了 #634 问题:实现异步纹理加载,并配备专用线程池。
- 修复了纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 修复了纹理重载保护中的竞态条件,采用原子操作实现。
- 修复了远程纹理下载过程中HTTP连接的资源泄漏问题。
- 修复了URL校验刷屏问题,避免同一纹理被多次并发下载。
- 修复了远程图像校验中的异常处理,防止因无效URL导致崩溃。
- 修复了NPC加载期间出现的
defineId called for:警告信息。 - 重构了纹理加载架构,引入多层防护与速率限制。
- 重构了实体数据注册逻辑,以提升可维护性。
- 将数据类转换为现代Java记录类,以增强不可变性与线程安全性。
- 新增基于 ConcurrentHashMap 的线程安全会话服务器防刷机制。
- 新增全面的错误恢复机制,失败
... [内容过长已截断]
Easy NPC (Bundle) 6.22.0
on 2026 Jun 21Easy NPC(1.20.1)更新日志
说明
本日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请查阅 [升级指南][upgrade_guide]。
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
- 修复持交叉手臂姿态的劫掠者NPC的物品附着问题。
- 修复劫掠者十字弓攻击目标失效的问题。
- 修复因第三方物品无法作为手持物品渲染所导致的崩溃问题 #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(交易、玩家头颅、史诗战斗及品质生活更新)
- 通过在客户端物种列表为空时重新同步物种数据,修复 #731 问题。
- 通过改进史诗战斗(Epic Fight)集成并启用实验性功能,修复 #730 问题。
- 通过确保交易使用次数被正确存储,修复 #729 问题。
- 通过增加玩家头颅的自定义头颅支持,修复 #728 问题。
- 通过显示剩余交易次数并支持手动与自动重置,修复 #689 问题。
- 通过新增交易配置界面及对自定义交易的更好支持,修复 #218 与 #132 问题。
- 通过在基础交易模式与常规/高级交易模式之间切换,修复特定交易边缘情况。
- 修复对话按钮文字被截断问题,同时工具提示可显示完整文本。
- 通过将动画状态与Cobblemon动画系统同步,修复Cobblemon动画异常问题。
- 新增按交易定制的动作,允许用户在购买后触发特定动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨刀石”,含配套动作。
- 清理测试文件。
6.14.0(Cobblemon支持与对话改进)
- 通过确保数值变更同步至客户端,修复 #727 问题。
- 通过为特定命令增加额外白名单,修复 #726 问题。
- 通过为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.0
- 修复采用新自定义图层系统与手持渲染后出现的渲染问题 #703。
- 通过为无效交易报价增加额外防护与日志记录,修复 #701 问题。
- 修复智能动画在头部位置被修改时无法正常工作的问题。
- 通过将玩家检测逻辑移回服务端,修复头部追踪问题。
- 修复CustomLookAtPlayerGoal,使其能更好处理边缘情况并减少抖动。
- 修复多普勒NPC持续保留手持物品库存的问题。
- 改进PoseManager日志消息。
- 更新Logo为全新设计。
6.10.0
- 通过切换至
DEFAULT原版姿态时清空模型部件旋转/位置,修复 #695 问题。 - 通过仅在NPC处于空闲状态时应用旋转锁定与姿态动画,修复 #695 问题。
- 通过修正根部旋转枢轴点,使其采用实际包围盒高度而非固定0.5f,修复 #695 问题。
- 修复多个目标注册问题,包括倒置的
isTargetedPlayer检查、离开处理器中错误的UUID、加入/离开时缺少面向玩家的刷新、以及对离线目标的重试机制。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿态时自动锁定ROOT旋转的功能;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 问题。 - 新增NPC成长进度数据支持,可根据玩家互动与动作提升NPC等级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原始模型上使用变体纹理。
6.8.1
- 通过复用现有预设辅助方法而非自定义方法,修复 #676 问题。
6.8.0(新增API支持)
- 通过为非法网络数据包增加警告信息与额外校验,修复 #667 问题。
- 修复马匹生成蛋模型。
- 修复悦灵、鸡、苦力怕、狐狸、恶魂、马、劫掠者、铁傀儡、史莱姆与恼鬼的姿态支持。
- 新增NPC基础类,以增强API支持能力。
- 新增NPC原始类,以支持高级API开发。
- 新增史莱姆与恶魂NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性及未来改进空间。
6.7.1
- 通过在客户端增加额外校验应对原版Bug,修复 #657 与 #656 问题。
6.7.0
- 通过在setupAnim方法中实现狼腿部动画,修复 #650 问题。
- 通过修正canBeHitByProjectiles的翻译,修复 #648 问题。
- 通过新增
allowBypassInvulnerability配置选项以控制NPC是否允许绕过无敌状态,修复 #645 问题。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不准确的问题。
- 修复对话与配置界面中名称标签意外显示的问题。
- 修复距离动作中多个动作未能被正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫形NPC与狼形NPC所有者数据未能正确同步的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本)导出与导入功能,便于分享NPC预设。 - 重构现有NPC预设,统一采用新的
.snbt格式。 - 重构刷怪笼系统,采用新预设格式以提升可维护性及未来改进空间。
6.6.2
- 通过重构缩放系统,修复 #643 问题。
- 修复重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,以更精细地控制NPC名称显示。
- 新增基于队伍的名称标签可见性支持,尊重原版队伍设定。
6.6.1
- 通过重构显示属性的内部数据处理逻辑,修复 #638 问题。
6.6.0
- 通过实现异步纹理加载并配备专用线程池,修复 #634 问题。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 通过原子操作修复纹理重载防护中的竞态条件。
- 修复远程纹理下载过程中HTTP连接的资源泄漏问题。
- 修复URL验证刷屏问题,防止同一纹理被多次并发下载。
- 修复远程图像验证异常处理机制,防止因无效URL导致崩溃。
- 修复NPC加载过程中频繁出现的
defineId called for:警告信息。 - 重构纹理加载架构,引入多层级防护与速率限制。
- 重构实体数据注册逻辑,以提升可维护性。
- 将数据类转换为现代Java记录(record),以增强不可变性与线程安全性。
- 新增线程安全的会话服务器防刷机制(ConcurrentHashMap)。
- 新增全面的错误恢复机制,失败时自动重置冷却时间。
- 通过双线程池与500毫秒速率限制,提升纹理加载性能。
- 通过为IIOException与FileNotFoundException设置专门的捕获块,优化异常处理。
6.5.2
- 修复村民职业与工作皮肤问题。
- 通过为Gradle依赖项增加缓存,优化GitHub工作流。
- 优化Gradle构建时间与清理任务。
6.5.1
- 通过实现ON_KILL动作类型与事件,修复 #632 问题。
- 通过优化纹理处理性能、缓存策略与内存占用,修复 #629 问题。
- 修复对NPC使用kill命令无效的问题。
- 修复纹理重载防护机制阻止缓存驱逐后重新加载的问题。
- 修复远程图像验证器中WebP验证的Bug(缺失return语句)。
- 重构纹理处理逻辑,以提升可维护性及未来改进空间。
- 新增基于时间的重载防护(60秒),取代永久阻断机制。
- 新增纹理处理相关的单元测试。
- 优化Gradle构建任务。
6.5.0
- ⚠️ 移除jar-in-jar打包方式,以提升模组兼
... [内容过长已截断]
Easy NPC (Bundle) 6.22.0
on 2026 Jun 21Easy NPC(1.20.1)更新日志
说明
本更新日志汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界及NPC数据!
更多详情请查阅 [升级指南][upgrade_guide]。
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(交易、玩家头颅、史诗战斗及品质改进)
- 通过在客户端物种列表为空时重新同步物种数据,修复 #731。
- 通过改进史诗战斗集成并启用实验性功能,修复 #730。
- 通过确保交易使用次数被正确记录,修复 #729。
- 通过增加对玩家头颅的自定义头颅支持,修复 #728。
- 通过显示剩余交易次数并支持手动与自动重置,修复 #689。
- 通过新增交易配置界面并增强对自定义交易的支持,修复 #218 与 #132。
- 通过在基础交易模式与普通/高级交易模式之间切换,修复特定交易边缘情况。
- 修复对话按钮文字被截断问题,并通过工具提示显示完整文本。
- 通过同步动画状态至Cobblemon动画系统,修复Cobblemon动画异常问题。
- 新增按交易定制的动作:允许用户在购买后触发特定动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 新增交易使用信息至交易配置界面。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·磨石”,含关联动作。
- 清理测试文件。
6.14.0(Cobblemon支持与对话改进)
- 通过确保值变更时同步至客户端,修复 #727。
- 通过为特定命令增加额外白名单,修复 #726。
- 通过为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.0
- 修复新自定义图层系统与手持渲染导致的#703渲染问题。
- 通过为无效交易报价增加额外防护与日志记录,修复 #701。
- 修复智能动画在头部位置被修改时无法正常工作的问题。
- 通过将玩家检测移回服务端独占逻辑,修复头部追踪问题。
- 修复CustomLookAtPlayerGoal,使其更好处理边界情况并减少抖动。
- 修复多普勒NPC持续保留手持物品库存的问题。
- 优化PoseManager日志消息。
- 更新Logo为全新设计。
6.10.0
- 通过在切换至
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。 - 新增进度数据支持:可根据玩家交互与动作为NPC升级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原始模型上使用变体纹理。
6.8.1
- 通过复用现有预设辅助方法而非自定义方法,修复 #676。
6.8.0(新增API支持)
- 通过为无效网络数据包增加警告信息与额外校验,修复 #667。
- 修复马匹生成蛋模型。
- 修复悦灵、鸡、苦力怕、狐狸、恶魂、马、卫道士、铁傀儡、史莱姆与恼鬼的姿势支持。
- 新增NPC基类,以强化API支持。
- 新增NPC原始类,以支持高级API使用。
- 新增史莱姆与恶魂NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性与未来拓展性。
6.7.1
- 通过为原版Bug增加额外客户端校验,修复 #657 与 #656。
6.7.0
- 通过在setupAnim方法中实现狼腿动画,修复 #650。
- 通过修复canBeHitByProjectiles翻译,修复 #648。
- 通过新增
allowBypassInvulnerability配置选项以允许/禁止绕过NPC无敌状态,修复 #645。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不正确的问题。
- 修复对话与配置UI界面中名称标签意外显示的问题。
- 修复距离动作中多个动作未能被正确触发的问题。
- 修复NPC预设相关问题。
- 修复猫形NPC与狼形NPC所有者数据未能正确同步的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本)导出与导入功能,便于分享NPC预设。 - 将现有NPC预设重构为新
.snbt格式。 - 将刷怪系统重构为使用新预设格式,以提升可维护性与未来拓展性。
6.6.2
- 通过重构缩放系统,修复 #643。
- 修复重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增MID与MOUSE_OVER名称标签可见性模式,以更精细控制NPC名称显示。
- 新增基于队伍的名称标签可见性支持,尊重原版队伍设置。
6.6.1
- 通过重构显示属性的内部数据处理,修复 #638。
6.6.0
- 通过实现异步纹理加载并配备专用线程池,修复 #634。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 通过原子操作修复纹理重载防护中的竞态条件。
- 修复远程纹理下载过程中HTTP连接的资源泄漏问题。
- 修复URL验证刷屏问题,避免同一纹理被多次同时下载。
- 修复远程图像验证异常处理缺陷,防止因无效URL导致崩溃。
- 修复NPC加载过程中出现的
defineId called for:警告信息。 - 重构纹理加载架构,引入多层级防护与速率限制。
- 重构实体数据注册逻辑,以提升可维护性。
- 将数据类转换为现代Java记录(record),以增强不可变性与线程安全性。
- 新增线程安全的会话服务器刷屏防护(使用ConcurrentHashMap)。
- 新增全面的错误恢复机制,并在失败时自动重置冷却时间。
- 通过双线程池与500毫秒速率限制,提升纹理加载性能。
- 通过为IIOException与FileNotFoundException添加专门捕获块,优化异常处理。
6.5.2
- 修复村民职业与工作皮肤问题。
- 通过为Gradle依赖增加缓存,优化GitHub工作流。
- 优化Gradle构建时间与清理任务。
6.5.1
- 通过实现ON_KILL动作类型与事件,修复 #632。
- 通过优化纹理处理性能、缓存及内存占用,修复 #629。
- 修复击杀命令对NPC无效的问题。
- 修复纹理重载防护机制阻止缓存驱逐后重载的问题。
- 修复远程图像验证器中的WebP验证Bug(缺失return语句)。
- 重构纹理处理逻辑,以提升可维护性与未来拓展性。
- 新增基于时间的重载防护(60秒),取代永久阻断机制。
- 新增纹理处理相关单元测试。
- 优化Gradle构建任务。
6.5.0
- ⚠️ 移除jar-in-jar打包方式,以提升模组兼容性与API能力。
- 通过改进剪刀(scissor)实现,修复 #627,增强与其他模组的兼容性。
- 通过修复旋转或移动模型部件时的生动动画问题,修复 #625。
- 修复使用缩放模型部件时默认动画被取消的问题。
- 新增更优的姿势动画控制:提供智能、默认与无动画三种选项。
6.4.1
- 通过改进不同NPC UUID间的界面切换逻辑,修复 #626(感谢
Spawnblade提供的详尽调查与修复建议)。
6.4.0
- 通过改进对话数据校验与错误处理,修复 #626。
- 通过重构渲染数据与渲染处理逻辑,修复 #623。
- 通过确
... [内容过长已截断]




