diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index d7a8eeb65..5e72e652c 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -63,17 +63,14 @@ "__CUSTOM_MULTIS__.flufff": "> Custom Multiblocks & Recipe Types <", "__CUSTOM_MULTIS__.footer": "=====================================", "block.gtceu.basic_microverse_projector": "Basic Microverse Projector", - "gtceu.basic_microverse": "Basic Microverse Projector", "gtceu.multiblock.basic_microverse_projector.description": "§7A machine capable of stabilizing projection into microverses for basic miner missions.", "block.gtceu.advanced_microverse_projector": "Advanced Microverse Projector", - "gtceu.advanced_microverse": "Advanced Microverse Projector", "gtceu.multiblock.advanced_microverse_projector.description": "§7An advanced machine capable of stabilizing projection into microverses for complex missions into the deepest parts of space.", "block.gtceu.advanced_microverse_projector_ii": "Advanced Microverse Projector II", - "gtceu.advanced_microverse_ii": "Advanced Microverse Projector II", "gtceu.multiblock.advanced_microverse_projector_ii.description": "§7An elite machine capable of stabilizing projection into microverses for exotic missions, including collapsing the microverse whole.", "block.gtceu.hyperbolic_microverse_projector": "Hyperbolic Microverse Projector", - "gtceu.advanced_microverse_iii": "Hyperbolic Microverse Projector", "gtceu.multiblock.hyperbolic_microverse_projector.description": "§7An epic machine capable of stabilizing projection into hundreds of microverses at once.\nCan perform all Microverse Missions.", + "gtceu.microverse": "Microverse Mission", "block.gtceu.naquadah_reactor": "Naquadah Reactor", "gtceu.naquadah_reactor": "Naquadah Reactor", "block.gtceu.large_naquadah_reactor": "Large Naquadah Reactor", diff --git a/kubejs/assets/kubejs/lang/en_us.json b/kubejs/assets/kubejs/lang/en_us.json index 147023326..7cc13e07e 100644 --- a/kubejs/assets/kubejs/lang/en_us.json +++ b/kubejs/assets/kubejs/lang/en_us.json @@ -16,6 +16,8 @@ "item.kubejs.microminer_t1.desc": "§7§oHarvests Titanium and other light metals from asteroids in the microverse.", "item.kubejs.microminer_t2": "§eTitanium Plated Micro Miner [Tier Two]", "item.kubejs.microminer_t2.desc": "§7§oHarvests Tungsten and other heavy metals from asteroids in the microverse.", + "item.kubejs.microminer_t2half": "§eDark Steel Plated Micro Mob Slayer [Tier Two and a Half]", + "item.kubejs.microminer_t2half.desc": "§7§oKills mobs in safer microverses and collects their skeletons and parts", "item.kubejs.microminer_t3": "§eTungsten Carbide Plated Micro Miner [Tier Three]", "item.kubejs.microminer_t3.desc": "§7§oHarvests ultra hot metals and gems from Nether microverses.", "item.kubejs.microminer_t4": "§eSignalum Plated Micro Miner [Tier Four]", @@ -43,6 +45,7 @@ "item.kubejs.stabilized_microminer_t1": "§dStabilized Steel Plated Micro Miner [Tier One]", "item.kubejs.stabilized_microminer_t2": "§dStabilized Titanium Plated Micro Miner [Tier Two]", + "item.kubejs.stabilized_microminer_t2half": "§dStabilized Dark Steel Plated Micro Mob Slayer [Tier Two and a Half]", "item.kubejs.stabilized_microminer_t3": "§dStabilized Tungsten Carbide Plated Micro Miner [Tier Three]", "item.kubejs.stabilized_microminer_t4": "§dStabilized Signalum Plated Micro Miner [Tier Four]", "item.kubejs.stabilized_microminer_t4half": "§dStabilized Lumium Plated Micro Mob Slayer [Tier Four and Half]", @@ -58,6 +61,8 @@ "item.kubejs.stabilized_microminer.tooltip.2": "§7§oLasts indefinitely. Reusable. Totally not overpowered.", "item.kubejs.stabilized_microminer.tooltip.3": "§7§oIt looks oddly familiar.", + "item.kubejs.damaged_microminer.tooltip": "§7§oCan be repaired in an assembler.", + "item.kubejs.pristine_matter_t1": "§dPristine Steel Microverse Matter [Tier One]", "item.kubejs.pristine_matter_t2": "§dPristine Titanium Microverse Matter [Tier Two]", "item.kubejs.pristine_matter_t3": "§dPristine Tungsten Microverse Matter [Tier Three]", diff --git a/kubejs/assets/kubejs/models/item/advanced_drill_kit.json b/kubejs/assets/kubejs/models/item/advanced_drill_kit.json new file mode 100644 index 000000000..229b6becf --- /dev/null +++ b/kubejs/assets/kubejs/models/item/advanced_drill_kit.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "kubejs:item/miner_kits/advanced_drill", + "layer1": "kubejs:item/miner_kits/advanced_drill_lights", + "layer2": "kubejs:item/miner_kits/kit_anim" + } + } \ No newline at end of file diff --git a/kubejs/assets/kubejs/models/item/advanced_drill_kit_ii.json b/kubejs/assets/kubejs/models/item/advanced_drill_kit_ii.json new file mode 100644 index 000000000..33372c2cb --- /dev/null +++ b/kubejs/assets/kubejs/models/item/advanced_drill_kit_ii.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "kubejs:item/miner_kits/advanced_ii_drill", + "layer1": "kubejs:item/miner_kits/advanced_ii_drill_lights", + "layer2": "kubejs:item/miner_kits/kit_anim" + } + } \ No newline at end of file diff --git a/kubejs/assets/kubejs/models/item/basic_drill_kit.json b/kubejs/assets/kubejs/models/item/basic_drill_kit.json new file mode 100644 index 000000000..614dfc6ba --- /dev/null +++ b/kubejs/assets/kubejs/models/item/basic_drill_kit.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "kubejs:item/miner_kits/basic_drill", + "layer1": "kubejs:item/miner_kits/basic_drill_lights", + "layer2": "kubejs:item/miner_kits/kit_anim" + } + } \ No newline at end of file diff --git a/kubejs/assets/kubejs/models/item/blasting_kit.json b/kubejs/assets/kubejs/models/item/blasting_kit.json new file mode 100644 index 000000000..da1d27326 --- /dev/null +++ b/kubejs/assets/kubejs/models/item/blasting_kit.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "kubejs:item/miner_kits/blasting", + "layer1": "kubejs:item/miner_kits/blasting_lights", + "layer2": "kubejs:item/miner_kits/kit_anim" + } + } \ No newline at end of file diff --git a/kubejs/assets/kubejs/models/item/microversal_alchemy_kit.json b/kubejs/assets/kubejs/models/item/microversal_alchemy_kit.json new file mode 100644 index 000000000..36a37f926 --- /dev/null +++ b/kubejs/assets/kubejs/models/item/microversal_alchemy_kit.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "kubejs:item/miner_kits/microversal_alchemy", + "layer1": "kubejs:item/miner_kits/microversal_alchemy_lights", + "layer2": "kubejs:item/miner_kits/kit_anim" + } + } \ No newline at end of file diff --git a/kubejs/assets/kubejs/textures/item/microverse/microminer_t2half.png b/kubejs/assets/kubejs/textures/item/microverse/microminer_t2half.png new file mode 100644 index 000000000..efdc613c7 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/microverse/microminer_t2half.png differ diff --git a/kubejs/assets/kubejs/textures/item/microverse/microminer_t3.png b/kubejs/assets/kubejs/textures/item/microverse/microminer_t3.png index d14cb445c..fff2ca725 100644 Binary files a/kubejs/assets/kubejs/textures/item/microverse/microminer_t3.png and b/kubejs/assets/kubejs/textures/item/microverse/microminer_t3.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill.png b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill.png new file mode 100644 index 000000000..18fdaaedb Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill_lights.png b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill_lights.png new file mode 100644 index 000000000..0a99e7abd Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill_lights.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill_lights.png.mcmeta b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill_lights.png.mcmeta new file mode 100644 index 000000000..4896734d9 --- /dev/null +++ b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_drill_lights.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": false, + "frametime": 8 + } +} diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill.png b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill.png new file mode 100644 index 000000000..7d7c879d0 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill_lights.png b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill_lights.png new file mode 100644 index 000000000..8050a5198 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill_lights.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill_lights.png.mcmeta b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill_lights.png.mcmeta new file mode 100644 index 000000000..4896734d9 --- /dev/null +++ b/kubejs/assets/kubejs/textures/item/miner_kits/advanced_ii_drill_lights.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": false, + "frametime": 8 + } +} diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill.png b/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill.png new file mode 100644 index 000000000..23c84fa56 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill_lights.png b/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill_lights.png new file mode 100644 index 000000000..247f53b0a Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill_lights.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill_lights.png.mcmeta b/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill_lights.png.mcmeta new file mode 100644 index 000000000..4896734d9 --- /dev/null +++ b/kubejs/assets/kubejs/textures/item/miner_kits/basic_drill_lights.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": false, + "frametime": 8 + } +} diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/blasting.png b/kubejs/assets/kubejs/textures/item/miner_kits/blasting.png new file mode 100644 index 000000000..27a28bfb0 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/blasting.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/blasting_lights.png b/kubejs/assets/kubejs/textures/item/miner_kits/blasting_lights.png new file mode 100644 index 000000000..0a99e7abd Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/blasting_lights.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/blasting_lights.png.mcmeta b/kubejs/assets/kubejs/textures/item/miner_kits/blasting_lights.png.mcmeta new file mode 100644 index 000000000..4896734d9 --- /dev/null +++ b/kubejs/assets/kubejs/textures/item/miner_kits/blasting_lights.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": false, + "frametime": 8 + } +} diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/kit_anim.png b/kubejs/assets/kubejs/textures/item/miner_kits/kit_anim.png new file mode 100644 index 000000000..72e480d79 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/kit_anim.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/kit_anim.png.mcmeta b/kubejs/assets/kubejs/textures/item/miner_kits/kit_anim.png.mcmeta new file mode 100644 index 000000000..c09e1cee9 --- /dev/null +++ b/kubejs/assets/kubejs/textures/item/miner_kits/kit_anim.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": true, + "frametime": 8 + } +} diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy.png b/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy.png new file mode 100644 index 000000000..63a351c70 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy_lights.png b/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy_lights.png new file mode 100644 index 000000000..0a99e7abd Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy_lights.png differ diff --git a/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy_lights.png.mcmeta b/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy_lights.png.mcmeta new file mode 100644 index 000000000..4896734d9 --- /dev/null +++ b/kubejs/assets/kubejs/textures/item/miner_kits/microversal_alchemy_lights.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": false, + "frametime": 8 + } +} diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 1c54ced8d..9de11c2c6 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -13,6 +13,7 @@ ItemEvents.tooltip(tooltip => { microminer_tooltip(i) } + tooltip.add('kubejs:microminer_t2half', Text.translatable('item.kubejs.microminer_t2half.desc')) tooltip.add('kubejs:microminer_t4half', Text.translatable('item.kubejs.microminer_t4half.desc')) tooltip.add('kubejs:microminer_t8half', Text.translatable('item.kubejs.microminer_t8half.desc')) @@ -22,6 +23,10 @@ ItemEvents.tooltip(tooltip => { text.add(3, Text.translatable('item.kubejs.stabilized_microminer.tooltip.3')) }) + tooltip.addAdvanced(['/kubejs:damaged_microminer/'], (item, adv, text) => { + text.add(1, Text.translatable('item.kubejs.damaged_microminer.tooltip')) + }) + tooltip.addAdvanced(['/kubejs:pristine_matter/'], (item, adv, text) => { text.add(1, Text.translatable('item.kubejs.pristine_matter.desc')) }) diff --git a/kubejs/server_scripts/_hardmode/actualization_chamber.js b/kubejs/server_scripts/_hardmode/actualization_chamber.js deleted file mode 100644 index 5a9554ddc..000000000 --- a/kubejs/server_scripts/_hardmode/actualization_chamber.js +++ /dev/null @@ -1,485 +0,0 @@ -/** - * Actualization Chamber multiblock - */ - -ServerEvents.recipes(event => { - if (isHardMode) { - // //// Machine Recipe ////// - event.recipes.extendedcrafting.shaped_table('gtceu:actualization_chamber', [ - 'PPPPP', - 'PEBSP', - 'PCFCP', - 'PSBEP', - 'PPPPP' - ], { - P: 'gtceu:americium_plate', - E: 'gtceu:uv_emitter', - B: 'gtceu:fusion_coil', - S: 'gtceu:uv_sensor', - F: 'gtceu:uv_field_generator', - C: '#gtceu:circuits/uv' - }) - // //// Actualization recipes ///// - event.recipes.gtceu.actualization_chamber('pristine_t1_one') - .itemInputs('kubejs:pristine_matter_t1') - .circuit(1) - .itemOutputs( - '64x kubejs:dense_iron_ore', - '64x gtceu:cassiterite_ore', - '64x gtceu:redstone_ore', - '64x gtceu:nickel_ore', - '64x gtceu:ilmenite_ore', - '64x gtceu:ilmenite_ore', - '64x gtceu:ilmenite_ore', - '64x gtceu:uraninite_ore', - '64x gtceu:galena_ore', - '64x gtceu:galena_ore', - '64x gtceu:molybdenum_ore', - '64x ad_astra:moon_sand', - '64x gtceu:dilithium_ore', - '64x gtceu:salt_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t1_two') - .itemInputs('kubejs:pristine_matter_t1') - .circuit(2) - .itemOutputs( - '64x gtceu:diamond_ore', - '64x gtceu:apatite_ore', - '64x gtceu:tricalcium_phosphate_ore', - '64x gtceu:quartzite_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t1_three') - .itemInputs('kubejs:pristine_matter_t1') - .circuit(3) - .itemOutputs('kubejs:stellar_creation_data') - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t2_one') - .itemInputs('kubejs:pristine_matter_t2') - .circuit(1) - .itemOutputs( - '64x gtceu:endstone_bauxite_ore', - '64x gtceu:endstone_pyrochlore_ore', - '64x gtceu:endstone_pyrochlore_ore', - '64x gtceu:endstone_tantalite_ore', // replace with dense copper? idk wait for response - '64x gtceu:endstone_copper_ore', - '64x gtceu:endstone_copper_ore', - '64x gtceu:endstone_copper_ore', - '64x gtceu:endstone_sphalerite_ore', - '64x gtceu:endstone_cassiterite_ore', - '64x gtceu:endstone_scheelite_ore', - '64x gtceu:endstone_scheelite_ore', - '64x gtceu:endstone_tungstate_ore', - '64x kubejs:radium_salt' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t2_two') - .itemInputs('kubejs:pristine_matter_t2') - .circuit(2) - .itemOutputs('4x kubejs:stellar_creation_data') - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t3_one') - .itemInputs('kubejs:pristine_matter_t3') - .circuit(1) - .itemOutputs( - '64x gtceu:diamond_ore', - '32x gtceu:diamond_ore', - '64x gtceu:ruby_ore', - '48x gtceu:topaz_ore', - '32x gtceu:emerald_ore', - '64x gtceu:netherrack_sapphire_ore', - '64x gtceu:netherrack_gold_ore', - '64x gtceu:netherrack_silver_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t3_two') - .itemInputs('kubejs:pristine_matter_t3') - .circuit(2) - .itemOutputs( - '64x gtceu:netherrack_scheelite_ore', - '64x gtceu:netherrack_scheelite_ore', - '64x gtceu:netherrack_scheelite_ore', - '64x gtceu:netherrack_scheelite_ore', // need to add an extra stack to - '64x gtceu:netherrack_tungstate_ore', - '64x gtceu:netherrack_tungstate_ore', - '64x gtceu:netherrack_tungstate_ore', - '64x gtceu:netherrack_tungstate_ore', - '64x gtceu:netherrack_ilmenite_ore', - '64x gtceu:netherrack_vanadium_magnetite_ore', - '64x gtceu:netherrack_tetrahedrite_ore', - '64x gtceu:netherrack_cassiterite_ore', - '64x gtceu:netherrack_tin_ore', - '64x gtceu:netherrack_redstone_ore', - '64x gtceu:netherrack_certus_quartz_ore', - '64x gtceu:netherrack_almandine_ore', - '64x gtceu:netherrack_lepidolite_ore', - '64x gtceu:netherrack_cobaltite_ore', - '16x gtceu:netherrack_laurite_ore', - '8x gtceu:netherrack_cuprorhodsite_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t3_three') - .itemInputs('kubejs:pristine_matter_t3') - .circuit(3) - .itemOutputs( - '64x kubejs:dense_magma_block', - '64x kubejs:dense_magma_block' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4_one') - .itemInputs('kubejs:pristine_matter_t4') - .circuit(1) - .itemOutputs( - '64x kubejs:dense_oilsands_ore', - '64x kubejs:dense_oilsands_ore', - 'kubejs:compressed_infinity_dust_block' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4_two') - .itemInputs('kubejs:pristine_matter_t4') - .circuit(2) - .itemOutputs( - '64x kubejs:dense_lapis_ore', - '64x kubejs:dense_diamond_ore', - '64x kubejs:dense_diamond_ore', - '64x kubejs:dense_coal_ore', - '32x kubejs:dense_emerald_ore', - '16x kubejs:dense_redstone_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4_three') - .itemInputs('kubejs:pristine_matter_t4') - .circuit(3) - .itemOutputs( - '64x gtceu:netherrack_pentlandite_ore', - '64x gtceu:netherrack_pentlandite_ore', - '64x gtceu:netherrack_chalcocite_ore', - '64x gtceu:netherrack_chalcocite_ore', - '64x gtceu:netherrack_chalcocite_ore', - '64x gtceu:netherrack_cooperite_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4half_one') - .itemInputs('kubejs:pristine_matter_t4half') - .circuit(1) - .itemOutputs( - '64x minecraft:bone', - '64x minecraft:bone', - '64x minecraft:bone', - '64x minecraft:bone', - '64x minecraft:rotten_flesh', - '64x minecraft:rotten_flesh', - '64x minecraft:rotten_flesh', - '64x minecraft:rotten_flesh', - '64x minecraft:gunpowder', - '64x minecraft:gunpowder', - '64x minecraft:slime_block', - '64x kubejs:guardian_scale' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4half_two') - .itemInputs('kubejs:pristine_matter_t4half') - .circuit(2) - .itemOutputs( - '50x minecraft:blaze_rod', - '50x minecraft:blaze_rod', - '50x thermal:blizz_rod', - '50x thermal:blizz_rod', - '50x thermal:blitz_rod', - '50x thermal:blitz_rod', - '50x thermal:basalz_rod', - '50x thermal:basalz_rod', - '64x minecraft:ghast_tear', - '64x kubejs:wither_bone', - '64x kubejs:wither_bone', - '64x kubejs:wither_bone', // drops of evil aren't in the pack - '64x minecraft:magma_cream', - '64x minecraft:magma_cream' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4half_three') - .itemInputs('kubejs:pristine_matter_t4half') - .circuit(3) - .itemOutputs( - '48x enderio:enderman_head', - '64x gtceu:ender_pearl_block', - '64x minecraft:shulker_shell', - '64x minecraft:shulker_shell' // shulker pearls aren't in the pack - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4half_four') - .itemInputs('kubejs:pristine_matter_t4half') - .circuit(4) - .itemOutputs( - '64x kubejs:dragon_lair_data', - '64x kubejs:dragon_lair_data', - '64x kubejs:dragon_lair_data', - '64x kubejs:dragon_lair_data', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath', - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4half_five') - .itemInputs('kubejs:pristine_matter_t4half') - .circuit(5) - .itemOutputs( - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4half_six') - .itemInputs('kubejs:pristine_matter_t4half') - .circuit(6) - .itemOutputs( - '64x kubejs:wither_realm_data', - '64x kubejs:wither_realm_data', - '48x gtceu:nether_star_block' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t4half_seven') - .itemInputs('kubejs:pristine_matter_t4half') - .circuit(7) - .itemOutputs( - '64x kubejs:deep_dark_data', - '64x kubejs:deep_dark_data', - '32x kubejs:warden_horn' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t5_one') - .itemInputs('kubejs:pristine_matter_t5') - .circuit(1) - .itemOutputs( - '64x gtceu:uraninite_ore', - '64x gtceu:palladium_ore', - '64x gtceu:realgar_ore', - '64x gtceu:bastnasite_ore', - '64x gtceu:sphalerite_ore', - '64x gtceu:monazite_ore', - '64x gtceu:monazite_ore', - '64x gtceu:ender_pearl_block', - '6x gtceu:osmiridiumyes_ore', - '6x gtceu:iridosmineyes_ore', - '64x gtceu:boron_dust', - '64x gtceu:molybdenite_ore', - '64x gtceu:beryllium_ore', - '64x gtceu:beryllium_ore', - '64x gtceu:fluorite_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t5_two') - .itemInputs('kubejs:pristine_matter_t5') - .circuit(2) - .itemOutputs( - '64x gtceu:pollucite_ore', // why is this replaced with cooperite? shouldn't be end either - '64x gtceu:pollucite_ore', - '64x gtceu:snowchestite_ore', // why is THIS replaced with naq? - '64x gtceu:snowchestite_ore', - '64x gtceu:snowchestite_ore', - '64x gtceu:snowchestite_ore', - '24x gtceu:kaemanite_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t6_one') - .itemInputs('kubejs:pristine_matter_t6') - .circuit(1) - .itemOutputs( - '64x gtceu:endstone_uraninite_ore', - '64x gtceu:endstone_uraninite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '24x gtceu:iridosmineyes_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t6_two') - .itemInputs('kubejs:pristine_matter_t6') - .circuit(2) - .itemOutputs( - '32x kubejs:stabilized_einsteinium' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t6_three') - .itemInputs('kubejs:pristine_matter_t6') - .circuit(3) - .itemOutputs( - '32x minecraft:dragon_egg', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x minecraft:dragon_breath' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t6_five') - .itemInputs('kubejs:pristine_matter_t6') - .circuit(5) - .itemOutputs( - 'minecraft:sculk_catalyst' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t7_one') - .itemInputs('kubejs:pristine_matter_t7') - .circuit(1) - .itemOutputs( - '32x kubejs:warden_heart', - '64x minecraft:sculk_catalyst', - '64x minecraft:sculk_catalyst', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x minecraft:gold_block', - '64x minecraft:gold_block', - '64x minecraft:gold_block', - '64x gtceu:silver_block', - '64x gtceu:silver_block', - '64x minecraft:diamond_block', - '64x minecraft:diamond_block', - '64x gtceu:platinum_block', - '16x gtceu:ruthenium_block' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t7_two') - .itemInputs('kubejs:pristine_matter_t7') - .circuit(2) - .itemOutputs( - 'kubejs:lair_of_the_warden_data' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t8_one') - .itemInputs('kubejs:pristine_matter_t8') - .circuit(1) - .itemOutputs( - '4x kubejs:hadal_shard', - '64x minecraft:sculk_catalyst', - '64x minecraft:sculk_catalyst', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t8_two') - .itemInputs('kubejs:pristine_matter_t8') - .circuit(2) - .itemOutputs( - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x kubejs:ender_dragon_scale' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t8_three') - .itemInputs('kubejs:pristine_matter_t8') - .circuit(3) - .itemOutputs( - '32x gtceu:quantum_star', - '64x gtceu:quantum_eye', - '16x gtceu:neutronium_ingot', - 'gtceu:gravi_star' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.actualization_chamber('pristine_t8half_one') - .itemInputs( - 'kubejs:pristine_matter_t8half' - ) - .itemOutputs( - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore' - ) - .duration(780) - .EUt(30720) - - event.recipes.gtceu.advanced_microverse_iii('pristine_t8half_two') - .itemInputs( - 'kubejs:pristine_matter_t8half' - ) - .itemOutputs( - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore' - ) - .duration(780) - .EUt(30720) - } -}) diff --git a/kubejs/server_scripts/_hardmode/hardmode_missions.js b/kubejs/server_scripts/_hardmode/hardmode_missions.js deleted file mode 100644 index bafd651d4..000000000 --- a/kubejs/server_scripts/_hardmode/hardmode_missions.js +++ /dev/null @@ -1,315 +0,0 @@ -/** - * Hardmode-only Microminers and MM missions - * Also stabilized microminers - */ - -ServerEvents.recipes(event => { - - // Stabilized miners recipe - function stabilized_miners(tier) { - event.recipes.gtceu.assembly_line(`stable_t_${tier}`) - .itemInputs(`kubejs:microminer_t${tier}`, 'kubejs:heart_of_a_universe', '4x kubejs:hadal_shard', '24x gtceu:uv_field_generator', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate') - .inputFluids('gtceu:rocket_fuel 40800', 'gtceu:omnium 576', 'gtceu:neutronium 576') - .itemOutputs(`kubejs:stabilized_microminer_t${tier}`) - .duration(125) - .EUt(1966080) - } - - // Manual fix for half tier miners - if (isHardMode) { - event.recipes.gtceu.assembly_line("stable_t4half") - .itemInputs("kubejs:microminer_t4half", 'kubejs:heart_of_a_universe', '4x kubejs:hadal_shard', '24x gtceu:uv_field_generator', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate') - .inputFluids('gtceu:rocket_fuel 40800', 'gtceu:omnium 576', 'gtceu:neutronium 576') - .itemOutputs("kubejs:stabilized_microminer_t4half") - .duration(125) - .EUt(1966080) - - event.recipes.gtceu.assembly_line("stable_t8half") - .itemInputs("kubejs:microminer_t8half", 'kubejs:heart_of_a_universe', '4x kubejs:hadal_shard', '24x gtceu:uv_field_generator', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate') - .inputFluids('gtceu:rocket_fuel 40800', 'gtceu:omnium 576', 'gtceu:neutronium 576') - .itemOutputs("kubejs:stabilized_microminer_t8half") - .duration(125) - .EUt(1966080) - } - - // Pristine matter recipe - function pristine_matter(tier, microtier) { - if (microtier == 1) { - event.recipes.gtceu.basic_microverse(`pristine_${tier}`) - .notConsumable(`kubejs:stabilized_microminer_t${tier}`) - .itemOutputs(`kubejs:pristine_matter_t${tier}`) - .duration(470.4 * 20) - .EUt(30720) - } - if (microtier == 2) { - event.recipes.gtceu.advanced_microverse(`pristine_${tier}`) - .notConsumable(`kubejs:stabilized_microminer_t${tier}`) - .itemOutputs(`kubejs:pristine_matter_t${tier}`) - .duration(470.4 * 20) - .EUt(30720) - } - if (microtier == 3) { - event.recipes.gtceu.advanced_microverse_ii(`pristine_${tier}`) - .notConsumable(`kubejs:stabilized_microminer_t${tier}`) - .itemOutputs(`kubejs:pristine_matter_t${tier}`) - .duration(470.4 * 20) - .EUt(30720) - } - } - - if (isHardMode) { - // T4.5 Microminer - event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t4half', [ - ' LGL ', - 'F ltl F', - 'AllcllA', - ' llfll ', - 'ltctctl', - 'ldlfldl', - ' TTT ' - ], { - L: 'kubejs:reinforced_mining_laser', - G: 'kubejs:basic_micro_miner_guidance_system', - F: 'redstone_arsenal:flux_sword', - l: 'gtceu:double_lumium_plate', - t: 'gtceu:double_tungsten_carbide_plate', - A: 'gtceu:hv_robot_arm', - c: 'kubejs:signalum_micro_miner_core', - f: 'gtceu:hv_field_generator', - d: 'thermal:dynamo_compression', - T: 'kubejs:energetic_thruster' - }).id('kubejs:microminer/t4half') - - // T8.5 Microminer - event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t8half', [ - ' AAA ', - ' ANNNA ', - ' GNTTTNG ', - ' NNTFTNN ', - ' NTECETN ', - 'NNTSFSTNN', - 'NTTQWQTTN', - 'NTTCWCTTN', - ' XXX XXX ' - ], { - A: 'kubejs:supercharged_laser_array', - N: 'gtceu:double_naquadah_alloy_plate', - G: 'kubejs:advanced_micro_miner_guidance_system', - T: 'gtceu:double_trinium_plate', - F: 'gtceu:zpm_field_generator', - E: 'gtceu:zpm_emitter', - S: 'gtceu:naquadah_alloy_frame', - Q: 'gtceu:luv_quantum_chest', - W: 'kubejs:warp_core', - C: 'kubejs:warp_controller', - X: 'kubejs:warp_engine' - }).id('kubejs:microminer/t8half') - - for (let i = 1; i <= 8; i++) { - stabilized_miners(i) - } - for (let i = 1; i <= 3; i++) { - pristine_matter(i, 1) - } - for (let i = 4; i <= 5; i++) { - pristine_matter(i, 2) - } - for (let i = 6; i <= 8; i++) { - pristine_matter(i, 3) - } - pristine_matter('4half', 2) - pristine_matter('8half', 3) - - // Tier 4.5 missions - event.recipes.gtceu.advanced_microverse_ii('t4half_one') - .itemInputs( - 'kubejs:microminer_t4half', - '8x kubejs:quantum_flux', - '64x kubejs:aerotheum_dust', - 'minecraft:oak_sapling' - ) - .itemOutputs( - '64x minecraft:bone', - '64x minecraft:bone', - '64x minecraft:bone', - '64x minecraft:bone', - '64x minecraft:rotten_flesh', - '64x minecraft:rotten_flesh', - '64x minecraft:rotten_flesh', - '64x minecraft:rotten_flesh', - '64x minecraft:gunpowder', - '64x minecraft:gunpowder', - '64x minecraft:slime_block', - '64x kubejs:guardian_scale' - ) - .duration(40 * 20) - .EUt(3750) - - event.recipes.gtceu.advanced_microverse_ii('t4half_two') - .itemInputs( - 'kubejs:microminer_t4half', - '8x kubejs:quantum_flux', - '64x kubejs:aerotheum_dust', - 'minecraft:netherrack' - ) - .itemOutputs( - '50x minecraft:blaze_rod', - '50x minecraft:blaze_rod', - '50x thermal:blizz_rod', - '50x thermal:blizz_rod', - '50x thermal:blitz_rod', - '50x thermal:blitz_rod', - '50x thermal:basalz_rod', - '50x thermal:basalz_rod', - '64x minecraft:ghast_tear', - '64x kubejs:wither_bone', - '64x kubejs:wither_bone', - '64x kubejs:wither_bone', // drops of evil aren't in the pack - '64x minecraft:magma_cream', - '64x minecraft:magma_cream' - ) - .duration(50 * 20) - .EUt(3750) - - event.recipes.gtceu.advanced_microverse_ii('t4half_three') - .itemInputs( - 'kubejs:microminer_t4half', - '8x kubejs:quantum_flux', - '64x kubejs:aerotheum_dust', - 'minecraft:end_stone' - ) - .itemOutputs( - '48x enderio:enderman_head', - '64x gtceu:ender_pearl_block', - '64x minecraft:shulker_shell', - '64x minecraft:shulker_shell' // shulker pearls aren't in the pack - ) - .duration(60 * 20) - .EUt(3750) - - event.recipes.gtceu.advanced_microverse_ii('t4half_four') - .itemInputs( - 'kubejs:microminer_t4half', - '8x kubejs:quantum_flux', - '64x kubejs:aerotheum_dust', - '16x minecraft:ender_eye' - ) - .itemOutputs( - '64x kubejs:dragon_lair_data', - '64x kubejs:dragon_lair_data', - '64x kubejs:dragon_lair_data', - '64x kubejs:dragon_lair_data', - '64x minecraft:dragon_breath', - '64x kubejs:ender_dragon_scale', - ) - .duration(100 * 20) - .EUt(30720) - - event.recipes.gtceu.advanced_microverse_ii('t4half_five') - .itemInputs( - 'kubejs:microminer_t4half', - '16x kubejs:quantum_flux', - '64x kubejs:aerotheum_dust', - '8x kubejs:dragon_lair_data' - ) - .itemOutputs( - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath' - ) - .duration(100 * 20) - .EUt(30720) - - event.recipes.gtceu.advanced_microverse_ii('t4half_six') - .itemInputs( - 'kubejs:microminer_t4half', - '8x kubejs:quantum_flux', - '64x kubejs:aerotheum_dust', - '64x kubejs:wither_bone' - ) - .itemOutputs( - '64x kubejs:wither_realm_data', - '64x kubejs:wither_realm_data', - '48x gtceu:nether_star_block' - ) - .duration(100 * 20) - .EUt(30720) - - event.recipes.gtceu.advanced_microverse_ii('t4half_seven') - .itemInputs( - 'kubejs:microminer_t4half', - '8x kubejs:quantum_flux', - '64x kubejs:aerotheum_dust', - '16x minecraft:sculk_catalyst' - ) - .itemOutputs( - '64x kubejs:deep_dark_data', - '64x kubejs:deep_dark_data', - '32x kubejs:warden_horn' - ) - .duration(100 * 20) - .EUt(30720) - - // Initial Sculk Catalyst Mission - - event.recipes.gtceu.advanced_microverse_ii('t6_five_hm') - .itemInputs( - 'kubejs:microminer_t6', - '16x kubejs:quantum_flux', - '16x kubejs:stabilized_curium', - '8x gtceu:manyullyn_ingot', - '4x gtceu:void_empowered_block' - ) - .itemOutputs( - 'minecraft:sculk_catalyst' - ) - .duration(100 * 20) - .EUt(30720) - - // Tier 8.5 missions - event.recipes.gtceu.advanced_microverse_iii('t8half_one') - .itemInputs( - 'kubejs:microminer_t8half', - '8x gtceu:neutron_reflector', - '24x gtceu:naquadah_block', - 'kubejs:warden_horn' - ) - .itemOutputs( - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore', - '64x gtceu:endstone_darmstadtite_ore' - ) - .duration(450 * 20) - .EUt(250000) - - event.recipes.gtceu.advanced_microverse_iii('t8half_two') - .itemInputs( - 'kubejs:microminer_t8half', - '8x kubejs:gem_sensor', - '24x gtceu:naquadah_block', - 'kubejs:warden_horn' - ) - .itemOutputs( - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore', - '64x gtceu:endstone_dulysite_ore' - ) - .duration(450 * 20) - .EUt(250000) - } -}) diff --git a/kubejs/server_scripts/gregtech/dense_ores.js b/kubejs/server_scripts/gregtech/dense_ores.js index 67b5de22f..f99a0fbb4 100644 --- a/kubejs/server_scripts/gregtech/dense_ores.js +++ b/kubejs/server_scripts/gregtech/dense_ores.js @@ -3,29 +3,25 @@ */ const ores = [ - "redstone_ore", - 'diamond_ore', - 'emerald_ore', - 'gold_ore', - 'lapis_ore', - 'iron_ore', - 'coal_ore', - 'nether_quartz_ore', - 'copper_ore' + ['redstone', 16], + ['diamond', 16], + ['emerald', 16], + ['gold', 16], + ['lapis', 16], + ['iron', 16], + ['coal', 16], + ['nether_quartz', 32], + ['copper', 16], ] ServerEvents.recipes(event => { - function unDensify(name) { + ores.forEach(([name, amount]) => { event.recipes.gtceu.chemical_reactor(`kubejs:undensify_${name}`) - .itemInputs(`kubejs:dense_${name}`) - .itemOutputs(`16x gtceu:${name}`) + .itemInputs(`kubejs:dense_${name}_ore`) + .itemOutputs(ChemicalHelper.get("raw", name, amount)) .inputFluids(Fluid.of("gtceu:nitric_acid", 1000)) .duration(200) .EUt(500) - } - - ores.forEach(ore => { - unDensify(ore); }) event.recipes.gtceu.chemical_reactor("kubejs:undensify_oilsands") @@ -42,18 +38,3 @@ ServerEvents.recipes(event => { .duration(200) .EUt(500) }) - -ServerEvents.tags('item', event => { - // dense ore mod is gone, so we tag it - ores.forEach(ore => { - event.add("forge:ores/dense", `forge:ores/dense/${ore}`, `kubejs:dense_${ore}`); - // event.add('forge:dense_ores', `kubejs:dense_${ore}`); - }) -}) - -ServerEvents.tags('block', event => { - // might as well - ores.forEach(ore => { - event.add("forge:ores/dense", `forge:ores/dense/${ore}`, `kubejs:dense_${ore}`); - }) -}) diff --git a/kubejs/server_scripts/gregtech/forming_press.js b/kubejs/server_scripts/gregtech/forming_press.js new file mode 100644 index 000000000..7eafaa716 --- /dev/null +++ b/kubejs/server_scripts/gregtech/forming_press.js @@ -0,0 +1,39 @@ +/** + * Additional forming press recipes. + */ + +ServerEvents.recipes(event => { + const materials = [ + "aluminium", + "iron", + "titanium", + "neutronium", + "duranium", + "bronze", + "diamond", + "invar", + "sterling_silver", + "rose_gold", + "stainless_steel", + "steel", + "ultimet", + "wrought_iron", + "tungsten_carbide", + "damascus_steel", + "tungsten_steel", + "cobalt_brass", + "vanadium_steel", + "naquadah_alloy", + "red_steel", + "blue_steel", + "hsse" + ] + + materials.forEach((materialName) => { + event.recipes.gtceu.forming_press(`${materialName}_drill_head`) + .itemInputs('2x gtceu:double_steel_plate', `4x gtceu:${materialName}_plate`) + .itemOutputs(`gtceu:${materialName}_drill_head`) + .duration(500) + .EUt(GTValues.VA[GTValues.MV]) + }) +}) diff --git a/kubejs/server_scripts/gregtech/microverse_recipes.js b/kubejs/server_scripts/gregtech/microverse_recipes.js deleted file mode 100644 index cfc324e5f..000000000 --- a/kubejs/server_scripts/gregtech/microverse_recipes.js +++ /dev/null @@ -1,698 +0,0 @@ -/** Small Microverse Projector Recipes */ -ServerEvents.recipes(event => { - - event.recipes.gtceu.basic_microverse('kubejs:t_one_first') - .itemInputs('kubejs:microminer_t1', 'kubejs:ultra_dense_hydrogen') - .itemOutputs('kubejs:stellar_creation_data') - .inputFluids(Fluid.of('gtceu:rocket_fuel', 2000)) - .duration(100) - .EUt(500) - - event.recipes.gtceu.basic_microverse('kubejs:t_one_second') - .itemInputs('kubejs:microminer_t1', 'kubejs:quantum_flux', 'kubejs:gem_sensor') - .itemOutputs( - '64x gtceu:diamond_ore', - '64x gtceu:apatite_ore', - '64x gtceu:tricalcium_phosphate_ore', - '64x gtceu:quartzite_ore') - .inputFluids(Fluid.of('gtceu:rocket_fuel', 8000)) - .duration(500) - .EUt(500) - - event.recipes.gtceu.basic_microverse('kubejs:t_one_third') - .itemInputs('kubejs:microminer_t1', 'kubejs:quantum_flux', 'minecraft:chest') - .itemOutputs( - '64x kubejs:dense_iron_ore', - '64x gtceu:cassiterite_ore', - '64x gtceu:redstone_ore', - '64x gtceu:nickel_ore', - '64x gtceu:ilmenite_ore', - '64x gtceu:ilmenite_ore', - '64x gtceu:ilmenite_ore', - '64x gtceu:uraninite_ore', - '64x gtceu:galena_ore', - '64x gtceu:galena_ore', - '64x gtceu:molybdenum_ore', - '64x ad_astra:moon_sand', - '64x gtceu:dilithium_ore', - '64x gtceu:salt_ore') - .inputFluids(Fluid.of('gtceu:rocket_fuel', 8000)) - .duration(500) - .EUt(500) - - event.recipes.gtceu.basic_microverse('kubejs:t_two_first') - .itemInputs('kubejs:microminer_t2', '4x kubejs:ultra_dense_hydrogen') - .itemOutputs('4x kubejs:stellar_creation_data') - .inputFluids(Fluid.of('gtceu:rocket_fuel', 3000)) - .duration(120) - .EUt(1000) - - event.recipes.gtceu.basic_microverse('kubejs:t_two_second') - .itemInputs('kubejs:microminer_t2', '2x kubejs:quantum_flux') - .itemOutputs( - '64x gtceu:endstone_bauxite_ore', - '64x gtceu:endstone_pyrochlore_ore', - '64x gtceu:endstone_pyrochlore_ore', - '64x gtceu:endstone_copper_ore', - '64x gtceu:endstone_sphalerite_ore', - '64x gtceu:endstone_cassiterite_ore', - '64x gtceu:endstone_scheelite_ore', - '64x gtceu:endstone_scheelite_ore', - '64x gtceu:endstone_scheelite_ore', - '64x gtceu:endstone_tungstate_ore', - '64x gtceu:endstone_tungstate_ore', - '64x gtceu:endstone_tungstate_ore', - '64x kubejs:radium_salt', - '64x kubejs:radium_salt' - ) - .inputFluids(Fluid.of('gtceu:rocket_fuel', 12000)) - .duration(600) - .EUt(1000) - - event.recipes.gtceu.basic_microverse('kubejs:t_two_third') - .itemInputs('kubejs:microminer_t2', '4x gtceu:hv_electric_pump', '64x kubejs:cryotheum_dust') - .itemOutputs( - '10x kubejs:solidified_neon', - '10x kubejs:solidified_krypton', - '10x kubejs:solidified_xenon' - ) - .inputFluids(Fluid.of('gtceu:rocket_fuel', 12000)) - .duration(700) - .EUt(2000) - - - event.recipes.gtceu.basic_microverse('kubejs:t_three_one') - .itemInputs('kubejs:microminer_t3', '4x kubejs:quantum_flux', 'gtceu:mv_super_chest') - .itemOutputs( - '64x gtceu:netherrack_scheelite_ore', - '64x gtceu:netherrack_scheelite_ore', - '64x gtceu:netherrack_scheelite_ore', - '64x gtceu:netherrack_scheelite_ore', - '64x gtceu:netherrack_tungstate_ore', - '64x gtceu:netherrack_tungstate_ore', - '64x gtceu:netherrack_tungstate_ore', - '64x gtceu:netherrack_tungstate_ore', - '64x gtceu:netherrack_ilmenite_ore', - '64x gtceu:netherrack_vanadium_magnetite_ore', - '64x gtceu:netherrack_tetrahedrite_ore', - '64x gtceu:netherrack_cassiterite_ore', - '64x gtceu:netherrack_tin_ore', - '64x gtceu:netherrack_redstone_ore', - '64x gtceu:netherrack_certus_quartz_ore', - '64x gtceu:netherrack_almandine_ore', - '64x gtceu:netherrack_lepidolite_ore', - '64x gtceu:netherrack_cobaltite_ore', - '16x gtceu:netherrack_laurite_ore', - '8x gtceu:netherrack_cuprorhodsite_ore', - ) - .inputFluids(Fluid.of('gtceu:rocket_fuel', 20000)) - .duration(700) - .EUt(2000) - - event.recipes.gtceu.basic_microverse('kubejs:t_three_second') - .itemInputs('kubejs:microminer_t3', '4x kubejs:quantum_flux', 'kubejs:gem_sensor') - .itemOutputs( - '64x gtceu:diamond_ore', - '32x gtceu:diamond_ore', - '64x gtceu:ruby_ore', - '48x gtceu:topaz_ore', - '32x gtceu:emerald_ore', - '64x gtceu:netherrack_sapphire_ore', - '64x gtceu:netherrack_gold_ore', - '64x gtceu:netherrack_silver_ore' - ) - .inputFluids(Fluid.of('gtceu:rocket_fuel', 20000)) - .duration(700) - .EUt(2000) - - event.recipes.gtceu.basic_microverse('t_three_third') - .itemInputs( - 'kubejs:microminer_t3', - '4x kubejs:quantum_flux', - 'gtceu:hv_super_chest' - ) - .inputFluids(Fluid.of('gtceu:rocket_fuel', 24000)) - .itemOutputs( - '64x gtceu:netherrack_salt_ore', - '64x gtceu:netherrack_salt_ore', - '64x gtceu:netherrack_salt_ore', - '64x gtceu:netherrack_salt_ore', - '64x gtceu:netherrack_barite_ore', - '64x gtceu:netherrack_barite_ore', - '64x gtceu:netherrack_apatite_ore', - '64x gtceu:netherrack_apatite_ore', - '64x gtceu:netherrack_neodymium_ore', - '64x gtceu:netherrack_chromite_ore', - '64x gtceu:netherrack_chromite_ore', - '64x gtceu:netherrack_chromite_ore', - '64x gtceu:netherrack_pyrope_ore', - '64x gtceu:netherrack_pyrope_ore' - ) - .duration(800) - .EUt(2000) -}) - -// Advanced Microverse Projector Recipes -ServerEvents.recipes(event => { - - // Post-Tank - event.recipes.gtceu.advanced_microverse('kubejs:t_three_third') - .itemInputs('kubejs:microminer_t3', '16x kubejs:quantum_flux', '32x kubejs:wither_realm_data') - .itemOutputs( - '16x minecraft:ancient_debris', - '64x kubejs:dense_nether_quartz_ore' - ) - .duration(600) - .EUt(7500) - - event.recipes.gtceu.advanced_microverse('kubejs:t_four_first') - .itemInputs('kubejs:microminer_t4', '8x kubejs:quantum_flux', '4x kubejs:wither_realm_data', '64x kubejs:petrotheum_dust') - .itemOutputs( - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:platinum_group_sludge_dust', - '64x gtceu:rock_salt_dust', - '64x gtceu:rock_salt_dust' - ) - .duration(800) - .EUt(3750) - - event.recipes.gtceu.advanced_microverse('kubejs:t_four_second') - .itemInputs('kubejs:microminer_t4', '8x kubejs:quantum_flux', 'kubejs:gem_sensor', '64x kubejs:petrotheum_dust') - .itemOutputs( - '64x kubejs:dense_lapis_ore', - '64x kubejs:dense_diamond_ore', - '64x kubejs:dense_diamond_ore', - '64x kubejs:dense_coal_ore', - '32x kubejs:dense_emerald_ore', - '32x kubejs:dense_redstone_ore' - ) - .duration(800) - .EUt(3750) - - event.recipes.gtceu.advanced_microverse('kubejs:t_four_third') - .itemInputs('kubejs:microminer_t4', '8x kubejs:quantum_flux', 'gtceu:advanced_power_thruster', '64x kubejs:petrotheum_dust') - .itemOutputs( - '64x kubejs:dense_oilsands_ore', - '64x kubejs:dense_oilsands_ore', - '32x kubejs:compressed_infinity_dust_block' - ) - .duration(800) - .EUt(3750) - - event.recipes.gtceu.advanced_microverse('kubejs:t_four_forth') - .itemInputs('kubejs:microminer_t4', '4x kubejs:quantum_flux', '64x kubejs:solidified_chlorine', '64x kubejs:petrotheum_dust') - .itemOutputs( - '64x kubejs:solidified_bromine' - ) - .duration(600) - .EUt(2000) - - if (isNormalMode) { - event.recipes.gtceu.advanced_microverse('kubejs:t_five_first') - .itemInputs('kubejs:microminer_t5', '16x kubejs:quantum_flux', '32x kubejs:stabilized_plutonium') - .itemOutputs( - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:endstone_cooperite_ore', - '64x gtceu:naquadah_ore', - '64x gtceu:naquadah_ore', - '64x gtceu:naquadah_ore', - '48x gtceu:kaemanite_ore' - ) - .duration(1000) - .EUt(7500) - } else { - event.recipes.gtceu.advanced_microverse('kubejs:t_five_first') - .itemInputs('kubejs:microminer_t5', '16x kubejs:quantum_flux', '32x kubejs:stabilized_plutonium') - .itemOutputs( - '64x gtceu:pollucite_ore', - '64x gtceu:pollucite_ore', - '64x gtceu:snowchestite_ore', - '64x gtceu:snowchestite_ore', - '64x gtceu:snowchestite_ore', - '64x gtceu:snowchestite_ore', - '48x gtceu:kaemanite_ore' - ) - .duration(1000) - .EUt(7500) - } - - event.recipes.gtceu.advanced_microverse('kubejs:t_five_second') - .itemInputs('kubejs:microminer_t5', '16x kubejs:quantum_flux', '32x kubejs:stabilized_uranium') - .itemOutputs( - '64x gtceu:uraninite_ore', - '64x gtceu:palladium_ore', - '64x gtceu:realgar_ore', - '64x gtceu:bastnasite_ore', - '64x gtceu:sphalerite_ore', - '64x gtceu:monazite_ore', - '64x gtceu:ender_pearl_block', - '16x gtceu:osmiridiumyes_ore', - '64x gtceu:boron_dust', - '64x gtceu:molybdenite_ore', - '64x gtceu:beryllium_ore' - ) - .duration(1000) - .EUt(7500) - - event.recipes.gtceu.advanced_microverse('kubejs:t_six_first') - .itemInputs('kubejs:microminer_t6', '16x kubejs:quantum_flux', '32x kubejs:stabilized_uranium', '16x kubejs:wither_realm_data') - .itemOutputs( - '64x gtceu:uraninite_ore', - '64x gtceu:uraninite_ore', - '64x gtceu:uraninite_ore', - '64x gtceu:uraninite_ore', - '64x gtceu:osmiridiumyes_ore', - '64x gtceu:osmiridiumyes_ore', - '64x gtceu:osmiridiumyes_ore', - '64x gtceu:iridosmineyes_ore', - '64x gtceu:iridosmineyes_ore' - ) - .duration(1250) - .EUt(18750) - - event.recipes.gtceu.advanced_microverse('kubejs:t_six_second') - .itemInputs('kubejs:microminer_t6', '16x kubejs:quantum_flux', '32x kubejs:stabilized_plutonium', '64x kubejs:wither_realm_data') - .itemOutputs('32x kubejs:stabilized_einsteinium') - .duration(1250) - .EUt(18750) - - event.recipes.gtceu.advanced_microverse('kubejs:t_six_third') - .itemInputs('kubejs:microminer_t6', '16x kubejs:quantum_flux', '32x kubejs:stabilized_plutonium', '16x kubejs:dragon_lair_data') - .itemOutputs('64x minecraft:dragon_egg', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x minecraft:dragon_breath' - ) - .duration(1250) - .EUt(18750) -}) - - -// Advanced Microverse II Recipes -ServerEvents.recipes(event => { - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_two_fourth') - .itemInputs( - 'kubejs:microminer_t2', - 'gtceu:advanced_power_thruster', - 'kubejs:gem_sensor', - '64x kubejs:quantum_flux' - ) - .itemOutputs('64x gtceu:endstone_dilithium_ore', - '64x gtceu:endstone_dilithium_ore', - '64x gtceu:endstone_dilithium_ore', - '64x gtceu:endstone_dilithium_ore', - '64x gtceu:endstone_certus_quartz_ore', - '64x gtceu:endstone_nether_quartz_ore', - '64x gtceu:endstone_monazite_ore', - ) - .duration(600) - .EUt(62500) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_five_third') - .itemInputs('kubejs:microminer_t5', - '4x gtceu:uhv_electric_pump', - '16x kubejs:stabilized_americium', - '16x kubejs:quantum_flux', - '8x kubejs:shattered_star_data',) - .itemOutputs('32x kubejs:stabilized_oganesson') - .duration(900) - .EUt(180000) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_seven_first') - .itemInputs( - 'kubejs:microminer_t7', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - 'kubejs:gem_sensor', - '64x kubejs:deep_dark_data', - '64x kubejs:deep_dark_data', - '64x kubejs:deep_dark_data', - '64x kubejs:deep_dark_data' - ) - .itemOutputs('kubejs:lair_of_the_warden_data') - .duration(1500) - .EUt(31250) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_seven_second') - .itemInputs( - 'kubejs:microminer_t7', - '32x kubejs:quantum_flux', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '32x kubejs:deep_dark_data' - ) - .itemOutputs( - '32x kubejs:warden_heart', - '64x minecraft:sculk_catalyst', - '64x minecraft:sculk_catalyst', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x minecraft:gold_block', - '64x minecraft:gold_block', - '64x minecraft:gold_block', - '64x gtceu:silver_block', - '64x gtceu:silver_block', - '64x minecraft:diamond_block', - '64x minecraft:diamond_block', - '64x gtceu:platinum_block', - '16x gtceu:ruthenium_block' - ) - .duration(1500) - .EUt(31250) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_eight_first') - .itemInputs( - 'kubejs:microminer_t8', - '64x kubejs:quantum_flux', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - 'kubejs:lair_of_the_warden_data' - ) - .itemOutputs( - '4x kubejs:hadal_shard', - '64x minecraft:sculk_catalyst', - '64x minecraft:sculk_catalyst', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn' - ) - .duration(1500) - .EUt(62500) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_eight_second') - .itemInputs( - 'kubejs:microminer_t8', - '64x kubejs:quantum_flux', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x kubejs:dragon_lair_data' - ) - .itemOutputs( - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x minecraft:dragon_egg', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x kubejs:ender_dragon_scale', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath', - '64x minecraft:dragon_breath' - ) - .duration(1750) - .EUt(62500) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_eight_third') - .itemInputs( - 'kubejs:microminer_t8', - '64x kubejs:quantum_flux', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x kubejs:wither_realm_data', - '64x kubejs:wither_realm_data' - ) - .itemOutputs( - '32x gtceu:quantum_star', - '64x gtceu:quantum_eye', - '16x gtceu:neutronium_ingot', - 'gtceu:gravi_star' - ) - .duration(2000) - .EUt(62500) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_nine_first') - .itemInputs( - 'kubejs:microminer_t9', - '4x gtceu:cryococcus_block', - '64x kubejs:stellar_creation_data', - '64x kubejs:stellar_creation_data', - '64x kubejs:stellar_creation_data', - '64x kubejs:stellar_creation_data' - ) - .itemOutputs('kubejs:universe_creation_data') - .duration(3000) - .EUt(250000) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_nine_second') - .itemInputs( - 'kubejs:microminer_t9', - '8x gtceu:neutron_reflector', - '4x gtceu:cryococcus_block', - 'kubejs:stellar_creation_data' - ) - .itemOutputs( - '64x gtceu:neutronium_ingot', - '32x gtceu:neutronium_ingot' - ) - .duration(3000) - .EUt(250000) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_nine_third') - .itemInputs( - 'kubejs:microminer_t9', - '64x gtceu:gravi_star', - '64x gtceu:gravi_star', - '16x kubejs:shattered_star_data' - ) - .itemOutputs('32x kubejs:quasi_stable_neutron_star') - .duration(900) - .EUt(194387) - - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_ten_first') - .itemInputs( - 'kubejs:microminer_t10', - '8x gtceu:cryococcus_block', - 'kubejs:universe_creation_data' - ) - .itemOutputs('kubejs:heart_of_a_universe') - .duration(6000) - .EUt(1000000) - - event.recipes.gtceu.advanced_microverse_ii('kubejs:t_ten_second') - .itemInputs( - 'kubejs:microminer_t10', - '16x #forge:storage_blocks/activated_netherite', - '64x kubejs:stellar_creation_data' - ) - .itemOutputs('kubejs:creative_storage_data') - .duration(3000) - .EUt(1000000) -}) - -// Advanced Microverse III -ServerEvents.recipes(event => { - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_six_fourth') - .itemInputs( - 'kubejs:microminer_t6', - '16x kubejs:stabilized_californium', - 'kubejs:gem_sensor', - '16x kubejs:quantum_flux', - ) - .itemOutputs( - '64x gtceu:diamond_ore', - '64x gtceu:diamond_ore', - '64x gtceu:diamond_ore', - '64x gtceu:diamond_ore', - '64x gtceu:diamond_ore', - '64x gtceu:ruby_ore', - '64x gtceu:ruby_ore', - '64x gtceu:ruby_ore', - '64x gtceu:ruby_ore', - '64x gtceu:cinnabar_ore', - '64x gtceu:cinnabar_ore' - ) - .duration(500) - .EUt(62500) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_eight_fourth') - .itemInputs( - 'kubejs:microminer_t8', - '64x kubejs:quantum_flux', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x gtceu:dilithium_gem', - '64x minecraft:sculk_catalyst', - 'kubejs:corrupted_universe_data', - 'kubejs:lair_of_the_warden_data') - .itemOutputs( - '64x kubejs:hadal_shard', - '64x kubejs:warden_heart', - '64x kubejs:warden_horn', - '64x kubejs:warden_horn' - ) - .duration(2000) - .EUt(180000) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_nine_forth') - .itemInputs( - 'kubejs:microminer_t9', - 'kubejs:shattered_universe_data', - '64x kubejs:shattered_star_data' - ) - .itemOutputs('kubejs:corrupted_universe_data') - .duration(1000) - .EUt(194387) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_ten_second') - .itemInputs('kubejs:microminer_t10', '8x kubejs:infinity_catalyst', 'kubejs:corrupted_universe_data') - .itemOutputs('16x kubejs:heart_of_a_universe') - .duration(3000) - .EUt(2000000) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_ten_third') - .itemInputs('kubejs:microminer_t10', '64x kubejs:singularity_containment_unit', 'kubejs:shattered_universe_data',) // could be increased - .itemOutputs('64x kubejs:contained_singularity') - .duration(400) - .EUt(2000000) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_eleven_first') - .itemInputs('kubejs:microminer_t11', 'kubejs:infinity_catalyst', 'kubejs:shattered_universe_data',) - .itemOutputs('64x kubejs:alien_scrap', '64x kubejs:alien_scrap', '64x kubejs:alien_scrap', '64x kubejs:alien_scrap', '64x kubejs:alien_scrap', '64x kubejs:alien_scrap') - .duration(600) - .EUt(2000000) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_four_fourth') - .itemInputs('kubejs:microminer_t4', '64x kubejs:ultra_dense_hydrogen', '64x kubejs:ultra_dense_hydrogen', '64x kubejs:ultra_dense_hydrogen', '64x kubejs:ultra_dense_hydrogen', '1x gtceu:data_module', '1x gtceu:uhv_sensor') - .itemOutputs('64x kubejs:stellar_creation_data', '64x kubejs:stellar_creation_data', '64x kubejs:stellar_creation_data', '64x kubejs:stellar_creation_data') - .duration(600) - .EUt(180000) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_eleven_third') - .itemInputs( - 'kubejs:microminer_t11', - '64x gtceu:gravi_star', - '64x gtceu:gravi_star', - '64x gtceu:gravi_star', - '64x gtceu:gravi_star', - 'kubejs:corrupted_universe_data') - .itemOutputs( - '64x kubejs:quasi_stable_neutron_star', - '64x kubejs:quasi_stable_neutron_star', - '64x kubejs:quasi_stable_neutron_star', - '64x kubejs:quasi_stable_neutron_star', - '64x kubejs:quasi_stable_neutron_star', - '64x kubejs:quasi_stable_neutron_star', - '64x kubejs:quasi_stable_neutron_star', - '64x kubejs:quasi_stable_neutron_star') - .duration(600) - .EUt(1000000) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_eleven_forth') - .itemInputs( - 'kubejs:microminer_t11', - '16x gtceu:holmium_block', - '8x gtceu:network_switch', - '8x gtceu:data_bank', - '16x gtceu:advanced_data_access_hatch', - '16x gtceu:computation_receiver_hatch', - '64x kubejs:stellar_creation_data' - ) - .itemOutputs('kubejs:creative_computation_data') - .duration(3000) - .EUt(8000000) - - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_twelve_first') - .itemInputs('kubejs:microminer_t12', '64x gtceu:infinity_ingot', '4x kubejs:universe_creation_data') - .itemOutputs('64x gtceu:monium_ingot') - .duration(1200) - .EUt(32000000) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_twelve_second') - .itemInputs('kubejs:microminer_t12', '8x kubejs:timeless_monic_heavy_plating', '4x kubejs:universe_creation_data', '2x kubejs:shattered_universe_data', '2x kubejs:corrupted_universe_data') - .itemOutputs('4x kubejs:causality_exempt_monic_heavy_plating') - .duration(800) - .EUt(128000000) - - event.recipes.gtceu.advanced_microverse_iii('kubejs:t_twelve_third') - .itemInputs('kubejs:microminer_t12', '16x gtceu:eltz_block', '4x gtceu:max_battery', '2x solarflux:sp_custom_infinity', 'gtceu:uiv_4096a_laser_source_hatch', '4x kubejs:universe_creation_data', '64x kubejs:stellar_creation_data', '64x kubejs:stellar_creation_data', '64x kubejs:stellar_creation_data', '64x kubejs:stellar_creation_data', '64x kubejs:stellar_creation_data', '64x kubejs:stellar_creation_data') // could be increased - .itemOutputs('kubejs:creative_energy_data') - .duration(1200) - .EUt(32000000) -}) - -// Microversium -ServerEvents.recipes(event => { - - event.recipes.gtceu.electric_blast_furnace("kubejs:microversium_ingot") - .itemInputs('2x gtceu:steel_ingot', "minecraft:redstone", "minecraft:glowstone_dust") - .inputFluids('gtceu:deuterium 100') - .itemOutputs('gtceu:microversium_ingot') - .duration(600) - .blastFurnaceTemp(1700) - .EUt(120) - - event.shaped('2x kubejs:microverse_casing', [ - 'PPP', - 'PWP', - 'PPP' - ], { - P: 'gtceu:microversium_plate', - W: '#forge:tools/wrenches' - }).id('kubejs:shapeless/microverse_casing') - event.recipes.gtceu.assembler("kubejs:microverse_casing") - .itemInputs("4x gtceu:microversium_plate") - .itemOutputs("kubejs:microverse_casing") - .duration(50) - .circuit(6) - .EUt(16) - - let projector = [ - ['basic_microverse_projector', '#gtceu:circuits/hv'], - ['advanced_microverse_projector', '#gtceu:circuits/ev'], - ['advanced_microverse_projector_ii', '#gtceu:circuits/iv'] - ] - - projector.forEach(projector => { - event.shaped(`gtceu:${projector[0]}`, [ - 'CMC', - 'MAM', - 'CMC' - ], { - C: projector[1], - M: 'kubejs:microverse_casing', - A: 'gtceu:computer_monitor_cover' - }).id(`kubejs:${projector[0]}`) - }) - - event.recipes.extendedcrafting.shaped_table('gtceu:hyperbolic_microverse_projector', [ - 'EPFPE', - 'PALAP', - 'FLRLF', - 'PALAP', - 'EPFPE' - ], { - E: 'gtceu:uv_field_generator', - P: 'gtceu:double_microversium_plate', - F: 'gtceu:uhv_emitter', - L: 'kubejs:microverse_casing', - A: '#gtceu:circuits/uev', - R: 'gtceu:computer_monitor_cover' - }).id('kubejs:shaped/hyperbolic_microverse_projector') - -}) diff --git a/kubejs/server_scripts/gregtech/rock_cycle_simulator.js b/kubejs/server_scripts/gregtech/rock_cycle_simulator.js index 2d6441095..1a808f745 100644 --- a/kubejs/server_scripts/gregtech/rock_cycle_simulator.js +++ b/kubejs/server_scripts/gregtech/rock_cycle_simulator.js @@ -45,4 +45,24 @@ ServerEvents.recipes(event => { RockCycle('shale', 'quark:shale', 'quark:shale', 60) RockCycle('myalite', 'quark:myalite', 'quark:myalite', 60) + function DimensionalRockCrushing(namespace, output, EUt, dimension) { + event.recipes.gtceu.rock_breaker(`${output}`) + .notConsumable(`${namespace}:${output}`) + .itemOutputs(`${namespace}:${output}`) + .duration(16) + .EUt(EUt) + .addData("fluidA", "minecraft:lava") + .addData("fluidB", "minecraft:water") + .dimension(dimension) + + event.recipes.gtceu.rock_cycle_simulator(`${output}`) + .notConsumable(`${namespace}:${output}`) + .itemOutputs(`${namespace}:${output}`) + .duration(16) + .EUt(EUt) + .dimension(dimension) + } + + DimensionalRockCrushing("minecraft", "end_stone", GTValues.VA[GTValues.IV], "the_end") + DimensionalRockCrushing("minecraft", "netherrack", GTValues.VA[GTValues.EV], "the_nether") }) diff --git a/kubejs/server_scripts/microverse/advanced_ii_missions.js b/kubejs/server_scripts/microverse/advanced_ii_missions.js new file mode 100644 index 000000000..a6263479c --- /dev/null +++ b/kubejs/server_scripts/microverse/advanced_ii_missions.js @@ -0,0 +1,158 @@ +/** + * Recipe definitions for advanced microverse projector II missions. + */ +ServerEvents.recipes(event => { + // T5MM mission + microverse_mission(event, 5, 3).forEach(builder => { + builder + .itemInputs( + '16x kubejs:quantum_flux', + '16x kubejs:stabilized_americium', + 'kubejs:microversal_alchemy_kit', + '4x gtceu:uhv_electric_pump', + '8x kubejs:shattered_star_data' + ) + .itemOutputs('32x kubejs:stabilized_oganesson') + }) + + // T7MM missions + microverse_mission(event, 7, 3, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '64x gtceu:dilithium_gem', + '3x kubejs:gem_sensor', + '64x kubejs:deep_dark_data', + '64x kubejs:deep_dark_data', + '64x kubejs:deep_dark_data' + ) + .itemOutputs('kubejs:lair_of_the_warden_data') + }) + + microverse_mission(event, 7, 3, 240, undefined, 100).forEach(builder => { + builder + .itemInputs( + '16x kubejs:quantum_flux', + '64x gtceu:dilithium_gem', + 'kubejs:blasting_kit', + '16x kubejs:deep_dark_data' + ) + .itemOutputs( + '64x minecraft:sculk_catalyst', + '64x minecraft:gold_block', + '64x gtceu:silver_block', + '64x minecraft:diamond_block', + '32x gtceu:platinum_block', + '8x gtceu:ruthenium_block' + ) + }) + + microverse_mission(event, 7, 3, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '16x kubejs:quantum_flux', + '64x gtceu:dilithium_gem', + '4x minecraft:sculk_catalyst', + '24x kubejs:deep_dark_data' + ) + .itemOutputs( + '16x kubejs:warden_heart', + '48x minecraft:sculk_catalyst', + '64x kubejs:warden_horn', + '64x kubejs:warden_horn', + '64x kubejs:warden_horn', + ) + }) + + // T8MM missions + microverse_mission(event, 8, 3, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '32x kubejs:quantum_flux', + '64x gtceu:dilithium_gem', + '8x minecraft:sculk_catalyst', + 'kubejs:lair_of_the_warden_data' + ) + .itemOutputs( + '6x kubejs:hadal_shard', + '64x minecraft:sculk_catalyst', + '48x minecraft:sculk_catalyst', + '64x kubejs:warden_horn', + '64x kubejs:warden_horn', + '64x kubejs:warden_horn', + '64x kubejs:warden_horn', + '64x kubejs:warden_horn' + ) + }) + + microverse_mission(event, 8, 3, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '32x kubejs:quantum_flux', + '64x gtceu:dilithium_gem', + '32x kubejs:dragon_lair_data' + ) + .itemOutputs( + '64x minecraft:dragon_egg', + '64x minecraft:dragon_egg', + '64x minecraft:dragon_egg', + '64x kubejs:ender_dragon_scale', + '64x kubejs:ender_dragon_scale', + '64x kubejs:ender_dragon_scale', + '64x minecraft:dragon_breath', + '64x minecraft:dragon_breath' + ) + }) + + microverse_mission(event, 8, 3, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '32x kubejs:quantum_flux', + '64x gtceu:dilithium_gem', + '64x kubejs:wither_realm_data' + ) + .itemOutputs( + '16x gtceu:quantum_star', + '32x gtceu:quantum_eye', + '1x gtceu:gravi_star', + '8x gtceu_neutronium_ingot' + ) + }) + + // T9MM missions + microverse_mission(event, 9, 3, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '4x gtceu:cryococcus_block', + '64x kubejs:stellar_creation_data', + '64x kubejs:stellar_creation_data', + '64x kubejs:stellar_creation_data', + '64x kubejs:stellar_creation_data' + ) + .itemOutputs('kubejs:universe_creation_data') + }) + + microverse_mission(event, 9, 3, undefined, undefined, 50).forEach(builder => { + builder + .itemInputs('8x gtceu:neutron_reflector', '4x gtceu:cryococcus_block', 'kubejs:stellar_creation_data') + .itemOutputs('64x gtceu:neutronium_ingot') + }) + + microverse_mission(event, 9, 3, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs('64x gtceu:gravi_star', '64x gtceu:gravi_star', '16x kubejs:shattered_star_data') + .itemOutputs('32x kubejs:quasi_stable_neutron_star') + }) + + // T10MM missions + microverse_mission(event, 10, 3, undefined, undefined, 50).forEach(builder => { + builder + .itemInputs('8x gtceu:cryococcus_block', 'kubejs:universe_creation_data') + .itemOutputs('kubejs:heart_of_a_universe') + }) + + microverse_mission(event, 10, 3, undefined, undefined, 0).forEach(builder => { + builder + .itemInputs('16x #forge:storage_blocks/activated_netherite', '64x kubejs:stellar_creation_data') + .itemOutputs('kubejs:creative_storage_data') + }) +}) diff --git a/kubejs/server_scripts/microverse/advanced_missions.js b/kubejs/server_scripts/microverse/advanced_missions.js new file mode 100644 index 000000000..07f36b617 --- /dev/null +++ b/kubejs/server_scripts/microverse/advanced_missions.js @@ -0,0 +1,220 @@ +/** + * Recipe definitions for advanced microverse projector missions. + */ +ServerEvents.recipes(event => { + // T4MM missions + microverse_mission(event, 4, 2).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .itemInputs('16x kubejs:petrotheum_dust') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:cobalt_brass_drill_head') + .itemInputs('4x kubejs:wither_realm_data') + .itemOutputs( + '64x gtceu:raw_cooperite', + '64x gtceu:raw_cooperite', + '64x gtceu:raw_bornite', + '64x gtceu:raw_pentlandite', + '64x gtceu:raw_pentlandite', + '64x gtceu:raw_chalcocite', + '64x gtceu:raw_chalcocite' + ) + }) + + microverse_mission(event, 4, 2).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .itemInputs('16x kubejs:petrotheum_dust') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:steel_drill_head') + .itemOutputs( + '32x kubejs:dense_iron_ore', + '32x kubejs:dense_copper_ore', + '16x kubejs:dense_gold_ore' + ) + }) + + microverse_mission(event, 4, 2).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .itemInputs('16x kubejs:petrotheum_dust') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:diamond_drill_head') + .itemInputs('2x kubejs:gem_sensor') + .itemOutputs( + '32x kubejs:dense_diamond_ore', + '16x kubejs:dense_lapis_ore', + '16x kubejs:dense_coal_ore', + '8x kubejs:dense_emerald_ore', + '8x kubejs:dense_redstone_ore' + ) + }) + + microverse_mission(event, 4, 2).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .itemInputs('16x kubejs:petrotheum_dust') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:damascus_steel_drill_head') + .itemOutputs( + '64x kubejs:dense_oilsands_ore', + '16x kubejs:compressed_infinity_dust_block' + ) + }) + + microverse_mission(event, 4, 2).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .itemInputs('kubejs:microversal_alchemy_kit') + .itemInputs('16x kubejs:petrotheum_dust') + .itemInputs( + '64x kubejs:solidified_chlorine' + ) + .itemOutputs( + '64x kubejs:solidified_bromine' + ) + }) + + microverse_mission(event, 4, 2).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .itemInputs('16x kubejs:petrotheum_dust') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:wrought_iron_drill_head') + .itemOutputs( + '64x gtceu:raw_thorium', + '64x gtceu:raw_thorium', + '64x gtceu:raw_thorium', + '64x gtceu:raw_thorium', + '32x gtceu:raw_uraninite', + ) + }) + + // T5MM missions + microverse_mission(event, 5, 2).forEach(builder => { + if(isNormalMode) { + builder + .itemInputs('8x kubejs:quantum_flux') + .itemInputs('16x kubejs:stabilized_plutonium') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:hsse_drill_head') + .itemOutputs( + '64x gtceu:raw_cooperite', + '64x gtceu:raw_cooperite', + '64x gtceu:raw_cooperite', + '64x gtceu:raw_naquadah', + '64x gtceu:raw_naquadah', + '64x gtceu:raw_naquadah', + '48x gtceu:raw_kaemanite' + ) + } else { + builder + .itemInputs('8x kubejs:quantum_flux') + .itemInputs('16x kubejs:stabilized_plutonium') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:hsse_drill_head') + .itemOutputs( + '64x gtceu:raw_pollucite', + '64x gtceu:raw_pollucite', + '32x gtceu:raw_pollucite', + '64x gtceu:raw_snowchestite', + '64x gtceu:raw_snowchestite', + '64x gtceu:raw_snowchestite', + '64x gtceu:raw_snowchestite', + '48x gtceu:raw_kaemanite' + ) + } + }) + + microverse_mission(event, 5, 2).forEach(builder => { + builder + .itemInputs('8x kubejs:quantum_flux') + .itemInputs('16x kubejs:stabilized_uranium') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:red_steel_drill_head') + .itemOutputs( + '64x gtceu:raw_bastnasite', + '64x gtceu:raw_palladium', + '64x gtceu:raw_monazite', + '64x gtceu:raw_molybdenite', + '32x gtceu:raw_powellite', + '16x gtceu:raw_osmiridiumyes' + ) + }) + + microverse_mission(event, 5, 2).forEach(builder => { + builder + .itemInputs('8x kubejs:quantum_flux') + .itemInputs('16x kubejs:stabilized_uranium') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:blue_steel_drill_head') + .itemOutputs( + '64x gtceu:raw_realgar', + '64x gtceu:raw_sphalerite', + '64x gtceu:raw_sphalerite', + '64x gtceu:ender_pearl_block', + '64x gtceu:boron_dust', + '64x gtceu:raw_beryllium', + '32x gtceu:raw_fluorite' + ) + }) + + // T6MM missions + microverse_mission(event, 6, 2).forEach(builder => { + builder + .itemInputs('16x kubejs:quantum_flux') + .itemInputs('32x kubejs:stabilized_uranium') + .itemInputs('kubejs:advanced_drill_kit') + .itemInputs('gtceu:naquadah_alloy_drill_head') + .itemInputs('16x kubejs:wither_realm_data') + .itemOutputs( + '64x gtceu:raw_uraninite', + '64x gtceu:raw_uraninite', + '64x gtceu:raw_osmiridiumyes', + '64x gtceu:raw_osmiridiumyes', + '64x gtceu:raw_iridosmineyes', + '64x gtceu:raw_iridosmineyes', + '64x gtceu:raw_iridosmineyes' + ) + }) + + microverse_mission(event, 6, 2).forEach(builder => { + builder + .itemInputs('16x kubejs:quantum_flux') + .itemInputs('32x kubejs:stabilized_plutonium') + .itemInputs('kubejs:microversal_alchemy_kit') + .itemInputs('64x kubejs:wither_realm_data') + .itemOutputs( + '32x kubejs:stabilized_einsteinium' + ) + }) + + microverse_mission(event, 6, 2).forEach(builder => { + builder + .itemInputs('16x kubejs:quantum_flux') + .itemInputs('32x kubejs:stabilized_curium') + .itemInputs('kubejs:blasting_kit') + .itemInputs('64x kubejs:wither_realm_data') + .itemOutputs( + '64x gtceu:raw_nether_quartz', + '64x gtceu:raw_nether_quartz', + '64x gtceu:raw_nether_quartz', + '64x minecraft:ancient_debris', + '64x minecraft:ancient_debris', + '32x minecraft:ancient_debris', + ) + }) + + microverse_mission(event, 6, 2, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs('16x kubejs:quantum_flux') + .itemInputs('32x kubejs:stabilized_plutonium') + .itemInputs('16x kubejs:dragon_lair_data') + .itemOutputs( + '64x minecraft:dragon_egg', + '64x kubejs:ender_dragon_scale', + '64x kubejs:ender_dragon_scale', + '64x minecraft:dragon_breath' + ) + }) +}) diff --git a/kubejs/server_scripts/microverse/basic_missions.js b/kubejs/server_scripts/microverse/basic_missions.js new file mode 100644 index 000000000..e7370197e --- /dev/null +++ b/kubejs/server_scripts/microverse/basic_missions.js @@ -0,0 +1,404 @@ +/** + * Recipe definitions for basic microverse projector missions. + * Builder method calls for inputs typically follow a certain order: + * - Quantum Flux + * - Fuel + * - Drill head (if any) + * - Gemstone Sensor/Power Thruster (if any) + * - Anything else, in a multiline method call (if any) + * - Data of any kind + */ +ServerEvents.recipes(event => { + // T1MM missions + microverse_mission(event, 1, 1, 60).forEach(builder => { + builder + .itemInputs('kubejs:ultra_dense_hydrogen') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:blasting_kit') + .itemOutputs('kubejs:stellar_creation_data') + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:diamond_drill_head') + .itemInputs('kubejs:gem_sensor') + .itemOutputs( + '64x gtceu:raw_diamond', + '64x gtceu:raw_apatite', + '48x gtceu:raw_apatite', + '64x gtceu:raw_tricalcium_phosphate', + '64x gtceu:raw_quartzite' + ) + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:invar_drill_head') + .itemOutputs( + '64x minecraft:raw_iron', + '64x minecraft:raw_iron', + '32x minecraft:raw_iron', + '64x gtceu:raw_yellow_limonite', + '64x gtceu:raw_yellow_limonite', + '64x gtceu:raw_garnierite', + '64x gtceu:raw_nickel', + ) + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:bronze_drill_head') + .itemOutputs( + '64x gtceu:raw_cassiterite', + '64x gtceu:raw_chalcopyrite', + '64x gtceu:raw_chalcopyrite', + '32x gtceu:raw_chalcopyrite', + '32x gtceu:raw_realgar' + ) + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:sterling_silver_drill_head') + .itemOutputs( + '64x gtceu:raw_silver', + '32x gtceu:raw_silver', + '64x gtceu:raw_galena', + '48x gtceu:raw_galena', + '64x gtceu:raw_lead' + ) + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:rose_gold_drill_head') + .itemInputs('kubejs:gem_sensor') + .itemOutputs( + '64x gtceu:raw_redstone', + '64x gtceu:raw_redstone', + '32x gtceu:raw_redstone', + '64x gtceu:raw_ruby', + '64x gtceu:raw_ruby', + '64x gtceu:raw_ruby', + '64x gtceu:raw_cinnabar' + ) + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:wrought_iron_drill_head') + .itemOutputs( + '64x gtceu:raw_uraninite', + '64x gtceu:raw_uraninite', + '64x gtceu:raw_pitchblende', + '24x gtceu:raw_pitchblende' + ) + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:iron_drill_head') + .itemOutputs( + '64x gtceu:raw_salt', + '64x gtceu:raw_salt', + '32x gtceu:raw_salt', + '64x gtceu:raw_rock_salt', + '32x gtceu:raw_rock_salt', + ) + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('2x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:steel_drill_head') + .itemInputs('gtceu:power_thruster') + .itemOutputs( + '64x gtceu:raw_molybdenum', + '64x ad_astra:moon_sand', + '64x gtceu:raw_dilithium', + '64x gtceu:raw_fluorite' + ) + }) + + microverse_mission(event, 1, 1).forEach(builder => { + builder + .itemInputs('3x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:aluminium_drill_head') + .itemInputs('gtceu:advanced_power_thruster') + .itemOutputs( + '64x gtceu:raw_ilmenite', + '64x gtceu:raw_ilmenite', + '64x gtceu:raw_ilmenite', + '64x gtceu:raw_bauxite', + '64x gtceu:raw_bauxite', + '32x gtceu:raw_aluminium' + ) + }) + + // T2MM missions + microverse_mission(event, 2, 1, 90).forEach(builder => { + builder + .itemInputs('4x kubejs:ultra_dense_hydrogen') + .inputFluids('gtceu:rocket_fuel 3000') + .itemInputs('kubejs:blasting_kit') + .itemOutputs('4x kubejs:stellar_creation_data') + }) + + microverse_mission(event, 2, 1).forEach(builder => { + builder + .itemInputs('3x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 3000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:titanium_drill_head') + .itemInputs('gtceu:advanced_power_thruster') + .itemOutputs( + '64x gtceu:raw_scheelite', + '64x gtceu:raw_scheelite', + '64x gtceu:raw_scheelite', + '64x gtceu:raw_tungstate', + '64x gtceu:raw_tungstate', + '64x gtceu:raw_tungstate' + ) + }) + + microverse_mission(event, 2, 1).forEach(builder => { + builder + .itemInputs('2x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 3000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:bronze_drill_head') + .itemOutputs( + '64x gtceu:raw_pyrochlore', + '64x gtceu:raw_pyrochlore', + '64x minecraft:raw_copper', + '64x minecraft:raw_copper', + '64x gtceu:raw_tin', + '64x kubejs:radium_salt' + ) + }) + + microverse_mission(event, 2, 1).forEach(builder => { + builder + .itemInputs('2x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 3000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:stainless_steel_drill_head') + .itemOutputs( + '64x gtceu:raw_tantalite', + '64x gtceu:raw_tantalite', + '64x gtceu:raw_pyrolusite', + '32x gtceu:raw_grossular', + ) + }) + + microverse_mission(event, 2, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 3000') + .itemInputs('kubejs:microversal_alchemy_kit') + .itemInputs('16x kubejs:cryotheum_dust') + .itemOutputs( + '16x kubejs:solidified_neon', + '16x kubejs:solidified_krypton', + '16x kubejs:solidified_xenon' + ) + }) + + microverse_mission(event, 2, 1).forEach(builder => { + builder + .itemInputs('3x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 3000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:diamond_drill_head') + .itemInputs('kubejs:gem_sensor', 'gtceu:power_thruster') + .itemOutputs( + '64x gtceu:raw_dilithium', + '32x gtceu:raw_dilithium', + '64x gtceu:raw_certus_quartz', + '64x gtceu:raw_certus_quartz', + '64x gtceu:raw_monazite', + ) + }) + + microverse_mission(event, 2, 1).forEach(builder => { + builder + .itemInputs('2x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 3000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:red_steel_drill_head') + .itemOutputs( + '64x gtceu:raw_goethite', + '64x gtceu:raw_goethite', + '64x gtceu:raw_goethite', + '64x gtceu:raw_hematite', + '64x gtceu:raw_hematite', + '64x gtceu:raw_malachite', + '32x gtceu:raw_malachite', + ) + }) + + microverse_mission(event, 2, 1).forEach(builder => { + builder + .itemInputs('2x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 3000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:blue_steel_drill_head') + .itemInputs('kubejs:gem_sensor') + .itemOutputs( + '64x gtceu:raw_lapis', + '64x gtceu:raw_lapis', + '32x gtceu:raw_lapis', + '48x gtceu:raw_sodalite', + '64x gtceu:raw_lazurite', + '48x gtceu:raw_calcite', + ) + }) + + // T3MM missions + microverse_mission(event, 3, 1).forEach(builder => { + builder + .itemInputs('2x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 5000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:vanadium_steel_drill_head') + .itemOutputs( + '64x gtceu:raw_magnetite', + '48x gtceu:raw_magnetite', + '64x gtceu:raw_vanadium_magnetite', + '64x gtceu:raw_vanadium_magnetite', + '64x gtceu:raw_chromite', + '64x gtceu:raw_chromite', + '64x minecraft:raw_gold', + ) + }) + + microverse_mission(event, 3, 1).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 5000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:cobalt_brass_drill_head') + .itemOutputs( + '64x gtceu:raw_tetrahedrite', + '32x gtceu:raw_tetrahedrite', + '64x gtceu:raw_cobaltite', + '16x gtceu:raw_magnesite', + '32x gtceu:raw_sphalerite', + '24x gtceu:raw_stibnite', + ) + }) + + microverse_mission(event, 3, 1).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 5000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:diamond_drill_head') + .itemInputs('kubejs:gem_sensor') + .itemOutputs( + '64x gtceu:raw_sapphire', + '48x gtceu:raw_diamond', + '32x gtceu:raw_almandine', + '24x gtceu:raw_topaz', + '16x gtceu:raw_emerald' + ) + }) + + microverse_mission(event, 3, 1).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 5000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:aluminium_drill_head') + .itemOutputs( + '64x minecraft:glowstone', + '64x minecraft:glowstone', + '32x minecraft:glowstone', + '32x gtceu:raw_redstone', + '32x gtceu:raw_coal' + ) + }) + + microverse_mission(event, 3, 1).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 5000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:ultimet_drill_head') + .itemInputs('gtceu:advanced_power_thruster') + .itemOutputs( + '64x gtceu:raw_barite', + '64x gtceu:raw_apatite', + '32x gtceu:raw_neodymium', + '16x gtceu:raw_laurite', + '8x gtceu:raw_cuprorhodsite' + ) + }) + + microverse_mission(event, 3, 1).forEach(builder => { + builder + .itemInputs('4x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 5000') + .itemInputs('kubejs:blasting_kit') + .itemOutputs( + '64x kubejs:dense_magma_block', + '64x kubejs:dense_magma_block' + ) + }) + + microverse_mission(event, 3, 1).forEach(builder => { + builder + .itemInputs('16x kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 5000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:tungsten_steel_drill_head') + .itemInputs('16x kubejs:wither_realm_data') + .itemOutputs( + '8x minecraft:ancient_debris', + '32x kubejs:dense_nether_quartz_ore', + '48x minecraft:gilded_blackstone', + '8x minecraft:gold_block', + ) + }) + + microverse_mission(event, 3, 1).forEach(builder => { + builder + .itemInputs('kubejs:quantum_flux') + .inputFluids('gtceu:rocket_fuel 2000') + .itemInputs('kubejs:basic_drill_kit') + .itemInputs('gtceu:iron_drill_head') + .itemOutputs( + '64x gtceu:raw_salt', + '64x gtceu:raw_salt', + '64x gtceu:raw_rock_salt', + '64x gtceu:raw_lepidolite', + '32x gtceu:raw_lepidolite', + '48x gtceu:raw_spodumene' + ) + }) +}) diff --git a/kubejs/server_scripts/microverse/components.js b/kubejs/server_scripts/microverse/components.js new file mode 100644 index 000000000..9abd7dad5 --- /dev/null +++ b/kubejs/server_scripts/microverse/components.js @@ -0,0 +1,277 @@ +/** + * Microminer components and kits. + * Each of these are a custom KubeJS item or block used in the creation of Micro Miners. + */ +ServerEvents.recipes(event => { + // Basic Guidance + event.shaped('kubejs:basic_micro_miner_guidance_system', [ + 'GPG', + 'PCP', + 'CCC' + ], { + G: 'gtceu:lv_sensor', + P: 'gtceu:double_steel_plate', + C: '#gtceu:circuits/mv' + }) + + // Basic laser + event.shaped('kubejs:basic_mining_laser', [ + ' R ', + 'QGQ', + 'QGQ' + ], { + R: 'minecraft:redstone_block', + Q: 'minecraft:quartz', + G: 'minecraft:glass' + }) + + // Reinforced Laser + event.recipes.extendedcrafting.shaped_table('kubejs:reinforced_mining_laser', [ + ' R R ', + 'GAGAG', + 'GAGAG', + 'GBGBG', + 'QCECQ' + ], { + R: 'minecraft:redstone_block', + G: 'minecraft:glass', + A: 'kubejs:solidified_argon', + B: 'minecraft:quartz_block', + Q: 'minecraft:quartz', + C: '#gtceu:circuits/hv', + E: 'enderio:octadic_capacitor' + }) + + // Advanced Guidance + event.shaped('kubejs:advanced_micro_miner_guidance_system', [ + 'AWA', + 'WCW', + 'CCC' + ], { + A: 'gtceu:ev_sensor', + W: 'gtceu:double_tungsten_carbide_plate', + C: '#gtceu:circuits/ev' + }) + + // Warp Core + event.shaped('kubejs:warp_core', [ + 'LTL', + 'TNT', + 'LTL' + ], { + L: 'gtceu:lumium_block', + N: 'gtceu:nether_star_block', + T: 'gtceu:titanium_block' + }) + + // Warp Controller + event.shaped('kubejs:warp_controller', [ + 'SMS', + 'CHC', + 'SCS' + ], { + C: '#gtceu:circuits/ev', + H: 'gtceu:ev_machine_hull', + M: 'gtceu:computer_monitor_cover', + S: 'gtceu:ev_sensor' + }) + + // Warp Core + event.shaped('kubejs:universal_warp_core', [ + 'LTL', + 'TNT', + 'LTL' + ], { + L: 'gtceu:void_empowered_block', + N: 'kubejs:warp_core', + T: 'kubejs:bathyal_energy_core' + }) + + // Warp Controller + event.shaped('kubejs:universal_warp_controller', [ + 'SMS', + 'CHC', + 'SFS' + ], { + C: '#gtceu:circuits/luv', + H: 'kubejs:warp_controller', + M: 'kubejs:abyssal_energy_core', + F: 'extendedcrafting:the_ultimate_catalyst', + S: 'gtceu:void_empowered_block' + }) + + // Warp engine + event.recipes.gtceu.assembly_line('warp_engine') + .itemInputs('gtceu:microversium_frame', + '6x gtceu:enderium_plate', + '8x ae2:quantum_ring', + 'ae2:quantum_link', + '2x #forge:plates/crystal_matrix', + '2x gtceu:iv_field_generator', + 'kubejs:fluxed_thruster', + 'kubejs:dark_soularium_thruster') + ["scannerResearch(java.util.function.UnaryOperator)"](b => b.researchStack('ae2:quantum_ring').EUt(480).duration(1200)) + .itemOutputs('kubejs:warp_engine') + .inputFluids('gtceu:soldering_alloy 1152') + .duration(1800) + .EUt(30720) + + // Supercharged laser array + event.recipes.gtceu.chemical_reactor('supercharged_laser_array') + .itemInputs('kubejs:reinforced_mining_laser') + .inputFluids('gtceu:radon 1000') + .itemOutputs('kubejs:supercharged_laser_array') + .duration(200) + .EUt(2000) + + // Universal Navigator + event.recipes.gtceu.assembly_line('universal_navigator') + .itemInputs('gtceu:microversium_frame', + '24x gtceu:microversium_plate', + 'gtceu:gravi_star', + '2x gtceu:uv_sensor', + '2x gtceu:uv_robot_arm', + '#gtceu:circuits/uhv', + '2x gtceu:dense_naquadah_alloy_plate', + '4x gtceu:enriched_naquadah_trinium_europium_duranide_quadruple_wire', + '64x gtceu:fine_tritanium_wire') + .inputFluids('gtceu:soldering_alloy 1152', 'gtceu:naquadria 576') + .itemOutputs('kubejs:universal_navigator') + .stationResearch(b => b.researchStack('kubejs:stellar_creation_data').CWUt(96, 384000).EUt(491520)) + .duration(6000) + .EUt(491520) + + // Extradimensional Navigator + event.recipes.gtceu.assembly_line('extradimensional_navigator') + .itemInputs('gtceu:infinity_frame', + '4x kubejs:universal_navigator', + '4x gtceu:uev_field_generator', + '24x gtceu:holmium_plate', + '4x #gtceu:circuits/uiv', + '2x gtceu:uiv_sensor', + '2x gtceu:uiv_emitter', + '4x gtceu:dense_naquadah_alloy_plate', + '8x gtceu:activated_netherite_quadruple_wire', + '32x gtceu:fine_ruthenium_trinium_americium_neutronate_wire') + .inputFluids('gtceu:soldering_alloy 11520', 'gtceu:crystal_matrix 5760', 'gtceu:naquadria 2304') + .itemOutputs('kubejs:extradimensional_navigator') + .stationResearch(b => b.researchStack('kubejs:universal_navigator').CWUt(160, 640000).EUt(3932160)) + .duration(6000) + .EUt(3932160) + + // Electrum Engine Frame + event.shaped('kubejs:electrum_micro_miner_frame', [ + 'PRP', + 'R R', + 'PRP' + ], { + P: 'gtceu:electrum_plate', + R: 'gtceu:electrum_rod', + }) + + // Signalum Engine Frame + event.shaped('kubejs:signalum_micro_miner_frame', [ + 'PRP', + 'R R', + 'PRP' + ], { + P: 'gtceu:signalum_plate', + R: 'gtceu:signalum_rod', + }) + + // Enderium Engine Frame + event.shaped('kubejs:enderium_micro_miner_frame', [ + 'PRP', + 'R R', + 'PRP' + ], { + P: 'gtceu:enderium_plate', + R: 'gtceu:enderium_rod', + }) + + // Electrum Engine Core + event.recipes.gtceu.canner("electrum_micro_miner_core") + .itemInputs("kubejs:electrum_micro_miner_frame", "2x minecraft:redstone_block") + .itemOutputs("kubejs:electrum_micro_miner_core") + .duration(500) + .EUt(480) + + // Signalum Engine Core + event.recipes.gtceu.canner("signalum_micro_miner_core") + .itemInputs("kubejs:signalum_micro_miner_frame", "4x minecraft:redstone_block") + .itemOutputs("kubejs:signalum_micro_miner_core") + .duration(1000) + .EUt(2000) + + // Enderium Engine Core + event.recipes.gtceu.canner("enderium_micro_miner_core") + .itemInputs("kubejs:enderium_micro_miner_frame", "8x minecraft:redstone_block") + .itemOutputs("kubejs:enderium_micro_miner_core") + .duration(2000) + .EUt(8000) + + // Gemstone Sensor - Optical Sensor has been replaced with a Lens, which is slightly cheaper. + event.shaped('kubejs:gem_sensor', [ + ' A ', + 'WCW', + ' W ' + ], { + A: '#forge:lenses', + W: 'gtceu:stainless_steel_plate', + C: 'gtceu:hv_sensor' + }) + + event.shaped('4x kubejs:gem_sensor', [ + ' A ', + 'WCW', + ' W ' + ], { + A: '#forge:lenses', + W: 'gtceu:tungsten_carbide_plate', + C: 'gtceu:iv_sensor' + }) + + // Microminer kits are consumed in place of the miner. + event.recipes.gtceu.assembler('basic_drill_kit') + .itemOutputs('kubejs:basic_drill_kit') + .itemInputs('3x gtceu:double_steel_plate', 'gtceu:mv_electric_motor', '2x #gtceu:circuits/lv', '2x minecraft:glass') + .inputFluids('gtceu:glue 288') + .EUt(GTValues.VA[GTValues.HV]) + .duration(300) + + event.recipes.gtceu.assembler('advanced_drill_kit') + .itemOutputs('kubejs:advanced_drill_kit') + .itemInputs('3x gtceu:double_vanadium_steel_plate', 'gtceu:hv_electric_motor', '2x #gtceu:circuits/mv', '2x #forge:plastic_plates', '2x gtceu:tempered_glass') + .inputFluids('gtceu:lubricant 100') + .EUt(GTValues.VA[GTValues.IV]) + .duration(400) + + event.recipes.gtceu.assembler('advanced_drill_kit_ii') + .itemOutputs('kubejs:advanced_drill_kit_ii') + .itemInputs('3x gtceu:double_naquadah_alloy_plate', 'gtceu:iv_electric_motor', '2x #gtceu:circuits/hv', '2x gtceu:carbon_fiber_plate', '2x gtceu:laminated_glass') + .inputFluids('gtceu:lubricant 500') + .EUt(GTValues.VA[GTValues.LuV]) + .duration(600) + + const explosives = [ + [16, 'gtceu', 'powderbarrel'], + [8, 'minecraft', 'tnt'], + [4, 'gtceu', 'dynamite'], + [2, 'gtceu', 'industrial_tnt'] + ] + + explosives.forEach(explosive => { + event.recipes.gtceu.assembler(`blasting_kit_${explosive[2]}`) + .itemOutputs('kubejs:blasting_kit') + .itemInputs('3x gtceu:double_black_steel_plate', `${explosive[0]}x ${explosive[1]}:${explosive[2]}`, '3x #gtceu:circuits/lv', '2x #enderio:fused_quartz') + .inputFluids('gtceu:reinforced_epoxy_resin 576') + .EUt(GTValues.VA[GTValues.EV]) + .duration(400) + }) + + event.recipes.gtceu.assembler('microversal_alchemy_kit') + .itemOutputs('kubejs:microversal_alchemy_kit') + .itemInputs('gtceu:mv_hermetic_casing', '1x gtceu:mv_fluid_regulator', '2x minecraft:brewing_stand', '6x minecraft:glass_bottle') + .EUt(GTValues.VA[GTValues.EV]) + .duration(500) +}) diff --git a/kubejs/server_scripts/microverse/hardmode_missions.js b/kubejs/server_scripts/microverse/hardmode_missions.js new file mode 100644 index 000000000..d899cc6e8 --- /dev/null +++ b/kubejs/server_scripts/microverse/hardmode_missions.js @@ -0,0 +1,221 @@ +/** + * Recipe definitions for Hard Mode and Expert Mode-exclusive microverse projector missions. + */ +ServerEvents.recipes(event => { + if (isHardMode) { + microverse_mission(event, "2half", 1, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + 'minecraft:mossy_cobblestone' + ) + .inputFluids('minecraft:lava 4000') + .itemOutputs( + '64x minecraft:bone', + '64x minecraft:bone', + '64x minecraft:rotten_flesh', + '64x minecraft:rotten_flesh', + '32x minecraft:rotten_flesh', + '64x minecraft:gunpowder', + '32x minecraft:string' + ) + }) + + microverse_mission(event, "2half", 1, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + 'minecraft:mud' + ) + .inputFluids('minecraft:lava 4000') + .itemOutputs( + '64x minecraft:slime_ball', + '32x minecraft:slime_ball', + '48x kubejs:guardian_scale' + ) + }) + + microverse_mission(event, "2half", 1, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + 'minecraft:redstone_block' + ) + .inputFluids('minecraft:lava 8000') + .itemOutputs( + '50x minecraft:blaze_rod', + '50x thermal:blizz_rod', + '50x thermal:blitz_rod', + '50x thermal:basalz_rod' + ) + }) + + microverse_mission(event, "2half", 1, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + 'minecraft:netherrack' + ) + .inputFluids('minecraft:lava 8000') + .itemOutputs( + '48x minecraft:ghast_tear', + '64x kubejs:wither_bone', + '32x kubejs:wither_bone', // drops of evil aren't in the pack + '64x minecraft:magma_cream' + ) + }) + + microverse_mission(event, "2half", 1, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + 'minecraft:end_stone' + ) + .inputFluids('minecraft:lava 12000') + .itemOutputs( + '24x enderio:enderman_head', + '32x gtceu:ender_pearl_block', + '64x minecraft:shulker_shell' // shulker pearls aren't in the pack + ) + }) + + microverse_mission(event, "4half", 2, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + '32x kubejs:aerotheum_dust', + '16x minecraft:ender_eye' + ) + .itemOutputs( + '64x kubejs:dragon_lair_data', + '64x kubejs:dragon_lair_data', + '64x kubejs:dragon_lair_data', + '64x kubejs:dragon_lair_data', + '64x minecraft:dragon_breath', + '64x kubejs:ender_dragon_scale', + ) + }) + + microverse_mission(event, "4half", 2, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + '32x kubejs:aerotheum_dust', + '4x kubejs:dragon_lair_data' + ) + .itemOutputs( + '64x kubejs:ender_dragon_scale', + '64x kubejs:ender_dragon_scale', + '64x kubejs:ender_dragon_scale', + '64x minecraft:dragon_breath', + '64x minecraft:dragon_breath' + ) + }) + + microverse_mission(event, "4half", 2, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + '32x kubejs:aerotheum_dust', + '64x kubejs:wither_bone' + ) + .itemOutputs( + '64x kubejs:wither_realm_data', + '64x kubejs:wither_realm_data', + '48x gtceu:nether_star_block' + ) + }) + + microverse_mission(event, "4half", 2, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '8x kubejs:quantum_flux', + '64x kubejs:aerotheum_dust', + '16x minecraft:sculk_catalyst' + ) + .itemOutputs( + '64x kubejs:deep_dark_data', + '64x kubejs:deep_dark_data', + '32x kubejs:warden_horn' + ) + }) + + // HM/EM need a mission to give them their first sculk catalyst. + microverse_mission(event, 6, 3, undefined, undefined, 0).forEach(builder => { + builder + .itemInputs( + '16x kubejs:quantum_flux', + '16x kubejs:stabilized_curium', + 'kubejs:microversal_alchemy_kit', + '8x gtceu:manyullyn_ingot', + '4x gtceu:void_empowered_block', + ) + .itemOutputs( + 'minecraft:sculk_catalyst' + ) + }) + + microverse_mission(event, "8half", 3).forEach(builder => { + builder + .itemInputs('16x kubejs:quantum_flux') + .itemInputs('64x gtceu:dilithium_gem') + .itemInputs('kubejs:advanced_drill_kit_ii') + .itemInputs('gtceu:duranium_drill_head') + .itemInputs('4x gtceu:neutron_reflector',) + .itemInputs( + '12x gtceu:ruridit_block', + '4x kubejs:warden_horn' + ) + .itemOutputs( + '64x gtceu:raw_darmstadtite', + '64x gtceu:raw_darmstadtite', + '64x gtceu:raw_darmstadtite', + '64x gtceu:raw_darmstadtite', + '64x gtceu:raw_darmstadtite', + '64x gtceu:raw_darmstadtite', + '64x gtceu:raw_darmstadtite', + '64x gtceu:raw_darmstadtite' + ) + }) + + microverse_mission(event, "8half", 3).forEach(builder => { + builder + .itemInputs('16x kubejs:quantum_flux') + .itemInputs('64x gtceu:dilithium_gem') + .itemInputs('kubejs:advanced_drill_kit_ii') + .itemInputs('gtceu:duranium_drill_head') + .itemInputs('4x kubejs:gem_sensor') + .itemInputs( + '12x gtceu:naquadah_block', + '4x kubejs:warden_horn' + ) + .itemOutputs( + '64x gtceu:raw_dulysite', + '64x gtceu:raw_dulysite', + '64x gtceu:raw_dulysite', + '64x gtceu:raw_dulysite', + '64x gtceu:raw_dulysite', + '64x gtceu:raw_dulysite' + ) + }) + + microverse_mission(event, "8half", 3).forEach(builder => { + builder + .itemInputs('16x kubejs:quantum_flux') + .itemInputs('64x gtceu:dilithium_gem') + .itemInputs('kubejs:advanced_drill_kit_ii') + .itemInputs('gtceu:duranium_drill_head') + .itemInputs('4x nuclearcraft:plate_du') + .itemInputs( + '12x gtceu:uranium_block', + '4x kubejs:warden_horn' + ) + .itemOutputs( + '64x gtceu:raw_plutonium', + '64x gtceu:raw_plutonium', + '64x gtceu:raw_plutonium', + '64x gtceu:raw_plutonium' + ) + }) + } +}) diff --git a/kubejs/server_scripts/microverse/hyperbolic_missions.js b/kubejs/server_scripts/microverse/hyperbolic_missions.js new file mode 100644 index 000000000..0fa5968c0 --- /dev/null +++ b/kubejs/server_scripts/microverse/hyperbolic_missions.js @@ -0,0 +1,139 @@ +/** + * Recipe definitions for hyperbolic microverse projector missions. + */ +ServerEvents.recipes(event => { + // T4MM mission + microverse_mission(event, 4, 4, 160).forEach(builder => { + builder + .itemInputs( + '64x kubejs:ultra_dense_hydrogen', + '64x kubejs:ultra_dense_hydrogen', + '64x kubejs:ultra_dense_hydrogen', + '64x kubejs:ultra_dense_hydrogen', + '1x gtceu:data_module', + '1x gtceu:uhv_sensor', + 'kubejs:blasting_kit' + ) + .itemOutputs( + '64x kubejs:stellar_creation_data', + '64x kubejs:stellar_creation_data', + '64x kubejs:stellar_creation_data', + '64x kubejs:stellar_creation_data' + ) + }) + + // T8MM mission + microverse_mission(event, 8, 4, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '64x kubejs:quantum_flux', + '64x gtceu:dilithium_gem', + '64x gtceu:dilithium_gem', + '1x kubejs:hadal_energy_core', + 'kubejs:corrupted_universe_data', + 'kubejs:lair_of_the_warden_data' + ) + .itemOutputs( + '64x kubejs:hadal_shard', + '64x kubejs:warden_heart', + '64x kubejs:warden_heart', + '64x kubejs:warden_heart', + '64x kubejs:warden_horn', + '64x kubejs:warden_horn' + ) + }) + + // T9MM mission + microverse_mission(event, 9, 4, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs('kubejs:shattered_universe_data', '64x kubejs:shattered_star_data') + .itemOutputs('kubejs:corrupted_universe_data') + }) + + // T10MM missions + microverse_mission(event, 10, 4, undefined, undefined, 75).forEach(builder => { + builder + .itemInputs('8x kubejs:infinity_catalyst', 'kubejs:corrupted_universe_data') + .itemOutputs('16x kubejs:heart_of_a_universe') + }) + + microverse_mission(event, 10, 4, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs('64x kubejs:singularity_containment_unit', 'kubejs:shattered_universe_data',) + .itemOutputs('64x kubejs:contained_singularity') + }) + + // T11MM missions + microverse_mission(event, 11, 4, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs('kubejs:infinity_catalyst', 'gtceu:neutronium_drill_head', 'kubejs:shattered_universe_data') + .itemOutputs( + '64x kubejs:alien_scrap', + '64x kubejs:alien_scrap', + '64x kubejs:alien_scrap', + '64x kubejs:alien_scrap', + '64x kubejs:alien_scrap' + ) + }) + + microverse_mission(event, 11, 4, undefined, undefined, 100).forEach(builder => { + builder + .itemInputs( + '64x gtceu:gravi_star', + '64x gtceu:gravi_star', + '64x gtceu:gravi_star', + '64x gtceu:gravi_star', + 'kubejs:corrupted_universe_data' + ) + .itemOutputs( + '64x kubejs:quasi_stable_neutron_star', + '64x kubejs:quasi_stable_neutron_star', + '64x kubejs:quasi_stable_neutron_star', + '64x kubejs:quasi_stable_neutron_star', + '64x kubejs:quasi_stable_neutron_star', + '64x kubejs:quasi_stable_neutron_star', + '64x kubejs:quasi_stable_neutron_star', + '64x kubejs:quasi_stable_neutron_star' + ) + }) + + microverse_mission(event, 11, 4, undefined, undefined, 0).forEach(builder => { + builder + .itemInputs( + '16x gtceu:holmium_block', + '8x gtceu:network_switch', + '8x gtceu:data_bank', + '16x gtceu:advanced_data_access_hatch', + '16x gtceu:computation_receiver_hatch', + '64x kubejs:stellar_creation_data' + ) + .itemOutputs('kubejs:creative_computation_data') + }) + + microverse_mission(event, 12, 4, undefined, undefined, 50).forEach(builder => { + builder + .itemInputs('64x gtceu:infinity_ingot', '4x kubejs:universe_creation_data') + .itemOutputs('64x gtceu:monium_ingot') + }) + + microverse_mission(event, 12, 4, undefined, undefined, 0).forEach(builder => { + builder + .itemInputs( + '16x gtceu:eltz_block', + '4x gtceu:max_battery', + '2x solarflux:sp_custom_infinity', + 'gtceu:uiv_4096a_laser_source_hatch', + '4x kubejs:universe_creation_data', + '64x kubejs:stellar_creation_data', + '64x kubejs:stellar_creation_data', + '64x kubejs:stellar_creation_data' + ) + .itemOutputs('kubejs:creative_energy_data') + }) + + microverse_mission(event, 12, 4, undefined, GTValues.VA[GTValues.UXV], 10).forEach(builder => { + builder + .itemInputs('8x kubejs:timeless_monic_heavy_plating', '4x kubejs:universe_creation_data', '2x kubejs:shattered_universe_data', '2x kubejs:corrupted_universe_data') + .itemOutputs('4x kubejs:causality_exempt_monic_heavy_plating') + }) +}) diff --git a/kubejs/server_scripts/microverse.js b/kubejs/server_scripts/microverse/miners.js similarity index 50% rename from kubejs/server_scripts/microverse.js rename to kubejs/server_scripts/microverse/miners.js index d2386dc92..8d24736b7 100644 --- a/kubejs/server_scripts/microverse.js +++ b/kubejs/server_scripts/microverse/miners.js @@ -1,16 +1,10 @@ /** - * Recipes for micro miners and stuff - * Not to be confused with gregtech/microverse_recipes.js, that defines what is mined, this file defines how to make things + * 3x3 and Extended Crafting Recipes for Micro Miners + * Not to be confused with other files that that define what these miners mine. */ ServerEvents.recipes(event => { - - // - // Miners - // - // T1 Microminer - event.shaped('kubejs:microminer_t1', [ ' G ', 'LAL', @@ -42,14 +36,13 @@ ServerEvents.recipes(event => { }) // T3 Microminer - event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t3', [ ' G G ', ' PPP ', ' ABA ', - ' LPBPL ', + 'LPPBPPL', 'PPFBFPP', - 'PPPCPPP', + 'P PCP P', ' TTT ' ], { G: 'kubejs:basic_micro_miner_guidance_system', @@ -63,7 +56,6 @@ ServerEvents.recipes(event => { }) // T4 Microminer - event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t4', [ ' G ', ' LWL ', @@ -110,11 +102,11 @@ ServerEvents.recipes(event => { event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t6', [ ' LG GL ', 'LEE EEL', - 'EEEEEEE', - ' EAFAE ', - 'EBFCFBE', - ' EPPPE ', - ' ETTTE ' + 'EEAEAEE', + ' EFEFE ', + 'EBECEBE', + 'EEPPPEE', + ' TTT ' ], { L: 'kubejs:supercharged_laser_array', G: 'kubejs:advanced_micro_miner_guidance_system', @@ -129,22 +121,24 @@ ServerEvents.recipes(event => { // T7 Microminer event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t7', [ - ' L D L ', - ' DDDGDDD ', - 'LDDDDDDDL', - 'DDDDPDDDD', - 'DDDAEADDD', - 'DDDDPDDDD', - 'D DDDDD D', - 'D DDDDD D', + ' L G G L ', + ' D DDD D ', + 'LDNDDDNDL', + 'NDDFPFDDN', + 'DNDAEADND', + 'DNDNPNDND', + 'DNNDFDNND', + 'D NDDDN D', 'D WW WW D' ], { L: 'kubejs:supercharged_laser_array', D: 'gtceu:double_cryolobus_plate', + N: 'gtceu:double_naquadah_plate', G: 'kubejs:advanced_micro_miner_guidance_system', P: 'kubejs:bathyal_energy_core', A: 'gtceu:luv_field_generator', E: 'kubejs:dischargement_core', + F: 'kubejs:enderium_micro_miner_core', W: 'kubejs:warp_engine' }) @@ -162,18 +156,16 @@ ServerEvents.recipes(event => { ], { G: 'kubejs:advanced_micro_miner_guidance_system', C: 'gtceu:double_crystal_matrix_plate', - W: 'gtceu:double_tungsten_carbide_plate', + W: 'gtceu:double_rhodium_plated_palladium_plate', L: 'kubejs:supercharged_laser_array', - I: 'gtceu:double_iridium_plate', + I: 'gtceu:double_duranium_plate', A: 'gtceu:hv_super_chest', B: 'gtceu:zpm_field_generator', D: 'kubejs:warp_core', M: 'kubejs:warp_controller', E: 'kubejs:warp_engine' }) - // T9 Microminer - event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t9', [ ' Q ', ' QQQ ', @@ -195,7 +187,6 @@ ServerEvents.recipes(event => { }) // T10 Microminer - event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t10', [ ' N N ', ' NN NN ', @@ -266,227 +257,75 @@ ServerEvents.recipes(event => { S: 'kubejs:dimensional_stabilization_netherite_casing', Q: 'kubejs:field_stabilised_omnic_pulsar_compound' }) + // - // Miner Components + // Hard Mode/Expert Mode Micro Miners // - - // Basic Guidance - - event.shaped('kubejs:basic_micro_miner_guidance_system', [ - 'GPG', - 'PCP', - 'CCC' - ], { - G: 'gtceu:lv_sensor', - P: 'gtceu:double_steel_plate', - C: '#gtceu:circuits/mv' - }) - - // Basic laser - - event.shaped('kubejs:basic_mining_laser', [ - ' R ', - 'QGQ', - 'QGQ' - ], { - R: 'minecraft:redstone_block', - Q: 'minecraft:quartz', - G: 'minecraft:glass' - }) - - // Reinforced Laser - event.recipes.extendedcrafting.shaped_table('kubejs:reinforced_mining_laser', [ - ' R R ', - 'GAGAG', - 'GAGAG', - 'GBGBG', - 'QCECQ' - ], { - R: 'minecraft:redstone_block', - G: 'minecraft:glass', - A: 'kubejs:solidified_argon', - B: 'minecraft:quartz_block', - Q: 'minecraft:quartz', - C: '#gtceu:circuits/hv', - E: 'enderio:octadic_capacitor' - }) - - // Advanced Guidance - event.shaped('kubejs:advanced_micro_miner_guidance_system', [ - 'AWA', - 'WCW', - 'CCC' - ], { - A: 'gtceu:ev_sensor', - W: 'gtceu:double_tungsten_carbide_plate', - C: '#gtceu:circuits/ev' - }) - - // Warp Core - event.shaped('kubejs:warp_core', [ - 'LTL', - 'TNT', - 'LTL' - ], { - L: 'gtceu:lumium_block', - N: 'gtceu:nether_star_block', - T: 'gtceu:titanium_block' - }) - - // Warp Controller - event.shaped('kubejs:warp_controller', [ - 'SMS', - 'CHC', - 'SCS' - ], { - C: '#gtceu:circuits/ev', - H: 'gtceu:ev_machine_hull', - M: 'gtceu:computer_monitor_cover', - S: 'gtceu:ev_sensor' - }) - - // Warp Core - event.shaped('kubejs:universal_warp_core', [ - 'LTL', - 'TNT', - 'LTL' - ], { - L: 'gtceu:void_empowered_block', - N: 'kubejs:warp_core', - T: 'kubejs:bathyal_energy_core' - }) - - // Warp Controller - event.shaped('kubejs:universal_warp_controller', [ - 'SMS', - 'CHC', - 'SFS' - ], { - C: '#gtceu:circuits/luv', - H: 'kubejs:warp_controller', - M: 'kubejs:abyssal_energy_core', - F: 'extendedcrafting:the_ultimate_catalyst', - S: 'gtceu:void_empowered_block' - }) - - // Warp engine - event.recipes.gtceu.assembly_line('warp_engine') - .itemInputs('gtceu:microversium_frame', - '6x gtceu:enderium_plate', - '8x ae2:quantum_ring', - 'ae2:quantum_link', - '2x #forge:plates/crystal_matrix', - '2x gtceu:iv_field_generator', - 'kubejs:fluxed_thruster', - 'kubejs:dark_soularium_thruster') - ["scannerResearch(java.util.function.UnaryOperator)"](b => b.researchStack('ae2:quantum_ring').EUt(480).duration(1200)) - .itemOutputs('kubejs:warp_engine') - .inputFluids('gtceu:soldering_alloy 1152') - .duration(1800) - .EUt(30720) - - // Supercharged laser array - event.recipes.gtceu.chemical_reactor('supercharged_laser_array') - .itemInputs('kubejs:reinforced_mining_laser') - .inputFluids('gtceu:radon 1000') - .itemOutputs('kubejs:supercharged_laser_array') - .duration(200) - .EUt(2000) - - // Universal Navigator - event.recipes.gtceu.assembly_line('universal_navigator') - .itemInputs('gtceu:microversium_frame', - '24x gtceu:microversium_plate', - 'gtceu:gravi_star', - '2x gtceu:uv_sensor', - '2x gtceu:uv_robot_arm', - '#gtceu:circuits/uhv', - '2x gtceu:dense_naquadah_alloy_plate', - '4x gtceu:enriched_naquadah_trinium_europium_duranide_quadruple_wire', - '64x gtceu:fine_tritanium_wire') - .inputFluids('gtceu:soldering_alloy 1152', 'gtceu:naquadria 576') - .itemOutputs('kubejs:universal_navigator') - .stationResearch(b => b.researchStack('kubejs:stellar_creation_data').CWUt(96, 384000).EUt(491520)) - .duration(6000) - .EUt(491520) - - - event.recipes.gtceu.assembly_line('extradimensional_navigator') - .itemInputs('gtceu:infinity_frame', - '4x kubejs:universal_navigator', - '4x gtceu:uev_field_generator', - '24x gtceu:holmium_plate', - '4x #gtceu:circuits/uiv', - '2x gtceu:uiv_sensor', - '2x gtceu:uiv_emitter', - '4x gtceu:dense_naquadah_alloy_plate', - '8x gtceu:activated_netherite_quadruple_wire', - '32x gtceu:fine_ruthenium_trinium_americium_neutronate_wire') - .inputFluids('gtceu:soldering_alloy 11520', 'gtceu:crystal_matrix 5760', 'gtceu:naquadria 2304') - .itemOutputs('kubejs:extradimensional_navigator') - .stationResearch(b => b.researchStack('kubejs:universal_navigator').CWUt(160, 640000).EUt(3932160)) - .duration(6000) - .EUt(3932160) - - // Electrum Engine Frame - event.shaped('kubejs:electrum_micro_miner_frame', [ - 'PRP', - 'R R', - 'PRP' - ], { - P: 'gtceu:electrum_plate', - R: 'gtceu:electrum_rod', - }) - - // Signalum Engine Frame - event.shaped('kubejs:signalum_micro_miner_frame', [ - 'PRP', - 'R R', - 'PRP' - ], { - P: 'gtceu:signalum_plate', - R: 'gtceu:signalum_rod', - }) - - // Enderium Engine Frame - event.shaped('kubejs:enderium_micro_miner_frame', [ - 'PRP', - 'R R', - 'PRP' - ], { - P: 'gtceu:enderium_plate', - R: 'gtceu:enderium_rod', - }) - - // Electrum Engine Core - event.recipes.gtceu.canner("electrum_micro_miner_core") - .itemInputs("kubejs:electrum_micro_miner_frame", "2x minecraft:redstone_block") - .itemOutputs("kubejs:electrum_micro_miner_core") - .duration(500) - .EUt(480) - - // Signalum Engine Core - event.recipes.gtceu.canner("signalum_micro_miner_core") - .itemInputs("kubejs:signalum_micro_miner_frame", "4x minecraft:redstone_block") - .itemOutputs("kubejs:signalum_micro_miner_core") - .duration(1000) - .EUt(2000) - - // Enderium Engine Core - event.recipes.gtceu.canner("enderium_micro_miner_core") - .itemInputs("kubejs:enderium_micro_miner_frame", "8x minecraft:redstone_block") - .itemOutputs("kubejs:enderium_micro_miner_core") - .duration(2000) - .EUt(8000) - - // Gemstone Sensor - Optical Sensor has been replaced with a Quantum Eye, which is slightly cheaper. - event.shaped('kubejs:gem_sensor', [ - ' A ', - 'WCW', - ' W ' - ], { - A: 'gtceu:quantum_eye', - W: 'gtceu:tungsten_carbide_plate', - C: 'gtceu:iv_sensor' - }) + if (!isNormalMode) { + // T2.5 Microminer + event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t2half', [ + ' G ', + ' CQC ', + 'PPAPP', + 'PMBMP', + ' T T ', + ], { + G: 'kubejs:basic_micro_miner_guidance_system', + P: 'gtceu:double_dark_steel_plate', + A: 'gtceu:mv_field_generator', + C: 'minecraft:crossbow', + Q: 'thermal:potion_quiver', + B: 'gtceu:bronze_crate', + T: 'kubejs:hardened_thruster', + M: 'thermal:dynamo_magmatic' + }) + + // T4.5 Microminer + event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t4half', [ + ' LGL ', + 'F ltl F', + 'AllcllA', + ' llfll ', + 'ltctctl', + 'ldlfldl', + ' TTT ' + ], { + L: 'kubejs:reinforced_mining_laser', + G: 'kubejs:basic_micro_miner_guidance_system', + F: 'redstone_arsenal:flux_sword', + l: 'gtceu:double_lumium_plate', + t: 'gtceu:double_hsse_plate', + A: 'gtceu:hv_robot_arm', + c: 'kubejs:signalum_micro_miner_core', + f: 'gtceu:hv_field_generator', + d: 'thermal:dynamo_compression', + T: 'kubejs:energetic_thruster' + }).id('kubejs:microminer/t4half') + + // T8.5 Microminer + event.recipes.extendedcrafting.shaped_table('kubejs:microminer_t8half', [ + ' AAA ', + ' ANNNA ', + ' GNTTTNG ', + ' NNTFTNN ', + ' NTECETN ', + 'NNTSFSTNN', + 'NTTQWQTTN', + 'NTTYWYTTN', + ' XXX XXX ' + ], { + A: 'kubejs:supercharged_laser_array', + N: 'gtceu:double_naquadah_alloy_plate', + G: 'kubejs:advanced_micro_miner_guidance_system', + T: 'gtceu:double_trinium_plate', + F: 'gtceu:zpm_field_generator', + E: 'gtceu:zpm_emitter', + C: 'kubejs:abyssal_energy_core', + S: 'gtceu:naquadah_alloy_frame', + Q: 'gtceu:luv_quantum_chest', + W: 'kubejs:warp_core', + Y: 'kubejs:warp_controller', + X: 'kubejs:warp_engine' + }).id('kubejs:microminer/t8half') + } }) diff --git a/kubejs/server_scripts/microverse/mission_utils.js b/kubejs/server_scripts/microverse/mission_utils.js new file mode 100644 index 000000000..0bdcf4de2 --- /dev/null +++ b/kubejs/server_scripts/microverse/mission_utils.js @@ -0,0 +1,122 @@ +// priority: 1 +/** + * Utility functions for registering microminer missions, + * actualization chamber counterparts, + * and lower-tier projector missions more succinctly. + */ + +/** + * Array to keep track of how many missions are available for each microminer tier. + * Used to generate circuit numbers for each mission. + */ +global.mission_counts = { + "1": 0, + "2": 0, + "2half": 0, + "3": 0, + "4": 0, + "4half": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "8half": 0, + "9": 0, + "10": 0, + "11": 0, + "12": 0 +} + +/** + * Default durations for missions of a given microminer tier. + * Compare with repairDurations of repair.js. + */ +const missionDurations = { + "1": 100, + "2": 120, + "2half": 60, + "3": 150, + "4": 180, + "4half": 180, + "5": 200, + "6": 220, + "7": 240, + "8": 280, + "8half": 240, + "9": 300, + "10": 300, + "11": 360, + "12": 420 +} + +/** + * Default EU/t costs for missions of a given microminer tier. + */ +const missionEUt = { + "1": GTValues.VA[GTValues.HV], + "2": GTValues.VHA[GTValues.EV], + "2half": GTValues.VA[GTValues.EV], + "3": GTValues.VA[GTValues.EV], + "4": GTValues.VHA[GTValues.IV], + "4half": GTValues.VA[GTValues.IV], + "5": GTValues.VA[GTValues.IV], + "6": GTValues.VHA[GTValues.LuV], + "7": GTValues.VA[GTValues.LuV], + "8": GTValues.VA[GTValues.ZPM], + "8half": GTValues.VA[GTValues.ZPM], + "9": GTValues.VA[GTValues.UV], + "10": GTValues.VA[GTValues.UHV], + "11": GTValues.VA[GTValues.UEV], + "12": GTValues.VA[GTValues.UIV] +} + +/** + * Registers a basic microverse mission and equivalent actualization chamber recipe + * @param {Internal.RecipesEventJS} event Parameter used in consumer for ServerEvents.recipes(). + * @param {number|string} minerTier Miner tier index. Typically 1 through 12. + * @param {number} duration Recipe duration in seconds. Defaults based on the miner tier if left undefined. + * @param {number} EUt The EU per tick consumed by the recipe. Defaults based on the miner tier if left undefined. + * @param {number} minerReturnChance Chance a damaged miner is returned, in percent. [Integer 0-100] + * @returns {Internal.GTRecipeSchema$GTRecipeJS[]} Microverse recipe builders. Use this to add item and fluid I/O. + */ +function microverse_mission(event, minerTier, projectorTier, duration, EUt, minerReturnChance) { + // Increase global mission counter + global.mission_counts[minerTier]++; + + // Convert miner return chance from percentage to GTM's hundredth-of-a-percent format + minerReturnChance = Math.floor(minerReturnChance*100) + + // Use defaults if duration or EU/t not defined + if(duration == undefined) duration = missionDurations[minerTier] + if(EUt == undefined) EUt = missionEUt[minerTier] + + // We return an array of GT recipe builders for the caller to act upon with a .forEach + // rather than a long parameter list, multiple overloads, or varargs + const builders = []; + + // Register basic microverse mission + builders[0] = event.recipes.gtceu.microverse(`kubejs:mission_t${minerTier}_${global.mission_counts[minerTier]}`) + .addData("projector_tier", projectorTier) + .itemInputs(`kubejs:microminer_t${minerTier}`) + .duration(Math.round(duration*20)) + .EUt(EUt) + + if(isNaN(minerReturnChance) || minerReturnChance == undefined) { + // By default, return the microminer that was passed into the input. + builders[0].itemOutputs(`kubejs:microminer_t${minerTier}`) + } else if(minerReturnChance > 0) { + // Only return the damaged miner if the chance to return it is positive and real + builders[0].chancedOutput(`kubejs:damaged_microminer_t${minerTier}`, minerReturnChance, minerReturnChance == 10000 ? 0 : 500) + } + + // Register actualization chamber counterparts in Hard Mode and Expert Mode except for T9+ + if(isHardMode && minerTier < 9 || minerTier == "2half" || minerTier == "4half" || minerTier == "8half") { + builders[1] = event.recipes.gtceu.actualization_chamber(`kubejs:pristine_t${minerTier}_${global.mission_counts[minerTier]}`) + .itemInputs(`kubejs:pristine_matter_t${minerTier}`) + .circuit(global.mission_counts[minerTier]) + .duration(800) + .EUt(GTValues.VA[GTValues.LuV]) + } + + return builders; +} diff --git a/kubejs/server_scripts/microverse/pristine_matters.js b/kubejs/server_scripts/microverse/pristine_matters.js new file mode 100644 index 000000000..9e984bd49 --- /dev/null +++ b/kubejs/server_scripts/microverse/pristine_matters.js @@ -0,0 +1,54 @@ +/** + * Script for generating recipes for pristine matters and stabilized microminers. + */ +ServerEvents.recipes(event => { + if(isNormalMode) return; + + // Pristine Matter & corresponding projector tier + const pristine_matter = [ + ['1', 1], + ['2', 1], + ['2half', 1], + ['3', 1], + ['4', 2], + ['4half', 2], + ['5', 2], + ['6', 2], + ['7', 3], + ['8', 3], + ['8half', 3] + ] + + /** + * Function for making a stabilized miner assembly line recipe. + * @param {string} minerTier The tier of miner to generate a stabilized matter recipe for. Typically a string representation of a number. + */ + function stabilized_miner_recipe(minerTier) { + event.recipes.gtceu.assembly_line(`stable_t_${minerTier}`) + .itemInputs(`kubejs:microminer_t${minerTier}`, 'kubejs:heart_of_a_universe', '4x kubejs:hadal_shard', '24x gtceu:uv_field_generator', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate', '7x gtceu:dense_iridium_plate') + .inputFluids('gtceu:rocket_fuel 40800', 'gtceu:omnium 576', 'gtceu:neutronium 576') + .itemOutputs(`kubejs:stabilized_microminer_t${minerTier}`) + .duration(120) + .EUt(GTValues.VA[GTValues.UHV]) + } + + /** + * Function for making a pristine matter recipe + * @param {string} minerTier + * @param {number} projectorTier + */ + function pristine_matter_recipe(minerTier, projectorTier) { + event.recipes.gtceu.microverse(`pristine_${minerTier}`) + .addData("Microverse_Tier", projectorTier) + .notConsumable(`kubejs:stabilized_microminer_t${minerTier}`) + .itemOutputs(`kubejs:pristine_matter_t${minerTier}`) + .duration(470.4 * 20) + .EUt(GTValues.VA[GTValues.LuV]) + } + + // Apply recipe generation functions to each pristine matter tier + pristine_matter.forEach(([minerTier, projectorTier]) => { + pristine_matter_recipe(minerTier, projectorTier); + stabilized_miner_recipe(minerTier); + }); +}) diff --git a/kubejs/server_scripts/microverse/projectors.js b/kubejs/server_scripts/microverse/projectors.js new file mode 100644 index 000000000..2f952a54e --- /dev/null +++ b/kubejs/server_scripts/microverse/projectors.js @@ -0,0 +1,82 @@ +/** + * Recipes for crafting Microverse Projectors, Microversium, and Microversium casing. + */ +ServerEvents.recipes(event => { + // Microversium Ingot + event.recipes.gtceu.electric_blast_furnace("kubejs:microversium_ingot") + .itemInputs('2x gtceu:steel_ingot', "minecraft:redstone", "minecraft:glowstone_dust") + .inputFluids('gtceu:deuterium 100') + .itemOutputs('gtceu:microversium_ingot') + .duration(600) + .blastFurnaceTemp(1700) + .EUt(120) + + // Microverse Casing + event.shaped('2x kubejs:microverse_casing', [ + 'PPP', + 'PWP', + 'PPP' + ], { + P: 'gtceu:microversium_plate', + W: '#forge:tools/wrenches' + }).id('kubejs:shapeless/microverse_casing') + + event.recipes.gtceu.assembler("kubejs:microverse_casing") + .itemInputs("4x gtceu:microversium_plate") + .itemOutputs("kubejs:microverse_casing") + .duration(50) + .circuit(6) + .EUt(16) + + // Single-recipe microverse projectors + let projector = [ + ['basic_microverse_projector', '#gtceu:circuits/hv'], + ['advanced_microverse_projector', '#gtceu:circuits/ev'], + ['advanced_microverse_projector_ii', '#gtceu:circuits/iv'] + ] + + projector.forEach(projector => { + event.shaped(`gtceu:${projector[0]}`, [ + 'CMC', + 'MAM', + 'CMC' + ], { + C: projector[1], + M: 'kubejs:microverse_casing', + A: 'gtceu:computer_monitor_cover' + }).id(`kubejs:${projector[0]}`) + }) + + // Hyperbolic Microverse Projector + event.recipes.extendedcrafting.shaped_table('gtceu:hyperbolic_microverse_projector', [ + 'EPFPE', + 'PALAP', + 'FLRLF', + 'PALAP', + 'EPFPE' + ], { + E: 'gtceu:uv_field_generator', + P: 'gtceu:double_microversium_plate', + F: 'gtceu:uhv_emitter', + L: 'kubejs:microverse_casing', + A: '#gtceu:circuits/uev', + R: 'gtceu:computer_monitor_cover' + }).id('kubejs:shaped/hyperbolic_microverse_projector') + + if(isHardMode) { + event.recipes.extendedcrafting.shaped_table('gtceu:actualization_chamber', [ + 'PPPPP', + 'PEBSP', + 'PCFCP', + 'PSBEP', + 'PPPPP' + ], { + P: 'gtceu:americium_plate', + E: 'gtceu:uv_emitter', + B: 'gtceu:fusion_coil', + S: 'gtceu:uv_sensor', + F: 'gtceu:uv_field_generator', + C: '#gtceu:circuits/uv' + }) + } +}) diff --git a/kubejs/server_scripts/microverse/repair.js b/kubejs/server_scripts/microverse/repair.js new file mode 100644 index 000000000..7964dadd3 --- /dev/null +++ b/kubejs/server_scripts/microverse/repair.js @@ -0,0 +1,140 @@ +/** + * Recipe definitions for repairing microminers. + */ + +/** + * Durations for repairs of a given microminer tier. + * Compare with missionDurations of mission_utils.js. + */ +const repairDurations = { + "1": 60, + "2": 80, + "2half": 80, + "3": 100, + "4": 120, + "4half": 120, + "5": 150, + "6": 160, + "7": 180, + "8": 200, + "8half": 200, + "9": 240, + "10": 300, + "11": 360, + "12": 420 +} + +ServerEvents.recipes(event => { + /** + * Starts a recipe builder for a given microminer tier. Must be completed with more chanced input items. + * The miner tier determines the duration of the recipe. + * @param {number|string} minerTier Miner tier index. Typically 1 through 12. + * @param {string[]} doublePlateList List of the names of the double plate materials used to repair the hull. + * @param {string[]} heavyPlatingList List of the names of the heavy plating materials used to repair the hull. + */ + function repairing(minerTier, doublePlateList, heavyPlatingList) { + let minerTierNumber; + + if(minerTier == '2half') minerTierNumber = 2.5; + else if(minerTier == '4half') minerTierNumber = 4.5; + else if(minerTier == '8half') minerTierNumber = 8.5; + else minerTierNumber = minerTier; + + const builder = event.recipes.gtceu.assembler(`kubejs:repair_t${minerTier}`) + .itemInputs(`kubejs:damaged_microminer_t${minerTier}`) + .itemOutputs(`kubejs:microminer_t${minerTier}`) + .inputFluids(Fluid.of('gtceu:soldering_alloy', 36*minerTierNumber)) + .duration(20*repairDurations[minerTier]) + + if(doublePlateList != undefined) { + doublePlateList.forEach((name, index) => { + builder.chancedInput(`2x gtceu:double_${name}_plate`, 9000-1000*index, -1000+200*index) + }) + } + + if(heavyPlatingList != undefined) { + heavyPlatingList.forEach((name, index) => { + builder.chancedInput(`3x kubejs:${name}_heavy_plating`, 9000-1000*index, -1000+200*index) + }) + } + + return builder; + } + + repairing(6, ["enderium"]) + .EUt(GTValues.VHA[GTValues.LuV]) + .chancedInput('kubejs:supercharged_laser_array', 2800, -700) + .chancedInput('kubejs:resonant_thruster', 3000, -1500) + .chancedInput('kubejs:advanced_micro_miner_guidance_system', 3000, -1500) + .chancedInput('kubejs:enderium_micro_miner_core', 1800, -600) + + repairing(7, ["cryolobus", "naquadah"]) + .EUt(GTValues.VA[GTValues.LuV]) + .chancedInput('kubejs:supercharged_laser_array', 4000, -1000) + .chancedInput('kubejs:dark_soularium_thruster', 4000, -2000) + .chancedInput('kubejs:fluxed_thruster', 4000, -2000) + .chancedInput('kubejs:advanced_micro_miner_guidance_system', 3600, -1800) + .chancedInput('kubejs:enderium_micro_miner_core', 1800, -600) + .chancedInput('kubejs:bathyal_energy_core', 1200, -400) + + repairing(8, ["crystal_matrix", "rhodium_plated_palladium", "duranium"]) + .EUt(GTValues.VA[GTValues.ZPM]) + .chancedInput('kubejs:supercharged_laser_array', 4500, -900) + .chancedInput('kubejs:warp_engine', 5100, -1700) + .chancedInput('kubejs:advanced_micro_miner_guidance_system', 4000, -2000) + .chancedInput('kubejs:warp_core', 2400, -600) + + repairing(9, [], ["quantum_fluxed_eternium"]) + .EUt(GTValues.VA[GTValues.UV]) + .chancedInput('kubejs:hadal_energy_core', 4000, -800) + .chancedInput('kubejs:warp_engine', 5000, -1500) + .chancedInput('kubejs:universal_navigator', 4000, -700) + .chancedInput('kubejs:universal_warp_core', 2000, -400) + + repairing(10, [], ["universe_resistant_neutronium"]) + .EUt(GTValues.VA[GTValues.UHV]) + .chancedInput('kubejs:hadal_warp_engine', 6000, -1000) + .chancedInput('kubejs:universal_navigator', 5000, -750) + .chancedInput('kubejs:universal_warp_core', 3000, -600) + .chancedInput('kubejs:universal_warp_controller', 2400, -300) + + repairing(11, ["crystal_matrix"], ["elementally_infused_omnic_matrix"]) + .EUt(GTValues.VA[GTValues.UEV]) + .chancedInput('kubejs:hadal_warp_engine', 7500, -1200) + .chancedInput('kubejs:universal_navigator', 7000, -900) + .chancedInput('kubejs:universal_warp_core', 3000, -500) + .chancedInput('kubejs:universal_warp_controller', 2400, -500) + .chancedInput('kubejs:infinity_power_unit', 2000, -200) + + repairing(12, [], ["dimensionally_stabilized_infinity", "universe_resistant_neutronium"]) + .EUt(GTValues.VA[GTValues.UIV]) + .chancedInput('kubejs:hadal_warp_engine', 7500, -1000) + .chancedInput('kubejs:extradimensional_navigator', 6000, -600) + .chancedInput('kubejs:field_stabilised_omnic_pulsar_compound', 5000, -1000) + .chancedInput('kubejs:infinity_power_unit', 4500, -500) + .chancedInput('solarflux:sp_custom_infinity', 2500, -300) + + // Hardmode miners always need repairs for engaging in combat + if(isHardMode) { + repairing("2half", ["dark_steel"]) + .EUt(GTValues.VHA[GTValues.EV]) + .chancedInput('minecraft:crossbow', 1600, -400) + .chancedInput('kubejs:hardened_thruster', 2000, -1000) + .chancedInput('kubejs:basic_micro_miner_guidance_system', 1500, -1500) + + repairing("4half", ["lumium", "hsse"]) + .EUt(GTValues.VHA[GTValues.IV]) + .chancedInput('redstone_arsenal:flux_sword', 2400, -600) + .chancedInput('kubejs:energetic_thruster', 2000, -1000) + .chancedInput('kubejs:basic_micro_miner_guidance_system', 3000, -3000) + .chancedInput('kubejs:signalum_micro_miner_core', 1800, -600) + + repairing("8half", ["trinium", "naquadah_alloy"]) + .EUt(GTValues.VA[GTValues.ZPM]) + .chancedInput('kubejs:supercharged_laser_array', 4800, -1200) + .chancedInput('kubejs:warp_engine', 5000, -2500) + .chancedInput('kubejs:advanced_micro_miner_guidance_system', 4500, -4500) + .chancedInput('kubejs:warp_core', 2400, -800) + .chancedInput('kubejs:abyssal_energy_core', 1200, -400) + } +}) diff --git a/kubejs/server_scripts/mods/NuclearCraft.js b/kubejs/server_scripts/mods/NuclearCraft.js index e71673787..039fa87cf 100644 --- a/kubejs/server_scripts/mods/NuclearCraft.js +++ b/kubejs/server_scripts/mods/NuclearCraft.js @@ -277,7 +277,7 @@ ServerEvents.recipes(event => { event.shapeless('nuclearcraft:fission_reactor_port', ['nuclearcraft:fission_reactor_casing', "minecraft:hopper"]) event.recipes.gtceu.chemical_reactor('rhodochrosite_dust') - .itemInputs('12x gtceu:redstone_ore') + .itemInputs('12x gtceu:raw_redstone') .inputFluids('gtceu:sulfuric_acid 6000') .itemOutputs('nuclearcraft:rhodochrosite_dust') .outputFluids('gtceu:redstone 19008') diff --git a/kubejs/startup_scripts/hardmode/material_registry/microverse.js b/kubejs/startup_scripts/hardmode/material_registry/microverse.js index 4eb42bfcc..9bf800657 100644 --- a/kubejs/startup_scripts/hardmode/material_registry/microverse.js +++ b/kubejs/startup_scripts/hardmode/material_registry/microverse.js @@ -10,12 +10,14 @@ GTCEuStartupEvents.registry('gtceu:material', event => { event.create("darmstadtite") // Hardmode only .dust().ore(2, 1) .iconSet('dull') + .color(0x99AA87) .components('2x darmstadtium', '3x sulfur') .addOreByproducts('rare_earth', 'rhodium_sulfate', 'darmstadtium') event.create("dulysite") // Hardmode only - .dust().ore(2, 1) - .iconSet('dull') + .gem().ore(2, 1) + .iconSet(GTMaterialIconSet.DIAMOND) + .color(0xF5EFC0) .components('duranium', '3x chlorine') .addOreByproducts('sphalerite', 'duranium', 'europium') diff --git a/kubejs/startup_scripts/registry/block_registry.js b/kubejs/startup_scripts/registry/block_registry.js index ac84ebec6..026b7c932 100644 --- a/kubejs/startup_scripts/registry/block_registry.js +++ b/kubejs/startup_scripts/registry/block_registry.js @@ -148,26 +148,26 @@ StartupEvents.registry("block", event => { // Dense Ores const ores = [ - 'redstone_ore', - 'diamond_ore', - 'emerald_ore', - 'gold_ore', - 'lapis_ore', - 'iron_ore', - 'coal_ore', - 'copper_ore', - 'nether_quartz_ore', - 'oilsands_ore' + 'redstone', + 'diamond', + 'emerald', + 'gold', + 'lapis', + 'iron', + 'coal', + 'copper', + 'nether_quartz', + 'oilsands' ] ores.forEach(ore => { - event.create(`dense_${ore}`) + event.create(`dense_${ore}_ore`) .soundType('stone') .resistance(6) .hardness(5) .tagBlock('mineable/pickaxe') - .tagBlock('forge:ores/dense') - .tagBlock(`forge:ores/dense_${ore}`) + .tagBoth('forge:ores/dense') + .tagBoth(`forge:ores/dense/${ore}`) .requiresTool(true); }); @@ -176,8 +176,8 @@ StartupEvents.registry("block", event => { .resistance(6) .hardness(5) .tagBlock('mineable/pickaxe') - .tagBlock('forge:ores/dense') - .tagBlock('forge:ores/dense_magma') + .tagBoth('forge:ores/dense') + .tagBoth('forge:ores/dense/magma') .requiresTool(true) .lightLevel(1.0); diff --git a/kubejs/startup_scripts/registry/item_registry.js b/kubejs/startup_scripts/registry/item_registry.js index def687042..fd2b31276 100644 --- a/kubejs/startup_scripts/registry/item_registry.js +++ b/kubejs/startup_scripts/registry/item_registry.js @@ -5,15 +5,20 @@ StartupEvents.registry('item', event => { // Regular Microminers - for (let index = 1; index <= 12; index++) { - event.create(`microminer_t${index}`).maxStackSize(16).texture(`kubejs:item/microverse/microminer_t${index}`) + for (let tier = 1; tier <= 12; tier++) { + event.create(`microminer_t${tier}`).maxStackSize(16).texture(`kubejs:item/microverse/microminer_t${tier}`) + if(tier > 5) event.create(`damaged_microminer_t${tier}`).maxStackSize(16).textureJson({ layer0: `kubejs:item/microverse/microminer_t${tier}`, layer1: 'minecraft:block/destroy_stage_2' }) } // HM/EM Microminers if (!isNormalMode) { + event.create('microminer_t2half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t2half") + event.create('damaged_microminer_t2half').maxStackSize(16).textureJson({ layer0: 'kubejs:item/microverse/microminer_t2half', layer1: 'minecraft:block/destroy_stage_2' }) event.create('microminer_t4half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t4half") + event.create('damaged_microminer_t4half').maxStackSize(16).textureJson({ layer0: 'kubejs:item/microverse/microminer_t4half', layer1: 'minecraft:block/destroy_stage_2' }) event.create('microminer_t8half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t8half") + event.create('damaged_microminer_t8half').maxStackSize(16).textureJson({ layer0: 'kubejs:item/microverse/microminer_t8half', layer1: 'minecraft:block/destroy_stage_2' }) } @@ -21,7 +26,8 @@ StartupEvents.registry('item', event => { const pristine_matter = [ ['1', '#c0c0b0'], ['2', '#f5f5f1'], - ['3', '#736055'], + ['2half', '#414751'], + ['3', '#635480'], ['4', '#f17d3d'], ['4half', '#eef487'], ['5', '#fccc6a'], @@ -45,20 +51,27 @@ StartupEvents.registry('item', event => { } } - // Microminer Components event.create('basic_mining_laser').displayName("§eBasic Mining Laser") event.create('reinforced_mining_laser').displayName("§bReinforced Mining Laser") event.create('supercharged_laser_array').displayName("§eSupercharged Laser Array") event.create('basic_micro_miner_guidance_system').displayName("§eBasic Micro Miner Guidance System") event.create('advanced_micro_miner_guidance_system').displayName("§eAdvanced Micro Miner Guidance System") - event.create('gem_sensor').displayName("Gemstone Sensor") event.create('warp_engine').displayName("§dWarp Engine") event.create('hadal_warp_engine').displayName("§dHadal Warp Engine") event.create('universal_navigator').displayName("§dUniversal Navigator") event.create('extradimensional_navigator').displayName("§dExtradimensional Navigator") + + // Quantum Flux event.create('quantum_flux').displayName("§dQuantum Flux") + // Miner kits + event.create('gem_sensor').displayName("Gemstone Sensor") + event.create('basic_drill_kit') + event.create('advanced_drill_kit') + event.create('advanced_drill_kit_ii').displayName("Advanced Drill Kit II") + event.create('blasting_kit') + event.create('microversal_alchemy_kit') // Heavy platings event.create('quantum_fluxed_eternium_heavy_plating') diff --git a/kubejs/startup_scripts/registry/multiblock_registry.js b/kubejs/startup_scripts/registry/multiblock_registry.js index 0b2542a29..6e05df3bb 100644 --- a/kubejs/startup_scripts/registry/multiblock_registry.js +++ b/kubejs/startup_scripts/registry/multiblock_registry.js @@ -37,7 +37,7 @@ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { event.create('actualization_chamber') .category('multiblock') .setEUIO('in') - .setMaxIOSize(2, 20, 0, 0) + .setMaxIOSize(2, 12, 0, 0) .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.COOLING) @@ -53,38 +53,11 @@ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { } - // Small Microverse Projector Recipe Type - event.create('basic_microverse') + // Microverse Projector Recipe Type + event.create('microverse') .category('multiblock') .setEUIO('in') - .setMaxIOSize(4, 20, 1, 0) - .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.COOLING); - - // Advanced Microverse Projector Recipe Type - event.create('advanced_microverse') - .category('multiblock') - .setEUIO('in') - .setMaxIOSize(4, 16, 0, 0) - .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.COOLING); - - // Advanced Microverse Projector II Recipe Type - event.create('advanced_microverse_ii') - .category('multiblock') - .setEUIO('in') - .setMaxIOSize(8, 16, 0, 0) - .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.COOLING); - - // Advanced Microverse Projector III Recipe Type - event.create('advanced_microverse_iii') - .category('multiblock') - .setEUIO('in') - .setMaxIOSize(12, 16, 0, 0) + .setMaxIOSize(9, 12, 3, 0) .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.COOLING); @@ -185,6 +158,9 @@ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { GTCEuStartupEvents.registry('gtceu:machine', event => { + // EMI displays microverse projector tier + GTRecipeTypes.get('microverse').addDataInfo((data) => ("Projector Tier: " + data.getByte('projector_tier'))); // todo: get Text.translatable to work + // Normal mode-exclusive multis if (!isHardMode) { @@ -573,13 +549,20 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { .workableCasingRenderer("kubejs:block/cryolobus/cryolobus_casing", "gtceu:block/machines/electrolyzer", false) + let getMicroverseRecipeModifiers = tier => [ + GTRecipeModifiers.OC_NON_PERFECT, + (machine, recipe) => recipe.data.getLong('projector_tier') > tier? + ModifierFunction.NULL : ModifierFunction.IDENTITY + ] + // Basic Microverse Projector event.create('basic_microverse_projector', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeTypes('basic_microverse') + .recipeTypes('microverse') + .recipeModifiers(getMicroverseRecipeModifiers(1)) .appearanceBlock(() => Block.getBlock('kubejs:microverse_casing')) .pattern(definition => FactoryBlockPattern.start() - .aisle("CMC", "CVC", "CCC") + .aisle("CCC", "CVC", "CCC") .aisle("CCC", "GDG", "CCC") .aisle("C@C", "CGC", "CCC") .where("@", Predicates.controller(Predicates.blocks(definition.get()))) @@ -587,7 +570,6 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { .where('C', Predicates.blocks("kubejs:microverse_casing").setMinGlobalLimited(12) .or(Predicates.autoAbilities(definition.getRecipeTypes()))) .where('G', Predicates.blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) - .where('M', Predicates.abilities(PartAbility.MUFFLER)) .where('V', Predicates.blocks(GTBlocks.CASING_GRATE.get())) .build()) .workableCasingRenderer("kubejs:block/microverse/casing", @@ -596,7 +578,8 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { // Advanced Microverse Projector event.create('advanced_microverse_projector', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeTypes('advanced_microverse') + .recipeTypes('microverse') + .recipeModifiers(getMicroverseRecipeModifiers(2)) .appearanceBlock(() => Block.getBlock('kubejs:microverse_casing')) .pattern(definition => FactoryBlockPattern.start() .aisle("CCCCC", "CGGGC", "CGGGC", "CGGGC", "CCCCC") @@ -618,7 +601,8 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { // Advanced Microverse Projector II event.create('advanced_microverse_projector_ii', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeTypes('advanced_microverse_ii') + .recipeTypes('microverse') + .recipeModifiers(getMicroverseRecipeModifiers(3)) .appearanceBlock(() => Block.getBlock('kubejs:microverse_casing')) .pattern(definition => FactoryBlockPattern.start() .aisle("#########", "#########", "##CCCCC##", "##CVCVC##", "##CCCCC##", "##CVCVC##", "##CCCCC##", "#########", "#########") @@ -645,8 +629,8 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { // Microverse Projector III (Hyperbolic Microverse Projector) event.create('hyperbolic_microverse_projector', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeTypes(['basic_microverse', 'advanced_microverse', 'advanced_microverse_ii', 'advanced_microverse_iii']) - .recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.OC_NON_PERFECT]) + .recipeTypes('microverse') + .recipeModifiers(getMicroverseRecipeModifiers(4)) .appearanceBlock(() => Block.getBlock('kubejs:microverse_casing')) .pattern(definition => FactoryBlockPattern.start() .aisle("###CCCCC###", "###N###N###", "###N###N###", "###N###N###", "###N###N###", "###N###N###", "###N###N###", "###N###N###", "###N###N###", "###N###N###", "###CCCCC###")