NovaAttribute v1.0.3
新功能
GUI 面板重构
- 完全 YAML 驱动的 GUI 配置(
gui/panel.yml) - 支持自定义布局、标题、材质、Lore 模板
- 每个属性可配置独立的完整 ItemStack(material/name/lore/custom-model-data)
- 支持精确匹配和前缀匹配属性图标
- 详情页新增默认值条目和总计汇总行
属性公式系统
- 新增
formulas.yml,根据 PAPI 占位符动态计算属性值 - 支持简单表达式和完整 NovaLang 脚本,编译为字节码执行
装备条件 Lore 支持
- 装备条件同时支持 NBT 和 Lore 两种来源
- Lore 格式:
需要等级: 50、限制职业: 战士/法师 - 关键词可在
config.yml的condition.lore-patterns中自定义
PAPI 新增占位符
%novaattribute_min_<属性ID>%— 范围属性最小值%novaattribute_max_<属性ID>%— 范围属性最大值- 新增占位符文档
docs/14-placeholders.md
新脚本函数
getMobLevel/getMobId/isMythicMob— MythicMobs 集成toFloat/toInt— Java 类型转换
Bug 修复
属性合并修复
- 修复范围值 + 固定值合并错误:
[1,2] + [10000]现在正确合并为[10001,10002] - 固定值展开为相同长度后再相加
条件系统修复
- 修复
function关键字在新版 NovaLang 中不识别(条件系统完全失效) - 修复
String[].get()→[]、.size()→.length - 修复条件脚本错误被静默吞掉
装备检测修复
InventoryClickEvent不再过滤 SlotType,任何背包操作都触发刷新- 新增
InventoryCloseEvent监听 - 修复空手检测兼容性
原版属性同步修复
- 首次同步时重置基础值为原版默认值(清理旧属性插件残留)
- 首次同步时移除其他插件残留的 AttributeModifier
GUI 显示修复
- 详情页使用运行时
isRange标记判断显示格式(不再依赖 YAML 定义) - 修复百分比属性误显示为范围值
兼容性
- 1.12.2 ~ 1.21.11 全版本支持