基本信息
我的世界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.21.1)更新日志
说明
本更新日志汇总了主要变更内容。
如需查看完整更新日志,请访问 [GitHub 历史记录][history]。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请参阅 [升级指南][upgrade_guide]。
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 动画异常问题。
- 新增按交易定制的操作功能,允许用户在购买后触发指定动作。
- 新增交易重置按钮,便于一键重置全部交易。
- 在交易配置界面中新增交易使用次数信息。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增示例商人“格里塞尔达·研磨石”(Griselda Grindstone),附带可触发动作。
- 清理测试文件。
6.14.0
- 通过确保数值更改能同步至客户端,修复了 #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 问题。
- 通过移除冗余的背景渲染逻辑,修复了配置界面背景重复渲染问题。
- 通过调整包围盒(bounding box),修复了恶魂(Ghast)与史莱姆(Slime)的碰撞箱及名称标签位置异常。
- ⚠️ 新增安全检查机制,防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话框背景替换为静态背景,以提升性能、自定义能力与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专属组件,并将其从核心模组中移除。
- 移除重复的图集资源。
- 为未来可能集成 Luck Perms(如 #712 所述)做好权限系统准备。
- 针对配置界面渲染与资源加载进行常规代码清理与性能优化。
6.12.0
- 通过基于原版模型对自定义模型部件列表添加额外校验,修复了 #714 问题。
- 通过将每个 NPC 的 INFO 级别日志降级为 DEBUG,并整合冗余警告信息,修复了 #713 问题。
- 通过缩减启动/配置阶段的日志输出量,修复了 #711 问题。
- 修复 NBT 校验防护机制,防止生产环境中不必要的缓冲区分配。
- 在 EasyNPCModelManager 中新增模型部件名称常量,以确保混入(mixin)代码中的一致使用。
- 通过增强过滤逻辑与优化数据结构,改进 RenderEntityTypeSupportConfig,从而提升性能与可维护性。
- 移除大量输出复杂数据结构的冗长调试日志。
6.11.1
- 通过改进可恢复交易数据的向后兼容解析逻辑,修复了 #710 问题。
6.11.0
- 修复了新自定义图层系统与手部渲染导致的 #703 渲染异常。
- 通过为无效交易报价添加额外防护与日志记录,修复了 #701 问题。
- 修复智能动画在头部位置被修改时无法正常工作的问题。
- 通过将玩家检测逻辑移回服务端,修复头部追踪异常。
- 优化 CustomLookAtPlayerGoal,更好地处理边界情况并减少抖动。
- 修复多普勒 NPC(Doppler NPCs)持续持有手中物品的问题。
- 改进 PoseManager 的日志输出信息。
- 更新 Logo 设计。
6.10.0
- 通过为第三方实体创建添加 try-catch 包裹,修复了 #698 问题。
- 通过在切换至
DEFAULT原版姿势时清除模型部件的旋转/位置,修复了 #695 问题。 - 通过仅在玩家空闲时应用锁定旋转与姿势动画,修复了 #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 问题。
- 通过新增针对玩家、村民、怪物等的多种逃跑目标(Flee goals),修复了 #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 类型(含悦灵、鸡、苦力怕、狐狸、恶魂、马、恼鬼、铁傀儡、史莱姆与恼鬼)的姿势支持。
- 新增 NPC 基础类,以强化 API 支持。
- 新增 NPC 原始类(raw classes),以支持高级 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 名称显示控制。
- 新增基于原版队伍(Team)的名称标签可见性支持。
6.6.1
- 通过重构显示属性相关的内部数据处理逻辑,修复了 #638 问题。
6.6.0
- 通过实现异步纹理加载并配备专用线程池,修复了 #634 问题。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 通过原子操作修复纹理重载保护中的竞态条件。
- 修复远程纹理下载过程中 HTTP 连接的资源泄漏问题。
- 修复 URL 校验泛滥问题,避免同一纹理被多次并发下载。
- 修复远程图像校验异常处理缺失问题,防止因无效 URL 导致崩溃。
- 修复 NPC 加载过程中频繁出现的
defineId called for:警告信息。 - 重构纹理加载架构,引入多层防护与速率限制机制。
- 重构实体数据注册逻辑,以提升可维护性。
- 将数据类转换为现代 Java 记录(records),增强不可变性与线程安全性。
- 新增基于 ConcurrentHashMap 的线程安全会话服务器防刷机制。
- 新增全面的错误恢复机制,在失败时自动重置冷却时间。
- 通过双线程池与 500 毫秒速率限制优化纹理加载。
- 通过为 IIOException 与 FileNotFoundException 设置专门捕获块,优化异常处理。
6.5.2
- 修复村民职业与工作皮肤显示异常问题。
- 通过为 Gradle 依赖添加缓存,优化 GitHub 工作流。
- 优化 Gradle 构建耗时与清理任务。
6.5.1
- 通过实现 ON_KILL 动作类型与事件,修复了 #632 问题。
- 通过优化纹理处理性能、缓存策略与内存占用,修复了 #629 问题。
- 修复击杀命令对 NPC 不生效的问题。
- 修复纹理重载保护机制阻止缓存淘汰后重新加载的问题。
- 修复远程图像校验器中 WebP 校验的返回语句缺失 Bug。
- 重构纹理处理逻辑,以提升可维护性与未来拓展性。
- 新增基于时间的重载防护机制(60 秒),替代永久性阻断机制。
- 新增纹理处理相关单元测试。
- 优化 Gradle 构建任务。
6.5.0
- ⚠️ 移除 jar-in-jar 打包方式,以提升模组兼容性与 API 能力。
- 通过改进剪裁(scissor)实现,修复了 #627 问题,增强与其他模组的兼容性。
- 修复使用旋转或移动的模型部件时生动动画异常问题。
- 修复使用缩放模型部件时默认动画被取消的问题。
- 新增更完善的姿势动画控制,提供智能、默认与无动画三种选项。
6.4.1
- 通过改进不同 NPC UUID 下的界面切换逻辑,修复了 #626 问题,感谢
Spawnblade提供详尽的调查与修复建议。
6.4.0
- 通过增强对话数据校验与错误处理,修复了 #626 问题。
- 通过重构渲染数据与渲染处理逻辑,修复了 #623 问题。
- 通过确保自定义数据被正确保存与加载,修复了 #622 问题。
- 修复打开对话动作类型,支持从其他 NPC 触发对话。
- 通过为 ConditionDataSet 与 ActionDataSet 补充缺失的 equals 与 hashCode 方法,修复哈希异常问题。
- 新增自定义数据测试物品,便于 #622 问题测试与自定义数据验证。
- 优化记录类(records)并修复潜在的数据缺失问题。
6.3.0
- 重构配置界面专属组件,并将其从核心模组中移除。
- 通过在发送至客户端前过滤对话数据,修复对话数据异常问题。
- 修复对话编辑器布局问题,提升易用性。
- 修复部分对话数据字段缺失默认值的问题。
- 新增对话优先级支持,以控制对话执行顺序。
- 新增对话与记分板动作的条件支持。
- 新增对话频率支持,以限制对话显示频次。
- 新增支持记分板与条件功能的 NPC 预设。
- 通过移除冗余字段,优化对话按钮数据格式。
6.2.0
- 修复对话中字符串注入漏洞。
- 补充缺失的动作类型本地化翻译。
- 新增记分板动作类型,支持增加、减少与设定记分板数值。
- 新增
@score(...)NPC 宏,可在对话中显示记分板数值。 - 新增更多单元测试。
- 优化旋转按钮,增加指示器并提升易用性。
6.1.2
- 修复容器与菜单同步问题,补全缺失的关闭容器数据包。
- 修复部分情况下关闭按钮失效的问题。
- 修复界面切换时鼠标光标跳跃问题。
- 修复本地化文件,移除重复与弃用条目。
- 将 Easy NPC 魔杖移至现有核心物品分类栏,而非新建分类。
- 新增猫形 NPC 姿势支持(尾部除外)。
- 通过在非必要时禁用发光效果,优化 EasyNPCWand 发光性能。
- 通过排除展示型实体(如显示方块、画架、投掷物、刷怪笼)等非生物实体,优化自定义实体识别。
- 优化猫形 NPC 变体处理。
6.1.1
- 通过重新校验实体类型,修复了 #612 问题。
- 通过强制同步特定模型的帽子与头部图层,修复了 #610 问题。
- 修复兽人纹理显示异常。
- 通过将相关逻辑迁移至客户端,优化自定义模型支持与性能。
- 优化玩家到 UUID 映射的缓存,提升玩家皮肤加载效率。
- 限定更换模型命令与逻辑仅适用于多普勒 NPC。
6.1.0 ✨
本次为重大版本更新。更新前请务必备份您的世界存档及 NPC 数据
... [内容过长已截断]



