Repository navigation
Recipes zh
hp-1e edited this page Oct 31, 2026
·
1 revision
English | 中文
本模组为匠魂全部 66 种配方注册了 KubeJS 配方类型,写在 ServerEvents.recipes 里的 event.recipes.tconstruct.<类型>。KubeJS 自带的 event.remove、event.replaceInput、event.replaceOutput 都可以用于匠魂配方。
- 构造函数最多一个参数,取"最能代表这个配方的东西":熔化取原料,浇铸取产物,词条配方取词条 ID,合金不收参数。
- "ID + 数量"一律写成两个参数,例如
.fluid('tconstruct:molten_gold', 90)。 - 列表用单数名方法逐个追加,例如
.input(...)、.byproduct(...)。 - 其余字段用 JSON 键名同名的链式方法,例如
.cooling_time(50)、.cast_consumed(true)。 - 缺少必填字段时,加载配方会报英文错误,并提示该调用哪个方法。
ServerEvents.recipes(event => {
// 普通熔化,温度和时间可省略,会按产物自动计算
event.recipes.tconstruct.melting('#forge:ingots/gold')
.result('tconstruct:molten_gold', 90)
.temperature(700)
.time(60)
.byproduct('tconstruct:molten_copper', 10)
// 矿石熔化,第 3 个参数是矿石倍率:metal、gem 等
event.recipes.tconstruct.ore_melting('#forge:ores/gold')
.result('tconstruct:molten_gold', 180, 'metal')
.byproduct('tconstruct:molten_copper', 90, 'metal')
// 按耐久折算的熔化,第 3 个参数是单位耐久
event.recipes.tconstruct.damagable_melting('minecraft:golden_sword')
.result('tconstruct:molten_gold', 180, 90)
})event.recipes.tconstruct.casting_table('minecraft:gold_ingot')
.fluid('tconstruct:molten_gold', 90)
.cast('#tconstruct:casts/multi_use/ingot')
.cast_consumed(false)
.cooling_time(50)| 配方 | 构造参数 | 必填链式方法 | 常用可选方法 |
|---|---|---|---|
casting_table / casting_basin / retextured_casting_*
|
产物 | .fluid() |
.cast() .cast_consumed() .switch_slots() .cooling_time()
|
table_duplication / basin_duplication
|
铸模 | .fluid() |
.cooling_time() |
casting_*_potion |
产物 |
.bottle() .fluid()
|
.cooling_time() |
casting_*_tipping / casting_*_tipped_clearing
|
词条 ID |
.tools() .fluid()
|
.cooling_time() |
table_filling / basin_filling
|
容器 | .fluid_amount() |
|
*_casting_material / *_casting_composite / *_tool_casting
|
产物 | .item_cost() |
.cast() .allowed_materials() 等 |
*_casting_part_swapping |
工具 |
.item_cost() .index()
|
.allowed_materials() |
material_fluid |
产出材料 | .fluid() |
.input() .temperature()
|
molding_table / molding_basin
|
产物 | .material() |
.pattern() .pattern_consumed()
|
event.recipes.tconstruct.alloy()
.input('tconstruct:molten_copper', 270)
.input('tconstruct:molten_tin', 90)
.catalyst('tconstruct:molten_quartz', 10) // 只要求存在,不消耗
.result('tconstruct:molten_bronze', 360)
.temperature(700) // 可省略,按产物计算event.recipes.tconstruct.modifier('tconstruct:diamond')
.tools('#tconstruct:modifiable')
.input('minecraft:diamond', 4) // 也可以写 .input('4x minecraft:diamond')
.input('minecraft:nether_star')
.slots('upgrades', 1)
.level(1, 3) // 等级范围;.level(3) 表示只能是 3 级
.max_tool_size(1)
event.recipes.tconstruct.incremental_modifier('tconstruct:sharpness')
.tools('#tconstruct:modifiable/melee')
.input('minecraft:quartz') // 增量词条只有一个原料,不能带数量
.needed_per_level(36)
.amount_per_item(1)
.slots('upgrades', 1)
event.recipes.tconstruct.swappable_modifier('tconstruct:embellishment')
.variant('tconstruct:iron')
.tools('#tconstruct:modifiable')
.input('minecraft:iron_ingot', 4)
event.recipes.tconstruct.multilevel_modifier('tconstruct:luck')
.tools('#tconstruct:modifiable')
.input('minecraft:lapis_block')
.level(1, 'upgrades', 1) // 每调用一次加一级,可带槽位消耗
.level(2)
.level(3, 'abilities', 1)multilevel_incremental_modifier 的写法是 incremental_modifier 加上 .level(...)。
下面这些配方用 KubeJS 默认写法:构造函数按顺序传入必填字段,可选字段用同名链式方法补上。
| 配方 | 构造参数(按顺序) | 可选字段 |
|---|---|---|
material_melting |
材料, 流体产物 | temperature |
melting_fuel |
温度, 速率 |
fluid duration
|
entity_melting |
生物, 流体产物 | damage |
material |
物品, 材料 |
value needed leftover
|
part_builder |
图案, 消耗, 产物 |
pattern_item allow_uncraftable
|
item_part_builder |
图案, 产物 |
material pattern_item cost
|
tool_building |
工具 |
result_count slot_layout extra_requirements parts_override extra_materials
|
part_builder_recycling |
工具, 图案, 产物表(图案 ID → 物品) | |
part_builder_tool_recycling |
图案 |
tools parts
|
overslime_modifier / crafting_overslime_modifier
|
物品, 恢复量 | tools |
modifier_salvage |
工具, 词条, 槽位 |
max_tool_size level
|
modifier_repair / crafting_modifier_repair
|
词条, 物品, 修复量 | |
remove_modifier / extract_modifier
|
原料列表 |
name tools leftovers modifier_predicate
|
modifier_sorting |
原料列表(只能 1 个) | |
modifier_set_worktable |
数据键, 原料列表, 是否加入 |
tools modifier_predicate allow_traits
|
enchantment_converting |
分组名, 原料列表, 是否匹配附魔书, 是否返还无附魔物品 | modifier_predicate |
toggle_interaction |
原料列表 | tools |
tinker_station_damaging |
物品, 伤害量 | |
tinker_station_part_swapping / tool_material_swapping
|
工具 |
max_stack_size extra_requirements
|
fixed_material_swapping |
工具, 物品, 材料, 部件序号 |
max_stack_size repair_value extra_requirements
|
part_swapping_override |
工具, 部件, 部件序号 |
max_stack_size extra_requirements
|
tipped_tool_transform |
产物, 原料, 词条 |
slot_layout materials
|
severing |
生物, 掉落物 |
per_level_chance looting_bonus
|
ageable_severing |
生物, 成年掉落物 |
child_result per_level_chance looting_bonus
|
player_beheading / snow_golem_beheading / mooshroom_demushrooming / sheep_shearing
|
无 |
per_level_chance looting_bonus
|
// 钻石 → 秘银材料
event.recipes.tconstruct.material('minecraft:diamond', 'kubejs:mythril')
// 苦力怕掉自己的头,每级斩首几率 10%
event.recipes.tconstruct.severing('minecraft:creeper', 'minecraft:creeper_head').per_level_chance(0.1)各字段的 JSON 格式见匠魂的数据包配方;本模组源码的 docs/tconstruct-recipe-reference.md 有逐字段对照。
ServerEvents.recipes(event => {
ArsenalRecipes.metal(event, {
name: 'mythril', // 对应 forge:ingots/mythril 等标签
fluid: 'kubejs:molten_mythril', // 流体 ID 或 '#流体标签'
temperature: 900, // 可省略,按流体温度推导
byproducts: [{ fluid: 'tconstruct:molten_silver', amount: 30 }],
ores: true // false 时不生成矿石、粗矿相关配方
})
})会按 forge: 标签生成块、锭、粒的熔化和浇铸配方,以及粗矿、粗矿块、稀疏/普通/密集矿石的熔化配方。
ArsenalFluids 提供匠魂的标准用量,例如 ArsenalFluids.INGOT(90)、NUGGET、METAL_BLOCK、GEM、GEM_SHARD、BRICK、GLASS_BLOCK、SLIMEBALL、BOTTLE 等。