KubeJS Create

KubeJS Create

KubeJS 与机械动力的集成

工具

创建(Create)KubeJS 提供的集成模组。该模组允许你在 KubeJS 脚本中添加和正确编辑机械动力(Create)模组的配方。所有受支持的配方类型和示例如下所示。更多信息请参阅 配方页面

支持的配方类型:

  • createCrushing
  • createCutting
  • createMilling
  • createBasin
  • createMixing(支持 .heated().superheated()
  • createCompacting(支持 .heated().superheated()
  • createPressing
  • createSandpaperPolishing
  • createSplashing(批量洗涤)
  • createDeploying
  • createFilling
  • createEmptying

注意:批量烟熏 = 原版烟熏,批量高炉烧炼 = 原版高炉烧炼配方类型。

event.recipes.createCrushing(output[], input[]) 输出不必是数组。它可以是物品或流体。 输入不必是数组。它可以是原料、Fluid.of('minecraft:water', 1000){fluidTag: 'some:fluid_tag', amount: 1000}

createMechanicalCrafting

event.recipes.createMechanicalCrafting(output, pattern[], {patternKey: input})

此配方类型与常规工作台有序配方相同。

event.recipes.createSequencedAssembly(output[], input, sequence[]) 
// output[] 是你的输出物品
// input 是你的输入物品
// sequence[] 是一个序列数组。这些序列是受支持的“常规”配方。

示例

event.recipes.createCrushing([
  '2x minecraft:cobblestone',
  'minecraft:redstone',
  Item.of('minecraft:redstone').withChance(0.5)
], 'minecraft:redstone_ore')
event.recipes.createMixing('create:chromatic_compound', [
  '#forge:dusts/glowstone',
  '#forge:dusts/glowstone',
  '#forge:dusts/glowstone',
  'create:powdered_obsidian',
  'create:powdered_obsidian',
  'create:powdered_obsidian',
  'create:polished_rose_quartz'
]).superheated()
event.recipes.createFilling('create:blaze_cake', [
  'create:blaze_cake_base',
  Fluid.of('minecraft:lava', 250)
])
event.recipes.createEmptying([
  'minecraft:glass_bottle',
  Fluid.of('create:honey', 250)
], 'minecraft:honey_bottle')
event.recipes.createMechanicalCrafting('minecraft:piston', [
  'CCCCC',
  'CPIPC',
  'CPRPC'
], {
  C: '#forge:cobblestone',
  P: '#minecraft:planks',
  R: '#forge:dusts/redstone',
  I: '#forge:ingots/iron'
})
event.recipes.createSequencedAssembly([ // 开始配方
 Item.of('6x create:large_cogwheel').withChance(32.0), // 将此物品作为有一定几率获得的输出
 Item.of('create:brass_ingot').withChance(2.0), // 将此物品作为有一定几率获得的输出
 'minecraft:andesite', // 将此物品作为必定获得的输出
 'create:cogwheel', // 将此物品作为必定获得的输出
 'minecraft:stick', // 将此物品作为必定获得的输出
 'minecraft:iron_nugget' // 将此物品作为必定获得的输出
], 'create:brass_ingot', [ // 'create:brass_ingot' 是输入。
// 由 "transitionalItem('create:incomplete_large_cogwheel')" 设置的过渡物品,是配方过程中输入物品向输出转变时使用的物品。
 event.recipes.createDeploying('create:incomplete_large_cogwheel', ['create:incomplete_large_cogwheel', '#minecraft:planks']), // 像常规配方函数一样,用作此数组中的一个序列步骤。输入和输出都包含过渡物品
 event.recipes.createDeploying('create:incomplete_large_cogwheel', ['create:incomplete_large_cogwheel', '#minecraft:wooden_buttons']), // 像常规配方函数一样,用作此数组中的一个序列步骤。输入和输出都包含过渡物品
 event.recipes.createCutting('create:incomplete_large_cogwheel', 'create:incomplete_large_cogwheel').processingTime(50) // 像常规配方函数一样,用作此数组中的一个序列步骤。输入和输出都包含过渡物品
]).transitionalItem('create:incomplete_large_cogwheel').loops(6) // 设置过渡物品和循环次数(重复次数)

如果你想在序列装配配方中使用自定义过渡物品,你必须在启动事件中注册它:

onEvent('item.registry', event => {
  // 此物品的纹理位于 kubejs/assets/kubejs/textures/item/my_part.png
  event.create('my_part', 'create:sequenced_assembly').displayName('My Part')
})

然后你可以使用 ...transitionalItem('kubejs:my_part')...

注意!神秘转化配方仅在客户端有效,因此目前添加它们的唯一方法是在客户端脚本中使用反射(在任何事件之外):

let MysteriousItemConversionCategory = java('com.simibubi.create.compat.jei.category.MysteriousItemConversionCategory')
let ConversionRecipe = java('com.simibubi.create.compat.jei.ConversionRecipe')

MysteriousItemConversionCategory.RECIPES.add(ConversionRecipe.create('minecraft:apple', 'minecraft:carrot'))
MysteriousItemConversionCategory.RECIPES.add(ConversionRecipe.create('minecraft:golden_apple', 'minecraft:golden_carrot'))