Skip to content

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

装了 ProbeJS 时,材料 ID、词条 ID、工具属性 ID、槽位类型、部件物品等参数都有补全。

Clone this wiki locally