基本信息
我的世界Java版本
1.21.3
1.21–1.21.1
1.20.1–1.20.2
1.19.2
1.18.2
平台
Fabric
运行环境
搬运团队
搬运资源声明
对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。
详情信息
许可证 MIT
发布于 2025-01-03
更新于 2026-03-13
更新日志
Easy NPC (1.20.1) 更新日志
注意
本更新日志仅包含变更摘要。 完整更新日志请前往 GitHub History 查看。
注意:更新到新版本前,请务必备份你的世界/NPC! 更多信息请查看升级指南。
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标记:使临时索引(如弩:蓄力、模型动画)不再触发“脏保存”标记。 - 为 API 使用者在
SlimeBase中新增可配置的customParticlesEnabled标记。 - 新增
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 名称显示。
- 新增基于队伍的命名牌可见性支持,并遵循原版 Team。
6.6.1
- 修复 #638:重构用于显示属性的内部数据处理。
6.6.0
- 修复 #634:使用专用线程池实现异步材质加载。
- 修复材质加载阻塞渲染线程导致游戏冻结的问题。
- 修复材质重载保护中的竞态条件:改用原子操作。
- 修复远程材质下载期间 HTTP 连接的资源泄漏。
- 修复 URL 校验刷屏:允许同一材质的多个同时下载。
- 修复远程图片校验中的异常处理:避免无效 URL 导致崩溃。
- 修复 NPC 加载期间
defineId called for:警告信息。 - 重构材质加载架构:多层防护与速率限制。
- 重构实体数据注册逻辑:提升可维护性。
- 将数据类转换为现代 Java record:提升不可变性与线程安全性。
- 新增线程安全的会话服务器刷屏保护(ConcurrentHashMap)。
- 新增全面的错误恢复:失败时自动重置冷却。
- 改进材质加载:2 线程池与 500ms 速率限制。
- 改进异常处理:对 IIOException 与 FileNotFoundException 使用更具体的捕获。
6.5.2
- 修复村民职业与工作皮肤问题。
- 改进 GitHub 工作流:为 gradle 依赖添加缓存。
- 改进 Gradle 构建时间与清理任务。
6.5.1
- 修复 #632:实现 ON_KILL 动作类型与事件。
- 修复 #629:改进材质处理性能、缓存与内存占用。
- 修复 kill 命令对 NPC 不生效的问题。
- 修复材质重载保护:避免缓存被逐出后无法重新加载。
- 修复远程图片校验器中的 WebP 校验 Bug(缺少 return 语句)。
- 重构材质处理逻辑:提升可维护性并便于未来改进。
- 新增基于时间的重载保护(60 秒),替代永久阻止机制。
- 新增额外的单元测试(材质处理)。
- 改进 gradle 构建任务。
6.5.0
- ⚠️ 移除 jar-in-jar 打包方式:提升模组兼容性与 API 能力。
- 修复 #627:改进剪刀实现,以更好兼容其他模组。
- 修复 #625:使用旋转或移动的模型部件时出现的生动动画问题。
- 修复使用缩放的模型部件时默认动画被取消的问题。
- 新增更好的姿势动画控制:smart、default 与 und 选项。
6.4.1
- 修复 #626:改进不同 NPC UUID 的界面切换逻辑,感谢
Spawnblade提供的详细调查与修复建议。
6.4.0
- 修复 #626:改进对话数据校验与错误处理。
- 修复 #623:重构渲染数据与渲染处理。
- 修复 #622:确保自定义数据能正确保存与加载。
- 修复打开对话动作类型:允许从其他 NPC 打开对话框。
- 修复哈希问题:为 ConditionDataSet 与 ActionDataSet 补充 equals 与 hashCode 方法。
- 为 #622 新增自定义数据测试物品,便于测试自定义数据。
- 改进 records,并修复潜在的数据缺失问题。
6.3.0
- 重构配置 UI 的专用组件,并将其从核心模组中移除。
- 修复对话数据:在发送到客户端前过滤对话数据。
- 修复对话编辑器布局问题,并提升易用性。
- 修复某些对话数据字段缺少默认值的问题。
- 新增对话优先级支持:控制对话执行顺序。
- 新增对话与计分板动作的条件支持。
- 新增对话频率支持:限制对话显示频率。
- 新增用于计分板与条件支持的 NPC 预设。
- 改进对话按钮数据格式:移除冗余字段。
6.2.0
- 修复对话框中的字符串注入问题。
- 修复动作类型缺少翻译的问题。
- 新增计分板动作类型:增加、减少、设置计分板数值。
- 新增
@score(...)NPC 宏:在对话中显示计分板数值。 - 新增额外单元测试。
- 改进纺线器按钮:加入指示器并提升易用性。
6.1.2
- 修复容器与菜单同步问题:补发缺失的关闭容器数据包。
- 修复关闭按钮在某些情况下无效的问题。
- 修复在界面切换时鼠标光标跳动的问题。
- 修复翻译文件并移除重复与已弃用条目。
- 将 Easy NPC 魔杖移动到现有核心物品选项卡,而不是创建新的选项卡。
- 新增猫姿势对不同模型部件的支持(尾巴除外)。
- 改进 EasyNPCWand 的发光效果性能:不需要时禁用。
- 改进高级实体探测器:排除展示实体、标记实体、投掷物与刷怪笼等非生物实体。
- 改进猫变种处理。
6.1.1
- 修复 #612:重新校验实体类型。
- 修复 #610:对特定模型强制同步帽子与头部层。
- 修复兽人皮纹理。
- 改进自定义模型支持与性能:将相关逻辑仅保留在客户端。
- 改进玩家到 UUID 映射的缓存(用于玩家皮肤)。
- 将更改模型命令与逻辑限制为 Doppler NPC 专用。
6.1.0 ✨
这是一次重大版本更新。更新前请务必备份你的世界与 NPC 数据。 此版本包含大量改进、优化与内部变更,且与更早版本不完全兼容。
⚠️ 破坏性变更
- 6.1.0 之前版本的现有 NPC 及其配置数据可能无法正确加载,或需要手动调整。
- 为支持新的使用场景,内部数据格式与部分行为已被重构。
🧩 全新模块化结构
Easy NPC 现在拆分为三个独立模组:
- Easy NPC – 整合包:同时包含 Core 与 Configuration UI,提供即装即用体验。
- Easy NPC: Core – 轻量运行时与 NPC 逻辑,依赖最少。面向服务器、整合包与开发者。
- Easy NPC: Configuration UI – 独立配置界面:用于创建与编辑 NPC。可安装在需要 UI 的客户端上。
🎯 为什么要这样改?
- 服务器与整合包可以在服务端仅发布 Core 模组,以获得更精简的配置。
- 当不需要 UI 时,减少内存占用与加载时间。
- 通过拆分 UI 与核心逻辑,让开发与测试更高效。



