Skip to content

v1.0.3

Latest

Choose a tag to compare

@CoderKuo CoderKuo released this 01 Apr 16:27

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 全版本支持