基本信息
我的世界Java版本
26.1.2
1.21.11
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-06-15
更新日志
Easy NPC(1.20.1)更新日志
注意事项
本更新日志仅汇总了主要变更内容。
完整更新日志请参阅 [GitHub 历史记录][history]。
注意:升级至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请查阅 [升级指南][upgrade_guide]。
6.18.0
注意:本次更新更改了条件与动作的内部数据格式,可能导致未存储ID的旧版执行限制条目被重置或移除。
- 通过为动作添加条件修复 #745,支持更复杂、更动态的行为。
- 通过为长文本对话按钮添加提示信息修复 #652。
- 通过为命令值添加提示信息以显示完整值修复 #687。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增物品栏内拥有指定物品条件。
- 新增主手/副手持有指定物品条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增 Goldmere 示例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 动画异常。
- 新增按交易定制的动作,支持在购买后触发指定动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 在交易配置界面中新增交易使用次数信息。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人 Griselda 磨刀石,附带动作配置。
- 清理测试文件。
6.14.0(Cobblemon 支持与对话框改进)
- 通过确保修改值时同步至客户端修复 #727。
- 通过为特定命令添加额外白名单修复 #726。
- 通过为 Cobblemon NPC 添加基础 Cobblemon 支持修复 #686、#389、#304、#211。
- 通过调整对话框贴图与界面修复对话框错位及导航问题。
- 通过修正旋转逻辑与枢轴点计算修复X轴与Z轴根部旋转问题。
- 新增基础 Cobblemon 支持,包含用于测试的自定义NPC类型与模型。
6.13.0(安全与权限更新)
注意事项:本次更新增强了多人游戏环境下的安全检查与权限控制。
部分服务器命令存在潜在风险,若被恶意利用可能造成危害。
本次更新将模型根部数据与逻辑从其余模型部件的数据与逻辑中分离,因此可能导致现有NPC的根部旋转与缩放重置为默认值。
- 通过将模型根部数据与逻辑从其余模型部件中分离修复 #725。
- 通过支持
.sbnt文件作为本地预设修复 #722。 - 通过为对话框与配置界面背景添加专用资源修复 #675。
- 通过新增安全检查与权限系统修复 #605、#532、#529。
- 通过新增实验性API文档与自定义模型支持示例修复 #469、#311。
- 通过移除冗余背景渲染修复配置界面背景重复渲染问题。
- 通过调整碰撞箱修复幽灵(Ghast)的碰撞箱与名称标签位置问题。
- ⚠️ 新增安全检查机制,防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话框背景替换为静态背景,提升性能、可定制性与兼容性。
- 将动态配置界面背景替换为静态背景,提升性能。
- 重构配置UI专用组件,并将其从核心模组中移除。
- 移除重复的贴图集。
- 为未来可能集成 Luck Perms(如 #712 所述)做好权限系统准备。
- 全面清理与优化配置界面渲染及资源相关代码。
6.12.0
- 通过基于原版模型对自定义模型部件列表添加额外校验修复 #714。
- 通过将每个NPC的INFO级别日志降级为DEBUG级别,并合并冗余警告信息,降低日志冗余度修复 #713。
- 通过缩减启动/配置日志输出量修复 #711。
- 修复NBT验证防护机制,防止生产环境中不必要的缓冲区分配。
- 在
EasyNPCModelManager中新增模型部件名称常量,确保混入代码中的一致使用。 - 通过增强过滤逻辑并优化数据结构,改进
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:新增针对玩家、村民、怪物等的逃跑目标(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根部朝向玩家旋转。
- 修复移动工具错误触发交互:在交互处理器中增加对移动工具的校验。
- 修复预设物品错误触发交互:在交互处理器中增加对预设物品的校验。
- 通过调整碰撞箱与眼睛高度计算,修复史莱姆与幽灵(Ghast)的碰撞箱及名称标签位置问题。
- 通过调整偏移值修复史莱姆与幽灵(Ghast)GUI位置问题。
6.8.2
- 修复 #677:通过扩展
SafeMerchantData并添加notifyTrade方法避免崩溃。 - 新增基于玩家互动与动作的NPC升级进度数据支持。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原版模型中使用变体纹理。
6.8.1
- 修复 #676:改用现有预设辅助方法,而非自定义方法。
6.8.0(新增API支持)
- 修复 #667:通过添加无效网络数据包的警告信息与额外校验,增强健壮性。
- 修复马匹生成蛋模型。
- 修复Allay、鸡、苦力怕、狐狸、幽灵(Ghast)、马、掠夺者、铁傀儡、史莱姆与恼鬼的姿势支持。
- 新增NPC基类,提升API支持能力。
- 新增NPC原始类,支持高级API开发。
- 新增史莱姆与幽灵(Ghast)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构建速度并优化清理任务。
6.5.1
- 修复 #632:实现ON_KILL动作类型与事件。
- 修复 #629:优化纹理处理性能、缓存机制与内存占用。
- 修复NPC无法响应kill命令的问题。
- 修复纹理重载防护机制阻止缓存重载的问题。
- 修复远程图像验证器中的WebP验证Bug(缺少返回语句)。
- 重构纹理处理逻辑,提升可维护性与未来拓展性。
- 新增基于时间的重载防护(60秒),替代永久阻断机制。
- 新增纹理处理相关的额外单元测试。
- 优化Gradle构建任务。
6.5.0
- ⚠️ 移除jar-in-jar打包方式,以提升模组兼容性与API能力。
- 修复 #627:改进剪裁(scissor)实现,增强与其他模组的兼容性。
- 修复 #625:解决使用旋转或移动的模型部件时生动动画异常的问题。
- 修复使用缩放模型部件时默认动画被取消的问题。
- 新增更优的姿势动画控制,提供智能、默认与无动画三种选项。
6.4.1
- 修复 #626:优化不同NPC UUID间的界面切换逻辑,感谢
Spawnblade提供详尽调查与修复建议。
6.4.0
- 修复 #626:增强对话数据验证与错误处理。
- 修复 #623:重构渲染数据与渲染处理逻辑。
- 修复 #622:确保自定义数据能被正确保存与加载。
- 修复打开对话动作类型,支持从其他NPC触发对话。
- 修复哈希问题:为
ConditionDataSet与ActionDataSet补充缺失的equals与hashCode方法。 - 新增自定义数据测试物品,便于 #622 测试及自定义数据调试。
- 优化记录类(record)并修复潜在的数据缺失问题。
6.3.0
- 重构配置UI专用组件,并将其从核心模组中移除。
- 修复对话数据:在发送至客户端前过滤对话数据。
- 修复对话编辑器布局问题,提升可用性。
- 修复部分对话数据字段缺失默认值的问题。
- 新增对话优先级支持,控制对话执行顺序。
- 新增对话与计分板动作的条件支持。
- 新增对话频率支持,限制对话显示频次。
- 新增支持计分板与条件的NPC预设。
- 优化对话按钮数据格式,移除冗余字段。
6.2.0
- 修复对话中的字符串注入漏洞。
- 修复动作类型缺失本地化的问题。
- 新增计分板动作类型,支持增加、减少、设置计分板数值。
- 新增
@score(...)NPC宏,支持在对话中显示计分板数值。 - 新增额外单元测试。
- 优化旋转按钮,增加指示器并提升可用性。
6.1.2
- 修复容器与菜单同步问题,补充缺失的关闭容器数据包。
- 修复关闭按钮在某些情况下失效的问题。
- 修复屏幕切换过程中鼠标光标跳跃的问题。
- 修复翻译文件,移除重复及已弃用的条目。
- 将Easy NPC魔杖移至现有核心物品标签页,而非新建标签页。
- 新增猫型NPC姿势支持(尾部除外)。
- 优化
EasyNPCWand发光效果性能,在无需时禁用该效果。 - 优化自定义实体检测,排除显示实体、标记实体、投掷物与刷怪笼等非生物实体。
- 优化猫型变体处理。
6.1.1
- 修复 #612:重新校验实体类型。
- 修复 #610:强制同步特定模型的帽子与头部图层。
- 修复兽人纹理。
- 通过将相关逻辑迁移至客户端,优化自定义模型支持与性能。
- 优化玩家至UUID映射的缓存,加速玩家皮肤加载。
- 将更换模型命令与逻辑限制于Doppler NPC。
6.1.0 ✨
这是一次重大版本更新。更新前请务必备份您的世界存档及NPC数据!
本版本包含大量改进、优化与内部重构,与早期版本不完全兼容。
⚠️ 破坏性变更
- 6.1.0 版本之前的NPC及其配置数据可能无法正确加载,或需手动调整。
- 内部数据格式与部分行为已被重构,以支持新用例。
🧩 新的模块化结构
Easy NPC 现已拆分为三个独立模组:
- Easy NPC —— 包含核心功能与配置UI的整合包,开箱即用。
- Easy NPC:核心 —— 轻量级运行时与NPC逻辑,依赖极少。适用于服务器、模组包与开发者。
- **Easy NPC
... [内容过长已截断]



