基本信息
我的世界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.16.0
- 通过提供禁用对话框ESC键与关闭按钮的选项,修复了#732问题。
- 通过在交易界面等特定场景下避免自动关闭,修复了#723问题。
- 新增通用对话框配置选项,允许用户自定义对话框行为。
- 新增头像缩放与位置偏移配置选项,用于调整对话框中头像显示。
- 补充缺失的本地化键值。
6.15.0(交易系统、玩家头颅、Epic Fight整合与体验优化更新)
- 通过在客户端物种列表为空时重新同步物种数据,修复了#731问题。
- 通过改进Epic Fight整合并启用实验性功能,修复了#730问题。
- 通过确保交易使用次数被正确存储,修复了#729问题。
- 通过为玩家头颅添加自定义头颅支持,修复了#728问题。
- 通过显示剩余交易次数,并支持手动与自动重置,修复了#689问题。
- 通过新增交易配置界面及对自定义交易的更好支持,修复了#218与#132问题。
- 通过在基础交易模式与普通/高级交易模式间切换,修复了特定交易边缘情况。
- 修复了对话框按钮文字被截断的问题,悬停提示将显示完整文本。
- 通过将动画状态与Cobblemon动画系统同步,修复了Cobblemon动画异常问题。
- 新增按交易独立配置的操作功能,允许用户在完成购买后触发指定操作。
- 新增交易重置按钮,便于一键重置全部交易。
- 在交易配置界面中新增交易使用次数信息显示。
- 新增实验性功能开关,允许用户手动启用实验性功能。
- 新增格里塞尔达·磨刀石作为带操作示例的交易者。
- 清理测试文件。
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问题。
- 通过移除冗余背景渲染,修复了配置界面背景重复绘制问题。
- 通过调整碰撞箱,修复了幽灵与史莱姆的碰撞箱与名称标签位置问题。
- ⚠️ 新增安全检查机制,防止潜在漏洞利用,保障多人游戏环境下的安全使用。
- 将动态对话框背景替换为静态背景,以提升性能、可定制性与兼容性。
- 将动态配置界面背景替换为静态背景,以提升性能。
- 重构配置界面专用组件,并将其从核心模组中移除。
- 移除重复的图素表。
- 为未来可能集成Luck Perms(如#712所述)做好权限系统准备。
- 对配置界面渲染与资源相关代码进行常规清理与优化。
6.12.0
- 通过基于原版模型对自定义模型部件列表增加额外校验,修复了#714问题。
- 通过将每NPC级别的INFO级别日志降级为DEBUG级别,并合并冗余警告信息,修复了#713问题。
- 通过减少启动/配置阶段过大的日志输出量,修复了#711问题。
- 修复NBT校验防护机制,避免生产环境中不必要的缓冲区分配。
- 在EasyNPCModelManager中新增模型部件名称常量,确保混入代码中的一致性使用。
- 优化RenderEntityTypeSupportConfig:增强过滤逻辑,优化数据结构,提升性能与可维护性。
- 移除输出大型数据结构的冗长调试日志。
6.11.1
- 通过改进可恢复交易数据的向后兼容解析,修复了#710问题。
6.11.0
- 修复了新型自定义图层系统与手部渲染导致的#703渲染问题。
- 通过为无效交易报价增加额外防护与日志记录,修复了#701问题。
- 修复智能动画在头部位置被修改时无法正常工作的问题。
- 通过将玩家检测逻辑移回服务端独占执行,修复头部追踪问题。
- 改进CustomLookAtPlayerGoal,使其更好处理边缘情况并减少抖动。
- 修复多普勒NPC持续保留其手持物品的问题。
- 优化PoseManager日志消息。
- 更新Logo为全新设计。
6.10.0
- 通过为第三方实体创建添加try-catch机制,修复了#698问题。
- 通过切换至
DEFAULT原版姿势时清空模型部件的旋转/位置,修复了#695问题。 - 通过仅在NPC处于空闲状态时应用锁定旋转与姿势动画,修复了#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问题。
- 通过为逃离玩家、村民、怪物等新增额外逃跑目标,修复了#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魔杖配合潜行快捷旋转功能,使NPC根部可快速转向玩家,修复了#661问题。
- 通过在交互处理器中增加移动工具检测,修复移动工具错误触发交互的问题。
- 通过在交互处理器中增加预设物品检测,修复预设物品错误触发交互的问题。
- 通过调整碰撞箱与眼部高度计算,修复幽灵与史莱姆的碰撞箱及名称标签位置问题。
- 通过调整偏移值,修复幽灵与史莱姆GUI位置问题。
6.8.2
- 通过扩展
SafeMerchantData并添加notifyTrade方法避免崩溃,修复了#677问题。 - 新增NPC成长进度数据支持,可根据玩家互动与行为提升NPC等级。
- 新增全局NPC追踪系统,便于跨世界管理与调试NPC。
- 新增
OriginalModelConfig.withVariantTexture()选项,支持在原版模型上使用变体纹理。
6.8.1
- 通过复用现有预设辅助方法而非自定义实现,修复了#676问题。
6.8.0(新增API支持)
- 通过为无效网络数据包添加警告信息与额外校验,修复了#667问题。
- 修复马匹生成蛋模型。
- 修复所有支持NPC类型的姿势支持,包括悦灵、鸡、苦力怕、狐狸、幽灵、马、灾厄村民、铁傀儡、史莱姆与恼鬼。
- 新增NPC基础类,以提升API支持能力。
- 新增NPC原始类,以支持高级API功能。
- 新增史莱姆与幽灵NPC类型。
- 新增自定义模型API,便于与其他模组及自定义模型集成。
- 重构内部数据处理与注册逻辑,以提升可维护性及未来改进空间。
6.7.1
- 通过在客户端增加针对原版Bug的额外检查,修复了#657与#656问题。
6.7.0
- 通过在setupAnim方法中实现狼腿部动画,修复了#650问题。
- 通过修复canBeHitByProjectiles翻译,修复了#648问题。
- 通过新增
allowBypassInvulnerability配置选项以允许/禁止NPC绕过无敌状态,修复了#645问题。 - 修复删除按钮在宽度较小时仍显示标签的问题。
- 修复上下按钮在某些情况下定位不准确的问题。
- 修复对话框与配置界面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的线程安全会话服务器防刷机制。
- 新增全面的错误恢复机制,失败时自动重置冷却时间。
- 优化纹理加载,采用双线程池与500毫秒速率限制。
- 优化异常处理,为IIOException与FileNotFoundException分别添加专门捕获块。
6.5.2
- 修复村民职业与工作皮肤问题。
- 通过为Gradle依赖添加缓存,优化GitHub工作流。
- 优化Gradle构建时间与清理任务。
6.5.1
- 通过实现ON_KILL动作类型与事件,修复了#632问题。
- 通过优化纹理处理性能、缓存与内存使用,修复了#629问题。
- 修复击杀命令对NPC无效的问题。
- 修复纹理重载防护机制阻止缓存驱逐后重新加载的问题。
- 修复远程图像验证器中WebP验证的Bug(缺失return语句)。
- 重构纹理处理逻辑,以提升可维护性与未来改进空间。
- 新增基于时间的重载防护(60秒),替代永久性阻断机制。
- 新增纹理处理相关的额外单元测试。
- 优化Gradle构建任务。
6.5.0
- ⚠️ 移除jar-in-jar打包方式,以提升模组兼容性与API能力。
- 修复#627剪裁(scissor)实现,以提升与其他模组的兼容性。
- 修复#625在使用旋转或移动模型部件时出现的生动动画问题。
- 修复使用缩放模型部件时默认动画被取消的问题。
- 新增更优的姿势动画控制,提供智能、默认与无动画三种选项。
6.4.1
- 通过改进不同NPC UUID间的界面切换逻辑,修复了#626问题,感谢
Spawnblade提供的详细分析与修复建议。
6.4.0
- 通过改进对话框数据校验与错误处理,修复了#626问题。
- 通过重构渲染数据与渲染处理逻辑,修复了#623问题。
- 通过确保自定义数据被正确保存与加载,修复了#622问题。
- 修复打开对话框动作类型,使其支持从其他NPC触发对话框。
- 通过为ConditionDataSet与ActionDataSet添加缺失的equals与hashCode方法,修复哈希问题。
- 为#622新增自定义数据测试物品,便于更便捷地测试自定义数据。
- 优化记录类(record)并修复潜在的数据缺失问题。
6.3.0
- 重构配置界面专用组件,并将其从核心模组中移除。
- 修复对话框数据,在发送至客户端前先进行过滤。
- 修复对话框编辑器布局问题,并提升可用性。
- 修复部分对话框数据字段缺失默认值的问题。
- 新增对话框优先级支持,以控制对话框执行顺序。
- 新增对话框与计分板动作的条件支持。
- 新增对话框频率支持,以限制对话框显示频次。
- 新增支持计分板与条件功能的NPC预设。
- 优化对话框按钮数据格式,移除冗余字段。
6.2.0
- 修复对话框内的字符串注入问题。
- 修复动作类型缺失本地化的问题。
- 新增计分板动作类型,支持增加、减少或设定计分板数值。
- 新增
@score(...)NPC宏,用于在对话框中显示计分板数值。 - 新增额外单元测试。
- 优化旋转按钮,增加指示器并提升可用性。
6.1.2
- 修复容器与菜单同步问题,补充缺失的关闭容器数据包。
- 修复关闭按钮在某些情况下无法工作的问题。
- 修复界面切换时鼠标光标跳跃的问题。
- 修复翻译文件,移除重复与已弃用的条目。
- 将Easy NPC魔杖移至现有核心物品标签页,而非新建标签页。
- 新增猫型NPC姿势支持(尾部除外)。
- 优化EasyNPCWand发光效果性能,仅在必要时启用。
- 优化自定义实体检测,排除非生物实体(如展示框、画架、投掷物与刷怪笼)。
- 优化猫型变体处理。
6.1.1
- 通过重新校验实体类型,修复了#612问题。
- 通过强制同步特定模型的帽子与头部图层,修复了#610问题。
- 修复兽人纹理。
- 通过将相关逻辑移至客户端独占执行,优化自定义模型支持与性能。
- 优化玩家至UUID映射缓存,提升玩家皮肤加载效率。
- 将更换模型命令与逻辑限制为仅适用于多普勒NPC。
6.1.0 ✨
这是一次重大版本更新。更新前请务必备份您的世界存档及NPC数据!
本版本包含大量改进、优化与内部重构,
与早期版本不完全兼容。
⚠️ 破坏性变更
- 6.1.0之前版本创建的NPC及其配置数据可能无法正确加载,或需手动调整。
- 内部数据格式与部分行为已被重构,以支持新用例。
🧩 全新模块化结构
Easy NPC现已拆分为三个独立模组:
- Easy NPC——包含核心版与配置界面的完整整合包,开箱即用。
- Easy NPC:核心版——轻量级运行时与NPC逻辑,依赖最少。适用于服务端、模组包与开发者。
- Easy NPC:配置界面——独立的NPC创建与编辑配置界面。可仅安装于需要UI的客户端。
🎯 此次变更的意义?
- 服务端与模组包可仅在服务端部署核心版,实现更精简的配置。
- 当无需UI时,可显著降低内存占用与加载时间。
- 通过分离UI与核心逻辑,加快开发与测试速度。
... [内容过长已截断]



