• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
TerraCraft-高版本物品管理

原创 开源 工具 TerraCraft-高版本物品管理 2025-08-30

完成注册/登录后下载
[MD] # 🚀 更新日志 ## ✨ 新增功能 - 等级模板的成功率支持占位符和Math库的动态计算 - 插件的`terra_durability`组件新增字段: - `damage_per_use`:计算每次判定为被使用时需要扣除的耐久 - 支持动态计算 - 未设置时将使用原版耐久减少计算方式 - 宝石成功率支持动态计算 - 创造模式下使用物品不会减少耐久 ## 🔧 功能修改 - 包含`terra_durability`组件的物品调整: - 耐久耗尽后仍可使用,但伤害会变为1 - 工具依然会取消事件 ## 🐛 问题修复 - 修复了宝石拆卸概率不生效的bug [/MD]
# TerraCraft-原版属性兼容大更新

## 🌟 概览
本次更新聚焦**原版属性深度兼容**与**核心功能稳定性优化**,全面修复多场景下的功能异常问题,同步优化耐久系统、buff逻辑与非玩家生物战斗属性,大幅提升插件运行流畅度与原版玩法适配度.


## 🐛 重点Bug修复
1. **生命周期与数据安全修复**
- 解决`reload`操作导致**buff生命周期异常停止**的关键问题,确保buff效果持续稳定
- 修复物品更新时**覆盖需保留信息**的bug,保障物品数据完整性

2. **核心组件与玩法修复**
- 彻底修复**Weapon组件完全不生效**的问题,武器攻击属性正常触发
- 解决弓类自定义耐久达上限但未丢失时,**拉弓无法射箭却消耗箭矢**的矛盾问题
- 修复异步唤起事件导致**原版meta加载失败、属性无法更新**的底层问题


## ⚙️ 关键功能优化
### 1. 耐久系统精细化
| 物品类型 | 耐久消耗规则 | 特殊优化 |
|----------|--------------|----------|
| 护甲 | 完全模仿原版耐久损失逻辑 | - |
| 弓/弩 | 每射击1次消耗1点耐久 | - |
| 钓竿 | 每次使用固定耐久-1 | - |
| 武器/工具 | 默认读取原版消耗规则(默认1点/次),支持通过`weapon.damage_per_attack`和`tool.damage_per_block`自定义消耗值 | 实现自定义与原版兼容双模式 |

- 优化耐久耗尽音效:支持读取物品**原版break_sound组件**,音效体验与原版一致


### 2. 战斗属性体系优化
- 非玩家生物伤害:以**原版基础伤害为初始值**(原版附魔效果在怪物身上正常生效,当前版本保留此特性)
- 伤害计算逻辑:怪物伤害会正常受插件加成(buff、武器、护甲等),彻底告别“固定伤害1”的问题
- 怪物护甲支持:依照原版数值适配,例如潜影贝护甲值正确显示为20


### 3. 性能与逻辑优化
- 解决插件多线程运行时**潜在内存泄露**风险,降低服务器资源占用
- 重构buff给予逻辑:大幅降低性能消耗,同时修复“buff更新瞬间暂不生效”的卡顿问题


## 📌 暂缓支持事项
1. **update机制限制**:当前仅支持覆盖更新,暂不实现“减量更新”(删除组件后不会触发更新),后续将优化更新逻辑
2. **盾牌功能替代方案**:
- 因盾牌效果依赖buff判断,暂无法检测伤害事件并同步减少耐久,故暂缓原生支持
- 提供**JS与YML配置示例**作为临时替代方案(注:无法完全复刻原版盾牌所有特性)


## 🚩 TODO
- 耐久丢失规则与概率计算:将支持**公式+占位符解析**,实现更灵活的耐久自定义配置
[MD] # 插件更新 Release Notes ## 🔧 修复与优化 1. **属性计算修复** ✅ 解决原版属性未被`TerraMeta`覆盖,导致伤害计算出现额外值的bug,确保属性计算精准性。 2. **Buff刷新优化** ✅ 修复原版海龟头持续尝试给玩家添加buff,造成插件属性频繁刷新的问题,**仅监听必要的药水效果改变**,降低性能消耗。 3. **Debug体验优化** ✅ 调整物品更新时的显示逻辑,将原`display_name`显示改为**插件内部名**,避免名称干扰debug分析。 4. **组件功能修复** ✅ 修复`gem_holder`组件默认无法自动更新的bug; ✅ 修复`gem_holder`返回不可变列表的bug,确保组件正常交互。 5. **指令显示优化** ✨ `tc attr get <玩家名>` 指令显示全面优化,**所有数值均采用小写字符展示**,视觉更统一。 ## 🗑️ 功能移除 - ❌ 移除“工作台升级”功能 - ❌ 移除“宝石工作台镶嵌”旧功能(替换为新增的宝石镶嵌指令) ## 🆕 核心功能新增 ### 1. 物品宝石强化系统 💎 支持三大核心配置: - 宝石镶嵌概率自定义 - 宝石拆卸概率自定义 - 可配置镶嵌/拆卸失败时是否消耗宝石,灵活控制玩法难度 ### 2. 等级模板组件 📊 新增等级模板组件,支持**游戏内热重载等级模板**,模板更新后自动同步所增加的属性,无需重启插件。 ### 3. 物品品质组件 🏆 品质算法全面优化: - 优化品质权重配比,品质判定更合理 - 支持配置“稀有度乘数”,可定向调整品质优化方向 - 支持多权重组下的品质重铸,满足多样化品质需求 ### 4. 物品自动更新功能 🔄 精细化控制更新逻辑: - 可单独开启/关闭任意组件的自动更新 - 原版组件在 `config.yml` 中统一配置 - 插件拓展组件通过对应配置文件的 `updatable` 字段控制 - 支持直接对nbt操作state(按位操作),限制本插件组件级别的自动更新范围 ## 📝 新增指令 | 指令 | 功能描述 | |------|----------| | `tc item info[<插件物品名>]` | 检查手持物品或配置文件中指定物品的**所有组件内容**,快速排查物品配置问题 | | `tc gem insert` | 副手宝石镶嵌指令,配合新增的宝石强化系统使用 | | `tc gem dismantle` | 宝石拆卸指令,支持自定义拆卸概率与消耗规则 | | `tc level` 指令组 | 支持物品**升级**与**降级**操作,灵活调整物品等级 | | `tc quality` 指令组 | 直接操控物品品质,可手动修改、重铸物品品质 | [/MD]
[MD] ### TerraCraft-原版属性兼容更新 #### 更新 - 添加原版的护甲和武器以及工具的伤害兼容(`armor`, `armor_thoughness`, `attack_damage`) - 添加原版影响伤害计算的药水效果兼容(抗性提升, 力量, 虚弱) - 原版属性提供配置文件 `ori.yml` ,可自由修改具体属性和计算区 #### 暂缓 - 由于插件的属性计算对于玩家攻击事件是无感的,所以无法兼容亡灵杀手,爆炸保护等原版针对特定伤害的附魔。最终决定取消兼容原版附魔。 #### Bug修复 - 修复了底层数据拷贝是浅拷贝的bug - 修复了原版物品中弓箭会造成原版暴击效果的bug - 修复了除原版箭矢外的箭矢类伤害不计入插件属性计算的bug - 修复了三叉戟在攻击时,会额外增加原版伤害的bug [/MD]
- ✔️修复了部分版本的`display_name`和`lore` 不显示的bug
- ✔️增加了buff配置和buff异步生效机制
- ✔️增加了buff之间的冲突`mutex`和覆盖`override`
- ✔️完善了指令树的构建和使用(新增了4个buff相关指令),具体可以在命令行输入不完整命令查看help
- ✔️**使用asm修改了原版event中EntityDamageByEntity的逻辑,目前除了本插件的meta,原版的保护性质附魔和药水效果无法生效**。

后退
顶部 底部