ServerEvents.recipes(event => { event.shapeless('2x create:cogwheel', [ 'thermal:tin_gear', '#minecraft:planks', ]); // Cart assembler is gated behind mid-game grist event.replaceInput({output: 'create:cart_assembler'}, '#forge:dusts/redstone', '#kubejs:grist/build/improved' ); // Gate wireless stuff behind intelligent grist event.replaceInput({output: 'create:transmitter'}, '#forge:dusts/redstone', '#kubejs:grist/intelligent/basic' ); // Gate the mixer behind aluminum event.replaceInput({output: 'create:whisk'}, '#forge:plates/iron', '#forge:plates/aluminum' ); event.replaceInput({output: 'create:propeller'}, '#forge:plates/iron', '#forge:plates/invar' ); event.remove({output: 'create:windmill_bearing'}); event.shaped('create:windmill_bearing', [ ' A ', 'DBD', 'DCD' ], { 'A': '#minecraft:wooden_slabs', 'B': '#forge:stone', 'C': 'create:shaft', 'D': '#kubejs:grist/energetic/basic' }); // Gate the backpack behind mid-game energetic grist event.replaceInput({output: 'create:copper_backtank'}, 'minecraft:copper_block', 'kubejs:grist_energetic_basic_block' ) event.replaceInput({output: 'create:schematicannon'}, 'minecraft:iron_block', 'kubejs:grist_build_basic_block' ) // Allow certus quartz to be used for rose quartz event.replaceInput({output: 'create:rose_quartz'}, 'minecraft:quartz', '#forge:gems/quartz', ); event.shapeless('create:rose_quartz', [ 'ae2:certus_quartz_crystal', '8x minecraft:redstone', ]); // Crushing wheels can come from build grist event.remove({output: 'create:crushing_wheel'}); event.shaped('create:crushing_wheel', [ 'CBC', 'BAB', 'CBC' ], { 'A': '#kubejs:grist/build/basic', 'B': 'thermal:tin_gear', 'C': 'create:andesite_alloy', }); // Melt down XP nuggets and blocks into raw XP // 1 nugget == 60mb cognitium event.recipes.createMixing(Fluid.of('experienceobelisk:cognitium', 60), 'create:experience_nugget').heated(); event.recipes.createMixing(Fluid.of('experienceobelisk:cognitium', 60 * 9), 'create:experience_block').heated(); // Precision mechanisms should require intelligent grist event.recipes.createSequencedAssembly([ Item.of('create:precision_mechanism'), ], '#forge:ingots/brass', [ event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', '#kubejs:grist/intelligent/basic']), event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', 'create:cogwheel']), event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', '#forge:gears/copper']) ]).transitionalItem('create:incomplete_precision_mechanism').loops(3); // Factory automation should require some intelligent grist event.replaceInput({output: 'create:stock_ticker'}, 'minecraft:gold_ingot', '#kubejs:grist/intelligent/basic' ); event.remove({output: 'create:stock_link'}); event.shaped('create:stock_link', [ ' A ', ' B ', ' C ' ], { 'A': 'create:transmitter', 'B': 'create:item_vault', 'C': '#kubejs:grist/intelligent/basic', }); });