Repository navigation
Tools zh
hp-1e edited this page Oct 31, 2026
·
3 revisions
English | 中文
自定义工具分两处写:
| 写在哪 | 内容 | 生效方式 |
|---|---|---|
startup_scripts |
注册工具物品:类型、部件组成、贴图、名称、手册文字 | 重启游戏 |
server_scripts 的 ArsenalToolEvents.data
|
基础属性、倍率、词条槽、自带词条、工具动作、范围挖掘、可改造标签 | /reload |
StartupEvents.registry('item', event => {
event.create('kubejs:war_pick', 'tinkers_kubejs_arsenal:tool')
.part('head', 'tconstruct:pick_head')
.part('handle', 'tconstruct:tool_handle')
.part('binding', 'tconstruct:tool_binding')
.brokenPart('head')
.displayName('War Pick')
.name('zh_cn', '战镐')
.bookText('zh_cn', '战镐是一把能挖能打的重型镐。')
.bookProperty('zh_cn', '挖掘石头和矿石')
event.create('kubejs:rapier', 'tinkers_kubejs_arsenal:sword')
.part('blade', 'tconstruct:small_blade')
.part('guard', 'tconstruct:tool_binding')
.part('handle', 'tconstruct:tool_handle')
})| 方法 | 说明 |
|---|---|
类型 tinkers_kubejs_arsenal:tool
|
普通工具(匠魂 ModifiableItem) |
类型 tinkers_kubejs_arsenal:sword
|
剑(匠魂 ModifiableSwordItem),带横扫,能快速破坏蜘蛛网 |
.part(图层名, 部件物品) |
按顺序添加部件,顺序就是部件序号;图层名在同一工具内不能重复,部件物品必须是匠魂部件 |
.partTexture(图层名, 贴图) |
改某个图层的灰度底图,默认 <命名空间>:item/tool/<工具路径>/<图层名>。可以直接指向匠魂已有底图,例如 tconstruct:item/tool/broad_axe/head
|
.brokenPart(图层名) |
这个图层有损坏贴图 <底图>_broken,耐久耗尽时显示 |
.name(语言, 文本) |
其他语言名称,英文用 .displayName(...)
|
.bookText(语言, 文本) |
手册工具页的介绍,每调用一次是一段 |
.bookProperty(语言, 文本) |
手册工具页"特性"列表的一条 |
.parentModel(...) |
KubeJS 自带,改手持姿态;默认普通工具用 tconstruct:item/base/axe,剑用 forge:item/default-tool
|
KubeJS 物品构建器自带的方法照常可用。工具固定不可堆叠。
ArsenalToolEvents.data(event => {
event.create('kubejs:war_pick')
.baseStat('attack_damage', 2)
.baseStat('attack_speed', 1.0)
.multiplyStat('durability', 1.2)
.multiplyStat('mining_speed', 0.8)
.slot('upgrades', 3)
.slot('abilities', 1)
.trait('tconstruct:pierce', 1)
.toolActions('pickaxe_dig')
.effective('minecraft:mineable/pickaxe')
.boxAoeDirection('pitch')
.boxAoeExpansion(0, 0, 2)
.boxAoeExpansion(0, 1, 0)
.modifiable('melee/weapon', 'harvest/primary', 'harvest/stone', 'aoe', 'small', 'interactable/right')
.materialName(0)
})| 方法 | 说明 |
|---|---|
.baseStat(属性, 值) |
基础属性,可多次调用;属性不带命名空间时补 tconstruct:
|
.multiplyStat(属性, 值) |
属性倍率 |
.slot(槽位类型, 数量) |
词条槽:upgrades abilities defense 等 |
.trait(词条[, 等级]) |
工具自带词条 |
.toolActions(...) |
工具动作,例如 pickaxe_dig axe_strip shovel_flatten
|
.effective(方块标签) |
对哪些方块是有效工具 |
.boxAoe(宽, 高, 深) |
方形范围挖掘的基础范围 |
.boxAoeExpansion(宽, 高, 深) |
每级"扩展"词条依次使用一条,可多次调用 |
.boxAoeDirection(方向) |
pitch height side_hit,默认 side_hit
|
.circleAoe(直径, 是否三维) |
圆形范围挖掘 |
.veinAoe(最大距离) |
连锁挖掘 |
.treeAoe(宽加成, 深加成) |
砍树 |
.sweepMelee(范围) |
横扫攻击 |
.circleMelee(直径) |
圆形范围攻击 |
.module(类型, {...}) |
任意匠魂工具模块,原样写入 |
.primaryPart(序号) |
主部件,默认 0 |
.materialName(序号) |
工具名称跟随第几个部件的材料 |
.modifiable(...) |
加入 tconstruct:modifiable/<路径> 标签,决定能加哪类词条、进哪本手册 |
.layoutSlot(序号, x, y) |
改工作台里部件槽的位置 |
.sortIndex(n) |
工作台工具按钮的排序,默认 100 |
- 部件属性(
part_stats)和默认材料(创造模式和 JEI 展示用); -
tconstruct:modifiable/multipart、modifiable/durability标签; - 工作台布局:1 到 4 个部件按匠魂预设位置摆放。超过 4 个部件必须给多出的部件写
.layoutSlot; - 组装配方。超过 3 个部件的工具,匠魂要求在匠魂砧上组装,工匠站做不了。
工具进不进手册、进哪一章,由 .modifiable(...) 决定:
| 标签 | 收录到 |
|---|---|
small |
《材料与你》、《工匠大百科》小工具章 |
broad |
《大师熔炼术》、《工匠大百科》大工具章 |
special / ancient
|
《工匠大百科》法杖章 / 远古工具章(《工匠装置宝典》也会收录) |
都不加,手册里就没有这把工具。没写 .bookText 的语言,工具页只显示名称和部件组成。
- 每把工具按材料列出全部变体,放进匠魂"工具"创造栏;JEI 自动显示,组装配方在匠魂"工具组装"页。
- 匠魂自带的回收配方(部件制作台 + 毒液瓶)可以把自定义工具拆回部件。不想被拆,加
.modifiable('unrecyclable')。
以下情况会报英文错误,并跳过这把工具:
- 服务端定义的 ID 没有在启动脚本注册;
- 部件物品不是匠魂部件;
- 槽位数量小于 0,或词条等级小于 1;
- 部件序号越界;
- 超过 4 个部件但没写
.layoutSlot。
启动脚本注册了、服务端没写 ArsenalToolEvents.data 的工具,会警告"没有属性、无法组装"。