events.listen('recipes', function(e) { var mekCrush = e.recipes.mekanism.crushing var mekEnrich = e.recipes.mekanism.enriching var pedCrush = e.recipes.pedestals.pedestal_crushing var pedSaw = e.recipes.pedestals.pedestal_sawing function energize(ingredient, result, rCount, power) { e.recipes.powah.energizing({ ingredients: ingredient, energy: power, result: { item: result, count: rCount } }) } function pressure(inputs, result, rCount, pressure) { e.recipes.pneumaticcraft.pressure_chamber({ inputs: inputs, pressure: pressure, results: [{ item: result, count: rCount }] }) } function kjsShaped(result, pattern, ingredients, count) { e.shaped(item.of(result, count != null ? count : 1), pattern, ingredients) } function kjsShapeless(result, ingredients, count) { e.shapeless(item.of(result, count != null ? count : 1), ingredients) } //Make bio fuel use tags instead of invidual items e.remove({ output: 'mekanism:bio_fuel' }) var bioFuels = [2, 4, 5, 7, 8] utils.listOf(bioFuels).forEach(function(bioFuel) { mekCrush(item.of('mekanism:bio_fuel', bioFuel), '#misctags:biofuel' + bioFuel) }) //Powah recipes energize([{ tag: 'forge:ingots/allthemodium' }, { tag: 'forge:ingots/unobtainium' }], 'allthemodium:unobtainium_allthemodium_alloy_ingot', 1, 50000) energize([{ tag: 'forge:ingots/vibranium' }, { tag: 'forge:ingots/allthemodium' }], 'allthemodium:vibranium_allthemodium_alloy_ingot', 1, 50000) energize([{ tag: 'forge:ingots/vibranium' }, { tag: 'forge:ingots/unobtainium' }], 'allthemodium:unobtainium_vibranium_alloy_ingot', 1, 50000) energize([{ tag: 'forge:storage_blocks/iron' }, { tag: 'forge:storage_blocks/gold' }], 'powah:energized_steel_block', 2, 90000) energize([{ item: 'botania:blaze_block' }], 'powah:blazing_crystal_block', 1, 810000) energize([{ tag: 'forge:storage_blocks/diamond' }], 'powah:niotic_crystal_block', 1, 2700000) energize([{ tag: 'forge:storage_blocks/emerald' }], 'powah:spirited_crystal_block', 1, 9000000) //Misc recipes kjsShaped('computercraft:turtle_advanced', [ 'III', 'ICI', 'IAI' ], { I: '#forge:ingots/gold', C: 'computercraft:computer_advanced', A: '#forge:ingots/allthemodium' }) kjsShaped('computercraft:turtle_normal', [ 'III', 'ICI', 'IAI' ], { I: '#forge:ingots/iron', C: 'computercraft:computer_normal', A: '#forge:ingots/allthemodium' }) kjsShaped('minecraft:totem_of_undying', [ ' E ', 'GVG', ' G ' ], { E: 'compressium:emerald_3', G: '#forge:storage_blocks/gold', V: 'minecraft:villager_spawn_egg' }) e.shaped(item.of('enviromats:alabaster_magenta', 8), [ 'AAA', 'AMA', 'AAA' ], { A: '#forge:alabaster', M: '#forge:dyes/magenta' }) e.shaped(item.of('minecraft:ladder', 4), [ 'S S', 'SPS', 'S S' ], { S: '#forge:rods', P: '#minecraft:planks' }) e.smelting(item.of('appliedenergistics2:certus_quartz_crystal'), '#forge:ores/certus_quartz').xp(1) e.smelting(item.of('minecraft:glass'), '#forge:sand').xp(.1) e.shapeless(item.of('minecraft:clay_ball', 4), 'minecraft:clay') e.shapeless(item.of('minecraft:quartz', 4), 'minecraft:quartz_block') kjsShaped('appliedenergistics2:silicon_press', [ 'EEE', 'EAE', 'EEE' ], { 'E': 'mysticalagriculture:iron_essence', 'A': 'mysticalagriculture:silicon_essence' }) kjsShaped('appliedenergistics2:calculation_processor_press', [ 'EEE', 'EAE', 'EEE' ], { 'E': 'mysticalagriculture:iron_essence', 'A': 'mysticalagriculture:certus_quartz_essence' }) kjsShaped('appliedenergistics2:engineering_processor_press', [ 'EEE', 'EAE', 'EEE' ], { 'E': 'mysticalagriculture:iron_essence', 'A': 'mysticalagriculture:diamond_essence' }) kjsShaped('appliedenergistics2:logic_processor_press', [ 'EEE', 'EAE', 'EEE' ], { 'E': 'mysticalagriculture:iron_essence', 'A': 'mysticalagriculture:gold_essence' }) kjsShaped('minecraft:hopper', [ 'ILI', 'ILI', ' I ' ], { 'L': '#minecraft:logs', 'I': '#forge:ingots/iron' }) kjsShaped('minecraft:stick', [ 'L', 'L' ], { 'L': '#minecraft:logs' }, 16) kjsShaped('minecraft:water_bucket', [ ' C ', 'CBC', ' C ' ], { 'C': 'resourcefulbees:water_honeycomb', 'B': 'minecraft:bucket' }) kjsShaped('minecraft:lava_bucket', [ ' C ', 'CBC', ' C ' ], { 'C': 'resourcefulbees:lava_honeycomb', 'B': 'minecraft:bucket' }) kjsShaped('appliedenergistics2:sky_stone_block', [ 'BSB', 'SBS', 'BSB' ], { 'S': 'minecraft:stone', 'B': 'minecraft:blackstone' }, 4) kjsShaped('biomesoplenty:flesh', [ 'FFF', 'FFF', 'FFF' ], { 'F': 'minecraft:rotten_flesh', }) e.recipes.industrialforegoing.dissolution_chamber({ input: [{ tag: 'minecraft:planks' }], inputFluid: '{FluidName:\'immersiveengineering:creosote\',Amount:125}', processingTime: 1, output: { item: 'immersiveengineering:treated_wood_horizontal', count: 1 } }) mekCrush(item.of('minecraft:brick', 4), 'minecraft:bricks') mekCrush(item.of('minecraft:rotten_flesh', 9), 'biomesoplenty:flesh') mekCrush(item.of('minecraft:magma_cream', 4), 'minecraft:magma_block') mekCrush(item.of('minecraft:blaze_powder', 4), '#forge:rods/blaze') mekCrush(item.of('minecraft:quartz', 4), '#forge:storage_blocks/quartz') mekEnrich(item.of('minecraft:blaze_rod'), [item.of('minecraft:blaze_powder', 4)]) mekEnrich(item.of('powah:uraninite', 2), 'powah:uraninite_ore_poor') mekEnrich(item.of('powah:uraninite', 4), 'powah:uraninite_ore') mekEnrich(item.of('powah:uraninite', 8), 'powah:uraninite_ore_dense') //Creative recipes energize([{ item: 'appliedenergistics2:dense_energy_cell' }], 'appliedenergistics2:creative_energy_cell', 1, 420000000) energize([{ item: 'refinedstorage:controller' }], 'refinedstorage:creative_controller', 1, 420000000) energize([{ item: 'refinedstorageaddons:wireless_crafting_grid' }], 'refinedstorageaddons:creative_wireless_crafting_grid', 1, 420000) energize([{ item: 'refinedstorage:wireless_crafting_monitor' }], 'refinedstorage:creative_wireless_crafting_monitor', 1, 420000) energize([{ item: 'refinedstorage:wireless_fluid_grid' }], 'refinedstorage:creative_wireless_fluid_grid', 1, 420000) energize([{ item: 'refinedstorage:wireless_grid' }], 'refinedstorage:creative_wireless_grid', 1, 420000) e.shapeless(item.of('botania:mana_tablet', { mana: 500000, creative: 1 }), ['botania:creative_pool']) e.shapeless('botania:creative_pool', [item.of('botania:mana_tablet', { mana: 500000, creative: 1 })]) pressure([{ 'type': 'pneumaticcraft:stacked_item', 'item': 'mysticalagradditions:insanium_block', 'count': 8 }, { 'type': 'pneumaticcraft:stacked_item', 'tag': 'forge:pellets/antimatter', 'count': 6 }, { 'type': 'pneumaticcraft:stacked_item', 'item': 'botania:gaia_ingot', 'count': 3 }, { 'type': 'pneumaticcraft:stacked_item', 'tag': 'forge:storage_blocks/allthemodium', 'count': 1 }, { 'type': 'pneumaticcraft:stacked_item', 'tag': 'forge:storage_blocks/vibranium', 'count': 1 }, { 'type': 'pneumaticcraft:stacked_item', 'tag': 'forge:storage_blocks/unobtainium', 'count': 1 }, { 'type': 'pneumaticcraft:stacked_item', 'item': 'elementalcraft:purerock', 'count': 8 }, { 'type': 'pneumaticcraft:stacked_item', 'item': 'xreliquary:angelheart_vial', 'count': 6 }, { 'type': 'pneumaticcraft:stacked_item', 'item': 'mahoutsukai:fae_essence', 'count': 1 } ], 'mysticalagradditions:creative_essence', 1, 4.9) kjsShaped('botania:creative_pool', [ 'CSC', 'CPC', 'CWC' ], { 'C': 'mysticalagradditions:creative_essence', 'P': 'botania:fabulous_pool', 'S': 'kubejs:rune_of_sins', 'W': 'kubejs:mass_of_wills' }) kjsShaped('pneumaticcraft:creative_compressor', [ 'CLC', 'FCA', 'CEC' ], { 'C': 'mysticalagradditions:creative_essence', 'L': 'pneumaticcraft:advanced_liquid_compressor', 'A': 'pneumaticcraft:advanced_air_compressor', 'E': 'pneumaticcraft:electrostatic_compressor', 'F': 'pneumaticcraft:flux_compressor' }) kjsShaped('rats:rat_upgrade_creative', [ 'HUH', 'CCC', 'HUH' ], { 'C': 'mysticalagradditions:creative_essence', 'H': 'rats:creative_cheese', 'U': 'rats:rat_upgrade_nonbeliever' }) //SGear salvaging /* Disabled in removals.js for issue #349 function salvage(item, results) { e.recipes.silentgear.salvaging({ ingredient: { item: item }, results: results }) } salvage('minecraft:netherite_sword', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:stick', 'count': 1 }, { 'item': 'minecraft:diamond', 'count': 2 } ]) salvage('minecraft:netherite_shovel', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:stick', 'count': 2 }, { 'item': 'minecraft:diamond', 'count': 1 } ]) salvage('minecraft:netherite_pickaxe', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:stick', 'count': 2 }, { 'item': 'minecraft:diamond', 'count': 3 } ]) salvage('minecraft:netherite_hoe', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:stick', 'count': 2 }, { 'item': 'minecraft:diamond', 'count': 2 } ]) salvage('minecraft:netherite_axe', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:stick', 'count': 2 }, { 'item': 'minecraft:diamond', 'count': 3 } ]) salvage('minecraft:netherite_boots', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:diamond', 'count': 4 } ]) salvage('minecraft:netherite_leggings', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:diamond', 'count': 7 } ]) salvage('minecraft:netherite_chestplate', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:diamond', 'count': 8 } ]) salvage('minecraft:netherite_helmet', [{ 'item': 'minecraft:netherite_ingot', 'count': 1 }, { 'item': 'minecraft:diamond', 'count': 5 } ]) salvage('minecraft:anvil', [{ 'item': 'minecraft:iron_ingot', 'count': 31 }]) salvage('minecraft:diamond_horse_armor', [{ 'item': 'minecraft:diamond', 'count': 7 }]) salvage('minecraft:golden_horse_armor', [{ 'item': 'minecraft:gold_ingot', 'count': 7 }]) salvage('minecraft:iron_horse_armor', [{ 'item': 'minecraft:iron_ingot', 'count': 7 }]) salvage('minecraft:leather_horse_armor', [{ 'item': 'minecraft:leather', 'count': 7 }]) salvage('minecraft:minecart', [{ 'item': 'minecraft:iron_ingot', 'count': 5 }]) salvage('minecraft:saddle', [{ 'item': 'minecraft:leather', 'count': 5 }, { 'item': 'minecraft:iron_nugget', 'count': 2 } ]) */ //Pedestal stuff function coinUpgrade(name, type) { if (type == 'rf') { e.recipes.allthemodium.atmshapeless_crafting({ ingredients: [{ item: 'pedestals:coin/' + name }, { tag: 'forge:storage_blocks/redstone' } ], result: { item: 'pedestals:coin/' + type + name } }) } else { e.recipes.allthemodium.atmshapeless_crafting({ ingredients: [{ item: 'pedestals:coin/' + name }, { item: 'minecraft:experience_bottle' } ], result: { item: 'pedestals:coin/' + type + name } }) } } coinUpgrade('import', 'rf') coinUpgrade('export', 'rf') coinUpgrade('crusher', 'rf') coinUpgrade('smelter', 'rf') coinUpgrade('sawmill', 'rf') coinUpgrade('quarry', 'rf') coinUpgrade('quarryb', 'rf') coinUpgrade('dropper', 'xp') coinUpgrade('magnet', 'xp') e.remove({ output: 'pedestals:dustflour' }) function pedestalCrush(result, count, ingredient, type) { if (type == 1) { pedCrush({ ingredient: { tag: ingredient }, result: { item: result, count: count } }) } else { pedCrush({ ingredient: { item: ingredient }, result: { item: result, count: count } }) } } function pedestalSaw(result, count, ingredient, type) { if (type == 1) { pedSaw({ ingredient: { tag: ingredient }, result: { item: result, count: count } }) } else { pedSaw({ ingredient: { item: ingredient }, result: { item: result, count: count } }) } } e.remove({ id: 'appliedenergistics2:grinder/flour' }) e.remove({ output: '#minecraft:signs', type: 'pedestals:pedestal_sawing' }) e.remove({ output: '#minecraft:wooden_stairs', type: 'pedestals:pedestal_sawing' }) e.remove({ output: '#minecraft:wooden_slabs', type: 'pedestals:pedestal_sawing' }) e.remove({ output: '#minecraft:wooden_trapdoors', type: 'pedestals:pedestal_sawing' }) e.remove({ output: '#minecraft:wooden_pressure_plates', type: 'pedestals:pedestal_sawing' }) e.remove({ output: 'minecraft:stick', type: 'pedestals:pedestal_sawing' }) pedestalCrush('pamhc2foodcore:flouritem', 1, 'forge:flour_plants', 1) pedestalCrush('appliedenergistics2:fluix_dust', 1, 'appliedenergistics2:fluix_crystal', 0) pedestalCrush('appliedenergistics2:certus_quartz_dust', 1, 'forge:gems/certus_quartz', 1) pedestalCrush('mekanism:dust_quartz', 1, 'forge:gems/quartz', 1) pedestalSaw('mekanism:sawdust', 1, 'forge:rods/wooden', 1) pedestalSaw('minecraft:stick', 4, 'minecraft:planks', 1) pedestalSaw('minecraft:stick', 2, 'minecraft:wooden_slabs', 1) e.recipes.appliedenergistics2.grinder({ input: { tag: 'forge:flour_plants' }, result: { primary: { item: 'pamhc2foodcore:flouritem', count: 1 } }, turns: 8 }) //Exrastorage fixes e.remove({ mod: 'extrastorage' }) function extraBlock(size) { kjsShaped('extrastorage:block_' + size, [ 'QPQ', 'QCQ', 'QRQ' ], { Q: 'refinedstorage:quartz_enriched_iron', C: 'refinedstorage:machine_casing', R: '#forge:dusts/redstone', P: 'extradisks:' + size + '_storage_part' }) } extraBlock('256k') extraBlock('1024k') extraBlock('4096k') extraBlock('16384k') extraBlock('16384k_fluid') extraBlock('65536k_fluid') extraBlock('262144k_fluid') extraBlock('1048576k_fluid') kjsShaped('extrastorage:iron_crafter', [ 'B B', 'PCP', 'B B' ], { B: '#forge:storage_blocks/iron', P: 'refinedstorage:improved_processor', C: '#refinedstorage:crafter' }) kjsShaped('extrastorage:gold_crafter', [ 'B B', 'PCP', 'B B' ], { B: '#forge:storage_blocks/gold', P: 'refinedstorage:advanced_processor', C: 'extrastorage:iron_crafter' }) kjsShaped('extrastorage:diamond_crafter', [ 'B B', 'PCP', 'B B' ], { B: '#forge:storage_blocks/diamond', P: 'refinedstorage:advanced_processor', C: 'extrastorage:gold_crafter' }) kjsShaped('extrastorage:netherite_crafter', [ 'BBB', 'PCP', 'BBB' ], { B: '#forge:ingots/netherite', P: 'refinedstorage:advanced_processor', C: 'extrastorage:diamond_crafter' }) kjsShaped('extrastorage:advanced_exporter', [ ' T ', 'PCP', ' T ' ], { T: 'minecraft:redstone_torch', P: 'refinedstorage:improved_processor', C: 'refinedstorage:exporter' }) kjsShaped('extrastorage:advanced_importer', [ ' T ', 'PCP', ' T ' ], { T: 'minecraft:redstone_torch', P: 'refinedstorage:improved_processor', C: 'refinedstorage:importer' }) //Reliquary changes e.remove({ output: 'xreliquary:fertile_lily_pad', type: 'minecraft:crafting_shapeless' }) kjsShaped('xreliquary:fertile_lily_pad', [ 'ESE', 'FLF', 'ESE' ], { E: 'xreliquary:fertile_essence', S: 'mysticalagriculture:supremium_growth_accelerator', L: 'minecraft:lily_pad', F: 'mysticalagriculture:mystical_fertilizer' }) //NBT Resets var resetNBT = [ 'rftoolsbase:filter_module', 'rftoolspower:dimensionalcell_simple', 'rftoolspower:dimensionalcell', 'rftoolspower:dimensionalcell_advanced', 'rftoolspower:powercell_card', 'rftoolsutility:syringe' ] utils.listOf(resetNBT).forEach(function(reset) { e.shapeless(item.of(reset), reset) }) var tiersPowah = [ 'starter', 'basic', 'hardened', 'blazing', 'niotic', 'spirited', 'nitro' ] var typesPowah = [ 'energy_cell', 'reactor', 'furnator', 'magmator', 'thermo_generator', 'solar_panel', 'player_transmitter', 'energy_hopper', 'energy_discharger', 'energizing_rod' ] utils.listOf(typesPowah).forEach(function(type) { utils.listOf(tiersPowah).forEach(function(tier) { e.shapeless(item.of('powah:' + type + '_' + tier), 'powah:' + type + '_' + tier) }) }) var solars = [ '1', '2', '3', '4', '5', 'custom_allthemodium', 'custom_vibranium', 'custom_unobtainium' ] utils.listOf(solars).forEach(function(solar) { e.shapeless(item.of('solarflux:sp_' + solar), 'solarflux:sp_' + solar) }) //Smithing stuff function smithing(result, base, addition) { e.recipes.minecraft.smithing({ 'base': { 'item': base }, 'addition': { 'item': addition }, 'result': { 'item': result } }) } smithing('metalbarrels:wood_to_netherite', 'metalbarrels:wood_to_obsidian', 'minecraft:netherite_ingot') //Jumbo Furnace function jumbo(ingredients, result, xp) { e.recipes.jumbofurnace.jumbo_smelting({ 'ingredients': ingredients, 'result': { 'item': result }, 'experience': xp }) } jumbo( [{ 'type': 'forge:nbt', 'item': 'storagedrawers:emerald_storage_upgrade', 'count': 16 }, { 'type': 'jumbofurnace:tag_stack', 'tag': 'forge:ingots/unobtainium', 'count': 2 }, { 'type': 'jumbofurnace:tag_stack', 'tag': 'forge:ingots/allthemodium', 'count': 4 }, { 'type': 'jumbofurnace:tag_stack', 'tag': 'forge:ender_pearls', 'count': 16 } ], 'storagedrawers:creative_storage_upgrade', 5 ) jumbo( [{ 'type': 'jumbofurnace:tag_stack', 'tag': 'forge:cheese_block', 'count': 64 }, { 'type': 'jumbofurnace:tag_stack', 'tag': 'forge:ingots/vibranium', 'count': 1 } ], 'rats:creative_cheese', 5 ) //Quark marble to Astral Sorcery Marble e.recipes.astralsorcery.block_transmutation({ "input": { "block": "quark:marble", }, "output": { "block": "astralsorcery:marble_raw" }, "starlight": 200.0 }) e.recipes.astralsorcery.infuser({ "fluidInput": "astralsorcery:liquid_starlight", "input": { "item": "quark:marble" }, "output": { "item": "astralsorcery:marble_raw", "count": 1 }, "consumptionChance": 0.1, "duration": 100, "consumeMultipleFluids": false, "acceptChaliceInput": true, "copyNBTToOutputs": false }) })