BBSMC Logo
模组整合包光影资源包软件汉化
数据包插件
登录
模组插件数据包光影资源包整合包软件汉化
登录
设置
简易 NPC  -   Easy NPC
简易 NPC  -   Easy NPC

简易 NPC - Easy NPC

为你的世界或模组轻松创建带有对话的 NPC。

1,0333a year ago
简易 NPC  -   Easy NPC

简易 NPC - Easy NPC

为你的世界或模组轻松创建带有对话的 NPC。

1,033
3

基本信息

我的世界Java版本

1.21.3
1.21–1.21.1
1.20.1–1.20.2
1.19.2
1.18.2

平台

\n \n \n Fabric
\n \n \n Forge
NeoForge
\n \n \n \n \n \n \n \n \n Quilt

运行环境

客户端和服务端

其他链接

反馈问题 查看源码
Modrinth地址

搬运团队

BBSMC 官方搬运(1)
BBSMC 官方搬运(1)团队

搬运资源声明

对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。

详情信息

许可证 MIT
发布于 2025-01-03
更新于 2026-01-26
简介渲染图更新日志版本百科反馈讨论

全部版本

1
2
14

Easy NPC (Bundle) 6.7.1

on 2026 Jan 26
下载

Easy NPC:核心版(1.21.1)更新日志

说明

本更新日志汇总了主要变更内容。
如需完整变更记录,请访问 GitHub 历史记录。

⚠️ 注意:更新至新版本前,请务必备份您的世界及NPC数据!
更多升级相关信息,请参阅 升级指南。

6.7.1

  • 通过在客户端新增校验逻辑,修复了 #657 和 #656(修复原版漏洞导致的问题)。

6.7.0

  • 通过在 setupAnim 方法中实现狼类腿部动画,修复了 #650。
  • 修复了 #648:修正 canBeHitByProjectiles 的本地化翻译。
  • 修复了 #645:新增配置项 allowBypassInvulnerability,用于启用或禁用NPC绕过无敌状态的能力。
  • 修复了删除按钮在宽度较小时仍显示标签文字的问题。
  • 修复了上/下按钮在某些情况下定位不准确的问题。
  • 修复了对话框与配置界面中错误显示命名牌的问题。
  • 修复了距离触发动作中多个动作无法正确触发的问题。
  • 修复了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

  • 修复了村民职业与工作皮肤显示异常问题。
  • 优化GitHub工作流,为Gradle依赖添加缓存。
  • 优化Gradle构建耗时与清理任务。

6.5.1

  • 通过实现 ON_KILL 动作类型与事件,修复了 #632。
  • 通过优化纹理处理性能、缓存策略与内存占用,修复了 #629。
  • 修复了对NPC执行击杀命令无效的问题。
  • 修复了纹理重载保护机制阻止缓存驱逐后重新加载的问题。
  • 修复了远程图像校验器中WebP验证的缺陷(缺失返回语句)。
  • 重构纹理处理逻辑,提升可维护性并为后续改进预留空间。
  • 新增基于时间的重载保护(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

  • 重构配置界面专属组件,并将其从核心模组中移除。
  • 修复对话数据:在发送至客户端前先过滤对话数据。
  • 修复对话编辑器布局问题,提升易用性。
  • 修复部分对话数据字段缺失默认值的问题。
  • 新增对话优先级支持,用于控制对话执行顺序。
  • 新增对话与计分板动作的条件支持。
  • 新增对话频率支持,用于限制对话显示频次。
  • 新增支持计分板与条件功能的NPC预设。
  • 优化对话按钮数据格式,移除冗余字段。

6.2.0

  • 修复对话中的字符串注入漏洞。
  • 修复动作类型缺失本地化翻译的问题。
  • 新增计分板动作类型,支持增加、减少、设定计分板数值。
  • 新增 @score(...) NPC宏,用于在对话中显示计分板数值。
  • 新增额外单元测试。
  • 优化旋转按钮(spin button):添加指示器并提升易用性。

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 —— 集成核心功能与配置界面的即插即用整合包。
  • Easy NPC:核心版 —— 轻量级运行时与NPC逻辑,依赖极少。适用于服务器、整合包及开发者。
  • Easy NPC:配置界面 —— 独立的NPC创建与编辑配置界面。仅需安装于需使用UI的客户端。

🎯 此次变更原因?

  • 服务器与整合包可仅部署 核心版,实现精简配置。
  • 在无需UI的场景下降低内存占用与加载时间。
  • 分离UI与核心逻辑,加快开发与测试速度。

Easy NPC (Bundle) 6.7.1

on 2026 Jan 26
下载

Easy NPC:核心版(1.21.1)更新日志

注意事项

本更新日志汇总了主要变更内容。
完整更新日志请参阅 GitHub 历史记录。

注意:更新至新版本前,请务必备份您的世界存档及NPC数据!
更多升级相关信息,请查阅 升级指南。

6.7.1

  • 通过在客户端增加额外校验,修复了 #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记录(record),增强不可变性与线程安全性。
  • 新增基于 ConcurrentHashMap 的线程安全会话服务器防刷保护。
  • 新增全面的错误恢复机制,失败时自动重置冷却时间。
  • 优化纹理加载:采用双线程池 + 500毫秒速率限制。
  • 改进异常处理:为 IIOException 与 FileNotFoundException 分别添加专属捕获块。

6.5.2

  • 修复了村民职业与工作皮肤显示异常问题。
  • 优化GitHub工作流,为Gradle依赖项添加缓存。
  • 提升Gradle构建速度,并优化清理任务。

6.5.1

  • 通过实现 ON_KILL 动作类型及对应事件,修复了 #632。
  • 通过优化纹理处理性能、缓存策略与内存占用,修复了 #629。
  • 修复了对NPC执行击杀命令无效的问题。
  • 修复了纹理重载保护机制阻止缓存驱逐后重新加载的问题。
  • 修复了远程图像校验器中WebP验证的Bug(缺失返回语句)。
  • 对纹理处理逻辑进行重构,提升可维护性并为后续改进预留空间。
  • 新增基于时间的重载保护(60秒),替代原有的永久阻断机制。
  • 新增针对纹理处理的额外单元测试。
  • 优化Gradle构建任务。

6.5.0

  • ⚠️ 移除“jar-in-jar”打包方式,以提升模组兼容性与API能力。
  • 通过改进剪刀(Scissors)实现,修复了 #627,提升与其他模组的兼容性。
  • 修复了 #625:在使用旋转或位移模型部件时,生动动画异常的问题。
  • 修复了使用缩放模型部件时默认动画被意外取消的问题。
  • 新增更完善的姿势动画控制,提供智能(smart)、默认(default)与无(none)三种选项。

6.4.1

  • 修复了 #626:针对不同NPC UUID的屏幕切换逻辑,感谢 Spawnblade 提供详尽的排查分析与修复建议。

6.4.0

  • 通过增强对话数据校验与错误处理,修复了 #626。
  • 通过重构渲染数据与渲染处理逻辑,修复了 #623。
  • 通过确保自定义数据能被正确保存与加载,修复了 #622。
  • 修复了“打开对话”动作类型,使其支持从其他NPC触发对话。
  • 通过为 ConditionDataSet 与 ActionDataSet 补充缺失的 equals 和 hashCode 方法,修复了哈希相关问题。
  • 新增自定义数据测试物品,用于 #622 及更便捷的自定义数据测试。
  • 优化记录类(records)并修复潜在的数据缺失问题。

6.3.0

  • 对配置界面专用组件进行重构,并将其从核心模组中移除。
  • 修复对话数据:在发送至客户端前对对话数据进行过滤。
  • 修复对话编辑器布局问题,提升可用性。
  • 修复部分对话数据字段缺失默认值的问题。
  • 新增对话优先级支持,用于控制对话执行顺序。
  • 新增对话与计分板动作的条件支持。
  • 新增对话频率支持,用于限制对话显示频次。
  • 新增支持计分板与条件功能的NPC预设。
  • 优化对话按钮数据格式,移除冗余字段。

6.2.0

  • 修复了对话中的字符串注入漏洞。
  • 修复了部分动作类型缺失翻译的问题。
  • 新增计分板动作类型,支持增、减、设定计分板数值。
  • 新增 @score(...) NPC宏,用于在对话中显示计分板数值。
  • 新增额外单元测试。
  • 优化旋转按钮(spin button):添加指示器并提升可用性。

6.1.2

  • 修复了容器与菜单同步问题(因缺少关闭容器数据包)。
  • 修复了关闭按钮在某些情况下无法响应的问题。
  • 修复了屏幕切换过程中鼠标光标异常跳跃的问题。
  • 修复翻译文件,移除重复与已弃用条目。
  • 将Easy NPC魔杖移至现有核心物品标签页,不再新建标签页。
  • 新增猫型NPC姿态支持(各模型部件,尾部除外)。
  • 优化EasyNPC魔杖发光效果性能:仅在需要时启用。
  • 优化自定义实体检测逻辑:排除非生物实体(如展示框、标记实体、投掷物、刷怪笼)。
  • 优化猫型变体处理逻辑。

6.1.1

  • 通过重新校验实体类型,修复了 #612。
  • 通过强制同步特定模型的帽子与头部图层,修复了 #610。
  • 修复了兽人(Orc)纹理显示问题。
  • 优化自定义模型支持与性能:将相关逻辑迁移至客户端侧。
  • 优化玩家皮肤的玩家→UUID映射缓存。
  • 将更换模型命令与逻辑限制为仅对Doppler NPC生效。

6.1.0 ✨

这是一次重大版本更新。更新前请务必备份您的世界存档及NPC数据。
本版本包含大量改进、优化与内部重构,与早期版本不完全兼容。

⚠️ 破坏性变更

  • 6.1.0 版本之前创建的NPC及其配置数据,可能无法正常加载,或需手动调整。
  • 内部数据格式与部分行为已重构,以支持新用例。

🧩 新的模块化结构

Easy NPC 现已拆分为三个独立模组:

  • Easy NPC —— 包含核心功能与配置界面的一体化整合包,开箱即用。
  • Easy NPC:核心版 —— 轻量级运行时与NPC逻辑,依赖极少,适用于服务端、模组包及开发者。
  • Easy NPC:配置界面 —— 独立的NPC创建与编辑配置界面,仅需安装于需使用UI的客户端。

🎯 此次变更的原因?

  • 服务端与模组包可仅部署 核心版,实现更精简的部署方案。
  • 在无需UI的场景下,显著降低内存占用与加载耗时。
  • 通过分离UI与核心逻辑,加快开发与测试流程。

Easy NPC (Bundle) 6.7.1

on 2026 Jan 22
下载

Easy NPC(1.20.1)版本更新日志

注意事项

本更新日志包含变更内容的简要汇总。
如需完整更新日志,请访问 GitHub 历史记录。

注意:升级至新版本前,请务必备份您的世界存档及NPC数据!
更多信息请参阅 升级指南。

6.7.1

  • 通过在客户端增加额外校验,修复了 #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记录(record),增强不可变性与线程安全性。
  • 新增基于 ConcurrentHashMap 的线程安全会话服务器防刷机制。
  • 新增全面的错误恢复机制,失败时自动重置冷却时间。
  • 优化纹理加载:采用双线程池 + 500毫秒速率限制。
  • 改进异常处理:针对 IIOException 与 FileNotFoundException 设置独立捕获块。

6.5.2

  • 修复了村民职业与工作皮肤显示异常的问题。
  • 通过为Gradle依赖添加缓存,优化了GitHub工作流。
  • 优化了Gradle构建耗时与清理任务。

6.5.1

  • 通过实现 ON_KILL 动作类型与事件,修复了 #632。
  • 通过优化纹理处理性能、缓存策略与内存占用,修复了 #629。
  • 修复了NPC无法响应击杀命令的问题。
  • 修复了纹理重载保护机制在缓存逐出后阻止缓存重新加载的问题。
  • 修复了远程图像校验器中WebP格式校验的缺陷(缺失返回语句)。
  • 重构纹理处理逻辑,提升可维护性与未来扩展能力。
  • 新增基于时间的重载保护机制(60秒),替代永久性阻断机制。
  • 新增纹理处理相关单元测试。
  • 优化Gradle构建任务。

6.5.0

  • ⚠️ 移除“jar-in-jar”打包方式,以提升模组兼容性与API能力。
  • 通过改进剪刀(scissor)实现,修复了 #627,增强与其他模组的兼容性。
  • 修复了 #625:在使用旋转或位移模型部件时,生动动画(lively animation)异常的问题。
  • 修复了使用缩放模型部件时默认动画被意外取消的问题。
  • 新增更完善的姿态动画控制选项:智能(smart)、默认(default)与无(none)。

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宏,可在对话中显示计分板数值。
  • 新增额外单元测试。
  • 优化旋钮按钮(spin button):增加指示器并提升易用性。

6.1.2

  • 修复容器与菜单同步问题(补充缺失的关闭容器数据包)。
  • 修复关闭按钮在某些情况下失效的问题。
  • 修复屏幕切换过程中鼠标光标异常跳跃的问题。
  • 修复翻译文件,移除重复及已弃用条目。
  • 将Easy NPC魔杖移至现有核心物品标签页,不再新建标签页。
  • 新增猫姿态支持(适配不同模型部件,尾部除外)。
  • 优化EasyNPCWand发光效果性能:仅在需要时启用。
  • 优化自定义实体检测逻辑:排除非生物实体(如展示框、标记实体、投掷物、刷怪笼)。
  • 优化猫变体处理逻辑。

6.1.1

  • 通过重新校验实体类型,修复了 #612。
  • 通过强制同步特定模型的帽子与头部图层,修复了 #610。
  • 修复兽人(orc)材质贴图。
  • 通过将相关逻辑迁移至客户端,优化自定义模型支持与性能。
  • 优化玩家→UUID映射缓存,提升玩家皮肤加载效率。
  • 将更换模型命令与逻辑限定为仅适用于Doppler NPC。

6.1.0 ✨

此为重大版本更新。升级前请务必备份您的世界存档及NPC数据。
本版本包含大量改进、优化与内部重构,与早期版本不完全兼容。

⚠️ 破坏性变更

  • 6.1.0 之前版本创建的NPC及其配置数据可能无法正常加载,或需手动调整。
  • 内部数据格式与部分行为已重构,以支持新用例。

🧩 新模块化结构

Easy NPC 现已拆分为三个独立模组:

  • Easy NPC —— 集成核心功能与配置界面的完整捆绑包,开箱即用。
  • Easy NPC:Core —— 轻量级运行时与NPC逻辑,依赖极少;适用于服务器、整合包及开发者。
  • Easy NPC:Configuration UI —— 独立的NPC创建与编辑配置界面;仅需安装于需使用UI的客户端。

🎯 此次变更原因

  • 服务器与整合包可仅在服务端部署 Core 模组,实现精简部署。
  • 在无需UI的场景下,降低内存占用与加载耗时。
  • 通过分离UI与核心逻辑,加快开发与测试速度。

Easy NPC (Bundle) 6.7.1

on 2026 Jan 22
下载

Easy NPC(1.20.1)更新日志

注意事项

本更新日志汇总了主要变更内容。
如需查看完整更新日志,请访问 GitHub 历史记录。

注意:更新至新版本前,请务必备份您的世界存档及 NPC 数据!
更多详情请参阅 升级指南。

6.7.1

  • 通过在客户端增加额外校验,修复 #657 和 #656(修复原版漏洞导致的问题)。

6.7.0

  • 通过在 setupAnim 方法中实现狼类腿部动画,修复 #650。
  • 通过修正 canBeHitByProjectiles 的翻译,修复 #648。
  • 通过新增配置项 allowBypassInvulnerability,修复 #645,用于启用/禁用 NPC 绕过无敌状态的功能。
  • 修复删除按钮在宽度较小时仍显示标签文字的问题。
  • 修复上/下按钮在某些情况下定位不正确的问题。
  • 修复对话界面与配置界面中命名牌意外显示的问题。
  • 修复距离触发动作中多个动作未能正确执行的问题。
  • 修复 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

  • 修复村民职业与工作皮肤显示异常的问题。
  • 优化 GitHub 工作流,为 Gradle 依赖添加缓存。
  • 优化 Gradle 构建耗时与清理任务。

6.5.1

  • 通过实现 ON_KILL 动作类型与事件,修复 #632。
  • 通过优化纹理处理性能、缓存策略与内存占用,修复 #629。
  • 修复对 NPC 执行击杀命令无效的问题。
  • 修复纹理重载保护机制在缓存驱逐后阻止缓存重新加载的问题。
  • 修复远程图片校验器中 WebP 格式校验的 Bug(缺失 return 语句)。
  • 重构纹理处理逻辑,提升可维护性并为后续改进预留空间。
  • 新增基于时间的重载保护(60 秒),替代原有的永久阻断机制。
  • 为纹理处理新增额外单元测试。
  • 优化 Gradle 构建任务。

6.5.0

  • ⚠️ 移除“jar-in-jar”打包方式,以提升模组兼容性与 API 能力。
  • 通过改进剪刀功能实现,修复 #627,提升与其他模组的兼容性。
  • 修复 #625:在使用旋转或移动模型部件时,生动动画(lively animation)异常的问题。
  • 修复缩放模型部件时默认动画被意外取消的问题。
  • 新增更完善的姿态动画控制选项,提供智能(smart)、默认(default)与无(none)三种模式。

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 魔杖移至现有核心物品分类页签,不再新建页签。
  • 新增猫姿态支持(适配不同模型部件,尾部除外)。
  • 优化 EasyNPCWand 光灵(glowing)效果性能:仅在必要时启用。
  • 优化自定义实体检测逻辑:排除非生物实体(如展示框、画架、投掷物、刷怪笼)。
  • 优化猫品种(cat variant)处理逻辑。

6.1.1

  • 通过重新校验实体类型,修复 #612。
  • 通过强制同步特定模型的帽子与头部图层,修复 #610。
  • 修复兽人(Orc)材质贴图。
  • 通过将相关逻辑迁移至客户端侧,提升自定义模型支持能力与性能。
  • 优化玩家 → UUID 映射缓存,提升玩家皮肤加载效率。
  • 将更换模型命令与逻辑限定为仅对 Doppler NPC 生效。

6.1.0 ✨

本次为重大版本更新。更新前请务必备份您的世界存档及 NPC 数据。
本版本包含大量改进、优化与内部重构,与早期版本不完全兼容。

⚠️ 破坏性变更

  • 6.1.0 之前创建的 NPC 及其配置数据可能无法正常加载,或需手动调整。
  • 内部数据格式与部分行为已重构,以支持新用例。

🧩 新模块化结构

Easy NPC 现已拆分为三个独立模组:

  • Easy NPC —— 包含核心功能与配置界面的完整整合包,开箱即用。
  • Easy NPC:核心(Core) —— 轻量级运行时与 NPC 逻辑,依赖极少,适用于服务器、整合包及开发者。
  • Easy NPC:配置界面(Configuration UI) —— 独立的 NPC 创建与编辑界面,仅需安装于需要该界面的客户端。

🎯 此次变更原因?

  • 服务器与整合包可仅部署 核心(Core) 模组,实现精简配置。
  • 在无需界面的场景下,显著降低内存占用与加载耗时。
  • 分离 UI 与核心逻辑,加快开发与测试速度。

Easy NPC (Bundle) 6.7.0

on 2026 Jan 20
下载

Easy NPC (1.20.1) 更新日志

注意

此更新日志包含简要的变更说明。
如需完整更新日志,请访问 GitHub 历史记录。

注意:更新到新版本前请务必备份您的世界和NPC数据!
更多信息请查看 升级指南。

6.7.0

  • 通过在 setupAnim 方法中实现狼腿部动画修复了 #650。
  • 修复了 #648 中 canBeHitByProjectiles 的翻译问题。
  • 通过添加 allowBypassInvulnerability 配置选项来允许/禁止NPC绕过无敌状态,修复了 #645。
  • 修复了删除按钮在宽度较小时仍显示标签的问题。
  • 修复了上下按钮在某些情况下位置不正确的问题。
  • 修复了对话框和配置UI中名称标签仍会显示的问题。
  • 修复了距离触发动作中多个动作未被正确触发的问题。
  • 修复了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记录形式,增强不可变性和线程安全性。
  • 添加基于ConcurrentHashMap的线程安全会话服务器防垃圾保护。
  • 添加全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进纹理加载,使用2线程池并设置500毫秒速率限制。
  • 改进异常处理,针对IIOException和FileNotFoundException使用特定捕获块。

6.5.2

  • 修复了村民职业和工作皮肤的问题。
  • 通过为Gradle依赖项添加缓存来优化GitHub工作流。
  • 优化Gradle构建时间和清理任务。

6.5.1

  • 通过实现ON_KILL动作类型和事件修复了 #632。
  • 通过改进纹理处理性能、缓存和内存使用修复了 #629。
  • 修复了kill命令对NPC无效的问题。
  • 修复了纹理重载保护阻止缓存被逐出后重新加载的问题。
  • 修复了远程图像验证器中WebP验证的bug(缺少返回语句)。
  • 重构纹理处理逻辑,提升可维护性和未来扩展性。
  • 添加基于时间的重载保护(60秒),取代永久性阻断机制。
  • 为纹理处理添加额外单元测试。
  • 优化Gradle构建任务。

6.5.0

  • ⚠️ 移除jar-in-jar打包方式,以提升模组兼容性和API能力。
  • 通过改进剪刀实现方式修复了 #627,提升与其他模组的兼容性。
  • 修复了 #625 中使用旋转或移动模型部件时的生动动画问题。
  • 修复了使用缩放模型部件时默认动画被取消的问题。
  • 添加更优的姿态动画控制,支持智能、默认和无三种选项。

6.4.1

  • 修复了 #626 中不同NPC UUID的屏幕切换逻辑,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理修复了 #623。
  • 确保自定义数据能被正确保存和加载,修复了 #622。
  • 修复打开对话动作类型,使其支持从其他NPC打开对话。
  • 通过为ConditionDataSet和ActionDataSet添加缺失的equals和hashCode方法修复哈希问题。
  • 为 #622 添加自定义数据测试物品,便于测试自定义数据。
  • 优化记录并修复潜在的数据缺失问题。

6.3.0

  • 重构配置UI专用组件,并将其从核心模组中移除。
  • 修复对话数据,通过在发送至客户端前过滤数据。
  • 修复对话编辑器布局问题并提升可用性。
  • 修复部分对话数据字段缺少默认值的问题。
  • 添加对话优先级支持,用于控制对话执行顺序。
  • 为对话和记分板动作添加条件支持。
  • 添加对话频率支持,限制对话显示次数。
  • 添加新的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 – 包含核心模块和配置UI的整合包,提供即插即用体验。
  • Easy NPC: Core – 轻量级NPC运行时和逻辑,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC: Configuration UI – 独立的配置界面,用于创建和编辑NPC。可安装在需要UI的客户端上。

🎯 此变更目的?

  • 允许服务器和整合包仅在服务端部署 Core 模组,实现更精简的配置。
  • 在无需UI时减少内存占用和加载时间。
  • 通过分离UI与核心逻辑,加快开发和测试速度。

Easy NPC (Bundle) 6.7.0

on 2026 Jan 20
下载

更新日志 for Easy NPC (1.20.1)

注意

此更新日志包含简要的变更说明。
完整更新日志请参阅 GitHub 历史记录。

注意:在升级到新版本前,请务必备份您的世界/NPC!
更多信息请查看 升级指南。

6.7.0

  • 通过在 setupAnim 方法中实现狼腿部动画修复了 #650。
  • 修复了 #648 中 canBeHitByProjectiles 的翻译问题。
  • 通过添加 allowBypassInvulnerability 配置选项来允许/禁止NPC绕过无敌状态,以修复 #645。
  • 修复了删除按钮在宽度较小时仍显示标签的问题。
  • 修复了上下按钮在某些情况下位置不正确的问题。
  • 修复了对话框和配置UI中名称标签仍然显示的问题。
  • 修复了距离触发动作中多个动作未能正确触发的问题。
  • 修复了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记录,增强不可变性和线程安全。
  • 添加基于ConcurrentHashMap的线程安全会话服务器防垃圾请求机制。
  • 添加全面的错误恢复机制,在失败时自动重置冷却。
  • 改进纹理加载性能,采用2线程池及500ms速率限制。
  • 改进异常处理,针对IIOException和FileNotFoundException使用具体捕获块。

6.5.2

  • 修复村民职业和工作皮肤问题。
  • 通过为Gradle依赖项添加缓存来优化GitHub工作流。
  • 提升Gradle构建速度并优化清理任务。

6.5.1

  • 通过实现ON_KILL动作类型和事件修复了 #632。
  • 通过优化纹理处理性能、缓存和内存使用修复了 #629。
  • 修复了kill命令对NPC无效的问题。
  • 修复了纹理重载保护阻止缓存被逐出后重新加载的问题。
  • 修复远程图像验证器中WebP验证的bug(缺少return语句)。
  • 重构纹理处理逻辑以提高可维护性和未来扩展性。
  • 添加基于时间的重载保护(60秒),取代永久性阻断机制。
  • 为纹理处理添加额外单元测试。
  • 优化Gradle构建任务。

6.5.0

  • ⚠️ 移除jar-in-jar打包方式,以提升模组兼容性和API能力。
  • 修复 #627 中剪刀实现,提高与其他模组的兼容性。
  • 修复 #625 中使用旋转或移动模型部件时的生动动画问题。
  • 修复使用缩放模型部件时默认动画被取消的问题。
  • 添加更好的姿态动画控制,提供智能、默认和无三种选项。

6.4.1

  • 修复 #626 中不同NPC UUID的界面切换逻辑,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理修复了 #623。
  • 确保自定义数据能被正确保存和加载,修复了 #622。
  • 修复打开对话动作类型,允许从其他NPC打开对话。
  • 通过为ConditionDataSet和ActionDataSet添加缺失的equals和hashCode方法修复哈希问题。
  • 添加自定义数据测试物品用于 #622 及更方便的自定义数据测试。
  • 优化记录并修复潜在的数据缺失问题。

6.3.0

  • 重构配置UI专用组件,并将其从核心模组中移除。
  • 修复对话数据,发送至客户端前先过滤数据。
  • 修复对话编辑器布局问题并提升可用性。
  • 修复部分对话数据字段缺少默认值的问题。
  • 添加对话优先级支持,以控制对话执行顺序。
  • 为对话和记分板动作添加条件支持。
  • 添加对话频率支持,限制对话显示次数。
  • 添加新的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 – 包含核心与配置UI的整合包,提供即插即用体验。
  • Easy NPC: Core – 轻量级NPC运行时与逻辑,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC: Configuration UI – 独立的配置界面,用于创建和编辑NPC。可安装于需要UI的客户端。

🎯 此变更原因?

  • 允许服务器和整合包仅在服务端部署 Core 模组,实现更轻量的配置。
  • 在无需UI时减少内存占用和加载时间。
  • 通过分离UI与核心逻辑加快开发与测试速度。

Easy NPC (Bundle) 6.6.2

on 2026 Jan 11
下载

Easy NPC:核心 (1.21.1) 更新日志

注意

此更新日志包含简要的变更摘要。
如需完整更新日志,请参阅 GitHub 历史记录。

注意:在升级到新版本前,请务必备份您的世界和NPC!
更多信息请查看 升级指南。

6.6.2

  • 通过重构缩放系统修复了 #643。
  • 修复重启或重载后,缩放未能正确更新碰撞箱和名称标签位置的问题。
  • 新增 MID 和 MOUSE_OVER 名称标签可见性模式,以更精细地控制NPC名称显示。
  • 新增基于队伍的名称标签可见性支持,遵循原版队伍机制。

6.6.1

  • 通过重构显示属性的内部数据处理方式修复了 #638。

6.6.0

  • 通过实现异步纹理加载并使用专用线程池修复了 #634。
  • 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
  • 使用原子操作修复纹理重载保护中的竞态条件。
  • 修复远程纹理下载期间HTTP连接的资源泄漏问题。
  • 修复URL验证允许同时下载多个相同纹理的垃圾信息问题。
  • 修复远程图像验证的异常处理,防止无效URL导致崩溃。
  • 修复NPC加载期间出现的 defineId called for: 警告消息。
  • 重构纹理加载架构,采用多层防御和速率限制机制。
  • 重构实体数据注册逻辑,提高可维护性。
  • 将数据类转换为现代Java记录,增强不可变性和线程安全性。
  • 新增基于ConcurrentHashMap的线程安全会话服务器防垃圾保护。
  • 新增全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进纹理加载,使用2线程池和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)。
  • 修复使用旋转或移动模型部件时的生动动画问题(#625)。
  • 修复使用缩放模型部件时默认动画被取消的问题。
  • 新增更好的姿势动画控制,提供智能、默认和无三种选项。

6.4.1

  • 修复 #626 中不同NPC UUID的屏幕切换逻辑,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话框数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理修复了 #623。
  • 确保自定义数据能正确保存和加载,修复了 #622。
  • 修复打开对话框动作类型,允许从其他NPC打开对话框。
  • 通过为ConditionDataSet和ActionDataSet添加缺失的equals和hashCode方法修复哈希问题。
  • 为 #622 添加自定义数据测试物品,便于测试自定义数据。
  • 优化记录并修复潜在的数据缺失问题。

6.3.0

  • 重构配置UI特定组件,并将其从核心模组中移除。
  • 修复对话框数据,在发送至客户端前过滤数据。
  • 修复对话框编辑器布局问题并提升可用性。
  • 修复部分对话框数据字段缺少默认值的问题。
  • 新增对话框优先级支持,用于控制对话框执行顺序。
  • 新增对话框和计分板动作的条件支持。
  • 新增对话框频率支持,限制对话框显示次数。
  • 新增支持计分板和条件的NPC预设。
  • 通过移除冗余字段优化对话框按钮数据格式。

6.2.0

  • 修复对话框中的字符串注入问题。
  • 修复动作类型缺少翻译的问题。
  • 新增计分板动作类型,支持增加、减少、设置计分板数值。
  • 新增 @score(...) NPC宏,用于在对话框中显示计分板值。
  • 新增额外的单元测试。
  • 优化旋转按钮,添加指示器并提升可用性。

6.1.2

  • 修复容器和菜单同步问题,补充缺失的关闭容器数据包。
  • 修复某些情况下关闭按钮无效的问题。
  • 修复屏幕切换期间鼠标光标跳跃的问题。
  • 修复翻译文件,移除重复和已弃用条目。
  • 将Easy NPC魔杖移至现有的核心物品标签页,而非创建新标签页。
  • 新增对不同模型部件的猫姿态支持(尾巴除外)。
  • 通过在不需要时禁用发光效果,优化EasyNPCWand的发光性能。
  • 通过排除非生物实体(如显示实体、标记、投掷物和刷怪笼),改进自定义实体检测。
  • 优化猫变体处理。

6.1.1

  • 通过重新验证实体类型修复了 #612。
  • 通过强制特定模型的帽子和头部图层同步修复了 #610。
  • 修复兽人纹理。
  • 通过将相关逻辑移至客户端,改进自定义模型支持和性能。
  • 优化玩家到UUID映射的缓存,用于玩家皮肤。
  • 将更改模型的命令和逻辑限制仅适用于多普勒NPC。

6.1.0 ✨

这是一个重大版本更新。请在更新前备份您的世界和NPC数据。
本版本包含大量改进、优化和内部变更,与早期版本不完全兼容。

⚠️ 破坏性变更

  • 6.1.0 之前的现有NPC及其配置数据可能无法正确加载,或需要手动调整。
  • 内部数据格式和部分行为已重构,以支持新的使用场景。

🧩 新的模块化结构

Easy NPC 现已拆分为三个独立模组:

  • Easy NPC — 包含核心和配置UI的整合包,提供即插即用体验。
  • Easy NPC: Core — 轻量级NPC运行时和逻辑,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC: Configuration UI — 独立的配置界面,用于创建和编辑NPC。可安装在需要UI的客户端上。

🎯 此变更的原因?

  • 允许服务器和整合包仅在服务端部署 Core 模组,实现更轻量的配置。
  • 在无需UI时减少内存占用和加载时间。
  • 通过分离UI和核心逻辑,加快开发和测试速度。

Easy NPC (Bundle) 6.6.2

on 2026 Jan 11
下载

Easy NPC:核心 (1.21.1) 更新日志

注意

此更新日志包含简要的变更摘要。
完整更新日志请参阅 GitHub 历史记录。

注意:更新到新版本前,请务必备份您的世界和NPC数据!
更多信息请查看 升级指南。

6.6.2

  • 通过重构缩放系统修复了 #643。
  • 修复重启/重载后,碰撞箱和名称标签位置未正确更新的问题。
  • 新增 MID 和 MOUSE_OVER 名称标签可见性模式,更精细地控制NPC名称显示。
  • 新增基于队伍的名称标签可见性支持,遵循原版队伍机制。

6.6.1

  • 通过重构显示属性的内部数据处理方式修复了 #638。

6.6.0

  • 通过实现带专用线程池的异步纹理加载修复了 #634。
  • 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
  • 使用原子操作修复纹理重载保护中的竞态条件。
  • 修复远程纹理下载期间HTTP连接的资源泄漏问题。
  • 修复URL验证允许同一纹理多次同时下载的问题。
  • 修复远程图像验证的异常处理,防止无效URL导致崩溃。
  • 修复NPC加载期间出现的 defineId called for: 警告信息。
  • 重构纹理加载架构,采用多层防御与速率限制。
  • 重构实体数据注册逻辑,提高可维护性。
  • 将数据类转换为现代Java记录(records),提升不可变性和线程安全性。
  • 添加基于ConcurrentHashMap的线程安全会话服务器防刷机制。
  • 添加全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进纹理加载,使用2线程池并添加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能力。
  • 通过改进剪刀(Scissor)实现在 #627 中与其他模组的兼容性。
  • 修复在使用旋转或移动模型部件时 #625 的生动动画问题。
  • 修复使用缩放模型部件时默认动画被取消的问题。
  • 添加更佳的姿势动画控制,支持智能、默认和无选项。

6.4.1

  • 通过改进不同NPC UUID的屏幕切换逻辑修复了 #626,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话框数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理修复了 #623。
  • 确保自定义数据能被正确保存和加载,修复了 #622。
  • 修复打开对话框动作类型,允许从其他NPC打开对话框。
  • 通过为ConditionDataSet和ActionDataSet添加缺失的equals和hashCode方法修复哈希问题。
  • 为 #622 添加自定义数据测试物品,便于测试自定义数据。
  • 优化记录并修复潜在的数据缺失问题。

6.3.0

  • 重构配置UI特定组件,并将其从核心模组中移除。
  • 修复对话框数据,通过在发送至客户端前过滤数据。
  • 修复对话框编辑器布局问题并提升可用性。
  • 修复部分对话框数据字段缺少默认值的问题。
  • 添加对话框优先级支持,控制对话框执行顺序。
  • 为对话框和计分板动作添加条件支持。
  • 添加对话框频率支持,限制对话框显示次数。
  • 添加新的NPC预设,用于支持计分板和条件功能。
  • 通过移除冗余字段优化对话框按钮数据格式。

6.2.0

  • 修复对话框中的字符串注入问题。
  • 修复动作类型缺少翻译的问题。
  • 添加计分板动作类型,用于增加、减少或设置计分板数值。
  • 添加 @score(...) NPC宏,可在对话框中显示计分板值。
  • 添加额外单元测试。
  • 优化旋钮按钮,添加指示器并提升可用性。

6.1.2

  • 修复容器和菜单同步问题,补充缺失的关闭容器数据包。
  • 修复某些情况下关闭按钮无效的问题。
  • 修复屏幕切换期间鼠标光标跳跃问题。
  • 修复翻译文件,移除重复和已弃用条目。
  • 将Easy NPC魔杖移至现有的核心物品标签页,不再创建新标签页。
  • 添加猫姿态支持,适用于不同模型部件(尾巴除外)。
  • 通过在不需要时禁用发光效果,优化EasyNPCWand的视觉性能。
  • 改进自定义实体检测,排除非生物实体如display、marker、投掷物和刷怪笼。
  • 优化猫变种处理。

6.1.1

  • 通过重新验证实体类型修复了 #612。
  • 通过强制同步特定模型的帽子和头部图层修复了 #610。
  • 修复兽人纹理。
  • 通过将相关逻辑移至客户端,提升自定义模型支持和性能。
  • 优化玩家到UUID映射的缓存,用于玩家皮肤。
  • 将更改模型命令和逻辑限制仅适用于Doppler NPC。

6.1.0 ✨

这是一个重大版本更新。更新前请务必备份您的世界和NPC数据。
本版本包含大量改进、优化和内部变更,与早期版本不完全兼容。

⚠️ 破坏性变更

  • 6.1.0 之前的现有NPC及其配置数据可能无法正确加载,或需要手动调整。
  • 内部数据格式和部分行为已重构,以支持新的使用场景。

🧩 新的模块化结构

Easy NPC 现已拆分为三个独立模组:

  • Easy NPC – 包含核心和配置UI的整合包,提供即插即用体验。
  • Easy NPC: Core – 轻量级NPC运行时和逻辑,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC: Configuration UI – 独立的NPC配置界面,用于创建和编辑NPC。可安装在需要UI的客户端上。

🎯 此变更原因?

  • 允许服务器和整合包仅在服务端部署 Core 模组,实现更轻量的配置。
  • 在无需UI时减少内存占用和加载时间。
  • 通过分离UI与核心逻辑,加快开发和测试速度。

Easy NPC (Bundle) 6.6.2

on 2026 Jan 11
下载

Easy NPC (1.20.1) 更新日志

注意

此更新日志包含简要的变更说明。
完整更新日志请参阅 GitHub 历史记录。

注意:在升级到新版本之前,请务必备份您的世界和NPC数据!
更多信息请查看 升级指南。

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的线程安全会话服务器防垃圾请求保护。
  • 新增全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进纹理加载,使用2线程池并设置500ms速率限制。
  • 改进异常处理,针对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能力。
  • 通过改进剪刀(Scissor)实现提升与其他模组的兼容性(修复 #627)。
  • 修复使用旋转或移动模型部件时的动态动画问题(修复 #625)。
  • 修复使用缩放模型部件时默认动画被取消的问题。
  • 新增更智能的姿态动画控制选项:智能、默认和无。

6.4.1

  • 通过改进不同NPC UUID的屏幕切换逻辑修复了 #626,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理逻辑修复了 #623。
  • 确保自定义数据能够正确保存和加载,修复了 #622。
  • 修复打开对话动作类型,允许从其他NPC打开对话。
  • 通过为ConditionDataSet和ActionDataSet补全equals和hashCode方法修复哈希问题。
  • 为 #622 新增自定义数据测试物品,便于测试自定义数据功能。
  • 优化记录结构并修复潜在的数据缺失问题。

6.3.0

  • 重构配置UI专用组件,并将其从核心模组中移除。
  • 修复对话数据问题,在发送至客户端前过滤数据。
  • 修复对话编辑器布局问题,提升可用性。
  • 修复部分对话数据字段缺少默认值的问题。
  • 新增对话优先级支持,用于控制对话执行顺序。
  • 新增对话和记分板动作的条件支持。
  • 新增对话频率支持,限制对话显示次数。
  • 新增支持记分板和条件功能的NPC预设。
  • 通过移除冗余字段优化对话按钮数据格式。

6.2.0

  • 修复对话中的字符串注入问题。
  • 修复动作类型缺少翻译的问题。
  • 新增记分板动作类型,支持增加、减少或设置记分板数值。
  • 新增 @score(...) NPC宏,用于在对话中显示记分板值。
  • 新增额外单元测试。
  • 改进旋转按钮,添加指示器并提升可用性。

6.1.2

  • 修复容器和菜单同步问题,补全关闭容器数据包。
  • 修复某些情况下关闭按钮无效的问题。
  • 修复屏幕切换期间鼠标光标跳跃的问题。
  • 修复翻译文件,移除重复和已弃用条目。
  • 将Easy NPC魔杖移至现有核心物品标签页,不再创建新标签页。
  • 新增对不同模型部件的猫姿态支持(尾巴除外)。
  • 通过在不需要时禁用发光效果,优化EasyNPCWand的发光性能。
  • 改进自定义实体检测,排除显示实体、标记、投掷物和刷怪笼等非生物实体。
  • 改进猫变种处理逻辑。

6.1.1

  • 通过重新验证实体类型修复了 #612。
  • 强制同步特定模型的帽子和头部图层以修复 #610。
  • 修复兽人(orc)纹理。
  • 通过将相关逻辑移至客户端,改进自定义模型支持和性能。
  • 改进玩家皮肤的玩家到UUID映射缓存。
  • 将更改模型命令和逻辑限制仅适用于Doppler NPC。

6.1.0 ✨

这是一个重大版本更新。更新前请务必备份您的世界和NPC数据。
本版本包含大量改进、优化和内部变更,与早期版本不完全兼容。

⚠️ 破坏性变更

  • 来自6.1.0之前版本的现有NPC及其配置数据可能无法正确加载,或需要手动调整。
  • 内部数据格式和部分行为已重构,以支持新的使用场景。

🧩 新的模块化结构

Easy NPC 现在拆分为三个独立模组:

  • Easy NPC — 包含核心功能与配置UI的整合包,提供即插即用体验。
  • Easy NPC: Core — 轻量级NPC运行时与逻辑组件,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC: Configuration UI — 独立的配置界面,用于创建和编辑NPC。可单独安装在需要UI的客户端上。

🎯 此变更原因:

  • 允许服务器和整合包仅在服务端部署 Core 模组,实现更精简的配置。
  • 在无需UI时减少内存占用和加载时间。
  • 通过分离UI与核心逻辑,加快开发与测试速度。

Easy NPC (Bundle) 6.6.2

on 2026 Jan 11
下载

Easy NPC (1.20.1) 更新日志

注意

此更新日志包含简要的变更说明。
如需完整更新日志,请前往 GitHub 历史记录。

注意:在升级到新版本前,请务必备份您的世界和NPC数据!
更多信息请参阅 升级指南。

6.6.2

  • 通过重构缩放系统修复了 #643。
  • 修复了重启/重载后,缩放未能正确更新碰撞箱和名称标签位置的问题。
  • 新增 MID 和 MOUSE_OVER 名称标签可见性模式,以更精细地控制NPC名称显示。
  • 新增基于队伍的名称标签可见性支持,遵循原版队伍机制。

6.6.1

  • 通过重构显示属性的内部数据处理方式修复了 #638。

6.6.0

  • 通过使用专用线程池实现异步纹理加载,修复了 #634。
  • 修复了纹理加载阻塞渲染线程导致游戏卡顿的问题。
  • 使用原子操作修复了纹理重载保护中的竞态条件。
  • 修复了远程纹理下载期间HTTP连接的资源泄漏问题。
  • 修复了URL验证时允许同时下载多个相同纹理的垃圾信息问题。
  • 修复了远程图像验证中的异常处理,防止因无效URL导致崩溃。
  • 修复了NPC加载期间出现的 defineId called for: 警告消息。
  • 重构了具有多层防御和速率限制的纹理加载架构。
  • 重构了实体数据注册逻辑,以提高可维护性。
  • 将数据类转换为现代Java记录,以增强不可变性和线程安全性。
  • 添加了基于ConcurrentHashMap的线程安全会话服务器防刷机制。
  • 添加了全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进了纹理加载,采用2线程池和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能力。
  • 通过改进剪刀实现提升了与其他模组的兼容性(#627)。
  • 修复了使用旋转或移动模型部件时的动态动画问题(#625)。
  • 修复了使用缩放模型部件时默认动画被取消的问题。
  • 添加了更好的姿势动画控制,支持智能、默认和无三种选项。

6.4.1

  • 修复了不同NPC UUID之间的屏幕切换逻辑(#626),感谢 Spawnblade 的详细调查和修复建议。

6.4.0

  • 通过改进对话数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理修复了 #623。
  • 确保自定义数据能够正确保存和加载,修复了 #625。
  • 修复了打开对话动作类型,允许从其他NPC打开对话。
  • 通过为ConditionDataSet和ActionDataSet添加缺失的equals和hashCode方法修复了哈希问题。
  • 为 #622 添加了自定义数据测试物品,便于测试自定义数据。
  • 改进了记录并修复了潜在的数据缺失问题。

6.3.0

  • 重构了配置UI专用组件,并将其从核心模组中移除。
  • 修复了对话数据,在发送至客户端前进行过滤。
  • 修复了对话编辑器布局问题并提升了可用性。
  • 修复了部分对话数据字段缺少默认值的问题。
  • 添加了对话优先级支持,用于控制对话执行顺序。
  • 为对话和计分板动作添加了条件支持。
  • 添加了对话频率支持,限制对话显示次数。
  • 添加了新的NPC预设,支持计分板和条件功能。
  • 通过移除冗余字段改进了对话按钮数据格式。

6.2.0

  • 修复了对话中的字符串注入问题。
  • 修复了动作类型缺少翻译的问题。
  • 添加了计分板动作类型,用于增加、减少或设置计分板数值。
  • 添加了 @score(...) NPC宏,用于在对话中显示计分板值。
  • 添加了额外的单元测试。
  • 改进了旋转按钮,添加指示器并提升可用性。

6.1.2

  • 修复了容器与菜单同步问题,补充了缺失的关闭容器数据包。
  • 修复了某些情况下关闭按钮无效的问题。
  • 修复了屏幕切换期间鼠标光标跳跃的问题。
  • 修复了翻译文件,移除了重复和已弃用的条目。
  • 将Easy NPC魔杖移至现有的核心物品标签页,而非创建新标签页。
  • 添加了猫姿态支持(尾部除外的不同模型部件)。
  • 通过在不需要时禁用发光效果,提升了EasyNPCWand发光性能。
  • 改进了自定义实体检测,排除了诸如display、marker、thrown和刷怪笼等非生物实体。
  • 改进了猫变种处理。

6.1.1

  • 通过重新验证实体类型修复了 #612。
  • 强制同步特定模型的帽子和头部图层以修复 #610。
  • 修复了兽人纹理问题。
  • 通过将相关逻辑移至客户端,提升了自定义模型支持和性能。
  • 改进了玩家皮肤的玩家到UUID映射缓存。
  • 将更改模型命令和逻辑限制为仅适用于Doppler NPC。

6.1.0 ✨

这是一个重大版本更新。请在更新前备份您的世界和NPC数据。
本版本包含大量改进、优化和内部变更,与早期版本不完全兼容。

⚠️ 破坏性变更

  • 来自6.1.0之前版本的现有NPC及其配置数据可能无法正确加载,或需要手动调整。
  • 内部数据格式和部分行为已重构,以支持新的使用场景。

🧩 新的模块化结构

Easy NPC 现已拆分为三个独立模组:

  • Easy NPC – 包含核心和配置UI的整合包,提供即插即用体验。
  • Easy NPC: Core – 轻量级NPC运行时和逻辑,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC: Configuration UI – 独立的配置界面,用于创建和编辑NPC。可安装在需要UI的客户端上。

🎯 此变更的原因?

  • 允许服务器和整合包仅在服务端部署 Core 模组,实现更轻量的设置。
  • 在无需UI的地方减少内存占用和加载时间。
  • 通过分离UI和核心逻辑,加快开发和测试速度。

Easy NPC (Bundle) 6.6.1

on 2026 Jan 08
下载

Easy NPC (1.20.1) 更新日志

注意

此更新日志包含更改的摘要。
完整更新日志,请参阅 [GitHub 历史记录][history]。

注意:在升级到新版本之前,请务必备份您的世界/NPC!
更多信息请查看 [升级指南][upgrade_guide]。

6.6.1

  • 通过重构显示属性的内部数据处理修复了 #638。

6.6.0

  • 通过使用专用线程池实现异步纹理加载,修复了 #634。
  • 修复了纹理加载阻塞渲染线程导致游戏冻结的问题。
  • 使用原子操作修复了纹理重载保护中的竞争条件。
  • 修复了远程纹理下载期间 HTTP 连接中的资源泄漏。
  • 修复了 URL 验证垃圾邮件问题,防止同一纹理被多次同时下载。
  • 修复了远程图像验证中的异常处理,避免因无效 URL 导致崩溃。
  • 修复了 NPC 加载期间出现的 defineId called for: 警告消息。
  • 重构了具有多层防御和速率限制的纹理加载架构。
  • 重构了实体数据注册逻辑,以提高可维护性。
  • 将数据类转换为现代 Java 记录,以实现更好的不可变性和线程安全性。
  • 添加了基于 ConcurrentHashMap 的线程安全会话服务器防垃圾保护。
  • 添加了全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进了纹理加载,采用 2 线程池和 500 毫秒速率限制。
  • 改进了异常处理,针对 IIOException 和 FileNotFoundException 添加了特定的 catch 块。

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

  • 修复了 #626 中不同 NPC UUID 的屏幕切换逻辑,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话框数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理修复了 #623。
  • 确保自定义数据正确保存和加载,修复了

Easy NPC (Bundle) 6.6.1

on 2026 Jan 08
下载

Easy NPC (1.20.1) 更新日志

注意

此更新日志包含变更的摘要。
如需完整更新日志,请参阅 [GitHub 历史记录][history]。

注意:在升级到新版本前,请务必备份您的世界和NPC数据!
更多信息请查看 [升级指南][upgrade_guide]。

6.6.1

  • 通过重构显示属性的内部数据处理机制修复 #638。

6.6.0

  • 通过使用专用线程池实现异步纹理加载,修复 #634。
  • 修复纹理加载阻塞渲染线程导致游戏卡顿的问题。
  • 使用原子操作修复纹理重载保护中的竞态条件。
  • 修复远程纹理下载期间 HTTP 连接的资源泄漏问题。
  • 修复 URL 验证允许同时多次下载相同纹理的垃圾信息问题。
  • 修复远程图像验证中的异常处理,防止因无效 URL 导致崩溃。
  • 修复 NPC 加载期间出现的 defineId called for: 警告消息。
  • 重构纹理加载架构,采用多层防御与速率限制机制。
  • 重构实体数据注册逻辑,提升可维护性。
  • 将数据类转换为现代 Java 记录(records),以提高不可变性和线程安全性。
  • 添加基于 ConcurrentHashMap 的线程安全会话服务器防垃圾保护。
  • 添加全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进纹理加载,使用 2 线程池并设置 500ms 的速率限制。
  • 改进异常处理,针对 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,解决使用旋转或移动模型部件时的动画异常问题。
  • 修复使用缩放模型部件时默认动画被取消的问题。
  • 新增更智能的姿态动画控制选项:智能(smart)、默认(default)和无(none)。

6.4.1

  • 修复 #626 中不同 NPC UUID 的屏幕切换逻辑,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话数据验证和错误处理来修复 #626。
  • 通过重构渲染数据和渲染处理逻辑来修复 #623。
  • 确保自定义数据能够正确保存和加载,修复 #625。
  • 修复打开对话动作类型,允许

Easy NPC (Bundle) 6.6.0

on 2026 Jan 05
下载

Easy NPC:地核 更新日志 (1.21.1)

注意

此更新日志包含简要的变更说明。
如需完整更新日志,请参阅 [GitHub 历史记录][history]。

注意:更新到新版本前,请务必备份您的世界/NPC!
更多信息请查看 [升级指南][upgrade_guide]。

6.6.0

  • 通过使用专用线程池实现异步纹理加载,修复了 #634。
  • 修复了纹理加载阻塞渲染线程导致游戏卡顿的问题。
  • 使用原子操作修复了纹理重载保护中的竞态条件问题。
  • 修复了远程纹理下载期间 HTTP 连接的资源泄漏问题。
  • 修复了 URL 验证垃圾信息允许同一纹理同时多次下载的问题。
  • 修复了远程图像验证中的异常处理,防止无效 URL 导致崩溃。
  • 修复了 NPC 加载期间出现的 defineId called for: 警告消息。
  • 重构了具有多级防御和速率限制的纹理加载架构。
  • 重构了实体数据注册逻辑以提高可维护性。
  • 将数据类转换为现代 Java 记录,以增强不可变性和线程安全性。
  • 添加了基于 ConcurrentHashMap 的线程安全会话服务器防垃圾保护。
  • 添加了全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进了纹理加载,采用 2 线程池和 500ms 速率限制。
  • 改进了异常处理,针对 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 功能。
  • 修复了 #627 中剪刀实现以更好兼容其他模组。
  • 修复了 #625 中使用旋转或移动模型部件时的动态动画问题。
  • 修复了使用缩放模型部件时默认动画被取消的问题。
  • 添加了更佳的姿势动画控制,支持智能、默认和无选项。

6.4.1

  • 修复了 #626 中不同 NPC UUID 的屏幕切换逻辑,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话框数据验证和错误处理来修复 #626。
  • 通过重构渲染数据和渲染处理来修复 #623。
  • 确保自定义数据正确保存和加载,修复了 #622。
  • 修复了打开对话框动作类型,允许从其他 NPC 打开对话框。
  • 通过为 ConditionDataSet 和 ActionDataSet 添加

Easy NPC (Bundle) 6.6.0

on 2026 Jan 05
下载

更新日志:Easy NPC:地核 (1.21.1)

注意

此更新日志包含简要的变更说明。
完整更新日志请参阅 [GitHub 历史记录][history]。

注意:在升级到新版本前,请务必备份您的世界/NPC!
更多信息请查看 [升级指南][upgrade_guide]。

6.6.0

  • 通过使用专用线程池实现异步纹理加载,修复了 #634。
  • 修复了纹理加载阻塞渲染线程导致游戏卡顿的问题。
  • 使用原子操作修复了纹理重载保护中的竞态条件问题。
  • 修复了远程纹理下载期间 HTTP 连接的资源泄漏。
  • 修复了 URL 验证垃圾信息,防止对同一纹理同时进行多次下载。
  • 修复了远程图像验证的异常处理,避免因无效 URL 导致崩溃。
  • 修复了 NPC 加载期间出现的 defineId called for: 警告消息。
  • 重构纹理加载架构,增加多层防护和速率限制。
  • 重构实体数据注册逻辑,提高可维护性。
  • 将数据类转换为现代 Java 记录(records),以增强不可变性和线程安全性。
  • 添加基于 ConcurrentHashMap 的线程安全会话服务器防垃圾保护。
  • 添加全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进纹理加载:采用 2 线程池并设置 500ms 速率限制。
  • 改进异常处理,针对 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 功能。
  • 修复 #627,改进剪刀(scissor)实现,增强与其他模组的兼容性。
  • 修复 #625,解决使用旋转或移动模型部件时的生动动画问题。
  • 修复使用缩放模型部件时默认动画被取消的问题。
  • 添加更优的姿势动画控制选项:智能、默认和无。

6.4.1

  • 修复 #626,改进不同 NPC UUID 的屏幕切换逻辑,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话框数据验证和错误处理来修复 #626。
  • 通过重构渲染数据和渲染处理来修复 #623。
  • 确保自定义数据正确保存和加载,修复 #622。
  • 修复打开对话框动作类型,允许从其他 NPC 打开对话框。
  • 通过为 ConditionDataSet 和 ActionDataSet 添加缺失的 equals 和 hashCode 方法来修复哈

Easy NPC (Bundle) 6.6.0

on 2026 Jan 05
下载

Easy NPC (1.20.1) 更新日志

说明

本更新日志包含变更的简要总结。
如需完整更新日志,请前往 [GitHub 历史记录][history]。

注意:更新到新版本前请务必备份您的世界/NPC!
更多信息请查看 [升级指南][upgrade_guide]。

6.6.0

  • 通过使用专用线程池实现异步纹理加载,修复了 #634。
  • 修复了纹理加载阻塞渲染线程导致游戏卡顿的问题。
  • 使用原子操作修复了纹理重载保护中的竞争条件问题。
  • 修复了远程纹理下载期间 HTTP 连接的资源泄漏问题。
  • 修复了 URL 验证垃圾信息允许同一纹理同时多次下载的问题。
  • 修复了远程图像验证的异常处理,防止因无效 URL 导致崩溃。
  • 修复了 NPC 加载期间出现的 defineId called for: 警告消息。
  • 重构了具有多层防护和速率限制的纹理加载架构。
  • 重构了实体数据注册逻辑以提高可维护性。
  • 将数据类转换为现代 Java 记录,以提升不可变性和线程安全性。
  • 添加了基于 ConcurrentHashMap 的线程安全会话服务器防垃圾保护。
  • 添加了全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进了纹理加载,采用 2 线程池并设置 500ms 速率限制。
  • 改进了异常处理,针对 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

  • 修复了 #626,改进了不同 NPC UUID 的屏幕切换逻辑,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理修复了 #623。
  • 确保自定义数据能够正确保存和加载,修复了 #622。
  • 修复了打开对话动作类型,允许从其他 NPC 打开对话。
  • 通过为

Easy NPC (Bundle) 6.6.0

on 2026 Jan 05
下载

Easy NPC (1.20.1) 更新日志

注意

此更新日志包含变更的摘要。
如需完整更新日志,请访问 [GitHub 历史记录][history]。

注意:在升级到新版本之前,请务必备份您的世界/NPC!
更多信息请参阅 [升级指南][upgrade_guide]。

6.6.0

  • 通过使用专用线程池实现异步纹理加载,修复了 #634。
  • 修复了纹理加载阻塞渲染线程导致游戏卡顿的问题。
  • 使用原子操作修复了纹理重载保护中的竞态条件问题。
  • 修复了远程纹理下载期间 HTTP 连接的资源泄漏。
  • 修复了 URL 验证垃圾信息允许同时多次下载相同纹理的问题。
  • 修复了远程图像验证中的异常处理,防止因无效 URL 导致崩溃。
  • 修复了 NPC 加载期间出现的 defineId called for: 警告消息。
  • 重构了具有多层防护和速率限制的纹理加载架构。
  • 重构了实体数据注册逻辑以提高可维护性。
  • 将数据类转换为现代 Java 记录,以增强不可变性和线程安全性。
  • 添加了基于 ConcurrentHashMap 的线程安全会话服务器防垃圾保护。
  • 添加了全面的错误恢复机制,在失败时自动重置冷却时间。
  • 改进了纹理加载,采用 2 线程池和 500ms 速率限制。
  • 改进了异常处理,针对 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 功能。
  • 通过改进剪刀实现以更好地兼容其他模组,修复了 #634。
  • 修复了 #625 在使用旋转或移动模型部件时的生动动画问题。
  • 修复了当使用缩放模型部件时默认动画被取消的问题。
  • 添加了更佳的姿态动画控制,支持智能、默认和无选项。

6.4.1

  • 通过改进不同 NPC UUID 的屏幕切换逻辑修复了 #626,感谢 Spawnblade 提供详细调查和修复建议。

6.4.0

  • 通过改进对话框数据验证和错误处理修复了 #626。
  • 通过重构渲染数据和渲染处理修复了 #623。
  • 确保自定义数据正确保存和加载,修复了 #622。
  • 修复了打开对话框动作类型,允许从其他 NPC 打开对话框。
  • 通过为 ConditionDataSet 和 ActionDataSet

Easy NPC (Bundle) 6.5.2

on 2026 Jan 01
下载

Easy NPC:地核 (1.21.1) 更新日志

注意

此更新日志包含变更的摘要。 完整更新日志请参阅 GitHub 历史记录。

注意:升级到新版本前,请务必备份您的世界/NPC数据! 更多信息请查看 升级指南。

6.5.2

  • 修复村民职业和工作皮肤问题。
  • 通过为 Gradle 依赖项添加缓存来改进 GitHub 工作流。
  • 改进 Gradle 构建时间和清理任务。

6.5.1

  • 通过实现 ON_KILL 动作类型和事件修复 #632。
  • 通过改进纹理处理性能、缓存和内存使用情况修复 #629。
  • 修复击杀命令在NPC上无效的问题。
  • 修复因纹理重载保护机制导致缓存清除后无法重新加载的问题。
  • 修复远程图像验证器中的 WebP 验证错误(缺少返回语句)。
  • 重构纹理处理逻辑,以提高可维护性和未来改进空间。
  • 添加基于时间的重载保护(60秒),取代永久性阻断机制。
  • 为纹理处理添加更多单元测试。
  • 改进 Gradle 构建任务。

6.5.0

  • ⚠️ 移除 jar-in-jar 打包方式,以提升模组兼容性和 API 能力。
  • 修复 #627,改进剪刀实现以增强与其他模组的兼容性。
  • 修复 #625,解决使用旋转或移动模型部件时的动态动画问题。
  • 修复使用缩放模型部件时默认动画被取消的问题。
  • 新增更智能的姿态动画控制选项:智能、默认和无。

6.4.1

  • 修复 #626 中不同 NPC UUID 的屏幕切换逻辑,感谢 Spawnblade 提供详细调查与修复建议。

6.4.0

  • 通过改进对话数据验证和错误处理修复 #626。
  • 通过重构渲染数据和渲染处理修复 #623。
  • 确保自定义数据正确保存和加载,修复 #622。
  • 修复打开对话动作类型,允许从其他NPC打开对话。
  • 通过为 ConditionDataSet 和 ActionDataSet 添加缺失的 equals 和 hashCode 方法修复哈希问题。
  • 为 #622 添加自定义数据测试物品,便于测试自定义数据。
  • 改进记录并修复潜在的数据缺失问题。

6.3.0

  • 重构配置UI专用组件,并将其从核心模组中移除。
  • 修复对话数据,在发送至客户端前过滤数据。
  • 修复对话编辑器布局问题并提升可用性。
  • 修复部分对话数据字段缺少默认值的问题。
  • 添加对话优先级支持,用于控制对话执行顺序。
  • 为对话和计分板动作添加条件支持。
  • 添加对话频率支持,限制对话显示次数。
  • 为支持计分板和条件功能新增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 — 包含地核和配置UI的整合包,提供即插即用体验。
  • Easy NPC:地核 — 轻量级NPC运行时和逻辑,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC:配置UI — 独立的NPC配置界面,用于创建和编辑NPC。可安装在需要UI的客户端上。

🎯 为何如此变更?

  • 允许服务器和整合包仅在服务端部署 地核 模组,实现更轻量的配置。
  • 在无需UI的环境中减少内存占用和加载时间。
  • 通过分离UI与核心逻辑,加快开发和测试速度。

Easy NPC (Bundle) 6.5.2

on 2026 Jan 01
下载

Easy NPC:地核 (1.21.1) 更新日志

注意

本更新日志包含变更的摘要。
如需完整更新日志,请前往 GitHub 历史记录。

注意:在升级到新版本前,请务必备份您的世界和NPC数据!
更多信息请查看 升级指南。

6.5.2

  • 修复村民职业和工作皮肤的问题。
  • 通过为 Gradle 依赖项添加缓存来优化 GitHub 工作流。
  • 优化 Gradle 构建时间和清理任务。

6.5.1

  • 通过实现 ON_KILL 动作类型和事件来修复 #632。
  • 通过改进纹理处理性能、缓存和内存使用来修复 #629。
  • 修复击杀命令对NPC无效的问题。
  • 修复纹理重载保护机制阻止缓存重新加载的问题。
  • 修复远程图像验证器中的 WebP 验证错误(缺少返回语句)。
  • 重构纹理处理逻辑,以提高可维护性和未来扩展性。
  • 添加基于时间的重载保护机制(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 添加自定义数据测试物品,便于测试自定义数据功能。
  • 优化记录结构并修复潜在的数据缺失问题。

6.3.0

  • 重构配置UI专用组件,并将其从核心模组中移除。
  • 修复对话数据,在发送至客户端前进行过滤。
  • 修复对话编辑器布局问题并提升可用性。
  • 修复部分对话数据字段缺少默认值的问题。
  • 添加对话优先级支持,用于控制对话执行顺序。
  • 为对话和计分板动作添加条件支持。
  • 添加对话频率支持,限制对话显示次数。
  • 添加新的NPC预设,支持计分板和条件功能。
  • 通过移除冗余字段优化对话按钮数据格式。

6.2.0

  • 修复对话中的字符串注入问题。
  • 修复动作类型缺少翻译的问题。
  • 添加计分板动作类型,支持增加、减少或设置计分板数值。
  • 添加 @score(...) NPC 宏,用于在对话中显示计分板值。
  • 添加额外的单元测试。
  • 改进旋转按钮,增加指示器并提升可用性。

6.1.2

  • 修复容器与菜单同步问题,补充缺失的关闭容器数据包。
  • 修复某些情况下关闭按钮无效的问题。
  • 修复界面切换期间鼠标光标跳跃的问题。
  • 修复翻译文件,移除重复和已弃用条目。
  • 修复某些菜单中鼠标滚轮滚动失效的问题。
  • 将 Easy NPC 魔杖移至现有的地核物品标签页,而非创建新标签页。
  • 添加猫姿态支持,适用于不同模型部件(尾巴除外)。
  • 通过在不需要时禁用发光效果来优化 EasyNPCWand 的性能。
  • 改进自定义实体检测,排除非生物实体如显示体、标记、投掷物和刷怪笼。
  • 改进猫变种的处理。

6.1.1

  • 通过重新验证实体类型来修复 #612。
  • 强制同步特定模型的帽子和头部图层以修复 #610。
  • 修复兽人纹理问题。
  • 通过将相关逻辑移至客户端侧,提升自定义模型支持和性能。
  • 改进玩家皮肤的 UUID 映射缓存。
  • 将更改模型的命令和逻辑限制仅适用于多普勒NPC。

6.1.0 ✨

这是一次重大更新。请在更新前备份您的世界和 NPC 数据。
此版本包含大量改进、优化和内部变更,与早期版本不完全兼容。

⚠️ 破坏性变更

  • 来自 6.1.0 之前版本的现有 NPC 及其配置数据可能无法正确加载,或需要手动调整。
  • 内部数据格式和部分行为已被重构,以支持新的使用场景。

🧩 新的模块化结构

Easy NPC 现已拆分为三个独立模组:

  • Easy NPC —— 包含地核和配置 UI 的整合包,提供即插即用体验。
  • Easy NPC:地核 —— 轻量级运行时和 NPC 核心逻辑,依赖极少。适用于服务器、整合包和开发者。
  • Easy NPC:配置 UI —— 独立的配置界面,用于创建和编辑 NPC。可安装在需要 UI 的客户端上。

🎯 此变更的原因?

  • 允许服务器和整合包仅在服务端部署 地核 模组,实现更轻量的配置。
  • 在无需 UI 的环境中减少内存占用和加载时间。
  • 通过分离 UI 与核心逻辑,加快开发和测试速度。

Easy NPC (Bundle) 6.5.2

on 2026 Jan 01
下载

Easy NPC:地核 (1.20.1) 更新日志

注意

此更新日志包含变更的摘要。
如需完整更新日志,请前往 GitHub 历史记录。

注意:更新到新版本前,请务必备份您的世界/NPC!
更多信息请查看 升级指南。

6.5.2

  • 修复村民职业和工作皮肤问题。
  • 通过为 Gradle 依赖项添加缓存来优化 GitHub 工作流。
  • 优化 Gradle 构建时间和清理任务。

6.5.1

  • 通过实现 ON_KILL 动作类型和事件来修复 #632。
  • 通过改进纹理处理性能、缓存和内存使用来修复 #629。
  • 修复击杀命令在NPC上无效的问题。
  • 修复因纹理重载保护机制导致缓存清除后无法重新加载的问题。
  • 修复远程图像验证器中的 WebP 验证错误(缺少返回语句)。
  • 重构纹理处理逻辑,以提高可维护性和未来改进空间。
  • 添加基于时间的重载保护机制(60秒),替代永久性阻塞机制。
  • 为纹理处理添加更多单元测试。
  • 优化 Gradle 构建任务。

6.5.0

  • ⚠️ 移除 jar-in-jar 打包方式,以提升模组兼容性和 API 能力。
  • 修复 #627,改进剪刀实现以增强与其他模组的兼容性。
  • 修复 #625,在使用旋转或移动模型部件时出现的动画异常问题。
  • 修复使用缩放模型部件时默认动画被取消的问题。
  • 新增更智能的姿态动画控制选项:智能、默认和无。

6.4.1

  • 修复 #626 中不同 NPC UUID 的界面切换逻辑,感谢 Spawnblade 提供详细调查与修复建议。

6.4.0

  • 通过改进对话数据验证和错误处理来修复 #626。
  • 通过重构渲染数据和渲染处理来修复 #623。
  • 确保自定义数据能够正确保存和加载,修复 #622。
  • 修复打开对话动作类型,允许从其他 NPC 触发对话。
  • 通过为 ConditionDataSet 和 ActionDataSet 补充缺失的 equals 和 hashCode 方法来修复哈希问题。
  • 为 #622 添加自定义数据测试物品,便于测试自定义数据功能。
  • 优化记录结构并修复潜在的数据缺失问题。

6.3.0

  • 重构配置UI专用组件,并将其从核心模组中移除。
  • 修复对话数据问题,在发送至客户端前过滤对话数据。
  • 修复对话编辑器布局问题并提升可用性。
  • 修复部分对话数据字段缺少默认值的问题。
  • 新增对话优先级支持,用于控制对话执行顺序。
  • 为对话和计分板动作新增条件支持。
  • 为对话新增频率支持,限制对话显示次数。
  • 新增支持计分板和条件的预设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 — 包含地核与配置 UI 的整合包,提供即插即用体验。
  • Easy NPC:地核 — 轻量级 NPC 运行时与逻辑组件,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC:配置 UI — 独立的 NPC 创建与编辑配置界面。可在需要 UI 的客户端单独安装。

🎯 此变更目的

  • 允许服务器和整合包仅在服务端部署 地核 模组,实现更轻量的配置。
  • 在无需 UI 的环境中减少内存占用和加载时间。
  • 通过分离 UI 与核心逻辑,加快开发与测试速度。

Easy NPC (Bundle) 6.5.2

on 2026 Jan 01
下载

Easy NPC:地核 (1.20.1) 更新日志

注意

本更新日志包含简要的变更摘要。
完整更新日志请参阅 GitHub 历史记录。

注意:升级到新版本前,请务必备份您的世界和NPC数据!
更多信息请查看 升级指南。

6.5.2

  • 修复村民职业与工作皮肤的问题。
  • 通过为 Gradle 依赖项添加缓存,优化 GitHub 工作流。
  • 改进 Gradle 构建时间和清理任务。

6.5.1

  • 修复 #632:实现 ON_KILL 动作类型及事件。
  • 修复 #629:改进纹理处理性能、缓存机制和内存使用。
  • 修复击杀命令对NPC无效的问题。
  • 修复因纹理重载保护机制导致缓存清除后无法重新加载的问题。
  • 修复远程图像验证器中 WebP 校验的 bug(缺少返回语句)。
  • 重构纹理处理逻辑,提升可维护性并便于未来改进。
  • 添加基于时间的重载保护机制(60秒),取代原有的永久阻塞机制。
  • 为纹理处理新增更多单元测试。
  • 优化 Gradle 构建任务。

6.5.0

  • ⚠️ 移除 jar-in-jar 打包方式,以提升模组兼容性和 API 能力。
  • 修复 #627:改进剪刀功能,增强与其他模组的兼容性。
  • 修复 #625:解决在使用旋转或移动模型部件时出现的动画异常问题。
  • 修复当使用缩放模型部件时默认动画被取消的问题。
  • 新增更智能的姿态动画控制选项:智能、默认和无。

6.4.1

  • 修复 #626:改进不同 NPC UUID 下的界面切换逻辑,感谢 Spawnblade 提供详细分析和修复建议。

6.4.0

  • 修复 #626:通过改进对话数据校验和错误处理来解决问题。
  • 修复 #623:重构渲染数据和渲染处理逻辑。
  • 修复 #622:确保自定义数据能够正确保存和加载。
  • 修复打开对话动作类型,允许从其他 NPC 触发对话。
  • 修复哈希问题,在 ConditionDataSet 和 ActionDataSet 中补充缺失的 equals 和 hashCode 方法。
  • 为 #622 添加自定义数据测试物品,便于测试自定义数据功能。
  • 优化记录结构,并修复潜在的数据缺失问题。

6.3.0

  • 重构配置界面专用组件,并将其从核心模组中移除。
  • 修复对话数据问题,发送至客户端前先进行过滤。
  • 修复对话编辑器布局问题,提升可用性。
  • 修复部分对话数据字段缺少默认值的问题。
  • 新增对话优先级支持,用于控制对话执行顺序。
  • 为对话和计分板动作添加条件支持。
  • 为对话添加频率支持,限制对话显示次数。
  • 新增支持计分板和条件系统的预设 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 — 包含核心与配置界面的整合包,提供即插即用体验。
  • Easy NPC:地核 — 轻量级 NPC 运行时与逻辑核心,依赖最少。适用于服务器、整合包和开发者。
  • Easy NPC:配置界面 — 独立的 NPC 创建与编辑界面。仅需在需要 UI 的客户端安装。

🎯 此次变更的目的?

  • 允许服务器和整合包仅在服务端部署 地核 模组,实现更轻量的配置。
  • 在无需界面时减少内存占用和加载时间。
  • 通过分离 UI 与核心逻辑,加快开发与测试速度。
1
2
14
BBSMC Logo

中国最活跃的 Minecraft 中文资源社区

QQ 群:1078515449

资源

模组整合包光影资源包

社区

论坛汉化软件插件

帮助

服务条款隐私政策社区规则开源代码
设置

"Minecraft"以及"我的世界"为美国微软公司的商标,本站与微软公司没有从属关系。 本站与 Modrinth 无从属关系,网站遵循 LGPL 协议开源。

© 2019-2026 青岛柒兮网络科技有限公司 | 鲁B2-20210590 | 鲁ICP备2021009459号-12 | 公安备案 鲁公网安备37021002001586号