Skip to content

Stat Types zh

hp-1e edited this page Oct 31, 2026 · 2 revisions

English | 中文

材料属性类型

匠魂的部件按"材料属性类型"取数值:镐头用 head,手柄用 handle,弓臂用 limb……本模组可以注册新的属性类型,再配合 部件 做出取全新数值的部件。

注册(startup,改了要重启)

ArsenalMaterialEvents.statTypes(event => {
  event.create('kubejs:blade')
    .field('sharpness', 'attack_damage', 'base', 0)
    .field('balance', 'attack_speed', 'percent', 0)
    .field('durability', 'durability', 'base', 1)
    .textureLike('head')
    .name('zh_cn', '刃身')
})
方法 说明
event.create(id) 属性类型 ID,必须用自己的命名空间,不能用 tconstruct:
.field(字段名, 工具属性, 运算, 默认值) 按顺序添加字段。字段名只能用小写字母、数字、下划线;工具属性不带命名空间时补 tconstruct:,必须是数值属性;材料没写这个字段时取默认值
.textureLike(属性类型) 生成材料贴图时,把这类部件当成哪种已有属性类型,默认 head。材料的 .generator 支持那种类型,就会给这类部件生成贴图
.name(语言, 文本) 显示名称,英文默认取 ID 路径

运算

取值 含义 匠魂里的例子
base 部件提供的基础值,多个同类部件取平均 镐头的耐久、攻击
add 在基础值上加 握把的精准
percent 按比例加成,0.1 表示 +10% 手柄的耐久、攻速
multiply 乘以倍数 —

部件在工具上的权重照常生效:所有字段都会乘上这个缩放值。

给材料写数值(server,/reload)

ArsenalMaterialEvents.data(event => {
  // 新材料
  event.create('kubejs:mithril')
    .head(800, 9, 'minecraft:diamond', 3)
    .customStat('kubejs:blade', 4, 0.1, 600)   // 按 .field 的顺序:sharpness, balance, durability

  // 匠魂已有材料
  event.extend('tconstruct:iron')
    .customStat('kubejs:blade', 2, 0, 250)
})

数值个数必须和 .field 一致。只有写了这种属性的材料,才能做绑定这种属性类型的部件。

显示

  • 物品提示和工匠站:每个字段显示为对应工具属性的名称和数值,add、percent、multiply 用匠魂的彩色加成格式。
  • 匠魂手册:每种属性类型会自动生成一个材料章节,标题是属性类型名,章节内每种带这种属性的材料各占一页。各书的收录范围和匠魂一致:
手册 收录材料
《材料与你》 0–1 级
《入门熔炼术》 2 级
《大师熔炼术》 3 级
《工匠大百科》 全部

没有材料带这种属性时,不生成章节。

Clone this wiki locally