Repository navigation
Getting Started zh
hp-1e edited this page Oct 31, 2026
·
1 revision
English | 中文
| 内容 | 脚本目录 | 修改后怎样生效 |
|---|---|---|
| 物品注册(工具、部件、弓弩、护甲)、材料属性类型、护甲套 | kubejs/startup_scripts |
重启游戏 |
| 配方、材料数据、材料标签、词条数据、工具数值 | kubejs/server_scripts |
/reload |
| 词条事件、全局工具属性事件的逻辑 | kubejs/server_scripts |
/kubejs reload server_scripts |
| 客户端材料变体外观 | kubejs/client_scripts |
F3+T |
| 贴图 | kubejs/assets/<命名空间>/textures/ |
F3+T |
只改了事件逻辑时,优先用 /kubejs reload server_scripts。它比 /reload 快得多:/reload 会让 JEI 全量重建,整合包大时会卡很久。
服务端脚本定义的材料、词条的名称、颜色和外观,会通过网络同步给客户端,不需要在客户端再写一遍。客户端必须安装本模组。
本模组对脚本暴露的名字都以 Arsenal 开头:
| 名字 | 类型 |
|---|---|
ArsenalMaterialEvents |
事件组:材料、材料标签、材料属性类型、客户端材料外观 |
ArsenalModifierEvents |
事件组:词条定义与词条事件 |
ArsenalToolEvents |
事件组:工具数值、全局工具属性、护甲套 |
ArsenalRecipes |
金属批量配方 |
ArsenalFluids |
流体用量常量 |
ArsenalTool |
查询工具上的词条、读写工具数据 |
配方统一写在 KubeJS 的 event.recipes.tconstruct.* 下。
startup_scripts/demo.js:
// 注册新部件:巨刃(用匠魂近战头部属性,消耗 4 锭,带铸模)
StartupEvents.registry('item', event => {
event.create('kubejs:great_blade', 'tinkers_kubejs_arsenal:part')
.statType('head')
.cost(4)
.casts()
.displayName('Great Blade')
.name('zh_cn', '巨刃')
// 注册新工具:战斧 = 巨刃 + 坚韧手柄
event.create('kubejs:war_axe', 'tinkers_kubejs_arsenal:tool')
.part('blade', 'kubejs:great_blade')
.part('handle', 'tconstruct:tough_handle')
.brokenPart('blade')
.displayName('War Axe')
.name('zh_cn', '战斧')
})server_scripts/demo.js:
// 新材料:秘银
ArsenalMaterialEvents.data(event => {
event.create('kubejs:mythril')
.tier(3)
.head(600, 7.5, 'minecraft:diamond', 3)
.handle(0.1, 0.05, 0, 0)
.trait('tconstruct:magnetic', 1)
.color('6FD0E8')
.fallbacks('metal')
.generator('tconstruct:head', 'tconstruct:handle')
.name('Mythril').name('zh_cn', '秘银')
})
// 战斧数值
ArsenalToolEvents.data(event => {
event.create('kubejs:war_axe')
.baseStat('attack_damage', 3)
.baseStat('attack_speed', 0.9)
.multiplyStat('durability', 1.3)
.slot('upgrades', 2)
.slot('abilities', 1)
.toolActions('axe_dig')
.effective('minecraft:mineable/axe')
.modifiable('melee/weapon', 'harvest/primary', 'small')
})
// 用钻石在部件制作台做秘银材料
ServerEvents.recipes(event => {
event.recipes.tconstruct.material('minecraft:diamond', 'kubejs:mythril')
})还需要画两张贴图,见 贴图:kubejs/assets/kubejs/textures/item/part/great_blade.png、item/tool/war_axe/blade.png 等。
装了 ProbeJS 时,材料 ID、词条 ID、工具属性 ID、槽位类型、部件物品等参数都有补全。