基本信息
我的世界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.20.0
- 修复了第三方模组尝试访问不存在的 NPC 目标时引发的崩溃问题。
6.19.0
⚠️ 注意:本次更新将对话背景图尺寸调整为每边增加 10×6 像素,若您使用了自定义对话背景图,可能需要相应调整其尺寸。
- 修复 #752、#130:新增对话按钮条件支持,允许禁用指定按钮。
- 修复 #683、#215:新增对话文本打字机效果支持。
- 修复 #690、#309:为对话、对话按钮及交互动作新增条件支持。
- 修复对话界面布局与背景相关的若干 UI 小问题。
- 将对话背景图重构为每边增加 10×6 像素。
- 重构对话界面布局,以更好适配新的背景尺寸并提升视觉效果。
- 新增对话文本打字机效果及客户端配置选项。
- 新增条件状态标识符号,用于直观显示对话、按钮及交互动作的条件启用状态。
- 新增物品条件中的“数量”字段,支持校验玩家持有特定数量的物品。
- 新增示例 NPC 预设“阈值守卫者”,包含多种条件与动作组合。
- 新增若干与对话条件及按钮状态相关的小型 Bug 修复与性能优化。
6.18.0
⚠️ 注意:本次更新更改了条件与动作的内部数据格式,可能导致旧版中无存储 ID 的执行限制条目被重置或移除。
- 修复 #745:为动作新增条件支持,实现更复杂、更动态的行为逻辑。
- 修复 #652:为对话按钮新增长文本提示支持。
- 修复 #687:为命令值新增提示框,完整显示其内容。
- 新增经验等级条件。
- 新增游戏模式条件。
- 新增“物品栏中拥有某物品”条件。
- 新增“主手/副手中持有某物品”条件。
- 新增玩家生命值条件。
- 新增玩家标签条件。
- 新增玩家队伍条件。
- 新增示例 NPC 预设“金宝石矿石”,包含多种条件与动作组合。
- 新增否定条件支持,可通过取反实现更复杂的逻辑判断。
- 移除
ActionDataEntry的参数伪 ID,改用随机 UUID 替代。 - 重构条件系统,以支持更多类型的条件。
6.17.0
- 修复 #738:为“以玩家身份执行”功能新增额外提示信息。
- 修复日志冗余问题:降低启动及游戏运行期间
log.info级别日志输出量。 - 新增单元测试与游戏内测试用例。
6.16.0
- 修复 #732:新增选项,支持禁用对话界面的 ESC 键与关闭按钮。
- 修复 #723:在交易界面等特定场景下避免对话自动关闭。
- 新增通用对话配置选项,便于用户自定义对话行为。
- 新增对话头像缩放与位置偏移配置选项。
- 补充缺失的本地化键名。
6.15.0(交易、玩家头颅、Epic Fight 及体验优化更新)
- 修复 #731:若客户端物种列表为空,则重新同步物种数据。
- 修复 #730:改进 Epic Fight 集成,并启用实验性功能。
- 修复 #729:确保交易使用次数能被正确保存。
- 修复 #728:新增玩家头颅的自定义头颅支持。
- 修复 #689:显示剩余交易次数,并支持手动与自动重置。
- 修复 #218 与 #132:新增交易配置界面,并增强对自定义交易的支持。
- 修复交易边缘情况:可在基础交易模式与普通/高级交易模式间自由切换。
- 修复对话按钮文字被截断问题,同时通过提示框显示完整文本。
- 修复 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中新增模型部件名称常量,确保混入代码中的一致性调用。 - 优化
RenderEntityTypeSupportConfig:增强过滤逻辑并优化数据结构,提升性能与可维护性。 - 移除大量转储大型数据结构的冗长调试日志。
6.11.1
- 修复 #710:改进可恢复交易数据的向后兼容解析逻辑。
6.11.0
- 修复 #703:解决新自定义图层系统与手部渲染导致的渲染异常。
- 修复 #701:为无效交易报价新增额外防护与日志记录。
- 修复智能动画在头部位置被修改后无法正常工作的问题。
- 修复头部追踪逻辑:将玩家检测逻辑移回仅服务端执行。
- 优化
CustomLookAtPlayerGoal,更好地处理边界情况并减少抖动。 - 修复多普勒 NPC 持续保留手持物品的问题。
- 优化
PoseManager日志输出信息。 - 更新 Logo,采用全新设计。
6.10.0
- 修复 #698:为第三方实体创建过程添加 try-catch 包裹。
- 修复 #695:切换至
DEFAULT原版姿势时,清空模型部件的旋转与位置。 - 修复 #695:仅当 NPC 处于空闲状态时,才应用旋转锁定与姿势动画。
- 修复 #695:修正根部旋转枢轴点,改用实际包围盒高度而非固定值 0.5f。
- 修复多个目标注册问题,包括:
isTargetedPlayer判断逻辑颠倒、离开处理器中 UUID 错误、加入/离开时未刷新玩家目标、离线目标重试失败等。 - 修复目标注销后仍保留目标引用的问题。
- 移除加载姿势时自动锁定根部旋转的功能;现改为由用户手动控制。
- 在高级与自定义姿势配置界面中新增“旋转锁定”复选框。
- 在
ConfigurationMenuHandler中为默认姿势界面新增模型专属姿势键过滤功能。 - 新增
CustomPosition、CustomRotation、CustomScale、ModelPose、ModelAnimationBehavior与ModelAnimationData的单元测试。 - 新增
NPCDataIsolationTestHelper及 Fabric 与 Forge 平台的游戏测试。 - 将头部最大偏航角范围由 60° 提升至 65°。
6.9.0
- 修复 #692、#666:新增缓存与防护机制,防止 NPC 实体数据更新被重复触发。
- 修复 #651、#617:为所有支持的 NPC 类型新增基础自定义姿势。
- 修复 #597:新增面向玩家、村民、怪物等的多种逃亡目标。
- 修复姿势加载逻辑:直接从模组资源读取,不再复制文件至磁盘。
- 修复实体加入时重复调用
saveNPC的问题:先检查注册表中是否已存在对应条目。 - 新增
despawn与spawn命令,支持通过 UUID 移除或重生 NPC,并可配置移除原因。 - 新增
ModelPoseAPI与EasyNPCEntityHandler公共 API 类,供外部模组以编程方式控制 NPC 姿势与管理 NPC。 - 新增所有支持 NPC 类型的姿势数据文件。
- 在基础姿势配置界面中新增“旋转锁定”复选框。
- 新增
MoveToPositionGoal,支持 NPC 先移动至指定位置,再执行回调动作。 - 新增
EasyNPCLookControl与EasyNPCBodyRotationControl,尊重根部旋转锁定设置。 - 新增 NPC 实体数据索引中对所有者变更与维度变更的同步支持。
- 在各类实体渲染器中新增
EasyNPCItemAttachmentLayer。 - 新增专属“逃亡目标”配置页,涵盖针对爬行者、怪物、生物、玩家、村民及太阳的逃亡目标。
- 在跟随目标页中新增
FOLLOW_ITEM目标,支持 NPC 根据资源位置(如minecraft:apple)跟随物品实体。 - 新增
LookAtEntityByUUIDGoal,并在“注视目标”配置页中启用“按 UUID 注视实体”与“注视所有者”目标。 - 为
SynchedDataIndex新增persistent标志,使瞬态索引(如弩箭蓄力、模型动画)不再触发脏标记保存。 - 为
SlimeBase新增可配置的customParticlesEnabled标志,供 API 使用者调用。 - 新增
SoundType.PET并将CAT_PURR映射至猫形 NPC,丰富驯服后环境音效种类。 - 将周期性 NPC 保存操作的日志级别由 INFO 降为 DEBUG,降低日志冗余度。
6.8.3
- 修复 #680:通过升级网络协议版本,强制校验版本不匹配问题。
- 修复 #679:重置名称标签的位置、旋转与尺寸。
- 修复 #665:为根部旋转新增多状态滑动支持。
- 修复 #664:新增禁用鼠标跟随功能,便于姿势调整。
- 修复 #663:增强对 X 与 Z 轴根部旋转的支持。
- 修复 #661:新增 NPC 魔杖配合潜行快捷旋转功能,使 NPC 根部朝向玩家。
- 修复移动工具错误触发交互:在交互处理器中新增移动工具校验。
- 修复预设物品错误触发交互:在交互处理器中新增预设物品校验。
- 修复史莱姆与恶魂的碰撞箱及名称标签位置问题:通过调整包围盒与眼睛高度计算解决。
- 修复史莱姆与恶魂 GUI 位置:通过调整偏移值解决。
6.8.2
- 修复 #677:扩展
SafeMerchantData,新增notifyTrade方法,避免崩溃。 - 新增进度数据支持,可根据玩家互动与动作提升 NPC 等级。
- 新增全局 NPC 追踪系统,便于跨世界统一管理与调试 NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持为原版模型启用变体纹理。
6.8.1
- 修复 #676:改用现有预设辅助方法,而非自定义实现。
6.8.0(新增 API 支持)
- 修复 #667:为无效网络数据包新增警告信息与额外校验。
- 修复马匹生成蛋模型。
- 修复所有支持 NPC 类型(悦灵、鸡、苦力怕、狐狸、恶魂、马、灾厄村民、铁傀儡、史莱姆、恼鬼)的姿势支持。
- 新增 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 预设。
- 新增预设
.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(缺失 return 语句)。
- 重构纹理处理逻辑,提升可维护性与未来拓展性。
- 新增基于时间的重载保护(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
- 重构配置界面专属组件,并将其从核心模组中移除。
- 修复对话数据:在发送至客户端前进行过滤。
- 修复对话编辑器布局问题,提升易用性。
- 修复部分对话数据字段缺失默认值的问题。
- 新增对话优先级支持,用于控制对话执行顺序。
- 新增对话与记分板动作的条件支持。
- 新增对话频率支持,限制对话显示频次。
- 新增支持记分板与条件的 NPC 预设。
- 优化对话按钮数据格式,移除冗余字段。
6.2.0
- 修复对话中的字符串注入漏洞。
- 修复动作类型缺失本地化的问题。
- 新增记分板动作类型,支持增减、设定记分板数值。
- 新增
@score(...)NPC 宏,用于在对话中显示记分板数值。 - 新增单元
... [内容过长已截断]



