基本信息
我的世界Java版本
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-03-13
更新日志
Easy NPC:核心版(1.21.1)更新日志
注意事项
本更新日志仅包含变更摘要。
完整更新日志请参阅 GitHub 历史记录。
注意:更新至新版本前,请务必备份您的世界存档及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
- 通过实现 ON_KILL 动作类型与事件,修复了 #632 问题。
- 通过优化材质处理性能、缓存策略与内存占用,修复了 #629 问题。
- 修复了对 NPC 使用击杀指令无效的问题。
- 修复了材质重载防护机制阻止缓存驱逐后重新加载的问题。
- 修复了远程图像校验器中 WebP 格式校验缺陷(缺失 return 语句)。
- 重构材质处理逻辑,以提升可维护性与未来扩展性。
- 新增基于时间的重载防护机制(60 秒),替代原有永久性阻断机制。
- 新增针对材质处理的额外单元测试。
- 优化 Gradle 构建任务。
6.5.0
- ⚠️ 移除“Jar-in-Jar”打包方式,以提升模组兼容性与 API 能力。
- 修复了 #627 问题:改进剪刀功能实现,增强与其他模组的兼容性。
- 修复了 #625 问题:解决在使用旋转或位移模型部件时生动动画异常的问题。
- 修复了使用缩放模型部件时默认动画被意外取消的问题。
- 新增更完善的姿态动画控制选项,提供智能(Smart)、默认(Default)与无(None)三种模式。
6.4.1
- 修复了 #626 问题:优化针对不同 NPC UUID 的界面切换逻辑,感谢
Spawnblade提供详尽的问题分析与修复建议。
6.4.0
- 通过增强对话数据校验与错误处理,修复了 #626 问题。
- 通过重构渲染数据与渲染处理逻辑,修复了 #623 问题。
- 通过确保自定义数据正确保存与加载,修复了 #622 问题。
- 修复了“打开对话”动作类型,使其支持从其他 NPC 触发对话。
- 通过为 ConditionDataSet 与 ActionDataSet 补充缺失的 equals 和 hashCode 方法,修复哈希相关问题。
- 新增自定义数据测试物品,用于 #622 问题验证及自定义数据功能的便捷测试。
- 优化记录类(record)实现,并修复潜在的数据缺失问题。
6.3.0
- 重构配置 GUI 专用组件,并将其从核心模组中移除。
- 修复对话数据问题:在发送至客户端前先过滤对话数据。
- 修复对话编辑器布局问题,提升可用性。
- 修复部分对话数据字段缺失默认值的问题。
- 新增对话优先级支持,用于控制对话执行顺序。
- 新增对话与记分板动作的条件支持。
- 新增对话频率支持,用于限制对话触发频次。
- 新增支持记分板与条件功能的 NPC 预设模板。
- 优化对话按钮数据格式,移除冗余字段。
6.2.0
- 修复对话中字符串注入漏洞。
- 修复部分动作类型缺少本地化翻译的问题。
- 新增记分板动作类型,支持增加、减少与设置记分板数值。
- 新增
@score(...)NPC 宏,用于在对话中显示记分板数值。 - 新增额外单元测试。
- 优化旋转按钮:添加状态指示器并提升交互体验。
6.1.2
- 修复容器与菜单同步问题,补全缺失的关闭容器数据包。
- 修复部分情况下关闭按钮失效的问题。
- 修复界面切换时鼠标光标异常跳动的问题。
- 修复翻译文件,移除重复与已弃用条目。
- 将 Easy NPC 魔杖移至现有核心物品标签页,不再新建标签页。
- 新增猫姿态支持(适配不同模型部件,尾部除外)。
- 优化 EasyNPCWand 发光效果性能:仅在需要时启用。
- 优化自定义实体检测逻辑:排除非生物实体(如展示框、标记实体、投掷物与刷怪箱)。
- 优化猫变体处理逻辑。
6.1.1
- 通过重新校验实体类型,修复了 #612 问题。
- 通过强制同步特定模型的帽子与头部图层,修复了 #610 问题。
- 修复兽人材质贴图。
- 通过将相关逻辑迁移至客户端侧,优化自定义模型支持与性能表现。
- 优化玩家→UUID 映射缓存机制,提升玩家皮肤加载效率。
- 将更换模型指令与逻辑限制于 Doppler NPC 类型。
6.1.0 ✨
本版本为重大更新,请在升级前务必备份您的世界存档与 NPC 数据。
本版本包含大量改进、优化与内部重构,与早期版本不完全兼容。
⚠️ 破坏性变更
- 6.1.0 版本之前创建的 NPC 及其配置数据可能无法正常加载,或需手动调整。
- 内部数据格式与部分行为已重构,以支持新用例。
🧩 新模块化结构
Easy NPC 现已拆分为三个独立模组:
- Easy NPC——整合包,同时包含核心逻辑与配置 GUI,开箱即用。
- Easy NPC:核心版——轻量级运行时与 NPC 逻辑,依赖极少,适用于服务器、整合包及开发者。
- Easy NPC:配置 GUI——独立的 NPC 创建与编辑界面,仅需安装于需使用 GUI 的客户端。
🎯 此次变更原因
- 允许服务器与整合包仅在服务端部署 核心版,实现精简部署。
- 在无需 GUI 的场景下降低内存占用与加载耗时。
- 通过分离 UI 与核心逻辑,加快开发与测试流程。



