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', }); // Gate the symmetry wand behind build grist event.replaceInput({output: 'create:wand_of_symmetry'}, '#forge:ender_pearls', '#kubejs:grist/build/improved' ); ['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'magenta', 'white', 'black', 'light_gray', 'gray', 'brown', 'cyan', 'pink', 'lime'].forEach(color => { // Create colored blocks from the mixer. // TODO: This is required due to disabling all automatic crafting recipes, maybe these can just be re-enabled somehow? event.recipes.create.mixing(`8x minecraft:${color}_concrete_powder`, [`minecraft:${color}_dye`, '4x #forge:sand', '4x minecraft:gravel']); event.recipes.create.mixing(`8x minecraft:${color}_concrete`, [`minecraft:${color}_dye`, '4x #forge:sand', '4x minecraft:gravel', Fluid.of('minecraft:water', 250 * 8)]); event.recipes.create.mixing(`8x minecraft:${color}_terracotta`, [`minecraft:${color}_dye`, '8x minecraft:terracotta']); event.recipes.create.mixing(`minecraft:${color}_concrete`, [`minecraft:${color}_concrete_powder`, Fluid.of('minecraft:water', 250)]); event.recipes.create.mixing(`minecraft:${color}_wool`, [`minecraft:${color}_dye`, '#minecraft:wool']); event.recipes.create.mixing(`minecraft:${color}_stained_glass`, [`minecraft:${color}_dye`, '#forge:glass/colorless']).heated(); }); });