基本信息
我的世界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 历史记录。
注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多详情请参阅 升级指南。
6.14.0
- 修复 #727:确保修改数值时同步更新至客户端。
- 修复 #726:为特定命令添加额外白名单支持。
- 修复 #686、#389、#304、#211:通过新增“方块宝可梦NPC”类型,初步支持方块宝可梦(Cobblemon)。
- 修复对话框文字错位与导航问题:调整对话框精灵图与界面布局。
- 修复X轴与Z轴根部旋转异常:修正旋转逻辑与枢轴点计算。
- 新增基础方块宝可梦(Cobblemon)支持:提供自定义NPC类型与测试用模型。
6.13.0(安全与权限更新)
说明:本次更新增强了多人游戏环境下的安全校验与权限管理。
部分服务器命令具备潜在风险,若被恶意利用可能造成危害。
本次更新将模型根部数据与逻辑,与其他模型部件的数据与逻辑分离,
因此可能导致现有NPC的根部旋转与缩放值重置为默认值。
- 修复 #725:将模型根部数据与逻辑与其他模型部件数据与逻辑分离。
- 修复 #722:支持将
.snbt文件作为本地预设使用。 - 修复 #675:为对话框与配置界面背景新增专用资源。
- 修复 #605、#532、#529:引入全新安全校验与权限系统。
- 修复 #469、#311:新增实验性API文档与示例,以支持自定义模型。
- 修复配置界面背景重复渲染问题:移除冗余的背景绘制逻辑。
- 修复恶魂(Ghast)与史莱姆(Slime)的碰撞箱及名称标签位置异常:调整包围盒尺寸。
- ⚠️ 新增安全校验机制,防范潜在漏洞,保障多人游戏环境下的安全使用。
- 将动态对话框背景替换为静态背景,以提升性能、自定义能力与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面(config-ui)专属组件,并将其从核心模组中移除。
- 移除重复的精灵图集(sprite sheets)。
- 为未来可能集成 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(Doppler 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 平台的游戏测试(game tests)。 - 将最大头部偏航角度(head yaw)范围由 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标志,使瞬态索引(如弩箭充能、模型动画)不再触发“脏标记”(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根部朝向玩家。
- 修复移动工具错误触发交互行为的问题:在交互处理器中增加对移动工具的判断。
- 修复预设物品(Preset Item)错误触发交互行为的问题:在交互处理器中增加对预设物品的判断。
- 修复史莱姆(Slime)与恶魂(Ghast)的碰撞箱及名称标签位置异常:调整包围盒与眼高计算。
- 修复史莱姆(Slime)与恶魂(Ghast)GUI界面位置异常:调整偏移值。
6.8.2
- 修复 #677:扩展
SafeMerchantData类,新增notifyTrade方法以避免崩溃。 - 新增NPC成长系统:根据玩家互动与行为为NPC升级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持为原版模型启用变体纹理。
6.8.1
- 修复 #676:复用现有预设辅助方法,而非自行编写新方法。
6.8.0(新增API支持)
- 修复 #667:为非法网络数据包新增警告提示与额外校验。
- 修复马(Horse)生成蛋模型。
- 修复悦灵(Allay)、鸡(Chicken)、苦力怕(Creeper)、狐狸(Fox)、恶魂(Ghast)、马(Horse)、卫道士(Illager)、铁傀儡(Iron Golem)、史莱姆(Slime)与恼鬼(Vex)的姿势支持。
- 新增NPC基类,以强化API支持能力。
- 新增NPC原始类(raw classes),以支持高级API开发。
- 新增史莱姆(Slime)与恶魂(Ghast)NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,提升可维护性与未来扩展性。
6.7.1
- 修复 #657 与 #656:在客户端增加额外校验,应对原版Bug。
6.7.0
- 修复 #650:于
setupAnim方法中实现狼(Wolf)腿部动画。 - 修复 #648:修正
canBeHitByProjectiles的翻译。 - 修复 #645:新增
allowBypassInvulnerability配置项,允许/禁止NPC绕过无敌状态。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不正确的问题。
- 修复对话框与配置UI界面中意外显示名称标签的问题。
- 修复距离型动作(distance action)无法正确触发多个动作的问题。
- 修复NPC预设相关问题。
- 修复猫NPC与狼NPC的所有者数据未正确同步的问题。
- 新增预设浏览器,便于快速选择常用NPC预设。
- 新增预设
.snbt(文本格式)导出与导入功能,便于分享NPC预设。 - 重构现有NPC预设,全面采用新
.snbt格式。 - 重构刷怪蛋(spawner)系统,采用新预设格式以提升可维护性与未来扩展性。
6.6.2
- 修复 #643:重构缩放系统。
- 修复重启/重载后缩放未能正确更新碰撞箱与名称标签位置的问题。
- 新增
MID与MOUSE_OVER名称标签可见性模式,实现更精细的NPC名称显示控制。 - 新增基于队伍(Team)的名称标签可见性支持,兼容原版队伍系统。
6.6.1
- 修复 #638:重构展示属性(display attributes)的内部数据处理逻辑。
6.6.0
- 修复 #634:实现异步纹理加载,并配备专用线程池。
- 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
- 修复纹理重载防护中的竞态条件,改用原子操作(atomic operations)。
- 修复远程纹理下载过程中HTTP连接的资源泄漏问题。
- 修复URL校验泛滥问题,避免同一纹理被多次并发下载。
- 修复远程图片校验异常处理缺失问题,防止因无效URL导致崩溃。
- 修复NPC加载过程中频繁出现的
defineId called for:警告信息。 - 重构纹理加载架构,引入多层级防御与速率限制机制。
- 重构实体数据注册逻辑,提升可维护性。
- 将数据类转换为现代Java记录(records),增强不可变性与线程安全性。
- 新增线程安全的会话服务器防刷屏机制(
ConcurrentHashMap)。 - 新增全面的错误恢复机制,失败时自动重置冷却时间。
- 优化纹理加载:采用双线程池 + 500毫秒速率限制。
- 改进异常处理:针对
IIOException与FileNotFoundException设置专属 catch 块。
6.5.2
- 修复村民职业与工作皮肤显示异常问题。
- 优化GitHub工作流:为Gradle依赖添加缓存。
- 优化Gradle构建时间与清理任务。
6.5.1
- 修复 #632:实现
ON_KILL动作类型与事件。 - 修复 #629:优化纹理处理性能、缓存机制与内存占用。
- 修复NPC击杀命令失效问题。
- 修复纹理重载防护机制导致缓存无法在驱逐后重新加载的问题。
- 修复远程图片校验器中WebP验证Bug(缺失return语句)。
- 重构纹理处理逻辑,提升可维护性与未来扩展性。
- 新增基于时间的重载防护(60秒),替代永久性阻断机制。
- 新增纹理处理相关的额外单元测试。
- 优化Gradle构建任务。
6.5.0
- ⚠️ 移除“jar-in-jar”打包方式,以提升模组兼容性与API能力。
- 修复 #627:重构剪刀(scissor)实现,增强与其他模组的兼容性。
- 修复 #625:解决使用旋转或移动的模型部件时,生动动画(lively animation)异常问题。
- 修复使用缩放模型部件时,默认动画被意外取消的问题。
- 新增更完善的姿势动画控制选项:“智能”、“默认”与“无”。
6.4.1
- 修复 #626:优化不同NPC UUID间的界面切换逻辑,感谢
Spawnblade提供详尽调查与修复建议。
6.4.0
- 修复 #626:增强对话数据校验与错误处理能力。
- 修复 #623:重构渲染数据与渲染处理逻辑。
- 修复 #622:确保自定义数据能够正确保存与加载。
- 修复“打开对话”动作类型,支持从其他NPC触发对话。
- 修复哈希问题:为
ConditionDataSet与ActionDataSet补全缺失的equals与hashCode方法。 - 新增自定义数据测试物品,便于 #622 及其他自定义数据功能的测试。
- 优化记录类(records)并修复潜在的数据缺失问题。
6.3.0
- 重构配置界面(config-ui)专属组件,并将其从核心模组中移除。
- 修复对话数据:在发送至客户端前先进行过滤。
- 修复对话编辑器布局问题,提升易用性。
- 修复部分对话数据字段缺失默认值的问题。
- 新增对话优先级支持,用于控制对话执行顺序。
- 新增对话与计分板动作的条件支持。
- 新增对话频率支持,限制对话显示频次。
- 新增支持计分板与条件功能的NPC预设。
- 优化对话按钮数据格式,移除冗余字段。
6.2.0
- 修复对话中字符串注入漏洞。
- 修复动作类型缺失翻译的问题。
- 新增计分板动作类型,支持增减、设定计分板数值。
- 新增
@score(...)NPC宏,支持在对话中显示计分板数值。 - 新增额外单元测试。
- 优化旋转按钮(spin button):添加指示器并提升易用性。
6.1.2
- 修复容器与菜单同步问题:补全缺失的关闭容器数据包。
- 修复某些情况下关闭按钮失效的问题。
- 修复界面切换时鼠标光标异常跳动的问题。
- 修复翻译文件,移除重复及已弃用条目。
- 将Easy NPC魔杖移至现有核心物品分类页签,不再新建页签。
- 新增猫(Cat)姿势支持(各模型部件,尾部除外)。
- 优化
EasyNPCWand发光效果性能:仅在需要时启用。 - 优化自定义实体检测逻辑:排除非生物实体(如展示框、画架、投掷物、刷怪蛋等)。
- 优化猫变体(cat variant)处理逻辑。
6.1.1
- 修复 #612:重新校验实体类型。
- 修复 #610:强制同步特定模型的帽子与头部图层。
- 修复兽人(orc)纹理问题。
- 优化自定义模型支持与性能:将相关逻辑迁移至客户端独占执行。
- 优化玩家→UUID映射缓存,加快玩家皮肤加载。
- 限定更换模型命令与逻辑仅对多普勒NPC(Doppler NPCs)生效。
6.1.0 ✨
这是一次重大版本更新。更新前请务必备份您的世界存档及NPC数据!
本版本包含大量改进、优化与内部重构,
与早期版本不完全兼容。
⚠️ 破坏性变更
- 6.1.0 版本之前创建的NPC及其配置数据,可能无法正常加载,或需手动调整。
- 内部数据格式与部分行为已被重构,以支持新的使用场景。
🧩 新增模块化结构
Easy NPC 现已拆分为三个独立模组:
- Easy NPC —— 包含“核心版”与“配置界面”的一体化整合包,开箱即用。
- Easy NPC:核心版 —— 轻量级运行时与NPC逻辑,依赖极少。适用于服务器、模组包与开发者。
- Easy NPC:配置界面 —— 独立的NPC创建与编辑界面。仅需安装于需使用UI的客户端。
🎯 此次变更的意义?
- 服务器与模组包可在服务端仅部署 核心版,实现更精简的部署方案。
- 当无需UI时,可显著降低内存占用与加载时间。
- 分离UI与核心逻辑,加速开发与测试流程。



