init
This commit is contained in:
commit
d8d0e9d536
2567 changed files with 167778 additions and 0 deletions
160
kubejs/server_scripts/Early_Game.js
Normal file
160
kubejs/server_scripts/Early_Game.js
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
/**
|
||||
* Various early-game recipes
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Aluminum EBF recipe rebuild
|
||||
event.remove({ id: "gtceu:electric_blast_furnace/blast_aluminium" })
|
||||
event.remove({ id: "gtceu:electric_blast_furnace/blast_aluminium_gas" })
|
||||
event.recipes.gtceu.electric_blast_furnace("aluminium_ingot")
|
||||
.itemInputs("gtceu:aluminium_dust")
|
||||
.itemOutputs("gtceu:aluminium_ingot")
|
||||
.duration(400)
|
||||
.EUt(120)
|
||||
.circuit(1)
|
||||
.blastFurnaceTemp(1700)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("aluminium_ingot_gas")
|
||||
.itemInputs("gtceu:aluminium_dust")
|
||||
.inputFluids("gtceu:nitrogen 1000")
|
||||
.itemOutputs("gtceu:aluminium_ingot")
|
||||
.duration(268)
|
||||
.EUt(120)
|
||||
.circuit(2)
|
||||
.blastFurnaceTemp(1700)
|
||||
|
||||
// Ender Pearls
|
||||
event.recipes.gtceu.alloy_smelter("pulsating_ender_pearl")
|
||||
.itemInputs("#forge:gems/diamond", "#forge:dusts/pulsating")
|
||||
.itemOutputs("minecraft:ender_pearl")
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
|
||||
|
||||
const plantMaterial = ["#minecraft:leaves", "#minecraft:saplings", "minecraft:vine"]
|
||||
plantMaterial.forEach(ballIngredient => {
|
||||
event.shaped("gtceu:plant_ball", [
|
||||
"AAA",
|
||||
"A A",
|
||||
"AAA"
|
||||
], { A: ballIngredient })
|
||||
});
|
||||
|
||||
// Bronze Machine Casing
|
||||
event.recipes.gtceu.assembler("bronze_machine_casing_assembler")
|
||||
.itemInputs("8x gtceu:bronze_plate")
|
||||
.itemOutputs("gtceu:bronze_machine_casing")
|
||||
.circuit(8)
|
||||
.duration(25)
|
||||
.EUt(16)
|
||||
|
||||
// Hand-crushing
|
||||
event.shapeless("minecraft:gravel", ["#forge:cobblestone/normal", "#forge:tools/mortars"])
|
||||
event.shapeless("minecraft:sand", ["minecraft:gravel", "#forge:tools/hammers"])
|
||||
event.shapeless("kubejs:dust", ["minecraft:sand", "#forge:tools/hammers"])
|
||||
|
||||
// Dust hydration
|
||||
event.shapeless("minecraft:clay", ["kubejs:dust", "minecraft:water_bucket"])
|
||||
|
||||
// EIO Solar
|
||||
event.recipes.gtceu.alloy_smelter("photovoltaic_plate")
|
||||
.itemInputs("2x enderio:photovoltaic_composite", "gtceu:electrical_steel_plate")
|
||||
.itemOutputs("enderio:photovoltaic_plate")
|
||||
.duration(180)
|
||||
.EUt(16)
|
||||
|
||||
// Solar composite
|
||||
event.shapeless("3x enderio:photovoltaic_composite", ["gtceu:lapis_dust", "gtceu:coal_dust", "gtceu:silicon_dust"]).id("enderio:photovoltaic_composite")
|
||||
|
||||
event.remove({ id: "gtceu:assembler/phenolic_board" })
|
||||
event.recipes.gtceu.chemical_reactor("phenolic_board")
|
||||
.itemInputs("gtceu:resin_circuit_board")
|
||||
.inputFluids("gtceu:phenol 100")
|
||||
.itemOutputs("gtceu:phenolic_circuit_board")
|
||||
.duration(100)
|
||||
.EUt(8)
|
||||
|
||||
|
||||
// Resin Board stuff
|
||||
event.recipes.gtceu.assembler("kubejs:resin_board_assembler")
|
||||
.itemInputs("#minecraft:planks")
|
||||
.inputFluids("gtceu:glue 100")
|
||||
.itemOutputs("gtceu:resin_circuit_board")
|
||||
.circuit(1)
|
||||
.duration(150)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.assembler("gtceu:basic_circuit_board")
|
||||
.itemInputs("#minecraft:planks", "4x gtceu:copper_foil")
|
||||
.inputFluids("gtceu:glue 100")
|
||||
.itemOutputs("gtceu:resin_printed_circuit_board")
|
||||
.duration(200)
|
||||
.EUt(7)
|
||||
|
||||
// phenol
|
||||
|
||||
let steam = new JSONObject()
|
||||
steam.add("amount", 4000)
|
||||
steam.add("value", { tag: "forge:steam" })
|
||||
|
||||
// JSON object and FluidIngredientJS are loaded in server script _initial.js
|
||||
event.recipes.gtceu.pyrolyse_oven("phenol_coal")
|
||||
.itemInputs("16x minecraft:coal")
|
||||
.inputFluids(FluidIngredientJS.of(steam))
|
||||
.itemOutputs("20x gtceu:coke_gem")
|
||||
.outputFluids("gtceu:phenol 1000")
|
||||
.circuit(14)
|
||||
.duration(600)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven("phenol_coal_dust")
|
||||
.itemInputs("16x gtceu:coal_dust")
|
||||
.inputFluids(FluidIngredientJS.of(steam))
|
||||
.itemOutputs("20x gtceu:coke_dust")
|
||||
.outputFluids("gtceu:phenol 1000")
|
||||
.circuit(14)
|
||||
.duration(600)
|
||||
.EUt(30)
|
||||
|
||||
// Pyro Oven
|
||||
event.shaped("gtceu:pyrolyse_oven", [
|
||||
"PCW",
|
||||
"CHC",
|
||||
"PUW"
|
||||
], {
|
||||
P: "gtceu:lv_electric_piston",
|
||||
C: "#gtceu:circuits/lv",
|
||||
U: "gtceu:lv_electric_pump",
|
||||
W: "gtceu:cupronickel_quadruple_wire",
|
||||
H: "gtceu:ulv_machine_hull"
|
||||
}).id("gtceu:shaped/pyrolyse_oven")
|
||||
event.remove({ id: "gtceu:arc_furnace/arc_pyrolyse_oven" })
|
||||
event.remove({ id: "gtceu:macerator/macerate_pyrolyse_oven" })
|
||||
|
||||
// Toolbelts
|
||||
event.replaceInput({ output: "toolbelt:pouch" }, "minecraft:gold_ingot", "gtceu:steel_ingot")
|
||||
|
||||
// early canning (using this explicitly as it has types)
|
||||
// lithium, cadmium, sodium
|
||||
event.recipes.minecraft.crafting_shapeless("gtceu:lv_lithium_battery", ["gtceu:lv_battery_hull", "2x #forge:dusts/lithium"]).id("moni:lv_lithium_battery")
|
||||
event.recipes.minecraft.crafting_shapeless("gtceu:lv_cadmium_battery", ["gtceu:lv_battery_hull", "2x #forge:dusts/cadmium"]).id("moni:lv_cadmium_battery")
|
||||
event.recipes.minecraft.crafting_shapeless("gtceu:lv_sodium_battery", ["gtceu:lv_battery_hull", "2x #forge:dusts/sodium"]).id("moni:lv_sodium_battery")
|
||||
|
||||
// Battery Alloy Dust
|
||||
event.shapeless("4x gtceu:battery_alloy_dust", ["4x gtceu:lead_dust", "gtceu:antimony_dust"])
|
||||
|
||||
// Remake of cobble to gravel recipe due to recipe conflicts with Ad Astra Forge Hammer Recipes
|
||||
|
||||
event.remove({ id: "gtceu:forge_hammer/cobblestone_to_gravel" })
|
||||
function CobbleToGravel(id, input, output) {
|
||||
event.recipes.gtceu.forge_hammer(`kubejs:${id}`)
|
||||
.itemInputs(Item.of(input))
|
||||
.itemOutputs(output)
|
||||
.duration(10)
|
||||
.EUt(16)
|
||||
}
|
||||
|
||||
CobbleToGravel("cobbletogravel", "minecraft:cobblestone", "minecraft:gravel")
|
||||
CobbleToGravel("blackstonetogravel", "minecraft:blackstone", "minecraft:gravel")
|
||||
CobbleToGravel("deepslatetogravel", "minecraft:cobbled_deepslate", "minecraft:gravel")
|
||||
})
|
||||
495
kubejs/server_scripts/End_Game.js
Normal file
495
kubejs/server_scripts/End_Game.js
Normal file
|
|
@ -0,0 +1,495 @@
|
|||
/**
|
||||
* Various end-game recipes
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
event.recipes.gtceu.assembler("neutron_emitter")
|
||||
.itemInputs("4x gtceu:double_neutronium_plate", "6x gtceu:graphene_foil", "4x gtceu:polybenzimidazole_plate")
|
||||
.inputFluids("gtceu:tin_alloy 4608")
|
||||
.itemOutputs("kubejs:neutron_emitter")
|
||||
.duration(1000)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath("uranic_solution_uraninite")
|
||||
.inputFluids("gtceu:hypochlorous_acid 1000")
|
||||
.itemInputs("2x gtceu:purified_uraninite_ore")
|
||||
.outputFluids("gtceu:uranic_solution 1000")
|
||||
.duration(320)
|
||||
.EUt(GTValues.VHA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath("uranic_solution_pitchblende")
|
||||
.inputFluids("gtceu:hypochlorous_acid 1000")
|
||||
.itemInputs("2x gtceu:purified_pitchblende_ore")
|
||||
.outputFluids("gtceu:uranic_solution 1000")
|
||||
.duration(320)
|
||||
.EUt(GTValues.VHA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath("uranic_solution_thorium")
|
||||
.inputFluids("gtceu:hypochlorous_acid 1000")
|
||||
.itemInputs("2x gtceu:purified_thorium_ore")
|
||||
.outputFluids("gtceu:uranic_solution 1000")
|
||||
.duration(320)
|
||||
.EUt(GTValues.VHA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.electrolyzer("actinium_from_uranic_solution")
|
||||
.inputFluids("gtceu:uranic_solution 2000")
|
||||
.chancedInput("kubejs:neutron_emitter", 50, 0)
|
||||
.chancedOutput("gtceu:actinium_dust", 2000, 0)
|
||||
.chancedOutput("gtceu:thorium_dust", 3333, 0)
|
||||
.chancedOutput("3x gtceu:uraninite_dust", 5000, 0)
|
||||
.chancedItemOutputLogic(ChanceLogic.XOR)
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.itemOutputs("3x gtceu:lead_chloride_dust")
|
||||
.duration(160)
|
||||
.EUt(GTValues.VHA[GTValues.ZPM])
|
||||
|
||||
// Assembly Line
|
||||
// Dimensional Superassembler
|
||||
event.recipes.gtceu.assembly_line("dimensional_superassembler")
|
||||
.itemInputs("gtceu:assembly_line", "4x #gtceu:circuits/uiv", "16x gtceu:infinity_plate", "4x kubejs:dimensional_stabilization_netherite_casing", "16x kubejs:omnic_matrix_machine_casing", "6x gtceu:uev_conveyor_module", "4x gtceu:uev_robot_arm", "4x gtceu:uev_emitter", "2x gtceu:infinity_frame", "24x gtceu:polyethyl_cyanoacrylate_plate")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:omnium 5760")
|
||||
.itemOutputs("gtceu:dimensional_superassembler")
|
||||
.duration(6000)
|
||||
.EUt(13920000)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:assembly_line")
|
||||
.CWUt(160, 1024000)
|
||||
.EUt(1200000)
|
||||
)
|
||||
|
||||
|
||||
event.recipes.gtceu.assembly_line("gtceu:mega_alloy_blast_smelter")
|
||||
.itemInputs("gtceu:alloy_blast_smelter", "4x #gtceu:circuits/uhv", "4x gtceu:uv_field_generator", "4x #forge:springs/yttrium_barium_cuprate", "4x #forge:dense_plates/neutronium", "4x gtceu:ruthenium_trinium_americium_neutronate_quadruple_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 9216", "gtceu:omnium 5760")
|
||||
.itemOutputs("gtceu:mega_alloy_blast_smelter")
|
||||
.duration(4000)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:alloy_blast_smelter")
|
||||
.CWUt(128, 768000)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
)
|
||||
|
||||
// Helical Fusion Reactor
|
||||
event.recipes.gtceu.assembly_line("gtceu:helical_fusion_reactor")
|
||||
.itemInputs("gtceu:uv_fusion_reactor", "4x #gtceu:circuits/uev", "gtceu:gravi_star", "2x gtceu:double_activated_netherite_plate", "4x gtceu:uhv_field_generator", "64x kubejs:multidimensional_cpu_chip", "64x kubejs:multidimensional_cpu_chip", "64x gtceu:ruthenium_trinium_americium_neutronate_single_wire", "24x gtceu:polyethyl_cyanoacrylate_plate")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:omnium 5760")
|
||||
.itemOutputs("gtceu:helical_fusion_reactor")
|
||||
.duration(6000)
|
||||
.EUt(13920000)
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_fusion_reactor")
|
||||
.CWUt(160, 1024000)
|
||||
.EUt(1200000)
|
||||
)
|
||||
|
||||
|
||||
// Blacklight
|
||||
event.shaped("gtceu:blacklight", [
|
||||
"BPB",
|
||||
" S ",
|
||||
"CPW"
|
||||
], {
|
||||
B: "gtceu:tungsten_carbide_screw",
|
||||
C: "#gtceu:circuits/iv",
|
||||
P: "gtceu:tungsten_carbide_plate",
|
||||
S: "gtceu:hssg_spring",
|
||||
W: "gtceu:platinum_single_cable"
|
||||
}).id("gtceu:shaped/blacklight")
|
||||
|
||||
// Trinaquadalloy Mixer Recipe
|
||||
event.recipes.gtceu.mixer("mixer_trinaquadalloy")
|
||||
.itemInputs("6x gtceu:trinium_dust", "2x gtceu:naquadah_dust", "gtceu:carbon_dust")
|
||||
.itemOutputs("9x gtceu:trinaquadalloy_dust")
|
||||
.circuit(1)
|
||||
.duration(300)
|
||||
.EUt(491250)
|
||||
|
||||
// Fluxed Electrum Mixer Recipe
|
||||
event.recipes.gtceu.mixer("mixer_electrum_flux")
|
||||
.itemInputs("6x gtceu:electrum_dust", "gtceu:lumium_dust", "gtceu:signalum_dust")
|
||||
.itemOutputs("8x gtceu:electrum_flux_dust")
|
||||
.circuit(2)
|
||||
.duration(300)
|
||||
.EUt(129)
|
||||
|
||||
// Atomic Casings
|
||||
event.shaped("2x gtceu:atomic_casing", [
|
||||
"PHP",
|
||||
"PFP",
|
||||
"PWP"
|
||||
], {
|
||||
P: "gtceu:trinaquadalloy_plate",
|
||||
H: "#forge:tools/hammers",
|
||||
W: "#forge:tools/wrenches",
|
||||
F: "gtceu:naquadah_alloy_frame",
|
||||
}).id("gtceu:shaped/atomic_casing")
|
||||
|
||||
event.recipes.gtceu.assembler("atomic_casing")
|
||||
.itemInputs("6x gtceu:trinaquadalloy_plate", "gtceu:naquadah_alloy_frame")
|
||||
.itemOutputs("2x gtceu:atomic_casing")
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
.circuit(6)
|
||||
|
||||
// Sterilising Filter Casing
|
||||
event.shaped("4x gtceu:sterilizing_filter_casing", [
|
||||
"PEP",
|
||||
"FBF",
|
||||
"MSR"
|
||||
], {
|
||||
B: "gtceu:blacklight",
|
||||
E: "gtceu:luv_emitter",
|
||||
F: "gtceu:item_filter",
|
||||
M: "gtceu:luv_electric_motor",
|
||||
P: "gtceu:polybenzimidazole_large_fluid_pipe",
|
||||
R: "gtceu:iridium_rotor",
|
||||
S: "gtceu:tritanium_frame"
|
||||
}).id("gtceu:shaped/filter_casing_sterile")
|
||||
|
||||
// FLux Gem
|
||||
event.remove({ id: "redstone_arsenal:materials/flux_gem" })
|
||||
event.recipes.gtceu.autoclave("flux_gem")
|
||||
.itemInputs("minecraft:diamond")
|
||||
.inputFluids("gtceu:redstone 720")
|
||||
.itemOutputs("redstone_arsenal:flux_gem")
|
||||
.duration(200)
|
||||
.EUt(400)
|
||||
|
||||
// Ultimate Material
|
||||
event.recipes.gtceu.assembly_line("kubejs:the_ultimate_material")
|
||||
.itemInputs("kubejs:warden_heart", "4x kubejs:guardian_scale", "8x kubejs:wither_bone", "12x kubejs:ender_dragon_scale")
|
||||
.itemOutputs("kubejs:the_ultimate_material")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
.stationResearch(b => b
|
||||
.researchStack("kubejs:warden_heart")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(491520)
|
||||
)
|
||||
|
||||
// Flux Plating
|
||||
event.shaped("4x redstone_arsenal:flux_plating", [
|
||||
" P ",
|
||||
"PGP",
|
||||
" P "
|
||||
], {
|
||||
G: "redstone_arsenal:flux_gem",
|
||||
P: "gtceu:electrum_flux_plate"
|
||||
}).id("redstone_arsenal:materials/flux_plating")
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:flux_plating_assembly")
|
||||
.itemInputs("redstone_arsenal:flux_gem", "4x gtceu:electrum_flux_plate")
|
||||
.itemOutputs("4x redstone_arsenal:flux_plating")
|
||||
.duration(60)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
// Vacuum Freezer
|
||||
// kubejs Superconductor Wire
|
||||
event.recipes.gtceu.vacuum_freezer("sculk_superconductor")
|
||||
.itemInputs("gtceu:cryococcus_ingot")
|
||||
.itemOutputs("gtceu:sculk_superconductor_ingot")
|
||||
.inputFluids(Fluid.of("gtceu:nether_star", 144))
|
||||
.duration(100)
|
||||
.EUt(6000)
|
||||
|
||||
// Chemical Reactor
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("cryolobus_dust")
|
||||
.itemInputs("gtceu:manyullyn_dust", "minecraft:sculk_catalyst")
|
||||
.itemOutputs("gtceu:cryolobus_dust")
|
||||
.duration(500)
|
||||
.EUt(2000)
|
||||
|
||||
// Kubejs Stem Cells
|
||||
event.remove({ id: "gtceu:chemical_reactor/stem_cells" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/stem_cells" })
|
||||
event.recipes.gtceu.chemical_reactor("kubejs_stem_cells")
|
||||
.itemInputs("minecraft:dragon_egg")
|
||||
.chancedInput("minecraft:sculk_catalyst", 500, 0)
|
||||
.inputFluids("gtceu:sterilized_growth_medium 500", "gtceu:bacteria 500", "enderio:xp_juice 2000")
|
||||
.itemOutputs("64x gtceu:stem_cells")
|
||||
.itemOutputsRanged("gtceu:stem_cells", 0, 64)
|
||||
.outputFluids("gtceu:bacterial_sludge 500")
|
||||
.duration(6000)
|
||||
.EUt(30720)
|
||||
.cleanroom(CleanroomType.STERILE_CLEANROOM)
|
||||
|
||||
// Blast Furnace
|
||||
event.recipes.gtceu.electric_blast_furnace("quantum_fluxed_eternium_heavy_plating")
|
||||
.itemInputs("10x redstone_arsenal:flux_plating", "gtceu:cryococcus_plate", "16x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:krypton 1000")
|
||||
.itemOutputs("kubejs:quantum_fluxed_eternium_heavy_plating")
|
||||
.duration(200)
|
||||
.EUt(250000)
|
||||
.blastFurnaceTemp(9000)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("universe_resistant_neutronium_heavy_plating")
|
||||
.itemInputs("gtceu:neutronium_plate", "2x kubejs:mote_of_omnium", "16x gtceu:quantum_eye")
|
||||
.inputFluids("gtceu:xenon 1000")
|
||||
.itemOutputs("kubejs:universe_resistant_neutronium_heavy_plating")
|
||||
.duration(200)
|
||||
.EUt(250000)
|
||||
.blastFurnaceTemp(10000)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("elementally_infused_omnic_matrix_heavy_plating")
|
||||
.itemInputs("4x gtceu:omnium_plate", "gtceu:dense_crystal_matrix_plate", "gtceu:gravi_star", "4x gtceu:neutron_reflector", "16x kubejs:primal_mana")
|
||||
.itemOutputs("kubejs:elementally_infused_omnic_matrix_heavy_plating")
|
||||
.duration(100)
|
||||
.EUt(1000000)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("dimensionally_stabilized_infinity_heavy_plating")
|
||||
.itemInputs("gtceu:infinity_plate", "gtceu:dense_activated_netherite_plate", "kubejs:quasi_stable_neutron_star", "8x gtceu:neutron_reflector", "12x kubejs:the_ultimate_material")
|
||||
.itemOutputs("kubejs:dimensionally_stabilized_infinity_heavy_plating")
|
||||
.duration(100)
|
||||
.EUt(4000000)
|
||||
|
||||
// Mote of omnium
|
||||
event.recipes.gtceu.implosion_compressor("implosion_compressor_ominium_nugget")
|
||||
.itemInputs("kubejs:mote_of_omnium", "minecraft:tnt")
|
||||
.itemOutputs("gtceu:omnium_nugget")
|
||||
.duration(20)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.implosion_compressor("implosion_compressor_ominium_nugget_itnt")
|
||||
.itemInputs("4x kubejs:mote_of_omnium", "gtceu:industrial_tnt")
|
||||
.itemOutputs("4x gtceu:omnium_nugget")
|
||||
.duration(20)
|
||||
.EUt(30)
|
||||
|
||||
// Crystal Matrix Materials
|
||||
event.shaped("kubejs:diamond_lattice", [
|
||||
"PBP",
|
||||
"BGB",
|
||||
"PBP"
|
||||
], {
|
||||
P: "minecraft:diamond",
|
||||
G: "gtceu:exquisite_diamond_gem",
|
||||
B: "gtceu:diamond_screw"
|
||||
}).id("kubejs:diamond_lattice")
|
||||
event.recipes.gtceu.assembler("kubejs:diamond_lattice")
|
||||
.itemInputs("gtceu:flawless_diamond_gem", "2x gtceu:diamond_plate", "4x gtceu:diamond_screw")
|
||||
.itemOutputs("kubejs:diamond_lattice")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
// Ultimate Gem
|
||||
event.recipes.extendedcrafting.shapeless_table(
|
||||
"kubejs:ultimate_gem",
|
||||
[
|
||||
"kubejs:destabilized_clathrate",
|
||||
"gtceu:enori_empowered_gem",
|
||||
"enderio:ender_crystal",
|
||||
"enderio:vibrant_crystal",
|
||||
"gtceu:dilithium_gem",
|
||||
"enderio:enticing_crystal",
|
||||
"enderio:weather_crystal",
|
||||
"enderio:prescient_crystal",
|
||||
"enderio:pulsating_crystal",
|
||||
"minecraft:prismarine_shard",
|
||||
"gtceu:cinnabar_gem",
|
||||
"kubejs:energized_clathrate",
|
||||
"minecraft:quartz",
|
||||
"gtceu:certus_quartz_gem",
|
||||
"gtceu:fluix_gem",
|
||||
"gtceu:restonia_empowered_gem",
|
||||
"gtceu:palis_empowered_gem",
|
||||
"gtceu:diamatine_empowered_gem",
|
||||
"gtceu:void_empowered_gem",
|
||||
"gtceu:emeradic_empowered_gem",
|
||||
"kubejs:resonating_crystal",
|
||||
"minecraft:emerald",
|
||||
"redstone_arsenal:flux_gem",
|
||||
"minecraft:diamond",
|
||||
"kubejs:resonant_clathrate"
|
||||
]
|
||||
)
|
||||
|
||||
event.recipes.extendedcrafting.shaped_table("gtceu:zero_point_module", [
|
||||
" PPPPP ",
|
||||
" PBCBP ",
|
||||
" PCBCP ",
|
||||
" PBCBP ",
|
||||
" ZZZ ",
|
||||
" ZFZ ",
|
||||
" ZFZ ",
|
||||
" ZZZ ",
|
||||
" PPP "
|
||||
], {
|
||||
B: "kubejs:stabilized_berkelium",
|
||||
C: "kubejs:stabilized_californium",
|
||||
F: "gtceu:zpm_field_generator",
|
||||
P: "nuclearcraft:plate_elite",
|
||||
Z: "#gtceu:circuits/zpm"
|
||||
})
|
||||
|
||||
// World Accelerators
|
||||
event.remove({ id: "gtceu:shaped/lv_world_accelerator" })
|
||||
event.remove({ id: "gtceu:shaped/mv_world_accelerator" })
|
||||
event.remove({ id: "gtceu:shaped/hv_world_accelerator" })
|
||||
event.remove({ id: "gtceu:shaped/ev_world_accelerator" })
|
||||
event.remove({ id: "gtceu:shaped/iv_world_accelerator" })
|
||||
event.remove({ id: "gtceu:shaped/luv_world_accelerator" })
|
||||
event.remove({ id: "gtceu:shaped/zpm_world_accelerator" })
|
||||
event.remove({ id: "gtceu:shaped/uv_world_accelerator" })
|
||||
|
||||
event.recipes.gtceu.assembly_line("hv_world_accelerator")
|
||||
.itemInputs("gtceu:luv_machine_hull", "64x gtceu:luv_field_generator", "16x gtceu:luv_field_generator", "20x gtceu:luv_sensor", "20x gtceu:luv_emitter", "16x #gtceu:circuits/luv", "4x gtceu:double_iridium_plate", "2x gtceu:dense_cryolobus_plate")
|
||||
.inputFluids("gtceu:enderium 1152", "gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("gtceu:hv_world_accelerator")
|
||||
.stationResearch(b => b.researchStack("minecraft:clock").CWUt(4, 16000))
|
||||
.duration(6000)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.assembly_line("ev_world_accelerator")
|
||||
.itemInputs("gtceu:zpm_machine_hull", "64x gtceu:zpm_field_generator", "16x gtceu:zpm_field_generator", "20x gtceu:zpm_sensor", "20x gtceu:zpm_emitter", "16x #gtceu:circuits/zpm", "4x gtceu:double_europium_plate", "2x gtceu:dense_cryolobus_plate")
|
||||
.inputFluids("gtceu:enderium 1152", "gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("gtceu:ev_world_accelerator")
|
||||
.duration(6000)
|
||||
.EUt(122880)
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:hv_world_accelerator")
|
||||
.CWUt(32, 128000)
|
||||
.EUt(122880)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("iv_world_accelerator")
|
||||
.itemInputs("gtceu:uv_machine_hull", "64x gtceu:uv_field_generator", "16x gtceu:uv_field_generator", "20x gtceu:uv_sensor", "20x gtceu:uv_emitter", "16x #gtceu:circuits/uv", "4x gtceu:double_europium_plate", "2x gtceu:dense_neutronium_plate")
|
||||
.inputFluids("gtceu:enderium 1152", "gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("gtceu:iv_world_accelerator")
|
||||
.duration(6000)
|
||||
.EUt(491520)
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:ev_world_accelerator")
|
||||
.CWUt(64, 256000)
|
||||
.EUt(491520)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("luv_world_accelerator")
|
||||
.itemInputs("gtceu:uhv_machine_hull", "64x gtceu:uhv_field_generator", "16x gtceu:uhv_field_generator", "20x gtceu:uhv_sensor", "20x gtceu:uhv_emitter", "16x #gtceu:circuits/uhv", "4x gtceu:double_activated_netherite_plate", "2x gtceu:dense_neutronium_plate")
|
||||
.inputFluids("gtceu:omnium 1152", "gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("gtceu:luv_world_accelerator")
|
||||
.duration(6000)
|
||||
.EUt(1966080)
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:iv_world_accelerator")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(1966080)
|
||||
)
|
||||
|
||||
// Beyond this point we could probably just treat these like joke items
|
||||
event.recipes.gtceu.assembly_line("zpm_world_accelerator")
|
||||
.itemInputs("gtceu:uev_machine_hull", "64x gtceu:uev_field_generator", "16x gtceu:uev_field_generator", "20x gtceu:uev_sensor", "20x gtceu:uev_emitter", "16x #gtceu:circuits/uev", "4x gtceu:double_holmium_plate", "2x gtceu:dense_infinity_plate")
|
||||
.inputFluids("gtceu:omnium 1152", "gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("gtceu:zpm_world_accelerator")
|
||||
.duration(6000)
|
||||
.EUt(7864320)
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:luv_world_accelerator")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(7864320)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uv_world_accelerator")
|
||||
.itemInputs("gtceu:uiv_machine_hull", "64x gtceu:uiv_field_generator", "16x gtceu:uiv_field_generator", "20x gtceu:uiv_sensor", "20x gtceu:uiv_emitter", "16x #gtceu:circuits/uiv", "4x gtceu:double_monium_plate", "2x gtceu:dense_infinity_plate")
|
||||
.inputFluids("gtceu:omnium 11520", "gtceu:soldering_alloy 11520")
|
||||
.itemOutputs("gtceu:uv_world_accelerator")
|
||||
.duration(6000)
|
||||
.EUt(31457280)
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:zpm_world_accelerator")
|
||||
.CWUt(256, 1024000)
|
||||
.EUt(31457280)
|
||||
)
|
||||
|
||||
// ! Creative Items !//
|
||||
|
||||
// Creative Jetpack
|
||||
event.recipes.extendedcrafting.shaped_table(Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:creative"}').weakNBT(), [
|
||||
" C L ",
|
||||
" CCC LLL ",
|
||||
" CVCFLEL ",
|
||||
" CVCILEL ",
|
||||
" CVCDLEL ",
|
||||
" CVC LEL ",
|
||||
" SSS HHH ",
|
||||
" N R ",
|
||||
" NNN RRR "
|
||||
], {
|
||||
C: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:conductive_iron"}').weakNBT(),
|
||||
D: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:dark_soularium"}').weakNBT(),
|
||||
E: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:resonant"}').weakNBT(),
|
||||
F: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:fluxed"}').weakNBT(),
|
||||
H: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:hardened"}').weakNBT(),
|
||||
I: "kubejs:infinity_catalyst",
|
||||
L: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:leadstone"}').weakNBT(),
|
||||
N: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:energetic"}').weakNBT(),
|
||||
R: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:reinforced"}').weakNBT(),
|
||||
S: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:electrical_steel"}').weakNBT(),
|
||||
V: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:vibrant"}').weakNBT()
|
||||
})
|
||||
|
||||
// Creative Solar Panel
|
||||
event.recipes.extendedcrafting.shaped_table("solarflux:sp_custom_infinity", [
|
||||
"SNNNNNNNS",
|
||||
"NPPPNPPPN",
|
||||
"NPPPNPPPN",
|
||||
"NPPPNPPPN",
|
||||
"NNNNINNNN",
|
||||
"NPPPNPPPN",
|
||||
"NPPPNPPPN",
|
||||
"NPPPNPPPN",
|
||||
"SNNNNNNNS"
|
||||
], {
|
||||
I: "kubejs:infinity_catalyst",
|
||||
N: "gtceu:neutronium_plate",
|
||||
P: "gtceu:infinity_plate",
|
||||
S: "solarflux:sp_custom_neutronium"
|
||||
})
|
||||
|
||||
// Creative Chest
|
||||
event.recipes.extendedcrafting.shaped_table("2x gtceu:creative_chest", [
|
||||
"BMMMMMMMMMB",
|
||||
"MIWOPPPOYIM",
|
||||
"MIFNNNNNFIM",
|
||||
"MINCSSSCNIM",
|
||||
"RUSSAQASSUR",
|
||||
"REEMGHGMEER",
|
||||
"RUTTAQATTUR",
|
||||
"MINCTTTCNIM",
|
||||
"MIFNNNNNFIM",
|
||||
"MIXPPZPPVIM",
|
||||
"BMMMMMMMMMB"
|
||||
], {
|
||||
A: "kubejs:furious_infinity_catalyst",
|
||||
B: "gtceu:monium_block",
|
||||
C: "kubejs:serene_infinity_catalyst",
|
||||
E: "kubejs:creative_energy_data",
|
||||
F: "gtceu:uiv_field_generator",
|
||||
G: "gtceu:monium_gear",
|
||||
H: "gtceu:max_machine_hull",
|
||||
I: "kubejs:elementally_infused_omnic_matrix_heavy_plating",
|
||||
M: "kubejs:causality_exempt_monic_heavy_plating",
|
||||
N: "kubejs:dimensionally_stabilized_infinity_heavy_plating",
|
||||
O: "gtceu:uiv_sensor",
|
||||
P: "kubejs:monic_processor_mainframe",
|
||||
Q: "kubejs:field_stabilised_omnic_pulsar_compound",
|
||||
R: "gtceu:uiv_robot_arm",
|
||||
S: "kubejs:creative_storage_data",
|
||||
T: "kubejs:omnic_data",
|
||||
U: "gtceu:subatomic_digital_assembler",
|
||||
V: "kubejs:infinity_file",
|
||||
W: "kubejs:infinity_screwdriver",
|
||||
X: "kubejs:infinity_wrench",
|
||||
Y: "kubejs:infinity_hammer",
|
||||
Z: "kubejs:infinity_wire_cutter"
|
||||
})
|
||||
|
||||
event.recipes.gtceu.canner("contained_singularity")
|
||||
.itemInputs("kubejs:singularity_containment_unit", "ae2:singularity")
|
||||
.itemOutputs("kubejs:contained_singularity")
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.UEV])
|
||||
})
|
||||
231
kubejs/server_scripts/Extended_Crafting_Recipes.js
Normal file
231
kubejs/server_scripts/Extended_Crafting_Recipes.js
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
/**
|
||||
* Anything that is an extended crafting recipe comes here
|
||||
! DO NOT PUT CREATIVE STUFF, PUT IT ON END_GAME.js
|
||||
? For end game intermediates (ingots plates..) that uses ectendedcrafting, put it here
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// ETERNAL CATALYST
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:eternal_catalyst", [
|
||||
" A ",
|
||||
" A A A ",
|
||||
" AAPAA ",
|
||||
" ARWEA ",
|
||||
"AAVXUYDAA",
|
||||
" AEZRA ",
|
||||
" AAIAA ",
|
||||
" A A A ",
|
||||
" A "
|
||||
], {
|
||||
A: "kubejs:mote_of_omnium",
|
||||
P: "gtceu:palis_empowered_gear",
|
||||
R: "gtceu:restonia_empowered_gear",
|
||||
V: "gtceu:void_empowered_gear",
|
||||
E: "gtceu:emeradic_empowered_gear",
|
||||
I: "gtceu:enori_empowered_gear",
|
||||
D: "gtceu:diamatine_empowered_gear",
|
||||
W: "kubejs:ender_star",
|
||||
X: "gtceu:gravi_star",
|
||||
Z: "gtceu:quantum_star",
|
||||
Y: "kubejs:endest_star",
|
||||
U: "kubejs:the_ultimate_material"
|
||||
}).id("kubejs:extended/eternal_catalyst");
|
||||
|
||||
// INFINITY CATALYST
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:infinity_catalyst", [
|
||||
"PPPPEPPPP",
|
||||
"PEPPEPPEP",
|
||||
"PPEEEEEPP",
|
||||
"PPEECEEPP",
|
||||
"EEECHCEEE",
|
||||
"PPEECEEPP",
|
||||
"PPEEEEEPP",
|
||||
"PEPPEPPEP",
|
||||
"PPPPEPPPP",
|
||||
], {
|
||||
P: "gtceu:tiny_neutronium_dust",
|
||||
E: "kubejs:eternal_catalyst",
|
||||
C: "kubejs:hadal_energy_core",
|
||||
H: "kubejs:heart_of_a_universe"
|
||||
}).id("kubejs:extended/infinity_catalyst");
|
||||
|
||||
// infinity ingot
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:dormant_infinity_compound_ingot", [
|
||||
" ",
|
||||
" BAAA",
|
||||
" BAAADCA",
|
||||
"AAACDCCDA",
|
||||
"ACDDCDDCA",
|
||||
"ADCCDCAAA",
|
||||
"ACDAAAB ",
|
||||
"AAAB ",
|
||||
" "
|
||||
], {
|
||||
A: "gtceu:neutronium_ingot",
|
||||
B: "gtceu:neutronium_nugget",
|
||||
C: "gtceu:activated_netherite_ingot",
|
||||
D: "kubejs:eternal_catalyst"
|
||||
}).id("kubejs:extended/infinity_compound")
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("infinity_ingot_activation")
|
||||
.itemInputs("kubejs:dormant_infinity_compound_ingot", "kubejs:infinity_catalyst")
|
||||
.inputFluids(Fluid.of("gtceu:omnium", 576))
|
||||
.itemOutputs("gtceu:infinity_ingot")
|
||||
.duration(400)
|
||||
.EUt(50000)
|
||||
.blastFurnaceTemp(12500)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("infinity_ingot_activation_t2")
|
||||
.itemInputs("4x kubejs:dormant_infinity_compound_ingot", "kubejs:furious_infinity_catalyst")
|
||||
.inputFluids(Fluid.of("gtceu:omnium", 576))
|
||||
.itemOutputs("4x gtceu:infinity_ingot", "kubejs:dormant_furious_infinity_catalyst")
|
||||
.duration(300)
|
||||
.EUt(250000)
|
||||
.blastFurnaceTemp(12500)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("infinity_ingot_activation_t3")
|
||||
.itemInputs("16x kubejs:dormant_infinity_compound_ingot", "kubejs:serene_infinity_catalyst")
|
||||
.inputFluids(Fluid.of("gtceu:omnium", 576))
|
||||
.itemOutputs("16x gtceu:infinity_ingot", "kubejs:inert_serene_infinity_catalyst")
|
||||
.duration(200)
|
||||
.EUt(1000000)
|
||||
.blastFurnaceTemp(12500)
|
||||
|
||||
|
||||
// mote of omnium
|
||||
event.recipes.extendedcrafting.shapeless_table(
|
||||
"kubejs:mote_of_omnium", [
|
||||
"gtceu:tiny_nether_star_dust",
|
||||
"kubejs:solidified_hydrogen",
|
||||
"kubejs:solidified_helium",
|
||||
"gtceu:lithium_dust",
|
||||
"gtceu:beryllium_ingot",
|
||||
"gtceu:boron_dust",
|
||||
"gtceu:carbon_dust",
|
||||
"kubejs:solidified_nitrogen",
|
||||
"gtceu:tiny_nether_star_dust",
|
||||
"kubejs:solidified_oxygen",
|
||||
"kubejs:solidified_fluorine",
|
||||
"kubejs:solidified_neon",
|
||||
"gtceu:sodium_dust",
|
||||
"gtceu:magnesium_dust",
|
||||
"gtceu:aluminium_ingot",
|
||||
"gtceu:silicon_dust",
|
||||
"gtceu:phosphorus_dust",
|
||||
"gtceu:sulfur_dust",
|
||||
"kubejs:solidified_chlorine",
|
||||
"kubejs:solidified_argon",
|
||||
"gtceu:potassium_dust",
|
||||
"gtceu:calcium_dust",
|
||||
"gtceu:titanium_ingot",
|
||||
"gtceu:vanadium_ingot",
|
||||
"gtceu:chromium_ingot",
|
||||
"gtceu:manganese_ingot",
|
||||
"iron_ingot",
|
||||
"gtceu:cobalt_ingot",
|
||||
"gtceu:nickel_ingot",
|
||||
"copper_ingot",
|
||||
"gtceu:zinc_ingot",
|
||||
"gtceu:gallium_ingot",
|
||||
"gtceu:arsenic_dust",
|
||||
"kubejs:solidified_krypton",
|
||||
"gtceu:yttrium_ingot",
|
||||
"gtceu:niobium_ingot",
|
||||
"gtceu:molybdenum_ingot",
|
||||
"gtceu:ruthenium_ingot",
|
||||
"gtceu:rhodium_ingot",
|
||||
"kubejs:exotic_materials_catalyst",
|
||||
"gtceu:palladium_ingot",
|
||||
"gtceu:silver_ingot",
|
||||
"gtceu:cadmium_dust",
|
||||
"gtceu:indium_ingot",
|
||||
"gtceu:tin_ingot",
|
||||
"gtceu:antimony_ingot",
|
||||
"kubejs:solidified_xenon",
|
||||
"gtceu:caesium_dust",
|
||||
"gtceu:barium_dust",
|
||||
"gtceu:lanthanum_dust",
|
||||
"gtceu:cerium_dust",
|
||||
"gtceu:neodymium_ingot",
|
||||
"gtceu:samarium_ingot",
|
||||
"gtceu:europium_ingot",
|
||||
"gtceu:lutetium_ingot",
|
||||
"gtceu:tantalum_ingot",
|
||||
"gtceu:tungsten_ingot",
|
||||
"gtceu:osmium_ingot",
|
||||
"gtceu:iridium_ingot",
|
||||
"gtceu:platinum_ingot",
|
||||
"gold_ingot",
|
||||
"kubejs:solidified_mercury",
|
||||
"gtceu:lead_ingot",
|
||||
"gtceu:bismuth_ingot",
|
||||
"kubejs:solidified_radon",
|
||||
"gtceu:thorium_ingot",
|
||||
"kubejs:stabilized_uranium",
|
||||
"kubejs:stabilized_neptunium",
|
||||
"kubejs:stabilized_plutonium",
|
||||
"gtceu:americium_ingot",
|
||||
"kubejs:stabilized_curium",
|
||||
"kubejs:stabilized_berkelium",
|
||||
"gtceu:tiny_nether_star_dust",
|
||||
"kubejs:stabilized_californium",
|
||||
"kubejs:stabilized_einsteinium",
|
||||
"gtceu:darmstadtium_ingot",
|
||||
"gtceu:tritanium_ingot",
|
||||
"gtceu:duranium_ingot",
|
||||
"gtceu:trinium_ingot",
|
||||
"gtceu:naquadah_ingot",
|
||||
"gtceu:tiny_nether_star_dust",
|
||||
]
|
||||
).id("kubejs:extended/mote_of_omnium")
|
||||
|
||||
// exotic material catalyst
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:exotic_materials_catalyst", [
|
||||
"A B C",
|
||||
" D E F ",
|
||||
" GHI ",
|
||||
"JKLMNOP",
|
||||
" QRS ",
|
||||
" T U V ",
|
||||
"W X Y"
|
||||
], {
|
||||
A: "gtceu:nichrome_ingot",
|
||||
B: "gtceu:red_steel_ingot",
|
||||
C: "gtceu:kanthal_ingot",
|
||||
D: "gtceu:magnalium_ingot",
|
||||
E: "gtceu:mythril_ingot",
|
||||
F: "gtceu:manyullyn_ingot",
|
||||
G: "gtceu:enderium_ingot",
|
||||
H: "gtceu:blue_steel_ingot",
|
||||
I: "gtceu:microversium_ingot",
|
||||
J: "gtceu:vanadium_steel_ingot",
|
||||
K: "gtceu:rhodium_plated_palladium_ingot",
|
||||
L: "gtceu:electrum_flux_ingot",
|
||||
M: "gtceu:dark_soularium_ingot",
|
||||
N: "gtceu:crystal_matrix_ingot",
|
||||
O: "gtceu:end_steel_ingot",
|
||||
P: "gtceu:electrical_steel_ingot",
|
||||
Q: "gtceu:signalum_ingot",
|
||||
R: "gtceu:vibrant_alloy_ingot",
|
||||
S: "gtceu:soularium_ingot",
|
||||
T: "gtceu:hsse_ingot",
|
||||
U: "gtceu:dark_steel_ingot",
|
||||
V: "gtceu:hssg_ingot",
|
||||
W: "gtceu:ruridit_ingot",
|
||||
X: "gtceu:hsss_ingot",
|
||||
Y: "gtceu:energetic_alloy_ingot"
|
||||
}).id("kubejs:extended/exotic_materials_catalyst")
|
||||
|
||||
// Angel Ring
|
||||
event.recipes.extendedcrafting.shaped_table("better_angel_ring:angel_ring", [
|
||||
" AAA ",
|
||||
"A B A",
|
||||
"AC CA",
|
||||
"A B A",
|
||||
" AAA "
|
||||
], {
|
||||
A: "gtceu:rose_gold_ingot",
|
||||
B: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:energetic"}').weakNBT(),
|
||||
C: Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:reinforced"}').weakNBT(),
|
||||
}).id("kubejs:extended/angel_ring")
|
||||
})
|
||||
142
kubejs/server_scripts/Infinity_Toolset.js
Normal file
142
kubejs/server_scripts/Infinity_Toolset.js
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
/** Infinity Toolset recipes and subrecipes */
|
||||
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Infinity File
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:infinity_file", [
|
||||
" A ",
|
||||
" BCA ",
|
||||
"ACBCA ",
|
||||
" ACBCA ",
|
||||
" ACBCE ",
|
||||
" ACDE ",
|
||||
" EEEE ",
|
||||
" EEE",
|
||||
" EE",
|
||||
], {
|
||||
A: "gtceu:neutronium_plate",
|
||||
B: "gtceu:infinity_plate",
|
||||
C: "gtceu:eltz_plate",
|
||||
D: "kubejs:infinity_power_unit",
|
||||
E: "gtceu:omnium_ingot"
|
||||
});
|
||||
|
||||
// Infinity Hammer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:infinity_hammer", [
|
||||
" B ",
|
||||
" BCA ",
|
||||
" BCBCA ",
|
||||
" ACBCA ",
|
||||
" EDCBCB",
|
||||
" EEEACB ",
|
||||
" EEE B ",
|
||||
"EEE ",
|
||||
"EE ",
|
||||
], {
|
||||
A: "gtceu:neutronium_ingot",
|
||||
B: "gtceu:infinity_ingot",
|
||||
C: "gtceu:eltz_ingot",
|
||||
D: "kubejs:infinity_power_unit",
|
||||
E: "gtceu:omnium_ingot"
|
||||
});
|
||||
|
||||
// Infinity Screwdriver
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:infinity_screwdriver", [
|
||||
" BC",
|
||||
" BCB",
|
||||
" BCB ",
|
||||
" BCB ",
|
||||
" AACB ",
|
||||
" ECDA ",
|
||||
" ECCA ",
|
||||
"EEEE ",
|
||||
"EE ",
|
||||
], {
|
||||
A: "gtceu:neutronium_rod",
|
||||
B: "gtceu:infinity_rod",
|
||||
C: "gtceu:eltz_rod",
|
||||
D: "kubejs:infinity_power_unit",
|
||||
E: "gtceu:omnium_ingot"
|
||||
});
|
||||
|
||||
// Infinity Wrench
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:infinity_wrench", [
|
||||
" A A ",
|
||||
" AB BA",
|
||||
" AB BA",
|
||||
" ABDBCA",
|
||||
" ACCCA ",
|
||||
" ACAAA ",
|
||||
" ACA ",
|
||||
"ACA ",
|
||||
"CA ",
|
||||
], {
|
||||
A: "gtceu:neutronium_plate",
|
||||
B: "gtceu:infinity_plate",
|
||||
C: "gtceu:eltz_plate",
|
||||
D: "kubejs:infinity_power_unit"
|
||||
});
|
||||
|
||||
// Infinity Wire Cutter
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:infinity_wire_cutter", [
|
||||
" AA AA ",
|
||||
" ACB BCA ",
|
||||
" ACB BCA ",
|
||||
" ACB BCA ",
|
||||
" ACBABCA ",
|
||||
" AADAA ",
|
||||
" EEEEE ",
|
||||
" EEE EEE ",
|
||||
" EE EE ",
|
||||
], {
|
||||
A: "gtceu:neutronium_plate",
|
||||
B: "gtceu:infinity_plate",
|
||||
C: "gtceu:eltz_plate",
|
||||
D: "kubejs:infinity_power_unit",
|
||||
E: "gtceu:omnium_ingot"
|
||||
});
|
||||
|
||||
// Infinity Power Unit
|
||||
event.recipes.gtceu.assembly_line("infinity_toolset/infinity_power_unit")
|
||||
.itemInputs("kubejs:infinity_catalyst", "32x gtceu:polyethyl_cyanoacrylate_plate", "16x gtceu:darmstadtium_plate", "16x gtceu:enriched_naquadah_trinium_europium_duranide_plate", "16x #gtceu:circuits/uhv", "8x #gtceu:circuits/uev", "12x kubejs:hadal_energy_core", "2x gtceu:max_battery", "8x gtceu:ruthenium_trinium_americium_neutronate_quadruple_wire", "16x gtceu:uev_electric_motor")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:polybenzimidazole 1152", "gtceu:omnium 5760", "gtceu:crystal_matrix 1152")
|
||||
.itemOutputs("kubejs:infinity_power_unit")
|
||||
.duration(1200)
|
||||
.EUt(1966080)
|
||||
|
||||
// Dense Obsidian Plate for Reinforced Obsidian
|
||||
// TODO IN 0.13: REMOVE BENDER RECIPE
|
||||
event.recipes.gtceu.implosion_compressor("infinity_toolset/dense_obsidian_plate")
|
||||
.itemInputs("9x gtceu:obsidian_plate", "minecraft:tnt")
|
||||
.itemOutputs("gtceu:dense_obsidian_plate")
|
||||
.duration(20)
|
||||
.EUt(30)
|
||||
|
||||
event.remove({ output: "enderio:dark_steel_bars" })
|
||||
|
||||
// Get greg'd idiot
|
||||
event.shaped("3x enderio:dark_steel_bars", [
|
||||
" H ",
|
||||
"RRR",
|
||||
"RRR"
|
||||
], {
|
||||
R: "gtceu:dark_steel_rod",
|
||||
H: "#forge:tools/hammers"
|
||||
})
|
||||
event.recipes.gtceu.assembler("dark_steel_bars")
|
||||
.itemInputs("6x gtceu:dark_steel_rod")
|
||||
.itemOutputs("3x enderio:dark_steel_bars")
|
||||
.duration(300)
|
||||
.EUt(4)
|
||||
|
||||
event.shaped("enderio:reinforced_obsidian_block", [
|
||||
"IBI",
|
||||
"BPB",
|
||||
"IBI"
|
||||
], {
|
||||
P: "gtceu:dense_obsidian_plate",
|
||||
B: "enderio:dark_steel_bars",
|
||||
I: "gtceu:double_titanium_tungsten_carbide_plate"
|
||||
})
|
||||
})
|
||||
41
kubejs/server_scripts/Remove_Recipes.js
Normal file
41
kubejs/server_scripts/Remove_Recipes.js
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
* Recipe removals that don't belong in other files.
|
||||
*
|
||||
* If you seek to both hide an item/fluid and remove it from all recipes and tags, then look into
|
||||
* KubeJS/startup_scripts/nukeLists/item.js and KubeJS/startup_scripts/nukeLists/fluid.js
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Snad
|
||||
event.remove("snad:snadrecipe")
|
||||
event.remove("snad:red_snad")
|
||||
|
||||
// GT
|
||||
event.remove({ id: "gtceu:mixer/rhodium_plated_palladium" })
|
||||
|
||||
// Redstone arsenal
|
||||
event.remove({ id: "redstone_arsenal:materials/flux_dust" })
|
||||
event.remove({ id: "redstone_arsenal:materials/flux_ingot_fire_charge_from_dust" })
|
||||
event.remove({ id: "redstone_arsenal:materials/flux_ingot_fire_charge" })
|
||||
event.remove({ id: "redstone_arsenal:smelting/flux_ingot_from_dust_blasting" })
|
||||
event.remove({ id: "redstone_arsenal:smelting/flux_ingot_from_dust_smelting" })
|
||||
event.remove({ id: "redstone_arsenal:storage/flux_ingot_from_block" })
|
||||
event.remove({ id: "redstone_arsenal:storage/flux_metal_block" })
|
||||
|
||||
// NuclearCraft
|
||||
event.remove(/nuclearcraft:fusion.*/)
|
||||
event.remove(/nuclearcraft:.*electromagnet.*/)
|
||||
event.remove({ output: ["nuclearcraft:tough_alloy_ingot"] });
|
||||
event.remove({ output: ["nuclearcraft:rock_crusher", "nuclearcraft:decay_hastener", "nuclearcraft:irradiator", "nuclearcraft:nuclear_furnace", "nuclearcraft:extractor", "nuclearcraft:electrolyzer", "nuclearcraft:pressurizer", "nuclearcraft:alloy_smelter", "nuclearcraft:centrifuge", "nuclearcraft:manufactory", "nuclearcraft:gas_scrubber", "nuclearcraft:fluid_enricher", "nuclearcraft:isotope_separator", "nuclearcraft:fluid_infuser", "nuclearcraft:chemical_reactor", "nuclearcraft:analyzer", "nuclearcraft:ingot_former", "nuclearcraft:pump", "nuclearcraft:fuel_reprocessor", "nuclearcraft:leacher", "nuclearcraft:crystallizer", "nuclearcraft:assembler", "nuclearcraft:steam_turbine", "nuclearcraft:melter"] })
|
||||
event.remove({ output: ["nuclearcraft:nitrogen_collector", "nuclearcraft:compact_nitrogen_collector", "nuclearcraft:lava_collector", "nuclearcraft:dense_nitrogen_collector", "nuclearcraft:compact_helium_collector", "nuclearcraft:helium_collector", "nuclearcraft:dense_helium_collector"] })
|
||||
event.remove({ output: ["nuclearcraft:magnesium_deepslate_ore", "nuclearcraft:thorium_deepslate_ore", "nuclearcraft:uranium_deepslate_ore", "nuclearcraft:magnesium_ore", "nuclearcraft:boron_deepslate_ore", "nuclearcraft:cobalt_ore", "nuclearcraft:platinum_deepslate_ore", "nuclearcraft:silver_deepslate_ore", "nuclearcraft:lead_ore", "nuclearcraft:lithium_ore", "nuclearcraft:thorium_ore", "nuclearcraft:tin_ore", "nuclearcraft:cobalt_deepslate_ore", "nuclearcraft:silver_ore", "nuclearcraft:uranium_ore", "nuclearcraft:zinc_ore", "nuclearcraft:boron_ore", "nuclearcraft:lithium_deepslate_ore"] })
|
||||
event.remove({ output: ["nuclearcraft:foursmore", "nuclearcraft:evenmoresmore", "nuclearcraft:moresmore", "nuclearcraft:smore"] })
|
||||
event.remove({ output: ["nuclearcraft:quantum_flux_regulator", "nuclearcraft:fission_reactor_irradiation_chamber", "nuclearcraft:chamber_port", "nuclearcraft:chamber_terminal", "nuclearcraft:event_horizon_stabilizer", "nuclearcraft:quantum_transformer", "nuclearcraft:black_hole", "nuclearcraft:neutronium_frame", "nuclearcraft:photon_concentrator", "nuclearcraft:redstone_dimmer"] })
|
||||
event.remove({ id: "minecraft:nuclearcraft_hard_carbon_dust" })
|
||||
|
||||
// Water Collector
|
||||
event.remove({ output: /water_collector/ });
|
||||
|
||||
// Remove Thermal gunpowder recipes - they use empty tags a Mixer recipe already exists
|
||||
event.remove({ id: /^thermal:gunpowder/ })
|
||||
})
|
||||
4
kubejs/server_scripts/_hardmode/expert_exclusion.js
Normal file
4
kubejs/server_scripts/_hardmode/expert_exclusion.js
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
/** Removes recipes that are the same in both normal and hardmode, but shouldn't exist in Expert */
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
})
|
||||
125
kubejs/server_scripts/_hardmode/hardmode.js
Normal file
125
kubejs/server_scripts/_hardmode/hardmode.js
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
/** THIS FILE IS FOR RANDOM RECIPES THAT DOESNT REQUIRE THEIR OWN FILE */
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
if (!doHNN) {
|
||||
event.remove({ id: /hostilenetworks/ })
|
||||
|
||||
// Mixer for recipes that fit in singleblocks
|
||||
const xpjuice_small = [
|
||||
["enderio:pulsating_powder", 6720],
|
||||
["enderio:vibrant_powder", 8960],
|
||||
["kubejs:grains_of_innocence", 16000]
|
||||
]
|
||||
|
||||
for (const [input, output] of xpjuice_small) {
|
||||
event.recipes.gtceu.mixer(`kubejs:xpjuice_${output}`)
|
||||
.inputFluids(Fluid.of("gtceu:mana", 250))
|
||||
.itemInputs(input)
|
||||
.outputFluids(Fluid.of("enderio:xp_juice", output))
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.duration(100)
|
||||
}
|
||||
|
||||
// LCR needed for larger recipes
|
||||
const xpjuice_large = [
|
||||
["enderio:ender_crystal_powder", 35840],
|
||||
["enderio:prescient_powder", 44800]
|
||||
]
|
||||
|
||||
for (const [input, output] of xpjuice_large) {
|
||||
event.recipes.gtceu.large_chemical_reactor(`kubejs:xpjuice_${output}`)
|
||||
.inputFluids(Fluid.of("gtceu:mana", 500))
|
||||
.itemInputs(input)
|
||||
.outputFluids(Fluid.of("enderio:xp_juice", output))
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.duration(100)
|
||||
}
|
||||
}
|
||||
|
||||
if (doHarderRecipes) {
|
||||
event.shaped("thermal:dynamo_numismatic", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "kubejs:excitationcoil",
|
||||
B: "gtceu:zeron_100_plate",
|
||||
C: "ironfurnaces:diamond_furnace",
|
||||
D: "enderio:vibrant_gear",
|
||||
E: "kubejs:redstone_transmission_coil"
|
||||
})
|
||||
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/radon_from_uranium_238" })
|
||||
event.remove({ id: "gtceu:electric_blast_furnace/blast_cryolobus_gas" })
|
||||
event.remove({ id: "gtceu:circuit_assembler/wetware_board" })
|
||||
event.remove({ id: "enderio:stick" })
|
||||
|
||||
// Mob Heads
|
||||
event.shaped("minecraft:skeleton_skull", [
|
||||
" A ",
|
||||
"ABA",
|
||||
" A "
|
||||
], {
|
||||
A: "minecraft:bone",
|
||||
B: "kubejs:solidified_experience"
|
||||
})
|
||||
|
||||
event.shaped("minecraft:wither_skeleton_skull", [
|
||||
" A ",
|
||||
"ABA",
|
||||
" A "
|
||||
], {
|
||||
A: "kubejs:wither_bone",
|
||||
B: "kubejs:solidified_experience"
|
||||
})
|
||||
|
||||
event.shaped("minecraft:zombie_head", [
|
||||
" A ",
|
||||
"ABA",
|
||||
" A "
|
||||
], {
|
||||
A: "minecraft:rotten_flesh",
|
||||
B: "minecraft:skeleton_skull"
|
||||
})
|
||||
|
||||
event.shaped("minecraft:creeper_head", [
|
||||
" A ",
|
||||
"ABA",
|
||||
" A "
|
||||
], {
|
||||
A: "minecraft:gunpowder",
|
||||
B: "minecraft:skeleton_skull"
|
||||
})
|
||||
|
||||
event.shaped("minecraft:dragon_head", [
|
||||
" A ",
|
||||
"ABA",
|
||||
" A "
|
||||
], {
|
||||
A: "kubejs:ender_dragon_scale",
|
||||
B: "kubejs:solidified_experience"
|
||||
})
|
||||
|
||||
event.shaped("enderio:enderman_head", [
|
||||
" A ",
|
||||
"ABA",
|
||||
" A "
|
||||
], {
|
||||
A: "minecraft:ender_pearl",
|
||||
B: "minecraft:skeleton_skull"
|
||||
})
|
||||
}
|
||||
|
||||
if (doMeowniPlush) {
|
||||
event.recipes.gtceu.omnic_forge("kubejs:meowni_plush")
|
||||
.itemInputs("64x kubejs:moni_dollar", "64x kubejs:moni_dollar", "64x kubejs:moni_dollar", "16x kubejs:moni_dollar",) // Not exact atm, I don't run linux (so i cant use the awk script) and this value is gonna change regardless.
|
||||
.itemOutputs("kubejs:meowni_plush")
|
||||
.duration(2000)
|
||||
.EUt(65520)
|
||||
}
|
||||
|
||||
if (!doMonicoins) {
|
||||
event.remove({ id: "bountiful:crafting/bountyboard" })
|
||||
event.remove({ id: "bountiful:crafting/decree" })
|
||||
}
|
||||
})
|
||||
757
kubejs/server_scripts/_hardmode/hardmode_processing.js
Normal file
757
kubejs/server_scripts/_hardmode/hardmode_processing.js
Normal file
|
|
@ -0,0 +1,757 @@
|
|||
/**
|
||||
* Makes recipes harder in.. hard mode
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
if (doHarderProcessing) {
|
||||
// Tungsten
|
||||
event.remove({ id: "gtceu:electrolyzer/tungstic_acid_electrolysis" })
|
||||
|
||||
event.recipes.gtceu.extractor("kubejs:tungsten_trioxide_dust")
|
||||
.itemInputs("7x #forge:dusts/tungstic_acid")
|
||||
.itemOutputs("4x gtceu:tungsten_trioxide_dust")
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
.duration(160).EUt(16)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("kubejs:hot_tungsten_ingot")
|
||||
.itemInputs("8x #forge:dusts/tungsten_trioxide", "3x #forge:dusts/carbon")
|
||||
.itemOutputs("2x gtceu:hot_tungsten_ingot")
|
||||
.outputFluids(Fluid.of("gtceu:carbon_dioxide", 3000))
|
||||
.blastFurnaceTemp(3600)
|
||||
.duration(2400).EUt(1920)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("kubejs:tungsten_dust")
|
||||
.itemInputs("4x #forge:dusts/tungsten_trioxide")
|
||||
.inputFluids(Fluid.of("gtceu:hydrogen", 6000))
|
||||
.itemOutputs("gtceu:tungsten_dust")
|
||||
.outputFluids(Fluid.of("water", 3000))
|
||||
.duration(210).EUt(960)
|
||||
|
||||
// Phthalic Anhydride
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/phthalic_acid_from_naphthalene" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/phthalic_acid_from_naphthalene_9" })
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("kubejs:phthalic_anhydride_dust")
|
||||
.itemInputs("#forge:tiny_dusts/vanadium_pentoxide")
|
||||
.inputFluids(Fluid.of("gtceu:naphthalene", 1000), Fluid.of("gtceu:oxygen", 5000))
|
||||
.itemOutputs("15x gtceu:phthalic_anhydride_dust")
|
||||
.outputFluids(Fluid.of("gtceu:carbon_dioxide", 1000))
|
||||
.duration(125).EUt(30)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("kubejs:phthalic_anhydride_dust")
|
||||
.itemInputs("#forge:dusts/vanadium_pentoxide")
|
||||
.inputFluids(Fluid.of("gtceu:naphthalene", 9000), Fluid.of("gtceu:oxygen", 45000))
|
||||
.itemOutputs("64x gtceu:phthalic_anhydride_dust", "64x gtceu:phthalic_anhydride_dust", "7x gtceu:phthalic_anhydride_dust")
|
||||
.outputFluids(Fluid.of("gtceu:carbon_dioxide", 9000))
|
||||
.duration(1125).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("kubejs:phthalic_acid")
|
||||
.itemInputs("15x #forge:dusts/phthalic_anhydride")
|
||||
.inputFluids(Fluid.of("water", 1000))
|
||||
.outputFluids(Fluid.of("gtceu:phthalic_acid", 1000))
|
||||
.duration(100).EUt(30)
|
||||
|
||||
event.recipes.gtceu.distillery("kubejs:phthalic_acid")
|
||||
.inputFluids(Fluid.of("gtceu:phthalic_acid", 1000))
|
||||
.circuit(1)
|
||||
.itemOutputs("15x gtceu:phthalic_anhydride_dust")
|
||||
.outputFluids(Fluid.of("water", 1000))
|
||||
.duration(100).EUt(30)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("kubejs:polytetrafluoroethylene")
|
||||
.inputFluids(Fluid.of("gtceu:tetrafluoroethylene", 2160), Fluid.of("gtceu:oxygen", 7500))
|
||||
.itemInputs("#forge:dusts/phthalic_anhydride")
|
||||
.circuit(7)
|
||||
.outputFluids(Fluid.of("gtceu:polytetrafluoroethylene", 4320))
|
||||
.duration(800).EUt(30)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("kubejs:polyvinyl_chloride")
|
||||
.inputFluids(Fluid.of("gtceu:vinyl_chloride", 2160), Fluid.of("gtceu:oxygen", 7500))
|
||||
.itemInputs("#forge:dusts/phthalic_anhydride")
|
||||
.circuit(7)
|
||||
.outputFluids(Fluid.of("gtceu:polyvinyl_chloride", 4320))
|
||||
.duration(800).EUt(30)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("kubejs:polyethylene")
|
||||
.inputFluids(Fluid.of("gtceu:ethylene", 2160), Fluid.of("gtceu:oxygen", 7500))
|
||||
.itemInputs("#forge:dusts/phthalic_anhydride")
|
||||
.circuit(7)
|
||||
.outputFluids(Fluid.of("gtceu:polyethylene", 4320))
|
||||
.duration(800).EUt(30)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("kubejs:polyvinyl_acetate")
|
||||
.inputFluids(Fluid.of("gtceu:vinyl_acetate", 2160), Fluid.of("gtceu:oxygen", 7500))
|
||||
.itemInputs("#forge:dusts/phthalic_anhydride")
|
||||
.circuit(7)
|
||||
.outputFluids(Fluid.of("gtceu:polyvinyl_acetate", 4320))
|
||||
.duration(800).EUt(30)
|
||||
|
||||
// Kapton K Wetwares
|
||||
event.remove({ id: "gtceu:circuit_assembler/wetware_board" })
|
||||
event.recipes.gtceu.circuit_assembler("kubejs:circuit_assembler/wetware_hm")
|
||||
.itemInputs(
|
||||
"16x gtceu:kapton_k_plate",
|
||||
"gtceu:petri_dish",
|
||||
"gtceu:luv_electric_pump",
|
||||
"gtceu:iv_sensor",
|
||||
"#gtceu:circuits/iv",
|
||||
"16x gtceu:niobium_titanium_foil"
|
||||
)
|
||||
.inputFluids(Fluid.of("gtceu:sterilized_growth_medium", 4000))
|
||||
.itemOutputs("16x gtceu:wetware_circuit_board")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(30720)
|
||||
|
||||
// Recipe conflict
|
||||
// Styrene
|
||||
event.remove({ id: "gtceu:chemical_reactor/styrene_from_ethylbenzene" })
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("styrene_from_ethylbenzene_hm")
|
||||
.inputFluids("gtceu:ethylbenzene 1000")
|
||||
.circuit(1)
|
||||
.outputFluids("gtceu:styrene 1000", "gtceu:hydrogen 2000")
|
||||
.duration(30).EUt(30)
|
||||
|
||||
// Hydrazine Rocket Fuel
|
||||
event.recipes.gtceu.large_chemical_reactor("rocket_fuel_from_hydrazine")
|
||||
.inputFluids("gtceu:hydrazine 1000", "gtceu:dimethylhydrazine 1000", "gtceu:dinitrogen_tetroxide 2000")
|
||||
.outputFluids("gtceu:rocket_fuel 18000")
|
||||
.duration(60).EUt(16)
|
||||
|
||||
// Beryllium Oxide
|
||||
event.recipes.gtceu.chemical_reactor("beryllium_oxide")
|
||||
.itemInputs("gtceu:beryllium_dust")
|
||||
.inputFluids("gtceu:oxygen 1000")
|
||||
.itemOutputs("gtceu:beryllium_oxide_ingot")
|
||||
.duration(640).EUt(30)
|
||||
|
||||
// Graphene
|
||||
event.remove({ id: "gtceu:mixer/graphene" })
|
||||
|
||||
event.recipes.gtceu.assembler("magnetron")
|
||||
.itemInputs("64x gtceu:beryllium_oxide_ring", "64x gtceu:beryllium_oxide_ring", "6x gtceu:hsla_steel_plate", "gtceu:vacuum_tube")
|
||||
.itemOutputs("kubejs:magnetron")
|
||||
.duration(600).EUt(61440)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("graphene_magnetron")
|
||||
.itemInputs("gtceu:graphite_dust")
|
||||
.notConsumable("kubejs:magnetron")
|
||||
.inputFluids("gtceu:nitration_mixture 2000")
|
||||
.itemOutputs("gtceu:graphene_dust")
|
||||
.outputFluids("gtceu:diluted_sulfuric_acid 1000", "gtceu:nitric_acid 1000")
|
||||
.duration(100).EUt(480)
|
||||
|
||||
// Hydrogen Peroxide
|
||||
event.recipes.gtceu.chemical_reactor("ethylanthraquinone")
|
||||
.itemInputs("15x gtceu:phthalic_anhydride_dust")
|
||||
.inputFluids("gtceu:ethylbenzene 1000")
|
||||
.itemOutputs("30x gtceu:ethylanthraquinone_dust")
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.duration(1000).EUt(1920)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("hydrogen_peroxide")
|
||||
.inputFluids("gtceu:hydrogen 6000", "gtceu:oxygen 6000")
|
||||
.notConsumable("gtceu:palladium_dust")
|
||||
.notConsumable("gtceu:ethylanthraquinone_dust")
|
||||
.outputFluids("gtceu:hydrogen_peroxide 3000")
|
||||
.duration(330).EUt(180)
|
||||
|
||||
// Hydrazine
|
||||
event.recipes.gtceu.large_chemical_reactor("acetone_azine")
|
||||
.inputFluids("gtceu:hydrogen_peroxide 1000", "gtceu:ammonia 2000", "gtceu:acetone 2000")
|
||||
.circuit(5)
|
||||
.outputFluids("gtceu:acetone_azine 1000", "minecraft:water 4000")
|
||||
.duration(40).EUt(480)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("hydrazine")
|
||||
.inputFluids("gtceu:acetone_azine 1000", "minecraft:water 2000", "gtceu:sulfuric_acid 1000")
|
||||
.circuit(5)
|
||||
.outputFluids("gtceu:hydrazine 1000", "gtceu:acetone 2000", "gtceu:diluted_sulfuric_acid 1000")
|
||||
.duration(40).EUt(480)
|
||||
|
||||
// Graphene from hydrazine
|
||||
event.recipes.gtceu.mixer("graphene_oxide")
|
||||
.itemInputs("5x gtceu:carbon_dust", "gtceu:silicon_dust")
|
||||
.inputFluids("gtceu:oxygen 1000")
|
||||
.itemOutputs("gtceu:graphene_oxide_dust")
|
||||
.duration(100).EUt(480)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("graphene_from_hydrazine")
|
||||
.itemInputs("gtceu:graphene_oxide_dust")
|
||||
.inputFluids("gtceu:hydrazine 100", "gtceu:argon 50")
|
||||
.itemOutputs("gtceu:graphene_dust")
|
||||
.duration(100).EUt(480)
|
||||
|
||||
// Niobium/Tantalum
|
||||
event.remove({ id: "gtceu:electrolyzer/decomposition_electrolyzing_pyrochlore" })
|
||||
event.remove({ id: "gtceu:electrolyzer/decomposition_electrolyzing_tantalite" })
|
||||
|
||||
event.recipes.gtceu.chemical_bath("bathe_pyrochlore_dust")
|
||||
.itemInputs("11x gtceu:pyrochlore_dust")
|
||||
.inputFluids("gtceu:hydrofluoric_acid 4000")
|
||||
.itemOutputs("7x gtceu:niobium_pentoxide_dust", "gtceu:tantalum_pentoxide_dust", "6x gtceu:fluorite_dust")
|
||||
.outputFluids("minecraft:water 2000")
|
||||
.duration(200).EUt(480)
|
||||
|
||||
event.recipes.gtceu.chemical_bath("bathe_tantalite_dust")
|
||||
.itemInputs("9x gtceu:tantalite_dust")
|
||||
.inputFluids("gtceu:hydrofluoric_acid 2000")
|
||||
.itemOutputs("7x gtceu:tantalum_pentoxide_dust", "gtceu:niobium_pentoxide_dust", "3x gtceu:manganese_difluoride_dust")
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.duration(200).EUt(480)
|
||||
|
||||
// Molybdenum
|
||||
event.remove([{ type: "minecraft:smelting", output: "gtceu:molybdenum_ingot" }, { type: "minecraft:blasting", output: "gtceu:molybdenum_ingot" }])
|
||||
event.smelting("gtceu:molybdenum_ingot", "gtceu:molybdenum_dust")
|
||||
event.remove({ id: "gtceu:electrolyzer/decomposition_electrolyzing_molybdenite" })
|
||||
event.remove({ id: "gtceu:electrolyzer/decomposition_electrolyzing_powellite" })
|
||||
event.remove({ id: "gtceu:electrolyzer/decomposition_electrolyzing_wulfenite" })
|
||||
|
||||
event.recipes.gtceu.chemical_bath("bathe_powellite_dust")
|
||||
.itemInputs("6x gtceu:powellite_dust")
|
||||
.inputFluids("gtceu:hydrochloric_acid 2000")
|
||||
.itemOutputs("4x gtceu:molybdenum_trioxide_dust", "3x gtceu:calcium_chloride_dust")
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.duration(200).EUt(480)
|
||||
|
||||
event.recipes.gtceu.chemical_bath("bathe_wulfenite_dust")
|
||||
.itemInputs("6x gtceu:wulfenite_dust")
|
||||
.inputFluids("gtceu:hydrochloric_acid 2000")
|
||||
.itemOutputs("4x gtceu:molybdenum_trioxide_dust", "3x gtceu:lead_chloride_dust")
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.duration(200).EUt(480)
|
||||
|
||||
event.recipes.gtceu.arc_furnace("arc_molybdenite_dust")
|
||||
.itemInputs("3x gtceu:molybdenite_dust")
|
||||
.inputFluids("gtceu:oxygen 7000")
|
||||
.itemOutputs("4x gtceu:molybdenum_trioxide_dust")
|
||||
.outputFluids("gtceu:sulfur_dioxide 2000")
|
||||
.duration(800).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("molybdenum_trioxide_to_molybdenum")
|
||||
.itemInputs("4x gtceu:molybdenum_trioxide_dust")
|
||||
.inputFluids("gtceu:hydrogen 6000")
|
||||
.itemOutputs("gtceu:molybdenum_dust")
|
||||
.outputFluids("minecraft:water 3000")
|
||||
.duration(200).EUt(480)
|
||||
|
||||
// Pyromorphite to phosphate
|
||||
event.recipes.gtceu.electrolyzer("electrolyzing_pyromorphite")
|
||||
.itemInputs("9x gtceu:pyromorphite_dust")
|
||||
.itemOutputs("5x gtceu:lead_dust", "3x gtceu:phosphate_dust")
|
||||
.outputFluids("gtceu:chlorine 1000")
|
||||
.duration(288).EUt(60)
|
||||
|
||||
// Vanadium
|
||||
event.recipes.gtceu.chemical_reactor("ammonium_chloride")
|
||||
.inputFluids("gtceu:ammonia 1000", "gtceu:hydrochloric_acid 1000")
|
||||
.circuit(5)
|
||||
.itemOutputs("2x gtceu:ammonium_chloride_dust")
|
||||
.duration(120).EUt(7)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("vanadium_pentoxide")
|
||||
.itemInputs("2x gtceu:vanadium_dust")
|
||||
.inputFluids("gtceu:oxygen 5000")
|
||||
.itemOutputs("7x gtceu:vanadium_pentoxide_dust")
|
||||
.duration(600).EUt(7)
|
||||
|
||||
// H2SO4 require V2O5
|
||||
event.remove({ id: "gtceu:chemical_reactor/sulfur_trioxide" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/sulfur_trioxide" })
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("sulfur_trioxide_hm")
|
||||
.inputFluids("gtceu:sulfur_dioxide 1000", "gtceu:oxygen 1000")
|
||||
.notConsumable("gtceu:vanadium_pentoxide_dust")
|
||||
.outputFluids("gtceu:sulfur_trioxide 1000")
|
||||
.duration(200).EUt(7)
|
||||
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/sulfuric_acid_from_sulfur" })
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("sulfuric_acid_from_sulfur_hm")
|
||||
.itemInputs("gtceu:sulfur_dust")
|
||||
.notConsumable("gtceu:vanadium_pentoxide_dust")
|
||||
.inputFluids("minecraft:water 4000")
|
||||
.circuit(24)
|
||||
.outputFluids("gtceu:sulfuric_acid 1000")
|
||||
.duration(320).EUt(480)
|
||||
|
||||
// Fluoroantimonic Acid
|
||||
event.remove({ id: "gtceu:chemical_reactor/fluoroantimonic_acid" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/fluoroantimonic_acid" })
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("antimony_pentafluoride")
|
||||
.itemInputs("4x gtceu:antimony_trifluoride_dust")
|
||||
.inputFluids("gtceu:fluorine 2000")
|
||||
.notConsumable("kubejs:aerotheum_dust")
|
||||
.outputFluids("gtceu:antimony_pentafluoride 1000")
|
||||
.duration(150).EUt(480)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("fluoroantimonic_acid_hm")
|
||||
.inputFluids("gtceu:antimony_pentafluoride 1000", "gtceu:hydrofluoric_acid 2000")
|
||||
.notConsumable("kubejs:petrotheum_dust")
|
||||
.outputFluids("gtceu:fluoroantimonic_acid 1000")
|
||||
.duration(150).EUt(480)
|
||||
|
||||
// Neocryolite
|
||||
event.recipes.gtceu.chemical_reactor("naquadah_hydroxide")
|
||||
.itemInputs("gtceu:naquadah_dust", "9x gtceu:sodium_hydroxide_dust")
|
||||
.itemOutputs("7x gtceu:naquadah_hydroxide_dust", "3x gtceu:sodium_dust")
|
||||
.duration(480).EUt(480)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("caesium_hydroxide")
|
||||
.itemInputs("gtceu:caesium_dust")
|
||||
.inputFluids("minecraft:water 3000")
|
||||
.itemOutputs("3x gtceu:caesium_hydroxide_dust")
|
||||
.outputFluids("gtceu:hydrogen 3000")
|
||||
.duration(5).EUt(7)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("neocryolite")
|
||||
.itemInputs("4x gtceu:caesium_hydroxide_dust", "3x gtceu:naquadah_hydroxide_dust")
|
||||
.notConsumable("gtceu:signalum_dust")
|
||||
.inputFluids("gtceu:hydrofluoric_acid 6000")
|
||||
.outputFluids("gtceu:neocryolite 1000", "minecraft:water 6000")
|
||||
.duration(250).EUt(7680)
|
||||
|
||||
// Naquadah
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("naquadah_oxide_petro_solution")
|
||||
.itemInputs("4x gtceu:snowchestite_dust")
|
||||
.inputFluids("kubejs:molten_petrotheum 3000")
|
||||
.itemOutputs("gtceu:pyromorphite_dust")
|
||||
.outputFluids("gtceu:naquadah_oxide_petro_solution 3000")
|
||||
.duration(100).EUt(3840)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("naquadah_oxide_aero_solution")
|
||||
.itemInputs("4x kubejs:aerotheum_dust")
|
||||
.inputFluids("gtceu:naquadah_oxide_petro_solution 1000")
|
||||
.itemOutputs("4x kubejs:petrotheum_dust")
|
||||
.outputFluids("gtceu:naquadah_oxide_aero_solution 1000")
|
||||
.duration(300).EUt(240)
|
||||
|
||||
event.recipes.gtceu.distillery("distill_naquadah_oxide_aero_solution_to_naquadah_oxide")
|
||||
.inputFluids("gtceu:naquadah_oxide_aero_solution 1000")
|
||||
.circuit(1)
|
||||
.itemOutputs("5x gtceu:naquadah_oxide_dust")
|
||||
.outputFluids("kubejs:molten_aerotheum 1000")
|
||||
.duration(300).EUt(240)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("hot_naquadah_oxide_neocryolite_solution")
|
||||
.itemInputs("5x gtceu:naquadah_oxide_dust")
|
||||
.inputFluids("gtceu:neocryolite 4000")
|
||||
.outputFluids("gtceu:hot_naquadah_oxide_neocryolite_solution 4000")
|
||||
.duration(400).EUt(1920)
|
||||
.blastFurnaceTemp(4700)
|
||||
|
||||
event.recipes.gtceu.electrolyzer("electrolyze_hot_naquadah_oxide_neocryolite_solution")
|
||||
.inputFluids("gtceu:hot_naquadah_oxide_neocryolite_solution 4000")
|
||||
.notConsumable("2x gtceu:ruthenium_rod")
|
||||
.itemOutputs("2x gtceu:naquadah_dust")
|
||||
.outputFluids("gtceu:neocryolite 3750", "gtceu:oxygen 3000")
|
||||
.duration(250).EUt(7680)
|
||||
|
||||
event.recipes.gtceu.chemical_bath("bathe_molten_aerotheum_to_aerotheum_dust")
|
||||
.inputFluids("kubejs:molten_aerotheum 250")
|
||||
.notConsumable("nuclearcraft:supercold_ice_block")
|
||||
.itemOutputs("kubejs:aerotheum_dust")
|
||||
.duration(100).EUt(7)
|
||||
|
||||
// Supercold ice replacement recipe
|
||||
event.recipes.gtceu.vacuum_freezer("cryotheum_to_supercold_ice")
|
||||
.itemInputs("minecraft:ice")
|
||||
.inputFluids("kubejs:molten_cryotheum 1000")
|
||||
.itemOutputs("nuclearcraft:supercold_ice_block")
|
||||
.duration(600).EUt(1200)
|
||||
|
||||
// Platinum Group
|
||||
event.remove({ id: "gtceu:centrifuge/pgs_separation" })
|
||||
event.remove({ id: "gtceu:electrolyzer/raw_platinum_separation" })
|
||||
event.remove({ id: "gtceu:chemical_reactor/raw_palladium_separation" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/raw_palladium_separation" })
|
||||
event.remove({ id: "gtceu:chemical_reactor/inert_metal_mixture_separation" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/inert_metal_mixture_separation" })
|
||||
event.remove({ id: "gtceu:chemical_reactor/ruthenium_tetroxide_separation" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/ruthenium_tetroxide_separation" })
|
||||
event.remove({ id: "gtceu:electrolyzer/rhodium_sulfate_separation" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/rarest_metal_mixture_separation" })
|
||||
event.remove({ id: "gtceu:centrifuge/iridium_metal_residue_separation" })
|
||||
event.remove({ id: "gtceu:chemical_reactor/iridium_chloride_separation" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/iridium_chloride_separation" })
|
||||
event.remove({ id: "gtceu:distillation_tower/acidic_osmium_solution_separation" })
|
||||
event.remove({ id: "gtceu:distillery/acidic_osmium_solution_separation_to_hydrochloric_acid" })
|
||||
event.remove({ id: "gtceu:distillery/acidic_osmium_solution_separation_to_water" })
|
||||
event.remove({ id: "gtceu:chemical_reactor/osmium_tetroxide_separation" })
|
||||
event.remove({ id: "gtceu:large_chemical_reactor/osmium_tetroxide_separation" })
|
||||
event.remove({ id: "gtceu:centrifuge/decomposition_centrifuging__platinum_sludge_residue" })
|
||||
|
||||
// Formic Acid
|
||||
event.recipes.gtceu.chemical_reactor("sodium_methoxide")
|
||||
.itemInputs("gtceu:sodium_dust")
|
||||
.inputFluids("gtceu:methanol 1000")
|
||||
.itemOutputs("6x gtceu:sodium_methoxide_dust")
|
||||
.outputFluids("gtceu:hydrogen 1000")
|
||||
.duration(10).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("methyl_formate")
|
||||
.itemInputs("gtceu:tiny_sodium_methoxide_dust")
|
||||
.inputFluids("gtceu:methanol 1000", "gtceu:carbon_monoxide 1000")
|
||||
.outputFluids("gtceu:methyl_formate 1000")
|
||||
.duration(16).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("formic_acid")
|
||||
.inputFluids("gtceu:methyl_formate 1000", "minecraft:water 1000")
|
||||
.outputFluids("gtceu:formic_acid 1000", "gtceu:methanol 1000")
|
||||
.duration(16).EUt(30)
|
||||
|
||||
// Potassium Pyrosulfate
|
||||
event.recipes.gtceu.chemical_bath("rock_salt_to_potassium_bisulfate")
|
||||
.itemInputs("2x gtceu:rock_salt_dust")
|
||||
.inputFluids("gtceu:sulfuric_acid 1000")
|
||||
.itemOutputs("7x gtceu:potassium_bisulfate_dust")
|
||||
.outputFluids("gtceu:hydrochloric_acid 1000")
|
||||
.duration(60).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_bath("saltpeter_to_potassium_bisulfate")
|
||||
.itemInputs("5x gtceu:saltpeter_dust")
|
||||
.inputFluids("gtceu:sulfuric_acid 1000")
|
||||
.itemOutputs("7x gtceu:potassium_bisulfate_dust")
|
||||
.outputFluids("gtceu:nitric_acid 1000")
|
||||
.duration(60).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("potassium_bisulfate_to_potassium_pyrosulfate")
|
||||
.itemInputs("14x gtceu:potassium_bisulfate_dust")
|
||||
.itemOutputs("11x gtceu:potassium_pyrosulfate_dust")
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.duration(30).EUt(64)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("potassium_sulfate_to_potassium_pyrosulfate")
|
||||
.itemInputs("7x gtceu:potassium_sulfate_dust")
|
||||
.inputFluids("gtceu:sulfur_trioxide 1000")
|
||||
.itemOutputs("11x gtceu:potassium_pyrosulfate_dust")
|
||||
.duration(30).EUt(64)
|
||||
|
||||
// Sodium Peroxide
|
||||
event.recipes.gtceu.chemical_reactor("sodium_peroxide")
|
||||
.itemInputs("6x gtceu:sodium_hydroxide_dust")
|
||||
.inputFluids("gtceu:hydrogen_peroxide 7000")
|
||||
.itemOutputs("4x gtceu:sodium_peroxide_dust")
|
||||
.outputFluids("minecraft:water 8000", "gtceu:oxygen 6000")
|
||||
.duration(100).EUt(30)
|
||||
|
||||
// Sodium Nitrate
|
||||
event.recipes.gtceu.chemical_reactor("sodium_nitrate")
|
||||
.itemInputs("3x gtceu:sodium_hydroxide_dust")
|
||||
.inputFluids("gtceu:nitric_acid 1000")
|
||||
.itemOutputs("5x gtceu:sodium_nitrate_dust")
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.duration(5).EUt(60)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("sodium_nitrate_alternate")
|
||||
.itemInputs("gtceu:sodium_dust")
|
||||
.inputFluids("gtceu:nitric_acid 1000")
|
||||
.itemOutputs("5x gtceu:sodium_nitrate_dust")
|
||||
.outputFluids("gtceu:hydrogen 1000")
|
||||
.duration(5).EUt(60)
|
||||
|
||||
// Platinum Group Sludge
|
||||
event.recipes.gtceu.chemical_bath("bathe_platinum_group_sludge_dust")
|
||||
.itemInputs("2x gtceu:platinum_group_sludge_dust")
|
||||
.inputFluids("gtceu:aqua_regia 2000")
|
||||
.itemOutputs("gtceu:platinum_group_residue_dust", "gtceu:platinum_sludge_residue_dust")
|
||||
.outputFluids("gtceu:platinum_palladium_leachate 1000")
|
||||
.duration(250).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_bath("bathe_platinum_metallic_dust")
|
||||
.itemInputs("2x gtceu:platinum_metallic_dust")
|
||||
.inputFluids("gtceu:aqua_regia 2000")
|
||||
.itemOutputs("gtceu:platinum_group_residue_dust")
|
||||
.outputFluids("gtceu:platinum_palladium_leachate 1000")
|
||||
.duration(250).EUt(30)
|
||||
|
||||
// Platinum Sludge Residue
|
||||
event.recipes.gtceu.centrifuge("centrifuge_platinum_sludge_residue_dust")
|
||||
.itemInputs("5x gtceu:platinum_sludge_residue_dust")
|
||||
.itemOutputs("2x gtceu:silicon_dioxide_dust", "2x gtceu:copper_dust")
|
||||
.chancedOutput("gtceu:gold_dust", 1000, 1000)
|
||||
.duration(938).EUt(30)
|
||||
|
||||
// Platinum
|
||||
event.recipes.gtceu.chemical_reactor("platinum_palladium_leachate_separation")
|
||||
.itemInputs("8x gtceu:ammonium_chloride_dust")
|
||||
.inputFluids("gtceu:platinum_palladium_leachate 1000")
|
||||
.itemOutputs("9x gtceu:ammonium_hexachloroplatinate_dust", "gtceu:crude_platinum_residue_dust")
|
||||
.outputFluids("gtceu:palladium_rich_ammonia 1000")
|
||||
.duration(1200).EUt(30)
|
||||
|
||||
event.recipes.gtceu.electrolyzer("electrolyze_ammonium_hexachloroplatinate")
|
||||
.itemInputs("9x gtceu:ammonium_hexachloroplatinate_dust")
|
||||
.outputFluids("gtceu:ammonia 2000", "gtceu:chloroplatinic_acid 1000")
|
||||
.duration(30).EUt(30)
|
||||
|
||||
event.recipes.gtceu.distillery("distill_chloroplatinic_acid")
|
||||
.inputFluids("gtceu:chloroplatinic_acid 1000")
|
||||
.circuit(1)
|
||||
.itemOutputs("3x gtceu:platinum_raw_dust")
|
||||
.outputFluids("gtceu:hydrochloric_acid 4000")
|
||||
.duration(120).EUt(30)
|
||||
|
||||
let steam = new JSONObject()
|
||||
steam.add("amount", 3840)
|
||||
steam.add("value", { tag: "forge:steam" })
|
||||
|
||||
event.recipes.gtceu.autoclave("platinum_raw_dust_to_platinum")
|
||||
.itemInputs("3x gtceu:platinum_raw_dust", "gtceu:calcium_dust")
|
||||
.inputFluids(FluidIngredientJS.of(steam))
|
||||
.itemOutputs("gtceu:platinum_dust", "3x gtceu:calcium_chloride_dust")
|
||||
.outputFluids("minecraft:water 24")
|
||||
.duration(30).EUt(30)
|
||||
|
||||
event.recipes.gtceu.sifter("sift_crude_platinum_residue_dust")
|
||||
.itemInputs("gtceu:crude_platinum_residue_dust")
|
||||
.chancedOutput("gtceu:platinum_metallic_dust", 9500, 0)
|
||||
.duration(600).EUt(30)
|
||||
|
||||
// Palladium
|
||||
event.recipes.gtceu.mixer("palladium_rich_ammonia")
|
||||
.itemInputs("2x gtceu:palladium_metallic_dust")
|
||||
.inputFluids("gtceu:ammonia 2000", "gtceu:chlorine 2000")
|
||||
.outputFluids("gtceu:palladium_rich_ammonia 1000")
|
||||
.duration(250).EUt(30)
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier("solidify_palladium_rich_ammonia")
|
||||
.inputFluids("gtceu:palladium_rich_ammonia 500")
|
||||
.notConsumable("gtceu:ball_casting_mold")
|
||||
.itemOutputs("gtceu:crude_palladium_residue_dust")
|
||||
.duration(125).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("palladium_metallic_dust_to_palladium_raw_dust")
|
||||
.itemInputs("2x gtceu:palladium_metallic_dust")
|
||||
.inputFluids("gtceu:palladium_rich_ammonia 1000")
|
||||
.itemOutputs("3x gtceu:crude_palladium_residue_dust", "gtceu:palladium_raw_dust")
|
||||
.outputFluids("gtceu:ammonia 2000")
|
||||
.duration(250).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("raw_palladium_dust_to_palladium_dust")
|
||||
.itemInputs("3x gtceu:palladium_raw_dust")
|
||||
.inputFluids("gtceu:formic_acid 1000")
|
||||
.itemOutputs("gtceu:palladium_dust")
|
||||
.outputFluids("gtceu:hydrochloric_acid 4000", "gtceu:carbon_dioxide 1000")
|
||||
.duration(250).EUt(30)
|
||||
|
||||
event.recipes.gtceu.sifter("sift_crude_palladium_residue_dust")
|
||||
.itemInputs("gtceu:crude_palladium_residue_dust")
|
||||
.chancedOutput("gtceu:palladium_metallic_dust", 9500, 0)
|
||||
.duration(600).EUt(30)
|
||||
|
||||
// Rhodium
|
||||
event.recipes.gtceu.electric_blast_furnace("platinum_group_residue_to_iridium_group_sludge")
|
||||
.itemInputs("gtceu:platinum_group_residue_dust", "11x gtceu:potassium_pyrosulfate_dust")
|
||||
.itemOutputs("gtceu:rhodium_sulfate_dust", "7x gtceu:potassium_sulfate_dust", "gtceu:iridium_group_sludge_dust")
|
||||
.duration(200).EUt(120)
|
||||
.blastFurnaceTemp(1048)
|
||||
|
||||
event.recipes.gtceu.chemical_bath("bathe_rhodium_sulfate")
|
||||
.itemInputs("6x gtceu:rhodium_sulfate_dust")
|
||||
.inputFluids("minecraft:water 2000")
|
||||
.itemOutputs("gtceu:iridium_group_sludge_dust")
|
||||
.outputFluids("gtceu:rhodium_sulfate_solution 2000")
|
||||
.duration(300).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("rhodium_sulfate_solution_to_crude_rhodium_residue_dust")
|
||||
.itemInputs("3x gtceu:zinc_dust")
|
||||
.inputFluids("gtceu:rhodium_sulfate_solution 1000")
|
||||
.itemOutputs("18x gtceu:zinc_sulfate_dust", "gtceu:crude_rhodium_residue_dust")
|
||||
.duration(300).EUt(30)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("crude_rhodium_residue_to_rhodium_salt")
|
||||
.itemInputs("gtceu:crude_rhodium_residue_dust", "4x gtceu:salt_dust")
|
||||
.inputFluids("gtceu:chlorine 6000")
|
||||
.itemOutputs("gtceu:rhodium_salt_dust")
|
||||
.outputFluids("gtceu:steam 9600")
|
||||
.duration(300).EUt(120)
|
||||
.blastFurnaceTemp(848)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("rhodium_salt_to_rhodium_nitrate")
|
||||
.itemInputs("30x gtceu:sodium_nitrate_dust", "gtceu:rhodium_salt_dust")
|
||||
.notConsumableFluid("minecraft:water 8000")
|
||||
.itemOutputs("26x gtceu:rhodium_nitrate_dust", "16x gtceu:salt_dust")
|
||||
.duration(300).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("rhodium_nitrate_to_rhodium")
|
||||
.itemInputs("13x gtceu:rhodium_nitrate_dust", "3x gtceu:potassium_dust")
|
||||
.itemOutputs("gtceu:rhodium_dust", "15x gtceu:saltpeter_dust")
|
||||
.duration(300).EUt(30)
|
||||
|
||||
// Ruthenium
|
||||
event.recipes.gtceu.electric_blast_furnace("iridium_group_sludge_to_sodium_ruthenate")
|
||||
.itemInputs("gtceu:iridium_group_sludge_dust", "2x gtceu:soda_ash_dust")
|
||||
.itemOutputs("2x gtceu:sodium_ruthenate_dust", "gtceu:ash_dust", "gtceu:rarest_metal_mixture_dust")
|
||||
.duration(200).EUt(120)
|
||||
.blastFurnaceTemp(1023)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("sodium_ruthenate_to_ruthenium_tetroxide")
|
||||
.itemInputs("6x gtceu:sodium_ruthenate_dust")
|
||||
.inputFluids("gtceu:chlorine 2000", "minecraft:water 2000")
|
||||
.itemOutputs("5x gtceu:ruthenium_tetroxide_dust")
|
||||
.outputFluids("gtceu:salt_water 2000")
|
||||
.duration(1575).EUt(480)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("ruthenium_tetroxide_to_ruthenium")
|
||||
.itemInputs("5x gtceu:ruthenium_tetroxide_dust")
|
||||
.inputFluids("gtceu:hydrogen 8000")
|
||||
.itemOutputs("gtceu:ruthenium_dust")
|
||||
.outputFluids("minecraft:water 4000")
|
||||
.duration(300).EUt(30)
|
||||
|
||||
// Osmium
|
||||
event.recipes.gtceu.chemical_bath("bathe_rarest_metal_mixture")
|
||||
.itemInputs("gtceu:rarest_metal_mixture_dust")
|
||||
.inputFluids("gtceu:hydrochloric_acid 1000")
|
||||
.itemOutputs("gtceu:iridium_metal_residue_dust")
|
||||
.outputFluids("gtceu:acidic_osmium_solution 1000")
|
||||
.duration(100).EUt(30)
|
||||
|
||||
event.recipes.gtceu.distillation_tower("distill_acidic_osmium_solution")
|
||||
.inputFluids("gtceu:acidic_osmium_solution 2000")
|
||||
.itemOutputs("gtceu:osmium_tetroxide_dust")
|
||||
.outputFluids("gtceu:hydrochloric_acid 2000")
|
||||
.duration(150).EUt(7680)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("osmium_tetroxide_to_osmium")
|
||||
.itemInputs("5x gtceu:osmium_tetroxide_dust")
|
||||
.inputFluids("gtceu:hydrogen 8000")
|
||||
.itemOutputs("gtceu:osmium_dust")
|
||||
.outputFluids("minecraft:water 4000")
|
||||
.duration(300).EUt(30)
|
||||
|
||||
// Iridium
|
||||
event.recipes.gtceu.electric_blast_furnace("iridium_metal_residue_to_iridium_dioxide_residue")
|
||||
.itemInputs("4x gtceu:sodium_peroxide_dust", "gtceu:iridium_metal_residue_dust")
|
||||
.itemOutputs("3x gtceu:iridium_dioxide_residue_dust", "2x gtceu:sodium_dust")
|
||||
.duration(200).EUt(120)
|
||||
.blastFurnaceTemp(1048)
|
||||
|
||||
event.recipes.gtceu.mixer("acidic_iridium_dioxide_solution")
|
||||
.itemInputs("3x gtceu:iridium_dioxide_residue_dust")
|
||||
.inputFluids("gtceu:hydrochloric_acid 4000")
|
||||
.outputFluids("gtceu:acidic_iridium_dioxide_solution 4000")
|
||||
.duration(300).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("ammonium_hexachloroiridiate")
|
||||
.itemInputs("gtceu:ammonium_chloride_dust")
|
||||
.inputFluids("gtceu:acidic_iridium_dioxide_solution 4000")
|
||||
.itemOutputs("2x gtceu:ammonium_hexachloroiridiate_dust", "gtceu:small_platinum_group_residue_dust")
|
||||
.outputFluids("minecraft:water 2000")
|
||||
.duration(300).EUt(30)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("ammonium_hexachloroiridiate_to_small_iridium")
|
||||
.itemInputs("2x gtceu:ammonium_hexachloroiridiate_dust")
|
||||
.inputFluids("gtceu:hydrogen 3000")
|
||||
.circuit(1)
|
||||
.itemOutputs("gtceu:small_iridium_dust")
|
||||
.outputFluids("gtceu:hydrochloric_acid 4500", "gtceu:ammonia 500")
|
||||
.duration(37.5).EUt(7680)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("ammonium_hexachloroiridiate_to_iridium")
|
||||
.itemInputs("8x gtceu:ammonium_hexachloroiridiate_dust")
|
||||
.inputFluids("gtceu:hydrogen 12000")
|
||||
.circuit(2)
|
||||
.itemOutputs("gtceu:iridium_dust")
|
||||
.outputFluids("gtceu:hydrochloric_acid 18000", "gtceu:ammonia 2000")
|
||||
.duration(150).EUt(7680)
|
||||
|
||||
// Tributyl Phosphate
|
||||
event.recipes.gtceu.chemical_reactor("phosphorus_trichloride")
|
||||
.itemInputs("gtceu:phosphorus_dust")
|
||||
.inputFluids("gtceu:chlorine 3000")
|
||||
.outputFluids("gtceu:phosphorus_trichloride 1000")
|
||||
.duration(300).EUt(480)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("phosphoryl_chloride")
|
||||
.itemInputs("7x gtceu:phosphorus_pentoxide_dust")
|
||||
.inputFluids("gtceu:phosphorus_trichloride 3000", "gtceu:chlorine 6000")
|
||||
.outputFluids("gtceu:phosphoryl_chloride 5000")
|
||||
.duration(800).EUt(3840)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("butanol")
|
||||
.inputFluids("gtceu:butyraldehyde 1000", "gtceu:hydrogen 2000")
|
||||
.notConsumable("gtceu:nickel_dust")
|
||||
.outputFluids("gtceu:butanol 1000")
|
||||
.duration(300).EUt(480)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("tributyl_phosphate")
|
||||
.inputFluids("gtceu:phosphoryl_chloride 1000", "gtceu:butanol 3000")
|
||||
.outputFluids("gtceu:tributyl_phosphate 1000")
|
||||
.duration(600).EUt(23040)
|
||||
|
||||
// Rare Earth
|
||||
event.recipes.gtceu.electrolyzer("electrolyzing_rare_earth_with_tributyl_phosphate")
|
||||
.itemInputs("gtceu:rare_earth_dust")
|
||||
.inputFluids("gtceu:tributyl_phosphate 150")
|
||||
.chancedOutput("gtceu:neodymium_dust", 1500, 0)
|
||||
.chancedOutput("gtceu:samarium_dust", 1500, 0)
|
||||
.chancedOutput("gtceu:yttrium_dust", 1500, 0)
|
||||
.chancedOutput("gtceu:lanthanum_dust", 1500, 0)
|
||||
.chancedOutput("gtceu:lutetium_dust", 600, 0)
|
||||
.chancedOutput("gtceu:europium_dust", 600, 0)
|
||||
.duration(50).EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
// Quantum Flux Recipe
|
||||
event.recipes.gtceu.mixer("quantum_flux_hm")
|
||||
.itemInputs("redstone_arsenal:flux_gem")
|
||||
.inputFluids(Fluid.of("gtceu:mana", 250))
|
||||
.itemOutputs("8x kubejs:quantum_flux")
|
||||
.duration(100)
|
||||
.EUt(480)
|
||||
|
||||
// Rocketry
|
||||
event.recipes.gtceu.chemical_reactor("kubejs:chemical_reactor/durene_hm")
|
||||
.inputFluids(Fluid.of("gtceu:dimethylbenzene", 1000), Fluid.of("gtceu:chloromethane", 1000))
|
||||
.itemOutputs("24x gtceu:durene_dust")
|
||||
.outputFluids(Fluid.of("gtceu:hydrochloric_acid", 1000))
|
||||
.EUt(120)
|
||||
.duration(120)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("dimethylformamide")
|
||||
.inputFluids("gtceu:carbon_monoxide 1000", "gtceu:dimethylamine 1000")
|
||||
.outputFluids("gtceu:dimethylformamide 1000")
|
||||
.duration(200).EUt(480);
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("pyrometillic_dianhydride")
|
||||
.inputFluids("gtceu:durene 250", "gtceu:oxygen 1500")
|
||||
.outputFluids("gtceu:pyromellitic_dianhydride 250", "minecraft:water 1500")
|
||||
.duration(400).EUt(480);
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("manganese_acetate")
|
||||
.itemInputs("gtceu:manganese_dust")
|
||||
.inputFluids("gtceu:acetic_acid 1000")
|
||||
.outputFluids("gtceu:manganese_acetate 1000")
|
||||
.duration(60).EUt(480);
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("chloronitrobenzene")
|
||||
.inputFluids("gtceu:chlorobenzene 1000", "gtceu:nitric_acid 1000")
|
||||
.outputFluids("gtceu:nitrochlorobenzene 1000", "minecraft:water 1000")
|
||||
.duration(400).EUt(480);
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("oxydianiline_sludge")
|
||||
.inputFluids("gtceu:aminophenol 1000", "gtceu:nitrochlorobenzene 1000", "gtceu:dimethylformamide 1000")
|
||||
.itemInputs("1x gtceu:potassium_carbonate_dust")
|
||||
.outputFluids("gtceu:oxydianiline_sludge 250", "minecraft:water 1500")
|
||||
.duration(400).EUt(480);
|
||||
|
||||
event.recipes.gtceu.distillation_tower("distill_oxydianiline_sludge")
|
||||
.inputFluids("gtceu:oxydianiline_sludge 1000")
|
||||
.outputFluids("gtceu:dimethylformamide 1000", "gtceu:oxydianiline 144")
|
||||
.duration(200).EUt(480);
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("pyromellitic_dianhydride")
|
||||
.inputFluids("gtceu:durene 250", "gtceu:oxygen 1500")
|
||||
.outputFluids("gtceu:pyromellitic_dianhydride 250", "minecraft:water 1500")
|
||||
.duration(400).EUt(480);
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("kapton_k")
|
||||
.inputFluids("gtceu:pyromellitic_dianhydride 1000", "gtceu:oxydianiline 1000")
|
||||
.outputFluids("gtceu:kapton_k 1000")
|
||||
.duration(400).EUt(480);
|
||||
}
|
||||
});
|
||||
112
kubejs/server_scripts/_hardmode/stoneline.js
Normal file
112
kubejs/server_scripts/_hardmode/stoneline.js
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
/**
|
||||
* Stoneline.
|
||||
* A hardmode-exclusive processing line to generate Taranium and a wealth of byproducts from Stone Dust.
|
||||
* Replaces regular GregTech Stone Dust centrifuging.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
if(doStoneline) {
|
||||
// Dioxygen Difluoride
|
||||
event.recipes.gtceu.large_chemical_reactor("dioxygen_difluoride")
|
||||
.inputFluids("gtceu:oxygen 2000", "gtceu:fluorine 2000")
|
||||
.notConsumable("gtceu:void_empowered_gem")
|
||||
.outputFluids("gtceu:dioxygen_difluoride 1000")
|
||||
.duration(100).EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Helium Hydride
|
||||
event.recipes.gtceu.chemical_reactor("tritium_hydride")
|
||||
.inputFluids("gtceu:hydrogen 1000", "gtceu:tritium 1000")
|
||||
.outputFluids("gtceu:tritium_hydride 1000")
|
||||
.duration(160).EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.distillation_tower("helium_hydride")
|
||||
.inputFluids("gtceu:tritium_hydride 10000")
|
||||
.outputFluids("gtceu:tritium_hydride 9900", "gtceu:helium_hydride 100")
|
||||
.duration(800).EUt(192)
|
||||
|
||||
// Stone Dust Processing
|
||||
event.remove({ id: "gtceu:centrifuge/stone_dust_separation" })
|
||||
|
||||
event.recipes.gtceu.chemical_bath("stone_dust_to_dirty_hexafluorosilicic_acid")
|
||||
.itemInputs("24x gtceu:stone_dust")
|
||||
.inputFluids("gtceu:hydrofluoric_acid 5000")
|
||||
.itemOutputs("6x gtceu:quartzite_dust", "6x gtceu:potassium_feldspar_dust", "5x gtceu:mirabilite_dust", "3x gtceu:redrock_dust")
|
||||
.outputFluids("gtceu:dirty_hexafluorosilicic_acid 6000")
|
||||
.duration(40).EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// 8:3 stone dust per stone residue dust
|
||||
event.recipes.gtceu.centrifuge("dirty_hexafluorosilic_acid_to_stone_residue")
|
||||
.inputFluids("gtceu:dirty_hexafluorosilicic_acid 6000")
|
||||
.itemOutputs("9x gtceu:stone_residue_dust")
|
||||
.outputFluids("gtceu:hexafluorosilicic_acid 1000")
|
||||
.duration(100).EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// 24:1 stone residue dust per uncommon residue dust
|
||||
event.recipes.gtceu.centrifuge("centrifuging_stone_residue")
|
||||
.itemInputs("27x gtceu:stone_residue_dust", "3x gtceu:sodium_hydroxide_dust")
|
||||
.inputFluids("minecraft:water 8000")
|
||||
.itemOutputs("16x gtceu:marble_dust", "8x gtceu:biotite_dust", "6x gtceu:metal_mixture_dust", "4x gtceu:sodalite_dust", "3x gtceu:uncommon_residue_dust")
|
||||
.duration(400).EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// 24:1 stone dust per oxidised residue dust
|
||||
event.recipes.gtceu.large_chemical_reactor("uncommon_residue_to_oxidised_residue")
|
||||
.itemInputs("gtceu:uncommon_residue_dust")
|
||||
.inputFluids("gtceu:dioxygen_difluoride 1000")
|
||||
.itemOutputs("gtceu:oxidised_residue_dust", "2x gtceu:ash_dust")
|
||||
.duration(80).EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// 240:1 stone dust per refined residue dust
|
||||
event.recipes.gtceu.centrifuge("centrifuging_oxidised_residue")
|
||||
.itemInputs("10x gtceu:oxidised_residue_dust")
|
||||
.inputFluids("gtceu:distilled_water 10000")
|
||||
.itemOutputs("6x gtceu:garnet_sand_dust", "6x gtceu:basaltic_mineral_sand_dust", "5x gtceu:granitic_mineral_sand_dust", "4x gtceu:clay_dust", "gtceu:refined_residue_dust")
|
||||
.outputFluids("gtceu:sulfuric_copper_solution 1000", "gtceu:sulfuric_nickel_solution 500", "gtceu:lead_zinc_solution 250")
|
||||
.duration(500).EUt(720)
|
||||
|
||||
// 2400:1 stone dust per clean inert residue dust
|
||||
event.recipes.gtceu.centrifuge("centrifuging_refined_residue")
|
||||
.itemInputs("10x gtceu:refined_residue_dust")
|
||||
.notConsumable("kubejs:bathyal_energy_core")
|
||||
.notConsumableFluid("gtceu:fluoroantimonic_acid 1000")
|
||||
.itemOutputs("10x gtceu:pitchblende_dust", "6x gtceu:borax_dust", "5x gtceu:rare_earth_dust", "4x gtceu:snowchestite_dust", "3x gtceu:diamond_dust", "gtceu:clean_inert_residue_dust")
|
||||
.duration(2000).EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.mixer("ultraacidic_residue")
|
||||
.itemInputs("gtceu:clean_inert_residue_dust")
|
||||
.inputFluids("gtceu:helium_hydride 1000")
|
||||
.outputFluids("gtceu:ultraacidic_residue 1000")
|
||||
.duration(160).EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
// 2400:1 stone dust per bucket of dusty helium
|
||||
event.recipes.gtceu.large_chemical_reactor("ultraacidic_residue_to_dusty_helium")
|
||||
.inputFluids("gtceu:xenon 1000", "gtceu:oxygen 4000", "gtceu:ultraacidic_residue 2000")
|
||||
.notConsumable("kubejs:abyssal_energy_core")
|
||||
.itemOutputs("2x gtceu:europium_dust", "gtceu:kaemanite_dust", "gtceu:small_osmiridiumyes_dust")
|
||||
.outputFluids("gtceu:xenic_acid 1000", "gtceu:dusty_helium 2000")
|
||||
.duration(1000).EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
// Taranium
|
||||
event.recipes.gtceu.centrifuge("centrifuging_dusty_helium")
|
||||
.inputFluids("gtceu:dusty_helium 1000")
|
||||
.outputFluids("gtceu:taranium_enriched_helium 150", "gtceu:taranium_depleted_helium 850")
|
||||
.duration(400).EUt(2880)
|
||||
|
||||
event.recipes.gtceu.fusion_reactor("taranium_enriched_helium_and_helium_3_to_taranium_enriched_helium_plasma")
|
||||
.inputFluids("gtceu:taranium_enriched_helium 1000", "gtceu:helium_3 1000")
|
||||
.outputFluids("gtceu:taranium_enriched_helium_plasma 3000")
|
||||
.duration(160).EUt(GTValues.VHA[GTValues.IV])
|
||||
.fusionStartEU(480000000)
|
||||
|
||||
event.recipes.gtceu.centrifuge("centrifuging_taranium_enriched_helium_plasma")
|
||||
.inputFluids("gtceu:taranium_enriched_helium_plasma 3000")
|
||||
.notConsumable("kubejs:magnetron")
|
||||
.notConsumable("kubejs:cryotheum_dust")
|
||||
.itemOutputs("gtceu:taranium_dust", "gtceu:small_clean_inert_residue_dust")
|
||||
.duration(100).EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
event.recipes.gtceu.centrifuge("centrifuging_taranium_depleted_helium")
|
||||
.inputFluids("gtceu:taranium_depleted_helium 2500")
|
||||
.itemOutputs("gtceu:clean_inert_residue_dust")
|
||||
.outputFluids("gtceu:helium 2000")
|
||||
.duration(320).EUt(GTValues.VA[GTValues.EV])
|
||||
}
|
||||
})
|
||||
69
kubejs/server_scripts/_hardmode/universal_crystallizer.js
Normal file
69
kubejs/server_scripts/_hardmode/universal_crystallizer.js
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
/**
|
||||
* Universal Crystallizer multiblock
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// //// Machine Recipe //////
|
||||
event.recipes.gtceu.assembly_line("universal_crystallizer")
|
||||
.itemInputs("24x gtceu:large_autoclave", "24x packagedexcrafting:combination_crafter", "24x gtceu:uv_emitter", "24x gtceu:uv_field_generator", "64x #gtceu:circuits/uhv", "8x #gtceu:circuits/uev", "64x gtceu:tritanium_coil_block", "24x kubejs:universal_warp_controller", "32x kubejs:hadal_energy_core")
|
||||
.inputFluids("kubejs:molten_cryotheum 36864", "gtceu:diamatine_empowered 18432", "gtceu:naquadria 63216", (doStoneline ? "gtceu:taranium" : "gtceu:actinium") + " 4608")
|
||||
.itemOutputs("gtceu:universal_crystallizer")
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:tritanium_coil_block")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(30720)
|
||||
)
|
||||
.duration(45)
|
||||
.EUt(1966080)
|
||||
|
||||
|
||||
// //// Crystallization recipes /////
|
||||
event.recipes.gtceu.universal_crystallizer("diamond_crystallization")
|
||||
.itemInputs("64x gtceu:carbon_dust", "64x gtceu:carbon_dust", "64x gtceu:carbon_dust", "64x gtceu:carbon_dust", "64x gtceu:carbon_dust", "64x gtceu:carbon_dust", "64x gtceu:carbon_dust", "64x gtceu:carbon_dust")
|
||||
.inputFluids("gtceu:enriched_naquadah 3")
|
||||
.itemOutputs("32x minecraft:diamond")
|
||||
.duration(60)
|
||||
.EUt(1179648)
|
||||
|
||||
event.recipes.gtceu.universal_crystallizer("enori_crystallization")
|
||||
.itemInputs("63x gtceu:iron_dust")
|
||||
.inputFluids("gtceu:enriched_naquadah 3")
|
||||
.itemOutputs("7x gtceu:enori_empowered_block")
|
||||
.duration(7)
|
||||
.EUt(1000000)
|
||||
|
||||
event.recipes.gtceu.universal_crystallizer("restonia_crystallization")
|
||||
.itemInputs("63x minecraft:redstone")
|
||||
.inputFluids("gtceu:enriched_naquadah 3")
|
||||
.itemOutputs("7x gtceu:restonia_empowered_block")
|
||||
.duration(7)
|
||||
.EUt(1000000)
|
||||
|
||||
event.recipes.gtceu.universal_crystallizer("palis_crystallization")
|
||||
.itemInputs("63x gtceu:lapis_dust")
|
||||
.inputFluids("gtceu:enriched_naquadah 3")
|
||||
.itemOutputs("7x gtceu:palis_empowered_block")
|
||||
.duration(7)
|
||||
.EUt(1000000)
|
||||
|
||||
event.recipes.gtceu.universal_crystallizer("void_crystallization")
|
||||
.itemInputs("63x gtceu:coal_dust")
|
||||
.inputFluids("gtceu:enriched_naquadah 3")
|
||||
.itemOutputs("7x gtceu:void_empowered_block")
|
||||
.duration(7)
|
||||
.EUt(1000000)
|
||||
|
||||
event.recipes.gtceu.universal_crystallizer("diamatine_crystallization")
|
||||
.itemInputs("63x gtceu:diamond_dust")
|
||||
.inputFluids("gtceu:enriched_naquadah 3")
|
||||
.itemOutputs("7x gtceu:diamatine_empowered_block")
|
||||
.duration(7)
|
||||
.EUt(1000000)
|
||||
|
||||
event.recipes.gtceu.universal_crystallizer("emeradic_crystallization")
|
||||
.itemInputs("63x gtceu:emerald_dust")
|
||||
.inputFluids("gtceu:enriched_naquadah 3")
|
||||
.itemOutputs("7x gtceu:emeradic_empowered_block")
|
||||
.duration(7)
|
||||
.EUt(1000000)
|
||||
})
|
||||
61
kubejs/server_scripts/_initial.js
Normal file
61
kubejs/server_scripts/_initial.js
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
// priority: 999
|
||||
/**
|
||||
! This script loads first before the other startup scripts
|
||||
* put your util or patches here so that you can access them at other scripts
|
||||
*/
|
||||
|
||||
// see quest_scripts.js
|
||||
const cake_reset_time = 60; // in seconds
|
||||
|
||||
/**
|
||||
* Capitalizes the first char of the string
|
||||
* @param {string} word
|
||||
* @returns
|
||||
*/
|
||||
const capitalize = (word) => (word[0].toUpperCase() + word.substring(1));
|
||||
|
||||
/**
|
||||
* helper for compressing/decompress crafting
|
||||
* @param {Internal.RecipesEventJS_} ev
|
||||
* @param {OutputItem_} output output
|
||||
* @param {InputItem_} input input
|
||||
* @param {boolean} make_uncompacting make uncompacting recipie (default true)
|
||||
* @returns {Internal.RecipeTypeFunction}
|
||||
*/
|
||||
const compacting = (ev, output, input, make_uncompacting) => {
|
||||
// kubejs doesnt support nullish coalescing :(
|
||||
if (make_uncompacting === undefined || make_uncompacting === null) {
|
||||
make_uncompacting = true;
|
||||
}
|
||||
|
||||
if (make_uncompacting) ev.shapeless(`9x ${input}`, [output]);
|
||||
|
||||
return ev.shaped(output, [
|
||||
"aaa",
|
||||
"aaa",
|
||||
"aaa"
|
||||
], { a: input });
|
||||
}
|
||||
|
||||
// Java Classes
|
||||
// used to create FluidIngredientJS objects
|
||||
const JSONObject = Java.loadClass("com.google.gson.JsonObject")
|
||||
// Required to use fluid tags in gregtech recipes
|
||||
const FluidIngredientJS = Java.loadClass("com.gregtechceu.gtceu.integration.kjs.recipe.components.GTRecipeComponents$FluidIngredientJS")
|
||||
// Required for the rock breaker
|
||||
const RockBreakerCondition = Java.loadClass("com.gregtechceu.gtceu.common.recipe.condition.RockBreakerCondition")
|
||||
|
||||
// Tier enums for easier data handling
|
||||
const TIER_ULV = 0; // ulv
|
||||
const TIER_LV = 1;
|
||||
const TIER_MV = 2;
|
||||
const TIER_HV = 3;
|
||||
const TIER_EV = 4;
|
||||
const TIER_IV = 5;
|
||||
const TIER_LUV = 6;
|
||||
const TIER_ZPM = 7;
|
||||
const TIER_UV = 8;
|
||||
const TIER_UHV = 9;
|
||||
const TIER_ID_MAPPING = [
|
||||
"ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV"
|
||||
]
|
||||
11
kubejs/server_scripts/_moni_motd.js
Normal file
11
kubejs/server_scripts/_moni_motd.js
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/**
|
||||
* Welcome message sent to players on join
|
||||
*/
|
||||
PlayerEvents.loggedIn(event => {
|
||||
event.player.tell(["Welcome to ", Text.blue("Monifactory Beta"), ` on ${capitalize(`${global.packmode}`)} mode.`]); // force recast to string
|
||||
event.player.tell(["Report pack issues to ", Text
|
||||
.blue("the Github").underlined()
|
||||
.clickOpenUrl("https://github.com/ThePansmith/Monifactory")
|
||||
.hover("Click to open"), "."
|
||||
]);
|
||||
})
|
||||
60
kubejs/server_scripts/_packmode.js
Normal file
60
kubejs/server_scripts/_packmode.js
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/**
|
||||
* Server-side pack mode management.
|
||||
* This file adds a set of constant booleans for convenience in determining if a feature is enabled
|
||||
* and enables gamestages to toggle feature-specific FTBQuests quests if the respective content is also enabled.
|
||||
*/
|
||||
|
||||
// The !! is to cast the types into boolean since they got transformed into Java Objects from being globals
|
||||
const doAssemblyLineOrderingWarning = !!global.doAssemblyLineOrderingWarning;
|
||||
const doBoilers = !!global.doBoilers;
|
||||
const doCompacting = !!global.doCompacting;
|
||||
const doConduits = !!global.doConduits;
|
||||
const doConverters = !!global.doConverters;
|
||||
|
||||
const doHarderPrintedSilicon = !!global.doHarderPrintedSilicon;
|
||||
const doHarderProcessing = !!global.doHarderProcessing;
|
||||
const doHarderRecipes = !!global.doHarderRecipes;
|
||||
const doHarderNaqFuel = !!global.doHarderNaqFuel;
|
||||
const doHardGlassRecipesWarning = !!global.doHardGlassRecipesWarning;
|
||||
const doHatchRevert = !!global.doHatchRevert;
|
||||
const doHNN = !!global.doHNN;
|
||||
const doLaserIO = !!global.doLaserIO;
|
||||
const doMeowniPlush = !!global.doMeowniPlush;
|
||||
const doMonicoins = !!global.doMonicoins;
|
||||
const doSnad = !!global.doSnad;
|
||||
const doSteamAge = !!global.doSteamAge;
|
||||
const doStoneline = !!global.doStoneline;
|
||||
const doFluxbore = !!global.doFluxbore;
|
||||
const doHarderFluxBore = !!global.doHarderFluxBore;
|
||||
const doQuantumCoolant = !!global.doQuantumCoolant;
|
||||
|
||||
PlayerEvents.loggedIn(event => {
|
||||
const gameStages = [
|
||||
"Boilers",
|
||||
"Compacting",
|
||||
"Converters",
|
||||
"HarderProcessing",
|
||||
"HarderRecipes",
|
||||
"HardGlassRecipesWarning",
|
||||
"HNN",
|
||||
"LaserIO",
|
||||
"Monicoins",
|
||||
"Snad",
|
||||
"SteamAge",
|
||||
"HarderNaqFuel",
|
||||
"Stoneline",
|
||||
"HalfMMs",
|
||||
"QuantumCoolant"
|
||||
];
|
||||
|
||||
gameStages.forEach(stage => {
|
||||
const flag = global[`do${stage}`];
|
||||
if (flag) {
|
||||
event.removeGameStage(`dont${stage}`);
|
||||
event.addGameStage(`do${stage}`);
|
||||
} else {
|
||||
event.removeGameStage(`do${stage}`);
|
||||
event.addGameStage(`dont${stage}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
205
kubejs/server_scripts/aa_planet_resources.js
Normal file
205
kubejs/server_scripts/aa_planet_resources.js
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
/**
|
||||
* Maceration recipes for Ad Astra planetary rock dusts
|
||||
* Makes planetary rock dusts drop from ores
|
||||
* Centrifuge recipes for converting planetary rock dusts into valuable resources
|
||||
* Maceration recipes for converting other blocks found on planets to resources
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Regolith dusts
|
||||
let regolithDustResources = [
|
||||
["moon", ["moon_sand"], "diamond"],
|
||||
["mars", ["mars_sand"], "monazite"],
|
||||
["venus", ["venus_sandstone", "venus_sandstone_bricks", "cracked_venus_sandstone_bricks", "venus_sand"], "olivine"],
|
||||
["mercury", [], "cinnabar"],
|
||||
["glacio", [], "sodalite"]
|
||||
]
|
||||
|
||||
regolithDustResources.forEach((planetResources, fluxCount) => {
|
||||
let stone_variants = [
|
||||
`${planetResources[0]}_stone`,
|
||||
`${planetResources[0]}_cobblestone`,
|
||||
`${planetResources[0]}_stone_bricks`,
|
||||
`cracked_${planetResources[0]}_stone_bricks`,
|
||||
`chiseled_${planetResources[0]}_stone_bricks`,
|
||||
`polished_${planetResources[0]}_stone`,
|
||||
`${planetResources[0]}_pillar`,
|
||||
`${planetResources[0]}_stone_brick_wall`
|
||||
]
|
||||
|
||||
// Planetary dust maceration recipe: stone variants
|
||||
stone_variants.forEach(variant => {
|
||||
event.recipes.gtceu.macerator(`macerate_${variant}`)
|
||||
.itemInputs(`ad_astra:${variant}`)
|
||||
.itemOutputs(`kubejs:${planetResources[0]}_dust`)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
})
|
||||
|
||||
// Planetary dust maceration recipe: others
|
||||
planetResources[1].forEach(variant => {
|
||||
event.recipes.gtceu.macerator(`macerate_${variant}`)
|
||||
.itemInputs(`ad_astra:${variant}`)
|
||||
.itemOutputs(`kubejs:${planetResources[0]}_dust`)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
})
|
||||
|
||||
// Recipes to make quantum flux from planets' rock dusts
|
||||
event.shaped(`${fluxCount + 1}x kubejs:quantum_flux`, [
|
||||
" B ",
|
||||
"BAB",
|
||||
" B "
|
||||
], {
|
||||
A: `#forge:gems/${planetResources[2]}`,
|
||||
B: `kubejs:${planetResources[0]}_dust`
|
||||
}).id(`kubejs:quantum_flux_from_${planetResources[0]}_dust`)
|
||||
|
||||
event.recipes.gtceu.mixer(`quantum_flux_from_${planetResources[0]}_dust`)
|
||||
.itemInputs(`4x kubejs:${planetResources[0]}_dust`, `#forge:gems/${planetResources[2]}`)
|
||||
.itemOutputs(`${fluxCount + 1}x kubejs:quantum_flux`)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
})
|
||||
|
||||
// Rock dust centrifuging
|
||||
event.recipes.gtceu.centrifuge("moon_dust_centrifuging")
|
||||
.itemInputs("kubejs:moon_dust")
|
||||
.chancedOutput("gtceu:stone_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:glass_dust", 2000, 0)
|
||||
.chancedOutput("gtceu:bauxite_dust", 2300, 0)
|
||||
.chancedOutput("gtceu:quicklime_dust", 1400, 0)
|
||||
.chancedOutput("gtceu:magnesia_dust", 1000, 50)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 700, 70)
|
||||
.outputFluids(Fluid.of("gtceu:deuterium", 100))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("mars_dust_centrifuging")
|
||||
.itemInputs("kubejs:mars_dust")
|
||||
.chancedOutput("gtceu:silicon_dioxide_dust", 4000, 0)
|
||||
.chancedOutput("gtceu:pyrope_dust", 2300, 0)
|
||||
.chancedOutput("gtceu:hematite_dust", 2000, 0)
|
||||
.chancedOutput("gtceu:soapstone_dust", 900, 90)
|
||||
.chancedOutput("gtceu:calcium_perchlorate_dust", 700, 0)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 825, 80)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("venus_dust_centrifuging")
|
||||
.itemInputs("kubejs:venus_dust")
|
||||
.chancedOutput("gtceu:quartz_sand_dust", 3000, 0)
|
||||
.chancedOutput("gtceu:pyrite_dust", 2600, 260)
|
||||
.chancedOutput("gtceu:calcium_carbonate_dust", 1800, 0)
|
||||
.chancedOutput("gtceu:apatite_dust", 1400, 140)
|
||||
.chancedOutput("gtceu:garnierite_dust", 1100, 110)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 1000, 80)
|
||||
.outputFluids(Fluid.of("gtceu:sulfur_dioxide", 100))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("mercury_dust_centrifuging")
|
||||
.itemInputs("kubejs:mercury_dust")
|
||||
.chancedOutput("gtceu:stone_dust", 2900, 0)
|
||||
.chancedOutput("gtceu:basaltic_mineral_sand_dust", 2700, 0)
|
||||
.chancedOutput("gtceu:garnet_sand_dust", 2000, 0)
|
||||
.chancedOutput("gtceu:fullers_earth_dust", 1650, 0)
|
||||
.chancedOutput("minecraft:redstone", 1100, 130)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 1000, 80)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("glacio_dust_centrifuging")
|
||||
.itemInputs("kubejs:glacio_dust")
|
||||
.chancedOutput("gtceu:granitic_mineral_sand_dust", 4500, 0)
|
||||
.chancedOutput("gtceu:kyanite_dust", 3750, 0)
|
||||
.chancedOutput("gtceu:alunite_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:oilsands_dust", 1750, 175)
|
||||
.chancedOutput("gtceu:bastnasite_dust", 1350, 130)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 1200, 80)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("extraterrestrial_metal_mixture_centrifuging")
|
||||
.itemInputs("gtceu:extraterrestrial_metal_mixture_dust")
|
||||
.chancedOutput("gtceu:ilmenite_dust", 6000, 0)
|
||||
.chancedOutput("gtceu:chromite_dust", 4000, 0)
|
||||
.chancedOutput("gtceu:pyrolusite_dust", 3500, 0)
|
||||
.chancedOutput("gtceu:wulfenite_dust", 2200, 70)
|
||||
.chancedOutput("gtceu:tungstate_dust", 1700, 110)
|
||||
.duration(1000)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
// Maceration recycling for other extraterrestrial materials
|
||||
event.recipes.gtceu.macerator("macerate_conglomerate")
|
||||
.itemInputs("ad_astra:conglomerate")
|
||||
.chancedOutput("gtceu:mirabilite_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:redrock_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:biotite_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:gypsum_dust", 2500, 0)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.macerator("macerate_infernal_spire")
|
||||
.itemInputs("ad_astra:infernal_spire_block")
|
||||
.chancedOutput("minecraft:blaze_powder", 5000, 0)
|
||||
.chancedOutput("gtceu:bauxite_dust", 2000, 200)
|
||||
.chancedOutput("gtceu:scheelite_dust", 1500, 150)
|
||||
.chancedOutput("gtceu:netherite_scrap_dust", 500, 100)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.macerator("macerate_permafrost")
|
||||
.itemInputs("ad_astra:permafrost")
|
||||
.chancedOutput("gtceu:ice_dust", 5000, 0)
|
||||
.chancedOutput("minecraft:dirt", 5000, 0)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
// Dilithium
|
||||
event.recipes.gtceu.autoclave("dilithium_helium")
|
||||
.itemInputs("4x gtceu:dilithium_dust")
|
||||
.inputFluids("gtceu:helium 1000")
|
||||
.itemOutputs("4x gtceu:dilithium_gem")
|
||||
.duration(400)
|
||||
.EUt(110)
|
||||
})
|
||||
|
||||
// Add regolith dusts to ores' loot pool
|
||||
LootJS.modifiers((event) => {
|
||||
const moonDust = LootEntry.of("kubejs:moon_dust").when(c => c.randomChance(0.50))
|
||||
const moonDustFortune = LootEntry.of("kubejs:moon_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
const marsDust = LootEntry.of("kubejs:mars_dust").when(c => c.randomChance(0.50))
|
||||
const marsDustFortune = LootEntry.of("kubejs:mars_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
const venusDust = LootEntry.of("kubejs:venus_dust").when(c => c.randomChance(0.50))
|
||||
const venusDustFortune = LootEntry.of("kubejs:venus_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
const mercuryDust = LootEntry.of("kubejs:mercury_dust").when(c => c.randomChance(0.50))
|
||||
const mercuryDustFortune = LootEntry.of("kubejs:mercury_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
const glacioDust = LootEntry.of("kubejs:glacio_dust").when(c => c.randomChance(0.50))
|
||||
const glacioDustFortune = LootEntry.of("kubejs:glacio_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
event.addBlockLootModifier(/.*moon_.*_ore$/).addSequenceLoot(moonDust, moonDustFortune);
|
||||
event.addBlockLootModifier(/.*mars_.*_ore$/).addSequenceLoot(marsDust, marsDustFortune);
|
||||
event.addBlockLootModifier(/.*venus_.*_ore$/).addSequenceLoot(venusDust, venusDustFortune);
|
||||
event.addBlockLootModifier(/.*mercury_.*_ore$/).addSequenceLoot(mercuryDust, mercuryDustFortune);
|
||||
event.addBlockLootModifier(/.*glacio_.*_ore$/).addSequenceLoot(glacioDust, glacioDustFortune);
|
||||
});
|
||||
34
kubejs/server_scripts/deprecation_pipeline.js
Normal file
34
kubejs/server_scripts/deprecation_pipeline.js
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* This file implements some of the functionality necessary to fulfill the purpose of the deprecation pipeline
|
||||
* as described in KubeJS/startup_scripts/deprecation_pipeline.js.
|
||||
*
|
||||
* In particular, the recipes to convert deprecated items to their replacement are defined here.
|
||||
*/
|
||||
|
||||
Object.entries(global.deprecatedItems).forEach(([oldItemID, replacementItemID]) => {
|
||||
ServerEvents.recipes(event => {
|
||||
event.shapeless(replacementItemID, [oldItemID]).id(`${oldItemID}_legacy_updater`);
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction(`${oldItemID}_legacy_updater`)
|
||||
.itemInputs(oldItemID)
|
||||
.itemOutputs(replacementItemID)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
});
|
||||
});
|
||||
|
||||
Object.entries(global.deprecatedFluids).forEach(([oldFluidID, replacementFluidID]) => {
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.gtceu.chemical_reactor(`${oldFluidID}_legacy_updater`)
|
||||
.inputFluids(`${oldFluidID} 1000`)
|
||||
.outputFluids(`${replacementFluidID} 1000`)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.distillation_tower(`${oldFluidID}_legacy_updater`)
|
||||
.inputFluids(`${oldFluidID} 1000`)
|
||||
.outputFluids(`${replacementFluidID} 1000`)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
});
|
||||
});
|
||||
50
kubejs/server_scripts/extractor_solidifer.js
Normal file
50
kubejs/server_scripts/extractor_solidifer.js
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
/**
|
||||
* Extraction and solidification recipes for NC and GT
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Solidified to Gas
|
||||
extractgas("neon", "kubejs:solidified_neon", Fluid.of("gtceu:neon", 1000));
|
||||
extractgas("krypton", "kubejs:solidified_krypton", Fluid.of("gtceu:krypton", 1000));
|
||||
extractgas("xenon", "kubejs:solidified_xenon", Fluid.of("gtceu:xenon", 1000));
|
||||
extractgas("argon", "kubejs:solidified_argon", Fluid.of("gtceu:argon", 1000));
|
||||
// Extract Nuclearcraft Isotopes
|
||||
extractisotope("thorium_230", "nuclearcraft:thorium_230", Fluid.of("gtceu:thorium", 144));
|
||||
extractisotope("thorium_232", "nuclearcraft:thorium_232", Fluid.of("gtceu:thorium", 144));
|
||||
extractisotope("uranium_233", "nuclearcraft:uranium_233", Fluid.of("gtceu:uranium_235", 144));
|
||||
extractisotope("uranium_235", "nuclearcraft:uranium_235", Fluid.of("gtceu:uranium_235", 144));
|
||||
extractisotope("uranium_238", "nuclearcraft:uranium_238", Fluid.of("gtceu:uranium", 144));
|
||||
extractisotope("neptunium_237", "nuclearcraft:neptunium_237", Fluid.of("gtceu:neptunium", 144));
|
||||
extractisotope("neptunium_236", "nuclearcraft:neptunium_236", Fluid.of("gtceu:neptunium", 144));
|
||||
extractisotope("plutonium_241", "nuclearcraft:plutonium_241", Fluid.of("gtceu:plutonium_241", 144));
|
||||
extractisotope("plutonium_242", "nuclearcraft:plutonium_242", Fluid.of("gtceu:plutonium_241", 144));
|
||||
extractisotope("plutonium_238", "nuclearcraft:plutonium_238", Fluid.of("gtceu:plutonium", 144));
|
||||
extractisotope("plutonium_239", "nuclearcraft:plutonium_239", Fluid.of("gtceu:plutonium", 144));
|
||||
extractisotope("curium_243", "nuclearcraft:curium_243", Fluid.of("gtceu:curium", 144));
|
||||
extractisotope("curium_245", "nuclearcraft:curium_245", Fluid.of("gtceu:curium", 144));
|
||||
extractisotope("curium_246", "nuclearcraft:curium_246", Fluid.of("gtceu:curium", 144));
|
||||
extractisotope("curium_247", "nuclearcraft:curium_247", Fluid.of("gtceu:curium", 144));
|
||||
extractisotope("americium_241", "nuclearcraft:americium_241", Fluid.of("gtceu:americium", 144));
|
||||
extractisotope("americium_242", "nuclearcraft:americium_242", Fluid.of("gtceu:americium", 144));
|
||||
extractisotope("americium_243", "nuclearcraft:americium_243", Fluid.of("gtceu:americium", 144));
|
||||
extractisotope("berkelium_247", "nuclearcraft:berkelium_247", Fluid.of("gtceu:berkelium", 144));
|
||||
extractisotope("berkelium_248", "nuclearcraft:berkelium_248", Fluid.of("gtceu:berkelium", 144));
|
||||
extractisotope("californium_249", "nuclearcraft:californium_249", Fluid.of("gtceu:californium", 144));
|
||||
extractisotope("californium_250", "nuclearcraft:californium_250", Fluid.of("gtceu:californium", 144));
|
||||
extractisotope("californium_251", "nuclearcraft:californium_251", Fluid.of("gtceu:californium", 144));
|
||||
extractisotope("californium_252", "nuclearcraft:californium_252", Fluid.of("gtceu:californium", 144));
|
||||
|
||||
function extractgas(recipename, input, output) {
|
||||
event.recipes.gtceu.extractor(recipename)
|
||||
.itemInputs(input)
|
||||
.outputFluids(output)
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
}
|
||||
function extractisotope(recipename, input, output) {
|
||||
event.recipes.gtceu.extractor(recipename)
|
||||
.itemInputs(input)
|
||||
.outputFluids(output)
|
||||
.duration(180)
|
||||
.EUt(6)
|
||||
}
|
||||
})
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
/** Shamelessly stolen from A&B :) */
|
||||
function opposite(face) {
|
||||
if (face.equals("down"))
|
||||
return "up"
|
||||
if (face.equals("east"))
|
||||
return "west"
|
||||
if (face.equals("west"))
|
||||
return "east"
|
||||
if (face.equals("north"))
|
||||
return "south"
|
||||
if (face.equals("south"))
|
||||
return "north"
|
||||
return "down"
|
||||
}
|
||||
|
||||
BlockEvents.placed(event => {
|
||||
let block = event.getBlock()
|
||||
|
||||
// gtceu blocks
|
||||
if (block.getId().startsWith("gtceu:")) {
|
||||
// Set energy converters to feToEu mode when placed
|
||||
if (block.getId().endsWith("_energy_converter")) {
|
||||
block.mergeEntityData({ energyContainer: { feToEu: true } })
|
||||
}
|
||||
}
|
||||
|
||||
// Blocks below these line only get their placements altered if they were placed by an entity
|
||||
if (event.getEntity() == null) return
|
||||
|
||||
// Reverse placed Dynamos on Sneak
|
||||
if (block.getId().startsWith("thermal:dynamo") || (block.getId().startsWith("systeams:"))) { // systeams:steam is not a block thankfully
|
||||
let properties = block.getProperties()
|
||||
if (event.getEntity().isCrouching()) {
|
||||
properties["facing"] = opposite(properties["facing"].toString())
|
||||
block.set(block.getId(), properties)
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
13
kubejs/server_scripts/fixes_tweaks/Fixes_Server.js
Normal file
13
kubejs/server_scripts/fixes_tweaks/Fixes_Server.js
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/** some mod tags the charcoal recipe incorrectly */
|
||||
ServerEvents.recipes(event => {
|
||||
event.replaceInput({ id: "minecraft:coal_block" }, "#minecraft:coals", "minecraft:coal")
|
||||
|
||||
event.replaceOutput({ id: "minecraft:charcoal" }, "#minecraft:coals", "minecraft:charcoal")
|
||||
// thanks greg
|
||||
event.replaceOutput({ id: "gtceu:shapeless/block_decompress_charcoal" }, "minecraft:coal", "minecraft:charcoal")
|
||||
event.replaceOutput({ id: "thermal:storage/charcoal_from_block" }, "minecraft:coal", "minecraft:charcoal")
|
||||
event.replaceOutput({ id: "thermal:machines/press/unpacking/press_charcoal_unpacking" }, "minecraft:coal", "minecraft:charcoal")
|
||||
event.replaceOutput({ type: "gtceu:pyrolyse_oven" }, "minecraft:coal", "20x minecraft:charcoal");
|
||||
event.replaceOutput({ id: "gtceu:forge_hammer/hammer_charcoal_block_to_gem" }, "minecraft:coal", "9x minecraft:charcoal")
|
||||
event.replaceOutput({ id: "gtceu:coke_oven/log_to_charcoal" }, "minecraft:coal", "minecraft:charcoal")
|
||||
})
|
||||
15
kubejs/server_scripts/fixes_tweaks/Starting_Items.js
Normal file
15
kubejs/server_scripts/fixes_tweaks/Starting_Items.js
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
* One-time give of items to new players
|
||||
*/
|
||||
|
||||
PlayerEvents.loggedIn(event => {
|
||||
// Check if player doesn't have "starting_items" stage yet
|
||||
if (!event.player.stages.has("starting_items")) {
|
||||
// Add the stage
|
||||
event.player.stages.add("starting_items")
|
||||
// remove the TOP note
|
||||
event.player.inventory.clear()
|
||||
// Give qb to player
|
||||
event.player.give("ftbquests:book")
|
||||
}
|
||||
})
|
||||
30
kubejs/server_scripts/fixes_tweaks/active_transformer.js
Normal file
30
kubejs/server_scripts/fixes_tweaks/active_transformer.js
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
/**
|
||||
* Lowers the tiering of Active Transformers from LuV to IV - script 2 of 2.
|
||||
* - Changes recipes of High Power Casings and the Active Transformer machine to make them accessible earlier
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.gtceu.assembler("high_power_casing")
|
||||
.itemInputs(
|
||||
"#forge:frames/iridium",
|
||||
"6x #forge:plates/iridium",
|
||||
"#gtceu:circuits/ev",
|
||||
"16x #forge:fine_wires/cobalt",
|
||||
"16x #forge:fine_wires/copper",
|
||||
"2x gtceu:platinum_single_wire",
|
||||
)
|
||||
.itemOutputs("2x gtceu:high_power_casing")
|
||||
.duration(100).EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.assembler("active_transformer")
|
||||
.itemInputs(
|
||||
"gtceu:iv_transformer_16a",
|
||||
"#gtceu:circuits/luv",
|
||||
"8x gtceu:samarium_iron_arsenic_oxide_single_wire",
|
||||
"2x gtceu:hpic_chip"
|
||||
)
|
||||
.inputFluids("gtceu:sodium_potassium 1000")
|
||||
.itemOutputs("gtceu:active_transformer")
|
||||
.duration(300).EUt(GTValues.VA[GTValues.IV])
|
||||
// Lowers the voltage at which the laser pipes can be made to post plat-line IV
|
||||
event.replaceInput({ output: "gtceu:normal_laser_pipe" }, "gtceu:osmiridium_foil", "gtceu:rhodium_foil")
|
||||
})
|
||||
7
kubejs/server_scripts/fixes_tweaks/bountry_board.js
Normal file
7
kubejs/server_scripts/fixes_tweaks/bountry_board.js
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
/** Bounty board recipes only accept oak. The dev has stated this is intended. https://github.com/ejektaflex/Bountiful/issues/271 */
|
||||
ServerEvents.recipes(event => {
|
||||
if (doMonicoins) {
|
||||
event.replaceInput({ id: "bountiful:crafting/bountyboard" }, "minecraft:oak_log", "#minecraft:logs")
|
||||
event.replaceInput({ id: "bountiful:crafting/bountyboard" }, "minecraft:oak_planks", "#minecraft:planks")
|
||||
}
|
||||
})
|
||||
5
kubejs/server_scripts/fixes_tweaks/enchantments.js
Normal file
5
kubejs/server_scripts/fixes_tweaks/enchantments.js
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
/** TODO */
|
||||
|
||||
MoreJSEvents.filterAvailableEnchantments((event) => {
|
||||
event.add("minecraft:unbreaking");
|
||||
})
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Temporary fix for EnderIO redstone conduits not connecting to various blocks
|
||||
* see https://github.com/Team-EnderIO/EnderIO/issues/852#issuecomment-2395092479
|
||||
*/
|
||||
ServerEvents.tags("block", event => {
|
||||
const list = [
|
||||
// All GT tiered blocks
|
||||
/^gtceu:(steam|u?lv|mv|hv|ev|iv|luv|zpm|uv|uhv|uev|uiv|max|creative)_.*$/,
|
||||
|
||||
// All GT Large variants (turbines & multis) + power substation
|
||||
/^gtceu:.*(_large|large_|_large_|mega_).*$/,
|
||||
"gtceu:power_substation",
|
||||
|
||||
// Thermal/Systeams dynamos & boilers
|
||||
"#thermal:dynamos",
|
||||
"steamdynamo:steam_dynamo",
|
||||
"systeams:steam_dynamo",
|
||||
/^systeams:.*_boiler$/,
|
||||
|
||||
// NC:Neoteric controller & io port
|
||||
"nuclearcraft:fission_reactor_controller",
|
||||
"nuclearcraft:fission_reactor_port",
|
||||
|
||||
// Snad
|
||||
"snad:snad",
|
||||
"snad:red_snad",
|
||||
|
||||
// Modded lamps
|
||||
/^gtceu:.*_lamp$/,
|
||||
/^quark:.*_lamp$/,
|
||||
/^chipped:.*_lamp$/,
|
||||
"xtonesreworked:flat_lamp",
|
||||
]
|
||||
|
||||
event.add("enderio:redstone_connectable", list)
|
||||
})
|
||||
10
kubejs/server_scripts/fixes_tweaks/glass_breaking.js
Normal file
10
kubejs/server_scripts/fixes_tweaks/glass_breaking.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
* Makes you mine glass faster using a pickaxe
|
||||
*/
|
||||
|
||||
ServerEvents.tags("block", event => {
|
||||
event.add("minecraft:mineable/pickaxe", ["#forge:glass", "#forge:glass_panes"]);
|
||||
event.add("minecraft:mineable/pickaxe", /xtonesreworked:glaxx_block_/);
|
||||
event.add("minecraft:mineable/pickaxe", /enderio:clear_glass/);
|
||||
event.add("minecraft:mineable/pickaxe", /enderio:fused_quartz/);
|
||||
})
|
||||
32
kubejs/server_scripts/fixes_tweaks/gregtech_credits.js
Normal file
32
kubejs/server_scripts/fixes_tweaks/gregtech_credits.js
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
Creates Forming Press recipes for all tiers of Gregtech Credits,
|
||||
replacing the singular one for Cupronickel.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Remove the one forming press recipe for Cupronickel
|
||||
event.remove({ id: "gtceu:forming_press/credit_cupronickel" })
|
||||
|
||||
const metals = [
|
||||
"copper",
|
||||
"cupronickel",
|
||||
"silver",
|
||||
"gold",
|
||||
"platinum",
|
||||
"osmium",
|
||||
"naquadah",
|
||||
"neutronium"
|
||||
]
|
||||
|
||||
for (let index = 0; index < metals.length; index++) {
|
||||
// Total energy cost (default 1600 EU for Cupronickel)
|
||||
let energyIn = 1600 * Math.pow(4, index);
|
||||
|
||||
// Create recipes for all coin types
|
||||
event.recipes.gtceu.forming_press(`gtceu:forming_press/${metals[index]}_credit`)
|
||||
.notConsumable("gtceu:credit_casting_mold")
|
||||
.itemInputs(`gtceu:${metals[index]}_plate`)
|
||||
.itemOutputs(`4x gtceu:${metals[index]}_credit`)
|
||||
.EUt(energyIn / (20 * 5))
|
||||
.duration(20 * 5)
|
||||
}
|
||||
})
|
||||
17
kubejs/server_scripts/fixes_tweaks/hatch_revert.js
Normal file
17
kubejs/server_scripts/fixes_tweaks/hatch_revert.js
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/** Reverts the GTM 1.4.1 hatch recipe nerf for NM and HM */
|
||||
ServerEvents.recipes(event => {
|
||||
if (doHatchRevert) {
|
||||
event.remove({ id: /item_import_bus_/ })
|
||||
event.remove({ id: /item_export_bus_/ })
|
||||
event.remove({ id: /fluid_hatch_/, type: "gtceu:assembler" })
|
||||
event.remove({ id: /fluid_export_hatch_/, type: "gtceu:assembler" })
|
||||
|
||||
let hatchtier = ["ulv", "lv", "mv", "hv", "ev", "iv", "luv", "zpm", "uv", "uhv", "uev", "uiv", "max"]
|
||||
hatchtier.forEach(volt => {
|
||||
event.shaped(`gtceu:${volt}_input_bus`, [" S ", " T ", " "], { S: "#forge:chests/wooden", T: `gtceu:${volt}_machine_hull` })
|
||||
event.shaped(`gtceu:${volt}_output_bus`, [" ", " T ", " S "], { S: "#forge:chests/wooden", T: `gtceu:${volt}_machine_hull` })
|
||||
event.shaped(`gtceu:${volt}_input_hatch`, [" S ", " T ", " "], { S: "#forge:glass", T: `gtceu:${volt}_machine_hull` })
|
||||
event.shaped(`gtceu:${volt}_output_hatch`, [" ", " T ", " S "], { S: "#forge:glass", T: `gtceu:${volt}_machine_hull` })
|
||||
})
|
||||
}
|
||||
})
|
||||
14
kubejs/server_scripts/fixes_tweaks/no_structures.js
Normal file
14
kubejs/server_scripts/fixes_tweaks/no_structures.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Remove the stronghold biome tag so that there are no biomes that can generate strongholds
|
||||
* The same is done for Ad Astra's moon dungeons and Oil wells (contain unused materials)
|
||||
*/
|
||||
ServerEvents.tags("worldgen/biome", event => {
|
||||
event.removeAll("minecraft:has_structure/stronghold");
|
||||
event.removeAll("ad_astra:has_structure/moon_dungeon");
|
||||
event.removeAll("ad_astra:has_structure/oil_well");
|
||||
});
|
||||
|
||||
// Add the eye trim as an ender dragon drop
|
||||
LootJS.modifiers((event) => {
|
||||
event.addEntityLootModifier("minecraft:ender_dragon").addLoot("minecraft:eye_armor_trim_smithing_template");
|
||||
});
|
||||
16
kubejs/server_scripts/fixes_tweaks/ore_smelting.js
Normal file
16
kubejs/server_scripts/fixes_tweaks/ore_smelting.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/**
|
||||
* Remove/hide useless or overlapping smelting, blasting recipes for ores
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Remove overlapping ore blocks to ingot/dust recipes
|
||||
event.remove({ id: /^minecraft:nuclearcraft_\w+_ore$/ })
|
||||
|
||||
event.remove({ id: /^minecraft:\w+_from_smelting_[\w_]+_ore$/ })
|
||||
event.remove({ id: /^minecraft:\w+_from_blasting_[\w_]+_ore$/ })
|
||||
|
||||
event.remove({ id: /^thermal:smelting\/\w+_ingot_from_(ore|deepslate_ore)_smelting$/ })
|
||||
event.remove({ id: "thermal:smelting/sulfur_from_smelting" })
|
||||
event.remove({ id: "thermal:smelting/cinnabar_from_smelting" })
|
||||
event.remove({ id: "thermal:smelting/apatite_from_smelting" })
|
||||
})
|
||||
28
kubejs/server_scripts/fixes_tweaks/pterb_retier.js
Normal file
28
kubejs/server_scripts/fixes_tweaks/pterb_retier.js
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* Re-tiers the PTERB to late LuV - script 1 of 2.
|
||||
* - Replaces UV components with LuV components.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: "gtceu:assembly_line/pterb" })
|
||||
event.remove({ id: "gtceu:research_station/1_x_gtceu_active_transformer" })
|
||||
|
||||
event.recipes.gtceu.assembly_line("pterb")
|
||||
.itemInputs("gtceu:active_transformer")
|
||||
.itemInputs("32x gtceu:europium_plate")
|
||||
.itemInputs("8x gtceu:luv_sensor")
|
||||
.itemInputs("8x gtceu:luv_emitter")
|
||||
.itemInputs("4x gtceu:luv_field_generator")
|
||||
.itemInputs("2x #gtceu:circuits/zpm")
|
||||
.itemInputs("4x gtceu:europium_large_fluid_pipe")
|
||||
.itemInputs("8x gtceu:niobium_titanium_quadruple_cable")
|
||||
.itemInputs("8x gtceu:normal_laser_pipe")
|
||||
.inputFluids("gtceu:soldering_alloy 4608")
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
.duration(1200)
|
||||
.itemOutputs("gtmutils:pterb_machine")
|
||||
["scannerResearch(java.util.function.UnaryOperator)"](b => b
|
||||
.researchStack("gtceu:active_transformer")
|
||||
.duration(2400)
|
||||
.EUt(7680)
|
||||
)
|
||||
})
|
||||
24
kubejs/server_scripts/fixes_tweaks/quest_scripts.js
Normal file
24
kubejs/server_scripts/fixes_tweaks/quest_scripts.js
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* Quest Book timer scripts
|
||||
*/
|
||||
|
||||
FTBQuestsEvents.customReward("24FE5D5A412EA666", event => {
|
||||
// auto complete when you unlock genesis (free cake custom trigger)
|
||||
FTBQuests.getServerDataFromPlayer(event.getPlayer()).complete("138B92A597D63C12")
|
||||
})
|
||||
|
||||
// timer task 'component'
|
||||
FTBQuestsEvents.customTask(event => {
|
||||
if (event.task.hasTag("moni_timer_60")) {
|
||||
event.setMaxProgress(60 * cake_reset_time);
|
||||
} else if (event.task.hasTag("moni_timer_30")) {
|
||||
event.setMaxProgress(30 * cake_reset_time);
|
||||
}
|
||||
|
||||
if (event.task.hasTag("moni_timer")) {
|
||||
event.setCheckTimer(20);
|
||||
event.check = (task) => {
|
||||
task.addProgress(1);
|
||||
}
|
||||
}
|
||||
})
|
||||
28
kubejs/server_scripts/fixes_tweaks/superconducting_coils.js
Normal file
28
kubejs/server_scripts/fixes_tweaks/superconducting_coils.js
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* A little bit of software wizardry that alters any "superconducting_coil" recipes in the Assembler
|
||||
* to use 1/2 of the Trinium they normally do.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Get all GTCEu Assembler recipes with an ID matching the regex
|
||||
event.findRecipes({ id: /gtceu:assembler\/superconducting_coil/, type: "gtceu:assembler" }).forEach(supercon_coil_recipe => {
|
||||
// Get the JSON array object representing all of the fluid ingredients
|
||||
let fluidIngredients = supercon_coil_recipe.json.getAsJsonObject("inputs").getAsJsonArray("fluid")
|
||||
for (let i = 0; i < fluidIngredients.size(); i++) {
|
||||
// Fluid ingredient to alter if it includes "forge:trinium" as a tag
|
||||
let curFluidIngredient = fluidIngredients.get(i).getAsJsonObject("content")
|
||||
|
||||
// Get the original Trinium fluid amount
|
||||
let fluidAmount = curFluidIngredient.getAsJsonPrimitive("amount").asInt
|
||||
|
||||
// Confirm that we are indeed altering a fluid ingredient that contains the "forge:trinium" tag
|
||||
let fluidIngredient = curFluidIngredient.getAsJsonArray("value")
|
||||
for (let j = 0; j < fluidIngredient.size(); j++) {
|
||||
if (fluidIngredient.get(j).getAsJsonPrimitive("tag").asString == "forge:trinium") {
|
||||
// Change fluid ingredient to 1/2 the amount if it does match
|
||||
curFluidIngredient.remove("amount")
|
||||
curFluidIngredient["addProperty(java.lang.String,java.lang.Number)"]("amount", fluidAmount / 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
11
kubejs/server_scripts/fixes_tweaks/unification/loottables.js
Normal file
11
kubejs/server_scripts/fixes_tweaks/unification/loottables.js
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/**
|
||||
* Modify AE2 crystal certus mechanic to use GT items
|
||||
*/
|
||||
|
||||
ServerEvents.blockLootTables(event => {
|
||||
event.addSimpleBlock("ae2:quartz_cluster", "4x gtceu:certus_quartz_gem") // To drop a different item
|
||||
})
|
||||
LootJS.modifiers((event) => {
|
||||
event.addBlockLootModifier(/ae2:.*quartz_bud/)
|
||||
.replaceLoot("ae2:certus_quartz_dust", "gtceu:certus_quartz_dust")
|
||||
})
|
||||
10
kubejs/server_scripts/fixes_tweaks/unification/other_tags.js
Normal file
10
kubejs/server_scripts/fixes_tweaks/unification/other_tags.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/** Random small tags that don't fit anywhere else */
|
||||
ServerEvents.tags("item", event => {
|
||||
event.get("gtceu:batteries").getObjectIds().forEach(resourceLoc => {
|
||||
event.add("curios:charm", resourceLoc.toString())
|
||||
})
|
||||
})
|
||||
|
||||
ServerEvents.tags("block", event => {
|
||||
event.add("minecraft:mineable/pickaxe", "minecraft:glowstone")
|
||||
})
|
||||
19
kubejs/server_scripts/fixes_tweaks/unification/quest_tags.js
Normal file
19
kubejs/server_scripts/fixes_tweaks/unification/quest_tags.js
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
/**
|
||||
* Item tags for the Quest Book
|
||||
*/
|
||||
ServerEvents.tags("item", event => {
|
||||
// Input Hatches
|
||||
event.add("moni:input_hatch", /^gtceu:(?!steam)(?!me).{1,3}_input_hatch$/); // ($) we dont want to get output_hatch_hv
|
||||
// Output Hatches
|
||||
event.add("moni:output_hatch", /^gtceu:(?!steam)(?!me).{1,3}_output_hatch$/); // nor do we want hv_energy_input_hatch
|
||||
// Input buses
|
||||
event.add("moni:input_bus", /^gtceu:(?!steam)(?!me).{1,3}_input_bus$/)
|
||||
// Output busses
|
||||
event.add("moni:output_bus", /^gtceu:(?!steam)(?!me).{1,3}_output_bus$/)
|
||||
|
||||
// 'moni_quest:backpack'
|
||||
event.add("moni_quest:backpack", ["sophisticatedbackpacks:backpack", "sophisticatedbackpacks:copper_backpack", "sophisticatedbackpacks:iron_backpack", "sophisticatedbackpacks:gold_backpack", "sophisticatedbackpacks:diamond_backpack", "sophisticatedbackpacks:netherite_backpack"])
|
||||
|
||||
// Monicoin, mostly cosmetic
|
||||
event.add("moni:coins", ["kubejs:moni_penny", "kubejs:moni_nickel", "kubejs:moni_quarter", "kubejs:moni_dollar"])
|
||||
})
|
||||
113
kubejs/server_scripts/fixes_tweaks/unification/tags.js
Normal file
113
kubejs/server_scripts/fixes_tweaks/unification/tags.js
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* unify chipped since they dont do that anymore
|
||||
* @private
|
||||
* @param {TagEvent.Item & TagEvent.Block} event
|
||||
*/
|
||||
const unifyChisel = (event) => {
|
||||
// regex here means
|
||||
// `^` = beginning, `$` = end, `.+` = anything that isnt whitespace, any length
|
||||
|
||||
const IRON_BLOCKLIKES = /^chipped:(?!.+_raw_).+_iron_block$/;
|
||||
const GOLD_BLOCKLIKES = /^chipped:(?!.+_raw_).+_gold_block$/;
|
||||
// event.add('forge:glass/colorless', /^chipped:.+_glass$/) // most of the glass here only have fancy trims, but they are all not dyed
|
||||
event.add("forge:cobblestone/normal", /^chipped:.+(?!_mossy)_cobblestone(_bricks)?$/)
|
||||
event.add("forge:cobblestone/mossy", /^chipped:.+_mossy_cobblestone(_bricks)?$/)
|
||||
event.add("forge:cobblestone", /^chipped:.+_cobblestone(_bricks)?$/)
|
||||
event.add("forge:storage_blocks/glowstone", /^chipped:.+_glowstone$/)
|
||||
event.add("forge:storage_blocks/redstone", /^chipped:.+_redstone_block$/)
|
||||
event.add("forge:storage_blocks/iron", IRON_BLOCKLIKES)
|
||||
event.add("forge:storage_blocks/gold", GOLD_BLOCKLIKES)
|
||||
event.add("forge:storage_blocks/diamond", /^chipped:.+_diamond_block$/);
|
||||
event.add("forge:storage_blocks/emerald", /^chipped:.+_emerald_block$/);
|
||||
event.add("forge:storage_blocks/lapis", /^chipped:.+_lapis_block$/);
|
||||
|
||||
event.add("minecraft:planks", /^chipped:.+_planks$/)
|
||||
|
||||
event.add("forge:glass", /^chipped:.+_glass(_pillar)?$/)
|
||||
event.add("forge:storage_blocks", [IRON_BLOCKLIKES, GOLD_BLOCKLIKES, /^chipped:.+_diamond_block$/, /^chipped:.+_emerald_block$/, /^chipped:.+_glowstone$/, /^chipped:.+_lapis_block$/, /^chipped:.+_redstone_block$/])
|
||||
event.add("minecraft:piglin_loved", GOLD_BLOCKLIKES)
|
||||
}
|
||||
|
||||
ServerEvents.tags("item", event => {
|
||||
event.add("ae2:all_fluix", "gtceu:fluix_gem")
|
||||
event.add("ae2:all_certus_quartz", "gtceu:charged_certus_quartz_gem")
|
||||
event.add("forge:gems/certus_quartz", "gtceu:charged_certus_quartz_gem")
|
||||
event.add("forge:singularities/ultimate", "kubejs:mote_of_omnium")
|
||||
event.add("forge:singularities/ultimate", "extendedcrafting:ultimate_singularity")
|
||||
event.add("forge:ingots/electrum_flux", "redstone_arsenal:flux_ingot")
|
||||
event.add("forge:dusts/electrum_flux", "redstone_arsenal:flux_dust")
|
||||
event.add("forge:nuggets/electrum_flux", "redstone_arsenal:flux_nugget")
|
||||
event.add("forge:gears/electrum_flux", "redstone_arsenal:flux_gear")
|
||||
event.add("forge:dusts/quartz", "gtceu:nether_quartz_dust")
|
||||
|
||||
// can't replace tags in recipes so we just add the tag to the item instead
|
||||
event.add("forge:ingots/redstone_alloy", "gtceu:red_alloy_ingot")
|
||||
event.add("forge:ingots/copper_alloy", "gtceu:electrical_steel_ingot")
|
||||
event.add("forge:storage_blocks/coal_coke", "#forge:storage_blocks/coke")
|
||||
event.add("forge:coal_coke", "#forge:gems/coke")
|
||||
|
||||
const decorremap = [["etrium", "diamond"], ["desh", "bronze"], ["ostrum", "lead"], ["calorite", "red_alloy"]]
|
||||
decorremap.forEach(([mat, remat]) => {
|
||||
event.add(`ad_astra:${mat}_plates`, `gtceu:${remat}_plate`)
|
||||
event.add(`ad_astra:${mat}_ingots`, `gtceu:${remat}_ingot`)
|
||||
event.add(`ad_astra:${mat}_blocks`, `gtceu:${remat}_block`)
|
||||
})
|
||||
|
||||
event.remove("forge:gears/wood", "enderio:wood_gear")
|
||||
event.remove("forge:gears/stone", "enderio:stone_gear")
|
||||
event.remove("forge:gears/iron", "enderio:iron_gear")
|
||||
event.remove("forge:gears/dark_steel", "enderio:dark_bimetal_gear")
|
||||
|
||||
// NOT pulsating iron ingot
|
||||
event.add("forge:dusts/pulsating", "kubejs:pulsating_dust")
|
||||
|
||||
// Endgame tools
|
||||
event.add("forge:tools/files", "kubejs:infinity_file")
|
||||
event.add("forge:tools/hammers", "kubejs:infinity_hammer")
|
||||
event.add("forge:tools/screwdrivers", "kubejs:infinity_screwdriver")
|
||||
event.add("forge:tools/wrenches", "kubejs:infinity_wrench")
|
||||
event.add("forge:tools/wire_cutters", "kubejs:infinity_wire_cutter")
|
||||
|
||||
// generic unification
|
||||
event.add("forge:dusts", ["kubejs:pulsating_dust"])
|
||||
|
||||
// enderio!!!!
|
||||
event.add("forge:heads", "enderio:enderman_head")
|
||||
|
||||
event.add("forge:microminers", /kubejs:microminer_t/)
|
||||
event.add("forge:microminers", /kubejs:stabilized_microminer_t/)
|
||||
|
||||
// Sawdust
|
||||
event.add("forge:sawdust", "#forge:dusts/wood")
|
||||
|
||||
// For stonecutting Marble
|
||||
event.add("moni:marble", /^(gtceu:(marble|polished_marble|marble_bricks|cracked_marble_bricks|chiseled_marble|marble_tile|marble_small_tile|marble_windmill_a|marble_windmill_b|small_marble_bricks|square_marble_bricks))$/)
|
||||
|
||||
// We're making these Nuclearcraft storage blocks function solely as moderators, so they should not have the tags
|
||||
event.remove("forge:storage_blocks", ["nuclearcraft:beryllium_block", "nuclearcraft:graphite_block"]);
|
||||
event.remove("forge:storage_blocks/beryllium", "nuclearcraft:beryllium_block");
|
||||
event.remove("forge:storage_blocks/graphite", "nuclearcraft:graphite_block");
|
||||
|
||||
// AE2 P2P Attunements
|
||||
event.add("mae2:p2p_attunements/pattern_p2p_tunnel", "expatternprovider:pattern_modifier");
|
||||
event.add("mae2:p2p_attunements/pattern_p2p_tunnel", "expatternprovider:ex_pattern_provider");
|
||||
event.add("mae2:p2p_attunements/pattern_p2p_tunnel", "expatternprovider:ex_pattern_provider_part");
|
||||
|
||||
unifyChisel(event);
|
||||
})
|
||||
|
||||
ServerEvents.tags("block", event => {
|
||||
// snad
|
||||
const compacted_sand = ["kubejs:compressed_sand", "kubejs:double_compressed_sand", "kubejs:compressed_red_sand", "kubejs:double_compressed_red_sand"];
|
||||
event.add("minecraft:dead_bush_may_place_on", compacted_sand);
|
||||
event.add("minecraft:bamboo_plantable_on", compacted_sand);
|
||||
event.add("minecraft:azalea_grows_on", compacted_sand);
|
||||
event.add("framedblocks:camo_sustain_plant", compacted_sand);
|
||||
|
||||
// We're making these Nuclearcraft storage blocks function solely as moderators, so they should not have the tags
|
||||
event.remove("forge:storage_blocks", ["nuclearcraft:beryllium_block", "nuclearcraft:graphite_block"]);
|
||||
event.remove("forge:storage_blocks/beryllium", "nuclearcraft:beryllium_block");
|
||||
event.remove("forge:storage_blocks/graphite", "nuclearcraft:graphite_block");
|
||||
|
||||
unifyChisel(event);
|
||||
})
|
||||
35
kubejs/server_scripts/fleshline.js
Normal file
35
kubejs/server_scripts/fleshline.js
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
/**
|
||||
* Processing line to reprocess Rotten Flesh into other useful products
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.gtceu.mixer("saline_solution")
|
||||
.itemInputs("3x gtceu:salt_dust", "gtceu:iodine_dust")
|
||||
.inputFluids("gtceu:distilled_water 10000")
|
||||
.outputFluids("gtceu:saline_antiseptic 10000")
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.cleanroom(CleanroomType.STERILE_CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.macerator("rotten_meat")
|
||||
.itemInputs("minecraft:rotten_flesh")
|
||||
.itemOutputs("gtceu:rotten_meat_dust", "gtceu:tiny_bone_dust")
|
||||
.duration(102)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.chemical_bath("sanitize_rotten_meat")
|
||||
.itemInputs("16x gtceu:rotten_meat_dust")
|
||||
.inputFluids("gtceu:saline_antiseptic 8000")
|
||||
.itemOutputs("6x gtceu:meat_dust", "2x gtceu:collagen_dust")
|
||||
.outputFluids("gtceu:rotten_sludge 12000")
|
||||
.duration(1600)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// This recipe violates the conservation of mass because the waste gets voided automatically, like certain other distillation recipes.
|
||||
event.recipes.gtceu.distillation_tower("rotten_sludge")
|
||||
.inputFluids("gtceu:rotten_sludge 10000")
|
||||
.outputFluids("gtceu:fermented_biomass 500", "gtceu:bacteria 1000")
|
||||
.itemOutputs("gtceu:fertilizer")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.cleanroom(CleanroomType.STERILE_CLEANROOM)
|
||||
})
|
||||
275
kubejs/server_scripts/gregtech/Alloys_Recipes.js
Normal file
275
kubejs/server_scripts/gregtech/Alloys_Recipes.js
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
/** alloys go brrr - ima go insane :) */
|
||||
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
/**
|
||||
* util helper for alloys
|
||||
* @param {InputItem_[]} inputA any possible inputs
|
||||
* @param {InputItem_[]} inputB and possible secondary inputs
|
||||
* @param {OutputItem_} result
|
||||
* @param {number} duration in seconds
|
||||
* @param {number} eut
|
||||
*/
|
||||
const alloySmeltingVariant = (inputA, inputB, result, duration, eut) => {
|
||||
// do not const anything here, weird optimization happening with the js vm
|
||||
for (let itemA of inputA) {
|
||||
for (let itemB of inputB) {
|
||||
// the a here is so that it gets sorted on top, jei sorts by recipe id
|
||||
let id = `kubejs:a_${Item.of(result).idLocation.path}_${Item.of(itemA).idLocation.path}_${Item.of(itemB).idLocation.path}`
|
||||
event.recipes.gtceu.alloy_smelter(id)
|
||||
.itemInputs(itemA, itemB)
|
||||
.itemOutputs(result)
|
||||
.duration(duration * 20)
|
||||
.EUt(eut)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
alloySmeltingVariant(
|
||||
["#forge:ingots/steel", "#forge:dusts/steel"],
|
||||
["#forge:obsidian", "#forge:dusts/obsidian", "#forge:gems/void"],
|
||||
"gtceu:dark_steel_ingot", 12, 16);
|
||||
|
||||
alloySmeltingVariant(
|
||||
["#forge:ingots/iron", "#forge:dusts/iron"],
|
||||
["#forge:dusts/redstone"],
|
||||
"2x gtceu:conductive_alloy_ingot", 7.5, 16);
|
||||
|
||||
alloySmeltingVariant(
|
||||
["#forge:ingots/iron", "#forge:dusts/iron"],
|
||||
["kubejs:pulsating_dust"],
|
||||
"gtceu:pulsating_alloy_ingot", 7.5, 16);
|
||||
|
||||
alloySmeltingVariant(
|
||||
["#forge:ingots/steel", "#forge:dusts/steel"],
|
||||
["#forge:dusts/silicon"],
|
||||
"gtceu:electrical_steel_ingot", 6, 16);
|
||||
|
||||
alloySmeltingVariant(
|
||||
["#forge:ingots/steel", "#forge:dusts/steel"],
|
||||
["#forge:dusts/boron"],
|
||||
"2x nuclearcraft:ferroboron_ingot", 15, 120);
|
||||
|
||||
alloySmeltingVariant(
|
||||
["#forge:ingots/gold", "#forge:dusts/gold"],
|
||||
["minecraft:soul_sand"],
|
||||
"gtceu:soularium_ingot", 6, 16);
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:tough_alloy_ingot")
|
||||
.itemInputs("#forge:ingots/ferroboron", "#forge:dusts/lithium")
|
||||
.itemOutputs("2x nuclearcraft:tough_alloy_ingot")
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:hard_carbon_ingot")
|
||||
.itemInputs("#forge:gems/diamond", "3x #forge:ingots/steel") // was flipped
|
||||
.itemOutputs("3x nuclearcraft:hard_carbon_ingot")
|
||||
.duration(300)
|
||||
.EUt(500)
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:fission_reactor_glass")
|
||||
.itemInputs("nuclearcraft:fission_reactor_casing", "#forge:glass/colorless")
|
||||
.itemOutputs("nuclearcraft:fission_reactor_glass")
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
event.remove({ output: "minecraft:netherite_ingot" })
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:netherite_ingot")
|
||||
.itemInputs("4x #forge:ingots/gold", "4x minecraft:netherite_scrap") // was flipped
|
||||
.itemOutputs("1x minecraft:netherite_ingot")
|
||||
.duration(100)
|
||||
.EUt(32)
|
||||
|
||||
event.remove({ id: "minecraft:nuclearcraft_ferroboron_plate" }) // minecraft??
|
||||
event.remove({ id: "minecraft:nuclearcraft_ferroboron_dust" })
|
||||
event.remove([{ id: "nuclearcraft:blast_ferroboron_dust" }, { id: "nuclearcraft:fission_reactor_glass" }])
|
||||
})
|
||||
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Different Steel Recipe
|
||||
event.remove({ id: "gtceu:centrifuge/decomposition_centrifuging__black_steel" })
|
||||
event.remove({ id: "gtceu:mixer/black_steel" })
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:dark_steel_dust")
|
||||
.itemInputs("#forge:dusts/steel", "#forge:dusts/obsidian")
|
||||
.itemOutputs("gtceu:dark_steel_dust")
|
||||
.duration(80)
|
||||
.EUt(15)
|
||||
|
||||
event.shapeless("gtceu:conductive_alloy_dust", ["#forge:dusts/iron", "#forge:dusts/redstone"]).id("kubejs:conductive_alloy_dust_handcraft")
|
||||
event.recipes.gtceu.mixer("kubejs:conductive_alloy_dust")
|
||||
.itemInputs("#forge:dusts/iron", "#forge:dusts/redstone")
|
||||
.itemOutputs("2x gtceu:conductive_alloy_dust")
|
||||
.duration(40)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:black_steel_dust")
|
||||
.itemInputs("3x #forge:dusts/steel", "2x #forge:dusts/black_bronze", "2x gtceu:void_gem", "2x gtceu:coke_gem")
|
||||
.itemOutputs("9x gtceu:black_steel_dust")
|
||||
.duration(200)
|
||||
.EUt(15)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:vibrant_alloy_dust")
|
||||
.itemInputs("#forge:dusts/energetic_alloy", "#forge:dusts/ender_pearl")
|
||||
.itemOutputs("2x gtceu:vibrant_alloy_dust")
|
||||
.duration(260)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:energetic_alloy_dust")
|
||||
.itemInputs("2x #forge:dusts/gold", "#forge:dusts/redstone", "#forge:dusts/glowstone")
|
||||
.itemOutputs("4x gtceu:energetic_alloy_dust")
|
||||
.duration(140)
|
||||
.EUt(30)
|
||||
|
||||
// Replace default GTCEu glowstone separation recipe to match mixing recipe
|
||||
event.replaceOutput({ id: "gtceu:centrifuge/glowstone_separation" }, "minecraft:redstone", "gtceu:tricalcium_phosphate_dust")
|
||||
event.recipes.gtceu.mixer("kubejs:glowstone_dust")
|
||||
.itemInputs("gtceu:tricalcium_phosphate_dust", "#forge:dusts/gold")
|
||||
.itemOutputs("2x minecraft:glowstone_dust")
|
||||
.duration(80)
|
||||
.EUt(15)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:mana_infused_dust")
|
||||
.itemInputs("#forge:dusts/titanium")
|
||||
.itemOutputs("2x gtceu:mythril_dust")
|
||||
.inputFluids(Fluid.of("gtceu:mana", 1000))
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:lumium_dust")
|
||||
.itemInputs("4x #forge:dusts/tin_alloy", "2x #forge:dusts/sterling_silver", "2x extendedcrafting:luminessence", "kubejs:energized_clathrate")
|
||||
.itemOutputs("7x gtceu:lumium_dust")
|
||||
.inputFluids(Fluid.of("gtceu:mana", 1000))
|
||||
.duration(300)
|
||||
.EUt(1920)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:signalum_dust")
|
||||
.itemInputs("4x #forge:dusts/annealed_copper", "2x #forge:dusts/ardite", "2x #forge:dusts/red_alloy", "kubejs:destabilized_clathrate")
|
||||
.itemOutputs("9x gtceu:signalum_dust")
|
||||
.inputFluids(Fluid.of("gtceu:mana", 1000))
|
||||
.duration(300)
|
||||
.EUt(1920)
|
||||
|
||||
// Remove old rhodium plated palladium recipe
|
||||
event.remove({ id: "gtceu:mixer/rhodium_plated_palladium" })
|
||||
event.recipes.gtceu.mixer("kubejs:rhodium_plated_palladium_dust")
|
||||
.itemInputs("3x gtceu:palladium_dust", "gtceu:rhodium_dust", "2x gtceu:lumium_dust")
|
||||
.itemOutputs("6x gtceu:rhodium_plated_palladium_dust")
|
||||
.duration(400)
|
||||
.EUt(7680)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:enderium_dust")
|
||||
.itemInputs("4x gtceu:lead_dust", "2x gtceu:platinum_dust", "gtceu:blue_steel_dust", "gtceu:osmium_dust", "gtceu:tantalum_dust", "kubejs:resonant_clathrate")
|
||||
.itemOutputs("10x gtceu:enderium_dust")
|
||||
.inputFluids(Fluid.of("gtceu:mana", 1000))
|
||||
.duration(300)
|
||||
.EUt(1920)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:ardite_dust")
|
||||
.itemInputs("3x gtceu:red_steel_dust", "minecraft:blaze_powder")
|
||||
.itemOutputs("4x gtceu:ardite_dust")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:manyullyn_dust")
|
||||
.itemInputs("4x gtceu:ardite_dust", "4x gtceu:cobalt_dust")
|
||||
.itemOutputs("9x gtceu:manyullyn_dust")
|
||||
.inputFluids(Fluid.of("gtceu:mana", 1000))
|
||||
.duration(400)
|
||||
.EUt(30)
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.gtceu.alloy_blast_smelter("kubejs:conductive_alloy_abs")
|
||||
.itemInputs("#forge:dusts/iron", "#forge:dusts/redstone")
|
||||
.outputFluids(Fluid.of("gtceu:conductive_alloy", 288))
|
||||
.duration(112)
|
||||
.EUt(16)
|
||||
.circuit(2)
|
||||
.blastFurnaceTemp(1400)
|
||||
|
||||
event.recipes.gtceu.alloy_blast_smelter("kubejs:soularium_abs")
|
||||
.itemInputs("#forge:dusts/gold", "soul_sand")
|
||||
.circuit(2)
|
||||
.outputFluids(Fluid.of("gtceu:soularium", 144))
|
||||
.duration(90) // 4.5s
|
||||
.EUt(16)
|
||||
.blastFurnaceTemp(1200)
|
||||
|
||||
// Black steel recipes. Has both regular & advanced recipe, each with a noble gas version.
|
||||
event.remove({ id: "gtceu:alloy_blast_smelter/black_steel" })
|
||||
event.remove({ id: "gtceu:alloy_blast_smelter/black_steel_gas" })
|
||||
event.recipes.gtceu.alloy_blast_smelter("kubejs:black_steel")
|
||||
.itemInputs("3x #forge:dusts/steel", "2x #forge:dusts/black_bronze", "2x gtceu:void_gem", "2x gtceu:coke_gem")
|
||||
.circuit(3)
|
||||
.outputFluids(Fluid.of("gtceu:molten_black_steel", 1296))
|
||||
.duration(112.5 * 20 * 9 * 0.75 + 12.5) // 760s
|
||||
.EUt(120)
|
||||
.blastFurnaceTemp(1200)
|
||||
event.recipes.gtceu.alloy_blast_smelter("kubejs:black_steel_gas")
|
||||
.itemInputs("3x #forge:dusts/steel", "2x #forge:dusts/black_bronze", "2x gtceu:void_gem", "2x gtceu:coke_gem")
|
||||
.inputFluids(Fluid.of("gtceu:nitrogen", 9000))
|
||||
.circuit(13)
|
||||
.outputFluids(Fluid.of("gtceu:molten_black_steel", 1296))
|
||||
.duration((112.5 * 20 * 9 * 0.75 + 12.5) * 0.67) // 509.2s
|
||||
.EUt(120)
|
||||
.blastFurnaceTemp(1200)
|
||||
event.recipes.gtceu.alloy_blast_smelter("kubejs:black_steel_alternate")
|
||||
.itemInputs("15x #forge:dusts/steel", "6x #forge:dusts/copper", "2x #forge:dusts/gold", "2x #forge:dusts/silver", "10x #forge:gems/void", "10x gtceu:coke_gem")
|
||||
.circuit(4)
|
||||
.outputFluids(Fluid.of("gtceu:molten_black_steel", 6480))
|
||||
.duration(112.5 * 20 * 45 * 0.75 + 12.5 * 5) // 3800s
|
||||
.EUt(240)
|
||||
.blastFurnaceTemp(1200)
|
||||
event.recipes.gtceu.alloy_blast_smelter("kubejs:black_steel_alternate_gas")
|
||||
.itemInputs("15x #forge:dusts/steel", "6x #forge:dusts/copper", "2x #forge:dusts/gold", "2x #forge:dusts/silver", "10x #forge:gems/void", "10x gtceu:coke_gem")
|
||||
.inputFluids(Fluid.of("gtceu:nitrogen", 9000))
|
||||
.circuit(14)
|
||||
.outputFluids(Fluid.of("gtceu:molten_black_steel", 6480))
|
||||
.duration((112.5 * 20 * 45 * 0.75 + 12.5 * 5) * 0.67) // 2546s
|
||||
.EUt(240)
|
||||
.blastFurnaceTemp(1200)
|
||||
|
||||
// End Steel
|
||||
event.recipes.gtceu.mixer("kubejs:end_steel_dust")
|
||||
.itemInputs("gtceu:dark_steel_dust", "gtceu:vibrant_alloy_dust", "#forge:dusts/endstone")
|
||||
.itemOutputs("3x gtceu:end_steel_dust")
|
||||
.duration(260)
|
||||
.EUt(120)
|
||||
|
||||
// Dark Soularium recipe (Requires Tritium!)
|
||||
event.recipes.gtceu.electric_blast_furnace("kubejs:dark_soularium_ingot")
|
||||
.itemInputs("#forge:ingots/soularium", "#forge:ingots/dark_steel")
|
||||
.inputFluids(Fluid.of("gtceu:tritium", 1000))
|
||||
.itemOutputs("gtceu:dark_soularium_ingot")
|
||||
.duration(1200) // 60 sec
|
||||
.EUt(32000)
|
||||
.blastFurnaceTemp(8600)
|
||||
|
||||
// Thermal Expansion ABS recipe fixes
|
||||
/**
|
||||
* @param {RegExp | string} recipeMatcherID
|
||||
* @param {import("../../dx/typings/GTJSONRecipe.mjs").GTJSONRecipeItemIngredient[]} ingredients
|
||||
*/
|
||||
function addInputItems(recipeMatcherID, ingredients) {
|
||||
/** @type {import("../../dx/typings/GTJSONRecipe.mjs").GTJSONRecipe["inputs"]["item"]} */
|
||||
let itemEntries = ingredients.map(ingredient => ({
|
||||
chance: 10000,
|
||||
maxChance: 10000,
|
||||
tierChanceBoost: 0,
|
||||
content: {
|
||||
type: "gtceu:sized",
|
||||
count: ingredient.count,
|
||||
ingredient: ingredient
|
||||
}
|
||||
}))
|
||||
itemEntries = JSON.parse(JSON.stringify(itemEntries))
|
||||
event.forEachRecipe({ id: recipeMatcherID }, recipe => {
|
||||
recipe.json.getAsJsonObject("inputs").getAsJsonArray("item").addAll(itemEntries)
|
||||
})
|
||||
}
|
||||
|
||||
addInputItems(/^gtceu:alloy_blast_smelter\/signalum/, [{item: "kubejs:destabilized_clathrate", count: 1}])
|
||||
addInputItems(/^gtceu:alloy_blast_smelter\/lumium/, [{item: "extendedcrafting:luminessence", count: 2}, {item: "kubejs:energized_clathrate", count: 1}])
|
||||
addInputItems(/^gtceu:alloy_blast_smelter\/enderium/, [{item: "kubejs:resonant_clathrate", count: 1}])
|
||||
})
|
||||
98
kubejs/server_scripts/gregtech/Crystal_Matrix.js
Normal file
98
kubejs/server_scripts/gregtech/Crystal_Matrix.js
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
/**
|
||||
* Crystal Matrix processing line
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Acetylene
|
||||
event.recipes.gtceu.electric_blast_furnace("calcium_carbide")
|
||||
.itemInputs("2x gtceu:quicklime_dust", "3x gtceu:carbon_dust")
|
||||
.itemOutputs("3x gtceu:calcium_carbide_dust")
|
||||
.outputFluids("gtceu:carbon_monoxide 1000")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.blastFurnaceTemp(5400)
|
||||
|
||||
event.recipes.gtceu.autoclave("hydroxide_to_quicklime")
|
||||
.itemInputs("3x gtceu:calcium_hydroxide_dust")
|
||||
.itemOutputs("2x gtceu:quicklime_dust")
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("acetylene")
|
||||
.itemInputs("3x gtceu:calcium_carbide_dust")
|
||||
.itemOutputs("3x gtceu:calcium_hydroxide_dust")
|
||||
.inputFluids("minecraft:water 2000")
|
||||
.outputFluids("gtceu:acetylene 1000")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
// Crystal Matrix Line
|
||||
const wafers = [
|
||||
["gtceu:", "naquadah_wafer"],
|
||||
["gtceu:", "neutronium_wafer"],
|
||||
["kubejs:", "universe_wafer"]
|
||||
]
|
||||
|
||||
wafers.forEach((wafer, index) => {
|
||||
event.recipes.gtceu.assembler(`raw_substrate_${wafer[1]}`)
|
||||
.itemInputs(wafer[0] + wafer[1], "4x gtceu:carbon_fibers", "4x gtceu:gold_foil", "4x gtceu:graphene_dust", "64x gtceu:diamond_dust")
|
||||
.itemOutputs(Item.of("kubejs:raw_nanotube_substrate", 4 ** (index + 1)))
|
||||
.inputFluids("gtceu:neon 10")
|
||||
.duration(320)
|
||||
.EUt((4 ** index) * GTValues.VA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
})
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("nanoparticle_reconstruction")
|
||||
.itemInputs("gtceu:cobalt_dust")
|
||||
.itemOutputs("kubejs:cobalt_nanoparticles")
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.autoclave("substrate_preparation")
|
||||
.itemInputs("4x kubejs:raw_nanotube_substrate", "kubejs:cobalt_nanoparticles")
|
||||
.itemOutputs("4x kubejs:prepared_nanotube_substrate")
|
||||
.inputFluids("gtceu:distilled_water 100")
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.arc_furnace("nanotube_growing")
|
||||
.itemInputs("kubejs:prepared_nanotube_substrate")
|
||||
.itemOutputs("kubejs:grown_nanotube_substrate")
|
||||
.inputFluids("gtceu:acetylene 500")
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.laser_engraver("nanotube_separation")
|
||||
.notConsumable("#forge:lenses/red")
|
||||
.itemInputs("kubejs:grown_nanotube_substrate")
|
||||
.itemOutputs("kubejs:carbon_nanotubes")
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.chemical_bath("nanotube_bathing")
|
||||
.itemInputs("kubejs:carbon_nanotubes")
|
||||
.itemOutputs("kubejs:porous_matrix_mesh")
|
||||
.inputFluids("gtceu:nether_star 144")
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.compressor("mesh_compression")
|
||||
.itemInputs("kubejs:porous_matrix_mesh")
|
||||
.itemOutputs("kubejs:dense_matrix_mesh")
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("matrix_blasting")
|
||||
.itemInputs("kubejs:dense_matrix_mesh")
|
||||
.itemOutputs("gtceu:hot_crystal_matrix_ingot")
|
||||
.inputFluids("gtceu:krypton 10")
|
||||
.duration(1000)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
.blastFurnaceTemp(6800)
|
||||
})
|
||||
126
kubejs/server_scripts/gregtech/PECA.js
Normal file
126
kubejs/server_scripts/gregtech/PECA.js
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
/**
|
||||
* PECA processing line
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.gtceu.chemical_reactor("sodium_cyanide")
|
||||
.inputFluids("gtceu:hydrogen_cyanide 1000")
|
||||
.itemInputs("gtceu:sodium_hydroxide_dust")
|
||||
.outputFluids("minecraft:water 1000")
|
||||
.itemOutputs("gtceu:sodium_cyanide_dust")
|
||||
.duration(50)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("chloroacetic_mixture")
|
||||
.notConsumableFluid("gtceu:acetic_anhydride 500")
|
||||
.inputFluids("gtceu:acetic_acid 1000", "gtceu:chlorine 3000")
|
||||
.outputFluids("gtceu:chloroacetic_mixture 1000")
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
event.recipes.gtceu.distillation_tower("chloroacetate_distillation")
|
||||
.inputFluids("gtceu:chloroacetic_mixture 2000")
|
||||
.itemOutputs("gtceu:small_chloroacetate_dust")
|
||||
.outputFluids("gtceu:dichloroacetate 500", "gtceu:trichloroacetate 250", "gtceu:hydrochloric_acid 1000")
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("cyanoacetic_acid")
|
||||
.itemInputs("gtceu:chloroacetate_dust", "gtceu:sodium_cyanide_dust")
|
||||
.inputFluids("gtceu:hydrochloric_acid 1000", "gtceu:oxygen 500")
|
||||
.itemOutputs("gtceu:cyanoacetic_acid_dust", "gtceu:sodium_hydroxide_dust")
|
||||
.outputFluids("gtceu:chlorine 2000")
|
||||
.duration(600)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("ethyl_cyanoacetate")
|
||||
.notConsumableFluid("gtceu:fluoroantimonic_acid 2000")
|
||||
.inputFluids("gtceu:ethanol 1000")
|
||||
.itemInputs("gtceu:cyanoacetic_acid_dust")
|
||||
.outputFluids("gtceu:ethyl_cyanoacetate 1000", "minecraft:water 1000")
|
||||
.duration(360)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("uncracked_ethyl_cyanoacrylate")
|
||||
.inputFluids("gtceu:ethyl_cyanoacetate 1000", "gtceu:formaldehyde 1000")
|
||||
.outputFluids("gtceu:uncracked_ethyl_cyanoacrylate 1000", "minecraft:water 1000")
|
||||
.duration(800)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Cracking recipes - CR
|
||||
event.recipes.gtceu.chemical_reactor("ethyl_cyanoacrylate_hydro")
|
||||
.inputFluids("gtceu:uncracked_ethyl_cyanoacrylate 500", "gtceu:hydrogen 3000")
|
||||
.outputFluids("gtceu:ethyl_cyanoacrylate 250")
|
||||
.duration(160)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("ethyl_cyanoacrylate_steam")
|
||||
.inputFluids("gtceu:uncracked_ethyl_cyanoacrylate 1000", "gtceu:steam 1000")
|
||||
.outputFluids("gtceu:ethyl_cyanoacrylate 500")
|
||||
.duration(240)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Cracking recipes - Cracker
|
||||
event.recipes.gtceu.cracker("ethyl_cyanoacrylate_hydro")
|
||||
.inputFluids("gtceu:uncracked_ethyl_cyanoacrylate 1000", "gtceu:hydrogen 6000")
|
||||
.outputFluids("gtceu:ethyl_cyanoacrylate 1000")
|
||||
.duration(160)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.cracker("ethyl_cyanoacrylate_steam")
|
||||
.inputFluids("gtceu:uncracked_ethyl_cyanoacrylate 1000", "gtceu:steam 1000")
|
||||
.outputFluids("gtceu:ethyl_cyanoacrylate 1000")
|
||||
.duration(240)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Polymerization recipe
|
||||
event.recipes.gtceu.chemical_reactor("polyethyl_cyanoacrylate")
|
||||
.chancedFluidInput("gtceu:dimethyl_sulfoxide 200", 200, -40)
|
||||
.inputFluids("gtceu:ethyl_cyanoacrylate 144", "minecraft:water 1000")
|
||||
.itemOutputs("gtceu:polyethyl_cyanoacrylate_dust")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
// Polymerization recipe with distilled water
|
||||
event.recipes.gtceu.chemical_reactor("polyethyl_cyanoacrylate_distilled")
|
||||
.chancedFluidInput("gtceu:dimethyl_sulfoxide 200", 200, -40)
|
||||
.inputFluids("gtceu:ethyl_cyanoacrylate 96", "gtceu:distilled_water 1000")
|
||||
.itemOutputs("gtceu:polyethyl_cyanoacrylate_dust")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
// Dimethyl sulfoxide (catalyst) chain below
|
||||
event.recipes.gtceu.chemical_reactor("dimethyl_sulfoxide")
|
||||
.inputFluids("gtceu:dimethyl_sulfide 1000", "gtceu:nitrogen_dioxide 1000")
|
||||
.outputFluids("gtceu:dimethyl_sulfoxide 1000", "gtceu:nitric_oxide 1000")
|
||||
.duration(1000)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("dimethyl_sulfide")
|
||||
.notConsumable("gtceu:aluminium_dust")
|
||||
.inputFluids("gtceu:hydrogen_sulfide 1000", "gtceu:methanol 2000")
|
||||
.outputFluids("gtceu:dimethyl_sulfide 1000", "minecraft:water 2000")
|
||||
.duration(500)
|
||||
.EUt(GTValues.VHA[GTValues.LuV])
|
||||
|
||||
// Uses for PECA with higher efficiency than PBI
|
||||
event.recipes.gtceu.bender("fluid_cell_peca")
|
||||
.itemInputs("gtceu:polyethyl_cyanoacrylate_plate")
|
||||
.itemOutputs("32x gtceu:fluid_cell")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.circuit(12)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("plastic_board_peca")
|
||||
.itemInputs("gtceu:polyethyl_cyanoacrylate_plate", "4x gtceu:copper_foil")
|
||||
.inputFluids("gtceu:sulfuric_acid 250")
|
||||
.itemOutputs("16x gtceu:plastic_circuit_board")
|
||||
.duration(500)
|
||||
.EUt(10)
|
||||
|
||||
event.recipes.gtceu.assembler("duct_tape_peca")
|
||||
.itemInputs("gtceu:polyethyl_cyanoacrylate_foil", "gtceu:carbon_fiber_mesh")
|
||||
.inputFluids("gtceu:polyethylene 36")
|
||||
.itemOutputs("32x gtceu:duct_tape")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})
|
||||
540
kubejs/server_scripts/gregtech/Post_UV_Components.js
Normal file
540
kubejs/server_scripts/gregtech/Post_UV_Components.js
Normal file
|
|
@ -0,0 +1,540 @@
|
|||
/**
|
||||
* Recipes for post-UV GT components
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
const converter = [
|
||||
["uev", "omnium", "activated_netherite", "1966080"],
|
||||
["uiv", "holmium", "holmium", "3932160"],
|
||||
["max", "monium", "monium", "80000000"],
|
||||
]
|
||||
const transformer = [
|
||||
["uhv", "europium", "omnium"],
|
||||
["uev", "omnium", "holmium"],
|
||||
["uiv", "holmium", "monium"],
|
||||
]
|
||||
|
||||
converter.forEach(([tier, mat1, mat2, eut]) => {
|
||||
event.remove({ output: [`gtceu:${tier}_1a_energy_converter`, `gtceu:${tier}_4a_energy_converter`, `gtceu:${tier}_8a_energy_converter`, `gtceu:${tier}_16a_energy_converter`] })
|
||||
event.shaped(Item.of(`gtceu:${tier}_1a_energy_converter`), [
|
||||
" BB",
|
||||
"AHC",
|
||||
" BB"
|
||||
], {
|
||||
A: "gtceu:red_alloy_single_wire",
|
||||
B: `gtceu:${mat2}_single_wire`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
C: `#gtceu:circuits/${tier}`
|
||||
})
|
||||
|
||||
|
||||
event.shaped(Item.of(`gtceu:${tier}_4a_energy_converter`), [
|
||||
" BB",
|
||||
"AHC",
|
||||
" BB"
|
||||
], {
|
||||
A: "gtceu:red_alloy_quadruple_wire",
|
||||
B: `gtceu:${mat2}_quadruple_wire`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
C: `#gtceu:circuits/${tier}`
|
||||
})
|
||||
|
||||
event.shaped(Item.of(`gtceu:${tier}_8a_energy_converter`), [
|
||||
" BB",
|
||||
"AHC",
|
||||
" BB"
|
||||
], {
|
||||
A: "gtceu:red_alloy_octal_wire",
|
||||
B: `gtceu:${mat2}_octal_wire`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
C: `#gtceu:circuits/${tier}`
|
||||
})
|
||||
|
||||
event.shaped(Item.of(`gtceu:${tier}_16a_energy_converter`), [
|
||||
" BB",
|
||||
"AHC",
|
||||
" BB"
|
||||
], {
|
||||
A: "gtceu:red_alloy_hex_wire",
|
||||
B: `gtceu:${mat2}_hex_wire`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
C: `#gtceu:circuits/${tier}`
|
||||
})
|
||||
|
||||
|
||||
event.recipes.gtceu.assembly_line(`gtceu:${tier}_energy_output_hatch`)
|
||||
.itemInputs(`gtceu:${tier}_machine_hull`, `4x gtceu:${mat2}_spring`, "2x kubejs:uxpic_chip", `#gtceu:circuits/${tier}`, `2x gtceu:${mat1}_double_wire`)
|
||||
.itemOutputs(`gtceu:${tier}_energy_output_hatch`)
|
||||
.inputFluids("gtceu:crystal_matrix 11520", "gtceu:soldering_alloy 5760")
|
||||
.duration(1000)
|
||||
.EUt(eut)
|
||||
|
||||
event.recipes.gtceu.assembly_line(`gtceu:${tier}_energy_input_hatch`)
|
||||
.itemInputs(`gtceu:${tier}_machine_hull`, `4x gtceu:${mat2}_single_wire`, "16x kubejs:uxpic_chip", `#gtceu:circuits/${tier}`, `2x gtceu:${mat2}_double_wire`)
|
||||
.itemOutputs(`gtceu:${tier}_energy_input_hatch`)
|
||||
.inputFluids("gtceu:sodium_potassium 12000", "gtceu:omnium 1152", "gtceu:soldering_alloy 576")
|
||||
.duration(100)
|
||||
.EUt(eut)
|
||||
})
|
||||
|
||||
transformer.forEach(([tier, mat1, mat2]) => {
|
||||
event.shaped(Item.of(`gtceu:${tier}_transformer_1a`), [
|
||||
"WBB",
|
||||
"AH ",
|
||||
"WBB"
|
||||
], {
|
||||
A: `gtceu:${mat1}_single_wire`,
|
||||
B: `gtceu:${mat2}_single_wire`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
W: "kubejs:uxpic_chip"
|
||||
})
|
||||
|
||||
event.shaped(Item.of(`gtceu:${tier}_transformer_2a`), [
|
||||
"WBB",
|
||||
"AH ",
|
||||
"WBB"
|
||||
], {
|
||||
A: `gtceu:${mat1}_double_wire`,
|
||||
B: `gtceu:${mat2}_double_wire`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
W: "kubejs:uxpic_chip"
|
||||
})
|
||||
|
||||
event.shaped(Item.of(`gtceu:${tier}_transformer_4a`), [
|
||||
"WBB",
|
||||
"AH ",
|
||||
"WBB"
|
||||
], {
|
||||
A: `gtceu:${mat1}_quadruple_wire`,
|
||||
B: `gtceu:${mat2}_quadruple_wire`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
W: "kubejs:uxpic_chip"
|
||||
})
|
||||
|
||||
event.shaped(Item.of(`gtceu:${tier}_transformer_16a`), [
|
||||
"WBB",
|
||||
"AH ",
|
||||
"WBB"
|
||||
], {
|
||||
A: `gtceu:${mat1}_hex_wire`,
|
||||
B: `gtceu:${mat2}_hex_wire`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
W: "gtceu:uhpic_chip"
|
||||
})
|
||||
})
|
||||
|
||||
// UHV hulls have missing crafting table recipe
|
||||
event.shaped("gtceu:uhv_machine_hull", [
|
||||
"PMP",
|
||||
"WCW"
|
||||
], {
|
||||
P: "gtceu:polybenzimidazole_plate",
|
||||
M: "gtceu:neutronium_plate",
|
||||
W: "gtceu:europium_single_cable",
|
||||
C: "gtceu:uhv_machine_casing"
|
||||
}).id("gtceu:shaped/hull_uhv")
|
||||
|
||||
const hullMaterials = [
|
||||
{tier: "uev", material: "omnium", wire: "omnium_single_cable", plastic: "polyethyl_cyanoacrylate"},
|
||||
{tier: "uiv", material: "infinity", wire: "holmium_single_wire", plastic: "polyethyl_cyanoacrylate"},
|
||||
{tier: "max", material: "monium", wire: "monium_single_wire", plastic: "polyethyl_cyanoacrylate"},
|
||||
]
|
||||
|
||||
hullMaterials.forEach((value) => {
|
||||
event.shaped(`gtceu:${value.tier}_machine_casing`, [
|
||||
"PPP",
|
||||
"PWP",
|
||||
"PPP"
|
||||
], {
|
||||
P: `gtceu:${value.material}_plate`,
|
||||
W: "#forge:tools/wrenches"
|
||||
}).id(`shaped/casing_${value.tier}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`casing_${value.tier}`)
|
||||
.itemInputs(`8x gtceu:${value.material}_plate`)
|
||||
.itemOutputs(`gtceu:${value.tier}_machine_casing`)
|
||||
.circuit(8)
|
||||
.duration(50)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.shaped(`gtceu:${value.tier}_machine_hull`, [
|
||||
"PMP",
|
||||
"WCW"
|
||||
], {
|
||||
P: `gtceu:${value.plastic}_plate`,
|
||||
M: `gtceu:${value.material}_plate`,
|
||||
W: `gtceu:${value.wire}`,
|
||||
C: `gtceu:${value.tier}_machine_casing`
|
||||
}).id(`shaped/hull_${value.tier}`)
|
||||
|
||||
event.recipes.gtceu.assembler(`hull_${value.tier}`)
|
||||
.itemInputs(`gtceu:${value.tier}_machine_casing`, `2x gtceu:${value.wire}`, `2x gtceu:${value.plastic}_plate`)
|
||||
.itemOutputs(`gtceu:${value.tier}_machine_hull`)
|
||||
.duration(50)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
})
|
||||
|
||||
const rotorHolderMaterials = [
|
||||
{tier:"uhv", large_gear:"actinium", small_gear:"neutronium"},
|
||||
{tier:"uev", large_gear:"sculk_bioalloy", small_gear:"omnium"},
|
||||
{tier:"uiv", large_gear:"eltz", small_gear:"infinity"}
|
||||
]
|
||||
|
||||
rotorHolderMaterials.forEach((value) => {
|
||||
event.shaped(`gtceu:${value.tier}_rotor_holder`, [
|
||||
"SLS",
|
||||
"LHL",
|
||||
"SLS"
|
||||
], {
|
||||
S: `gtceu:small_${value.small_gear}_gear`,
|
||||
L: `gtceu:${value.large_gear}_gear`,
|
||||
H: `gtceu:${value.tier}_machine_hull`
|
||||
}).id(`shaped/rotor_holder_${value.tier}`)
|
||||
})
|
||||
|
||||
// Motors
|
||||
event.recipes.gtceu.assembly_line("uhv_motor")
|
||||
.itemInputs("gtceu:long_magnetic_terbium_rod", "8x gtceu:long_actinium_rod", "8x gtceu:actinium_ring", "16x gtceu:actinium_round", "64x gtceu:fine_ruthenium_trinium_americium_neutronate_wire", "64x gtceu:fine_ruthenium_trinium_americium_neutronate_wire", "32x gtceu:fine_ruthenium_trinium_americium_neutronate_wire", "2x gtceu:europium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 2000", "gtceu:crystal_matrix 1152", "gtceu:naquadria 576")
|
||||
.itemOutputs("gtceu:uhv_electric_motor")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_electric_motor")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(368640)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uev_motor")
|
||||
.itemInputs("gtceu:long_magnetic_terbium_rod", "8x gtceu:long_sculk_bioalloy_rod", "8x gtceu:sculk_bioalloy_ring", "16x gtceu:sculk_bioalloy_round", "64x gtceu:fine_activated_netherite_wire", "64x gtceu:fine_activated_netherite_wire", "48x gtceu:fine_activated_netherite_wire", "2x gtceu:omnium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 3000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 1152")
|
||||
.itemOutputs("gtceu:uev_electric_motor")
|
||||
.duration(600)
|
||||
.EUt(1966080)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uhv_electric_motor")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uiv_motor")
|
||||
.itemInputs("gtceu:long_magnetic_terbium_rod", "12x gtceu:long_eltz_rod", "12x gtceu:eltz_ring", "24x gtceu:eltz_round", "64x gtceu:fine_holmium_wire", "64x gtceu:fine_holmium_wire", "64x gtceu:fine_holmium_wire", "2x gtceu:holmium_single_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:lubricant 4000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtceu:uiv_electric_motor")
|
||||
.duration(1200)
|
||||
.EUt(3932160)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uev_electric_motor")
|
||||
.CWUt(144, 576000)
|
||||
.EUt(1048576)
|
||||
)
|
||||
|
||||
// Pistons
|
||||
event.recipes.gtceu.assembly_line("uhv_piston")
|
||||
.itemInputs("gtceu:uhv_electric_motor", "4x gtceu:actinium_plate", "4x gtceu:actinium_ring", "16x gtceu:actinium_round", "4x gtceu:actinium_rod", "gtceu:actinium_gear", "2x gtceu:small_actinium_gear", "2x gtceu:europium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 2000", "gtceu:crystal_matrix 1152", "gtceu:naquadria 576")
|
||||
.itemOutputs("gtceu:uhv_electric_piston")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_electric_piston")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(368640)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uev_piston")
|
||||
.itemInputs("gtceu:uev_electric_motor", "4x gtceu:sculk_bioalloy_plate", "4x gtceu:sculk_bioalloy_ring", "16x gtceu:sculk_bioalloy_round", "4x gtceu:sculk_bioalloy_rod", "gtceu:sculk_bioalloy_gear", "2x gtceu:small_sculk_bioalloy_gear", "2x gtceu:omnium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 3000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 1152")
|
||||
.itemOutputs("gtceu:uev_electric_piston")
|
||||
.duration(600)
|
||||
.EUt(1966080)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uhv_electric_piston")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uiv_piston")
|
||||
.itemInputs("gtceu:uiv_electric_motor", "4x gtceu:eltz_plate", "4x gtceu:eltz_ring", "16x gtceu:eltz_round", "4x gtceu:eltz_rod", "gtceu:eltz_gear", "2x gtceu:small_eltz_gear", "2x gtceu:holmium_single_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:lubricant 4000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtceu:uiv_electric_piston")
|
||||
.duration(1200)
|
||||
.EUt(3932160)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uev_electric_piston")
|
||||
.CWUt(144, 576000)
|
||||
.EUt(1048576)
|
||||
)
|
||||
|
||||
// Robot Arms
|
||||
event.recipes.gtceu.assembly_line("uhv_robot_arm")
|
||||
.itemInputs("4x gtceu:long_actinium_rod", "gtceu:actinium_gear", "3x gtceu:small_actinium_gear", "3x gtceu:uhv_electric_motor", "gtceu:uhv_electric_piston", "#gtceu:circuits/uhv", "2x #gtceu:circuits/uv", "4x #gtceu:circuits/zpm", "4x gtceu:europium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 2000", "gtceu:crystal_matrix 1152", "gtceu:naquadria 576")
|
||||
.itemOutputs("gtceu:uhv_robot_arm")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_robot_arm")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(368640)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uev_robot_arm")
|
||||
.itemInputs("4x gtceu:long_sculk_bioalloy_rod", "gtceu:sculk_bioalloy_gear", "3x gtceu:small_sculk_bioalloy_gear", "3x gtceu:uev_electric_motor", "gtceu:uev_electric_piston", "#gtceu:circuits/uev", "2x #gtceu:circuits/uhv", "4x #gtceu:circuits/uv", "4x gtceu:omnium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 3000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 1152")
|
||||
.itemOutputs("gtceu:uev_robot_arm")
|
||||
.duration(600)
|
||||
.EUt(1966080)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uhv_robot_arm")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uiv_robot_arm")
|
||||
.itemInputs("4x gtceu:long_eltz_rod", "gtceu:eltz_gear", "3x gtceu:small_eltz_gear", "3x gtceu:uiv_electric_motor", "gtceu:uiv_electric_piston", "#gtceu:circuits/uiv", "2x #gtceu:circuits/uev", "4x #gtceu:circuits/uhv", "4x gtceu:holmium_single_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:lubricant 4000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtceu:uiv_robot_arm")
|
||||
.duration(1200)
|
||||
.EUt(3932160)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uev_robot_arm")
|
||||
.CWUt(144, 576000)
|
||||
.EUt(1048576)
|
||||
)
|
||||
|
||||
// Sensors
|
||||
event.recipes.gtceu.assembly_line("uhv_sensor")
|
||||
.itemInputs("gtceu:neutronium_frame", "gtceu:uhv_electric_motor", "4x gtceu:actinium_plate", "2x gtceu:gravi_star", "#gtceu:circuits/uhv", "64x gtceu:crystal_matrix_foil", "32x gtceu:crystal_matrix_foil", "4x gtceu:europium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:crystal_matrix 1152", "gtceu:naquadria 576")
|
||||
.itemOutputs("gtceu:uhv_sensor")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_sensor")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(368640)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uev_sensor")
|
||||
.itemInputs("gtceu:omnium_frame", "gtceu:uev_electric_motor", "4x gtceu:sculk_bioalloy_plate", "kubejs:quasi_stable_neutron_star", "#gtceu:circuits/uev", "64x gtceu:crystal_matrix_foil", "32x gtceu:crystal_matrix_foil", "4x gtceu:omnium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:crystal_matrix 5760", "gtceu:naquadria 1152")
|
||||
.itemOutputs("gtceu:uev_sensor")
|
||||
.duration(600)
|
||||
.EUt(1966080)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uhv_sensor")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uiv_sensor")
|
||||
.itemInputs("gtceu:infinity_frame", "gtceu:uiv_electric_motor", "4x gtceu:eltz_plate", "2x kubejs:quasi_stable_neutron_star", "#gtceu:circuits/uiv", "64x gtceu:crystal_matrix_foil", "32x gtceu:crystal_matrix_foil", "4x gtceu:holmium_single_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:crystal_matrix 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtceu:uiv_sensor")
|
||||
.duration(1200)
|
||||
.EUt(3932160)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uev_sensor")
|
||||
.CWUt(144, 576000)
|
||||
.EUt(1048576)
|
||||
)
|
||||
|
||||
// Emitters
|
||||
event.recipes.gtceu.assembly_line("uhv_emitter")
|
||||
.itemInputs("gtceu:neutronium_frame", "gtceu:uhv_electric_motor", "4x gtceu:long_actinium_rod", "2x gtceu:gravi_star", "#gtceu:circuits/uhv", "64x gtceu:crystal_matrix_foil", "32x gtceu:crystal_matrix_foil", "4x gtceu:europium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:crystal_matrix 1152", "gtceu:naquadria 576")
|
||||
.itemOutputs("gtceu:uhv_emitter")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_emitter")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(368640)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uev_emitter")
|
||||
.itemInputs("gtceu:omnium_frame", "gtceu:uev_electric_motor", "4x gtceu:long_sculk_bioalloy_rod", "kubejs:quasi_stable_neutron_star", "#gtceu:circuits/uev", "64x gtceu:crystal_matrix_foil", "32x gtceu:crystal_matrix_foil", "4x gtceu:omnium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:crystal_matrix 5760", "gtceu:naquadria 1152")
|
||||
.itemOutputs("gtceu:uev_emitter")
|
||||
.duration(600)
|
||||
.EUt(1966080)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uhv_emitter")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288)
|
||||
)
|
||||
|
||||
|
||||
event.recipes.gtceu.assembly_line("uiv_emitter")
|
||||
.itemInputs("gtceu:infinity_frame", "gtceu:uiv_electric_motor", "4x gtceu:long_eltz_rod", "2x kubejs:quasi_stable_neutron_star", "#gtceu:circuits/uiv", "64x gtceu:crystal_matrix_foil", "32x gtceu:crystal_matrix_foil", "4x gtceu:holmium_single_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:crystal_matrix 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtceu:uiv_emitter")
|
||||
.duration(1200)
|
||||
.EUt(3932160)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uev_emitter")
|
||||
.CWUt(144, 576000)
|
||||
.EUt(1048576)
|
||||
)
|
||||
|
||||
|
||||
// Field Generators
|
||||
event.recipes.gtceu.assembly_line("uhv_field_generator")
|
||||
.itemInputs("gtceu:neutronium_frame", "6x gtceu:actinium_plate", "2x gtceu:gravi_star", "2x gtceu:uhv_emitter", "2x #gtceu:circuits/uhv", "64x gtceu:fine_ruthenium_trinium_americium_neutronate_wire", "64x gtceu:fine_ruthenium_trinium_americium_neutronate_wire", "4x gtceu:europium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:crystal_matrix 1152", "gtceu:naquadria 576")
|
||||
.itemOutputs("gtceu:uhv_field_generator")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_field_generator")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(368640)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uev_field_generator")
|
||||
.itemInputs("gtceu:omnium_frame", "6x gtceu:sculk_bioalloy_plate", "kubejs:quasi_stable_neutron_star", "2x gtceu:uev_emitter", "2x #gtceu:circuits/uev", "64x gtceu:fine_activated_netherite_wire", "64x gtceu:fine_activated_netherite_wire", "4x gtceu:omnium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:crystal_matrix 5760", "gtceu:naquadria 1152")
|
||||
.itemOutputs("gtceu:uev_field_generator")
|
||||
.duration(600)
|
||||
.EUt(1966080)
|
||||
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uhv_field_generator")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288)
|
||||
)
|
||||
|
||||
|
||||
event.recipes.gtceu.assembly_line("uiv_field_generator")
|
||||
.itemInputs("gtceu:infinity_frame", "6x gtceu:eltz_plate", "2x kubejs:quasi_stable_neutron_star", "2x gtceu:uiv_emitter", "2x #gtceu:circuits/uiv", "64x gtceu:fine_holmium_wire", "64x gtceu:fine_holmium_wire", "4x gtceu:holmium_single_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:crystal_matrix 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtceu:uiv_field_generator")
|
||||
.duration(1200)
|
||||
.EUt(3932160)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uev_field_generator")
|
||||
.CWUt(144, 576000)
|
||||
.EUt(1048576)
|
||||
)
|
||||
|
||||
// Conveyors
|
||||
event.recipes.gtceu.assembly_line("uhv_conveyor")
|
||||
.itemInputs("2x gtceu:uhv_electric_motor", "2x gtceu:actinium_plate", "4x gtceu:actinium_ring", "16x gtceu:actinium_round", "4x gtceu:actinium_screw", "2x gtceu:europium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 2000", "gtceu:styrene_butadiene_rubber 5760", "gtceu:naquadria 576")
|
||||
.itemOutputs("gtceu:uhv_conveyor_module")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_conveyor_module")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(368640)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uev_conveyor")
|
||||
.itemInputs("2x gtceu:uev_electric_motor", "2x gtceu:sculk_bioalloy_plate", "4x gtceu:sculk_bioalloy_ring", "16x gtceu:sculk_bioalloy_round", "4x gtceu:sculk_bioalloy_screw", "2x gtceu:omnium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 3000", "gtceu:styrene_butadiene_rubber 5760", "gtceu:naquadria 1152")
|
||||
.itemOutputs("gtceu:uev_conveyor_module")
|
||||
.duration(600)
|
||||
.EUt(1966080)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uhv_conveyor_module")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uiv_conveyor")
|
||||
.itemInputs("2x gtceu:uiv_electric_motor", "2x gtceu:infinity_plate", "4x gtceu:eltz_ring", "16x gtceu:eltz_round", "4x gtceu:eltz_screw", "2x gtceu:holmium_single_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:lubricant 4000", "gtceu:styrene_butadiene_rubber 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtceu:uiv_conveyor_module")
|
||||
.duration(1200)
|
||||
.EUt(3932160)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uev_conveyor_module")
|
||||
.CWUt(144, 576000)
|
||||
.EUt(1048576)
|
||||
)
|
||||
|
||||
// Pumps
|
||||
event.recipes.gtceu.assembly_line("uhv_pump")
|
||||
.itemInputs("gtceu:uhv_electric_motor", "gtceu:neutronium_large_fluid_pipe", "2x gtceu:actinium_plate", "8x gtceu:actinium_screw", "16x gtceu:silicone_rubber_ring", "12x gtceu:actinium_ring", "gtceu:neutronium_rotor", "2x gtceu:europium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 2000", "gtceu:crystal_matrix 1152", "gtceu:naquadria 576")
|
||||
.itemOutputs("gtceu:uhv_electric_pump")
|
||||
.duration(600)
|
||||
.EUt(491520)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uv_electric_pump")
|
||||
.CWUt(96, 384000)
|
||||
.EUt(368640)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uev_pump")
|
||||
.itemInputs("gtceu:uev_electric_motor", "gtceu:activated_netherite_large_fluid_pipe", "2x gtceu:sculk_bioalloy_plate", "8x gtceu:sculk_bioalloy_screw", "16x gtceu:silicone_rubber_ring", "16x gtceu:sculk_bioalloy_ring", "gtceu:activated_netherite_rotor", "2x gtceu:omnium_single_cable")
|
||||
.inputFluids("gtceu:soldering_alloy 5760", "gtceu:lubricant 3000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 1152")
|
||||
.itemOutputs("gtceu:uev_electric_pump")
|
||||
.duration(600)
|
||||
.EUt(1966080)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uhv_electric_pump")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembly_line("uiv_pump")
|
||||
.itemInputs("gtceu:uiv_electric_motor", "gtceu:holmium_large_fluid_pipe", "2x gtceu:eltz_plate", "8x gtceu:eltz_screw", "16x gtceu:silicone_rubber_ring", "24x gtceu:eltz_ring", "gtceu:holmium_rotor", "2x gtceu:holmium_single_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:lubricant 4000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtceu:uiv_electric_pump")
|
||||
.duration(1200)
|
||||
.EUt(3932160)
|
||||
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:uev_electric_pump")
|
||||
.CWUt(144, 576000)
|
||||
.EUt(1048576)
|
||||
)
|
||||
|
||||
// Fluid Regulators
|
||||
event.recipes.gtceu.assembler("uhv_fluid_regulator")
|
||||
.itemInputs("gtceu:uhv_electric_pump", "2x #gtceu:circuits/uhv")
|
||||
.circuit(1)
|
||||
.itemOutputs("gtceu:uhv_fluid_regulator")
|
||||
.duration(50)
|
||||
.EUt(1966080)
|
||||
|
||||
event.recipes.gtceu.assembler("uev_fluid_regulator")
|
||||
.itemInputs("gtceu:uev_electric_pump", "2x #gtceu:circuits/uev")
|
||||
.circuit(1)
|
||||
.itemOutputs("gtceu:uev_fluid_regulator")
|
||||
.duration(50)
|
||||
.EUt(3932160)
|
||||
|
||||
event.recipes.gtceu.assembler("uiv_fluid_regulator")
|
||||
.itemInputs("gtceu:uiv_electric_pump", "2x #gtceu:circuits/uiv")
|
||||
.circuit(1)
|
||||
.itemOutputs("gtceu:uiv_fluid_regulator")
|
||||
.duration(50)
|
||||
.EUt(15728640)
|
||||
})
|
||||
559
kubejs/server_scripts/gregtech/circuits.js
Normal file
559
kubejs/server_scripts/gregtech/circuits.js
Normal file
|
|
@ -0,0 +1,559 @@
|
|||
/**
|
||||
* Custom GT circuit recipes
|
||||
*/
|
||||
|
||||
// Function for replacing items in circuit assembler recipes without changing the order
|
||||
function replaceCircassItem(event, idRegex, tagOrItem, toReplace, replaceWith) {
|
||||
// Get all GTCEu Circuit Assembler recipes with an ID matching the regex
|
||||
event.forEachRecipe({ id: idRegex, type: "gtceu:circuit_assembler" }, circuit_recipe => {
|
||||
// Get the JSON array object representing all of the item ingredients
|
||||
let itemIngredients = circuit_recipe.json.getAsJsonObject("inputs").getAsJsonArray("item")
|
||||
for (let i = 0; i < itemIngredients.size(); i++) {
|
||||
// Item ingredient to alter
|
||||
let curItemIngredient = itemIngredients.get(i).getAsJsonObject("content").getAsJsonObject("ingredient")
|
||||
|
||||
if (curItemIngredient.getAsJsonPrimitive(tagOrItem) != null && curItemIngredient.getAsJsonPrimitive(tagOrItem).asString == toReplace) {
|
||||
// Change item ingredient if it does match
|
||||
curItemIngredient.remove(tagOrItem)
|
||||
curItemIngredient["addProperty(java.lang.String,java.lang.String)"](tagOrItem, replaceWith)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function replaceGTRecipeAmount(event, recipeType, idRegex, tagOrItem, toAlter, multiplier) {
|
||||
// Get all GTCEu Circuit Assembler recipes with an ID matching the regex
|
||||
event.forEachRecipe({ id: idRegex, type: recipeType }, circuit_recipe => {
|
||||
// Get the JSON array object representing all of the item ingredients
|
||||
let itemIngredients = circuit_recipe.json.getAsJsonObject("inputs").getAsJsonArray("item")
|
||||
for (let i = 0; i < itemIngredients.size(); i++) {
|
||||
// Item ingredient to alter
|
||||
let curItemContent = itemIngredients.get(i).getAsJsonObject("content")
|
||||
let curItemIngredient = curItemContent.getAsJsonObject("ingredient")
|
||||
|
||||
|
||||
if (curItemIngredient.getAsJsonPrimitive(tagOrItem) != null && curItemIngredient.getAsJsonPrimitive(tagOrItem).asString == toAlter) {
|
||||
// Change item ingredient if it does match
|
||||
let prevCount = curItemContent.getAsJsonPrimitive("count").asInt
|
||||
curItemContent.remove("count")
|
||||
curItemContent["addProperty(java.lang.String,java.lang.Number)"]("count", prevCount * multiplier)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Replace some computer components with magical metals
|
||||
replaceCircassItem(event, /workstation_ev/, "tag", "forge:bolts/blue_alloy", "forge:bolts/vibrant_alloy")
|
||||
replaceCircassItem(event, /nano_computer_iv/, "tag", "forge:fine_wires/electrum", "forge:fine_wires/lumium")
|
||||
replaceCircassItem(event, /crystal_computer_zpm/, "tag", "forge:fine_wires/niobium_titanium", "forge:fine_wires/enderium")
|
||||
|
||||
// Recipe categories seem to be separate when not using builders
|
||||
replaceGTRecipeAmount(event, "gtceu:chemical_reactor", /wetware_circuit_board/, "tag", "forge:foils/niobium_titanium", 0.75)
|
||||
replaceGTRecipeAmount(event, "gtceu:large_chemical_reactor", /wetware_circuit_board/, "tag", "forge:foils/niobium_titanium", 0.75)
|
||||
|
||||
|
||||
// Complex SMDs
|
||||
const smds = [
|
||||
["transistor", "gtceu:enriched_naquadah_foil", "8x gtceu:fine_holmium_wire", 2],
|
||||
["resistor", "gtceu:crystal_matrix_dust", "4x gtceu:fine_holmium_wire", 4],
|
||||
["capacitor", "gtceu:polybenzimidazole_foil", "gtceu:holmium_foil", 1],
|
||||
["diode", "gtceu:indium_gallium_phosphide_dust", "8x gtceu:fine_holmium_wire", 2],
|
||||
["inductor", "gtceu:tritanium_ring", "4x gtceu:fine_holmium_wire", 2]
|
||||
]
|
||||
|
||||
for (const [item, primary, secondary, foil_amount] of smds) {
|
||||
event.recipes.gtceu.assembler(`complex_smd_${item}`)
|
||||
// PECA foil is used since other electronic component recipes use fluid polymers
|
||||
.itemInputs(primary, secondary, Item.of("gtceu:polyethyl_cyanoacrylate_foil", foil_amount))
|
||||
.itemOutputs(`64x kubejs:complex_smd_${item}`)
|
||||
.duration(160)
|
||||
.EUt(245760)
|
||||
}
|
||||
|
||||
for (const javaRecipe of event.findRecipes({ mod: "gtceu" })) {
|
||||
/** @type {import("../../dx/typings/GTJSONRecipe.d.mts").GTJSONRecipe} */
|
||||
let recipe = JSON.parse(javaRecipe.json.toString())
|
||||
|
||||
// Filter out non-GT-machine recipes
|
||||
if(!recipe?.type.startsWith("gtceu:"))
|
||||
continue
|
||||
|
||||
// Filter out non-item recipes
|
||||
if (!(recipe.duration && recipe.inputs?.item && recipe.outputs))
|
||||
continue
|
||||
|
||||
// Filter out recipes without advanced smd
|
||||
if(!recipe.inputs.item.some(i =>
|
||||
i.content.type === "gtceu:sized" &&
|
||||
"item" in i.content.ingredient &&
|
||||
i.content.ingredient.item.startsWith("gtceu:advanced_smd_")
|
||||
)) continue
|
||||
|
||||
// Filter out recipes without eu
|
||||
if(!recipe.tickInputs?.eu)
|
||||
continue
|
||||
let eut = recipe.tickInputs.eu[0].content
|
||||
if(!eut)
|
||||
continue
|
||||
|
||||
// Extract inputs and outputs data
|
||||
let [newInputItems, newOutputItems] = [recipe.inputs.item, recipe.outputs?.item].map(items =>
|
||||
items && items.map(i => {
|
||||
let c = i.content
|
||||
if (c.type !== "gtceu:sized" || "type" in c.ingredient)
|
||||
throw new Error("Cannot generate complex SMD recipes")
|
||||
let ing = c.ingredient
|
||||
return {
|
||||
id: "tag" in ing ? "#" + ing.tag : ing.item,
|
||||
amount: c.count
|
||||
}
|
||||
})
|
||||
)
|
||||
let [newInputFluids, newOutputFluids] = [recipe.inputs.fluid, recipe.outputs?.fluid].map(items =>
|
||||
items && items.map(i => {
|
||||
let c = i.content
|
||||
let [val] = c.value
|
||||
return {
|
||||
id: "tag" in val ? "gtceu:" + val.tag.split(":")[1] : val.fluid,
|
||||
amount: c.amount
|
||||
}
|
||||
})
|
||||
)
|
||||
let {duration, recipeConditions} = recipe
|
||||
|
||||
/** @param {number} by */
|
||||
let multiplyRecipe = by => {
|
||||
for(let matters of [newInputItems, newOutputItems, newInputFluids, newOutputFluids])
|
||||
if(matters)
|
||||
for(let matter of matters)
|
||||
matter.amount *= by
|
||||
}
|
||||
/** @param {number} by */
|
||||
let isRecipeDivisible = by =>
|
||||
[newInputItems, newOutputItems, newInputFluids, newOutputFluids]
|
||||
.filter(matters => matters)
|
||||
.every(matters => matters.every(
|
||||
matter => matter.amount % by === 0
|
||||
))
|
||||
|
||||
multiplyRecipe(4)
|
||||
// Replace all advanced smd by complex smd
|
||||
for(let inp of newInputItems) {
|
||||
let match = inp.id.match(/^gtceu:advanced(_smd_.*)$/)
|
||||
if(!match) continue
|
||||
inp.id = "kubejs:complex" + match[1]
|
||||
inp.amount /= 4
|
||||
}
|
||||
// Divide recipe back as much as possible
|
||||
while(isRecipeDivisible(2))
|
||||
multiplyRecipe(0.5)
|
||||
|
||||
let [,machineName] = recipe.type.split(":")
|
||||
let newRecipe = event.recipes.gtceu[machineName]("complex_smd_recipe_" + javaRecipe.hashCode())
|
||||
if(newInputItems)
|
||||
newRecipe = newRecipe.itemInputs.apply(newRecipe, newInputItems.map(i => `${i.amount}x ${i.id}`))
|
||||
if(newInputFluids)
|
||||
newRecipe = newRecipe.inputFluids.apply(newRecipe, newInputFluids.map(i => `${i.id} ${i.amount}`))
|
||||
if(newOutputItems)
|
||||
newRecipe = newRecipe.itemOutputs.apply(newRecipe, newOutputItems.map(i => `${i.amount}x ${i.id}`))
|
||||
if(newOutputFluids)
|
||||
newRecipe = newRecipe.outputFluids.apply(newRecipe, newOutputFluids.map(i => `${i.id} ${i.amount}`))
|
||||
// Advanced smd recipes take twice as fast to make than simple smds,
|
||||
// while the EU/t is unaffected. In total, EU is halved.
|
||||
// Here we follow the convention:
|
||||
newRecipe = newRecipe.EUt(eut).duration(duration / 2)
|
||||
|
||||
let cleanroomCondition = recipeConditions.find(cond => cond.type === "cleanroom")
|
||||
if(cleanroomCondition)
|
||||
newRecipe = newRecipe.cleanroom(CleanroomType[cleanroomCondition.cleanroom.toUpperCase()])
|
||||
|
||||
let researchCondition = recipeConditions.find(cond => cond.type === "research")
|
||||
if(researchCondition) {
|
||||
let research = researchCondition.research[0]
|
||||
newRecipe = newRecipe.researchWithoutRecipe(research.researchId, research.dataItem.id)
|
||||
}
|
||||
}
|
||||
|
||||
// Wetware tweaks are more invasive than a 1-item swapout
|
||||
|
||||
// Wetware printed circuit board
|
||||
event.remove({ output: "gtceu:wetware_printed_circuit_board" })
|
||||
event.recipes.gtceu.large_chemical_reactor("kubejs:wetware_printed_circuit_board")
|
||||
.itemInputs("gtceu:wetware_circuit_board", "24x minecraft:sculk_vein", "8x gtceu:stem_cells")
|
||||
.inputFluids("gtceu:sodium_persulfate 3000", "gtceu:iron_iii_chloride 1500", "enderio:xp_juice 1000")
|
||||
.itemOutputs("gtceu:wetware_printed_circuit_board")
|
||||
.EUt(480)
|
||||
.duration(1800)
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
|
||||
// NPU
|
||||
event.remove({ output: "gtceu:neuro_processing_unit" })
|
||||
event.recipes.gtceu.circuit_assembler("neuro_processing_unit")
|
||||
.itemInputs("gtceu:wetware_printed_circuit_board", "4x gtceu:stem_cells", "8x gtceu:polybenzimidazole_small_fluid_pipe", "4x gtceu:enderium_plate", "16x gtceu:silicone_rubber_foil", "8x gtceu:hsse_bolt")
|
||||
.inputFluids("gtceu:sterilized_growth_medium 100")
|
||||
.itemOutputs("gtceu:neuro_processing_unit")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(600)
|
||||
.EUt(80000)
|
||||
|
||||
|
||||
// WIP: Matter Circuits
|
||||
let plasticBoard;
|
||||
if (doHarderRecipes) plasticBoard = "16x gtceu:kapton_k_plate"
|
||||
else plasticBoard = "16x gtceu:polyethyl_cyanoacrylate_plate"
|
||||
event.recipes.gtceu.circuit_assembler("matter_circuit_board")
|
||||
.itemInputs(
|
||||
plasticBoard,
|
||||
"16x gtceu:omnium_plate",
|
||||
"#gtceu:circuits/luv",
|
||||
"gtceu:iv_emitter",
|
||||
"2x gtceu:omnic_acid_dust",
|
||||
"3x gtceu:flawless_monazite_gem"
|
||||
)
|
||||
.inputFluids("gtceu:distilled_water 500")
|
||||
.itemOutputs("32x kubejs:matter_circuit_board")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(250000)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("matter_processing_unit")
|
||||
.itemInputs("1x kubejs:matter_circuit_board", "10x gtceu:activated_netherite_foil", "6x gtceu:crystal_matrix_foil")
|
||||
.inputFluids("gtceu:iron_iii_chloride 7500")
|
||||
.itemOutputs("1x kubejs:matter_processing_unit")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(100)
|
||||
.EUt(250000)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("matter_processor")
|
||||
.itemInputs(
|
||||
"kubejs:matter_processing_unit",
|
||||
"2x kubejs:multidimensional_cpu_chip",
|
||||
"10x gtceu:advanced_smd_resistor",
|
||||
"10x gtceu:advanced_smd_capacitor",
|
||||
"10x gtceu:advanced_smd_transistor",
|
||||
"4x gtceu:fine_naquadria_wire"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 144")
|
||||
.itemOutputs("2x kubejs:matter_processor")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(10 * 20)
|
||||
.EUt(250000)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("matter_processor_complex_smd")
|
||||
.itemInputs(
|
||||
"2x kubejs:matter_processing_unit",
|
||||
"4x kubejs:multidimensional_cpu_chip",
|
||||
"5x kubejs:complex_smd_resistor",
|
||||
"5x kubejs:complex_smd_capacitor",
|
||||
"5x kubejs:complex_smd_transistor",
|
||||
"8x gtceu:fine_naquadria_wire"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 288")
|
||||
.itemOutputs("4x kubejs:matter_processor")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(10 * 20 / 2)
|
||||
.EUt(250000)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("matter_processor_assembly")
|
||||
.itemInputs("kubejs:matter_processing_unit",
|
||||
"2x kubejs:matter_processor",
|
||||
"8x gtceu:advanced_smd_inductor",
|
||||
"8x gtceu:advanced_smd_capacitor",
|
||||
"32x gtceu:ram_chip",
|
||||
"16x gtceu:fine_europium_wire"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("2x kubejs:matter_processor_assembly")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(20 * 20)
|
||||
.EUt(250000)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("matter_processor_assembly_complex_smd")
|
||||
.itemInputs("kubejs:matter_processing_unit",
|
||||
"2x kubejs:matter_processor",
|
||||
"2x kubejs:complex_smd_inductor",
|
||||
"2x kubejs:complex_smd_capacitor",
|
||||
"32x gtceu:ram_chip",
|
||||
"16x gtceu:fine_europium_wire"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("2x kubejs:matter_processor_assembly")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(20 * 20 / 2)
|
||||
.EUt(250000)
|
||||
|
||||
event.recipes.gtceu.assembly_line("matter_processor_computer")
|
||||
.itemInputs(
|
||||
"kubejs:matter_processing_unit",
|
||||
"2x kubejs:matter_processor_assembly",
|
||||
"12x gtceu:advanced_smd_diode",
|
||||
"24x gtceu:nor_memory_chip",
|
||||
"8x kubejs:uxpic_chip",
|
||||
"24x gtceu:fine_europium_wire",
|
||||
"8x gtceu:polyethyl_cyanoacrylate_foil",
|
||||
"4x gtceu:crystal_matrix_plate"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 1152", "gtceu:omnium 144")
|
||||
.itemOutputs("kubejs:matter_processor_computer")
|
||||
.duration(20 * 20)
|
||||
.EUt(250000)
|
||||
|
||||
event.recipes.gtceu.assembly_line("matter_processor_computer_complex_smd")
|
||||
.itemInputs(
|
||||
"kubejs:matter_processing_unit",
|
||||
"2x kubejs:matter_processor_assembly",
|
||||
"3x kubejs:complex_smd_diode",
|
||||
"24x gtceu:nor_memory_chip",
|
||||
"8x kubejs:uxpic_chip",
|
||||
"24x gtceu:fine_europium_wire",
|
||||
"8x gtceu:polyethyl_cyanoacrylate_foil",
|
||||
"4x gtceu:crystal_matrix_plate"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 1152", "gtceu:omnium 144")
|
||||
.itemOutputs("kubejs:matter_processor_computer")
|
||||
.duration(20 * 20 / 2)
|
||||
.EUt(250000)
|
||||
|
||||
event.recipes.gtceu.assembly_line("matter_processor_mainframe")
|
||||
.itemInputs("2x gtceu:activated_netherite_frame",
|
||||
"2x kubejs:matter_processor_computer",
|
||||
"32x gtceu:advanced_smd_diode",
|
||||
"32x gtceu:advanced_smd_capacitor",
|
||||
"32x gtceu:advanced_smd_transistor",
|
||||
"32x gtceu:advanced_smd_resistor",
|
||||
"32x gtceu:advanced_smd_inductor",
|
||||
"32x gtceu:ram_chip",
|
||||
"16x kubejs:multidimensional_cpu_chip",
|
||||
"16x gtceu:ruthenium_trinium_americium_neutronate_double_wire",
|
||||
"16x gtceu:polyethyl_cyanoacrylate_foil",
|
||||
"8x gtceu:crystal_matrix_plate") // could replace with omnium frame
|
||||
.inputFluids("gtceu:soldering_alloy 4320", "gtceu:omnium 288")
|
||||
.itemOutputs("kubejs:matter_processor_mainframe")
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
|
||||
event.recipes.gtceu.assembly_line("matter_processor_mainframe_complex_smd")
|
||||
.itemInputs("2x gtceu:activated_netherite_frame",
|
||||
"2x kubejs:matter_processor_computer",
|
||||
"8x kubejs:complex_smd_diode",
|
||||
"8x kubejs:complex_smd_capacitor",
|
||||
"8x kubejs:complex_smd_transistor",
|
||||
"8x kubejs:complex_smd_resistor",
|
||||
"8x kubejs:complex_smd_inductor",
|
||||
"32x gtceu:ram_chip",
|
||||
"16x kubejs:multidimensional_cpu_chip",
|
||||
"16x gtceu:ruthenium_trinium_americium_neutronate_double_wire",
|
||||
"16x gtceu:polyethyl_cyanoacrylate_foil",
|
||||
"8x gtceu:crystal_matrix_plate") // could replace with omnium frame
|
||||
.inputFluids("gtceu:soldering_alloy 4320", "gtceu:omnium 288")
|
||||
.itemOutputs("kubejs:matter_processor_mainframe")
|
||||
.duration(2400 / 2)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
|
||||
// WIP: Dimensional Circuits
|
||||
event.recipes.gtceu.circuit_assembler("dimensional_circuit_board")
|
||||
.itemInputs(
|
||||
"32x gtceu:polyethyl_cyanoacrylate_plate",
|
||||
"4x gtceu:infinity_plate",
|
||||
"#gtceu:circuits/zpm",
|
||||
"gtceu:luv_sensor",
|
||||
"3x kubejs:the_ultimate_material",
|
||||
"2x gtceu:nether_star_lens"
|
||||
)
|
||||
.inputFluids("gtceu:omnium 288")
|
||||
.itemOutputs("32x kubejs:dimensional_circuit_board")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(500000)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("dimensional_processing_unit")
|
||||
.itemInputs("1x kubejs:dimensional_circuit_board", "12x gtceu:holmium_foil", "6x gtceu:activated_netherite_foil")
|
||||
.inputFluids("gtceu:iron_iii_chloride 10000")
|
||||
.itemOutputs("1x kubejs:dimensional_processing_unit")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(100)
|
||||
.EUt(1966080)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("dimensional_processor")
|
||||
.itemInputs(
|
||||
"kubejs:dimensional_processing_unit",
|
||||
"3x kubejs:multidimensional_cpu_chip",
|
||||
"4x kubejs:complex_smd_resistor",
|
||||
"4x kubejs:complex_smd_capacitor",
|
||||
"4x kubejs:complex_smd_transistor",
|
||||
"2x gtceu:fine_holmium_wire"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 144")
|
||||
.itemOutputs("2x kubejs:dimensional_processor")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(10 * 20)
|
||||
.EUt(1966080)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("dimensional_processor_assembly")
|
||||
.itemInputs(
|
||||
"kubejs:dimensional_processing_unit",
|
||||
"2x kubejs:dimensional_processor",
|
||||
"4x kubejs:complex_smd_inductor",
|
||||
"4x kubejs:complex_smd_capacitor",
|
||||
"4x kubejs:hyperdynamic_ram_chip",
|
||||
"16x gtceu:fine_activated_netherite_wire"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("2x kubejs:dimensional_processor_assembly")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(20 * 20)
|
||||
.EUt(1966080)
|
||||
|
||||
event.recipes.gtceu.assembly_line("dimensional_processor_computer")
|
||||
.itemInputs(
|
||||
"kubejs:dimensional_processing_unit",
|
||||
"2x kubejs:dimensional_processor_assembly",
|
||||
"8x kubejs:complex_smd_diode",
|
||||
"32x gtceu:nor_memory_chip",
|
||||
"12x kubejs:multidimensional_cpu_chip",
|
||||
"16x kubejs:hyperdynamic_ram_chip",
|
||||
"16x kubejs:uxpic_chip",
|
||||
"24x gtceu:fine_activated_netherite_wire",
|
||||
"16x gtceu:polyethyl_cyanoacrylate_foil",
|
||||
"4x gtceu:holmium_plate"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("kubejs:dimensional_processor_computer")
|
||||
.duration(20 * 20)
|
||||
.EUt(1966080)
|
||||
|
||||
event.recipes.gtceu.assembly_line("dimensional_processor_mainframe")
|
||||
.itemInputs(
|
||||
"2x gtceu:infinity_frame",
|
||||
"2x kubejs:dimensional_processor_computer",
|
||||
"32x kubejs:complex_smd_diode",
|
||||
"32x kubejs:complex_smd_capacitor",
|
||||
"32x kubejs:complex_smd_transistor",
|
||||
"32x kubejs:complex_smd_resistor",
|
||||
"32x kubejs:complex_smd_inductor",
|
||||
"32x gtceu:nand_memory_chip",
|
||||
"24x kubejs:multidimensional_cpu_chip",
|
||||
"32x kubejs:hyperdynamic_ram_chip",
|
||||
"16x gtceu:activated_netherite_double_wire",
|
||||
"16x gtceu:polyethyl_cyanoacrylate_foil",
|
||||
"8x gtceu:holmium_plate"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 4320", "gtceu:omnium 576")
|
||||
.itemOutputs("kubejs:dimensional_processor_mainframe")
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.UEV])
|
||||
|
||||
|
||||
// Monic Circuits
|
||||
event.recipes.gtceu.circuit_assembler("monic_circuit_board")
|
||||
.itemInputs("32x kubejs:dimensional_circuit_board",
|
||||
"2x gtceu:monium_plate",
|
||||
"#gtceu:circuits/uv",
|
||||
"gtceu:zpm_field_generator",
|
||||
"1x kubejs:quasi_stable_neutron_star",
|
||||
"2x kubejs:ultimate_gem"
|
||||
)
|
||||
.inputFluids("gtceu:omnium 576")
|
||||
.itemOutputs("32x kubejs:monic_circuit_board")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(2000000)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("monic_processing_unit")
|
||||
.itemInputs("1x kubejs:monic_circuit_board", "6x gtceu:monium_single_wire", "8x gtceu:holmium_foil")
|
||||
.inputFluids("gtceu:iron_iii_chloride 12000")
|
||||
.itemOutputs("1x kubejs:monic_processing_unit")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(100)
|
||||
.EUt(3932160)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("monic_processor")
|
||||
.itemInputs(
|
||||
"kubejs:monic_processing_unit",
|
||||
"kubejs:contained_singularity",
|
||||
"8x kubejs:complex_smd_resistor",
|
||||
"8x kubejs:complex_smd_capacitor",
|
||||
"8x kubejs:complex_smd_transistor",
|
||||
"16x gtceu:fine_holmium_wire"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 288")
|
||||
.itemOutputs("2x kubejs:monic_processor")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(10 * 20)
|
||||
.EUt(3932160)
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("monic_processor_assembly")
|
||||
.itemInputs(
|
||||
"kubejs:monic_processing_unit",
|
||||
"2x kubejs:monic_processor",
|
||||
"8x kubejs:complex_smd_inductor",
|
||||
"8x kubejs:complex_smd_capacitor",
|
||||
"8x kubejs:hyperdynamic_ram_chip",
|
||||
"16x gtceu:fine_holmium_wire"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("2x kubejs:monic_processor_assembly")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(20 * 20)
|
||||
.EUt(3932160)
|
||||
|
||||
event.recipes.gtceu.assembly_line("monic_processor_computer")
|
||||
.itemInputs(
|
||||
"kubejs:monic_processing_unit",
|
||||
"2x kubejs:monic_processor_assembly",
|
||||
"4x kubejs:contained_singularity",
|
||||
"16x kubejs:complex_smd_diode",
|
||||
"48x gtceu:nor_memory_chip",
|
||||
"16x kubejs:multidimensional_cpu_chip",
|
||||
"24x kubejs:hyperdynamic_ram_chip",
|
||||
"16x kubejs:quantum_soc_chip",
|
||||
"24x kubejs:uxpic_chip",
|
||||
"24x gtceu:fine_holmium_wire",
|
||||
"32x gtceu:polyethyl_cyanoacrylate_foil",
|
||||
"4x gtceu:infinity_plate"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("1x kubejs:monic_processor_computer")
|
||||
.duration(20 * 20)
|
||||
.EUt(3932160)
|
||||
|
||||
event.recipes.gtceu.assembly_line("monic_processor_mainframe")
|
||||
.itemInputs(
|
||||
"4x gtceu:monium_frame",
|
||||
"2x kubejs:monic_processor_computer",
|
||||
"64x kubejs:complex_smd_diode",
|
||||
"64x kubejs:complex_smd_capacitor",
|
||||
"64x kubejs:complex_smd_transistor",
|
||||
"64x kubejs:complex_smd_resistor",
|
||||
"64x kubejs:complex_smd_inductor",
|
||||
"64x kubejs:contained_singularity",
|
||||
"64x gtceu:nor_memory_chip",
|
||||
"64x gtceu:nand_memory_chip",
|
||||
"64x kubejs:multidimensional_cpu_chip",
|
||||
"64x kubejs:hyperdynamic_ram_chip",
|
||||
"64x kubejs:quantum_soc_chip",
|
||||
"16x gtceu:holmium_double_wire",
|
||||
"16x gtceu:polyethyl_cyanoacrylate_foil",
|
||||
"8x gtceu:infinity_plate"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 4320", "gtceu:omnium 1152")
|
||||
.itemOutputs("kubejs:monic_processor_mainframe")
|
||||
.duration(3200)
|
||||
.EUt(GTValues.VA[GTValues.UIV])
|
||||
|
||||
// SoC recipe for cheaper matter processor
|
||||
event.recipes.gtceu.circuit_assembler("matter_processor_soc")
|
||||
.itemInputs(
|
||||
"kubejs:matter_processing_unit",
|
||||
"kubejs:quantum_soc_chip",
|
||||
"8x gtceu:fine_ruthenium_trinium_americium_neutronate_wire",
|
||||
"8x gtceu:activated_netherite_bolt"
|
||||
)
|
||||
.itemOutputs("4x kubejs:matter_processor")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(5 * 20)
|
||||
.EUt(3932160)
|
||||
|
||||
})
|
||||
40
kubejs/server_scripts/gregtech/dense_ores.js
Normal file
40
kubejs/server_scripts/gregtech/dense_ores.js
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/**
|
||||
* A tale of Dense ores and how you undensify them
|
||||
*/
|
||||
|
||||
const ores = [
|
||||
["redstone", 4],
|
||||
["diamond", 4],
|
||||
["emerald", 4],
|
||||
["gold", 4],
|
||||
["lapis", 4],
|
||||
["iron", 4],
|
||||
["coal", 4],
|
||||
["nether_quartz", 2],
|
||||
["copper", 4]
|
||||
]
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
ores.forEach(([name, amount]) => {
|
||||
event.recipes.gtceu.chemical_reactor(`kubejs:undensify_${name}`)
|
||||
.itemInputs(`${amount}x kubejs:dense_${name}_ore`)
|
||||
.itemOutputs(ChemicalHelper.get("raw", name, 64))
|
||||
.inputFluids(Fluid.of("gtceu:nitric_acid", 1000))
|
||||
.duration(200)
|
||||
.EUt(500)
|
||||
})
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("kubejs:undensify_oilsands")
|
||||
.itemInputs("4x kubejs:dense_oilsands_ore")
|
||||
.itemOutputs("64x gtceu:endstone_oilsands_ore")
|
||||
.inputFluids(Fluid.of("gtceu:nitric_acid", 1000))
|
||||
.duration(200)
|
||||
.EUt(500)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("kubejs:undensify_magma")
|
||||
.itemInputs("4x kubejs:dense_magma_block")
|
||||
.itemOutputs("64x minecraft:magma_block")
|
||||
.inputFluids(Fluid.of("gtceu:nitric_acid", 1000))
|
||||
.duration(200)
|
||||
.EUt(500)
|
||||
})
|
||||
58
kubejs/server_scripts/gregtech/discharger.js
Normal file
58
kubejs/server_scripts/gregtech/discharger.js
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/**
|
||||
* Draconic Evolution Fusion recipes
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
event.shaped("gtceu:discharger", [
|
||||
"PLP",
|
||||
"CFC",
|
||||
"PHP"
|
||||
], {
|
||||
P: "gtceu:cryolobus_plate",
|
||||
F: "kubejs:dischargement_core",
|
||||
C: "gtceu:niobium_titanium_single_cable",
|
||||
L: "gtceu:iv_field_generator",
|
||||
H: "gtceu:hsse_frame"
|
||||
}).id("kubejs:shaped/discharger")
|
||||
|
||||
event.recipes.gtceu.assembly_line("gtceu:sculk_biocharger")
|
||||
.itemInputs("gtceu:discharger", "4x #gtceu:circuits/uev", "4x extendedcrafting:auto_flux_crafter", "16x kubejs:dischargement_core", "24x gtceu:polyethyl_cyanoacrylate_plate")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:omnium 5760")
|
||||
.itemOutputs("gtceu:sculk_biocharger")
|
||||
.duration(3000)
|
||||
.EUt(1966000)
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:discharger")
|
||||
.CWUt(160, 1024000)
|
||||
.EUt(1200000)
|
||||
)
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:cryolobus_casing")
|
||||
.itemInputs("6x gtceu:cryolobus_plate", "gtceu:cryolobus_frame")
|
||||
.itemOutputs("2x kubejs:cryolobus_casing")
|
||||
.duration(50)
|
||||
.circuit(6)
|
||||
.EUt(16)
|
||||
|
||||
function Discharge(id, output, input, refund) {
|
||||
event.recipes.gtceu.discharger(`kubejs:${id}`)
|
||||
.itemInputs(input)
|
||||
.itemOutputs(output)
|
||||
.duration(10) // wip
|
||||
// .EUt(-(refund / 4)) Enable once that gets fixed.
|
||||
}
|
||||
|
||||
Discharge("hadal_solar", "2x solarflux:sp_custom_hadal", ["kubejs:hadal_energy_core", "2x solarflux:sp_custom_abyssal", "2x kubejs:abyssal_energy_core"], 1000000)
|
||||
Discharge("nt_solar", "solarflux:sp_custom_neutronium", ["solarflux:sp_custom_hadal", "4x kubejs:hadal_energy_core", "4x gtceu:sculk_superconductor_single_wire", "2x gtceu:omnium_block"], 100000000)
|
||||
Discharge("abyssal_solar", "2x solarflux:sp_custom_abyssal", ["kubejs:abyssal_energy_core", "2x solarflux:sp_custom_bathyal", "4x laserio:energy_overclocker_card_tier_9", "2x kubejs:bathyal_energy_core"], 20000000)
|
||||
Discharge("bathyal_solar", "2x solarflux:sp_custom_bathyal", ["kubejs:bathyal_energy_core", "2x solarflux:sp_8", "4x laserio:energy_overclocker_card_tier_8", "2x gtceu:cryolobus_block"], 20000000)
|
||||
Discharge("cryococcus_block", "5x gtceu:cryococcus_block", ["5x gtceu:cryolobus_block", "4x kubejs:bathyal_energy_core", "2x kubejs:warden_heart"], 40000000)
|
||||
Discharge("hadal_warp_engine", "kubejs:hadal_warp_engine", ["gtceu:cryococcus_frame", "kubejs:warp_engine", "gtceu:cryococcus_plate", "2x gtceu:cryolobus_plate", "kubejs:hadal_energy_core", "gtceu:zpm_field_generator", "kubejs:abyssal_energy_core", "kubejs:hadal_shard"], 40000000)
|
||||
Discharge("sculk_bioalloy", "gtceu:sculk_bioalloy_block", ["9x kubejs:animated_bioalloy_pulp", "18x gtceu:electrotine_dust", "1x kubejs:warden_heart", "2x kubejs:abyssal_energy_core"], 10000000)
|
||||
|
||||
event.recipes.gtceu.charger("kubejs:sculk_core_charge")
|
||||
.itemInputs(["4x gtceu:cryolobus_ingot", "4x gtceu:tungsten_carbide_ingot", "minecraft:sculk_catalyst"])
|
||||
.itemOutputs("kubejs:sculk_core")
|
||||
.EUt(500000 / 16)
|
||||
.duration(100 * 4)
|
||||
})
|
||||
83
kubejs/server_scripts/gregtech/eltz.js
Normal file
83
kubejs/server_scripts/gregtech/eltz.js
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
/**
|
||||
* Eltz processing line
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
event.recipes.gtceu.mixer("reactive_dust_mixture_mixer")
|
||||
.itemInputs("12x extendedcrafting:luminessence", "7x gtceu:enriched_sunnarium_dust", "8x kubejs:primal_mana", "13x gtceu:cadmium_dust", "3x gtceu:nether_star_dust", "21x gtceu:ender_eye_dust")
|
||||
.itemOutputs("64x kubejs:reactive_dust_mixture")
|
||||
.duration(4800)
|
||||
.EUt(GTValues.VHA[GTValues.UHV])
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("literal_alchemy")
|
||||
.itemInputs("3x kubejs:reactive_dust_mixture")
|
||||
.notConsumable("extendedcrafting:ultimate_catalyst")
|
||||
.inputFluids("gtceu:chlorine_triflouride 200", "gtceu:mana 150", "gtceu:dragon_breath 100")
|
||||
.itemOutputs("2x kubejs:inert_dust_mixture")
|
||||
.outputFluids("gtceu:waste_gas_mixture 1000")
|
||||
.duration(15)
|
||||
.EUt(GTValues.VA[GTValues.UIV])
|
||||
|
||||
event.recipes.gtceu.sifter("inert_dust_mixture_sifting")
|
||||
.itemInputs("4x kubejs:inert_dust_mixture")
|
||||
.itemOutputs("1x kubejs:dusty_inert_powder", "2x kubejs:inert_clumps")
|
||||
.chancedOutput("gtceu:monazite_gem", 7000, 2000)
|
||||
.chancedOutput("gtceu:impure_netherite_scrap_dust", 1500, 600)
|
||||
.chancedOutput("extendedcrafting:crystaltine_nugget", 900, 900)
|
||||
.duration(640)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
// Shiny metal powder half
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("inert_powder_reacting")
|
||||
.itemInputs("1x kubejs:dusty_inert_powder", "gtceu:omnic_acid_dust")
|
||||
.inputFluids("minecraft:water 1000", "gtceu:enriched_naquadah 144")
|
||||
.itemOutputs("kubejs:shiny_powder_mixture")
|
||||
.chancedOutput("kubejs:cryotheum_dust", 1000, 100)
|
||||
.chancedOutput("kubejs:pyrotheum_dust", 1000, 100)
|
||||
.outputFluids("gtceu:depleted_uranium_hexafluoride 200")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VHA[GTValues.ZPM])
|
||||
|
||||
event.recipes.gtceu.centrifuge("shiny_powder_mixture_centrifuging")
|
||||
.itemInputs("4x kubejs:shiny_powder_mixture")
|
||||
.itemOutputs("kubejs:shiny_metal_powder", "gtceu:crystal_matrix_dust")
|
||||
.chancedOutput("kubejs:aerotheum_dust", 4000, 400)
|
||||
.chancedOutput("kubejs:petrotheum_dust", 4000, 400)
|
||||
.chancedOutput("kubejs:inert_dust_mixture", 500, 150)
|
||||
.duration(500)
|
||||
.EUt(GTValues.VHA[GTValues.EV])
|
||||
|
||||
// Eltic actinate clump half
|
||||
event.recipes.gtceu.chemical_bath("inert_clump_bath")
|
||||
.itemInputs("4x kubejs:inert_clumps")
|
||||
.inputFluids("gtceu:distilled_water 125")
|
||||
.itemOutputs("kubejs:clean_inert_cluster")
|
||||
.outputFluids("gtceu:saturated_water 125")
|
||||
.duration(5000)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.electromagnetic_separator("clean_cluster_separating")
|
||||
.itemInputs("kubejs:clean_inert_cluster")
|
||||
.chancedOutput("kubejs:eltic_crystal_seed", 2500, 0)
|
||||
.chancedOutput("kubejs:inert_dust_mixture", 500, 150)
|
||||
.duration(2500)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
// Converge here
|
||||
event.recipes.gtceu.autoclave("eltic_actinide_crystal_growing")
|
||||
.itemInputs("kubejs:eltic_crystal_seed", "2x kubejs:shiny_metal_powder")
|
||||
.inputFluids("gtceu:saturated_water 500")
|
||||
.itemOutputs("gtceu:eltic_actinate_gem")
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("eltz_ingot_blasting")
|
||||
.itemInputs("gtceu:flawless_eltic_actinate_gem", "#forge:dusts/pulsating_alloy")
|
||||
.itemOutputs("1x gtceu:eltz_ingot", "2x gtceu:actinium_iron_oxide_dust")
|
||||
.duration(1540)
|
||||
.blastFurnaceTemp(11600)
|
||||
.EUt(GTValues.VA[GTValues.UEV])
|
||||
|
||||
})
|
||||
77
kubejs/server_scripts/gregtech/energy_cores.js
Normal file
77
kubejs/server_scripts/gregtech/energy_cores.js
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
/** Pre Release */
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.gtceu.assembly_line("kubejs_fusion_crafting_core")
|
||||
.itemInputs("gtceu:hsse_frame", "6x gtceu:tungsten_carbide_plate", "4x kubejs:mesol_energy_core", "4x minecraft:nether_star", "2x gtceu:iv_sensor", "#gtceu:circuits/iv", "8x #forge:storage_blocks/diamatine_empowered")
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("kubejs:dischargement_core")
|
||||
["scannerResearch(java.util.function.UnaryOperator)"](b => b.researchStack("kubejs:mesol_energy_core").EUt(480).duration(1200))
|
||||
.duration(1200)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.extendedcrafting.shaped_table("extendedcrafting:auto_flux_crafter", [
|
||||
"RPEPR",
|
||||
"PXCXP",
|
||||
"PCACP",
|
||||
"PXCXP",
|
||||
"RPEPR"
|
||||
], {
|
||||
P: "gtceu:double_cryolobus_plate",
|
||||
R: "gtceu:luv_lapotronic_battery",
|
||||
X: "kubejs:cryolobus_casing",
|
||||
A: "gtceu:luv_charger_4x",
|
||||
E: "gtceu:luv_sensor",
|
||||
C: "#gtceu:circuits/luv"
|
||||
})
|
||||
|
||||
event.recipes.extendedcrafting.shaped_table("extendedcrafting:flux_alternator", [
|
||||
" PEP ",
|
||||
" PCP ",
|
||||
" PCP ",
|
||||
"PPCPP",
|
||||
"XRRRX"
|
||||
], {
|
||||
P: "gtceu:double_cryolobus_plate",
|
||||
R: "gtceu:luv_lapotronic_battery",
|
||||
X: "kubejs:cryolobus_casing",
|
||||
E: "gtceu:luv_emitter",
|
||||
C: "#gtceu:circuits/luv"
|
||||
})
|
||||
|
||||
event.recipes.extendedcrafting.shaped_flux_crafter("kubejs:sculk_core", [
|
||||
"ABA",
|
||||
"BCB",
|
||||
"ABA"
|
||||
], {
|
||||
A: "gtceu:cryolobus_ingot",
|
||||
B: "gtceu:tungsten_carbide_ingot",
|
||||
C: "minecraft:sculk_catalyst"
|
||||
}, 200000000).powerRate(200000000);
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:mesol_energy_core")
|
||||
.itemInputs("kubejs:sculk_core", "4x gtceu:enori_empowered_gem", "gtceu:palis_empowered_block")
|
||||
.inputFluids("enderio:xp_juice 100")
|
||||
.itemOutputs("kubejs:mesol_energy_core")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:bathyal_energy_core")
|
||||
.itemInputs("3x kubejs:mesol_energy_core", "4x minecraft:nether_star", "gtceu:emeradic_empowered_block", "6x gtceu:diamatine_empowered_gem")
|
||||
.inputFluids("enderio:xp_juice 1000")
|
||||
.itemOutputs("2x kubejs:bathyal_energy_core")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:abyssal_energy_core")
|
||||
.itemInputs("2x kubejs:bathyal_energy_core", "4x gtceu:restonia_empowered_gem", "gtceu:cryococcus_block", "kubejs:stabilized_einsteinium")
|
||||
.inputFluids("enderio:xp_juice 1000")
|
||||
.itemOutputs("1x kubejs:abyssal_energy_core")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:hadal_energy_core")
|
||||
.itemInputs("3x kubejs:abyssal_energy_core", "kubejs:hadal_shard", "gtceu:void_empowered_block", "2x gtceu:neutronium_plate", "16x gtceu:omnium_bolt")
|
||||
.inputFluids("enderio:xp_juice 1000")
|
||||
.itemOutputs("kubejs:hadal_energy_core")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
})
|
||||
39
kubejs/server_scripts/gregtech/forming_press.js
Normal file
39
kubejs/server_scripts/gregtech/forming_press.js
Normal file
|
|
@ -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])
|
||||
})
|
||||
})
|
||||
199
kubejs/server_scripts/gregtech/greenhouse.js
Normal file
199
kubejs/server_scripts/gregtech/greenhouse.js
Normal file
|
|
@ -0,0 +1,199 @@
|
|||
/**
|
||||
* Greenhouse multiblock
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
/* Machine Recipe */
|
||||
|
||||
event.shaped("gtceu:greenhouse", [
|
||||
"LWL",
|
||||
"ASA",
|
||||
"WRW"
|
||||
], {
|
||||
L: "minecraft:redstone_lamp",
|
||||
A: "#gtceu:circuits/mv",
|
||||
W: "gtceu:copper_single_cable",
|
||||
S: "gtceu:solid_machine_casing",
|
||||
R: "gtceu:lv_fluid_regulator"
|
||||
}).id("kubejs:shaped/greenhouse")
|
||||
|
||||
|
||||
/* Greenhouse Recipes */
|
||||
|
||||
function boost(input, factor) {
|
||||
let boosted = [];
|
||||
input.forEach(element => {
|
||||
let item = Item.of(element);
|
||||
let curCount = item.getCount() * factor;
|
||||
let type = item.getId();
|
||||
while (curCount > item.maxStackSize) {
|
||||
boosted.push(Item.of(type, item.maxStackSize));
|
||||
curCount -= item.maxStackSize;
|
||||
}
|
||||
if (curCount > 0) boosted.push(Item.of(type, curCount));
|
||||
})
|
||||
return boosted;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} mod Input item mod name
|
||||
* @param {string} input Input item identifier
|
||||
* @param {number} duration Recipe duration
|
||||
* @param {string[]} output Base recipe output
|
||||
* @param {number} inputFeedbackAmount How many input items to add to output
|
||||
*/
|
||||
function Greenhouse(mod, input, duration, output, inputFeedbackAmount) {
|
||||
// Create new boosted output item array
|
||||
let boostedOutputs = boost(output, 2)
|
||||
|
||||
// Push sapling/seed inputs (unboosted) onto output arrays
|
||||
if (inputFeedbackAmount > 0) {
|
||||
output.push(Item.of(`${mod}:${input}`, inputFeedbackAmount));
|
||||
boostedOutputs.push(Item.of(`${mod}:${input}`, inputFeedbackAmount));
|
||||
}
|
||||
|
||||
event.recipes.gtceu.greenhouse(`kubejs:${input}`)
|
||||
.circuit(1)
|
||||
.notConsumable(InputItem.of(Item.of(`${mod}:${input}`)))
|
||||
.inputFluids(Fluid.of("minecraft:water", 24000))
|
||||
.itemOutputs(output)
|
||||
.duration(duration)
|
||||
.EUt(80)
|
||||
event.recipes.gtceu.greenhouse(`kubejs:${input}_boosted`)
|
||||
.circuit(2)
|
||||
.notConsumable(InputItem.of(Item.of(`${mod}:${input}`)))
|
||||
.itemInputs("1x gtceu:fertilizer")
|
||||
.inputFluids(Fluid.of("minecraft:water", 16000))
|
||||
.itemOutputs(boostedOutputs)
|
||||
.duration(duration / 2)
|
||||
.EUt(80)
|
||||
}
|
||||
|
||||
|
||||
// //// Trees //////
|
||||
Greenhouse("gtceu", "rubber_sapling", 1280, ["32x gtceu:rubber_log", "8x gtceu:sticky_resin"], 4)
|
||||
Greenhouse("minecraft", "oak_sapling", 1280, ["64x minecraft:oak_log"], 4)
|
||||
Greenhouse("minecraft", "dark_oak_sapling", 1280, ["64x minecraft:dark_oak_log"], 4)
|
||||
Greenhouse("minecraft", "spruce_sapling", 1280, ["64x minecraft:spruce_log"], 4)
|
||||
Greenhouse("minecraft", "birch_sapling", 1280, ["64x minecraft:birch_log"], 4)
|
||||
Greenhouse("minecraft", "acacia_sapling", 1280, ["64x minecraft:acacia_log"], 4)
|
||||
Greenhouse("minecraft", "jungle_sapling", 1280, ["64x minecraft:jungle_log"], 4)
|
||||
Greenhouse("minecraft", "azalea", 1280, ["64x minecraft:oak_log"], 4)
|
||||
Greenhouse("minecraft", "flowering_azalea", 1280, ["64x minecraft:oak_log"], 4)
|
||||
Greenhouse("minecraft", "cherry_sapling", 1280, ["64x minecraft:cherry_log"], 4)
|
||||
Greenhouse("minecraft", "mangrove_propagule", 1280, ["64x minecraft:mangrove_log"], 4)
|
||||
Greenhouse("minecraft", "chorus_flower", 1280, ["32x minecraft:chorus_fruit"], 4)
|
||||
Greenhouse("minecraft", "warped_fungus", 1280, ["64x minecraft:warped_stem", "32x minecraft:warped_wart_block", "16x minecraft:shroomlight"], 4)
|
||||
Greenhouse("minecraft", "crimson_fungus", 1280, ["64x minecraft:crimson_stem", "32x minecraft:nether_wart_block", "16x minecraft:shroomlight"], 4)
|
||||
Greenhouse("thermal", "rubberwood_sapling", 1280, ["64x thermal:rubberwood_log"], 4)
|
||||
|
||||
// //// Crops //////
|
||||
Greenhouse("minecraft", "sugar_cane", 640, ["32x minecraft:sugar_cane"], 0)
|
||||
// TODO: Increase water requirement for Kelp
|
||||
Greenhouse("minecraft", "kelp", 640, ["32x minecraft:kelp"], 0)
|
||||
Greenhouse("minecraft", "bamboo", 640, ["48x minecraft:bamboo"], 0)
|
||||
Greenhouse("minecraft", "cactus", 640, ["32x minecraft:cactus"], 0)
|
||||
Greenhouse("minecraft", "wheat_seeds", 640, ["32x minecraft:wheat"], 0)
|
||||
Greenhouse("minecraft", "carrot", 640, ["32x minecraft:carrot"], 0)
|
||||
Greenhouse("minecraft", "potato", 640, ["32x minecraft:potato"], 0)
|
||||
Greenhouse("minecraft", "beetroot_seeds", 640, ["32x minecraft:beetroot"], 0)
|
||||
Greenhouse("minecraft", "sweet_berries", 640, ["32x minecraft:sweet_berries"], 0)
|
||||
Greenhouse("minecraft", "glow_berries", 640, ["32x minecraft:glow_berries"], 0)
|
||||
Greenhouse("minecraft", "cocoa_beans", 640, ["32x minecraft:cocoa_beans"], 0)
|
||||
Greenhouse("minecraft", "sea_pickle", 640, ["32x minecraft:sea_pickle"], 0)
|
||||
Greenhouse("minecraft", "melon_seeds", 640, ["16x minecraft:melon"], 0)
|
||||
Greenhouse("minecraft", "pumpkin_seeds", 640, ["16x minecraft:pumpkin"], 0)
|
||||
Greenhouse("minecraft", "nether_wart", 640, ["16x minecraft:nether_wart"], 0)
|
||||
Greenhouse("minecraft", "red_mushroom", 640, ["16x minecraft:red_mushroom"], 0)
|
||||
Greenhouse("minecraft", "brown_mushroom", 640, ["16x minecraft:brown_mushroom"], 0)
|
||||
|
||||
|
||||
// //// Flowers & Cosmetic Blocks //////
|
||||
let flowers = [
|
||||
"wither_rose",
|
||||
"cornflower",
|
||||
"sunflower",
|
||||
"peony",
|
||||
"red_tulip",
|
||||
"poppy",
|
||||
"rose_bush",
|
||||
"blue_orchid",
|
||||
"orange_tulip",
|
||||
"dandelion",
|
||||
"pink_tulip",
|
||||
"pink_petals",
|
||||
"allium",
|
||||
"lilac",
|
||||
"lily_of_the_valley",
|
||||
"oxeye_daisy",
|
||||
"azure_bluet",
|
||||
"white_tulip",
|
||||
"pitcher_plant",
|
||||
"lily_pad",
|
||||
"weeping_vines",
|
||||
"twisting_vines",
|
||||
"vine",
|
||||
"moss_block",
|
||||
"glow_lichen",
|
||||
"tube_coral_fan",
|
||||
"brain_coral_fan",
|
||||
"bubble_coral_fan",
|
||||
"fire_coral_fan",
|
||||
"horn_coral_fan"
|
||||
]
|
||||
flowers.forEach(flower => {
|
||||
Greenhouse("minecraft", flower, 640, [Item.of(flower, 48)], 0);
|
||||
})
|
||||
// Torchflowers are grown from seeds
|
||||
Greenhouse("minecraft", "torchflower_seeds", 640, [Item.of("torchflower", 48)], 0);
|
||||
// A way to get grass blocks
|
||||
event.recipes.gtceu.greenhouse("kubejs:grass_block")
|
||||
.circuit(1)
|
||||
.notConsumable(InputItem.of(Item.of("minecraft:grass_block")))
|
||||
.itemInputs("64x dirt")
|
||||
.inputFluids(Fluid.of("minecraft:water", 24000))
|
||||
.itemOutputs("64x grass_block")
|
||||
.duration(640)
|
||||
.EUt(80)
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
event.custom({
|
||||
type: "thermal:insolator",
|
||||
"ingredient": {
|
||||
"item": "gtceu:rubber_sapling"
|
||||
},
|
||||
"result": [
|
||||
{
|
||||
"item": "gtceu:rubber_log",
|
||||
"chance": 6.0
|
||||
},
|
||||
{
|
||||
"item": "gtceu:sticky_resin",
|
||||
"chance": 1.25
|
||||
},
|
||||
{
|
||||
"item": "gtceu:rubber_sapling",
|
||||
"chance": 1.1
|
||||
}
|
||||
],
|
||||
"energy_mod": 3.0,
|
||||
"water_mod": 3.0
|
||||
}).id("kubejs:thermal/insolator/rubber_sapling")
|
||||
|
||||
event.custom({
|
||||
type: "thermal:insolator",
|
||||
"ingredient": {
|
||||
"item": "minecraft:pink_petals",
|
||||
},
|
||||
"result": [
|
||||
{
|
||||
"item": "minecraft:pink_petals",
|
||||
"chance": 2.0
|
||||
}
|
||||
],
|
||||
"energy_mod": 1.0,
|
||||
"water_mod": 1.0
|
||||
}).id("kubejs:thermal/insolator/pink_petals")
|
||||
})
|
||||
23
kubejs/server_scripts/gregtech/gtmutils.js
Normal file
23
kubejs/server_scripts/gregtech/gtmutils.js
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/** GTMUtils recipes */
|
||||
ServerEvents.recipes(event => {
|
||||
if (doQuantumCoolant) {
|
||||
event.recipes.gtceu.large_chemical_reactor("quantum_coolant")
|
||||
.notConsumable("gtceu:luv_emitter")
|
||||
.itemInputs("8x kubejs:quantum_flux", "8x kubejs:cryotheum_dust")
|
||||
.inputFluids("gtceu:liquid_helium 1000", "gtceu:pcb_coolant 500")
|
||||
.outputFluids("gtmutils:quantum_coolant 2000")
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.LuV]);
|
||||
}
|
||||
|
||||
event.recipes.gtceu.assembly_line("sterile_cleaning_maintenance_hatch")
|
||||
.itemInputs("gtceu:cleaning_maintenance_hatch", "32x gtceu:double_eltz_plate", "64x gtceu:fine_holmium_wire", "64x gtceu:fine_holmium_wire", "16x gtceu:long_neutronium_rod", "12x gtceu:blacklight", "4x gtceu:uiv_fluid_regulator", "4x gtceu:uev_field_generator", "4x #gtceu:circuits/uiv")
|
||||
.inputFluids("gtceu:soldering_alloy 11520", "gtceu:lubricant 4000", "gtceu:crystal_matrix 5760", "gtceu:naquadria 2304")
|
||||
.itemOutputs("gtmutils:sterile_cleaning_maintenance_hatch")
|
||||
.EUt(GTValues.VA[GTValues.UXV])
|
||||
.duration(400)
|
||||
.stationResearch(b => b
|
||||
.researchStack("gtceu:cleaning_maintenance_hatch")
|
||||
.CWUt(128, 512000)
|
||||
.EUt(524288))
|
||||
})
|
||||
318
kubejs/server_scripts/gregtech/naquadah_fuel.js
Normal file
318
kubejs/server_scripts/gregtech/naquadah_fuel.js
Normal file
|
|
@ -0,0 +1,318 @@
|
|||
/**
|
||||
* Naquadah fuel processing line
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
if (doHarderNaqFuel) {
|
||||
// Liquid Fuel recipes
|
||||
|
||||
// Piranha Solution
|
||||
event.recipes.gtceu.mixer("piranha_solution")
|
||||
.inputFluids("gtceu:hydrogen_peroxide 1000", "gtceu:sulfuric_acid 3000")
|
||||
.outputFluids("gtceu:piranha_solution 4000")
|
||||
.duration(80)
|
||||
.EUt(480)
|
||||
|
||||
event.recipes.gtceu.fluid_heater("hot_piranha_solution")
|
||||
.inputFluids("gtceu:piranha_solution 100")
|
||||
.outputFluids("gtceu:hot_piranha_solution 100")
|
||||
.duration(40)
|
||||
.EUt(30)
|
||||
|
||||
// Tritium Radon Difluoride
|
||||
event.recipes.gtceu.large_chemical_reactor("tritium_radon_difluoride")
|
||||
.notConsumable("gtceu:blacklight")
|
||||
.inputFluids("gtceu:tritium 1000", "gtceu:radon 1000", "gtceu:fluorine 2000")
|
||||
.outputFluids("gtceu:tritium_radon_difluoride 1000")
|
||||
.duration(160)
|
||||
.EUt(1920)
|
||||
|
||||
// Naquadah Fuel Feedstock
|
||||
event.recipes.gtceu.electric_blast_furnace("raw_naquadah_solution")
|
||||
.itemInputs("10x gtceu:naquadah_dust")
|
||||
.itemOutputs("kubejs:naquadah_waste")
|
||||
.inputFluids("gtceu:helium_hydride 500")
|
||||
.outputFluids("gtceu:raw_naquadah_solution 1000")
|
||||
.duration(400)
|
||||
.EUt(30720)
|
||||
.blastFurnaceTemp(10800)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("inert_naquadah_blend")
|
||||
.itemInputs("4x gtceu:thorium_dust", "gtceu:naquadria_dust")
|
||||
.inputFluids("gtceu:raw_naquadah_solution 1000", "gtceu:hot_piranha_solution 1000")
|
||||
.outputFluids("gtceu:inert_naquadah_blend 1000")
|
||||
.duration(300)
|
||||
.EUt(30720)
|
||||
|
||||
// Naquadah Activation
|
||||
event.recipes.gtceu.fusion_reactor("naquadah_activation")
|
||||
.inputFluids("gtceu:inert_naquadah_blend 20", "gtceu:tritium_radon_difluoride 20")
|
||||
.outputFluids("gtceu:active_naquadah_blend 20")
|
||||
.duration(40).EUt(30720)
|
||||
.fusionStartEU(400000000)
|
||||
|
||||
// Naquadah Distillation
|
||||
event.recipes.gtceu.distillation_tower("naquadah_isotope_distillation")
|
||||
.inputFluids("gtceu:active_naquadah_blend 1000")
|
||||
.chancedOutput("kubejs:naquadah_waste", 1000, 0)
|
||||
.outputFluids("gtceu:naquadah_isotope_sludge 100", "gtceu:heavy_naquadah_isotope_fraction 300", "gtceu:medium_naquadah_isotope_fraction 400", "gtceu:light_naquadah_isotope_fraction 200")
|
||||
.duration(200)
|
||||
.EUt(15360)
|
||||
|
||||
// Refinery Recipes
|
||||
event.recipes.gtceu.naquadah_refinery("t1_naquadah_fuel")
|
||||
.itemInputs("4x kubejs:naquadah_fuel_dust", "4x gtceu:plutonium_dust", "4x gtceu:uranium_235_dust", "6x gtceu:enriched_sunnarium_dust")
|
||||
.inputFluids("gtceu:medium_naquadah_isotope_fraction 400", "gtceu:light_naquadah_isotope_fraction 200", "gtceu:jean_gasoline 10000", "gtceu:neptunium 1000")
|
||||
.outputFluids("gtceu:naq_fuel_t1 12000")
|
||||
.duration(800)
|
||||
.EUt(491520)
|
||||
|
||||
event.recipes.gtceu.naquadah_refinery("t2_naquadah_fuel")
|
||||
.itemInputs("4x gtceu:actinium_dust", "32x gtceu:enriched_naquadah_dust", "8x gtceu:omnic_acid_dust")
|
||||
.inputFluids("gtceu:naq_fuel_t1 11000", "gtceu:oganesson 800", "gtceu:exotic_particle_solution 300", "gtceu:einsteinium 1000")
|
||||
.outputFluids("gtceu:naq_fuel_t2 12000")
|
||||
.duration(800)
|
||||
.EUt(1966080)
|
||||
|
||||
event.recipes.gtceu.naquadah_refinery("naquadah_superfuel")
|
||||
.itemInputs("1x gtceu:infinity_dust", "16x kubejs:naquadah_fuel_dust", "64x gtceu:naquadria_dust", "64x gtceu:neutronium_dust")
|
||||
.inputFluids("gtceu:hyperdegenerate_matter 200", "gtceu:naq_fuel_t2 11000", "gtceu:taranium 576", "gtceu:quadium 600")
|
||||
.outputFluids("gtceu:naquadah_superfuel 12000")
|
||||
.duration(800)
|
||||
.EUt(8388608)
|
||||
|
||||
// Cracker Recipes
|
||||
|
||||
event.recipes.gtceu.cracker("light_isotope_cracking")
|
||||
.inputFluids("gtceu:light_naquadah_isotope_fraction 1000", "gtceu:neutronium 100")
|
||||
.outputFluids("gtceu:cracked_light_naquadah_isotope_fraction 1000")
|
||||
.duration(80)
|
||||
.EUt(122880)
|
||||
|
||||
event.recipes.gtceu.cracker("medium_isotope_cracking")
|
||||
.inputFluids("gtceu:medium_naquadah_isotope_fraction 1000", "gtceu:neutronium 100")
|
||||
.outputFluids("gtceu:cracked_medium_naquadah_isotope_fraction 1000")
|
||||
.duration(80)
|
||||
.EUt(122880)
|
||||
|
||||
event.recipes.gtceu.cracker("heavy_isotope_cracking")
|
||||
.inputFluids("gtceu:heavy_naquadah_isotope_fraction 1000", "gtceu:neutronium 100")
|
||||
.outputFluids("gtceu:cracked_heavy_naquadah_isotope_fraction 1000")
|
||||
.duration(80)
|
||||
.EUt(122880)
|
||||
|
||||
event.recipes.gtceu.cracker("sludge_cracking")
|
||||
.inputFluids("gtceu:naquadah_isotope_sludge 1000", "gtceu:neutronium 100")
|
||||
.outputFluids("gtceu:cracked_naquadah_isotope_sludge 1000")
|
||||
.duration(80)
|
||||
.EUt(122880)
|
||||
|
||||
event.recipes.gtceu.distillation_tower("light_isotope_distillation")
|
||||
.inputFluids("gtceu:cracked_light_naquadah_isotope_fraction 1000")
|
||||
.chancedOutput("gtceu:europium_dust", 1000, 0)
|
||||
.outputFluids("gtceu:medium_naquadah_isotope_fraction 250", "gtceu:radon 200", "gtceu:quadium 300", "gtceu:helium 150", "gtceu:tritium 150")
|
||||
.duration(200)
|
||||
.EUt(15360)
|
||||
|
||||
event.recipes.gtceu.distillation_tower("medium_isotope_distillation")
|
||||
.inputFluids("gtceu:cracked_medium_naquadah_isotope_fraction")
|
||||
.chancedOutput("gtceu:lead_dust", 2500, 0)
|
||||
.outputFluids("gtceu:heavy_naquadah_isotope_fraction 200", "gtceu:light_naquadah_isotope_fraction 250", "gtceu:oganesson 400", "gtceu:plutonium 150")
|
||||
.duration(200)
|
||||
.EUt(15360)
|
||||
|
||||
event.recipes.gtceu.distillation_tower("heavy_isotope_distillation")
|
||||
.inputFluids("gtceu:cracked_heavy_naquadah_isotope_fraction")
|
||||
.outputFluids("gtceu:naquadah_isotope_sludge 200", "gtceu:medium_naquadah_isotope_fraction 200", "gtceu:heavy_atomic_residue 300", "gtceu:einsteinium 150", "gtceu:tritanium 100")
|
||||
.duration(200)
|
||||
.EUt(15360)
|
||||
|
||||
event.recipes.gtceu.distillation_tower("sludge_distillation")
|
||||
.inputFluids("gtceu:cracked_naquadah_isotope_sludge 1000")
|
||||
.itemOutputs("kubejs:naquadah_waste")
|
||||
.outputFluids("gtceu:superheavy_atomic_residue 600", "gtceu:heavy_naquadah_isotope_fraction 200", "gtceu:neutronium 200")
|
||||
.duration(200)
|
||||
.EUt(15360)
|
||||
|
||||
// Superheavy Chemical Processing
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("heavy_residue_purification")
|
||||
.notConsumable("kubejs:magnetron")
|
||||
.inputFluids("gtceu:heavy_atomic_residue 200")
|
||||
.itemInputs("8x gtceu:activated_carbon_dust", "4x gtceu:omnic_acid_dust")
|
||||
.inputFluids("gtceu:distilled_water 4000")
|
||||
.outputFluids("gtceu:purified_heavy_residue 200")
|
||||
.duration(40)
|
||||
.EUt(8388608)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("superheavy_residue_purification")
|
||||
.notConsumable("kubejs:magnetron")
|
||||
.inputFluids("gtceu:superheavy_atomic_residue 200")
|
||||
.itemInputs("8x gtceu:activated_carbon_dust", "4x gtceu:omnic_acid_dust")
|
||||
.inputFluids("gtceu:distilled_water 4000")
|
||||
.outputFluids("gtceu:purified_superheavy_residue 200")
|
||||
.duration(40)
|
||||
.EUt(8388608)
|
||||
|
||||
event.recipes.gtceu.fusion_reactor("exotic_particle_activation")
|
||||
.inputFluids("gtceu:purified_heavy_residue 50", "gtceu:oganesson 150")
|
||||
.outputFluids("gtceu:exotic_particle_solution 50")
|
||||
.duration(10).EUt(2097152)
|
||||
.fusionStartEU(640000000)
|
||||
|
||||
event.recipes.gtceu.fusion_reactor("hyperdegenerate_activation")
|
||||
.inputFluids("gtceu:purified_superheavy_residue 50", "gtceu:americium_plasma 144")
|
||||
.outputFluids("gtceu:hyperdegenerate_matter 25")
|
||||
.duration(10).EUt(8388608)
|
||||
.fusionStartEU(640000000)
|
||||
|
||||
// Liquid Waste Processing
|
||||
|
||||
event.recipes.gtceu.centrifuge("t1_waste_processing")
|
||||
.inputFluids("gtceu:naq_fuel_t1_depleted 12000")
|
||||
.outputFluids("gtceu:neptunium 200",)
|
||||
.itemOutputs("4x gtceu:lead_dust", "gtceu:sunnarium_dust",)
|
||||
.chancedOutput("3x gtceu:thorium_dust", 5000, 0)
|
||||
.chancedOutput("3x kubejs:naquadah_waste", 6600, 0)
|
||||
.chancedFluidOutput("gtceu:americium 100", 3300, 0)
|
||||
.duration(1200)
|
||||
.EUt(122800)
|
||||
|
||||
event.recipes.gtceu.centrifuge("t2_waste_processing")
|
||||
.inputFluids("gtceu:naq_fuel_t2_depleted 12000")
|
||||
.outputFluids("gtceu:einsteinium 200")
|
||||
.itemOutputs("6x gtceu:lead_dust", "gtceu:actinium_dust")
|
||||
.chancedOutput("4x gtceu:enriched_naquadah_dust", 5000, 0)
|
||||
.chancedOutput("3x kubejs:naquadah_waste", 6600, 0)
|
||||
.chancedFluidOutput("gtceu:exotic_particle_solution 100", 3300, 0)
|
||||
.duration(1200)
|
||||
.EUt(491520)
|
||||
|
||||
event.recipes.gtceu.centrifuge("superfuel_waste_processing")
|
||||
.inputFluids("gtceu:naquadah_superfuel_depleted 12000")
|
||||
.itemOutputs("6x gtceu:lead_dust", "8x gtceu:neutronium_dust")
|
||||
.chancedOutput("1x gtceu:infinity_dust", 3300, 0)
|
||||
.chancedOutput("3x kubejs:naquadah_waste", 6600, 0)
|
||||
.chancedOutput("16x gtceu:naquadria_dust", 5000, 0)
|
||||
.chancedFluidOutput("gtceu:taranium 288", 5000, 0)
|
||||
.chancedFluidOutput("gtceu:hyperdegenerate_matter 100", 3300, 0)
|
||||
.duration(1200)
|
||||
.EUt(1966080)
|
||||
}
|
||||
// Solid Fuel Recipes
|
||||
event.recipes.gtceu.assembler("fuel_rod")
|
||||
.itemInputs("gtceu:fluid_cell", "2x gtceu:rhodium_plated_palladium_ring", "2x gtceu:neutron_reflector", "2x gtceu:rhodium_plated_palladium_plate")
|
||||
.inputFluids("gtceu:lead 288")
|
||||
.itemOutputs("kubejs:empty_fuel_rod")
|
||||
.duration(200)
|
||||
.EUt(122880)
|
||||
|
||||
event.recipes.gtceu.canner("naquadah_fuel_rod")
|
||||
.itemInputs("kubejs:empty_fuel_rod", "16x kubejs:naquadah_fuel_pellet")
|
||||
.itemOutputs("kubejs:naquadah_fuel_rod")
|
||||
.duration(200)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.canner("depleted_naquadah_fuel_rod")
|
||||
.itemInputs("kubejs:depleted_naquadah_fuel_rod")
|
||||
.itemOutputs("kubejs:empty_fuel_rod", "16x kubejs:depleted_naquadah_fuel_pellet")
|
||||
.duration(200)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer("fuel_rod_cooling")
|
||||
.itemInputs("kubejs:hot_depleted_naquadah_fuel_rod")
|
||||
.itemOutputs("kubejs:depleted_naquadah_fuel_rod")
|
||||
.inputFluids("kubejs:molten_cryotheum 1000")
|
||||
.duration(100)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.arc_furnace("pellet_sintering")
|
||||
.itemInputs("kubejs:unsintered_naquadah_fuel_pellet")
|
||||
.itemOutputs("kubejs:naquadah_fuel_pellet")
|
||||
.inputFluids("gtceu:xenon 100")
|
||||
.duration(20)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.forming_press("pellet_pressing")
|
||||
.notConsumable("gtceu:pill_casting_mold")
|
||||
.itemInputs("kubejs:naquadah_fuel_dust")
|
||||
.itemOutputs("4x kubejs:unsintered_naquadah_fuel_pellet")
|
||||
.duration(100)
|
||||
.EUt(122880)
|
||||
|
||||
event.recipes.gtceu.autoclave("naquadah_fuel_enrichment")
|
||||
.itemInputs("4x kubejs:naquadah_fuel_mixture_dust", "kubejs:naquadah_fuel_primer_dust")
|
||||
.inputFluids("gtceu:radon 1000")
|
||||
.itemOutputs("4x kubejs:inactivated_naquadah_fuel_dust")
|
||||
.duration(300)
|
||||
.EUt(61440)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("naquadah_fuel_activation")
|
||||
.itemInputs("kubejs:inactivated_naquadah_fuel_dust")
|
||||
.itemOutputs("kubejs:naquadah_fuel_dust")
|
||||
.duration(100)
|
||||
.EUt(122880)
|
||||
|
||||
event.recipes.gtceu.macerator("depleted_fuel_maceration")
|
||||
.itemInputs("4x kubejs:depleted_naquadah_fuel_pellet")
|
||||
.itemOutputs("kubejs:depleted_naquadah_fuel_dust")
|
||||
.duration(80)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.mixer("crude_naquadah_blend")
|
||||
.itemInputs("6x gtceu:naquadah_dust", "2x gtceu:naquadria_dust", "2x gtceu:plutonium_dust", "4x gtceu:uranium_235_dust", "2x kubejs:primal_mana", "2x gtceu:neutronium_dust")
|
||||
.inputFluids("gtceu:jean_gasoline 4000")
|
||||
.itemOutputs("4x kubejs:crude_naquadah_fuel_blend")
|
||||
.duration(300)
|
||||
.EUt(491520)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("naquadah_fuel_crystal")
|
||||
.itemInputs("gtceu:dilithium_dust", "kubejs:crude_naquadah_fuel_blend")
|
||||
.inputFluids("kubejs:molten_pyrotheum 1000")
|
||||
.itemOutputs("kubejs:hot_naquadah_fuel_crystal", "gtceu:lead_dust")
|
||||
.outputFluids("gtceu:carbon_dioxide 500")
|
||||
.duration(150)
|
||||
.EUt(200000)
|
||||
.blastFurnaceTemp(10800)
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer("naquadah_fuel_chilling")
|
||||
.itemInputs("kubejs:hot_naquadah_fuel_crystal")
|
||||
.inputFluids("kubejs:molten_cryotheum 1000")
|
||||
.itemOutputs("kubejs:naquadah_fuel_crystal")
|
||||
.duration(100)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.macerator("naquadah_crystal_maceration")
|
||||
.itemInputs("kubejs:naquadah_fuel_crystal")
|
||||
.itemOutputs("kubejs:naquadah_fuel_mixture_dust")
|
||||
.duration(80)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("naquadah_fuel_primer_synthesis")
|
||||
.itemInputs("12x gtceu:enriched_naquadah_dust", "4x gtceu:cerium_dust", "3x gtceu:omnium_dust")
|
||||
.inputFluids("gtceu:helium_3 1000")
|
||||
.itemOutputs("4x kubejs:naquadah_fuel_primer_dust", "gtceu:dark_ash_dust")
|
||||
.duration(800)
|
||||
.EUt(200000)
|
||||
.blastFurnaceTemp(10800)
|
||||
|
||||
// Solid Waste Processing
|
||||
event.recipes.gtceu.centrifuge("naquadah_waste_centrifuging")
|
||||
.itemInputs("4x kubejs:naquadah_waste")
|
||||
.inputFluids("gtceu:hydrofluoric_acid 2000")
|
||||
.itemOutputs("4x gtceu:lead_dust")
|
||||
.itemOutputs("2x gtceu:naquadah_dust")
|
||||
.chancedOutput("gtceu:naquadria_dust", 5000, 0)
|
||||
.chancedOutput("gtceu:tritanium_dust", 3300, 0)
|
||||
.chancedOutput("gtceu:small_neutronium_dust", 5000, 0)
|
||||
.duration(200)
|
||||
.EUt(30720)
|
||||
|
||||
event.recipes.gtceu.sifter("depleted_fuel_sifting")
|
||||
.itemInputs("kubejs:depleted_naquadah_fuel_dust")
|
||||
.chancedOutput("kubejs:naquadah_waste", 3300, 0)
|
||||
.chancedOutput("kubejs:naquadah_waste", 3300, 0)
|
||||
.chancedOutput("kubejs:naquadah_waste", 3300, 0)
|
||||
.chancedOutput("kubejs:naquadah_waste", 3300, 0)
|
||||
.duration(80)
|
||||
.EUt(30720)
|
||||
})
|
||||
85
kubejs/server_scripts/gregtech/naquadah_reactor.js
Normal file
85
kubejs/server_scripts/gregtech/naquadah_reactor.js
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
/**
|
||||
* Naquadah Reactor multiblock
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Reactor Crafting
|
||||
event.recipes.gtceu.assembly_line("kubejs:naquadah_reactor")
|
||||
.itemInputs("gtceu:computer_monitor_cover", "3x ae2:spatial_pylon", "#gtceu:circuits/zpm", "gtceu:superconducting_coil",)
|
||||
.inputFluids("gtceu:soldering_alloy 1152", "gtceu:duranium 288")
|
||||
.itemOutputs("gtceu:naquadah_reactor")
|
||||
.duration(1500)
|
||||
.EUt(122880)
|
||||
.stationResearch(b => b.researchStack(Item.of("gtceu:naquadah_bolt")).EUt(30720).CWUt(16, 64000))
|
||||
|
||||
event.recipes.gtceu.assembly_line("kubejs:large_naquadah_reactor")
|
||||
.itemInputs("gtceu:computer_monitor_cover", "4x ae2:spatial_pylon", "2x #gtceu:circuits/uhv", "gtceu:fusion_coil", "2x gtceu:neutron_reflector", "gtceu:naquadah_alloy_frame", "gtceu:uv_sensor", "2x gtceu:uv_field_generator", "gtceu:uv_emitter", "64x gtceu:fine_ruthenium_trinium_americium_neutronate_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 1152", "gtceu:omnium 576")
|
||||
.itemOutputs("gtceu:large_naquadah_reactor")
|
||||
.duration(1500)
|
||||
.EUt(491520)
|
||||
.stationResearch(b => b.researchStack(Item.of("gtceu:naquadah_reactor")).EUt(524288).CWUt(128, 512000))
|
||||
|
||||
if (doHarderNaqFuel) {
|
||||
// Refinery Recipe
|
||||
event.recipes.gtceu.assembly_line("kubejs:naquadah_refinery")
|
||||
.itemInputs("gtceu:large_mixer", "4x #gtceu:circuits/uhv", "8x nuclearcraft:plate_elite", "4x gtceu:uhv_field_generator", "4x gtceu:uhv_hermetic_casing", "2x kubejs:empty_fuel_rod", "2x gtceu:uhv_electric_pump", "2x gtceu:neutronium_huge_fluid_pipe", "4x kubejs:cryotheum_coolant_unit", "16x gtceu:double_tritanium_plate")
|
||||
.inputFluids("gtceu:omnium 1152", "gtceu:soldering_alloy 1152", "gtceu:polybenzimidazole 2304")
|
||||
.itemOutputs("gtceu:naquadah_refinery")
|
||||
.duration(1500)
|
||||
.EUt(491520)
|
||||
.stationResearch(b => b.researchStack(Item.of("gtceu:large_mixer")).EUt(524288).CWUt(128, 512000))
|
||||
}
|
||||
|
||||
// Reactor usage
|
||||
// TODO: Make recipes not overclockable. I looked through the GregTech KJS integration but am too stupid to figure it out -Ciggy
|
||||
// @ Ciggy from 3x1t_5tyl3; In startup you just don't add a "GTRecipeModifier" for overclockables. See other multiblocks. As long as ya don't add it it's fine uwu
|
||||
event.recipes.gtceu.naquadah_reactor("kubejs:process_naquadah")
|
||||
.itemInputs("gtceu:enriched_naquadah_bolt")
|
||||
.itemOutputs("gtceu:lead_bolt")
|
||||
.duration(938)
|
||||
.EUt(-3 * GTValues.V[GTValues.ZPM])
|
||||
|
||||
event.recipes.gtceu.naquadah_reactor("kubejs:process_naquadria")
|
||||
.itemInputs("gtceu:naquadria_bolt")
|
||||
.itemOutputs("gtceu:lead_bolt")
|
||||
.duration(3750)
|
||||
.EUt(-3 * GTValues.V[GTValues.ZPM])
|
||||
|
||||
// Large Naquadah Reactor Fluid Recipes
|
||||
if (doHarderNaqFuel) {
|
||||
event.recipes.gtceu.large_naquadah_reactor("kubejs:process_t1_fuel")
|
||||
.inputFluids("gtceu:naq_fuel_t1 10")
|
||||
.outputFluids("gtceu:naq_fuel_t1_depleted 10")
|
||||
.duration(20)
|
||||
.EUt(-GTValues.V[GTValues.UIV])
|
||||
|
||||
event.recipes.gtceu.large_naquadah_reactor("kubejs:process_t2_fuel")
|
||||
.inputFluids("gtceu:naq_fuel_t2 10")
|
||||
.outputFluids("gtceu:naq_fuel_t2_depleted 10")
|
||||
.duration(20)
|
||||
.EUt(-GTValues.V[GTValues.OpV])
|
||||
|
||||
event.recipes.gtceu.large_naquadah_reactor("kubejs:process_superfuel")
|
||||
.inputFluids("gtceu:naquadah_superfuel 10")
|
||||
.outputFluids("gtceu:naquadah_superfuel_depleted 10")
|
||||
.duration(20)
|
||||
.EUt(-4 * GTValues.V[GTValues.MAX])
|
||||
}
|
||||
|
||||
// Solid Large Reactor Recipes
|
||||
if (!doHarderNaqFuel) {
|
||||
event.recipes.gtceu.large_naquadah_reactor("kubejs:process_solid_fuel")
|
||||
.itemInputs("4x kubejs:naquadah_fuel_rod")
|
||||
.itemOutputs("4x kubejs:hot_depleted_naquadah_fuel_rod")
|
||||
.duration(24000)
|
||||
.EUt(-GTValues.V[GTValues.UIV])
|
||||
}
|
||||
else {
|
||||
event.recipes.gtceu.large_naquadah_reactor("kubejs:process_solid_fuel")
|
||||
.itemInputs("4x kubejs:naquadah_fuel_rod")
|
||||
.itemOutputs("4x kubejs:hot_depleted_naquadah_fuel_rod")
|
||||
.duration(24000)
|
||||
.EUt(-GTValues.V[GTValues.UEV])
|
||||
}
|
||||
})
|
||||
76
kubejs/server_scripts/gregtech/netherite.js
Normal file
76
kubejs/server_scripts/gregtech/netherite.js
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
/**
|
||||
* Netherite processing line
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// We only use GT ores for the oreproc page and autogenned intermediates, not for the in-stone ore
|
||||
event.remove({ not: [{ input: "minecraft:ancient_debris" }, { input: "#forge:ores/netherite_scrap" }], output: "gtceu:crushed_netherite_scrap_ore" })
|
||||
event.remove([{ type: "minecraft:smelting", output: "minecraft:netherite_scrap", id: /gtceu:smelting\/.*netherite_scrap_ore.*/ }, { type: "minecraft:blasting", output: "minecraft:netherite_scrap", id: /gtceu:blasting\/.*netherite_scrap_ore.*/ }])
|
||||
event.remove({ id: "gtceu:alloy_smelt_netherite_scrap_to_nugget" })
|
||||
|
||||
// Omnic Acid
|
||||
event.recipes.gtceu.large_chemical_reactor("omnic_acid")
|
||||
.itemInputs("5x gtceu:carbon_dust", "4x kubejs:mote_of_omnium")
|
||||
.inputFluids(Fluid.of("water", 3000))
|
||||
.itemOutputs("gtceu:omnic_acid_dust")
|
||||
.outputFluids(Fluid.of("gtceu:hydrogen", 2000))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
// Ancient Debris crushing
|
||||
event.recipes.gtceu.macerator("macerate_ancient_debris_to_crushed_ore")
|
||||
.itemInputs("minecraft:ancient_debris")
|
||||
.itemOutputs("2x gtceu:crushed_netherite_scrap_ore")
|
||||
.chancedOutput("gtceu:obsidian_dust", 1400, 850)
|
||||
.chancedOutput("gtceu:netherrack_dust", 1200, 800)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
.category("gtceu:ore_crushing")
|
||||
|
||||
// Omnic Acid Purifying
|
||||
event.recipes.gtceu.chemical_reactor("ancient_debris_purifying")
|
||||
.itemInputs("gtceu:netherite_scrap_dust", "gtceu:omnic_acid_dust")
|
||||
.inputFluids(Fluid.of("water", 2000))
|
||||
.itemOutputs("kubejs:purified_ancient_debris_dust")
|
||||
.chancedOutput("gtceu:platinum_dust", 3300, 0)
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace("ancient_debris_arc_smelting")
|
||||
.itemInputs("kubejs:purified_ancient_debris_dust")
|
||||
.inputFluids(Fluid.of("gtceu:oxygen", 1200))
|
||||
.chancedOutput("gtceu:palladium_dust", 1400, 850)
|
||||
.itemOutputs("kubejs:processed_ancient_debris_dust")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("netherite_scrap_blasting")
|
||||
.itemInputs("kubejs:processed_ancient_debris_dust", "8x kubejs:quantum_flux")
|
||||
.inputFluids(Fluid.of("gtceu:blaze", 1000))
|
||||
.itemOutputs("kubejs:inert_netherite_scrap")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
.blastFurnaceTemp(12000)
|
||||
|
||||
// Activated Nethline
|
||||
event.recipes.gtceu.forming_press("inert_nether_compound_ingot")
|
||||
.itemInputs("gtceu:hot_europium_ingot", "4x kubejs:wither_bone", "3x gtceu:dark_soularium_dust", "4x kubejs:primal_mana")
|
||||
.itemOutputs("kubejs:inert_nether_compound_ingot")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
event.recipes.gtceu.omnic_forge("netherite_ingot_final")
|
||||
.itemInputs("kubejs:inert_nether_compound_ingot", "2x kubejs:diamond_lattice", "4x kubejs:inert_netherite_scrap", "4x minecraft:gold_ingot")
|
||||
.itemOutputs("gtceu:activated_netherite_ingot")
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
})
|
||||
|
||||
ServerEvents.tags("item", event => {
|
||||
const oresToRemove = event.get("forge:ores/netherite_scrap").getObjectIds();
|
||||
if(!oresToRemove.add("gtceu:raw_netherite_scrap")) console.error("Could not add Raw Netherite Scrap from list of Netherite Scrap ores to nuke")
|
||||
|
||||
event.removeAllTagsFrom(oresToRemove.filter((value) => {
|
||||
return ResourceLocation.of("minecraft:ancient_debris", ":").compareTo(value) != 0
|
||||
}))
|
||||
})
|
||||
119
kubejs/server_scripts/gregtech/omnic_forge.js
Normal file
119
kubejs/server_scripts/gregtech/omnic_forge.js
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
/**
|
||||
* Omnic Forge multiblock
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.extendedcrafting.shaped_table("gtceu:omnic_forge", [
|
||||
"ASESA",
|
||||
"SCRCS",
|
||||
"EVTVE",
|
||||
"SCRCS",
|
||||
"ASESA"
|
||||
], {
|
||||
A: "#gtceu:circuits/uhv",
|
||||
S: "gtceu:double_neutronium_plate",
|
||||
E: "gtceu:uv_field_generator",
|
||||
C: "kubejs:omnic_matrix_machine_casing",
|
||||
R: "gtceu:uv_robot_arm",
|
||||
V: "gtceu:uv_conveyor_module",
|
||||
T: "gtceu:uv_machine_hull"
|
||||
})
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:omnic_matrix_machine_casing")
|
||||
.itemInputs("12x gtceu:omnium_plate", "2x gtceu:crystal_matrix_frame", "1x gtceu:zpm_field_generator", "2x #gtceu:circuits/uv")
|
||||
.itemOutputs("2x kubejs:omnic_matrix_machine_casing")
|
||||
.duration(200)
|
||||
.EUt(65520)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:omnic_matrix_machine_casing_forge")
|
||||
.itemInputs("6x gtceu:omnium_plate", "gtceu:crystal_matrix_frame", "gtceu:zpm_field_generator", "#gtceu:circuits/uv")
|
||||
.itemOutputs("2x kubejs:omnic_matrix_machine_casing")
|
||||
.duration(100)
|
||||
.EUt(65520)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:omnic_matrix_coil")
|
||||
.itemInputs("8x gtceu:omnium_double_wire", "8x gtceu:crystal_matrix_foil")
|
||||
.itemOutputs("kubejs:omnic_matrix_coil_block")
|
||||
.duration(1000)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:netherite_casing")
|
||||
.itemInputs("8x gtceu:neutronium_plate", "8x gtceu:large_scale_assembler_casing", "2x gtceu:dense_activated_netherite_plate", "6x gtceu:tungsten_steel_rod")
|
||||
.itemOutputs("4x kubejs:dimensional_stabilization_netherite_casing")
|
||||
.duration(100)
|
||||
.EUt(65520)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:bioalloy_casing")
|
||||
.itemInputs("4x gtceu:sculk_bioalloy_plate", "2x gtceu:cryolobus_frame", "4x kubejs:warden_horn", "6x gtceu:actinium_rod")
|
||||
.itemOutputs("2x kubejs:bioalloy_casing")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:bioalloy_fusion_casing")
|
||||
.itemInputs("gtceu:uhv_machine_hull", "2x kubejs:bioalloy_casing", "12x gtceu:cryococcus_plate", "4x gtceu:fusion_casing_mk3", "gtceu:uhv_field_generator")
|
||||
.itemOutputs("4x kubejs:bioalloy_fusion_casing")
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:timeless_monic_heavy_plating")
|
||||
.itemInputs("10x gtceu:monium_plate", "8x kubejs:quantum_fluxed_eternium_heavy_plating", "4x kubejs:universe_resistant_neutronium_heavy_plating", "4x kubejs:elementally_infused_omnic_matrix_heavy_plating", "2x kubejs:dimensionally_stabilized_infinity_heavy_plating", "16x kubejs:contained_singularity")
|
||||
.itemOutputs("kubejs:timeless_monic_heavy_plating")
|
||||
.duration(800)
|
||||
.EUt(134217728)
|
||||
|
||||
// Buffed Catalyst Recycling
|
||||
event.recipes.gtceu.omnic_forge("kubejs:furious_infinity_catalyst_recycling")
|
||||
.itemInputs("kubejs:dormant_furious_infinity_catalyst", "kubejs:heart_of_a_universe")
|
||||
.itemOutputs("kubejs:furious_infinity_catalyst")
|
||||
.duration(2000)
|
||||
.EUt(65520)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:serene_infinity_catalyst_recycling")
|
||||
.itemInputs("kubejs:inert_serene_infinity_catalyst", "kubejs:heart_of_a_universe")
|
||||
.itemOutputs("kubejs:serene_infinity_catalyst")
|
||||
.duration(2000)
|
||||
.EUt(65520)
|
||||
|
||||
// Enhanced Infinity Catalyst Crafting
|
||||
event.recipes.gtceu.omnic_forge("kubejs:furious_infinity_catalyst_crafting")
|
||||
.itemInputs("kubejs:infinity_catalyst", "kubejs:heart_of_a_universe", "gtceu:infinity_frame", "2x gtceu:uev_emitter", "64x gtceu:holmium_foil")
|
||||
.itemOutputs("kubejs:furious_infinity_catalyst")
|
||||
.duration(1000)
|
||||
.EUt(1966080)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:serene_infinity_catalyst_crafting")
|
||||
.itemInputs("kubejs:infinity_catalyst", "kubejs:heart_of_a_universe", "gtceu:monium_frame", "16x kubejs:contained_singularity")
|
||||
.itemOutputs("kubejs:serene_infinity_catalyst")
|
||||
.duration(1000)
|
||||
.EUt(1966080)
|
||||
|
||||
// Simplified Crafting
|
||||
event.recipes.gtceu.omnic_forge("kubejs:omnic_forge_dark_soularium_thruster")
|
||||
.itemInputs("4x gtceu:dark_soularium_plate", "6x gtceu:vibrant_alloy_plate", "2x enderio:ender_crystal", "2x enderio:prescient_crystal", "laserio:energy_overclocker_card_tier_8", "kubejs:flight_control_unit")
|
||||
.itemOutputs("kubejs:dark_soularium_thruster")
|
||||
.duration(100)
|
||||
.EUt(7680)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:omnic_forge_flux_thruster")
|
||||
.itemInputs("3x redstone_arsenal:flux_plating", "4x gtceu:enderium_plate", "2x gtceu:signalum_plate", "thermal:dynamo_numismatic", "kubejs:glowstone_elevation_unit", "kubejs:cryotheum_coolant_unit")
|
||||
.itemOutputs("kubejs:fluxed_thruster")
|
||||
.duration(50)
|
||||
.EUt(7680)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("kubejs:omnic_forge_quantum_flux")
|
||||
.itemInputs("redstone_arsenal:flux_gem", "4x kubejs:primal_mana", "2x minecraft:dragon_breath", "gtceu:nether_star_dust")
|
||||
.itemOutputs("64x kubejs:quantum_flux")
|
||||
.duration(50)
|
||||
.EUt(1920)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("fieldstabilizedcompound")
|
||||
.itemInputs("4x gtceu:uiv_field_generator", "3x gtceu:uev_field_generator", "2x gtceu:uhv_field_generator", "12x gtceu:omnic_acid_dust", "10x kubejs:quasi_stable_neutron_star")
|
||||
.itemOutputs("kubejs:field_stabilised_omnic_pulsar_compound")
|
||||
.duration(255)
|
||||
.EUt(16380)
|
||||
|
||||
event.recipes.gtceu.omnic_forge("singularity_containment_unit")
|
||||
.itemInputs("4x gtceu:monium_plate", "4x gtceu:neutron_reflector", "1x gtceu:uev_sensor", "2x gtceu:uhv_sensor", "gtceu:uev_field_generator")
|
||||
.itemOutputs("64x kubejs:singularity_containment_unit")
|
||||
.duration(300)
|
||||
.EUt(16380)
|
||||
})
|
||||
216
kubejs/server_scripts/gregtech/post_tank_wafers.js
Normal file
216
kubejs/server_scripts/gregtech/post_tank_wafers.js
Normal file
|
|
@ -0,0 +1,216 @@
|
|||
/**
|
||||
* Processing lines for post-tank Wafers
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Post-tank PIC
|
||||
event.recipes.gtceu.laser_engraver("uxpic_wafer_neutronium")
|
||||
.itemInputs("gtceu:neutronium_wafer")
|
||||
.notConsumable("#forge:lenses/lime")
|
||||
.itemOutputs("kubejs:uxpic_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(25 * 20)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
event.recipes.gtceu.laser_engraver("uxpic_wafer_universe")
|
||||
.itemInputs("kubejs:universe_wafer")
|
||||
.notConsumable("#forge:lenses/lime")
|
||||
.itemOutputs("2x kubejs:uxpic_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(25 * 20)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
event.recipes.gtceu.cutter("uxpic_chip")
|
||||
.itemInputs("kubejs:uxpic_wafer")
|
||||
.itemOutputs("1x kubejs:uxpic_chip")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(45 * 20)
|
||||
.EUt(GTValues.VHA[GTValues.ZPM])
|
||||
|
||||
// WIP: Post Tank Boule
|
||||
event.recipes.gtceu.electric_blast_furnace("universe_doped_boule")
|
||||
.itemInputs("kubejs:heart_of_a_universe", "64x gtceu:silicon_block", "16x kubejs:stabilized_oganesson")
|
||||
.inputFluids("kubejs:molten_pyrotheum 16000")
|
||||
.itemOutputs("kubejs:universe_boule")
|
||||
.duration(18000)
|
||||
.EUt(250000)
|
||||
.blastFurnaceTemp(11000)
|
||||
|
||||
event.recipes.gtceu.cutter("universe_wafer")
|
||||
.itemInputs("kubejs:universe_boule")
|
||||
.inputFluids(Fluid.of("minecraft:water", 1000))
|
||||
.itemOutputs("64x kubejs:universe_wafer", "64x kubejs:universe_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(7200)
|
||||
.EUt(128000)
|
||||
|
||||
event.recipes.gtceu.cutter("universe_wafer_distilled")
|
||||
.itemInputs("kubejs:universe_boule")
|
||||
.inputFluids(Fluid.of("gtceu:distilled_water", 750))
|
||||
.itemOutputs("64x kubejs:universe_wafer", "64x kubejs:universe_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(4800)
|
||||
.EUt(128000)
|
||||
|
||||
event.recipes.gtceu.cutter("universe_wafer_lubricant")
|
||||
.itemInputs("kubejs:universe_boule")
|
||||
.inputFluids(Fluid.of("gtceu:lubricant", 250))
|
||||
.itemOutputs("64x kubejs:universe_wafer", "64x kubejs:universe_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(3600)
|
||||
.EUt(128000)
|
||||
|
||||
function UniverseEngrave(name, lens, wafer, time) {
|
||||
event.recipes.gtceu.laser_engraver(name)
|
||||
.itemInputs("kubejs:universe_wafer")
|
||||
.notConsumable(lens)
|
||||
.itemOutputs(wafer)
|
||||
.duration(time)
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.EUt(16000)
|
||||
}
|
||||
|
||||
UniverseEngrave("ilc_wafer", "#forge:lenses/red", "32x gtceu:ilc_wafer", 20);
|
||||
UniverseEngrave("ram_wafer", "#forge:lenses/green", "32x gtceu:ram_wafer", 20);
|
||||
UniverseEngrave("cpu_wafer", "#forge:lenses/light_blue", "32x gtceu:cpu_wafer", 20);
|
||||
UniverseEngrave("lpic_wafer", "gtceu:orange_glass_lens", "32x gtceu:lpic_wafer", 20);
|
||||
UniverseEngrave("mpic_wafer", "gtceu:brown_glass_lens", "32x gtceu:mpic_wafer", 100);
|
||||
UniverseEngrave("simple_soc_wafer", "gtceu:cyan_glass_lens", "32x gtceu:simple_soc_wafer", 20);
|
||||
UniverseEngrave("hasoc_wafer", "gtceu:black_glass_lens", "4x gtceu:highly_advanced_soc_wafer", 500);
|
||||
UniverseEngrave("ulpic_wafer", "#forge:lenses/blue", "32x gtceu:ulpic_wafer", 20);
|
||||
UniverseEngrave("soc_wafer", "gtceu:yellow_glass_lens", "16x gtceu:soc_wafer", 100);
|
||||
UniverseEngrave("asoc_wafer", "#forge:lenses/purple", "8x gtceu:advanced_soc_wafer", 200);
|
||||
UniverseEngrave("nand_wafer", "gtceu:gray_glass_lens", "16x gtceu:nand_memory_wafer", 100);
|
||||
UniverseEngrave("nor_wafer", "gtceu:pink_glass_lens", "16x gtceu:nor_memory_wafer", 100);
|
||||
|
||||
// Multidimensional CPU
|
||||
|
||||
event.recipes.gtceu.laser_engraver("unactivated_dimensional_cpu_wafer")
|
||||
.itemInputs("kubejs:universe_wafer")
|
||||
.notConsumable("gtceu:light_gray_glass_lens")
|
||||
.itemOutputs("kubejs:unactivated_multidimensional_cpu_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("multidimensional_cpu_wafer")
|
||||
.itemInputs("16x kubejs:unactivated_multidimensional_cpu_wafer", "64x kubejs:quantum_flux", "kubejs:quasi_stable_neutron_star")
|
||||
.inputFluids(Fluid.of("gtceu:xenon", 1000))
|
||||
.itemOutputs("16x kubejs:multidimensional_cpu_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(900)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
event.recipes.gtceu.cutter("multidimensional_cpu_chip")
|
||||
.itemInputs("kubejs:multidimensional_cpu_wafer")
|
||||
.inputFluids(Fluid.of("minecraft:water", 1000))
|
||||
.itemOutputs("16x kubejs:multidimensional_cpu_chip")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1800)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.cutter("multidimensional_cpu_chip_distilled")
|
||||
.itemInputs("kubejs:multidimensional_cpu_wafer")
|
||||
.inputFluids(Fluid.of("gtceu:distilled_water", 750))
|
||||
.itemOutputs("16x kubejs:multidimensional_cpu_chip")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.cutter("multidimensional_cpu_chip_lubricant")
|
||||
.itemInputs("kubejs:multidimensional_cpu_wafer")
|
||||
.inputFluids(Fluid.of("gtceu:lubricant", 250))
|
||||
.itemOutputs("16x kubejs:multidimensional_cpu_chip")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(900)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
// Hyperdynamic RAM
|
||||
event.recipes.gtceu.laser_engraver("hyperdynamic_ram_wafer")
|
||||
.itemInputs("kubejs:universe_wafer")
|
||||
.notConsumable("gtceu:magenta_glass_lens")
|
||||
.itemOutputs("kubejs:hyperdynamic_ram_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
|
||||
event.recipes.gtceu.cutter("hyperdynamic_ram_chip")
|
||||
.itemInputs("kubejs:hyperdynamic_ram_wafer")
|
||||
.inputFluids(Fluid.of("minecraft:water", 1000))
|
||||
.itemOutputs("12x kubejs:hyperdynamic_ram_chip_base")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1800)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.cutter("hyperdynamic_ram_chip_distilled")
|
||||
.itemInputs("kubejs:hyperdynamic_ram_wafer")
|
||||
.inputFluids(Fluid.of("gtceu:distilled_water", 750))
|
||||
.itemOutputs("12x kubejs:hyperdynamic_ram_chip_base")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.cutter("hyperdynamic_ram_chip_lubricant")
|
||||
.itemInputs("kubejs:hyperdynamic_ram_wafer")
|
||||
.inputFluids(Fluid.of("gtceu:lubricant", 250))
|
||||
.itemOutputs("12x kubejs:hyperdynamic_ram_chip_base")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(900)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("activated_hyperdynamic_ram_chip")
|
||||
.itemInputs("4x kubejs:hyperdynamic_ram_chip_base", "2x kubejs:matter_processing_unit", "4x gtceu:advanced_smd_transistor", "12x gtceu:fine_holmium_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 144")
|
||||
.itemOutputs("4x kubejs:hyperdynamic_ram_chip")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("activated_hyperdynamic_ram_chip_complex")
|
||||
.itemInputs("4x kubejs:hyperdynamic_ram_chip_base", "2x kubejs:matter_processing_unit", "1x kubejs:complex_smd_transistor", "12x gtceu:fine_holmium_wire")
|
||||
.inputFluids("gtceu:soldering_alloy 144")
|
||||
.itemOutputs("4x kubejs:hyperdynamic_ram_chip")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(150)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
// Quantum SoC
|
||||
event.recipes.gtceu.laser_engraver("quantum_soc_wafer")
|
||||
.itemInputs("kubejs:universe_wafer")
|
||||
.notConsumable("gtceu:nether_star_lens")
|
||||
.itemOutputs("kubejs:quantum_soc_wafer")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
event.recipes.gtceu.cutter("quantum_soc_chip")
|
||||
.itemInputs("kubejs:quantum_soc_wafer")
|
||||
.inputFluids(Fluid.of("minecraft:water", 1000))
|
||||
.itemOutputs("6x kubejs:quantum_soc_chip_base")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1800)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.cutter("quantum_soc_chip_distilled")
|
||||
.itemInputs("kubejs:quantum_soc_wafer")
|
||||
.inputFluids(Fluid.of("gtceu:distilled_water", 750))
|
||||
.itemOutputs("6x kubejs:quantum_soc_chip_base")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(1200)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.cutter("quantum_soc_chip_lubricant")
|
||||
.itemInputs("kubejs:quantum_soc_wafer")
|
||||
.inputFluids(Fluid.of("gtceu:lubricant", 250))
|
||||
.itemOutputs("6x kubejs:quantum_soc_chip_base")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(900)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
|
||||
event.recipes.gtceu.circuit_assembler("activated_quantum_soc_chip")
|
||||
.itemInputs("8x kubejs:quantum_soc_chip_base", "4x kubejs:complex_smd_transistor", "4x kubejs:complex_smd_resistor", "4x kubejs:complex_smd_capacitor", "4x kubejs:complex_smd_diode", "4x kubejs:complex_smd_inductor")
|
||||
.inputFluids("gtceu:soldering_alloy 144")
|
||||
.itemOutputs("8x kubejs:quantum_soc_chip")
|
||||
.cleanroom(CleanroomType.CLEANROOM)
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.UIV])
|
||||
})
|
||||
47
kubejs/server_scripts/gregtech/quintessence_infuser.js
Normal file
47
kubejs/server_scripts/gregtech/quintessence_infuser.js
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/**
|
||||
* Soul Binder multiblock
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.extendedcrafting.shaped_table("gtceu:quintessence_infuser", [
|
||||
"SCFCS",
|
||||
"CALAC",
|
||||
"GLBLG",
|
||||
"CALAC",
|
||||
"SCFCS",
|
||||
], {
|
||||
S: "gtceu:zpm_sensor",
|
||||
C: "gtceu:double_dark_soularium_plate",
|
||||
F: "gtceu:luv_field_generator",
|
||||
A: "kubejs:dark_soularium_casing",
|
||||
L: "#gtceu:circuits/zpm",
|
||||
G: "gtceu:zpm_field_generator",
|
||||
B: "enderio:soul_binder"
|
||||
}).id("kubejs:shaped/quintessence_infuser")
|
||||
|
||||
// Warding Dark Soularium Casing Recipe
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:dark_soularium_casing")
|
||||
.itemInputs("6x gtceu:dark_soularium_plate", "1x gtceu:tungsten_frame")
|
||||
.itemOutputs("2x kubejs:dark_soularium_casing")
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
|
||||
function Soulbinding(id, mob, input2, EUt, fluid, output) {
|
||||
event.recipes.gtceu.quintessence_infuser(`${id}_${mob}`)
|
||||
.itemInputs(Item.of("enderio:filled_soul_vial", `{BlockEntityTag:{EntityStorage:{Entity:{id:"minecraft:${mob}"}}}}`).weakNBT())
|
||||
.itemInputs(Item.of(input2))
|
||||
.inputFluids(Fluid.of("enderio:xp_juice", fluid))
|
||||
.itemOutputs(output)
|
||||
.duration(150)
|
||||
.EUt(EUt)
|
||||
}
|
||||
|
||||
|
||||
Soulbinding("enderio:prescient_crystal", "shulker", "enderio:vibrant_crystal", 170, 2240, ["enderio:prescient_crystal", "enderio:empty_soul_vial"])
|
||||
Soulbinding("enderio:ender_crystal", "enderman", "enderio:vibrant_crystal", 128, 1440, ["enderio:ender_crystal", "enderio:empty_soul_vial"])
|
||||
Soulbinding("enderio:enticing_crystal", "villager", "minecraft:emerald", 100, 800, ["enderio:enticing_crystal", "enderio:empty_soul_vial"])
|
||||
Soulbinding("enderio:frank_n_zombie", "zombie", "enderio:z_logic_controller", 128, 800, ["enderio:frank_n_zombie", "enderio:empty_soul_vial"])
|
||||
Soulbinding("enderio:sentient_ender", "witch", "enderio:ender_resonator", 128, 800, ["enderio:sentient_ender", "enderio:empty_soul_vial"])
|
||||
|
||||
})
|
||||
183
kubejs/server_scripts/gregtech/reconstruction.js
Normal file
183
kubejs/server_scripts/gregtech/reconstruction.js
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
/**
|
||||
* Atomic Reconstructor singleblock
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
const reconstructedItems = [
|
||||
["minecraft:redstone", "gtceu:restonia_gem", GTValues.VA[GTValues.MV], "restonia"],
|
||||
["minecraft:iron_ingot", "gtceu:enori_gem", GTValues.VA[GTValues.MV], "enori"],
|
||||
["minecraft:coal", "gtceu:void_gem", GTValues.VA[GTValues.MV], "void"],
|
||||
["minecraft:lapis_lazuli", "gtceu:palis_gem", GTValues.VA[GTValues.MV], "palis"],
|
||||
["minecraft:diamond", "gtceu:diamatine_gem", GTValues.VA[GTValues.MV], "diamatine"],
|
||||
["minecraft:emerald", "gtceu:emeradic_gem", GTValues.VA[GTValues.MV], "emeradic"],
|
||||
["minecraft:coal_block", "gtceu:void_block", GTValues.VA[GTValues.MV], "void_block"],
|
||||
["#forge:storage_blocks/redstone", "gtceu:restonia_block", GTValues.VA[GTValues.MV], "restonia_block"],
|
||||
["#forge:storage_blocks/lapis", "gtceu:palis_block", GTValues.VA[GTValues.MV], "palis_block"],
|
||||
["#forge:storage_blocks/diamond", "gtceu:diamatine_block", GTValues.VA[GTValues.MV], "diamatine_block"],
|
||||
["#forge:storage_blocks/emerald", "gtceu:emeradic_block", GTValues.VA[GTValues.MV], "emeradic_block"],
|
||||
["#forge:storage_blocks/iron", "gtceu:enori_block", GTValues.VA[GTValues.MV], "enori_block"],
|
||||
["minecraft:sand", "minecraft:soul_sand", GTValues.VA[GTValues.MV], "soul_sand"],
|
||||
["minecraft:quartz", "minecraft:prismarine_shard", GTValues.VA[GTValues.MV], "prismarine_shard"],
|
||||
["minecraft:rotten_flesh", "minecraft:leather", GTValues.VA[GTValues.LV], "leather"],
|
||||
["gtceu:topaz_gem", "minecraft:prismarine_crystals", GTValues.VA[GTValues.MV], "prismarine_crystals"],
|
||||
["gtceu:steel_ingot", "gtceu:damascus_steel_ingot", GTValues.VA[GTValues.MV], "damascus_steel"],
|
||||
["gtceu:diamatine_block", "kubejs:starry_diamond_block", GTValues.VA[GTValues.MV], "starry_diamond"],
|
||||
["gtceu:obsidian_dust", "enderio:grains_of_infinity", GTValues.VA[GTValues.LV], "temp_grains"],
|
||||
["minecraft:dried_kelp", "minecraft:wither_rose", GTValues.VA[GTValues.LV], "wither_rose"],
|
||||
["gtceu:plant_ball", "minecraft:kelp", GTValues.VA[GTValues.LV], "kelp"],
|
||||
["minecraft:obsidian", "minecraft:crying_obsidian", GTValues.VA[GTValues.LV], "crying_obsidian"],
|
||||
["#forge:dyes/black", "minecraft:ink_sac", GTValues.VA[GTValues.LV], "ink_sac"],
|
||||
["minecraft:ink_sac", "minecraft:glow_ink_sac", GTValues.VA[GTValues.LV], "glow_ink_sac"],
|
||||
["thermal:rubberwood_sapling", "gtceu:rubber_sapling", GTValues.VA[GTValues.LV], "rubberwood_to_rubber"],
|
||||
["gtceu:rubber_sapling", "thermal:rubberwood_sapling", GTValues.VA[GTValues.LV], "rubber_to_rubberwood"],
|
||||
]
|
||||
|
||||
const crystals = ["enori", "void", "palis", "diamatine", "restonia", "emeradic"]
|
||||
crystals.forEach(crystal => {
|
||||
event.remove({ id: `gtceu:shaped/gear_${crystal}` })
|
||||
event.remove({ id: `gtceu:shaped/gear_${crystal}_empowered` })
|
||||
})
|
||||
|
||||
// Black Quartz
|
||||
event.recipes.gtceu.electrolyzer("kubejs:black_quartz_dust")
|
||||
.itemInputs("4x gtceu:quartzite_dust")
|
||||
.itemOutputs("gtceu:black_quartz_dust")
|
||||
.duration(400)
|
||||
.EUt(90)
|
||||
event.recipes.gtceu.autoclave("kubejs:black_quartz_gem__water")
|
||||
.itemInputs("gtceu:black_quartz_dust")
|
||||
.inputFluids(Fluid.of("minecraft:water", 250))
|
||||
.itemOutputs("gtceu:black_quartz_gem")
|
||||
.duration(1200)
|
||||
.EUt(24)
|
||||
event.recipes.gtceu.autoclave("kubejs:black_quartz_gem__distilled")
|
||||
.itemInputs("gtceu:black_quartz_dust")
|
||||
.inputFluids(Fluid.of("gtceu:distilled_water", 50))
|
||||
.itemOutputs("gtceu:black_quartz_gem")
|
||||
.duration(600)
|
||||
.EUt(24)
|
||||
|
||||
// Black quartz, tag-based recipes for Tinted Glass
|
||||
event.replaceInput({ output: "minecraft:tinted_glass" }, "minecraft:glass", "#forge:glass")
|
||||
event.replaceInput({ output: "minecraft:tinted_glass" }, "minecraft:amethyst_shard", "#forge:gems/amethyst")
|
||||
event.shaped("2x minecraft:tinted_glass", [
|
||||
" Q ",
|
||||
"QGQ",
|
||||
" Q "
|
||||
], {
|
||||
Q: "#forge:gems/black_quartz",
|
||||
G: "#forge:glass"
|
||||
}).id("kubejs:tinted_glass_black_quartz")
|
||||
event.recipes.gtceu.assembler("tinted_glass_black_quartz")
|
||||
.itemInputs("2x #forge:gems/black_quartz", "#forge:glass")
|
||||
.itemOutputs("minecraft:tinted_glass")
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Reconstruction
|
||||
reconstructedItems.forEach(([input, output, eut, id]) => {
|
||||
event.recipes.gtceu.atomic_reconstruction(`kubejs:${id}`)
|
||||
.itemInputs(input)
|
||||
.itemOutputs(output)
|
||||
.duration(20)
|
||||
.EUt(eut)
|
||||
})
|
||||
|
||||
// Universal Circuits
|
||||
const tiers = ["ulv", "lv", "mv", "hv", "ev", "iv", "luv", "zpm", "uv", "uhv", "uev", "uiv"]
|
||||
tiers.forEach((level) => {
|
||||
event.recipes.gtceu.atomic_reconstruction(`kubejs:${level}_universal_circuit`)
|
||||
.itemInputs(`#gtceu:circuits/${level}`)
|
||||
.itemOutputs(`kubejs:${level}_universal_circuit`)
|
||||
.EUt(32)
|
||||
.duration(5)
|
||||
})
|
||||
|
||||
const reconstructorrecipe = [
|
||||
["lv", "lead"],
|
||||
["mv", "rose_gold"],
|
||||
["hv", "beryllium"],
|
||||
["ev", "platinum"],
|
||||
["iv", "rhodium"],
|
||||
["luv", "osmiridium"],
|
||||
["zpm", "naquadah"],
|
||||
["uv", "duranium"],
|
||||
["uhv", "tritanium"],
|
||||
["uev", "omnium"],
|
||||
["uiv", "holmium"]
|
||||
]
|
||||
reconstructorrecipe.forEach(([tier, plate]) => {
|
||||
event.shaped(`gtceu:${tier}_atomic_reconstructor`, [
|
||||
"CPC",
|
||||
"EHE",
|
||||
"PPM"
|
||||
], {
|
||||
P: `gtceu:${plate}_plate`,
|
||||
E: `gtceu:${tier}_emitter`,
|
||||
H: `gtceu:${tier}_machine_hull`,
|
||||
C: `#gtceu:circuits/${tier}`,
|
||||
M: `gtceu:${tier}_electric_motor`
|
||||
}).id(`kubejs:shaped/${tier}_atomic_reconstructor`)
|
||||
})
|
||||
|
||||
// Crystal Gears
|
||||
crystals.forEach(crystal => {
|
||||
event.recipes.gtceu.extruder(`kubejs:${crystal}_gear`)
|
||||
.itemInputs(`4x gtceu:${crystal}_gem`)
|
||||
.itemOutputs(`gtceu:${crystal}_gear`)
|
||||
.notConsumable("gtceu:gear_extruder_mold")
|
||||
.duration(80)
|
||||
.EUt(56)
|
||||
})
|
||||
|
||||
// Flower conversion convenience recipes
|
||||
const flowerCycle = [
|
||||
"dandelion",
|
||||
"poppy",
|
||||
"blue_orchid",
|
||||
"allium",
|
||||
"azure_bluet",
|
||||
"red_tulip",
|
||||
"orange_tulip",
|
||||
"white_tulip",
|
||||
"pink_tulip",
|
||||
"oxeye_daisy",
|
||||
"cornflower",
|
||||
"lily_of_the_valley",
|
||||
// 'sunflower', //Flowers that give 2x as much dye are excluded. Sorry!
|
||||
// 'lilac',
|
||||
// 'rose_bush',
|
||||
// 'peony',
|
||||
"spore_blossom",
|
||||
"wither_rose",
|
||||
"dead_bush"
|
||||
]
|
||||
reconstructCycle(flowerCycle);
|
||||
|
||||
// Fungus conversion convenience recipes
|
||||
const fungusCycle = [
|
||||
"red_mushroom",
|
||||
"brown_mushroom",
|
||||
"nether_wart"
|
||||
]
|
||||
reconstructCycle(fungusCycle);
|
||||
|
||||
/**
|
||||
* Creates a "cycle" of Atomic Reconstructor recipes that allow players to transmute
|
||||
* any one item in the cycle into any other, through repeated applications of Atomic Reconstruction.
|
||||
* Best applied to plants or fungi, where getting one enables you to get many more easily.
|
||||
*
|
||||
* @param {Ingredient[]} cycle The array of ingredients for the AR to cycle through
|
||||
*/
|
||||
function reconstructCycle(cycle) {
|
||||
cycle.forEach((flower, index) => {
|
||||
let curItem = cycle[index];
|
||||
let nextItem = cycle[(index + 1) % cycle.length];
|
||||
event.recipes.gtceu.atomic_reconstruction(`gtceu:${curItem}_to_${nextItem}`)
|
||||
.itemInputs(`minecraft:${curItem}`)
|
||||
.itemOutputs(`minecraft:${nextItem}`)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.duration(30)
|
||||
})
|
||||
}
|
||||
})
|
||||
78
kubejs/server_scripts/gregtech/rock_cycle_simulator.js
Normal file
78
kubejs/server_scripts/gregtech/rock_cycle_simulator.js
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
/**
|
||||
* Rock Cycle Simulator multiblock
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Recipe
|
||||
event.shaped("gtceu:rock_cycle_simulator", [
|
||||
"PMP",
|
||||
"CHC",
|
||||
"UWU"
|
||||
], {
|
||||
P: "gtceu:iv_electric_piston",
|
||||
C: "#gtceu:circuits/iv",
|
||||
U: "gtceu:iv_electric_pump",
|
||||
M: "gtceu:iv_electric_motor",
|
||||
W: "gtceu:platinum_single_cable",
|
||||
H: "gtceu:iv_rock_crusher"
|
||||
}).id("kubejs:shaped/rock_cycle_simulator")
|
||||
|
||||
// Recipe Function
|
||||
function RockCycle(id, input, output, EUt) {
|
||||
event.recipes.gtceu.rock_cycle_simulator(`kubejs:${id}`)
|
||||
.notConsumable(Item.of(input))
|
||||
.itemOutputs(output)
|
||||
.duration(16)
|
||||
.EUt(EUt)
|
||||
}
|
||||
|
||||
RockCycle("stone", "minecraft:stone", "minecraft:stone", 7)
|
||||
RockCycle("cobble", "minecraft:cobblestone", "minecraft:cobblestone", 7)
|
||||
RockCycle("diorite", "minecraft:diorite", "minecraft:diorite", 60)
|
||||
RockCycle("andesite", "minecraft:andesite", "minecraft:andesite", 60)
|
||||
RockCycle("granite", "minecraft:granite", "minecraft:granite", 60)
|
||||
RockCycle("basalt", "minecraft:basalt", "minecraft:basalt", 240)
|
||||
RockCycle("blackstone", "minecraft:blackstone", "minecraft:blackstone", 240)
|
||||
RockCycle("obsidian", "minecraft:redstone", "minecraft:obsidian", 240)
|
||||
RockCycle("marble", "gtceu:marble", "gtceu:marble", 240)
|
||||
RockCycle("red_granite", "gtceu:red_granite", "gtceu:red_granite", 960)
|
||||
RockCycle("deepslate", "minecraft:deepslate", "minecraft:deepslate", 960)
|
||||
RockCycle("calcite", "minecraft:calcite", "minecraft:calcite", 60)
|
||||
RockCycle("tuff", "minecraft:tuff", "minecraft:tuff", 60)
|
||||
RockCycle("jasper", "quark:jasper", "quark:jasper", 60)
|
||||
RockCycle("limestone", "quark:limestone", "quark:limestone", 60)
|
||||
RockCycle("permafrost", "quark:permafrost", "quark:permafrost", 60)
|
||||
RockCycle("shale", "quark:shale", "quark:shale", 60)
|
||||
RockCycle("myalite", "quark:myalite", "quark:myalite", 60)
|
||||
|
||||
function DimensionalRockCrushing(namespace, output, EUt, dimension, waterReplacement) {
|
||||
if(waterReplacement == undefined) waterReplacement = "minecraft:water"
|
||||
event.recipes.gtceu.rock_breaker(`${output}`)
|
||||
.notConsumable(`${namespace}:${output}`)
|
||||
.itemOutputs(`${namespace}:${output}`)
|
||||
.duration(16)
|
||||
.EUt(EUt)
|
||||
.addData("fluidA", "minecraft:lava")
|
||||
.addData("fluidB", waterReplacement)
|
||||
.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], "minecraft:the_end")
|
||||
DimensionalRockCrushing("minecraft", "netherrack", GTValues.VA[GTValues.EV], "minecraft:the_nether", "kubejs:molten_cryotheum")
|
||||
DimensionalRockCrushing("ad_astra", "moon_stone", GTValues.VHA[GTValues.HV], "ad_astra:moon")
|
||||
DimensionalRockCrushing("ad_astra", "moon_deepslate", GTValues.VHA[GTValues.HV], "ad_astra:moon")
|
||||
DimensionalRockCrushing("ad_astra", "mars_stone", GTValues.VHA[GTValues.HV], "ad_astra:mars")
|
||||
DimensionalRockCrushing("ad_astra", "conglomerate", GTValues.VHA[GTValues.HV], "ad_astra:mars")
|
||||
DimensionalRockCrushing("ad_astra", "venus_stone", GTValues.VHA[GTValues.EV], "ad_astra:venus")
|
||||
DimensionalRockCrushing("ad_astra", "infernal_spire_block", GTValues.VHA[GTValues.EV], "ad_astra:venus")
|
||||
DimensionalRockCrushing("ad_astra", "mercury_stone", GTValues.VHA[GTValues.EV], "ad_astra:mercury")
|
||||
DimensionalRockCrushing("ad_astra", "glacio_stone", GTValues.VHA[GTValues.IV], "ad_astra:glacio")
|
||||
DimensionalRockCrushing("ad_astra", "permafrost", GTValues.VHA[GTValues.IV], "ad_astra:glacio")
|
||||
})
|
||||
102
kubejs/server_scripts/gregtech/scrap.js
Normal file
102
kubejs/server_scripts/gregtech/scrap.js
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
/**
|
||||
* Alien scrap processing line
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Scrap
|
||||
event.recipes.gtceu.sifter("scrap_sifting")
|
||||
.itemInputs("kubejs:alien_scrap")
|
||||
.itemOutputs("kubejs:ruined_machine_parts")
|
||||
.chancedOutput("kubejs:ruined_machine_parts", 3300, 200)
|
||||
.itemOutputs("kubejs:ruined_hull")
|
||||
.chancedOutput("kubejs:ruined_hull", 5000, 200)
|
||||
.chancedOutput("kubejs:ruined_hull", 3300, 200)
|
||||
.chancedOutput("gtceu:ruthenium_trinium_americium_neutronate_dust", 3300, 0)
|
||||
.duration(400)
|
||||
.EUt(16380)
|
||||
|
||||
// Ruined Machine Parts
|
||||
event.recipes.gtceu.sifter("ruined_machine_sifting")
|
||||
.itemInputs("kubejs:ruined_machine_parts")
|
||||
.itemOutputs("gtceu:neutronium_dust")
|
||||
.chancedOutput("gtceu:graphene_dust", 5000, 0)
|
||||
.chancedOutput("gtceu:yttrium_barium_cuprate_dust", 5000, 0)
|
||||
.chancedOutput("kubejs:ruined_capacitor", 5000, 0)
|
||||
.chancedOutput("kubejs:ruined_sensor", 5000, 0)
|
||||
.chancedOutput("kubejs:ruined_emitter", 5000, 0)
|
||||
.duration(400)
|
||||
.EUt(16380)
|
||||
|
||||
// Ruined Hull
|
||||
event.recipes.gtceu.centrifuge("ruined_hull_maceration")
|
||||
.itemInputs("kubejs:ruined_hull")
|
||||
.itemOutputs("5x gtceu:neutronium_dust")
|
||||
.itemOutputs("3x gtceu:tritanium_dust")
|
||||
.itemOutputs("4x gtceu:crystal_matrix_dust")
|
||||
.chancedOutput("kubejs:crushed_sensor", 3300, 0)
|
||||
.chancedOutput("kubejs:magnetic_capacitor_dust", 3300, 0)
|
||||
.chancedOutput("kubejs:holmium_oxide_glass_dust", 3300, 0)
|
||||
.duration(400)
|
||||
.EUt(16380)
|
||||
|
||||
// Supercap
|
||||
// A simple "crush the thing and get the good stuff"
|
||||
event.recipes.gtceu.macerator("alien_scrap_supercap_crushing")
|
||||
.itemInputs("kubejs:ruined_capacitor")
|
||||
.chancedOutput("kubejs:crushed_capacitor", 9500, 0)
|
||||
.chancedOutput("gtceu:enriched_naquadah_trinium_europium_duranide_dust", 3300, 0)
|
||||
.duration(100)
|
||||
.EUt(16380)
|
||||
|
||||
event.recipes.gtceu.electromagnetic_separator("alien_scrap_supercap_electro")
|
||||
.itemInputs("kubejs:crushed_capacitor")
|
||||
.chancedOutput("kubejs:magnetic_capacitor_dust", 9500, 0)
|
||||
.chancedOutput("gtceu:carbon_dust", 3300, 850) // Finally, an easy way to get carbon!
|
||||
.duration(100)
|
||||
.EUt(16380)
|
||||
|
||||
event.recipes.gtceu.centrifuge("alien_scrap_supercap_dust_centrifuge")
|
||||
.itemInputs("5x kubejs:magnetic_capacitor_dust")
|
||||
.itemOutputs("gtceu:holmium_dust")
|
||||
.chancedOutput("gtceu:iron_dust", 3300, 850)
|
||||
.duration(100)
|
||||
.EUt(16380)
|
||||
|
||||
// Sensor
|
||||
// Ion exchange
|
||||
event.recipes.gtceu.macerator("alien_scrap_sensor_crushing")
|
||||
.itemInputs("kubejs:ruined_sensor")
|
||||
.chancedOutput("kubejs:crushed_sensor", 9500, 0)
|
||||
.chancedOutput("gtceu:neutronium_dust", 3300, 850)
|
||||
.duration(600)
|
||||
.EUt(16380)
|
||||
|
||||
event.recipes.gtceu.thermal_centrifuge("alien_scrap_sensor_centrifuge")
|
||||
.itemInputs("kubejs:crushed_sensor")
|
||||
.chancedOutput("kubejs:holmium_compound", 9500, 0)
|
||||
.chancedOutput("gtceu:silver_dust", 3300, 850)
|
||||
.duration(600)
|
||||
.EUt(16380)
|
||||
|
||||
event.recipes.gtceu.autoclave("holmium_compound_autoclave")
|
||||
.itemInputs("3x kubejs:holmium_compound")
|
||||
.inputFluids("gtceu:polytetrafluoroethylene 100") // Maybe Polystyrene instead?
|
||||
.itemOutputs("gtceu:holmium_dust")
|
||||
.duration(600)
|
||||
.EUt(16380)
|
||||
|
||||
|
||||
// Emitter
|
||||
// Has Glass containing holmium oxide
|
||||
event.recipes.gtceu.macerator("alien_scrap_emitter_crushing")
|
||||
.itemInputs("kubejs:ruined_emitter")
|
||||
.chancedOutput("kubejs:holmium_oxide_glass_dust", 9500, 0)
|
||||
.chancedOutput("gtceu:trinium_dust", 3300, 850)
|
||||
.duration(400)
|
||||
.EUt(16380)
|
||||
|
||||
event.recipes.gtceu.centrifuge("holmium_oxide_glass_centro")
|
||||
.itemInputs("kubejs:holmium_oxide_glass_dust")
|
||||
.itemOutputs("gtceu:holmium_oxide_dust", "gtceu:glass_dust")
|
||||
.duration(400)
|
||||
.EUt(16380)
|
||||
})
|
||||
34
kubejs/server_scripts/gregtech/sculk_bioalloy.js
Normal file
34
kubejs/server_scripts/gregtech/sculk_bioalloy.js
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* Sculk Bioalloy processing line
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
event.recipes.gtceu.omnic_forge("sculk-compatible_trellis_microstructure_forging")
|
||||
.itemInputs("2x extendedcrafting:crystaltine_ingot", "kubejs:the_ultimate_material", "6x gtceu:lanthanum_dust", "9x gtceu:potassium_cyanide_dust")
|
||||
.itemOutputs("18x kubejs:sculk-compatible_trellis_microstructure")
|
||||
.duration(140)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("fibrinogenic_sculk_goo")
|
||||
.itemInputs("12x minecraft:sculk_vein", "4x kubejs:warden_horn", "8x gtceu:collagen_dust")
|
||||
.inputFluids("gtceu:raw_growth_medium 60", "gtceu:mutagen 90")
|
||||
.itemOutputs("7x kubejs:fibrinogenic_sculk_goo")
|
||||
.duration(540)
|
||||
.EUt(GTValues.VHA[GTValues.IV])
|
||||
.cleanroom(CleanroomType.STERILE_CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.forming_press("sculk-saturated_microstructure_pulp_press")
|
||||
.itemInputs("2x kubejs:sculk-compatible_trellis_microstructure", "1x kubejs:fibrinogenic_sculk_goo")
|
||||
.itemOutputs("2x kubejs:sculk-saturated_microstructure_pulp")
|
||||
.duration(150)
|
||||
.EUt(GTValues.VHA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.STERILE_CLEANROOM)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor("kubejs:animated_bioalloy_pulp_reacting")
|
||||
.itemInputs("1x kubejs:sculk-saturated_microstructure_pulp", "1x gtceu:small_prussian_blue_dust", "1x minecraft:sculk_catalyst")
|
||||
.inputFluids("enderio:xp_juice 5000")
|
||||
.itemOutputs("kubejs:animated_bioalloy_pulp")
|
||||
.duration(60)
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.cleanroom(CleanroomType.STERILE_CLEANROOM)
|
||||
})
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
/**
|
||||
* Subatomic Digital Assembler multiblock
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
function sda_print(input, circuit, output, cwut) {
|
||||
event.recipes.gtceu.subatomic_digital_assembly(`kubejs:${input}_${circuit}`)
|
||||
.notConsumable(`kubejs:${input}`)
|
||||
.circuit(circuit)
|
||||
.itemOutputs(output)
|
||||
.CWUt(cwut)
|
||||
.totalCWU(cwut * 500) // cwu/t multiplied by duration
|
||||
.EUt(100000) // same for all recipes
|
||||
}
|
||||
|
||||
|
||||
event.recipes.extendedcrafting.shaped_table("gtceu:subatomic_digital_assembler", [
|
||||
"ECFCE",
|
||||
"CALAC",
|
||||
"GLRLG",
|
||||
"CALAC",
|
||||
"ECUCE"
|
||||
], {
|
||||
E: "gtceu:zpm_emitter",
|
||||
C: "ae2:controller",
|
||||
F: "gtceu:luv_field_generator",
|
||||
A: "gtceu:atomic_casing",
|
||||
L: "#gtceu:circuits/luv",
|
||||
G: "gtceu:zpm_field_generator",
|
||||
R: "gtceu:research_station",
|
||||
U: "gtceu:uv_field_generator"
|
||||
}).id("kubejs:shaped/subatomic_digital_assembler")
|
||||
|
||||
sda_print("creative_storage_data", 1, "functionalstorage:max_storage_upgrade", 128)
|
||||
sda_print("creative_storage_data", 2, "megacells:bulk_item_cell", 128)
|
||||
sda_print("creative_storage_data", 3, "gtceu:uev_quantum_chest", 32)
|
||||
sda_print("creative_storage_data", 4, "gtceu:uev_quantum_tank", 32)
|
||||
sda_print("creative_computation_data", 1, "gtceu:creative_data_access_hatch", 256)
|
||||
sda_print("creative_computation_data", 2, "gtceu:creative_computation_provider", 256)
|
||||
sda_print("creative_energy_data", 1, "enderio:creative_power", 256)
|
||||
sda_print("creative_energy_data", 2, "ae2:creative_energy_cell", 256)
|
||||
sda_print("creative_energy_data", 3, "gtceu:creative_energy", 256)
|
||||
|
||||
event.recipes.gtceu.subatomic_digital_assembly("kubejs:corrupted_data")
|
||||
.itemInputs("kubejs:universe_creation_data")
|
||||
.itemOutputs("kubejs:shattered_universe_data")
|
||||
.EUt(16000)
|
||||
.circuit(1)
|
||||
.totalCWU(6400)
|
||||
.CWUt(32)
|
||||
|
||||
event.recipes.gtceu.subatomic_digital_assembly("shatteredstardata")
|
||||
.itemInputs("kubejs:stellar_creation_data")
|
||||
.itemOutputs("kubejs:shattered_star_data")
|
||||
.EUt(16000)
|
||||
.circuit(1)
|
||||
.totalCWU(800)
|
||||
.CWUt(16)
|
||||
|
||||
event.recipes.gtceu.subatomic_digital_assembly("omnicdata")
|
||||
.notConsumable("kubejs:omnic_data")
|
||||
.itemOutputs("gtceu:omnium_ingot")
|
||||
.EUt(16000)
|
||||
.circuit(1)
|
||||
.totalCWU(160)
|
||||
.CWUt(16)
|
||||
|
||||
})
|
||||
48
kubejs/server_scripts/gregtech/supercomputer.js
Normal file
48
kubejs/server_scripts/gregtech/supercomputer.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/**
|
||||
* Simulation Supercomputer multiblock
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
function supercomp(model, prediction, EUt) {
|
||||
event.recipes.gtceu.simulation_supercomputer(`kubejs:${model}`)
|
||||
.notConsumable(Item.of("hostilenetworks:data_model", `{data_model:{id:"hostilenetworks:${model}"}}`).weakNBT())
|
||||
.itemInputs("hostilenetworks:prediction_matrix")
|
||||
.itemOutputs(`hostilenetworks:${prediction}_prediction`)
|
||||
.chancedOutput(Item.of("hostilenetworks:prediction", `{data_model:{id:"hostilenetworks:${model}"}}`), 3000, 500)
|
||||
.duration(15.05 * 20) // same for all recipes
|
||||
.EUt(EUt)
|
||||
}
|
||||
if (doHNN) {
|
||||
// //// Machine Recipe //////
|
||||
|
||||
event.recipes.gtceu.assembly_line("simulation_supercomputer")
|
||||
.itemInputs("gtceu:atomic_casing", "6x gtceu:trinaquadalloy_plate", "4x hostilenetworks:sim_chamber", "kubejs:heart_of_a_universe", "4x #gtceu:circuits/uhv", "2x gtceu:uv_robot_arm", "2x gtceu:uv_field_generator", "kubejs:abyssal_energy_core")
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("gtceu:simulation_supercomputer")
|
||||
.stationResearch(b => b
|
||||
.researchStack("hostilenetworks:sim_chamber")
|
||||
.EUt(1966080)
|
||||
.CWUt(128, 512000)
|
||||
)
|
||||
.duration(1200)
|
||||
.EUt(1966080)
|
||||
|
||||
// //// Computer Recipes //////
|
||||
|
||||
supercomp("thermal/thermal_elemental", "overworld", 256)
|
||||
supercomp("shulker", "end", 128)
|
||||
supercomp("wither_skeleton", "nether", 256)
|
||||
supercomp("ender_dragon", "end", 1666)
|
||||
supercomp("slime", "overworld", 16)
|
||||
supercomp("skeleton", "overworld", 16)
|
||||
supercomp("blaze", "nether", 256)
|
||||
supercomp("zombie", "overworld", 16)
|
||||
supercomp("witch", "overworld", 128)
|
||||
supercomp("guardian", "overworld", 256)
|
||||
supercomp("spider", "overworld", 16)
|
||||
supercomp("ghast", "nether", 256)
|
||||
supercomp("wither", "nether", 1666)
|
||||
supercomp("creeper", "overworld", 16)
|
||||
supercomp("enderman", "end", 512)
|
||||
supercomp("warden", "overworld", 1666)
|
||||
}
|
||||
})
|
||||
86
kubejs/server_scripts/gregtech/superfabricator.js
Normal file
86
kubejs/server_scripts/gregtech/superfabricator.js
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
/**
|
||||
* Loot Superfabricator multiblock
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
function fabricator(prediction, circuit, output) {
|
||||
event.recipes.gtceu.loot_superfabricator(`kubejs:${prediction}_${circuit}`)
|
||||
.itemInputs(Item.of("hostilenetworks:prediction", `{data_model:{id:"hostilenetworks:${prediction}"}}`).weakNBT())
|
||||
.circuit(circuit)
|
||||
.itemOutputs(output)
|
||||
.duration(60) // same for all recipes
|
||||
.EUt(64) // same for all recipes
|
||||
}
|
||||
if (doHNN) {
|
||||
// //// Machine Recipe //////
|
||||
|
||||
event.recipes.gtceu.assembly_line("loot_superfabricator")
|
||||
.itemInputs("gtceu:atomic_casing", "6x gtceu:trinaquadalloy_plate", "4x hostilenetworks:loot_fabricator", "kubejs:heart_of_a_universe", "4x #gtceu:circuits/uhv", "2x gtceu:uv_robot_arm", "2x gtceu:uv_emitter", "kubejs:abyssal_energy_core")
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs("gtceu:loot_superfabricator")
|
||||
.stationResearch(b => b
|
||||
.researchStack("hostilenetworks:loot_fabricator")
|
||||
.EUt(1966080)
|
||||
.CWUt(128, 512000)
|
||||
)
|
||||
.duration(1200)
|
||||
.EUt(1966080)
|
||||
|
||||
// //// Fabricator Recipes //////
|
||||
|
||||
fabricator("blaze", 1, "10x minecraft:blaze_rod")
|
||||
fabricator("blaze", 2, "32x gtceu:sulfur_dust")
|
||||
fabricator("blaze", 3, "32x minecraft:magma_block")
|
||||
fabricator("creeper", 1, "32x minecraft:gunpowder")
|
||||
fabricator("creeper", 2, "6x minecraft:creeper_head")
|
||||
fabricator("creeper", 3, "32x minecraft:coal")
|
||||
fabricator("ender_dragon", 1, "2x minecraft:dragon_breath")
|
||||
fabricator("ender_dragon", 2, "kubejs:dragon_lair_data")
|
||||
fabricator("ender_dragon", 3, "4x kubejs:ender_dragon_scale")
|
||||
fabricator("enderman", 1, "6x minecraft:ender_pearl")
|
||||
fabricator("enderman", 2, "6x minecraft:emerald")
|
||||
fabricator("enderman", 3, "2x enderio:enderman_head")
|
||||
fabricator("enderman", 4, "kubejs:impossible_realm_data")
|
||||
fabricator("ghast", 1, "2x minecraft:ghast_tear")
|
||||
fabricator("ghast", 2, "12x gtceu:silver_ingot")
|
||||
fabricator("guardian", 1, "32x minecraft:prismarine_shard")
|
||||
fabricator("guardian", 2, "32x minecraft:prismarine_crystals")
|
||||
fabricator("guardian", 3, "64x minecraft:cod")
|
||||
fabricator("guardian", 4, "8x minecraft:gold_ingot")
|
||||
fabricator("guardian", 5, "12x gtceu:aluminium_dust")
|
||||
fabricator("guardian", 6, "4x kubejs:guardian_scale")
|
||||
fabricator("guardian", 7, "2x minecraft:wet_sponge")
|
||||
fabricator("shulker", 1, "6x minecraft:shulker_shell")
|
||||
fabricator("shulker", 2, "6x minecraft:diamond")
|
||||
fabricator("skeleton", 1, "64x minecraft:arrow")
|
||||
fabricator("skeleton", 2, "64x minecraft:bone")
|
||||
fabricator("skeleton", 3, "4x minecraft:skeleton_skull")
|
||||
fabricator("skeleton", 4, "8x gtceu:tin_ingot")
|
||||
fabricator("slime", 1, "32x minecraft:slime_ball")
|
||||
fabricator("slime", 2, "4x gtceu:nickel_ingot")
|
||||
fabricator("slime", 3, "3x gtceu:platinum_nugget")
|
||||
fabricator("spider", 1, "32x minecraft:string")
|
||||
fabricator("spider", 2, "16x minecraft:spider_eye")
|
||||
fabricator("spider", 3, "12x minecraft:copper_ingot")
|
||||
fabricator("thermal/thermal_elemental", 1, "16x gtceu:saltpeter_dust")
|
||||
fabricator("thermal/thermal_elemental", 2, "16x gtceu:obsidian_dust")
|
||||
fabricator("thermal/thermal_elemental", 3, "64x minecraft:snowball")
|
||||
fabricator("thermal/thermal_elemental", 4, "8x thermal:blitz_rod")
|
||||
fabricator("thermal/thermal_elemental", 5, "8x thermal:basalz_rod")
|
||||
fabricator("thermal/thermal_elemental", 6, "8x thermal:blizz_rod")
|
||||
fabricator("warden", 1, "minecraft:sculk_catalyst")
|
||||
fabricator("warden", 2, "kubejs:deep_dark_data")
|
||||
fabricator("warden", 3, "kubejs:warden_horn")
|
||||
fabricator("witch", 1, "16x minecraft:redstone")
|
||||
fabricator("witch", 2, "16x minecraft:glowstone_dust")
|
||||
fabricator("witch", 3, "16x minecraft:sugar")
|
||||
fabricator("wither", 1, "kubejs:wither_realm_data")
|
||||
fabricator("wither", 2, "16x kubejs:wither_bone")
|
||||
fabricator("wither_skeleton", 1, "4x minecraft:wither_skeleton_skull")
|
||||
fabricator("wither_skeleton", 2, "12x gtceu:lead_ingot")
|
||||
fabricator("zombie", 1, "40x minecraft:rotten_flesh")
|
||||
fabricator("zombie", 2, "12x minecraft:iron_ingot")
|
||||
fabricator("zombie", 3, "32x minecraft:carrot")
|
||||
fabricator("zombie", 4, "32x minecraft:potato")
|
||||
fabricator("zombie", 5, "6x minecraft:zombie_head")
|
||||
}
|
||||
})
|
||||
61
kubejs/server_scripts/gregtech/terbium.js
Normal file
61
kubejs/server_scripts/gregtech/terbium.js
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/**
|
||||
* Terbium processing line
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Terbium
|
||||
event.recipes.gtceu.electrolyzer("rare_earth_sulfate_electrolyze")
|
||||
.itemInputs("gtceu:rare_earth_dust")
|
||||
.inputFluids(Fluid.of("gtceu:sulfuric_acid", 100))
|
||||
.itemOutputs("kubejs:rare_earth_sulfate", "gtceu:thorium_hydroxide_dust")
|
||||
.duration(600)
|
||||
.EUt(37020)
|
||||
|
||||
event.recipes.gtceu.electric_blast_furnace("rare_earth_sulfate_blast")
|
||||
.itemInputs("kubejs:rare_earth_sulfate", "gtceu:ammonium_oxalate_dust")
|
||||
.itemOutputs("kubejs:rare_earth_oxide")
|
||||
.duration(600)
|
||||
.blastFurnaceTemp(7200)
|
||||
.EUt(122880)
|
||||
|
||||
event.recipes.gtceu.autoclave("rare_earth_oxide_autoclave")
|
||||
.itemInputs("kubejs:rare_earth_oxide")
|
||||
.inputFluids(Fluid.of("gtceu:nitric_acid", 100))
|
||||
.itemOutputs("kubejs:rare_earth_salt", "gtceu:cerium_dust")
|
||||
.duration(300)
|
||||
.EUt(480)
|
||||
|
||||
event.recipes.gtceu.electrolyzer("rare_earth_salt_electrolyzer")
|
||||
.itemInputs("kubejs:rare_earth_salt", "gtceu:ammonium_nitrate_dust")
|
||||
.itemOutputs("gtceu:terbium_salt_dust")
|
||||
.duration(300)
|
||||
.EUt(1200)
|
||||
|
||||
event.recipes.gtceu.autoclave("terbium_salt_autoclave")
|
||||
.itemInputs("2x gtceu:terbium_salt_dust", "3x gtceu:calcium_dust")
|
||||
.inputFluids(Fluid.of("gtceu:steam", 3840))
|
||||
.itemOutputs("2x gtceu:terbium_dust", "3x gtceu:calcium_chloride_dust")
|
||||
.outputFluids(Fluid.of("water", 24))
|
||||
.duration(300)
|
||||
.EUt(480)
|
||||
|
||||
// Misc
|
||||
event.recipes.gtceu.chemical_reactor("ammonium_oxalate")
|
||||
.itemInputs("2x gtceu:carbon_dust")
|
||||
.inputFluids("gtceu:ammonia 2000", "gtceu:oxygen 4000")
|
||||
.circuit(5)
|
||||
.itemOutputs("gtceu:ammonium_oxalate_dust")
|
||||
.duration(120).EUt(7)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("ammonium_nitrate")
|
||||
.inputFluids("gtceu:ammonia 1000", "gtceu:nitric_acid 1000")
|
||||
.circuit(5)
|
||||
.itemOutputs("gtceu:ammonium_nitrate_dust")
|
||||
.duration(120).EUt(7)
|
||||
|
||||
event.recipes.gtceu.polarizer("terbium_polarize")
|
||||
.itemInputs("gtceu:long_terbium_rod")
|
||||
.itemOutputs("gtceu:long_magnetic_terbium_rod")
|
||||
.duration(200)
|
||||
.EUt(122880)
|
||||
})
|
||||
72
kubejs/server_scripts/infinite_sources.js
Normal file
72
kubejs/server_scripts/infinite_sources.js
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
/**
|
||||
* Custom recipes for stuff that generates infinite amount of something
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: "watercollector:watercollector" })
|
||||
event.remove({ id: "thermal:device_water_gen" })
|
||||
event.remove({ id: "thermal:device_rock_gen" })
|
||||
|
||||
if (!doHarderRecipes) {
|
||||
event.shaped("watercollector:watercollector", [
|
||||
"AAA",
|
||||
"B B",
|
||||
"AAA"
|
||||
], {
|
||||
A: "gtceu:wrought_iron_plate",
|
||||
B: "minecraft:water_bucket"
|
||||
})
|
||||
event.shaped("thermal:device_water_gen", [
|
||||
" B ",
|
||||
"CWC",
|
||||
"GSG"
|
||||
], {
|
||||
G: "gtceu:iron_gear",
|
||||
B: "minecraft:bucket",
|
||||
W: "watercollector:watercollector",
|
||||
S: "enderio:fused_quartz",
|
||||
C: "#forge:ingots/copper"
|
||||
}).id("kubejs:device_water_gen");
|
||||
|
||||
event.shaped("thermal:device_rock_gen", [
|
||||
" P ",
|
||||
"PNP",
|
||||
"GHG"
|
||||
], {
|
||||
G: "gtceu:iron_gear",
|
||||
P: "#forge:plates/steel",
|
||||
N: "#forge:pistons",
|
||||
H: "minecraft:hopper"
|
||||
}).id("kubejs:device_rock_gen");
|
||||
} else {
|
||||
event.shaped("thermal:device_water_gen", [
|
||||
" B ",
|
||||
"CWC",
|
||||
"GSG"
|
||||
], {
|
||||
G: "gtceu:iron_gear",
|
||||
B: "minecraft:bucket",
|
||||
W: "#enderio:fused_quartz",
|
||||
S: "thermal:redstone_servo",
|
||||
C: "#forge:ingots/copper"
|
||||
}).id("kubejs:device_water_gen");
|
||||
|
||||
event.shaped("thermal:device_rock_gen", [
|
||||
" P ",
|
||||
"INI",
|
||||
"GSG"
|
||||
], {
|
||||
G: "gtceu:iron_gear",
|
||||
S: "thermal:redstone_servo",
|
||||
P: "#forge:plates/steel",
|
||||
I: "#forge:plates/invar",
|
||||
N: "#forge:pistons"
|
||||
}).id("kubejs:device_rock_gen");
|
||||
}
|
||||
|
||||
// Infinite Cobble/Water cells
|
||||
event.replaceInput({ id: "expatternprovider:water_cell" }, "minecraft:water_bucket", "gtceu:infinite_water_cover")
|
||||
event.replaceInput({ id: "expatternprovider:cobblestone_cell" }, "minecraft:water_bucket", "gtceu:infinite_water_cover")
|
||||
event.replaceInput({ id: "expatternprovider:water_cell" }, "minecraft:diamond", "gtceu:mythril_plate")
|
||||
event.replaceInput({ id: "expatternprovider:cobblestone_cell" }, "minecraft:diamond", "gtceu:mythril_plate")
|
||||
|
||||
})
|
||||
171
kubejs/server_scripts/microverse/advanced_ii_missions.js
Normal file
171
kubejs/server_scripts/microverse/advanced_ii_missions.js
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
/**
|
||||
* 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")
|
||||
})
|
||||
|
||||
// T6MM mission (Previously HM-exclusive, no problem with making it available in NM)
|
||||
microverse_mission(event, 6, 3).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"
|
||||
)
|
||||
})
|
||||
|
||||
// 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",
|
||||
"8x kubejs:deep_dark_data"
|
||||
)
|
||||
.itemOutputs(
|
||||
"32x minecraft:sculk_catalyst",
|
||||
"32x minecraft:gold_block",
|
||||
"32x gtceu:silver_block",
|
||||
"32x minecraft:diamond_block",
|
||||
"16x gtceu:platinum_block",
|
||||
"4x 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",
|
||||
"12x kubejs:deep_dark_data"
|
||||
)
|
||||
.itemOutputs(
|
||||
"8x kubejs:warden_heart",
|
||||
"24x minecraft:sculk_catalyst",
|
||||
"64x kubejs:warden_horn",
|
||||
"32x 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(
|
||||
"4x kubejs:hadal_shard",
|
||||
"64x minecraft:sculk_catalyst",
|
||||
"32x minecraft:sculk_catalyst",
|
||||
"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",
|
||||
"16x kubejs:dragon_lair_data"
|
||||
)
|
||||
.itemOutputs(
|
||||
"64x minecraft:dragon_egg",
|
||||
"32x minecraft:dragon_egg",
|
||||
"64x kubejs:ender_dragon_scale",
|
||||
"32x kubejs:ender_dragon_scale",
|
||||
"64x minecraft:dragon_breath"
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 8, 3, undefined, undefined, 100).forEach(builder => {
|
||||
builder
|
||||
.itemInputs(
|
||||
"32x kubejs:quantum_flux",
|
||||
"64x gtceu:dilithium_gem",
|
||||
"32x kubejs:wither_realm_data"
|
||||
)
|
||||
.itemOutputs(
|
||||
"32x gtceu:quantum_star",
|
||||
"16x gtceu:quantum_eye",
|
||||
"4x gtceu:gravi_star",
|
||||
"4x gtceu:neutronium_ingot"
|
||||
)
|
||||
})
|
||||
|
||||
// T9MM missions
|
||||
microverse_mission(event, 9, 3).forEach(builder => {
|
||||
builder
|
||||
.inputFluids("gtceu:nitrogen_plasma 5000")
|
||||
.itemInputs("gtceu:data_module", "gtceu:uv_sensor")
|
||||
.itemInputs(
|
||||
"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).forEach(builder => {
|
||||
builder
|
||||
.inputFluids("gtceu:argon_plasma 5000")
|
||||
.itemInputs("kubejs:gravitational_amplifier", "kubejs:stellar_creation_data", "6x gtceu:neutron_reflector")
|
||||
.itemOutputs("32x gtceu:neutronium_ingot")
|
||||
})
|
||||
|
||||
microverse_mission(event, 9, 3).forEach(builder => {
|
||||
builder
|
||||
.inputFluids("gtceu:oxygen_plasma 10000")
|
||||
.itemInputs("kubejs:gravitational_amplifier", "16x kubejs:shattered_star_data", "64x gtceu:gravi_star")
|
||||
.itemOutputs("16x kubejs:quasi_stable_neutron_star")
|
||||
})
|
||||
|
||||
// T10MM missions
|
||||
microverse_mission(event, 10, 3).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:universal_collapse_device", "kubejs:universe_creation_data")
|
||||
.itemOutputs("kubejs:heart_of_a_universe")
|
||||
})
|
||||
|
||||
microverse_mission(event, 10, 3).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x #forge:storage_blocks/activated_netherite", "64x kubejs:stellar_creation_data")
|
||||
.itemOutputs("kubejs:creative_storage_data")
|
||||
})
|
||||
})
|
||||
264
kubejs/server_scripts/microverse/advanced_missions.js
Normal file
264
kubejs/server_scripts/microverse/advanced_missions.js
Normal file
|
|
@ -0,0 +1,264 @@
|
|||
/**
|
||||
* 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_drilling_kit")
|
||||
.itemInputs("gtceu:cobalt_brass_drill_head")
|
||||
.itemInputs("4x kubejs:wither_realm_data")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_cooperite",
|
||||
"32x gtceu:raw_bornite",
|
||||
"64x gtceu:raw_pentlandite",
|
||||
"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_drilling_kit")
|
||||
.itemInputs("gtceu:steel_drill_head")
|
||||
.itemOutputs(
|
||||
"64x minecraft:raw_iron",
|
||||
"64x minecraft:raw_iron",
|
||||
"64x minecraft:raw_iron",
|
||||
"64x minecraft:raw_copper",
|
||||
"64x minecraft:raw_copper",
|
||||
"64x minecraft:raw_copper",
|
||||
"64x minecraft:raw_gold",
|
||||
"32x minecraft:raw_gold",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 4, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:petrotheum_dust")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:diamond_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_lapis",
|
||||
"64x gtceu:raw_lapis",
|
||||
"32x gtceu:raw_lapis",
|
||||
"64x gtceu:raw_coal",
|
||||
"64x gtceu:raw_coal",
|
||||
"32x gtceu:raw_coal",
|
||||
"64x gtceu:raw_redstone",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 4, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:petrotheum_dust")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:damascus_steel_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_oilsands",
|
||||
"64x gtceu:raw_oilsands",
|
||||
"64x gtceu:raw_oilsands",
|
||||
"64x gtceu:raw_oilsands",
|
||||
"64x gtceu:raw_oilsands",
|
||||
"64x gtceu:raw_oilsands",
|
||||
"64x enderio:grains_of_infinity",
|
||||
"64x enderio:grains_of_infinity",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 4, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:petrotheum_dust")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:wrought_iron_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_thorium",
|
||||
"48x gtceu:raw_thorium",
|
||||
"32x gtceu:raw_pitchblende",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 4, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:petrotheum_dust")
|
||||
.itemInputs("gtceu:data_stick")
|
||||
.itemInputs("2x kubejs:ultra_dense_hydrogen")
|
||||
.itemOutputs(
|
||||
"5x kubejs:stellar_creation_data",
|
||||
)
|
||||
})
|
||||
|
||||
// T5MM missions
|
||||
microverse_mission(event, 5, 2).forEach(builder => {
|
||||
if(!doHarderRecipes) {
|
||||
builder
|
||||
.itemInputs("8x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:stabilized_plutonium")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:hsse_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_cooperite",
|
||||
"32x gtceu:raw_cooperite",
|
||||
"64x gtceu:raw_naquadah",
|
||||
"64x gtceu:raw_naquadah",
|
||||
"24x gtceu:raw_kaemanite",
|
||||
)
|
||||
} else {
|
||||
builder
|
||||
.itemInputs("8x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:stabilized_plutonium")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:hsse_drill_head")
|
||||
.itemOutputs(
|
||||
"36x gtceu:raw_pollucite",
|
||||
"32x gtceu:raw_cooperite",
|
||||
"64x gtceu:raw_snowchestite",
|
||||
"64x gtceu:raw_snowchestite",
|
||||
"24x gtceu:raw_kaemanite",
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
microverse_mission(event, 5, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("8x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:stabilized_uranium")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:red_steel_drill_head")
|
||||
.itemOutputs(
|
||||
"32x gtceu:raw_palladium",
|
||||
"32x gtceu:raw_monazite",
|
||||
"32x gtceu:raw_molybdenite",
|
||||
"16x gtceu:raw_powellite",
|
||||
"8x gtceu:rarest_metal_mixture_dust",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 5, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("8x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:stabilized_uranium")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:blue_steel_drill_head")
|
||||
.itemOutputs(
|
||||
"32x gtceu:raw_realgar",
|
||||
"64x gtceu:raw_sphalerite",
|
||||
"16x gtceu:raw_fluorite",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 5, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("8x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:stabilized_uranium")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:damascus_steel_drill_head")
|
||||
.itemOutputs(
|
||||
"32x gtceu:raw_bastnasite",
|
||||
"16x minecraft:ender_pearl",
|
||||
"16x minecraft:ender_pearl",
|
||||
"16x minecraft:ender_pearl",
|
||||
"64x gtceu:raw_beryllium",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 5, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("8x kubejs:quantum_flux")
|
||||
.itemInputs("16x kubejs:stabilized_uranium")
|
||||
.itemInputs("gtceu:data_orb")
|
||||
.itemInputs("9x kubejs:ultra_dense_hydrogen")
|
||||
.itemInputs("3x kubejs:ultra_dense_helium")
|
||||
.itemOutputs(
|
||||
"20x kubejs:stellar_creation_data",
|
||||
)
|
||||
})
|
||||
|
||||
// T6MM missions
|
||||
microverse_mission(event, 6, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x kubejs:quantum_flux")
|
||||
.itemInputs("32x kubejs:stabilized_uranium")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:naquadah_alloy_drill_head")
|
||||
.itemInputs("16x kubejs:wither_realm_data")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_uraninite",
|
||||
"32x gtceu:raw_uraninite",
|
||||
"32x gtceu:raw_plutonium",
|
||||
"32x gtceu:rarest_metal_mixture_dust",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 6, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x kubejs:quantum_flux")
|
||||
.itemInputs("32x kubejs:stabilized_plutonium")
|
||||
.itemInputs("kubejs:microversal_alchemy_kit")
|
||||
.itemInputs("32x kubejs:wither_realm_data")
|
||||
.itemOutputs(
|
||||
"16x 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 minecraft:ancient_debris",
|
||||
"64x minecraft:ancient_debris",
|
||||
"64x 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("8x kubejs:dragon_lair_data")
|
||||
.itemOutputs(
|
||||
"32x minecraft:dragon_egg",
|
||||
"64x kubejs:ender_dragon_scale",
|
||||
"32x minecraft:dragon_breath",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 6, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x kubejs:quantum_flux")
|
||||
.itemInputs("32x kubejs:stabilized_neptunium")
|
||||
.itemInputs("kubejs:advanced_drilling_kit")
|
||||
.itemInputs("gtceu:tungsten_carbide_drill_head")
|
||||
.itemOutputs(
|
||||
"32x gtceu:raw_monazite",
|
||||
"64x gtceu:raw_neodymium",
|
||||
"64x gtceu:raw_neodymium",
|
||||
"32x gtceu:raw_bastnasite",
|
||||
"16x gtceu:raw_redstone"
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 6, 2).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x kubejs:quantum_flux")
|
||||
.itemInputs("32x kubejs:stabilized_plutonium")
|
||||
.itemInputs("gtceu:data_module")
|
||||
.itemInputs("64x kubejs:ultra_dense_hydrogen", "64x kubejs:ultra_dense_hydrogen")
|
||||
.itemOutputs(
|
||||
"64x kubejs:stellar_creation_data",
|
||||
"64x kubejs:stellar_creation_data"
|
||||
)
|
||||
})
|
||||
})
|
||||
389
kubejs/server_scripts/microverse/basic_missions.js
Normal file
389
kubejs/server_scripts/microverse/basic_missions.js
Normal file
|
|
@ -0,0 +1,389 @@
|
|||
/**
|
||||
* 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).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:diamond_drill_head")
|
||||
.itemInputs("kubejs:gem_sensor")
|
||||
.itemOutputs(
|
||||
"48x gtceu:raw_diamond",
|
||||
"32x gtceu:raw_apatite",
|
||||
"48x gtceu:raw_tricalcium_phosphate",
|
||||
"32x gtceu:raw_nether_quartz",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 1, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:invar_drill_head")
|
||||
.itemOutputs(
|
||||
"64x minecraft:raw_iron",
|
||||
"48x minecraft:raw_iron",
|
||||
"64x gtceu:raw_yellow_limonite",
|
||||
"32x gtceu:raw_garnierite",
|
||||
"32x gtceu:raw_nickel",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 1, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:bronze_drill_head")
|
||||
.itemOutputs(
|
||||
"32x gtceu:raw_cassiterite",
|
||||
"64x gtceu:raw_chalcopyrite",
|
||||
"48x gtceu:raw_chalcopyrite",
|
||||
"16x gtceu:raw_realgar",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 1, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:sterling_silver_drill_head")
|
||||
.itemOutputs(
|
||||
"48x gtceu:raw_silver",
|
||||
"56x gtceu:raw_galena",
|
||||
"32x gtceu:raw_lead",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 1, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:rose_gold_drill_head")
|
||||
.itemInputs("kubejs:gem_sensor")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_redstone",
|
||||
"48x gtceu:raw_redstone",
|
||||
"64x gtceu:raw_ruby",
|
||||
"32x gtceu:raw_ruby",
|
||||
"32x gtceu:raw_cinnabar",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 1, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:wrought_iron_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_uraninite",
|
||||
"48x gtceu:raw_pitchblende",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 1, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:iron_drill_head")
|
||||
.itemOutputs(
|
||||
"48x gtceu:raw_salt",
|
||||
"48x gtceu:raw_rock_salt",
|
||||
"48x gtceu:raw_saltpeter",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 1, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("2x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:steel_drill_head")
|
||||
.itemInputs("gtceu:power_thruster")
|
||||
.itemOutputs(
|
||||
"32x gtceu:raw_molybdenite",
|
||||
"32x ad_astra:moon_sand",
|
||||
"32x gtceu:raw_dilithium",
|
||||
"32x gtceu:raw_fluorite",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 1, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("3x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 2000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:aluminium_drill_head")
|
||||
.itemInputs("gtceu:advanced_power_thruster")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_ilmenite",
|
||||
"64x gtceu:raw_bauxite",
|
||||
"16x gtceu:raw_aluminium",
|
||||
)
|
||||
})
|
||||
|
||||
// T2MM missions
|
||||
microverse_mission(event, 2, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("3x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 3000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:titanium_drill_head")
|
||||
.itemInputs("gtceu:advanced_power_thruster")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_scheelite",
|
||||
"64x gtceu:raw_scheelite",
|
||||
"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_drilling_kit")
|
||||
.itemInputs("gtceu:bronze_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_pyrochlore",
|
||||
"64x minecraft:raw_copper",
|
||||
"32x gtceu:raw_tin",
|
||||
"32x kubejs:radium_salt",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 2, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("2x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 3000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:stainless_steel_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_pyrolusite",
|
||||
"64x gtceu:raw_tantalite",
|
||||
"64x gtceu:raw_tantalite",
|
||||
)
|
||||
})
|
||||
|
||||
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",
|
||||
"16x kubejs:solidified_argon",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 2, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("3x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 3000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:diamond_drill_head")
|
||||
.itemInputs("kubejs:gem_sensor", "gtceu:power_thruster")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_dilithium",
|
||||
"64x gtceu:raw_certus_quartz",
|
||||
"32x gtceu:raw_quartzite",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 2, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("2x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 3000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:red_steel_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_goethite",
|
||||
"32x gtceu:raw_goethite",
|
||||
"64x gtceu:raw_hematite",
|
||||
"48x gtceu:raw_malachite",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 2, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("2x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 3000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:blue_steel_drill_head")
|
||||
.itemInputs("kubejs:gem_sensor")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_lapis",
|
||||
"24x gtceu:raw_sodalite",
|
||||
"32x gtceu:raw_lazurite",
|
||||
"24x gtceu:raw_calcite",
|
||||
)
|
||||
})
|
||||
|
||||
// T3MM missions
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:vanadium_steel_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_magnetite",
|
||||
"64x gtceu:raw_vanadium_magnetite",
|
||||
"64x gtceu:raw_chromite",
|
||||
"32x minecraft:raw_gold",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:cobalt_brass_drill_head")
|
||||
.itemOutputs(
|
||||
"48x gtceu:raw_tetrahedrite",
|
||||
"32x gtceu:raw_cobaltite",
|
||||
"8x gtceu:raw_magnesite",
|
||||
"16x gtceu:raw_sphalerite",
|
||||
"20x gtceu:raw_stibnite",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:diamond_drill_head")
|
||||
.itemInputs("2x kubejs:gem_sensor")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_diamond",
|
||||
"64x gtceu:raw_diamond",
|
||||
"64x gtceu:raw_diamond",
|
||||
"64x gtceu:raw_emerald",
|
||||
"64x gtceu:raw_emerald",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:steel_drill_head")
|
||||
.itemInputs("kubejs:gem_sensor")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_sapphire",
|
||||
"32x gtceu:raw_sapphire",
|
||||
"64x gtceu:raw_almandine",
|
||||
"32x gtceu:raw_almandine",
|
||||
"64x gtceu:raw_topaz",
|
||||
"32x gtceu:raw_topaz",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:aluminium_drill_head")
|
||||
.itemOutputs(
|
||||
"64x minecraft:glowstone",
|
||||
"64x minecraft:glowstone",
|
||||
"16x 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_drilling_kit")
|
||||
.itemInputs("gtceu:stainless_steel_drill_head")
|
||||
.itemInputs("gtceu:power_thruster")
|
||||
.itemOutputs(
|
||||
"48x gtceu:raw_apatite",
|
||||
"24x gtceu:raw_neodymium",
|
||||
"32x gtceu:raw_monazite",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:ultimet_drill_head")
|
||||
.itemInputs("gtceu:advanced_power_thruster")
|
||||
.itemOutputs(
|
||||
"8x gtceu:raw_barite",
|
||||
"12x gtceu:raw_laurite",
|
||||
"6x gtceu:raw_cuprorhodsite",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("3x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:blasting_kit")
|
||||
.itemOutputs(
|
||||
"64x minecraft:magma_block",
|
||||
"64x minecraft:magma_block",
|
||||
"64x minecraft:magma_block",
|
||||
"64x minecraft:magma_block",
|
||||
"64x minecraft:magma_block",
|
||||
"64x minecraft:magma_block",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("8x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:tungsten_steel_drill_head")
|
||||
.itemInputs("16x kubejs:wither_realm_data")
|
||||
.itemOutputs(
|
||||
"4x minecraft:ancient_debris",
|
||||
"64x minecraft:quartz",
|
||||
"32x minecraft:quartz",
|
||||
"24x minecraft:gilded_blackstone",
|
||||
"4x minecraft:gold_block",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 3, 1).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("4x kubejs:quantum_flux")
|
||||
.inputFluids("gtceu:rocket_fuel 5000")
|
||||
.itemInputs("kubejs:basic_drilling_kit")
|
||||
.itemInputs("gtceu:iron_drill_head")
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_salt",
|
||||
"32x gtceu:raw_rock_salt",
|
||||
"64x gtceu:raw_lepidolite",
|
||||
"24x gtceu:raw_spodumene",
|
||||
)
|
||||
})
|
||||
})
|
||||
345
kubejs/server_scripts/microverse/components.js
Normal file
345
kubejs/server_scripts/microverse/components.js
Normal file
|
|
@ -0,0 +1,345 @@
|
|||
/**
|
||||
* 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.recipes.gtceu.assembler("gem_sensor_hv")
|
||||
.itemOutputs("kubejs:gem_sensor")
|
||||
.itemInputs("#forge:lenses", "3x gtceu:stainless_steel_plate", "gtceu:hv_sensor")
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
.duration(20)
|
||||
|
||||
event.shaped("4x kubejs:gem_sensor", [
|
||||
" A ",
|
||||
"WCW",
|
||||
" W "
|
||||
], {
|
||||
A: "#forge:lenses",
|
||||
W: "gtceu:tungsten_carbide_plate",
|
||||
C: "gtceu:iv_sensor"
|
||||
})
|
||||
|
||||
event.recipes.gtceu.assembler("gem_sensor_iv")
|
||||
.itemOutputs("4x kubejs:gem_sensor")
|
||||
.itemInputs("#forge:lenses", "3x gtceu:tungsten_carbide_plate", "gtceu:iv_sensor")
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.duration(20)
|
||||
|
||||
// Microminer kits are consumed in place of the miner.
|
||||
event.recipes.gtceu.assembler("basic_drilling_kit")
|
||||
.itemOutputs("kubejs:basic_drilling_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_drilling_kit")
|
||||
.itemOutputs("kubejs:advanced_drilling_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("elite_drilling_kit")
|
||||
.itemOutputs("kubejs:elite_drilling_kit")
|
||||
.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")
|
||||
.inputFluids(Fluid.of("gtceu:potion", 750, { Potion: "minecraft:awkward" }))
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.duration(500)
|
||||
|
||||
// Believe it or not, this is not how a nuke is made.
|
||||
event.recipes.gtceu.assembler("nuke_tnt_itnt")
|
||||
.itemOutputs("thermal:nuke_tnt")
|
||||
.itemInputs("gtceu:small_plutonium_241_dust", "2x gtceu:neutron_reflector", "gtceu:plutonium_ingot", "gtceu:uranium_block", "4x gtceu:aluminium_plate", "3x gtceu:industrial_tnt", "3x gtceu:dense_steel_plate")
|
||||
.inputFluids("gtceu:deuterium 500")
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.duration(500)
|
||||
event.recipes.gtceu.assembler("nuke_tnt_regular_tnt")
|
||||
.itemOutputs("thermal:nuke_tnt")
|
||||
.itemInputs("gtceu:small_plutonium_241_dust", "2x gtceu:neutron_reflector", "gtceu:plutonium_ingot", "gtceu:uranium_block", "4x gtceu:aluminium_plate", "12x minecraft:tnt", "3x gtceu:dense_steel_plate")
|
||||
.inputFluids("gtceu:deuterium 500")
|
||||
.EUt(GTValues.VA[GTValues.LuV])
|
||||
.duration(500)
|
||||
|
||||
// Potential ingredient additions: Bolts, Screws, Plates, Wires, circuits, frame boxes
|
||||
event.recipes.gtceu.assembly_line("gravitational_amplifier")
|
||||
.itemOutputs("kubejs:gravitational_amplifier")
|
||||
.itemInputs(
|
||||
"8x ae2:singularity",
|
||||
"4x gtceu:gravi_star",
|
||||
"kubejs:hadal_energy_core",
|
||||
"gtceu:zpm_field_generator",
|
||||
"12x redstone_arsenal:flux_plating",
|
||||
"16x gtceu:enderium_foil",
|
||||
"16x gtceu:darmstadtium_bolt",
|
||||
"5x gtceu:fusion_glass")
|
||||
.inputFluids("gtceu:soldering_alloy 1728", "gtceu:naquadria 576", "gtceu:polybenzimidazole 288")
|
||||
.duration(1000)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
.stationResearch(builder => builder
|
||||
.researchStack("ae2:singularity")
|
||||
.CWUt(64, 256000)
|
||||
.EUt(GTValues.VA[GTValues.UV])
|
||||
)
|
||||
event.recipes.gtceu.assembly_line("universal_collapse_device")
|
||||
.itemOutputs("kubejs:universal_collapse_device")
|
||||
.itemInputs(
|
||||
"2x kubejs:gravitational_amplifier",
|
||||
"16x thermal:nuke_tnt",
|
||||
"16x kubejs:quantum_flux",
|
||||
"gtceu:uv_field_generator",
|
||||
"kubejs:universal_warp_core",
|
||||
"kubejs:universal_warp_controller",
|
||||
"4x kubejs:universe_resistant_neutronium_heavy_plating",
|
||||
"12x gtceu:styrene_butadiene_rubber_foil"
|
||||
)
|
||||
.inputFluids("gtceu:soldering_alloy 2304", "gtceu:crystal_matrix 576", "gtceu:microversium 1152")
|
||||
.duration(4000)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
.stationResearch(builder => builder
|
||||
.researchStack("kubejs:gravitational_amplifier")
|
||||
.CWUt(108, 512000)
|
||||
.EUt(GTValues.VA[GTValues.UHV])
|
||||
)
|
||||
})
|
||||
216
kubejs/server_scripts/microverse/hardmode_missions.js
Normal file
216
kubejs/server_scripts/microverse/hardmode_missions.js
Normal file
|
|
@ -0,0 +1,216 @@
|
|||
/**
|
||||
* Recipe definitions for Hard Mode and Expert Mode-exclusive microverse projector missions.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
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:rotten_flesh",
|
||||
"32x minecraft:rotten_flesh",
|
||||
"32x minecraft:gunpowder",
|
||||
"16x 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(
|
||||
"48x minecraft:slime_ball",
|
||||
"24x 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(
|
||||
"16x minecraft:blaze_rod",
|
||||
"16x thermal:blizz_rod",
|
||||
"16x thermal:blitz_rod",
|
||||
"16x 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(
|
||||
"24x minecraft:ghast_tear",
|
||||
"48x kubejs:wither_bone", // drops of evil aren"t in the pack
|
||||
"32x 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(
|
||||
"16x enderio:enderman_head",
|
||||
"16x minecraft:ender_pearl",
|
||||
"16x minecraft:ender_pearl",
|
||||
"16x 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",
|
||||
"32x minecraft:dragon_breath",
|
||||
"32x 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",
|
||||
"32x kubejs:ender_dragon_scale",
|
||||
"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",
|
||||
"16x minecraft:nether_star",
|
||||
"16x minecraft:nether_star",
|
||||
"16x minecraft:nether_star",
|
||||
)
|
||||
})
|
||||
|
||||
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",
|
||||
"16x kubejs:warden_horn",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, "8half", 3).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x kubejs:quantum_flux")
|
||||
.itemInputs("64x gtceu:dilithium_gem")
|
||||
.itemInputs("kubejs:elite_drilling_kit")
|
||||
.itemInputs("gtceu:duranium_drill_head")
|
||||
.itemInputs("4x gtceu:neutron_reflector",)
|
||||
.itemInputs(
|
||||
"6x 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"
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, "8half", 3).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x kubejs:quantum_flux")
|
||||
.itemInputs("64x gtceu:dilithium_gem")
|
||||
.itemInputs("kubejs:elite_drilling_kit")
|
||||
.itemInputs("gtceu:duranium_drill_head")
|
||||
.itemInputs("4x kubejs:gem_sensor")
|
||||
.itemInputs(
|
||||
"6x gtceu:naquadah_block",
|
||||
"4x kubejs:warden_horn",
|
||||
)
|
||||
.itemOutputs(
|
||||
"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:elite_drilling_kit")
|
||||
.itemInputs("gtceu:duranium_drill_head")
|
||||
.itemInputs("4x nuclearcraft:plate_du")
|
||||
.itemInputs(
|
||||
"6x gtceu:uranium_block",
|
||||
"4x kubejs:warden_horn",
|
||||
)
|
||||
.itemOutputs(
|
||||
"64x gtceu:raw_plutonium",
|
||||
"64x gtceu:raw_plutonium",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, "8half", 3).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x kubejs:quantum_flux")
|
||||
.itemInputs("64x gtceu:dilithium_gem")
|
||||
.itemInputs("kubejs:elite_drilling_kit")
|
||||
.itemInputs("gtceu:duranium_drill_head")
|
||||
.itemInputs("gtceu:osmium_dust")
|
||||
.itemOutputs(
|
||||
"32x gtceu:raw_osmiridiumyes",
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, "8half", 3).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("16x kubejs:quantum_flux")
|
||||
.itemInputs("64x gtceu:dilithium_gem")
|
||||
.itemInputs("kubejs:elite_drilling_kit")
|
||||
.itemInputs("gtceu:duranium_drill_head")
|
||||
.itemInputs("gtceu:iridium_dust")
|
||||
.itemOutputs(
|
||||
"32x gtceu:raw_iridosmineyes",
|
||||
)
|
||||
})
|
||||
})
|
||||
110
kubejs/server_scripts/microverse/hyperbolic_missions.js
Normal file
110
kubejs/server_scripts/microverse/hyperbolic_missions.js
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
/**
|
||||
* Recipe definitions for hyperbolic microverse projector missions.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// 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(
|
||||
"48x kubejs:hadal_shard",
|
||||
"64x kubejs:warden_heart",
|
||||
"64x kubejs:warden_heart",
|
||||
"32x kubejs:warden_heart",
|
||||
"64x kubejs:warden_horn",
|
||||
"48x kubejs:warden_horn"
|
||||
)
|
||||
})
|
||||
|
||||
// T9MM mission
|
||||
microverse_mission(event, 9, 4).forEach(builder => {
|
||||
builder
|
||||
.inputFluids("gtceu:nitrogen_plasma 15000")
|
||||
.itemInputs("gtceu:data_module", "gtceu:uev_sensor")
|
||||
.itemInputs("kubejs:shattered_universe_data", "64x kubejs:shattered_star_data")
|
||||
.itemOutputs("kubejs:corrupted_universe_data")
|
||||
})
|
||||
|
||||
// T10MM missions
|
||||
microverse_mission(event, 10, 4).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:universal_collapse_device", "kubejs:corrupted_universe_data", "8x kubejs:infinity_catalyst")
|
||||
.itemOutputs("16x kubejs:heart_of_a_universe")
|
||||
})
|
||||
|
||||
// T11MM missions
|
||||
microverse_mission(event, 11, 4).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:universal_navigator", "kubejs:shattered_universe_data", "gtceu:neutronium_drill_head", "kubejs:infinity_catalyst")
|
||||
.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).forEach(builder => {
|
||||
builder
|
||||
.itemInputs(
|
||||
"kubejs:universal_collapse_device",
|
||||
"kubejs:corrupted_universe_data",
|
||||
"64x gtceu:gravi_star",
|
||||
"64x gtceu:gravi_star"
|
||||
)
|
||||
.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"
|
||||
)
|
||||
})
|
||||
|
||||
microverse_mission(event, 11, 4).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).forEach(builder => {
|
||||
builder
|
||||
.itemInputs("kubejs:field_stabilised_omnic_pulsar_compound", "4x kubejs:universe_creation_data", "64x gtceu:infinity_ingot")
|
||||
.itemOutputs("64x gtceu:monium_ingot")
|
||||
})
|
||||
|
||||
microverse_mission(event, 12, 4).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]).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")
|
||||
})
|
||||
})
|
||||
334
kubejs/server_scripts/microverse/miners.js
Normal file
334
kubejs/server_scripts/microverse/miners.js
Normal file
|
|
@ -0,0 +1,334 @@
|
|||
/**
|
||||
* 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 => {
|
||||
// T1 Microminer
|
||||
event.shaped("kubejs:microminer_t1", [
|
||||
" G ",
|
||||
"LAL",
|
||||
"TMT"
|
||||
], {
|
||||
G: "kubejs:basic_micro_miner_guidance_system",
|
||||
L: "kubejs:basic_mining_laser",
|
||||
A: "gtceu:lv_field_generator",
|
||||
T: "kubejs:conductive_iron_thruster",
|
||||
M: "gtceu:lv_combustion"
|
||||
})
|
||||
|
||||
// T2 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t2", [
|
||||
" G ",
|
||||
" PAP ",
|
||||
"LBFBL",
|
||||
"PPCPP",
|
||||
" TTT "
|
||||
], {
|
||||
G: "kubejs:basic_micro_miner_guidance_system",
|
||||
P: "gtceu:double_titanium_plate",
|
||||
A: "gtceu:stainless_steel_crate",
|
||||
L: "kubejs:basic_mining_laser",
|
||||
B: "gtceu:lv_field_generator",
|
||||
F: "kubejs:electrum_micro_miner_core",
|
||||
C: "gtceu:mv_combustion",
|
||||
T: "kubejs:electrical_steel_thruster"
|
||||
})
|
||||
|
||||
// T3 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t3", [
|
||||
" G G ",
|
||||
" PPP ",
|
||||
" ABA ",
|
||||
"LPPBPPL",
|
||||
"PPFBFPP",
|
||||
"P PCP P",
|
||||
" TTT "
|
||||
], {
|
||||
G: "kubejs:basic_micro_miner_guidance_system",
|
||||
P: "gtceu:double_tungsten_carbide_plate",
|
||||
A: "gtceu:mv_field_generator",
|
||||
B: "gtceu:titanium_crate",
|
||||
L: "kubejs:reinforced_mining_laser",
|
||||
F: "kubejs:electrum_micro_miner_core",
|
||||
C: "gtceu:hv_combustion",
|
||||
T: "kubejs:reinforced_thruster"
|
||||
})
|
||||
|
||||
// T4 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t4", [
|
||||
" G ",
|
||||
" LWL ",
|
||||
" SAWAS ",
|
||||
" SBWBS ",
|
||||
" SFWFS ",
|
||||
" TDWDT ",
|
||||
" T T "
|
||||
], {
|
||||
G: "kubejs:basic_micro_miner_guidance_system",
|
||||
L: "kubejs:reinforced_mining_laser",
|
||||
W: "gtceu:double_tungsten_carbide_plate",
|
||||
S: "gtceu:double_signalum_plate",
|
||||
A: "gtceu:tungsten_steel_crate",
|
||||
B: "gtceu:hv_field_generator",
|
||||
F: "kubejs:signalum_micro_miner_core",
|
||||
T: "kubejs:energetic_thruster",
|
||||
D: "thermal:dynamo_compression"
|
||||
})
|
||||
|
||||
// T5 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t5", [
|
||||
" G G ",
|
||||
" I I ",
|
||||
" SILIS ",
|
||||
"SSABASS",
|
||||
" IFCFI ",
|
||||
"IIIPIII",
|
||||
" TTT "
|
||||
], {
|
||||
G: "kubejs:advanced_micro_miner_guidance_system",
|
||||
I: "gtceu:double_iridium_plate",
|
||||
S: "gtceu:double_signalum_plate",
|
||||
L: "kubejs:supercharged_laser_array",
|
||||
A: "gtceu:ev_field_generator",
|
||||
B: "gtceu:mv_super_chest",
|
||||
F: "kubejs:signalum_micro_miner_core",
|
||||
C: "nuclearcraft:fission_reactor_controller",
|
||||
P: "nuclearcraft:fission_reactor_port",
|
||||
T: "kubejs:vibrant_thruster",
|
||||
})
|
||||
|
||||
// T6 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t6", [
|
||||
" LG GL ",
|
||||
"LEE EEL",
|
||||
"EEAEAEE",
|
||||
" EFEFE ",
|
||||
"EBECEBE",
|
||||
"EEPPPEE",
|
||||
" TTT "
|
||||
], {
|
||||
L: "kubejs:supercharged_laser_array",
|
||||
G: "kubejs:advanced_micro_miner_guidance_system",
|
||||
E: "gtceu:double_enderium_plate",
|
||||
A: "gtceu:mv_super_chest",
|
||||
F: "kubejs:enderium_micro_miner_core",
|
||||
B: "gtceu:iv_field_generator",
|
||||
C: "nuclearcraft:fission_reactor_controller",
|
||||
P: "nuclearcraft:fission_reactor_port",
|
||||
T: "kubejs:resonant_thruster"
|
||||
})
|
||||
|
||||
// T7 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t7", [
|
||||
" 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"
|
||||
})
|
||||
|
||||
// T8 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t8", [
|
||||
" G C C G ",
|
||||
" WCCLCCW ",
|
||||
" WCIIICW ",
|
||||
"LCIIIIICL",
|
||||
"WCAABAACW",
|
||||
"WCWWIWWCW",
|
||||
"WMCCICCMW",
|
||||
"WDWWIWWDW",
|
||||
" E E "
|
||||
], {
|
||||
G: "kubejs:advanced_micro_miner_guidance_system",
|
||||
C: "gtceu:double_crystal_matrix_plate",
|
||||
W: "gtceu:double_rhodium_plated_palladium_plate",
|
||||
L: "kubejs:supercharged_laser_array",
|
||||
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 ",
|
||||
" Q ",
|
||||
" QUQ ",
|
||||
" QAQ ",
|
||||
" QPQPQ ",
|
||||
" QQTCTQQ ",
|
||||
"QQBHRHBQQ",
|
||||
" QQQQQQQ ",
|
||||
"QQ W W QQ"
|
||||
], {
|
||||
Q: "kubejs:quantum_fluxed_eternium_heavy_plating",
|
||||
U: "kubejs:universal_navigator",
|
||||
A: "gtceu:uv_field_generator",
|
||||
B: "gtceu:ev_super_chest",
|
||||
P: "gtceu:plasma_large_turbine",
|
||||
R: "kubejs:universal_warp_core",
|
||||
T: "gtceu:tungstensteel_gearbox",
|
||||
C: "kubejs:universal_warp_controller",
|
||||
H: "gtceu:uv_rotor_holder",
|
||||
W: "kubejs:hadal_warp_engine"
|
||||
})
|
||||
|
||||
// T10 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t10", [
|
||||
" N N ",
|
||||
" NN NN ",
|
||||
" NN NN ",
|
||||
" NN NN ",
|
||||
" NUNNNUN ",
|
||||
"PNCNENCNP",
|
||||
"NNRNANRNN",
|
||||
" NNNNNNN ",
|
||||
"NW W W WN"
|
||||
], {
|
||||
N: "kubejs:universe_resistant_neutronium_heavy_plating",
|
||||
U: "kubejs:universal_navigator",
|
||||
R: "kubejs:universal_warp_core",
|
||||
C: "kubejs:universal_warp_controller",
|
||||
P: "solarflux:sp_custom_neutronium",
|
||||
E: "gtceu:energy_cluster",
|
||||
A: "gtceu:iv_quantum_chest",
|
||||
W: "kubejs:hadal_warp_engine"
|
||||
})
|
||||
|
||||
// T11 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t11", [
|
||||
" A M A ",
|
||||
" O M O ",
|
||||
" OO M OO ",
|
||||
" POOMMMOOP ",
|
||||
" OONMMMNOO ",
|
||||
"POOMMCMMOOP",
|
||||
"OODMMIMMDOO",
|
||||
"OOBMOOOMBOO",
|
||||
"OOOOW WOOOO",
|
||||
" OOW WOO ",
|
||||
" W W "
|
||||
], {
|
||||
O: "kubejs:elementally_infused_omnic_matrix_heavy_plating",
|
||||
M: "gtceu:double_crystal_matrix_plate",
|
||||
P: "solarflux:sp_custom_neutronium",
|
||||
W: "kubejs:hadal_warp_engine",
|
||||
A: "gtceu:uev_robot_arm",
|
||||
C: "gtceu:uhv_quantum_chest",
|
||||
N: "kubejs:universal_navigator",
|
||||
I: "kubejs:infinity_power_unit",
|
||||
B: "kubejs:universal_warp_core",
|
||||
D: "kubejs:universal_warp_controller"
|
||||
})
|
||||
|
||||
// T12 Microminer
|
||||
event.recipes.extendedcrafting.shaped_table("kubejs:microminer_t12", [
|
||||
" I ",
|
||||
" IEI ",
|
||||
" III ",
|
||||
" IISII ",
|
||||
" PISQSIP ",
|
||||
" IIJSJII ",
|
||||
" IIIJCJIII ",
|
||||
"PIIDJJJDIIP",
|
||||
"IIIJJ JJIII",
|
||||
"IIWW WWII",
|
||||
"IW WI"
|
||||
], {
|
||||
I: "kubejs:dimensionally_stabilized_infinity_heavy_plating",
|
||||
J: "kubejs:universe_resistant_neutronium_heavy_plating",
|
||||
E: "kubejs:extradimensional_navigator",
|
||||
P: "solarflux:sp_custom_infinity",
|
||||
C: "gtceu:uhv_quantum_chest",
|
||||
W: "kubejs:hadal_warp_engine",
|
||||
D: "kubejs:infinity_power_unit",
|
||||
S: "kubejs:dimensional_stabilization_netherite_casing",
|
||||
Q: "kubejs:field_stabilised_omnic_pulsar_compound"
|
||||
})
|
||||
|
||||
//
|
||||
// Half Tier Microminers
|
||||
//
|
||||
// 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")
|
||||
})
|
||||
130
kubejs/server_scripts/microverse/mission_utils.js
Normal file
130
kubejs/server_scripts/microverse/mission_utils.js
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
// priority: 1
|
||||
/**
|
||||
* Utility functions for registering microminer missions,
|
||||
* 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 stabilized mission 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:microminer_t${minerTier}_damaged`, minerReturnChance, minerReturnChance == 10000 ? 0 : 500)
|
||||
}
|
||||
|
||||
const stabilized_miners = [
|
||||
"2half",
|
||||
"4half",
|
||||
"6",
|
||||
"7",
|
||||
"8"
|
||||
]
|
||||
|
||||
// Register actualization chamber counterparts in Hard Mode and Expert Mode except for T9+
|
||||
if(stabilized_miners.indexOf(minerTier.toString()) != -1) {
|
||||
builders[1] = event.recipes.gtceu.microverse(`kubejs:mission_t${minerTier}_${global.mission_counts[minerTier]}_stabilized`)
|
||||
.addData("projector_tier", projectorTier)
|
||||
.itemInputs(`kubejs:stabilized_microminer_t${minerTier}`)
|
||||
.itemOutputs(`kubejs:stabilized_microminer_t${minerTier}`)
|
||||
.duration(Math.round(duration * 20))
|
||||
.EUt(EUt)
|
||||
}
|
||||
|
||||
return builders;
|
||||
}
|
||||
64
kubejs/server_scripts/microverse/projectors.js
Normal file
64
kubejs/server_scripts/microverse/projectors.js
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/**
|
||||
* Recipes for crafting Microverse Projectors, Microversium, and Microversium casing.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Microversium Dust
|
||||
event.recipes.gtceu.mixer("microversium")
|
||||
.itemInputs("2x gtceu:steel_dust", "glowstone_dust", "redstone")
|
||||
.inputFluids("gtceu:deuterium 1000")
|
||||
.itemOutputs("5x gtceu:microversium_dust")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
// 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")
|
||||
})
|
||||
83
kubejs/server_scripts/microverse/repair.js
Normal file
83
kubejs/server_scripts/microverse/repair.js
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
/**
|
||||
* Recipe definitions for repairing microminers.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Durations for repairs of a given microminer tier.
|
||||
* Compare with missionDurations of mission_utils.js.
|
||||
*/
|
||||
const repairDurations = {
|
||||
"2half": 80,
|
||||
"4half": 120,
|
||||
"6": 160,
|
||||
"7": 180,
|
||||
"8": 200
|
||||
}
|
||||
|
||||
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) {
|
||||
let minerTierNumber;
|
||||
|
||||
if(minerTier == "2half") minerTierNumber = 2.5;
|
||||
else if(minerTier == "4half") minerTierNumber = 4.5;
|
||||
else minerTierNumber = minerTier;
|
||||
|
||||
const builder = event.recipes.gtceu.assembler(`kubejs:repair_t${minerTier}`)
|
||||
.itemInputs(`kubejs:microminer_t${minerTier}_damaged`)
|
||||
.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)
|
||||
})
|
||||
}
|
||||
|
||||
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:warp_engine", 2100, -700)
|
||||
.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)
|
||||
.chancedInput("kubejs:warp_controller", 2400, -600)
|
||||
|
||||
// Combat miners always need repairs for engaging in combat
|
||||
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)
|
||||
})
|
||||
29
kubejs/server_scripts/microverse/stabilized_miners.js
Normal file
29
kubejs/server_scripts/microverse/stabilized_miners.js
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/**
|
||||
* Script for generating recipes for stabilized microminers.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
const stabilized_miners = [
|
||||
"2half",
|
||||
"4half",
|
||||
"6",
|
||||
"7",
|
||||
"8"
|
||||
]
|
||||
|
||||
/**
|
||||
* 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", "2x kubejs:hadal_shard", "8x gtceu:uv_field_generator", "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])
|
||||
}
|
||||
|
||||
stabilized_miners.forEach((minerTier) => {
|
||||
stabilized_miner_recipe(minerTier);
|
||||
});
|
||||
})
|
||||
1249
kubejs/server_scripts/mods/AE2.js
Normal file
1249
kubejs/server_scripts/mods/AE2.js
Normal file
File diff suppressed because it is too large
Load diff
508
kubejs/server_scripts/mods/Ad_Astra.js
Normal file
508
kubejs/server_scripts/mods/Ad_Astra.js
Normal file
|
|
@ -0,0 +1,508 @@
|
|||
/**
|
||||
* Custom recipes for Ad Astra
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Replace all Steel plates & rods
|
||||
event.replaceInput({ id: /^ad_astra:.*/ }, "ad_astra:steel_rod", "gtceu:steel_rod")
|
||||
event.replaceInput({ id: /^ad_astra:.*/ }, "ad_astra:steel_plate", "gtceu:steel_plate")
|
||||
|
||||
|
||||
// Space Suit
|
||||
event.shaped("4x kubejs:thermal_cloth", [
|
||||
"SSS",
|
||||
"SSS",
|
||||
"SSS"
|
||||
], {
|
||||
S: "minecraft:string"
|
||||
})
|
||||
|
||||
event.shaped("kubejs:unprepared_space_helmet", [
|
||||
"TTT",
|
||||
"T T",
|
||||
" "
|
||||
], {
|
||||
T: "kubejs:thermal_cloth"
|
||||
})
|
||||
|
||||
event.shaped("kubejs:unprepared_space_suit", [
|
||||
"T T",
|
||||
"TTT",
|
||||
"TTT"
|
||||
], {
|
||||
T: "kubejs:thermal_cloth"
|
||||
})
|
||||
|
||||
event.shaped("kubejs:unprepared_space_pants", [
|
||||
"TTT",
|
||||
"T T",
|
||||
"T T"
|
||||
], {
|
||||
T: "kubejs:thermal_cloth"
|
||||
})
|
||||
|
||||
event.shaped("kubejs:unprepared_space_boots", [
|
||||
" ",
|
||||
"T T",
|
||||
"T T"
|
||||
], {
|
||||
T: "kubejs:thermal_cloth"
|
||||
})
|
||||
|
||||
event.shaped("kubejs:pressure_layer", [
|
||||
"CPC",
|
||||
"CPC",
|
||||
"CPC"
|
||||
], {
|
||||
C: "kubejs:thermal_cloth",
|
||||
P: "gtceu:black_steel_plate"
|
||||
})
|
||||
|
||||
event.shaped("kubejs:radiation_layer", [
|
||||
"CPC",
|
||||
"CPC",
|
||||
"CPC"
|
||||
], {
|
||||
C: "kubejs:thermal_cloth",
|
||||
P: "gtceu:lead_plate"
|
||||
})
|
||||
|
||||
const spacesuit = ["pants", "boots"]
|
||||
|
||||
// Space Suit
|
||||
event.remove({ id: "ad_astra:space_helmet" })
|
||||
event.recipes.gtceu.assembler("space_helmet")
|
||||
.itemInputs("kubejs:unprepared_space_helmet", "#forge:double_plates/steel", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer", "#gtceu:circuits/lv", "#forge:glass")
|
||||
.itemOutputs("ad_astra:space_helmet")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.remove({ id: "ad_astra:space_suit" })
|
||||
event.recipes.gtceu.assembler("space_suit")
|
||||
.itemInputs("kubejs:unprepared_space_suit", "#forge:double_plates/steel", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer", "ad_astra:oxygen_gear", "2x ad_astra:gas_tank")
|
||||
.itemOutputs("ad_astra:space_suit")
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
spacesuit.forEach(part => {
|
||||
event.remove({ id: `ad_astra:space_${part}` })
|
||||
event.recipes.gtceu.assembler(`space_${part}`)
|
||||
.itemInputs(`kubejs:unprepared_space_${part}`, "#forge:double_plates/steel", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer")
|
||||
.itemOutputs(`ad_astra:space_${part}`)
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})
|
||||
|
||||
// Netherite space suit
|
||||
event.remove({ id: "ad_astra:netherite_space_helmet" })
|
||||
event.recipes.gtceu.assembler("netherite_space_helmet")
|
||||
.itemInputs("kubejs:unprepared_space_helmet", "minecraft:netherite_ingot", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer", "#gtceu:circuits/hv", "#forge:glass/tinted", "#forge:foils/gold")
|
||||
.itemOutputs("ad_astra:netherite_space_helmet")
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.remove({ id: "ad_astra:netherite_space_suit" })
|
||||
event.recipes.gtceu.assembler("netherite_space_suit")
|
||||
.itemInputs("kubejs:unprepared_space_suit", "minecraft:netherite_ingot", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer", "ad_astra:oxygen_gear", "2x ad_astra:large_gas_tank")
|
||||
.itemOutputs("ad_astra:netherite_space_suit")
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
spacesuit.forEach(part => {
|
||||
event.remove({ id: `ad_astra:netherite_space_${part}` })
|
||||
event.recipes.gtceu.assembler(`netherite_space_${part}`)
|
||||
.itemInputs(`kubejs:unprepared_space_${part}`, "minecraft:netherite_ingot", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer")
|
||||
.itemOutputs(`ad_astra:netherite_space_${part}`)
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
})
|
||||
|
||||
// Jet Suit
|
||||
event.remove({ id: "ad_astra:jet_suit_helmet" })
|
||||
event.recipes.gtceu.assembler("jet_suit_helmet")
|
||||
.itemInputs("ad_astra:netherite_space_helmet", "4x gtceu:titanium_carbide_plate", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer", "#gtceu:circuits/iv")
|
||||
.itemOutputs("ad_astra:jet_suit_helmet")
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.remove({ id: "ad_astra:jet_suit" })
|
||||
event.recipes.gtceu.assembler("jet_suit")
|
||||
.itemInputs("ad_astra:netherite_space_suit", "4x gtceu:titanium_carbide_plate", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer", "ad_astra:oxygen_gear", "2x ad_astra:large_gas_tank", "2x kubejs:vibrant_thruster")
|
||||
.itemOutputs("ad_astra:jet_suit")
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
spacesuit.forEach(part => {
|
||||
event.remove({ id: `ad_astra:jet_suit_${part}` })
|
||||
event.recipes.gtceu.assembler(`jet_suit_${part}`)
|
||||
.itemInputs(`ad_astra:netherite_space_${part}`, "4x gtceu:titanium_carbide_plate", "2x kubejs:pressure_layer", "2x kubejs:radiation_layer")
|
||||
.itemOutputs(`ad_astra:jet_suit_${part}`)
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
})
|
||||
|
||||
|
||||
// Nasa Work Bench
|
||||
event.recipes.extendedcrafting.shaped_table("ad_astra:nasa_workbench", [
|
||||
"RPEPR",
|
||||
"PXCXP",
|
||||
"PCACP",
|
||||
"PXCXP",
|
||||
"RPEPR"
|
||||
], {
|
||||
P: "gtceu:double_steel_plate",
|
||||
R: "gtceu:hv_robot_arm",
|
||||
X: "gtceu:hv_machine_casing",
|
||||
A: "gtceu:mv_assembler",
|
||||
E: "gtceu:hv_emitter",
|
||||
C: "#gtceu:circuits/hv"
|
||||
}).id("ad_astra:nasa_workbench")
|
||||
|
||||
// Oxygen Gear
|
||||
event.remove({ output: "ad_astra:oxygen_gear" })
|
||||
event.shaped("ad_astra:oxygen_gear", [
|
||||
" R ",
|
||||
"PCP",
|
||||
"F F"
|
||||
], {
|
||||
R: "kubejs:resonating_crystal",
|
||||
P: "gtceu:lv_electric_pump",
|
||||
C: "#gtceu:circuits/lv",
|
||||
F: "gtceu:steel_fluid_cell"
|
||||
})
|
||||
|
||||
// Engines and Tanks
|
||||
event.remove({ output: /ad_astra:.*_engine/ })
|
||||
event.remove({ output: /ad_astra:.*_tank/ })
|
||||
event.shaped("ad_astra:steel_engine", [
|
||||
" P ",
|
||||
"PPP",
|
||||
"TTT"
|
||||
], {
|
||||
P: "gtceu:double_black_steel_plate",
|
||||
T: "kubejs:electrical_steel_thruster"
|
||||
})
|
||||
|
||||
event.shaped("ad_astra:steel_tank", [
|
||||
"PTP",
|
||||
"PTP",
|
||||
"PTP"
|
||||
], {
|
||||
P: "gtceu:double_black_steel_plate",
|
||||
T: "enderio:fluid_tank"
|
||||
})
|
||||
|
||||
event.shaped("ad_astra:desh_engine", [
|
||||
" P ",
|
||||
"PPP",
|
||||
"TTT"
|
||||
], {
|
||||
P: "gtceu:double_signalum_plate",
|
||||
T: "kubejs:energetic_thruster"
|
||||
})
|
||||
|
||||
event.shaped("ad_astra:desh_tank", [
|
||||
"PTP",
|
||||
"PTP",
|
||||
"PTP"
|
||||
], {
|
||||
P: "gtceu:double_signalum_plate",
|
||||
T: "enderio:fluid_tank"
|
||||
})
|
||||
|
||||
|
||||
event.shaped("ad_astra:ostrum_engine", [
|
||||
" P ",
|
||||
"PPP",
|
||||
"TTT"
|
||||
], {
|
||||
P: "gtceu:double_hsss_plate",
|
||||
T: "kubejs:vibrant_thruster"
|
||||
})
|
||||
|
||||
event.shaped("ad_astra:ostrum_tank", [
|
||||
"PTP",
|
||||
"PTP",
|
||||
"PTP"
|
||||
], {
|
||||
P: "gtceu:double_hsss_plate",
|
||||
T: "enderio:fluid_tank"
|
||||
})
|
||||
|
||||
event.shaped("ad_astra:calorite_engine", [
|
||||
" P ",
|
||||
"PPP",
|
||||
"TTT"
|
||||
], {
|
||||
P: "gtceu:double_cryolobus_plate",
|
||||
T: "kubejs:dark_soularium_thruster"
|
||||
})
|
||||
|
||||
event.shaped("ad_astra:calorite_tank", [
|
||||
"PTP",
|
||||
"PTP",
|
||||
"PTP"
|
||||
], {
|
||||
P: "gtceu:double_cryolobus_plate",
|
||||
T: "enderio:fluid_tank"
|
||||
})
|
||||
|
||||
event.recipes.gtceu.assembler("ad_astra/gas_tank")
|
||||
.itemInputs("gtceu:fluid_cell", "4x gtceu:iron_plate")
|
||||
.itemOutputs("ad_astra:gas_tank")
|
||||
.duration(100)
|
||||
.EUt(32)
|
||||
event.recipes.gtceu.assembler("ad_astra/large_gas_tank")
|
||||
.itemInputs("3x gtceu:fluid_cell", "12x gtceu:steel_plate")
|
||||
.itemOutputs("ad_astra:large_gas_tank")
|
||||
.duration(100)
|
||||
.EUt(32)
|
||||
|
||||
|
||||
// Launch Pad
|
||||
event.remove({ id: "ad_astra:launch_pad" })
|
||||
event.recipes.gtceu.assembler("ad_astra:launch_pad")
|
||||
.itemInputs("9x gtceu:dense_steel_plate", "27x gtceu:concrete_dust")
|
||||
.itemOutputs("ad_astra:launch_pad")
|
||||
.duration(300)
|
||||
.EUt(30)
|
||||
|
||||
// Oxygen Loading
|
||||
event.custom('{"type": "ad_astra:oxygen_loading","cookingtime": 1,"energy": 30,"input": {"ingredient": {"tag": "forge:oxygen"},"millibuckets": 25},"result": {"fluid": "gtceu:oxygen","millibuckets": 25}}');
|
||||
event.remove({ id: /oxygen_from_oxygen_loading/ })
|
||||
|
||||
event.remove({ id: "ad_astra:oxygen_distributor" })
|
||||
event.shaped("ad_astra:oxygen_distributor", [
|
||||
"BRB",
|
||||
"PHP",
|
||||
"BCB"
|
||||
], {
|
||||
R: "gtceu:steel_rotor",
|
||||
H: "gtceu:hv_machine_hull",
|
||||
P: "gtceu:hv_electric_pump",
|
||||
B: "minecraft:iron_bars",
|
||||
C: "#gtceu:circuits/hv"
|
||||
})
|
||||
|
||||
event.remove({ id: "ad_astra:oxygen_loader" })
|
||||
event.shaped("ad_astra:oxygen_loader", [
|
||||
"BCB",
|
||||
"PHP",
|
||||
"BRB"
|
||||
], {
|
||||
R: "gtceu:steel_rotor",
|
||||
H: "gtceu:lv_machine_hull",
|
||||
P: "gtceu:lv_electric_pump",
|
||||
B: "minecraft:iron_bars",
|
||||
C: "#gtceu:circuits/lv"
|
||||
})
|
||||
|
||||
event.remove({ id: "ad_astra:gravity_normalizer" })
|
||||
event.shaped("ad_astra:gravity_normalizer", [
|
||||
"BEB",
|
||||
"CHC",
|
||||
"BBB"
|
||||
], {
|
||||
E: "gtceu:ev_emitter",
|
||||
H: "gtceu:ev_machine_hull",
|
||||
B: "gtceu:titanium_plate",
|
||||
C: "#gtceu:circuits/ev"
|
||||
})
|
||||
|
||||
event.remove({ id: "ad_astra:oxygen_sensor" })
|
||||
event.shaped("ad_astra:oxygen_sensor", [
|
||||
"RRR",
|
||||
"TOT",
|
||||
"RRR"
|
||||
], {
|
||||
R: "gtceu:red_alloy_plate",
|
||||
T: "gtceu:lv_sensor",
|
||||
O: "ad_astra:oxygen_loader"
|
||||
})
|
||||
Item.of("ad_astra:tier_1_rover", '{BotariumData:{StoredFluids:[{Amount:0L,Fluid:"minecraft:empty"}]}}')
|
||||
|
||||
event.remove({ id: "ad_astra:tier_1_rover" })
|
||||
event.recipes.gtceu.assembler("ad_astra:tier_1_rover")
|
||||
.itemInputs(["8x gtceu:steel_plate", "4x ad_astra:wheel", "2x gtceu:lv_electric_motor", "ad_astra:radio", "gtceu:lv_sensor"])
|
||||
.itemOutputs("ad_astra:tier_1_rover")
|
||||
.duration(600)
|
||||
.EUt(32)
|
||||
|
||||
const decormaterials = ["iron", "etrium", "steel", "desh", "ostrum", "calorite"]
|
||||
decormaterials.forEach(material => {
|
||||
event.stonecutting(`ad_astra:${material}_plateblock`, `ad_astra:${material}_panel`)
|
||||
event.stonecutting(`ad_astra:encased_${material}_block`, `ad_astra:${material}_panel`)
|
||||
event.stonecutting(`ad_astra:${material}_factory_block`, `ad_astra:${material}_panel`)
|
||||
if (material != "iron") event.stonecutting(`ad_astra:${material}_block`, `ad_astra:${material}_panel`)
|
||||
})
|
||||
|
||||
event.shaped("64x ad_astra:etrium_panel", [
|
||||
"PDP",
|
||||
"DDD",
|
||||
"PDP"
|
||||
], {
|
||||
D: "minecraft:diamond",
|
||||
P: "gtceu:diamond_plate"
|
||||
})
|
||||
|
||||
// Rockets
|
||||
event.remove({ id: /nasa_workbench/ })
|
||||
const rocket = [ // Plate mats currently just based on color of rocket for testing
|
||||
["tier_1_rocket", "steel", "black_steel"],
|
||||
["tier_2_rocket", "desh", "signalum"],
|
||||
["tier_3_rocket", "ostrum", "hsss"],
|
||||
["tier_4_rocket", "calorite", "cryolobus"],
|
||||
]
|
||||
|
||||
rocket.forEach(([rocket, tier, platematerial]) => {
|
||||
event.custom({
|
||||
"type": "ad_astra:nasa_workbench",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "ad_astra:rocket_nose_cone"
|
||||
},
|
||||
{
|
||||
"item": `gtceu:double_${platematerial}_plate`
|
||||
},
|
||||
{
|
||||
"item": `gtceu:double_${platematerial}_plate`
|
||||
},
|
||||
{
|
||||
"item": `gtceu:double_${platematerial}_plate`
|
||||
},
|
||||
{
|
||||
"item": `gtceu:double_${platematerial}_plate`
|
||||
},
|
||||
{
|
||||
"item": `gtceu:double_${platematerial}_plate`
|
||||
},
|
||||
{
|
||||
"item": `gtceu:double_${platematerial}_plate`
|
||||
},
|
||||
{
|
||||
"item": "ad_astra:rocket_fin"
|
||||
},
|
||||
{
|
||||
"item": `ad_astra:${tier}_tank`
|
||||
},
|
||||
{
|
||||
"item": `ad_astra:${tier}_tank`
|
||||
},
|
||||
{
|
||||
"item": "ad_astra:rocket_fin"
|
||||
},
|
||||
{
|
||||
"item": "ad_astra:rocket_fin"
|
||||
},
|
||||
{
|
||||
"item": `ad_astra:${tier}_engine`
|
||||
},
|
||||
{
|
||||
"item": "ad_astra:rocket_fin"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": `ad_astra:${rocket}`
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// Space Stations
|
||||
event.remove({ id: /space_station/ })
|
||||
const spacestations = ["earth", "moon", "mars", "venus", "glacio", "mercury"]
|
||||
spacestations.forEach(dim => {
|
||||
event.custom({
|
||||
"type": "ad_astra:space_station_recipe",
|
||||
"dimension": `ad_astra:${dim}_orbit`,
|
||||
"ingredients": [
|
||||
{
|
||||
"count": 16,
|
||||
"ingredient": {
|
||||
"item": "gtceu:double_titanium_plate"
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": 8,
|
||||
"ingredient": {
|
||||
"tag": "gtceu:circuits/ev"
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": 4,
|
||||
"ingredient": {
|
||||
"item": "gtceu:ev_robot_arm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": 2,
|
||||
"ingredient": {
|
||||
"item": "gtceu:ev_emitter"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structure": "ad_astra:space_station"
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
ServerEvents.tags("fluid", event => {
|
||||
// Fuel
|
||||
event.add("ad_astra:fuel", "gtceu:rocket_fuel")
|
||||
event.add("ad_astra:fuel", "gtceu:jean_gasoline")
|
||||
event.add("ad_astra:efficient_fuel", "gtceu:jean_gasoline")
|
||||
})
|
||||
|
||||
ServerEvents.tags("item", event => {
|
||||
const quarkTechArmor = [
|
||||
"gtceu:quarktech_helmet",
|
||||
"gtceu:quarktech_chestplate",
|
||||
"gtceu:advanced_quarktech_chestplate",
|
||||
"gtceu:quarktech_leggings",
|
||||
"gtceu:quarktech_boots"
|
||||
]
|
||||
event.add("ad_astra:space_resistant_armor", quarkTechArmor)
|
||||
event.add("ad_astra:freeze_resistant_armor", quarkTechArmor)
|
||||
event.add("ad_astra:heat_resistant_armor", quarkTechArmor)
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Ad Astra Rock Breaker
|
||||
function AdAstraRockBreaker(id, input, output, EUt, dimension) {
|
||||
event.recipes.gtceu.rock_breaker(`kubejs:${id}`)
|
||||
.notConsumable(Item.of(input))
|
||||
.itemOutputs(output)
|
||||
.duration(16)
|
||||
.EUt(EUt)
|
||||
.dimension(dimension)
|
||||
.addDataString("fluidA", "minecraft:lava")
|
||||
.addDataString("fluidB", "minecraft:water")
|
||||
}
|
||||
|
||||
AdAstraRockBreaker("moonstone", "ad_astra:moon_stone", "ad_astra:moon_stone", 240, "ad_astra:moon")
|
||||
AdAstraRockBreaker("moondeepslate", "ad_astra:moon_deepslate", "ad_astra:moon_deepslate", 240, "ad_astra:moon")
|
||||
AdAstraRockBreaker("marsstone", "ad_astra:mars_stone", "ad_astra:mars_stone", 240, "ad_astra:mars")
|
||||
AdAstraRockBreaker("conglomerate", "ad_astra:conglomerate", "ad_astra:conglomerate", 240, "ad_astra:mars")
|
||||
AdAstraRockBreaker("venusstone", "ad_astra:venus_stone", "ad_astra:venus_stone", 960, "ad_astra:venus")
|
||||
AdAstraRockBreaker("infernalspireblock", "ad_astra:infernal_spire_block", "ad_astra:infernal_spire_block", 960, "ad_astra:venus")
|
||||
AdAstraRockBreaker("mercurystone", "ad_astra:mercury_stone", "ad_astra:mercury_stone", 960, "ad_astra:mercury")
|
||||
AdAstraRockBreaker("glaciostone", "ad_astra:glacio_stone", "ad_astra:glacio_stone", 2160, "ad_astra:glacio")
|
||||
AdAstraRockBreaker("permafrost", "ad_astra:permafrost", "ad_astra:permafrost", 2160, "ad_astra:glacio")
|
||||
|
||||
// Ad Astra Rock Forge Hammers
|
||||
function AdAstraForgeHammer(id, input, output, duration, EUt) {
|
||||
event.recipes.gtceu.forge_hammer(`kubejs:${id}`)
|
||||
.itemInputs(Item.of(input))
|
||||
.itemOutputs(output)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
}
|
||||
|
||||
AdAstraForgeHammer("mooncobble", "ad_astra:moon_stone", "ad_astra:moon_cobblestone", 12, 4)
|
||||
AdAstraForgeHammer("moonsand", "ad_astra:moon_cobblestone", "ad_astra:moon_sand", 10, 16)
|
||||
AdAstraForgeHammer("marscobble", "ad_astra:mars_stone", "ad_astra:mars_cobblestone", 12, 4)
|
||||
AdAstraForgeHammer("marssand", "ad_astra:mars_cobblestone", "ad_astra:mars_sand", 10, 16)
|
||||
AdAstraForgeHammer("venuscobble", "ad_astra:venus_stone", "ad_astra:venus_cobblestone", 12, 4)
|
||||
AdAstraForgeHammer("venussand", "ad_astra:venus_cobblestone", "ad_astra:venus_sand", 10, 16)
|
||||
AdAstraForgeHammer("mercurycobble", "ad_astra:mercury_stone", "ad_astra:mercury_cobblestone", 12, 4)
|
||||
AdAstraForgeHammer("glaciocobble", "ad_astra:glacio_stone", "ad_astra:glacio_cobblestone", 12, 4)
|
||||
})
|
||||
799
kubejs/server_scripts/mods/EnderIO.js
Normal file
799
kubejs/server_scripts/mods/EnderIO.js
Normal file
|
|
@ -0,0 +1,799 @@
|
|||
/**
|
||||
* Custom recipes for EnderIO
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Item and Fluid Conduits //
|
||||
|
||||
// Make lowest tier fluid conduit pressurized
|
||||
event.remove({ id: "enderio:fluid_conduit" })
|
||||
if (doConduits) {
|
||||
if(doHarderRecipes) {
|
||||
// Manual item conduit
|
||||
event.shaped("4x enderio:item_conduit", [
|
||||
"BPB",
|
||||
"WWW",
|
||||
"BPB"
|
||||
], {
|
||||
B: "enderio:conduit_binder",
|
||||
W: "gtceu:pulsating_alloy_single_wire",
|
||||
P: "gtceu:polyvinyl_chloride_foil"
|
||||
}).id("kubejs:item_conduit")
|
||||
|
||||
event.shaped("4x enderio:pressurized_fluid_conduit", [
|
||||
"BBB",
|
||||
"GGG",
|
||||
"BBB"
|
||||
], {
|
||||
B: "enderio:conduit_binder",
|
||||
G: "#forge:glass/colorless"
|
||||
}).id("kubejs:pressurized_fluid_conduit")
|
||||
|
||||
// Manual ender fluid conduit
|
||||
event.shaped("4x enderio:ender_fluid_conduit", [
|
||||
"BCB",
|
||||
"WPW",
|
||||
"BCB"
|
||||
], {
|
||||
B: "enderio:conduit_binder",
|
||||
W: "gtceu:vibrant_alloy_single_wire",
|
||||
P: "enderio:pressurized_fluid_conduit",
|
||||
C: "gtceu:polyvinyl_chloride_foil"
|
||||
}).id("kubejs:ender_fluid_conduit_upgrade")
|
||||
|
||||
event.remove({ id: "enderio:ender_fluid_conduit_upgrade" })
|
||||
|
||||
// Assembler item conduit
|
||||
event.recipes.gtceu.assembler("kubejs:efficent_item_conduit")
|
||||
.itemInputs("3x gtceu:pulsating_alloy_single_wire", "6x enderio:conduit_binder", "2x gtceu:polyvinyl_chloride_foil")
|
||||
.itemOutputs("8x enderio:item_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Assembler ender fluid conduit
|
||||
event.recipes.gtceu.assembler("kubejs:efficent_ender_conduit")
|
||||
.itemInputs("2x gtceu:vibrant_alloy_single_wire", "enderio:pressurized_fluid_conduit", "6x enderio:conduit_binder", "2x gtceu:polyvinyl_chloride_foil")
|
||||
.itemOutputs("8x enderio:ender_fluid_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
} else {
|
||||
// Manual item conduit
|
||||
event.shaped("4x enderio:item_conduit", [
|
||||
"BBB",
|
||||
"WWW",
|
||||
"BBB"
|
||||
], {
|
||||
B: "enderio:conduit_binder",
|
||||
W: "gtceu:pulsating_alloy_single_wire"
|
||||
}).id("kubejs:item_conduit")
|
||||
|
||||
event.shaped("4x enderio:pressurized_fluid_conduit", [
|
||||
"BBB",
|
||||
"GGG",
|
||||
"BBB"
|
||||
], {
|
||||
B: "enderio:conduit_binder",
|
||||
G: "#forge:glass/colorless"
|
||||
}).id("kubejs:pressurized_fluid_conduit")
|
||||
|
||||
// Manual ender fluid conduit
|
||||
event.shaped("4x enderio:ender_fluid_conduit", [
|
||||
"BBB",
|
||||
"WPW",
|
||||
"BBB"
|
||||
], {
|
||||
B: "enderio:conduit_binder",
|
||||
W: "gtceu:vibrant_alloy_single_wire",
|
||||
P: "enderio:pressurized_fluid_conduit"
|
||||
}).id("kubejs:ender_fluid_conduit_upgrade")
|
||||
|
||||
event.remove({ id: "enderio:ender_fluid_conduit_upgrade" })
|
||||
|
||||
// Assembler item conduit
|
||||
event.recipes.gtceu.assembler("kubejs:efficent_item_conduit")
|
||||
.itemInputs("3x gtceu:pulsating_alloy_single_wire", "6x enderio:conduit_binder")
|
||||
.itemOutputs("8x enderio:item_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Assembler ender fluid conduit
|
||||
event.recipes.gtceu.assembler("kubejs:efficent_ender_conduit")
|
||||
.itemInputs("2x gtceu:vibrant_alloy_single_wire", "enderio:pressurized_fluid_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("8x enderio:ender_fluid_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
}
|
||||
|
||||
// Energy Conduits //
|
||||
|
||||
// Conductive Iron
|
||||
event.shaped("3x enderio:conductive_conduit", [
|
||||
"AAA",
|
||||
"BBB",
|
||||
"AAA"
|
||||
], {
|
||||
A: "enderio:conduit_binder",
|
||||
B: "gtceu:conductive_alloy_single_wire"
|
||||
}).id("kubejs:conductive_conduit")
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:conductive_conduit")
|
||||
.itemInputs("3x gtceu:conductive_alloy_single_wire", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:conductive_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Energetic Alloy
|
||||
event.shaped("3x enderio:energetic_conduit", [
|
||||
"AAA",
|
||||
"BCB",
|
||||
"AAA"
|
||||
], {
|
||||
A: "enderio:conduit_binder",
|
||||
B: "gtceu:energetic_alloy_single_wire",
|
||||
C: "enderio:conductive_conduit"
|
||||
}).id("kubejs:energetic_conduit")
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:energetic_conduit")
|
||||
.itemInputs("2x gtceu:energetic_alloy_single_wire", "enderio:conductive_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:energetic_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Vibrant Alloy
|
||||
event.shaped("3x enderio:vibrant_conduit", [
|
||||
"AAA",
|
||||
"BCB",
|
||||
"AAA"
|
||||
], {
|
||||
A: "enderio:conduit_binder",
|
||||
B: "gtceu:vibrant_alloy_single_wire",
|
||||
C: "enderio:energetic_conduit"
|
||||
}).id("kubejs:vibrant_conduit")
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:vibrant_conduit")
|
||||
.itemInputs("2x gtceu:vibrant_alloy_single_wire", "enderio:energetic_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:vibrant_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Endsteel
|
||||
event.recipes.gtceu.assembler("kubejs:endsteel_conduit")
|
||||
.itemInputs("2x gtceu:end_steel_single_wire", "enderio:vibrant_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:endsteel_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Lumium
|
||||
event.recipes.gtceu.assembler("kubejs:lumium_conduit")
|
||||
.itemInputs("2x gtceu:lumium_single_wire", "enderio:endsteel_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:lumium_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Signalum
|
||||
event.recipes.gtceu.assembler("kubejs:signalum_conduit")
|
||||
.itemInputs("2x gtceu:signalum_single_wire", "enderio:lumium_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:signalum_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Enderium
|
||||
event.recipes.gtceu.assembler("kubejs:enderium_conduit")
|
||||
.itemInputs("2x gtceu:enderium_single_wire", "enderio:signalum_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:enderium_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Cryolobus
|
||||
event.recipes.gtceu.assembler("kubejs:cryolobus_conduit")
|
||||
.itemInputs("2x gtceu:cryolobus_single_wire", "enderio:enderium_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:cryolobus_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Sculk Superconductor
|
||||
event.recipes.gtceu.assembler("kubejs:sculk_superconductor_conduit")
|
||||
.itemInputs("2x gtceu:sculk_superconductor_single_wire", "enderio:cryolobus_conduit", "6x enderio:conduit_binder")
|
||||
.itemOutputs("4x enderio:sculk_superconductor_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
} else {
|
||||
event.remove({ id: "enderio:ender_fluid_conduit_upgrade" })
|
||||
event.remove({ output: "enderio:pressurized_fluid_conduit" })
|
||||
}
|
||||
|
||||
event.remove({ output: ["enderio:iron_gear", "enderio:energized_gear", "enderio:vibrant_gear", "enderio:dark_bimetal_gear"] })
|
||||
|
||||
// Infinity Bimetal Gear
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:infinity_gear")
|
||||
.itemInputs("gtceu:iron_gear", "2x enderio:grains_of_infinity")
|
||||
.itemOutputs("enderio:iron_gear")
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
|
||||
// Energized Bimetal Gear
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:energetic_gear")
|
||||
.itemInputs("enderio:iron_gear", "4x gtceu:energetic_alloy_ingot")
|
||||
.itemOutputs("enderio:energized_gear")
|
||||
.duration(150)
|
||||
.EUt(16)
|
||||
|
||||
// Vibrant Bimetal Gear
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:vibrant_gear")
|
||||
.itemInputs("enderio:energized_gear", "4x gtceu:vibrant_alloy_ingot")
|
||||
.itemOutputs("enderio:vibrant_gear")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
// Dark Bimetal Gear
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:dark_bimetal_gear")
|
||||
.itemInputs("enderio:iron_gear", "4x gtceu:dark_steel_ingot")
|
||||
.itemOutputs("enderio:dark_bimetal_gear")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
|
||||
event.remove({ output: ["enderio:pulsating_crystal", "enderio:vibrant_crystal"] })
|
||||
|
||||
event.recipes.gtceu.autoclave("kubejs:vibrant_crystal")
|
||||
.itemInputs("minecraft:emerald")
|
||||
.inputFluids(Fluid.of("gtceu:vibrant_alloy", 144))
|
||||
.itemOutputs("enderio:vibrant_crystal")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.autoclave("kubejs:pulsating_crystal")
|
||||
.itemInputs("minecraft:diamond")
|
||||
.inputFluids(Fluid.of("gtceu:pulsating_alloy", 144))
|
||||
.itemOutputs("enderio:pulsating_crystal")
|
||||
.duration(100)
|
||||
.EUt(30)
|
||||
|
||||
// Disable EnderIO machinery
|
||||
|
||||
event.remove({ id: "enderio:primitive_alloy_smelter" })
|
||||
event.remove({ id: "enderio:alloy_smelter" })
|
||||
event.remove({ id: "enderio:sag_mill" })
|
||||
event.remove({ id: "enderio:stirling_generator" })
|
||||
|
||||
// Capacitors
|
||||
event.remove({ output: "enderio:basic_capacitor" })
|
||||
|
||||
const capacitorCores = [
|
||||
["#gtceu:circuits/ulv", 1],
|
||||
["gtceu:capacitor", 2],
|
||||
["gtceu:smd_capacitor", 3],
|
||||
["gtceu:advanced_smd_capacitor", 3 * 4],
|
||||
["kubejs:complex_smd_capacitor", 3 * 4 * 4],
|
||||
]
|
||||
|
||||
capacitorCores.forEach(core => {
|
||||
event.shaped(`${core[1]}x enderio:basic_capacitor`, [
|
||||
" N ",
|
||||
"NCN",
|
||||
"W W"
|
||||
], {
|
||||
N: "#forge:ingots/electrical_steel",
|
||||
C: core[0],
|
||||
W: "gtceu:tin_single_wire"
|
||||
}).id(`kubejs:basic_capacitor_${Item.of(core[0]).idLocation.path}`)
|
||||
})
|
||||
|
||||
// Compressed caps
|
||||
event.shaped("kubejs:compressed_octadic_capacitor", [
|
||||
"CCC",
|
||||
"CCC",
|
||||
"CCC"
|
||||
], {
|
||||
C: "enderio:octadic_capacitor"
|
||||
}).id("kubejs:compressed_octadic_capacitor")
|
||||
|
||||
event.shaped("kubejs:double_compressed_octadic_capacitor", [
|
||||
"CCC",
|
||||
"CCC",
|
||||
"CCC"
|
||||
], {
|
||||
C: "kubejs:compressed_octadic_capacitor"
|
||||
}).id("kubejs:double_compressed_octadic_capacitor")
|
||||
|
||||
// make it use tags
|
||||
event.replaceInput({ id: "enderio:octadic_capacitor" }, "minecraft:glowstone", "#forge:storage_blocks/glowstone")
|
||||
|
||||
// capacitor banks
|
||||
event.remove({ id: "enderio:advanced_capacitor_bank" })
|
||||
event.remove({ id: "enderio:vibrant_capacitor_bank_upgrade" })
|
||||
|
||||
event.replaceInput({ id: "enderio:basic_capacitor_bank" }, "#forge:ingots/iron", "#forge:plates/iron")
|
||||
event.replaceInput({ id: "enderio:advanced_capacitor_bank_upgrade" }, "#forge:ingots/energetic_alloy", "#forge:plates/electrical_steel")
|
||||
event.replaceInput({ id: "enderio:vibrant_capacitor_bank" }, ["#forge:ingots/vibrant_alloy", "enderio:octadic_capacitor"], "#forge:plates/vibrant_alloy")
|
||||
|
||||
// Fused Quartz
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:fused_quartz")
|
||||
.itemInputs("3x minecraft:quartz")
|
||||
.notConsumable("gtceu:block_casting_mold")
|
||||
.itemOutputs("enderio:fused_quartz")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Clear Glass
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:clear_glass_soda_ash")
|
||||
.itemInputs("minecraft:glass", "gtceu:tiny_soda_ash_dust")
|
||||
.itemOutputs("enderio:clear_glass")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:clear_glass_quicklime")
|
||||
.itemInputs("minecraft:glass", "gtceu:tiny_quicklime_dust")
|
||||
.itemOutputs("enderio:clear_glass")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Enlightened fused quartz
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:enlightened_fused_quartz")
|
||||
.itemInputs("#enderio:fused_quartz", "minecraft:glowstone")
|
||||
.itemOutputs("enderio:fused_quartz_e")
|
||||
.duration(160)
|
||||
.EUt(16)
|
||||
|
||||
// dark fused quartz
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:dark_fused_quartz")
|
||||
.itemInputs("#enderio:fused_quartz", "gtceu:black_quartz_gem")
|
||||
.itemOutputs("enderio:fused_quartz_d")
|
||||
.duration(200)
|
||||
.EUt(32)
|
||||
|
||||
// Enlightened clear glass
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:enlightened_clear_glass")
|
||||
.itemInputs("#enderio:clear_glass", "minecraft:glowstone")
|
||||
.itemOutputs("enderio:clear_glass_e")
|
||||
.duration(160)
|
||||
.EUt(16)
|
||||
|
||||
// dark clear glass
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:dark_clear_glass")
|
||||
.itemInputs("#enderio:clear_glass", "gtceu:black_quartz_gem")
|
||||
.itemOutputs("enderio:clear_glass_d")
|
||||
.duration(200)
|
||||
.EUt(32)
|
||||
|
||||
// Remove useless/op conduit recipes from enderio
|
||||
event.remove({ input: "#enderio:fused_quartz", output: "enderio:pressurized_fluid_conduit" })
|
||||
event.remove({ input: "gtceu:vibrant_alloy_ingot", output: "enderio:ender_fluid_conduit" })
|
||||
event.remove({ input: "gtceu:pulsating_alloy_nugget", output: "enderio:item_conduit" })
|
||||
|
||||
// chasis. "industrial machine chassis"
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:void_chassis")
|
||||
.itemInputs("gtceu:lv_machine_hull", "#forge:dusts/grains_of_infinity")
|
||||
.itemOutputs("enderio:void_chassis")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:ensouled_chassis")
|
||||
.itemInputs("enderio:void_chassis", "#forge:dusts/soularium")
|
||||
.itemOutputs("enderio:ensouled_chassis")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:infinity_rod")
|
||||
.itemInputs("gtceu:dark_steel_rod", "enderio:grains_of_infinity")
|
||||
.itemOutputs("enderio:infinity_rod")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
// Conduit Binder Composite Mixer Recipe
|
||||
event.recipes.gtceu.mixer("kubejs:conduit_binder_composite")
|
||||
.itemInputs("2x minecraft:clay_ball", "3x minecraft:gravel", "2x #minecraft:smelts_to_glass")
|
||||
.itemOutputs("8x enderio:conduit_binder_composite")
|
||||
.duration(64)
|
||||
.EUt(7)
|
||||
|
||||
|
||||
// Enchanter
|
||||
event.remove({ output: ["enderio:enchanter"] })
|
||||
event.shaped("enderio:enchanter", [
|
||||
"DCD",
|
||||
"BBB",
|
||||
" A "
|
||||
], {
|
||||
A: "gtceu:void_block",
|
||||
B: "gtceu:dark_steel_ingot",
|
||||
C: "minecraft:book",
|
||||
D: "minecraft:diamond"
|
||||
}).id("kubejs:enchanter")
|
||||
|
||||
// Custom enchanter books
|
||||
event.custom(
|
||||
{
|
||||
"type": "enderio:enchanting",
|
||||
"cost_multiplier": 1,
|
||||
"enchantment": "ensorcellation:air_affinity",
|
||||
"input": {
|
||||
"count": 1,
|
||||
"ingredient": {
|
||||
"item": "quark:bottled_cloud"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
event.custom(
|
||||
{
|
||||
"type": "enderio:enchanting",
|
||||
"cost_multiplier": 1,
|
||||
"enchantment": "ensorcellation:reach",
|
||||
"input": {
|
||||
"count": 1,
|
||||
"ingredient": {
|
||||
"item": "ulvcovm:ulv_robot_arm"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Yeta Wrench
|
||||
event.remove({ output: ["enderio:yeta_wrench"] })
|
||||
event.shaped("enderio:yeta_wrench", [
|
||||
"I I",
|
||||
" G ",
|
||||
" I "
|
||||
], {
|
||||
I: "#forge:ingots/iron",
|
||||
G: "gtceu:iron_gear"
|
||||
}).id("kubejs:yeta_wrench")
|
||||
event.remove({ output: "enderio:void_chassis" })
|
||||
|
||||
// Redstone Conduit
|
||||
event.replaceInput({ id: "enderio:redstone_conduit" }, "gtceu:red_alloy_ingot", "gtceu:red_alloy_single_wire")
|
||||
|
||||
// Soul Vials
|
||||
|
||||
// Villager Soul Vial
|
||||
event.shaped(Item.of("enderio:filled_soul_vial", '{BlockEntityTag: {EntityStorage: {Entity: {id: "minecraft:villager"}}}}').strongNBT(), [
|
||||
" E ",
|
||||
"EVE",
|
||||
" E "
|
||||
], {
|
||||
E: "minecraft:emerald",
|
||||
V: "enderio:empty_soul_vial"
|
||||
}).id("kubejs:villager_soul_vial")
|
||||
|
||||
// Enderman Soul Vial
|
||||
event.shaped(Item.of("enderio:filled_soul_vial", '{BlockEntityTag: {EntityStorage: {Entity: {id: "minecraft:enderman"}}}}').strongNBT(), [
|
||||
" E ",
|
||||
"EVE",
|
||||
" E "
|
||||
], {
|
||||
E: "enderio:enderman_head",
|
||||
V: "enderio:empty_soul_vial"
|
||||
}).id("kubejs:enderman_soul_vial")
|
||||
|
||||
// Shulker Soul Vial
|
||||
event.shaped(Item.of("enderio:filled_soul_vial", '{BlockEntityTag: {EntityStorage: {Entity: {id: "minecraft:shulker"}}}}').strongNBT(), [
|
||||
" E ",
|
||||
"EVE",
|
||||
" E "
|
||||
], {
|
||||
E: "minecraft:shulker_shell",
|
||||
V: "enderio:empty_soul_vial"
|
||||
}).id("kubejs:shulker_soul_vial")
|
||||
|
||||
// Zombie Soul Vial
|
||||
event.shaped(Item.of("enderio:filled_soul_vial", '{BlockEntityTag: {EntityStorage: {Entity: {id: "minecraft:zombie"}}}}').strongNBT(), [
|
||||
" E ",
|
||||
"EVE",
|
||||
" E "
|
||||
], {
|
||||
E: "minecraft:zombie_head",
|
||||
V: "enderio:empty_soul_vial"
|
||||
}).id("kubejs:zombie_soul_vial")
|
||||
|
||||
// Ghast Soul Vial
|
||||
event.shaped(Item.of("enderio:filled_soul_vial", '{BlockEntityTag: {EntityStorage: {Entity: {id: "minecraft:ghast"}}}}').strongNBT(), [
|
||||
" E ",
|
||||
"EVE",
|
||||
" E "
|
||||
], {
|
||||
E: "minecraft:ghast_tear",
|
||||
V: "enderio:empty_soul_vial"
|
||||
}).id("kubejs:ghast_soul_vial")
|
||||
|
||||
// Witch Soul Vial
|
||||
event.shaped(Item.of("enderio:filled_soul_vial", '{BlockEntityTag: {EntityStorage: {Entity: {id: "minecraft:witch"}}}}').strongNBT(), [
|
||||
"GEG",
|
||||
"EVE",
|
||||
"GEG"
|
||||
], {
|
||||
E: "minecraft:redstone",
|
||||
G: "minecraft:glowstone_dust",
|
||||
V: "enderio:empty_soul_vial"
|
||||
}).id("kubejs:witch_soul_vial")
|
||||
|
||||
// Grains
|
||||
event.recipes.gtceu.macerator("kubejs:grains_of_prescience")
|
||||
.itemInputs("enderio:prescient_crystal")
|
||||
.itemOutputs("enderio:prescient_powder")
|
||||
.duration(400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.macerator("kubejs:grains_of_vibrancy")
|
||||
.itemInputs("enderio:vibrant_crystal")
|
||||
.itemOutputs("enderio:vibrant_powder")
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.macerator("kubejs:grains_of_piezallity")
|
||||
.itemInputs("enderio:pulsating_crystal")
|
||||
.itemOutputs("enderio:pulsating_powder")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.macerator("kubejs:grains_of_the_end")
|
||||
.itemInputs("enderio:ender_crystal")
|
||||
.itemOutputs("enderio:ender_crystal_powder")
|
||||
.duration(500)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.macerator("kubejs:grains_of_innocence")
|
||||
.itemInputs("enderio:enticing_crystal")
|
||||
.itemOutputs("kubejs:grains_of_innocence")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
// Fluid of the Void (TODO: actually use EnderIO machines when they are totally definitely for sure ported to 1.20.1)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("kubejs:dew_of_the_void")
|
||||
.itemInputs("enderio:pulsating_powder", "enderio:vibrant_powder")
|
||||
.inputFluids("thermal:ender 4000")
|
||||
.outputFluids("enderio:dew_of_the_void 2000")
|
||||
.duration(84)
|
||||
.EUt(15)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("kubejs:ender_star")
|
||||
.itemInputs("minecraft:nether_star")
|
||||
.inputFluids("enderio:dew_of_the_void 8000")
|
||||
.itemOutputs("kubejs:ender_star")
|
||||
.duration(2000)
|
||||
.EUt(400)
|
||||
|
||||
// Painting Machine
|
||||
event.remove({ id: "enderio:painting_machine" })
|
||||
event.shaped("enderio:painting_machine", [
|
||||
"QDQ",
|
||||
"GHG",
|
||||
"RRR"
|
||||
], {
|
||||
D: "minecraft:diamond",
|
||||
G: "enderio:iron_gear", // DO NOT CONVERT TO GT, THIS EXPLICITLY USES ENDERIO
|
||||
H: "gtceu:lv_machine_hull",
|
||||
Q: "minecraft:quartz",
|
||||
R: "#forge:ingots/electrical_steel"
|
||||
}).id("kubejs:painting_machine")
|
||||
|
||||
// Crafter
|
||||
event.remove({ id: "enderio:crafter" })
|
||||
if (doConduits) {
|
||||
event.shaped("enderio:crafter", [
|
||||
"RCR",
|
||||
"GFG",
|
||||
"SSS"
|
||||
], {
|
||||
C: "minecraft:crafting_table",
|
||||
F: "gtceu:lv_machine_hull",
|
||||
G: "enderio:iron_gear",
|
||||
R: "kubejs:resonating_crystal",
|
||||
S: "enderio:item_conduit"
|
||||
}).id("enderio:crafter")
|
||||
} else {
|
||||
event.shaped("enderio:crafter", [
|
||||
"RCR",
|
||||
"GFG",
|
||||
"SSS"
|
||||
], {
|
||||
C: "minecraft:crafting_table",
|
||||
F: "gtceu:lv_machine_hull",
|
||||
G: "enderio:iron_gear",
|
||||
R: "kubejs:resonating_crystal",
|
||||
S: "gtceu:pulsating_alloy_single_wire"
|
||||
}).id("enderio:crafter")
|
||||
}
|
||||
|
||||
|
||||
// Z-Logic Controller
|
||||
event.shaped("enderio:z_logic_controller", [
|
||||
"SHS",
|
||||
"SCS",
|
||||
"WBW"
|
||||
], {
|
||||
B: "gtceu:red_alloy_block",
|
||||
C: "#gtceu:circuits/mv",
|
||||
H: "minecraft:zombie_head",
|
||||
S: "#forge:ingots/soularium",
|
||||
W: "gtceu:silicon_wafer"
|
||||
}).id("kubejs:z_logic_controller")
|
||||
|
||||
event.shaped("2x enderio:z_logic_controller", [
|
||||
"SHS",
|
||||
"SCS",
|
||||
"WBW"
|
||||
], {
|
||||
B: "gtceu:red_alloy_block",
|
||||
C: "#gtceu:circuits/mv",
|
||||
H: "minecraft:zombie_head",
|
||||
S: "#forge:ingots/soularium",
|
||||
W: "gtceu:phosphorus_wafer"
|
||||
}).id("kubejs:z_logic_controller_2x")
|
||||
|
||||
event.shaped("4x enderio:z_logic_controller", [
|
||||
"SHS",
|
||||
"SCS",
|
||||
"WBW"
|
||||
], {
|
||||
B: "gtceu:red_alloy_block",
|
||||
C: "#gtceu:circuits/mv",
|
||||
H: "minecraft:zombie_head",
|
||||
S: "#forge:ingots/soularium",
|
||||
W: "gtceu:naquadah_wafer"
|
||||
}).id("kubejs:z_logic_controller_4x")
|
||||
|
||||
event.shaped("8x enderio:z_logic_controller", [
|
||||
"SHS",
|
||||
"SCS",
|
||||
"WBW"
|
||||
], {
|
||||
B: "gtceu:red_alloy_block",
|
||||
C: "#gtceu:circuits/mv",
|
||||
H: "minecraft:zombie_head",
|
||||
S: "#forge:ingots/soularium",
|
||||
W: "gtceu:neutronium_wafer"
|
||||
}).id("kubejs:z_logic_controller_8x")
|
||||
|
||||
// glider wing
|
||||
event.replaceInput({ id: "enderio:glider_wing" }, "#forge:ingots/dark_steel", "#forge:nuggets/dark_steel")
|
||||
|
||||
// staff of traveling
|
||||
event.replaceInput({ id: "enderio:staff_of_travelling" }, "#forge:ingots/dark_steel", "#forge:rods/dark_steel")
|
||||
event.replaceInput({ id: "enderio:staff_of_travelling" }, "enderio:ender_crystal", "enderio:pulsating_crystal")
|
||||
|
||||
// travel anchor
|
||||
event.replaceInput({ id: "enderio:travel_anchor" }, "enderio:conduit_binder", "#forge:plates/vibrant_alloy")
|
||||
event.replaceInput({ id: "enderio:travel_anchor" }, "iron_ingot", "#forge:plates/dark_steel")
|
||||
|
||||
// coordinate selector
|
||||
event.remove({ id: "enderio:coordinate_selector" })
|
||||
event.shaped("enderio:coordinate_selector", [
|
||||
"ABC",
|
||||
" DC",
|
||||
" C"
|
||||
], {
|
||||
A: "gtceu:mv_emitter",
|
||||
B: "#forge:storage_blocks/emerald",
|
||||
C: "#forge:plates/electrical_steel",
|
||||
D: "enderio:vibrant_gear"
|
||||
}).id("kubejs:coordinate_selector")
|
||||
|
||||
// soul binder
|
||||
event.remove({ id: "enderio:soul_binder" })
|
||||
event.recipes.extendedcrafting.shaped_table("enderio:soul_binder", [
|
||||
"AAAAA",
|
||||
"ABCBA",
|
||||
"ADGEA",
|
||||
"ABFBA",
|
||||
"AAAAA",
|
||||
], {
|
||||
A: "#forge:plates/soularium",
|
||||
B: "#forge:plates/tungsten_steel",
|
||||
C: "enderio:enderman_head",
|
||||
D: "minecraft:creeper_head",
|
||||
E: "minecraft:zombie_head",
|
||||
F: "minecraft:skeleton_skull",
|
||||
G: "enderio:ensouled_chassis"
|
||||
}).id("kubejs:soul_binder")
|
||||
|
||||
// powered spawner
|
||||
event.remove({ id: "enderio:powered_spawner" })
|
||||
event.shaped("enderio:powered_spawner", [
|
||||
"ABA",
|
||||
"ACA",
|
||||
"DED"
|
||||
], {
|
||||
A: "#forge:ingots/electrical_steel",
|
||||
B: "enderio:broken_spawner",
|
||||
C: "enderio:ensouled_chassis",
|
||||
D: "#forge:gems/vibrant_crystal",
|
||||
E: "enderio:z_logic_controller"
|
||||
}).modifyResult((grid, result) => {
|
||||
let input = grid.find("enderio:broken_spawner")
|
||||
return result.withNBT(input.nbt)
|
||||
}).id("kubejs:powered_spawner")
|
||||
|
||||
// slicensplice
|
||||
event.replaceInput({ id: "enderio:slice_and_splice" }, "#forge:ingots/soularium", "#forge:plates/tungsten_steel")
|
||||
event.replaceInput({ id: "enderio:slice_and_splice" }, "iron_bars", "enderio:dark_steel_bars")
|
||||
|
||||
// impulse hopper
|
||||
event.replaceInput({ id: "enderio:impulse_hopper" }, "#forge:gears/iron", "enderio:energized_gear")
|
||||
|
||||
// wired charger
|
||||
event.remove({ id: "enderio:wired_charger" })
|
||||
event.shaped("enderio:wired_charger", [
|
||||
"ABA",
|
||||
"CDC",
|
||||
"ECE"
|
||||
], {
|
||||
A: "#forge:plates/dark_steel",
|
||||
B: "ae2:charger",
|
||||
C: "enderio:conductive_conduit",
|
||||
D: "enderio:void_chassis",
|
||||
E: "#forge:plates/electrical_steel"
|
||||
}).id("kubejs:wired_charger")
|
||||
|
||||
// Experience Rod
|
||||
event.shaped("enderio:experience_rod", [
|
||||
" V",
|
||||
" S ",
|
||||
"V ",
|
||||
], {
|
||||
S: "#forge:ingots/soularium",
|
||||
V: "#forge:ingots/vibrant_alloy"
|
||||
})
|
||||
|
||||
// xp obelisk
|
||||
event.remove({ id: "enderio:xp_obelisk" })
|
||||
event.shaped("enderio:xp_obelisk", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "enderio:experience_rod",
|
||||
B: "#forge:ingots/energetic_alloy",
|
||||
C: "enderio:fluid_tank",
|
||||
D: "#forge:ingots/soularium",
|
||||
E: "enderio:ensouled_chassis"
|
||||
})
|
||||
|
||||
// Whatever
|
||||
event.replaceInput({ input: "#forge:ingots/copper_alloy" }, "enderio:copper_alloy_ingot", "gtceu:pulsating_iron_ingot")
|
||||
|
||||
// Clear tanks
|
||||
event.shapeless("enderio:fluid_tank", ["enderio:fluid_tank"])
|
||||
event.shapeless("enderio:pressurized_fluid_tank", ["enderio:pressurized_fluid_tank"])
|
||||
|
||||
// Cheaper me conduit recipes
|
||||
if (doConduits) {
|
||||
event.recipes.gtceu.assembler("kubejs:dense_me_conduit")
|
||||
.itemInputs("4x enderio:me_conduit", "5x enderio:conduit_binder")
|
||||
.itemOutputs("2x enderio:dense_me_conduit")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
event.recipes.gtceu.assembler("kubejs:me_conduit")
|
||||
.itemInputs("3x ae2:fluix_covered_cable", "6x enderio:conduit_binder")
|
||||
.itemOutputs("8x enderio:me_conduit")
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
} else {
|
||||
event.remove({ output: "enderio:me_conduit" })
|
||||
event.remove({ output: "enderio:dense_me_conduit" })
|
||||
}
|
||||
|
||||
|
||||
event.replaceInput({ output: "enderio:extraction_speed_upgrade_3" }, "gtceu:soularium_ingot", "gtceu:aluminium_ingot")
|
||||
|
||||
// Conduit Probe recipe
|
||||
event.replaceInput({ id: "enderio:conduit_probe" }, "enderio:conductive_alloy_ingot", "gtceu:conductive_alloy_ingot")
|
||||
if (doConduits) {
|
||||
event.replaceInput({ id: "enderio:conduit_probe" }, "enderio:energy_conduit", "enderio:conductive_conduit")
|
||||
} else {
|
||||
event.replaceInput({ id: "enderio:conduit_probe" }, "enderio:energy_conduit", "gtceu:conductive_alloy_single_wire")
|
||||
}
|
||||
|
||||
// Make End Steel Craftable in HV
|
||||
event.recipes.gtceu.chemical_bath("end_steel_ingot_cooling")
|
||||
.inputFluids("minecraft:water 100")
|
||||
.itemInputs("gtceu:hot_end_steel_ingot")
|
||||
.itemOutputs("gtceu:end_steel_ingot")
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_bath("end_steel_ingot_distilled_cooling")
|
||||
.inputFluids("gtceu:distilled_water 100")
|
||||
.itemInputs("gtceu:hot_end_steel_ingot")
|
||||
.itemOutputs("gtceu:end_steel_ingot")
|
||||
.duration(125)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
})
|
||||
244
kubejs/server_scripts/mods/HostileNeuralNetworks.js
Normal file
244
kubejs/server_scripts/mods/HostileNeuralNetworks.js
Normal file
|
|
@ -0,0 +1,244 @@
|
|||
/**
|
||||
* ALL HNN-related stuff
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
if (doHNN) {
|
||||
// remove dml iems
|
||||
event.remove({ output: ["hostilenetworks:blank_data_model", "hostilenetworks:deep_learner", "hostilenetworks:loot_fabricator", "hostilenetworks:sim_chamber"] })
|
||||
|
||||
// Issue #84
|
||||
event.recipes.gtceu.assembler("bones_to_skull")
|
||||
.itemInputs("4x minecraft:bone")
|
||||
.itemOutputs("minecraft:skeleton_skull")
|
||||
.circuit(13)
|
||||
.duration(20)
|
||||
.EUt(16)
|
||||
|
||||
event.shaped("minecraft:wither_skeleton_skull", [
|
||||
"AA ",
|
||||
"AB ",
|
||||
" "
|
||||
], {
|
||||
A: "minecraft:skeleton_skull",
|
||||
B: "hostilenetworks:nether_prediction"
|
||||
}).noMirror().noShrink()
|
||||
|
||||
event.shapeless("minecraft:feather", ["hostilenetworks:overworld_prediction", "minecraft:string"])
|
||||
|
||||
event.recipes.gtceu.compressor("calcium_to_bonemeal")
|
||||
.itemInputs("2x gtceu:calcium_dust")
|
||||
.itemOutputs("minecraft:bone_meal")
|
||||
.duration(20)
|
||||
.EUt(4)
|
||||
|
||||
|
||||
event.shaped("hostilenetworks:blank_data_model", [
|
||||
"BBA",
|
||||
"DCA",
|
||||
"BBA"
|
||||
], {
|
||||
A: "gtceu:fine_gold_wire",
|
||||
B: "gtceu:electrical_steel_plate",
|
||||
C: "#gtceu:circuits/lv",
|
||||
D: "kubejs:pulsating_mesh"
|
||||
})
|
||||
|
||||
event.shaped("kubejs:dark_steel_machine_hull", [
|
||||
"AAA",
|
||||
"ABA",
|
||||
"AAA"
|
||||
], {
|
||||
A: "gtceu:dark_steel_plate",
|
||||
B: "gtceu:lv_machine_hull"
|
||||
})
|
||||
|
||||
event.recipes.gtceu.assembler("dark_steel_machine_hull")
|
||||
.itemInputs("gtceu:lv_machine_hull", "8x #forge:plates/dark_steel")
|
||||
.itemOutputs("kubejs:dark_steel_machine_hull")
|
||||
.duration(50)
|
||||
.EUt(16)
|
||||
.circuit(6)
|
||||
|
||||
event.shaped("hostilenetworks:sim_chamber", [
|
||||
"ACA",
|
||||
"BDB",
|
||||
"ABA"
|
||||
], {
|
||||
A: "kubejs:pulsating_mesh",
|
||||
B: "#gtceu:circuits/lv",
|
||||
C: "minecraft:glass_pane",
|
||||
D: "kubejs:dark_steel_machine_hull"
|
||||
})
|
||||
|
||||
event.shaped("hostilenetworks:loot_fabricator", [
|
||||
"ACA",
|
||||
"BDB",
|
||||
"AHA"
|
||||
], {
|
||||
A: "gtceu:energetic_alloy_plate",
|
||||
B: "#gtceu:circuits/mv",
|
||||
C: "minecraft:glass_pane",
|
||||
D: "kubejs:dark_steel_machine_hull",
|
||||
H: "minecraft:hopper"
|
||||
})
|
||||
|
||||
event.replaceInput({ id: "hostilenetworks:living_matter/nether_to_ender" }, "minecraft:end_stone", "minecraft:ender_pearl")
|
||||
|
||||
// PPC
|
||||
event.remove({ output: "hostilenetworks:prediction_matrix" })
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("pulsating_polymer_clay")
|
||||
.itemInputs(["kubejs:pulsating_dust", "minecraft:clay"])
|
||||
.itemOutputs("4x hostilenetworks:prediction_matrix")
|
||||
.duration(240)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.electrolyzer("gt_quartz")
|
||||
.itemInputs("4x minecraft:glass")
|
||||
.itemOutputs("minecraft:quartz")
|
||||
.duration(100)
|
||||
.EUt(20)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("carbon_fiber_mesh_coal")
|
||||
.itemInputs(["4x minecraft:string", "gtceu:coal_dust"])
|
||||
.itemOutputs("gtceu:carbon_fiber_mesh")
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("carbon_fiber_mesh_carbon")
|
||||
.itemInputs(["4x minecraft:string", "gtceu:carbon_dust"])
|
||||
.itemOutputs("gtceu:carbon_fiber_mesh")
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("pulsating_mesh")
|
||||
.itemInputs(["gtceu:carbon_fiber_mesh", "4x kubejs:pulsating_dust"])
|
||||
.itemOutputs("kubejs:pulsating_mesh")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
// PPM (Autoclave)
|
||||
event.recipes.gtceu.autoclave("pulsating_prediction_matrix_autoclave")
|
||||
.itemInputs("8x kubejs:pulsating_dust")
|
||||
.inputFluids(Fluid.of("gtceu:polybenzimidazole", 144))
|
||||
.itemOutputs("64x hostilenetworks:prediction_matrix")
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
// IMPOSSIBLE REALM DATA
|
||||
let predictions = [
|
||||
["overworld", 1],
|
||||
["nether", 2],
|
||||
["end", 4]
|
||||
]
|
||||
predictions.forEach(item => {
|
||||
event.shaped(Item.of("kubejs:impossible_realm_data", item[1]), [
|
||||
"ABA",
|
||||
"BAB",
|
||||
"ABA"
|
||||
], {
|
||||
A: `hostilenetworks:${item[0]}_prediction`,
|
||||
B: "kubejs:solidified_experience"
|
||||
})
|
||||
})
|
||||
|
||||
event.recipes.gtceu.extractor("extract_quantum_flux")
|
||||
.itemInputs("kubejs:impossible_realm_data")
|
||||
.itemOutputs("kubejs:quantum_flux")
|
||||
.duration(100)
|
||||
.EUt(3000)
|
||||
|
||||
// LAIR DATA
|
||||
let lairs = [
|
||||
["deep_dark", "overworld", "deepslate"],
|
||||
["wither_realm", "nether", "netherrack"],
|
||||
["dragon_lair", "end", "endstone"]
|
||||
]
|
||||
|
||||
lairs.forEach(item => {
|
||||
event.shaped(`kubejs:${item[0]}_data`, [
|
||||
"ABB",
|
||||
"BBB",
|
||||
"BBB"
|
||||
], {
|
||||
A: "kubejs:impossible_realm_data",
|
||||
B: `hostilenetworks:${item[1]}_prediction`
|
||||
})
|
||||
event.recipes.gtceu.canner(`canning_${item[0]}_data`)
|
||||
.itemInputs("1x kubejs:impossible_realm_data", `6x hostilenetworks:${item[1]}_prediction`)
|
||||
.inputFluids(Fluid.of("enderio:xp_juice", 140))
|
||||
.itemOutputs(`1x kubejs:${item[0]}_data`)
|
||||
.duration(20)
|
||||
.EUt(60)
|
||||
event.recipes.gtceu.canner(`advanced_canning_${item[0]}_data`)
|
||||
.itemInputs([`3x gtceu:small_${item[2]}_dust`, `8x hostilenetworks:${item[1]}_prediction`])
|
||||
.inputFluids(Fluid.of("enderio:xp_juice", 500))
|
||||
.itemOutputs(`2x kubejs:${item[0]}_data`)
|
||||
.duration(20)
|
||||
.EUt(960)
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
ItemEvents.rightClicked(event => {
|
||||
if (event.item.id === "hostilenetworks:overworld_prediction") {
|
||||
event.player.addXP(10)
|
||||
event.item.count--
|
||||
}
|
||||
if (event.item.id === "hostilenetworks:nether_prediction") {
|
||||
event.player.addXP(20)
|
||||
event.item.count--
|
||||
}
|
||||
if (event.item.id === "hostilenetworks:end_prediction") {
|
||||
event.player.addXP(25)
|
||||
event.item.count--
|
||||
}
|
||||
})
|
||||
|
||||
// Crafting recipes for the models
|
||||
ServerEvents.recipes(event => {
|
||||
if (doHNN) {
|
||||
let dataModelData = [
|
||||
["blaze", "minecraft:blaze_powder", "nether", true],
|
||||
["creeper", "minecraft:gunpowder", "overworld", true],
|
||||
["ender_dragon", "kubejs:dragon_lair_data", "end", true],
|
||||
["enderman", "minecraft:ender_pearl", "end", true],
|
||||
["ghast", "minecraft:ghast_tear", "nether", true],
|
||||
["guardian", "minecraft:prismarine_shard", "overworld", true],
|
||||
["shulker", "minecraft:diamond", "end", true],
|
||||
["skeleton", "minecraft:bone", "overworld", false],
|
||||
["slime", "minecraft:slime_ball", "overworld", false],
|
||||
["spider", "minecraft:spider_eye", "overworld", true],
|
||||
["warden", "kubejs:deep_dark_data", "overworld", true],
|
||||
["witch", "minecraft:glass_bottle", "overworld", true],
|
||||
["wither", "minecraft:nether_star", "nether", false],
|
||||
["wither_skeleton", "minecraft:wither_skeleton_skull", "nether", true],
|
||||
["zombie", "minecraft:rotten_flesh", "overworld", false],
|
||||
["thermal/thermal_elemental", ["kubejs:aerotheum_dust", "kubejs:cryotheum_dust", "kubejs:petrotheum_dust", "kubejs:pyrotheum_dust"], "overworld", true]
|
||||
]
|
||||
|
||||
dataModelData.forEach(modeldata => {
|
||||
// Is this hacky? Yes. Do i care? No.
|
||||
let recipeIngredients = [
|
||||
"hostilenetworks:blank_data_model",
|
||||
modeldata[1]
|
||||
]
|
||||
|
||||
if (modeldata[3]) {
|
||||
recipeIngredients.push(`7x hostilenetworks:${modeldata[2]}_prediction`)
|
||||
}
|
||||
|
||||
event.shapeless(
|
||||
Item.of("hostilenetworks:data_model", JSON.stringify({
|
||||
data_model: {
|
||||
data: 6,
|
||||
id: "hostilenetworks:" + modeldata[0],
|
||||
}
|
||||
})),
|
||||
recipeIngredients
|
||||
)
|
||||
})
|
||||
}
|
||||
})
|
||||
134
kubejs/server_scripts/mods/Iron_Furnaces.js
Normal file
134
kubejs/server_scripts/mods/Iron_Furnaces.js
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
/**
|
||||
* Custom recipes for the Iron Furnaces mod
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
event.remove({ output: ["ironfurnaces:rainbow_plating", "ironfurnaces:rainbow_core", "ironfurnaces:million_furnace", "ironfurnaces:augment_factory", "ironfurnaces:iron_furnace", "ironfurnaces:silver_furnace", "ironfurnaces:copper_furnace", "ironfurnaces:gold_furnace", "ironfurnaces:diamond_furnace", "ironfurnaces:obsidian_furnace", "ironfurnaces:netherite_furnace"] })
|
||||
const furnaces = [
|
||||
["iron_furnace", "minecraft:iron_ingot", "minecraft:furnace"],
|
||||
["copper_furnace", "minecraft:copper_ingot", "ironfurnaces:iron_furnace"],
|
||||
["silver_furnace", "gtceu:silver_ingot", "ironfurnaces:copper_furnace"],
|
||||
["gold_furnace", "minecraft:gold_ingot", "ironfurnaces:silver_furnace"],
|
||||
["diamond_furnace", "minecraft:diamond", "ironfurnaces:gold_furnace"],
|
||||
];
|
||||
|
||||
furnaces.forEach(([furnace, mat, base]) => {
|
||||
event.shaped(Item.of(`ironfurnaces:${furnace}`), [
|
||||
"AAA",
|
||||
"ABA",
|
||||
"AAA"
|
||||
], {
|
||||
A: mat,
|
||||
B: base,
|
||||
});
|
||||
});
|
||||
|
||||
event.shaped("ironfurnaces:obsidian_furnace", [
|
||||
"AAA",
|
||||
"BAB",
|
||||
"AAA"
|
||||
], {
|
||||
A: "minecraft:obsidian",
|
||||
B: "ironfurnaces:diamond_furnace"
|
||||
})
|
||||
|
||||
event.shaped("ironfurnaces:netherite_furnace", [
|
||||
"ABA",
|
||||
"BBB",
|
||||
"ABA"
|
||||
], {
|
||||
A: "minecraft:netherite_ingot",
|
||||
B: "ironfurnaces:obsidian_furnace"
|
||||
})
|
||||
|
||||
event.shaped("ironfurnaces:augment_factory", [
|
||||
"ACA",
|
||||
"BDB",
|
||||
"ACA"
|
||||
], {
|
||||
A: "gtceu:green_sapphire_plate",
|
||||
B: "ironfurnaces:obsidian_furnace",
|
||||
C: "#gtceu:circuits/mv",
|
||||
D: "gtceu:steel_gear"
|
||||
})
|
||||
|
||||
event.shaped("ironfurnaces:item_copy", [
|
||||
" I ",
|
||||
"SRS",
|
||||
"SSS"
|
||||
], {
|
||||
S: "#forge:cobblestone/normal",
|
||||
R: "minecraft:redstone",
|
||||
I: "minecraft:iron_ingot"
|
||||
})
|
||||
|
||||
// Sequential assembler recipes for Iron Furnaces
|
||||
event.recipes.gtceu.assembler("kubejs:stone_to_iron_furnace")
|
||||
.itemInputs("minecraft:furnace", "4x gtceu:iron_plate")
|
||||
.itemOutputs("ironfurnaces:iron_furnace")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
.circuit(5)
|
||||
|
||||
let furnaceupgrade = [
|
||||
["copper", "iron"],
|
||||
["silver", "copper"],
|
||||
["gold", "silver"],
|
||||
["diamond", "gold"],
|
||||
]
|
||||
|
||||
furnaceupgrade.forEach(([tier, mat1]) => {
|
||||
event.recipes.gtceu.assembler(`kubejs:${mat1}_to_${tier}_furnace`)
|
||||
.itemInputs(`ironfurnaces:${mat1}_furnace`, `4x gtceu:${tier}_plate`)
|
||||
.itemOutputs(`ironfurnaces:${tier}_furnace`)
|
||||
.duration(300)
|
||||
.EUt(30)
|
||||
.circuit(5)
|
||||
})
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:diamond_to_obsidian_furnace")
|
||||
.itemInputs("2x ironfurnaces:diamond_furnace", "4x gtceu:obsidian_plate")
|
||||
.itemOutputs("ironfurnaces:obsidian_furnace")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
.circuit(5)
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:obsidian_to_netherite_furnace")
|
||||
.itemInputs("5x ironfurnaces:obsidian_furnace", "4x minecraft:netherite_ingot")
|
||||
.itemOutputs("ironfurnaces:netherite_furnace")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
.circuit(5)
|
||||
|
||||
|
||||
// Direct assembler recipes for Iron Furnaces
|
||||
const stonefurnaceupgrade = ["iron", "copper", "silver", "gold", "diamond"]
|
||||
|
||||
// Start from silver furnace
|
||||
for (let index = 2; index < stonefurnaceupgrade.length; index++) {
|
||||
let mat1 = stonefurnaceupgrade[index];
|
||||
let mat2 = stonefurnaceupgrade[index - 1];
|
||||
let mat3 = stonefurnaceupgrade[index - 2];
|
||||
|
||||
event.recipes.gtceu.assembler(`kubejs:stone_to_${mat1}_furnace`)
|
||||
.itemInputs("minecraft:furnace", `4x gtceu:${mat1}_plate`, `4x gtceu:${mat2}_plate`, `2x gtceu:${mat3}_plate`)
|
||||
.itemOutputs(`ironfurnaces:${mat1}_furnace`)
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[index - 1])
|
||||
.circuit(8)
|
||||
}
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:stone_to_obsidian_furnace")
|
||||
.itemInputs("2x minecraft:furnace", "4x gtceu:gold_plate", "8x gtceu:diamond_plate", "4x gtceu:obsidian_plate")
|
||||
.itemOutputs("ironfurnaces:obsidian_furnace")
|
||||
.duration(400)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
.circuit(8)
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:stone_to_netherite_furnace")
|
||||
.itemInputs("5x minecraft:furnace", "20x gtceu:diamond_plate", "20x gtceu:obsidian_plate", "4x minecraft:netherite_ingot")
|
||||
.itemOutputs("ironfurnaces:netherite_furnace")
|
||||
.duration(500)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
.circuit(8)
|
||||
})
|
||||
490
kubejs/server_scripts/mods/NuclearCraft.js
Normal file
490
kubejs/server_scripts/mods/NuclearCraft.js
Normal file
|
|
@ -0,0 +1,490 @@
|
|||
// priority: 0
|
||||
/**
|
||||
* NuclearCraft configuration
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// HUGE REWORK NUCLEARCRAFT
|
||||
event.remove({ output: ["nuclearcraft:supercooler", "nuclearcraft:rock_crusher", "nuclearcraft:decay_hastener", "nuclearcraft:irradiator", "nuclearcraft:nuclear_furnace", "nuclearcraft:extractor", "nuclearcraft:electrolyzer", "nuclearcraft:pressurizer", "nuclearcraft:alloy_smelter", "nuclearcraft:centrifuge", "nuclearcraft:manufactory", "nuclearcraft:gas_scrubber", "nuclearcraft:fluid_enricher", "nuclearcraft:isotope_separator", "nuclearcraft:fluid_infuser", "nuclearcraft:chemical_reactor", "nuclearcraft:analyzer", "nuclearcraft:ingot_former", "nuclearcraft:pump", "nuclearcraft:fuel_reprocessor", "nuclearcraft:leacher", "nuclearcraft:crystallizer", "nuclearcraft:assembler", "nuclearcraft:steam_turbine", "nuclearcraft:melter"] })
|
||||
event.remove({ output: ["nuclearcraft:nitrogen_collector", "nuclearcraft:compact_nitrogen_collector", "nuclearcraft:lava_collector", "nuclearcraft:dense_nitrogen_collector", "nuclearcraft:compact_helium_collector", "nuclearcraft:helium_collector", "nuclearcraft:dense_helium_collector"] })
|
||||
event.remove({ output: ["nuclearcraft:foursmore", "nuclearcraft:evenmoresmore", "nuclearcraft:moresmore", "nuclearcraft:smore"] })
|
||||
})
|
||||
|
||||
// Live Fuel decomp
|
||||
// Could also use this to change how these fuels are created?
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
function decomp(name, fuel, ing1, ing2) {
|
||||
event.recipes.gtceu.thermal_centrifuge(`kubejs:${name}_decomp`)
|
||||
.itemInputs(fuel)
|
||||
.itemOutputs(ing1, ing2)
|
||||
.duration(3200)
|
||||
.EUt(48)
|
||||
}
|
||||
|
||||
function decomp_single(name, fuel, ing) {
|
||||
event.recipes.gtceu.thermal_centrifuge(`kubejs:${name}_decomp`)
|
||||
.itemInputs(fuel)
|
||||
.itemOutputs(ing)
|
||||
.duration(3200)
|
||||
.EUt(48)
|
||||
}
|
||||
|
||||
decomp_single("thorium_tbu_232", "nuclearcraft:fuel_thorium_tbu", "9x nuclearcraft:thorium_232");
|
||||
decomp("uranium_leu_233", "nuclearcraft:fuel_uranium_leu_233", "8x gtceu:uranium_dust", "nuclearcraft:uranium_233");
|
||||
decomp("uranium_heu_233", "nuclearcraft:fuel_uranium_heu_233", "5x gtceu:uranium_dust", "4x nuclearcraft:uranium_233");
|
||||
decomp("uranium_leu_235", "nuclearcraft:fuel_uranium_leu_235", "8x gtceu:uranium_dust", "gtceu:uranium_235_dust");
|
||||
decomp("uranium_heu_235", "nuclearcraft:fuel_uranium_heu_235", "5x gtceu:uranium_dust", "4x gtceu:uranium_235_dust");
|
||||
decomp("neptunium_len_236", "nuclearcraft:fuel_neptunium_len_236", "8x nuclearcraft:neptunium_237", "nuclearcraft:neptunium_236");
|
||||
decomp("neptunium_hen_236", "nuclearcraft:fuel_neptunium_hen_236", "5x nuclearcraft:neptunium_237", "4x nuclearcraft:neptunium_236");
|
||||
decomp("plutonium_lep_239", "nuclearcraft:fuel_plutonium_lep_239", "8x nuclearcraft:plutonium_242", "gtceu:plutonium_dust");
|
||||
decomp("plutonium_hep_239", "nuclearcraft:fuel_plutonium_hep_239", "5x nuclearcraft:plutonium_242", "4x gtceu:plutonium_dust");
|
||||
decomp("plutonium_lep_241", "nuclearcraft:fuel_plutonium_lep_241", "8x nuclearcraft:plutonium_242", "gtceu:plutonium_241_dust");
|
||||
decomp("plutonium_hep_241", "nuclearcraft:fuel_plutonium_hep_241", "5x nuclearcraft:plutonium_242", "4x gtceu:plutonium_241_dust");
|
||||
decomp("americium_lea_242", "nuclearcraft:fuel_americium_lea_242", "8x nuclearcraft:americium_243", "nuclearcraft:americium_242");
|
||||
decomp("americium_hea_242", "nuclearcraft:fuel_americium_hea_242", "5x nuclearcraft:americium_243", "4x nuclearcraft:americium_242");
|
||||
decomp("curium_lecm_243", "nuclearcraft:fuel_curium_lecm_243", "8x nuclearcraft:curium_246", "nuclearcraft:curium_243");
|
||||
decomp("curium_hecm_243", "nuclearcraft:fuel_curium_hecm_243", "5x nuclearcraft:curium_246", "4x nuclearcraft:curium_243");
|
||||
decomp("curium_lecm_245", "nuclearcraft:fuel_curium_lecm_245", "8x nuclearcraft:curium_246", "nuclearcraft:curium_245");
|
||||
decomp("curium_hecm_245", "nuclearcraft:fuel_curium_hecm_245", "5x nuclearcraft:curium_246", "4x nuclearcraft:curium_245");
|
||||
decomp("curium_lecm_247", "nuclearcraft:fuel_curium_lecm_247", "8x nuclearcraft:curium_246", "nuclearcraft:curium_247");
|
||||
decomp("curium_hecm_247", "nuclearcraft:fuel_curium_hecm_247", "5x nuclearcraft:curium_246", "4x nuclearcraft:curium_247");
|
||||
decomp("berkelium_leb_248", "nuclearcraft:fuel_berkelium_leb_248", "8x nuclearcraft:berkelium_247", "nuclearcraft:berkelium_248");
|
||||
decomp("berkelium_heb_248", "nuclearcraft:fuel_berkelium_heb_248", "5x nuclearcraft:berkelium_247", "4x nuclearcraft:berkelium_248");
|
||||
decomp("californium_lecf_249", "nuclearcraft:fuel_californium_lecf_249", "8x nuclearcraft:californium_252", "nuclearcraft:californium_249");
|
||||
decomp("californium_hecf_249", "nuclearcraft:fuel_californium_hecf_249", "5x nuclearcraft:californium_252", "4x nuclearcraft:californium_249");
|
||||
decomp("californium_lecf_251", "nuclearcraft:fuel_californium_lecf_251", "8x nuclearcraft:californium_252", "nuclearcraft:californium_251");
|
||||
decomp("californium_hecf_251", "nuclearcraft:fuel_californium_hecf_251", "5x nuclearcraft:californium_252", "4x nuclearcraft:californium_251");
|
||||
|
||||
function decompdepleted(fuelType, out, out2, out3, out4, voltageTier) {
|
||||
|
||||
event.recipes.gtceu.centrifuge(`${fuelType}decompdepleted`)
|
||||
.itemInputs(`nuclearcraft:depleted_fuel_${fuelType}`)
|
||||
.itemOutputs(out, out2, out3, out4)
|
||||
.duration(400)
|
||||
.EUt(GTValues.VHA[voltageTier])
|
||||
}
|
||||
|
||||
|
||||
decompdepleted("thorium_tbu", "2x nuclearcraft:uranium_233", "8x gtceu:uranium_235_nugget", "nuclearcraft:neptunium_236", "4x nuclearcraft:neptunium_237", GTValues.IV)
|
||||
decompdepleted("uranium_leu_233", "4x nuclearcraft:plutonium_242", "4x gtceu:plutonium_nugget", "4x gtceu:plutonium_241_nugget", "3x nuclearcraft:americium_243", GTValues.IV)
|
||||
decompdepleted("uranium_heu_233", "4x nuclearcraft:neptunium_236", "nuclearcraft:neptunium_237", "2x nuclearcraft:plutonium_242", "nuclearcraft:americium_243", GTValues.IV)
|
||||
decompdepleted("uranium_leu_235", "nuclearcraft:neptunium_237", "40x gtceu:uranium_nugget", "8x gtceu:plutonium_nugget", "8x gtceu:plutonium_241_nugget", GTValues.IV)
|
||||
decompdepleted("uranium_heu_235", "2x nuclearcraft:neptunium_237", "20x gtceu:uranium_nugget", "4x gtceu:plutonium_nugget", "3x nuclearcraft:plutonium_242", GTValues.IV)
|
||||
decompdepleted("neptunium_len_236", "nuclearcraft:neptunium_237", "4x nuclearcraft:plutonium_242", "nuclearcraft:americium_242", "3x nuclearcraft:americium_243", GTValues.LuV)
|
||||
decompdepleted("neptunium_hen_236", "nuclearcraft:plutonium_238", "16x gtceu:uranium_nugget", "8x gtceu:plutonium_nugget", "4x nuclearcraft:plutonium_242", GTValues.LuV)
|
||||
decompdepleted("plutonium_lep_239", "3x nuclearcraft:plutonium_242", "nuclearcraft:curium_243", "8x gtceu:plutonium_nugget", "3x nuclearcraft:curium_246", GTValues.LuV)
|
||||
decompdepleted("plutonium_hep_239", "nuclearcraft:americium_241", "3x nuclearcraft:americium_242", "nuclearcraft:curium_245", "3x nuclearcraft:curium_246", GTValues.LuV)
|
||||
decompdepleted("plutonium_lep_241", "nuclearcraft:plutonium_242", "nuclearcraft:plutonium_242", "nuclearcraft:americium_243", "6x nuclearcraft:curium_246", GTValues.LuV)
|
||||
decompdepleted("plutonium_hep_241", "nuclearcraft:americium_241", "nuclearcraft:curium_245", "3x nuclearcraft:curium_246", "3x nuclearcraft:curium_247", GTValues.LuV)
|
||||
decompdepleted("americium_lea_242", "nuclearcraft:curium_243", "nuclearcraft:curium_245", "5x nuclearcraft:curium_246", "nuclearcraft:curium_247", GTValues.LuV)
|
||||
decompdepleted("americium_hea_242", "2x nuclearcraft:curium_245", "4x nuclearcraft:curium_246", "nuclearcraft:curium_247", "nuclearcraft:berkelium_247", GTValues.LuV)
|
||||
decompdepleted("curium_lecm_243", "4x nuclearcraft:curium_246", "2x nuclearcraft:berkelium_247", "nuclearcraft:berkelium_248", "nuclearcraft:californium_249", GTValues.ZPM)
|
||||
decompdepleted("curium_hecm_243", "3x nuclearcraft:curium_246", "3x nuclearcraft:berkelium_247", "nuclearcraft:berkelium_248", "nuclearcraft:californium_249", GTValues.ZPM)
|
||||
decompdepleted("curium_lecm_245", "5x nuclearcraft:berkelium_247", "nuclearcraft:berkelium_248", "nuclearcraft:californium_249", "2x nuclearcraft:californium_252", GTValues.ZPM)
|
||||
decompdepleted("curium_hecm_245", "6x nuclearcraft:berkelium_247", "nuclearcraft:berkelium_248", "nuclearcraft:californium_249", "nuclearcraft:californium_251", GTValues.ZPM)
|
||||
decompdepleted("curium_lecm_247", "3x nuclearcraft:berkelium_247", "nuclearcraft:berkelium_248", "nuclearcraft:californium_251", "4x nuclearcraft:californium_252", GTValues.ZPM)
|
||||
decompdepleted("curium_hecm_247", "nuclearcraft:berkelium_248", "nuclearcraft:californium_249", "3x nuclearcraft:californium_251", "3x nuclearcraft:californium_252", GTValues.ZPM)
|
||||
decompdepleted("berkelium_leb_248", "nuclearcraft:californium_249", "nuclearcraft:californium_251", "3x nuclearcraft:californium_252", "3x nuclearcraft:californium_252", GTValues.ZPM)
|
||||
decompdepleted("berkelium_heb_248", "nuclearcraft:californium_250", "nuclearcraft:californium_251", "3x nuclearcraft:californium_252", "3x nuclearcraft:californium_252", GTValues.ZPM)
|
||||
decompdepleted("californium_lecf_249", "2x nuclearcraft:californium_250", "nuclearcraft:californium_251", "2x nuclearcraft:californium_252", "8x gtceu:actinium_nugget", GTValues.ZPM)
|
||||
decompdepleted("californium_hecf_249", "4x nuclearcraft:californium_250", "2x nuclearcraft:californium_251", "nuclearcraft:californium_252", "12x gtceu:actinium_nugget", GTValues.ZPM)
|
||||
decompdepleted("californium_lecf_251", "nuclearcraft:californium_251", "2x nuclearcraft:californium_252", "2x nuclearcraft:californium_252", "8x gtceu:actinium_nugget", GTValues.ZPM)
|
||||
decompdepleted("californium_hecf_251", "2x nuclearcraft:californium_251", "2x nuclearcraft:californium_252", "2x nuclearcraft:californium_252", "16x gtceu:actinium_nugget", GTValues.ZPM)
|
||||
|
||||
|
||||
function cansolid(name, input) {
|
||||
event.remove({ output: `nuclearcraft:${name}_heat_sink` })
|
||||
event.recipes.gtceu.canner(name)
|
||||
.itemInputs("nuclearcraft:empty_heat_sink", `16x ${input}`)
|
||||
.itemOutputs(`nuclearcraft:${name}_heat_sink`)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
function canfluid(name, input) {
|
||||
event.remove({ output: `nuclearcraft:${name}_heat_sink` })
|
||||
event.recipes.gtceu.canner(`${name}_heat_sink`)
|
||||
.itemInputs("nuclearcraft:empty_heat_sink")
|
||||
.inputFluids(Fluid.of(input, 1000))
|
||||
.itemOutputs(`nuclearcraft:${name}_heat_sink`)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
function canmod(name, input) {
|
||||
event.remove({ output: `nuclearcraft:${name}_block` })
|
||||
event.recipes.gtceu.canner(`${name}_heat_sink`)
|
||||
.itemInputs("nuclearcraft:empty_heat_sink", `9x ${input}`)
|
||||
.itemOutputs(`nuclearcraft:${name}_block`)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
canfluid("water", "minecraft:water")
|
||||
cansolid("redstone", "minecraft:redstone")
|
||||
cansolid("quartz", "gtceu:nether_quartz_dust")
|
||||
cansolid("gold", "gtceu:gold_dust")
|
||||
cansolid("glowstone", "minecraft:glowstone_dust")
|
||||
cansolid("lapis", "gtceu:lapis_dust")
|
||||
cansolid("diamond", "gtceu:diamond_dust")
|
||||
canfluid("liquid_helium", "gtceu:helium")
|
||||
cansolid("enderium", "gtceu:enderium_dust")
|
||||
canfluid("cryotheum", "kubejs:molten_cryotheum")
|
||||
cansolid("iron", "gtceu:iron_dust")
|
||||
cansolid("emerald", "gtceu:emerald_dust")
|
||||
cansolid("copper", "gtceu:copper_dust")
|
||||
cansolid("magnesium", "gtceu:magnesium_dust")
|
||||
cansolid("slime", "minecraft:slime_ball")
|
||||
cansolid("netherite", "minecraft:netherite_scrap")
|
||||
cansolid("end_stone", "gtceu:endstone_dust")
|
||||
cansolid("prismarine", "minecraft:prismarine_crystals")
|
||||
cansolid("obsidian", "gtceu:obsidian_dust")
|
||||
cansolid("purpur", "minecraft:popped_chorus_fruit")
|
||||
cansolid("nether_brick", "minecraft:nether_brick")
|
||||
cansolid("lithium", "gtceu:lithium_dust")
|
||||
cansolid("arsenic", "gtceu:arsenic_dust")
|
||||
cansolid("lead", "gtceu:lead_dust")
|
||||
cansolid("boron", "gtceu:boron_dust")
|
||||
cansolid("silver", "gtceu:silver_dust")
|
||||
canfluid("liquid_nitrogen", "gtceu:nitrogen")
|
||||
cansolid("fluorite", "gtceu:fluorite_dust")
|
||||
cansolid("tin", "gtceu:tin_dust")
|
||||
cansolid("aluminum", "gtceu:aluminium_dust")
|
||||
cansolid("manganese", "gtceu:manganese_dust")
|
||||
canmod("graphite", "gtceu:graphite_dust")
|
||||
canmod("beryllium", "gtceu:beryllium_dust")
|
||||
|
||||
event.remove({ id: "nuclearcraft:empty_heat_sink" })
|
||||
event.shaped("nuclearcraft:empty_heat_sink", [
|
||||
"TST",
|
||||
"S S",
|
||||
"TST"
|
||||
], {
|
||||
T: "nuclearcraft:tough_alloy_ingot",
|
||||
S: "gtceu:steel_ingot"
|
||||
})
|
||||
|
||||
function cansolidactive(name, input) {
|
||||
event.remove({ output: `nuclearcraft:active_${name}_heat_sink` })
|
||||
event.recipes.gtceu.canner(`active_${name}_heat_sink`)
|
||||
.itemInputs("nuclearcraft:empty_active_heat_sink", `16x ${input}`)
|
||||
.itemOutputs(`nuclearcraft:active_${name}_heat_sink`)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
function canfluidactive(name, input) {
|
||||
event.remove({ output: `nuclearcraft:active_${name}_heat_sink` })
|
||||
event.recipes.gtceu.canner(`active_${name}heat_sink`)
|
||||
.itemInputs("nuclearcraft:empty_active_heat_sink")
|
||||
.inputFluids(Fluid.of(input, 1000))
|
||||
.itemOutputs(`nuclearcraft:active_${name}_heat_sink`)
|
||||
.duration(400)
|
||||
.EUt(2)
|
||||
}
|
||||
|
||||
canfluidactive("water", "minecraft:water")
|
||||
cansolidactive("redstone", "minecraft:redstone")
|
||||
canfluidactive("liquid_helium", "gtceu:helium")
|
||||
canfluidactive("liquid_nitrogen", "gtceu:nitrogen")
|
||||
cansolidactive("enderium", "gtceu:enderium_dust")
|
||||
canfluidactive("cryotheum", "kubejs:molten_cryotheum")
|
||||
|
||||
event.remove({ id: "nuclearcraft:empty_active_heat_sink" })
|
||||
event.shaped("nuclearcraft:empty_active_heat_sink", [
|
||||
"TST",
|
||||
"S S",
|
||||
"TST"
|
||||
], {
|
||||
T: "nuclearcraft:tough_alloy_ingot",
|
||||
S: "gtceu:dark_steel_ingot"
|
||||
})
|
||||
|
||||
event.remove({ output: "nuclearcraft:plate_basic" })
|
||||
event.shaped("2x nuclearcraft:plate_basic", [
|
||||
"TST",
|
||||
"SDS",
|
||||
"TST"
|
||||
], {
|
||||
T: "nuclearcraft:tough_alloy_ingot",
|
||||
S: "gtceu:tungsten_plate",
|
||||
D: "gtceu:double_steel_plate"
|
||||
})
|
||||
|
||||
event.remove({ id: "nuclearcraft:plate_advanced" })
|
||||
event.shaped("2x nuclearcraft:plate_advanced", [
|
||||
"TST",
|
||||
"SDS",
|
||||
"TST"
|
||||
], {
|
||||
T: "nuclearcraft:hard_carbon_ingot",
|
||||
S: "gtceu:yttrium_barium_cuprate_plate",
|
||||
D: "nuclearcraft:plate_basic"
|
||||
})
|
||||
|
||||
event.remove({ id: "nuclearcraft:plate_du" })
|
||||
event.recipes.gtceu.alloy_smelter("du_plating")
|
||||
.itemInputs("nuclearcraft:plate_advanced", "kubejs:stabilized_uranium")
|
||||
.itemOutputs("2x nuclearcraft:plate_du")
|
||||
.duration(400)
|
||||
.EUt(2000)
|
||||
|
||||
event.remove({ id: "nuclearcraft:plate_elite" })
|
||||
event.shaped("2x nuclearcraft:plate_elite", [
|
||||
"TST",
|
||||
"SDS",
|
||||
"TST"
|
||||
], {
|
||||
T: "nuclearcraft:rhodochrosite_dust",
|
||||
S: "gtceu:enderium_plate",
|
||||
D: "nuclearcraft:plate_du"
|
||||
})
|
||||
|
||||
|
||||
event.remove({ id: "nuclearcraft:fission_reactor_casing" })
|
||||
event.shaped("8x nuclearcraft:fission_reactor_casing", [
|
||||
"DDD",
|
||||
"DFD",
|
||||
"DDD"
|
||||
], {
|
||||
F: "gtceu:robust_machine_casing",
|
||||
D: "nuclearcraft:plate_basic"
|
||||
})
|
||||
|
||||
event.remove({ id: "nuclearcraft:fission_reactor_solid_fuel_cell" })
|
||||
event.shaped("nuclearcraft:fission_reactor_solid_fuel_cell", [
|
||||
"TST",
|
||||
"S S",
|
||||
"TST"
|
||||
], {
|
||||
T: "nuclearcraft:tough_alloy_ingot",
|
||||
S: "gtceu:tempered_glass"
|
||||
})
|
||||
|
||||
event.remove({ id: "nuclearcraft:fission_reactor_controller" })
|
||||
event.shaped("nuclearcraft:fission_reactor_controller", [
|
||||
"DED",
|
||||
"EFE",
|
||||
"DED"
|
||||
], {
|
||||
F: "gtceu:robust_machine_casing",
|
||||
E: "#gtceu:circuits/ev",
|
||||
D: "nuclearcraft:plate_advanced"
|
||||
})
|
||||
|
||||
event.remove({ id: "nuclearcraft:fission_reactor_port" })
|
||||
event.shapeless("nuclearcraft:fission_reactor_port", ["nuclearcraft:fission_reactor_casing", "minecraft:hopper"])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("rhodochrosite_dust")
|
||||
.itemInputs("12x gtceu:raw_redstone")
|
||||
.inputFluids("gtceu:sulfuric_acid 6000")
|
||||
.itemOutputs("nuclearcraft:rhodochrosite_dust")
|
||||
.outputFluids("gtceu:redstone 15840")
|
||||
.EUt(2000)
|
||||
.duration(200)
|
||||
|
||||
event.recipes.gtceu.thermal_centrifuge("thoriumdecomp")
|
||||
.itemInputs("gtceu:thorium_dust")
|
||||
.itemOutputs("nuclearcraft:thorium_232")
|
||||
.duration(1100)
|
||||
.EUt(48)
|
||||
|
||||
event.remove({
|
||||
output: [
|
||||
"nuclearcraft:fuel_thorium_tbu",
|
||||
"nuclearcraft:fuel_uranium_leu_233",
|
||||
"nuclearcraft:fuel_uranium_heu_233",
|
||||
"nuclearcraft:fuel_uranium_leu_235",
|
||||
"nuclearcraft:fuel_uranium_heu_235",
|
||||
"nuclearcraft:fuel_neptunium_len_236",
|
||||
"nuclearcraft:fuel_americium_hea_242",
|
||||
"nuclearcraft:fuel_americium_lea_242",
|
||||
"nuclearcraft:fuel_plutonium_hep_241",
|
||||
"nuclearcraft:fuel_plutonium_lep_241",
|
||||
"nuclearcraft:fuel_plutonium_hep_239",
|
||||
"nuclearcraft:fuel_plutonium_lep_239",
|
||||
"nuclearcraft:fuel_neptunium_hen_236",
|
||||
"nuclearcraft:fuel_curium_lecm_243",
|
||||
"nuclearcraft:fuel_curium_hecm_243",
|
||||
"nuclearcraft:fuel_curium_lecm_245",
|
||||
"nuclearcraft:fuel_curium_hecm_245",
|
||||
"nuclearcraft:fuel_curium_lecm_247",
|
||||
"nuclearcraft:fuel_curium_hecm_247",
|
||||
"nuclearcraft:fuel_berkelium_leb_248",
|
||||
"nuclearcraft:fuel_californium_hecf_251",
|
||||
"nuclearcraft:fuel_californium_lecf_251",
|
||||
"nuclearcraft:fuel_californium_hecf_249",
|
||||
"nuclearcraft:fuel_californium_lecf_249",
|
||||
"nuclearcraft:fuel_berkelium_heb_248"
|
||||
]
|
||||
})
|
||||
|
||||
event.remove({
|
||||
output: [
|
||||
"nuclearcraft:depleted_fuel_thorium_tbu",
|
||||
"nuclearcraft:depleted_fuel_uranium_leu_233",
|
||||
"nuclearcraft:depleted_fuel_uranium_heu_233",
|
||||
"nuclearcraft:depleted_fuel_uranium_leu_235",
|
||||
"nuclearcraft:depleted_fuel_uranium_heu_235",
|
||||
"nuclearcraft:depleted_fuel_neptunium_len_236",
|
||||
"nuclearcraft:depleted_fuel_americium_hea_242",
|
||||
"nuclearcraft:depleted_fuel_americium_lea_242",
|
||||
"nuclearcraft:depleted_fuel_plutonium_hep_241",
|
||||
"nuclearcraft:depleted_fuel_plutonium_lep_241",
|
||||
"nuclearcraft:depleted_fuel_plutonium_hep_239",
|
||||
"nuclearcraft:depleted_fuel_plutonium_lep_239",
|
||||
"nuclearcraft:depleted_fuel_neptunium_hen_236",
|
||||
"nuclearcraft:depleted_fuel_curium_lecm_243",
|
||||
"nuclearcraft:depleted_fuel_curium_hecm_243",
|
||||
"nuclearcraft:depleted_fuel_curium_lecm_245",
|
||||
"nuclearcraft:depleted_fuel_curium_lecm_247",
|
||||
"nuclearcraft:depleted_fuel_curium_hecm_247",
|
||||
"nuclearcraft:depleted_fuel_curium_hecm_245",
|
||||
"nuclearcraft:depleted_fuel_berkelium_leb_248",
|
||||
"nuclearcraft:depleted_fuel_californium_hecf_251",
|
||||
"nuclearcraft:depleted_fuel_californium_lecf_251",
|
||||
"nuclearcraft:depleted_fuel_californium_hecf_249",
|
||||
"nuclearcraft:depleted_fuel_californium_lecf_249",
|
||||
"nuclearcraft:depleted_fuel_berkelium_heb_248"
|
||||
],
|
||||
type: "minecraft:smelting"
|
||||
})
|
||||
|
||||
event.remove({ output: ["nuclearcraft:californium_251", "nuclearcraft:plutonium_241", "nuclearcraft:americium_243", "nuclearcraft:plutonium_238", "nuclearcraft:boron_10", "nuclearcraft:boron_11", "nuclearcraft:plutonium_239", "nuclearcraft:neptunium_236", "nuclearcraft:neptunium_237", "nuclearcraft:curium_246", "nuclearcraft:curium_247", "nuclearcraft:curium_245", "nuclearcraft:curium_243", "nuclearcraft:berkelium_247", "nuclearcraft:berkelium_248", "nuclearcraft:uranium_235", "nuclearcraft:uranium_238", "nuclearcraft:uranium_233", "nuclearcraft:lithium_6", "nuclearcraft:lithium_7", "nuclearcraft:americium_241", "nuclearcraft:americium_242", "nuclearcraft:plutonium_242", "nuclearcraft:californium_250", "nuclearcraft:californium_249", "nuclearcraft:thorium_230", "nuclearcraft:thorium_232", "nuclearcraft:californium_252"], type: "minecraft:smelting" })
|
||||
|
||||
|
||||
event.shaped("nuclearcraft:fuel_thorium_tbu", ["AAA", "AAA", "AAA"], { A: "nuclearcraft:thorium_232" })
|
||||
event.shaped("nuclearcraft:fuel_uranium_leu_233", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:uranium_233", B: "gtceu:uranium_ingot" })
|
||||
event.shaped("nuclearcraft:fuel_uranium_heu_233", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:uranium_233", B: "gtceu:uranium_ingot" })
|
||||
event.shaped("nuclearcraft:fuel_uranium_leu_235", ["ABB", "BBB", "BBB"], { A: "gtceu:uranium_235_ingot", B: "gtceu:uranium_ingot" })
|
||||
event.shaped("nuclearcraft:fuel_uranium_heu_235", ["AAA", "ABB", "BBB"], { A: "gtceu:uranium_235_ingot", B: "gtceu:uranium_ingot" })
|
||||
event.shaped("nuclearcraft:fuel_neptunium_len_236", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:neptunium_236", B: "nuclearcraft:neptunium_237" })
|
||||
event.shaped("nuclearcraft:fuel_neptunium_hen_236", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:neptunium_236", B: "nuclearcraft:neptunium_237" })
|
||||
event.shaped("nuclearcraft:fuel_plutonium_lep_239", ["ABB", "BBB", "BBB"], { A: "gtceu:plutonium_ingot", B: "nuclearcraft:plutonium_242" })
|
||||
event.shaped("nuclearcraft:fuel_plutonium_hep_239", ["AAA", "ABB", "BBB"], { A: "gtceu:plutonium_ingot", B: "nuclearcraft:plutonium_242" })
|
||||
event.shaped("nuclearcraft:fuel_plutonium_lep_241", ["ABB", "BBB", "BBB"], { A: "gtceu:plutonium_241_ingot", B: "nuclearcraft:plutonium_242" })
|
||||
event.shaped("nuclearcraft:fuel_plutonium_hep_241", ["AAA", "ABB", "BBB"], { A: "gtceu:plutonium_241_ingot", B: "nuclearcraft:plutonium_242" })
|
||||
event.shaped("nuclearcraft:fuel_americium_lea_242", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:americium_242", B: "nuclearcraft:americium_243" })
|
||||
event.shaped("nuclearcraft:fuel_americium_hea_242", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:americium_242", B: "nuclearcraft:americium_243" })
|
||||
event.shaped("nuclearcraft:fuel_curium_lecm_243", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:curium_243", B: "nuclearcraft:curium_246" })
|
||||
event.shaped("nuclearcraft:fuel_curium_hecm_243", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:curium_243", B: "nuclearcraft:curium_246" })
|
||||
event.shaped("nuclearcraft:fuel_curium_lecm_245", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:curium_245", B: "nuclearcraft:curium_246" })
|
||||
event.shaped("nuclearcraft:fuel_curium_hecm_245", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:curium_245", B: "nuclearcraft:curium_246" })
|
||||
event.shaped("nuclearcraft:fuel_curium_lecm_247", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:curium_247", B: "nuclearcraft:curium_246" })
|
||||
event.shaped("nuclearcraft:fuel_curium_hecm_247", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:curium_247", B: "nuclearcraft:curium_246" })
|
||||
event.shaped("nuclearcraft:fuel_berkelium_leb_248", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:berkelium_248", B: "nuclearcraft:berkelium_247" })
|
||||
event.shaped("nuclearcraft:fuel_berkelium_heb_248", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:berkelium_248", B: "nuclearcraft:berkelium_247" })
|
||||
event.shaped("nuclearcraft:fuel_californium_lecf_249", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:californium_249", B: "nuclearcraft:californium_252" })
|
||||
event.shaped("nuclearcraft:fuel_californium_hecf_249", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:californium_249", B: "nuclearcraft:californium_252" })
|
||||
event.shaped("nuclearcraft:fuel_californium_lecf_251", ["ABB", "BBB", "BBB"], { A: "nuclearcraft:californium_251", B: "nuclearcraft:californium_252" })
|
||||
event.shaped("nuclearcraft:fuel_californium_hecf_251", ["AAA", "ABB", "BBB"], { A: "nuclearcraft:californium_251", B: "nuclearcraft:californium_252" })
|
||||
|
||||
|
||||
event.recipes.gtceu.distillery("distill_tech_water")
|
||||
.inputFluids("gtceu:distilled_water 20")
|
||||
.circuit(5)
|
||||
.outputFluids("nuclearcraft:technical_water 20")
|
||||
.duration(20).EUt(120)
|
||||
|
||||
function rtg(name, input) {
|
||||
event.remove({ output: `nuclearcraft:${name}_rtg` })
|
||||
event.recipes.gtceu.assembler(name)
|
||||
.itemInputs("4x gtceu:graphite_plate", "4x nuclearcraft:plate_advanced", `4x ${input}`)
|
||||
.itemOutputs(`nuclearcraft:${name}_rtg`)
|
||||
.duration(200)
|
||||
.EUt(1920)
|
||||
}
|
||||
|
||||
rtg("americium", "nuclearcraft:americium_241")
|
||||
rtg("plutonium", "nuclearcraft:plutonium_238")
|
||||
rtg("uranium", "gtceu:uranium_ingot")
|
||||
rtg("californium", "nuclearcraft:californium_250")
|
||||
|
||||
function coils(name) {
|
||||
event.remove({ output: `nuclearcraft:coil_${name}` })
|
||||
event.recipes.gtceu.assembler(name)
|
||||
.itemInputs("1x gtceu:magnetic_steel_rod", `16x gtceu:fine_${name}_wire`)
|
||||
.itemOutputs(`nuclearcraft:coil_${name}`)
|
||||
.circuit(1)
|
||||
.duration(200)
|
||||
.EUt(480)
|
||||
}
|
||||
|
||||
coils("copper")
|
||||
coils("magnesium_diboride")
|
||||
|
||||
event.replaceInput({ input: "nuclearcraft:bioplastic" }, "nuclearcraft:bioplastic", "#forge:plastic_plates")
|
||||
event.replaceInput({ input: "nuclearcraft:basic_electronic_circuit" }, "nuclearcraft:basic_electric_circuit", "#gtceu:circuits/hv")
|
||||
event.replaceInput({ input: "nuclearcraft:gelatin" }, "nuclearcraft:gelatin", "#forge:rubber_plates")
|
||||
event.replaceInput({ input: "nuclearcraft:lithium_ion_cell" }, "nuclearcraft:lithium_ion_cell", "#gtceu:batteries/hv")
|
||||
event.replaceInput({ output: /nuclearcraft:hev/ }, "nuclearcraft:plate_extreme", "nuclearcraft:plate_advanced")
|
||||
|
||||
event.remove({ id: "nuclearcraft:heavy_shielding" })
|
||||
event.shaped("nuclearcraft:heavy", [
|
||||
"BBB",
|
||||
"MPM",
|
||||
"DDD"
|
||||
], {
|
||||
B: "#forge:plates/beryllium",
|
||||
M: "nuclearcraft:medium",
|
||||
P: "#forge:plastic_plates",
|
||||
D: "nuclearcraft:plate_du"
|
||||
})
|
||||
|
||||
event.remove({
|
||||
output: [
|
||||
"nuclearcraft:motor",
|
||||
"nuclearcraft:plate_extreme",
|
||||
"nuclearcraft:actuator",
|
||||
"nuclearcraft:tough_helmet",
|
||||
"nuclearcraft:tough_chest",
|
||||
"nuclearcraft:tough_pants",
|
||||
"nuclearcraft:tough_boots",
|
||||
"nuclearcraft:solar_panel_basic",
|
||||
"nuclearcraft:solar_panel_advanced",
|
||||
"nuclearcraft:solar_panel_du",
|
||||
"nuclearcraft:solar_panel_elite",
|
||||
"nuclearcraft:basic_voltaic_pile",
|
||||
"nuclearcraft:elite_voltaic_pile",
|
||||
"nuclearcraft:advanced_voltaic_pile",
|
||||
"nuclearcraft:du_voltaic_pile",
|
||||
"nuclearcraft:basic_storage_container",
|
||||
"nuclearcraft:elite_storage_container",
|
||||
"nuclearcraft:advanced_storage_container",
|
||||
"nuclearcraft:du_storage_container",
|
||||
"nuclearcraft:empty_frame",
|
||||
"nuclearcraft:dps",
|
||||
"nuclearcraft:rad_x",
|
||||
"nuclearcraft:servo",
|
||||
"nuclearcraft:bscco_electromagnet",
|
||||
"nuclearcraft:bscco_rf_amplifier",
|
||||
"nuclearcraft:niobium_tin_electromagnet",
|
||||
"nuclearcraft:niobium_tin_rf_amplifier",
|
||||
"nuclearcraft:lithium_ion_cell",
|
||||
"nuclearcraft:basic_lithium_ion_battery",
|
||||
"nuclearcraft:advanced_lithium_ion_battery",
|
||||
"nuclearcraft:du_lithium_ion_battery",
|
||||
"nuclearcraft:elite_lithium_ion_battery",
|
||||
"nuclearcraft:basic_barrel",
|
||||
"nuclearcraft:elite_barrel",
|
||||
"nuclearcraft:advanced_barrel",
|
||||
"nuclearcraft:du_barrel"
|
||||
]
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
ServerEvents.tags("item", event => {
|
||||
|
||||
event.add("forge:plastic_plates", "gtceu:polyvinyl_chloride_plate")
|
||||
event.add("forge:plastic_plates", "gtceu:polybenzimidazole_plate")
|
||||
event.add("forge:plastic_plates", "gtceu:polyethylene_plate")
|
||||
event.add("forge:plastic_plates", "gtceu:polytetrafluoroethylene_plate")
|
||||
event.add("forge:plastic_plates", "gtceu:polyethyl_cyanoacrylate_plate")
|
||||
|
||||
event.add("forge:rubber_plates", "gtceu:silicone_rubber_plate")
|
||||
event.add("forge:rubber_plates", "gtceu:styrene_butadiene_rubber_plate")
|
||||
event.add("forge:rubber_plates", "gtceu:rubber_plate")
|
||||
});
|
||||
151
kubejs/server_scripts/mods/Packaged_Auto.js
Normal file
151
kubejs/server_scripts/mods/Packaged_Auto.js
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
/**
|
||||
* Custom recipes for Package Auto
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
event.replaceInput({ id: /packaged/ }, "extendedcrafting:black_iron_ingot", "gtceu:black_steel_plate")
|
||||
event.replaceInput({ id: /packaged/ }, "extendedcrafting:frame", "gtceu:tungsten_carbide_block")
|
||||
|
||||
event.remove({ output: "packagedauto:package_component" })
|
||||
event.shaped("packagedauto:package_component", [
|
||||
"VTV",
|
||||
"TET",
|
||||
"VTV"
|
||||
], {
|
||||
V: "gtceu:vibrant_alloy_plate",
|
||||
T: "gtceu:titanium_plate",
|
||||
E: "minecraft:ender_eye"
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedauto:recipe_holder" })
|
||||
event.shaped("3x packagedauto:recipe_holder", [
|
||||
"QPQ",
|
||||
"PRP",
|
||||
"TCT"
|
||||
], {
|
||||
Q: "ae2:quartz_glass",
|
||||
P: "ae2:blank_pattern",
|
||||
R: "extendedcrafting:crystaltine_block",
|
||||
T: "gtceu:titanium_plate",
|
||||
C: "packagedauto:me_package_component"
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedauto:packager" })
|
||||
event.shaped("packagedauto:packager", [
|
||||
"TCT",
|
||||
"EWE",
|
||||
"TIT"
|
||||
], {
|
||||
T: "gtceu:titanium_plate",
|
||||
C: "packagedauto:me_package_component",
|
||||
E: "#gtceu:circuits/ev",
|
||||
W: "minecraft:crafting_table",
|
||||
I: "ae2:import_bus"
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedauto:unpackager" })
|
||||
event.shaped("packagedauto:unpackager", [
|
||||
"TCT",
|
||||
"EWE",
|
||||
"TIT"
|
||||
], {
|
||||
T: "gtceu:titanium_plate",
|
||||
C: "packagedauto:me_package_component",
|
||||
E: "#gtceu:circuits/ev",
|
||||
W: "minecraft:crafting_table",
|
||||
I: "ae2:export_bus"
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedauto:encoder" })
|
||||
event.shaped("packagedauto:encoder", [
|
||||
"TCT",
|
||||
"EWE",
|
||||
"TIT"
|
||||
], {
|
||||
T: "gtceu:titanium_plate",
|
||||
C: "packagedauto:me_package_component",
|
||||
E: "packagedauto:recipe_holder",
|
||||
W: "minecraft:crafting_table",
|
||||
I: "#gtceu:circuits/ev"
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedauto:packager_extension" })
|
||||
event.shaped("packagedauto:packager_extension", [
|
||||
"TCT",
|
||||
"EWE",
|
||||
"TIT"
|
||||
], {
|
||||
T: "gtceu:iron_plate",
|
||||
C: "packagedauto:me_package_component",
|
||||
E: "minecraft:glowstone_dust",
|
||||
W: "minecraft:crafting_table",
|
||||
I: "minecraft:piston"
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedauto:crafter" })
|
||||
event.shaped("packagedauto:crafter", [
|
||||
"TCT",
|
||||
"EWE",
|
||||
"TIT"
|
||||
], {
|
||||
T: "gtceu:iron_plate",
|
||||
C: "packagedauto:me_package_component",
|
||||
E: "minecraft:redstone",
|
||||
W: "minecraft:crafting_table",
|
||||
I: "minecraft:piston"
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedauto:fluid_package_filler" })
|
||||
event.shaped("packagedauto:fluid_package_filler", [
|
||||
"TCT",
|
||||
"EWE",
|
||||
"TIT"
|
||||
], {
|
||||
T: "gtceu:titanium_plate",
|
||||
C: "packagedauto:me_package_component",
|
||||
E: "gtceu:fluid_cell",
|
||||
W: "minecraft:crafting_table",
|
||||
I: "#gtceu:circuits/ev"
|
||||
})
|
||||
|
||||
// Packaged Ex Crafters
|
||||
let tiers = ["advanced", "elite", "ultimate"]
|
||||
tiers.forEach((tier) => {
|
||||
event.remove({ output: `packagedexcrafting:${tier}_crafter` })
|
||||
event.shaped(`packagedexcrafting:${tier}_crafter`, [
|
||||
"ACA",
|
||||
"BEB",
|
||||
"ACA"
|
||||
], {
|
||||
A: `extendedcrafting:${tier}_component`,
|
||||
B: "gtceu:black_steel_plate",
|
||||
C: "packagedauto:me_package_component",
|
||||
E: `extendedcrafting:${tier}_auto_table`
|
||||
})
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedexexcrafting:epic_crafter" })
|
||||
event.shaped("packagedexexcrafting:epic_crafter", [
|
||||
"ACA",
|
||||
"BEB",
|
||||
"ACA"
|
||||
], {
|
||||
A: "extendedcrafting:epic_component",
|
||||
B: "gtceu:black_steel_plate",
|
||||
C: "packagedauto:me_package_component",
|
||||
E: "extendedcrafting:epic_auto_table"
|
||||
})
|
||||
|
||||
event.remove({ output: "packagedexcrafting:combination_crafter" })
|
||||
event.shaped("packagedexcrafting:combination_crafter", [
|
||||
"ACA",
|
||||
"BEB",
|
||||
"DCD"
|
||||
], {
|
||||
A: "extendedcrafting:crystaltine_component",
|
||||
B: "kubejs:endest_star",
|
||||
C: "packagedauto:me_package_component",
|
||||
D: "extendedcrafting:crystaltine_catalyst",
|
||||
E: "extendedcrafting:crafting_core"
|
||||
})
|
||||
})
|
||||
52
kubejs/server_scripts/mods/RPC.js
Normal file
52
kubejs/server_scripts/mods/RPC.js
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/** @private */
|
||||
const ___TIER_QUEST_MAPPING = [
|
||||
// all of these are on the progression page
|
||||
"DEFAULT",
|
||||
"61CC4AD6FAE15248", // lv
|
||||
"6C028CD89745098E", // mv
|
||||
"48CAEBEE83D7C791", // hv
|
||||
"30AAFB97813DEB6C", // ev
|
||||
"6E27637A9C94A0AA", // iv
|
||||
"646B8CD10787D899", // luv
|
||||
"11B25506F679ACBD", // zpm
|
||||
"4B497D256FB3983F", // uv
|
||||
"0A34290F579BB4E2", // uhv
|
||||
"63812416270292A4", // uev
|
||||
"60D863C48FBFF5A3", // uiv
|
||||
"1A6F087E10DC036E", // max
|
||||
"63280C5F37A22345" // creative chest (end)
|
||||
]
|
||||
|
||||
FTBQuestsEvents.completed(event => {
|
||||
const id = ___TIER_QUEST_MAPPING.findIndex(v => (v === event.object.codeString))
|
||||
if (id === -1) return;
|
||||
___updateTierRPC(id, event.player);
|
||||
})
|
||||
|
||||
PlayerEvents.loggedIn(event => {
|
||||
const quests = FTBQuests.getServerDataFromPlayer(event.player);
|
||||
|
||||
let highestLevel = 0;
|
||||
for (const key in ___TIER_QUEST_MAPPING) {
|
||||
let value = ___TIER_QUEST_MAPPING[key];
|
||||
if (value === "DEFAULT") continue;
|
||||
if (quests.isCompleted(value))
|
||||
highestLevel = key;
|
||||
}
|
||||
___updateTierRPC(highestLevel, event.player)
|
||||
})
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @param {number} tier
|
||||
* @param {Internal.Player} player
|
||||
*/
|
||||
const ___updateTierRPC = (tier, player) => {
|
||||
if (!player) {
|
||||
console.log("!! READ THIS SERVER.LOG DUMMY !!")
|
||||
console.log("!! DONT RIGHT CLICK -> 'COMPLETE INSTANTLY', IT WONT SEND THE PLAYER !!")
|
||||
return;
|
||||
}
|
||||
player.sendData("moni:rpc", { tier: tier });
|
||||
// console.log("SDRP Sent Update to client");
|
||||
}
|
||||
16
kubejs/server_scripts/mods/Shrink.js
Normal file
16
kubejs/server_scripts/mods/Shrink.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/**
|
||||
* Custom recipe for the Shrinking Device
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.shaped("shrink:shrinking_device", [
|
||||
"PFP",
|
||||
"ETS",
|
||||
"PPP"
|
||||
], {
|
||||
P: "gtceu:steel_plate",
|
||||
S: "gtceu:lv_sensor",
|
||||
E: "gtceu:lv_emitter",
|
||||
F: "gtceu:lv_field_generator",
|
||||
T: "gtceu:terminal"
|
||||
}).id("shrink:shrinking_device")
|
||||
})
|
||||
248
kubejs/server_scripts/mods/Solar_Flux.js
Normal file
248
kubejs/server_scripts/mods/Solar_Flux.js
Normal file
|
|
@ -0,0 +1,248 @@
|
|||
/**
|
||||
* Solar Flux mod script.
|
||||
*
|
||||
* Adds recipes for:
|
||||
* Solar Flux Solars
|
||||
* Photovoltaic Cells
|
||||
* Sunnarium
|
||||
* GT <-> Solarflux conversion recipes
|
||||
* Does not add recipes for:
|
||||
* Sculk Solars
|
||||
* Neutronium & Infinity Solars
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// T1 (No photovoltaic cell)
|
||||
event.shaped("2x solarflux:sp_1", [
|
||||
"MMM",
|
||||
"WWW",
|
||||
"SCS"
|
||||
], {
|
||||
M: "solarflux:mirror",
|
||||
W: "gtceu:fine_copper_wire",
|
||||
S: "minecraft:stone_slab",
|
||||
C: "laserio:energy_overclocker_card_tier_1"
|
||||
})
|
||||
event.recipes.gtceu.assembler("sp_1")
|
||||
.itemInputs([
|
||||
Item.of("solarflux:mirror", 3),
|
||||
Item.of("gtceu:fine_copper_wire", 3),
|
||||
Item.of("minecraft:stone_slab", 2),
|
||||
Item.of("laserio:energy_overclocker_card_tier_1", 1)
|
||||
])
|
||||
.itemOutputs("2x solarflux:sp_1")
|
||||
.duration(2400)
|
||||
.EUt(2)
|
||||
|
||||
// All the other panels follow a pattern until 7
|
||||
let solarCrafting = [
|
||||
["gtceu:tin_single_cable", "minecraft:redstone_block", "gtceu:cupronickel_plate", "laserio:energy_overclocker_card_tier_2"],
|
||||
["gtceu:electrical_steel_plate", "gtceu:conductive_alloy_block", "gtceu:electrical_steel_gear", "laserio:energy_overclocker_card_tier_3"],
|
||||
["gtceu:microversium_ingot", "gtceu:end_steel_block", "gtceu:microversium_ingot", "laserio:energy_overclocker_card_tier_4"],
|
||||
["gtceu:lumium_plate", "gtceu:sunnarium_dust", "gtceu:lumium_plate", "laserio:energy_overclocker_card_tier_5"],
|
||||
["gtceu:signalum_plate", "gtceu:enriched_sunnarium_dust", "gtceu:signalum_plate", "laserio:energy_overclocker_card_tier_6"]
|
||||
]
|
||||
|
||||
solarCrafting.forEach((ingredients, index) => {
|
||||
// Account for the first recipe, which doesn't use a photovoltaic cell
|
||||
let photovoltaic = index == 0 ?
|
||||
"gtceu:tempered_glass"
|
||||
: `solarflux:photovoltaic_cell_${index}`
|
||||
event.shaped(`2x solarflux:sp_${index + 2}`, [
|
||||
"SCS",
|
||||
"WBW",
|
||||
"PEP"
|
||||
], {
|
||||
S: `solarflux:sp_${index + 1}`,
|
||||
C: photovoltaic,
|
||||
W: ingredients[0],
|
||||
B: ingredients[1],
|
||||
P: ingredients[2],
|
||||
E: ingredients[3]
|
||||
})
|
||||
// Account for when the same ingredients are used twice
|
||||
let assemblerInputs;
|
||||
if (ingredients[0] == ingredients[2]) {
|
||||
assemblerInputs = [
|
||||
`2x solarflux:sp_${index + 1}`,
|
||||
Item.of(photovoltaic, 1),
|
||||
Item.of(ingredients[0], 4),
|
||||
Item.of(ingredients[1], 1),
|
||||
Item.of(ingredients[3], 1)
|
||||
]
|
||||
} else {
|
||||
assemblerInputs = [
|
||||
`2x solarflux:sp_${index + 1}`,
|
||||
Item.of(photovoltaic, 1),
|
||||
Item.of(ingredients[0], 2),
|
||||
Item.of(ingredients[1], 1),
|
||||
Item.of(ingredients[2], 2),
|
||||
Item.of(ingredients[3], 1)
|
||||
]
|
||||
}
|
||||
event.recipes.gtceu.assembler(`sp_${index + 2}`)
|
||||
.itemInputs(assemblerInputs)
|
||||
.itemOutputs(`2x solarflux:sp_${index + 2}`)
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[index])
|
||||
})
|
||||
|
||||
// High tier solars
|
||||
|
||||
// T7
|
||||
event.recipes.gtceu.assembler("sp_7")
|
||||
.itemInputs("2x solarflux:sp_6", "3x solarflux:photovoltaic_cell_5", "2x gtceu:osmium_plate", "laserio:energy_overclocker_card_tier_7")
|
||||
.inputFluids("gtceu:signalum 1296")
|
||||
.itemOutputs("2x solarflux:sp_7")
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
// T8
|
||||
event.recipes.gtceu.assembly_line("sp_8")
|
||||
.itemInputs("2x solarflux:sp_7", "3x solarflux:photovoltaic_cell_6", "2x gtceu:osmiridium_plate", "laserio:energy_overclocker_card_tier_8")
|
||||
.inputFluids("gtceu:enderium 1296")
|
||||
.itemOutputs("2x solarflux:sp_8")
|
||||
["scannerResearch(java.util.function.UnaryOperator)"](b => b.researchStack("solarflux:sp_7").EUt(480).duration(1200))
|
||||
.duration(4800)
|
||||
.EUt(30720)
|
||||
|
||||
//
|
||||
// Photovoltaic Cell Recipes
|
||||
//
|
||||
|
||||
// Similar thing with the photovoltaic cells, cells 2-6 follow a pattern (1 uses mirror)
|
||||
|
||||
// Mirror
|
||||
event.shaped("solarflux:mirror", [
|
||||
"GGG",
|
||||
"SSS",
|
||||
" "
|
||||
], {
|
||||
G: "minecraft:glass_pane",
|
||||
S: "gtceu:silver_plate"
|
||||
})
|
||||
|
||||
// Photovoltaic Cell T1
|
||||
event.shaped("6x solarflux:photovoltaic_cell_1", [
|
||||
"LLL",
|
||||
"MMM",
|
||||
"FFF"
|
||||
], {
|
||||
L: "gtceu:lapis_plate",
|
||||
M: "solarflux:mirror",
|
||||
F: "gtceu:fluix_plate"
|
||||
})
|
||||
|
||||
// Photovoltaic Cells T2-6
|
||||
let cellCrafting = [
|
||||
[2, "enderio:photovoltaic_plate", "gtceu:battery_alloy_plate"],
|
||||
[3, "minecraft:ender_pearl", "gtceu:annealed_copper_plate"],
|
||||
[4, "gtceu:light_blue_glass_lens", "gtceu:vibrant_alloy_plate"],
|
||||
[5, "gtceu:sunnarium_plate", "gtceu:sunnarium_plate"],
|
||||
[6, "gtceu:enriched_sunnarium_plate", "gtceu:enriched_sunnarium_plate"]
|
||||
]
|
||||
|
||||
cellCrafting.forEach(cell => {
|
||||
event.shaped(`6x solarflux:photovoltaic_cell_${cell[0]}`, [
|
||||
"TTT",
|
||||
"PPP",
|
||||
"BBB"
|
||||
], {
|
||||
T: cell[1],
|
||||
P: `solarflux:photovoltaic_cell_${cell[0] - 1}`,
|
||||
B: cell[2]
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
// Sunnarium
|
||||
event.shaped("3x gtceu:sunnarium_dust", [
|
||||
"ABA",
|
||||
"BCB",
|
||||
"ABA"
|
||||
], {
|
||||
A: "kubejs:stabilized_plutonium",
|
||||
B: "kubejs:stabilized_americium",
|
||||
C: "minecraft:glowstone"
|
||||
})
|
||||
event.recipes.gtceu.mixer("kubejs:sunnarium_dust_mixer")
|
||||
.inputFluids("gtceu:plutonium 144", "gtceu:americium 72")
|
||||
.itemInputs("minecraft:glowstone_dust")
|
||||
.itemOutputs("2x gtceu:sunnarium_dust")
|
||||
.duration(1800)
|
||||
.EUt(GTValues.VHA[GTValues.IV]);
|
||||
event.recipes.gtceu.mixer("kubejs:sunnarium_dust_mixer_alt")
|
||||
.inputFluids("gtceu:plutonium_241 144", "gtceu:americium 72")
|
||||
.itemInputs("minecraft:glowstone_dust")
|
||||
.itemOutputs("2x gtceu:sunnarium_dust")
|
||||
.duration(1800)
|
||||
.EUt(GTValues.VHA[GTValues.IV]);
|
||||
|
||||
event.remove({ id: "gtceu:macerator/macerate_sunnarium_plate" })
|
||||
|
||||
|
||||
// Enriched Sunnarium
|
||||
event.shaped("4x gtceu:enriched_sunnarium_dust", [
|
||||
"ABA",
|
||||
"BCB",
|
||||
"ABA"
|
||||
], {
|
||||
A: "kubejs:stabilized_neptunium",
|
||||
B: "kubejs:stabilized_curium",
|
||||
C: "gtceu:sunnarium_dust"
|
||||
})
|
||||
event.recipes.gtceu.mixer("kubejs:enriched_sunnarium_dust_mixer")
|
||||
.inputFluids("gtceu:neptunium 288", "gtceu:curium 144")
|
||||
.itemInputs("gtceu:sunnarium_dust")
|
||||
.itemOutputs("6x gtceu:enriched_sunnarium_dust")
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VHA[GTValues.LuV]);
|
||||
|
||||
event.remove({ id: "gtceu:macerator/macerate_enriched_sunnarium_plate" })
|
||||
event.remove({ id: "gtceu:macerator/macerate_dense_enriched_sunnarium_plate" })
|
||||
})
|
||||
|
||||
/* Gregtech Solar conversion/reversion */
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: /gtceu:shaped\/solar_panel_/ })
|
||||
|
||||
// Basic conversion & reversion
|
||||
event.shapeless("2x gtceu:solar_panel", "solarflux:sp_3").id("gtceu:solar_panel_basic_conversion")
|
||||
event.shapeless("solarflux:sp_3", "2x gtceu:solar_panel").id("gtceu:solar_panel_basic_reversion")
|
||||
|
||||
// Generic conversion & reversion (Note the switch for Sculk solars)
|
||||
for (let index = 0; index <= 8; index++) {
|
||||
let tiername = TIER_ID_MAPPING[index].toLowerCase();
|
||||
let solarFluxPanel;
|
||||
if (index <= 4) {
|
||||
solarFluxPanel = `solarflux:sp_${index + 4}`;
|
||||
} else {
|
||||
switch (index) {
|
||||
case 5:
|
||||
solarFluxPanel = "solarflux:sp_custom_bathyal"
|
||||
break;
|
||||
case 6:
|
||||
solarFluxPanel = "solarflux:sp_custom_abyssal"
|
||||
break;
|
||||
case 7:
|
||||
solarFluxPanel = "solarflux:sp_custom_hadal"
|
||||
break;
|
||||
case 8:
|
||||
solarFluxPanel = "solarflux:sp_custom_neutronium"
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
event.recipes.gtceu.atomic_reconstruction(`gtceu:solar_panel_${tiername}_conversion`)
|
||||
.itemInputs(solarFluxPanel)
|
||||
.itemOutputs(`gtceu:${tiername}_solar_panel`)
|
||||
.duration(5)
|
||||
.EUt(32)
|
||||
event.recipes.gtceu.atomic_reconstruction(`gtceu:solar_panel_${tiername}_reversion`)
|
||||
.itemInputs(`gtceu:${tiername}_solar_panel`)
|
||||
.itemOutputs(solarFluxPanel)
|
||||
.duration(5)
|
||||
.EUt(32)
|
||||
}
|
||||
})
|
||||
281
kubejs/server_scripts/mods/Sophisticated_Storage.js
Normal file
281
kubejs/server_scripts/mods/Sophisticated_Storage.js
Normal file
|
|
@ -0,0 +1,281 @@
|
|||
/**
|
||||
* Configuration of Sophisticated Storage
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
const modids = ["sophisticatedstorage", "sophisticatedbackpacks"]
|
||||
|
||||
// Remove default backpack recipe (Loot it!)
|
||||
event.remove({ output: "sophisticatedbackpacks:backpack" })
|
||||
|
||||
// Remove XP pump upgrades
|
||||
event.remove({ id: "sophisticatedstorage:xp_pump_upgrade" })
|
||||
event.remove({ id: "sophisticatedbackpacks:xp_pump_upgrade" })
|
||||
|
||||
// Remove Limited barrels
|
||||
event.remove({ id: /^sophisticatedstorage:.*limited.+barrel.+$/ })
|
||||
event.remove({ output: /^sophisticatedstorage:limited_barrel.+$/ })
|
||||
|
||||
// Remove Copper tier storage (not used)
|
||||
event.remove({ output: "sophisticatedstorage:copper_barrel" })
|
||||
event.remove({ output: "sophisticatedstorage:copper_chest" })
|
||||
event.remove({ output: "sophisticatedstorage:copper_shulker_box" })
|
||||
// Remove Copper tier upgrades
|
||||
event.remove({ output: /^sophisticatedstorage:.*copper.*tier_upgrade$/ })
|
||||
event.remove({ input: /^sophisticatedstorage:.*copper.*tier_upgrade$/ })
|
||||
|
||||
// Remove iron (bronze) tier storage in NM
|
||||
if (!doSteamAge) {
|
||||
event.remove({ output: "sophisticatedstorage:iron_barrel" })
|
||||
event.remove({ output: "sophisticatedstorage:iron_chest" })
|
||||
event.remove({ output: "sophisticatedstorage:iron_shulker_box" })
|
||||
event.remove({ output: /^sophisticatedstorage:.*iron.*tier_upgrade$/ })
|
||||
event.remove({ input: /^sophisticatedstorage:.*iron.*tier_upgrade$/ })
|
||||
}
|
||||
|
||||
// Standard backpack recipe if you don't want to loot it
|
||||
event.shaped("sophisticatedbackpacks:backpack", [
|
||||
" N ",
|
||||
"ICI",
|
||||
"N N"
|
||||
], {
|
||||
"N": "#forge:leather",
|
||||
"I": "minecraft:iron_ingot",
|
||||
"C": "#forge:chests/wooden"
|
||||
})
|
||||
|
||||
// Backpack upgrading
|
||||
const sophBackpacksMaterials = [
|
||||
["", null, null],
|
||||
["copper_", "bronze", "lead"],
|
||||
["iron_", "steel", "invar"],
|
||||
["gold_", "aluminium", "electrum"],
|
||||
["diamond_", "stainless_steel", "signalum"],
|
||||
["netherite_", "tungsten_steel", "enderium"]
|
||||
]
|
||||
sophBackpacksMaterials.forEach((material, index) => {
|
||||
if (index == 0) return;
|
||||
|
||||
// Works for upgrades as the recipe type implies, but doesn't work for making new backpacks from scratch
|
||||
let outputBackpack = `sophisticatedbackpacks:${material[0]}backpack`
|
||||
let inputBackpack = `sophisticatedbackpacks:${sophBackpacksMaterials[index - 1][0]}backpack`
|
||||
event.remove({ mod: "sophisticatedbackpacks", output: outputBackpack })
|
||||
event.custom({
|
||||
"type": "sophisticatedbackpacks:backpack_upgrade",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "sophisticatedcore:item_enabled",
|
||||
"itemRegistryName": outputBackpack
|
||||
}
|
||||
],
|
||||
"pattern": [
|
||||
" N ",
|
||||
"ICI",
|
||||
"N N"
|
||||
],
|
||||
"key": {
|
||||
"N": {
|
||||
"tag": (`forge:nuggets/${material[1]}`)
|
||||
},
|
||||
"I": {
|
||||
"tag": (`forge:ingots/${material[2]}`),
|
||||
},
|
||||
"C": {
|
||||
"item": inputBackpack
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": outputBackpack
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
// Barrel, Chest, Shulker Box upgrading
|
||||
const sophStorageMaterials = [
|
||||
["", null, null],
|
||||
["iron_", "bronze", "lead"],
|
||||
["gold_", "steel", "tin"],
|
||||
["diamond_", "aluminium", "copper"],
|
||||
["netherite_", "stainless_steel", "gold"],
|
||||
]
|
||||
const sophStorageTypes = [
|
||||
["", "barrel"],
|
||||
["", "chest"],
|
||||
["", "shulker_box"]
|
||||
]
|
||||
|
||||
// Skip bronze tier storage in NM
|
||||
if (!doSteamAge) {
|
||||
sophStorageMaterials.splice(1, 1);
|
||||
}
|
||||
|
||||
sophStorageMaterials.forEach((material, toIndex) => {
|
||||
if (toIndex == 0) return;
|
||||
|
||||
// Tier upgrade items
|
||||
for (let fromIndex = 0; fromIndex < toIndex; fromIndex++) {
|
||||
let fromTierName = (fromIndex == 0 ? "basic_" : sophStorageMaterials[fromIndex][0]);
|
||||
let prevTierName = (toIndex - 1 == 0 ? "basic_" : sophStorageMaterials[toIndex - 1][0]);
|
||||
let toTierName = material[0];
|
||||
|
||||
event.shaped(`sophisticatedstorage:${fromTierName}to_${toTierName}tier_upgrade`, [
|
||||
"IPI",
|
||||
"ICI",
|
||||
"IPI"
|
||||
], {
|
||||
I: `#forge:ingots/${material[1]}`,
|
||||
P: `#forge:plates/${material[2]}`,
|
||||
C: (fromTierName == prevTierName ? "minecraft:redstone_torch" : `sophisticatedstorage:${fromTierName}to_${prevTierName}tier_upgrade`)
|
||||
}).id(`sophisticatedstorage:${fromTierName}to_${toTierName}tier_upgrade`)
|
||||
}
|
||||
|
||||
// Barrel-in-table upgrades
|
||||
sophStorageTypes.forEach(storageType => {
|
||||
// Works for upgrades as the recipe type implies, but doesn't work for making new barrels/chests/boxes from scratch
|
||||
let outputStorage = `sophisticatedstorage:${storageType[0]}${material[0]}${storageType[1]}`
|
||||
let inputStorage = `sophisticatedstorage:${storageType[0]}${sophStorageMaterials[toIndex - 1][0]}${storageType[1]}`
|
||||
event.remove({ mod: "sophisticatedstorage", output: outputStorage })
|
||||
event.custom({
|
||||
"type": "sophisticatedstorage:storage_tier_upgrade",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "sophisticatedcore:item_enabled",
|
||||
"itemRegistryName": outputStorage
|
||||
}
|
||||
],
|
||||
"pattern": [
|
||||
"IPI",
|
||||
"ICI",
|
||||
"IPI"
|
||||
],
|
||||
"key": {
|
||||
"I": {
|
||||
"tag": (`forge:ingots/${material[1]}`)
|
||||
},
|
||||
"P": {
|
||||
"tag": (`forge:plates/${material[2]}`)
|
||||
},
|
||||
"C": {
|
||||
"item": inputStorage
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": outputStorage
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
event.remove({ output: "sophisticatedstorage:controller" })
|
||||
|
||||
event.replaceInput([
|
||||
{ id: "sophisticatedstorage:storage_io" },
|
||||
{ id: "sophisticatedstorage:storage_input" },
|
||||
{ id: "sophisticatedstorage:storage_output" }],
|
||||
"#forge:stone", "#forge:plates/steel")
|
||||
event.replaceInput([
|
||||
{ id: "sophisticatedstorage:storage_io" },
|
||||
{ id: "sophisticatedstorage:storage_input" },
|
||||
{ id: "sophisticatedstorage:storage_output" }],
|
||||
"minecraft:repeater", "#gtceu:circuits/lv")
|
||||
|
||||
event.shaped("sophisticatedstorage:controller", [
|
||||
"III",
|
||||
"CDC",
|
||||
"IEI"
|
||||
], {
|
||||
I: "#forge:plates/steel",
|
||||
C: "#gtceu:circuits/lv",
|
||||
D: "#sophisticatedstorage:base_tier_wooden_storage",
|
||||
E: "#forge:storage_blocks/diamond"
|
||||
})
|
||||
event.shaped("sophisticatedstorage:controller", [
|
||||
"III",
|
||||
"CDC",
|
||||
"IEI"
|
||||
], {
|
||||
I: "#forge:plates/steel",
|
||||
C: "#gtceu:circuits/lv",
|
||||
D: "#sophisticatedstorage:base_tier_wooden_storage",
|
||||
E: "#forge:storage_blocks/emerald"
|
||||
})
|
||||
|
||||
// Stack upgrades
|
||||
let stackupgrade = [
|
||||
["stack_upgrade_tier_1", "gtceu:energetic_alloy", "upgrade_base"],
|
||||
["stack_upgrade_tier_2", "gtceu:stainless_steel", "stack_upgrade_tier_1"],
|
||||
["stack_upgrade_tier_3", "gtceu:tungsten_steel", "stack_upgrade_tier_2"],
|
||||
["stack_upgrade_tier_4", "gtceu:osmiridium", "stack_upgrade_tier_3"]
|
||||
]
|
||||
event.remove({ output: "sophisticatedbackpacks:stack_upgrade_starter_tier" })
|
||||
event.remove({ output: "sophisticatedstorage:stack_upgrade_tier_1_plus" })
|
||||
|
||||
stackupgrade.forEach(material => {
|
||||
modids.forEach(mod => {
|
||||
event.remove({ output: `${mod}:${material[0]}` })
|
||||
event.shaped(`${mod}:${material[0]}`, [
|
||||
"III",
|
||||
"IUI",
|
||||
"BIB"
|
||||
], {
|
||||
I: `${material[1]}_plate`,
|
||||
B: `${material[1]}_gear`,
|
||||
U: `${mod}:${material[2]}`
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
event.remove({ output: "sophisticatedstorage:stack_upgrade_tier_5" })
|
||||
event.shaped("sophisticatedstorage:stack_upgrade_tier_5", [
|
||||
"III",
|
||||
"IUI",
|
||||
"BIB"
|
||||
], {
|
||||
I: "gtceu:naquadah_alloy_plate",
|
||||
B: "gtceu:naquadah_alloy_gear",
|
||||
U: "sophisticatedstorage:stack_upgrade_tier_4"
|
||||
}),
|
||||
|
||||
|
||||
// Upgrades
|
||||
event.remove({ output: "sophisticatedstorage:hopper_upgrade" })
|
||||
event.shaped("4x sophisticatedstorage:hopper_upgrade", [
|
||||
" H ",
|
||||
"IUI",
|
||||
"RRR"
|
||||
], {
|
||||
U: "sophisticatedstorage:upgrade_base",
|
||||
I: "minecraft:iron_ingot",
|
||||
H: "minecraft:hopper",
|
||||
R: "gtceu:red_alloy_plate"
|
||||
})
|
||||
|
||||
event.remove({ output: "sophisticatedstorage:advanced_hopper_upgrade" })
|
||||
event.shaped("sophisticatedstorage:advanced_hopper_upgrade", [
|
||||
" R ",
|
||||
"IUI",
|
||||
"RRR"
|
||||
], {
|
||||
U: "sophisticatedstorage:upgrade_base",
|
||||
I: "gtceu:lv_conveyor_module",
|
||||
R: "gtceu:steel_plate"
|
||||
})
|
||||
|
||||
// Compression upgrades are removed in EM like Compacting Drawers
|
||||
if (!doCompacting) {
|
||||
event.remove({ output: /^sophisticated.*(compacting|compression)_upgrade$/ })
|
||||
}
|
||||
|
||||
// Magnet upgrades
|
||||
modids.forEach(mod => {
|
||||
event.remove({ output: `${mod}:magnet_upgrade` })
|
||||
event.shaped(`${mod}:magnet_upgrade`, [
|
||||
"IAI",
|
||||
"IUI",
|
||||
"I I"
|
||||
], {
|
||||
U: `${mod}:pickup_upgrade`,
|
||||
I: "minecraft:iron_ingot",
|
||||
A: "enderio:vacuum_chest",
|
||||
})
|
||||
})
|
||||
})
|
||||
98
kubejs/server_scripts/mods/TelePastries.js
Normal file
98
kubejs/server_scripts/mods/TelePastries.js
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
/**
|
||||
* Custom teleportation cakes recipes
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
event.remove({ output: ["telepastries:nether_cake", "telepastries:overworld_cake", "telepastries:lost_city_cake", "telepastries:end_cake"] })
|
||||
|
||||
// Cake Base
|
||||
event.shaped("enderio:cake_base", [
|
||||
"SMS",
|
||||
"WWW"
|
||||
], {
|
||||
W: "gtceu:wheat_dust",
|
||||
S: "minecraft:sugar",
|
||||
M: "minecraft:milk_bucket"
|
||||
})
|
||||
|
||||
// Overworld Cake
|
||||
event.shaped("telepastries:overworld_cake", [
|
||||
"NKN",
|
||||
"OBO",
|
||||
"SAS"
|
||||
], {
|
||||
N: "minecraft:redstone",
|
||||
O: "#minecraft:saplings",
|
||||
B: "enderio:cake_base",
|
||||
S: "gtceu:plant_ball",
|
||||
A: "minecraft:diamond",
|
||||
K: "gtceu:gold_dust"
|
||||
})
|
||||
|
||||
event.shaped("telepastries:lost_city_cake", [
|
||||
"NNN",
|
||||
"SBS",
|
||||
"SSS"
|
||||
], {
|
||||
N: "minecraft:redstone",
|
||||
B: "enderio:cake_base",
|
||||
S: "minecraft:diamond",
|
||||
})
|
||||
|
||||
// Void Cake
|
||||
event.shaped("telepastries:custom_cake", [
|
||||
"ABC",
|
||||
"DED",
|
||||
"FFF"
|
||||
], {
|
||||
A: "gtceu:restonia_gem",
|
||||
B: "gtceu:palis_gem",
|
||||
C: "gtceu:emeradic_gem",
|
||||
D: "kubejs:pulsating_dust",
|
||||
E: "enderio:cake_base",
|
||||
F: "gtceu:aluminium_plate"
|
||||
})
|
||||
if (doHNN) {
|
||||
event.shaped("telepastries:nether_cake", [
|
||||
"NNN",
|
||||
"OBO",
|
||||
"SSS"
|
||||
], {
|
||||
N: "hostilenetworks:nether_prediction",
|
||||
O: "minecraft:obsidian",
|
||||
B: "enderio:cake_base",
|
||||
S: "minecraft:soul_sand"
|
||||
})
|
||||
event.shaped("telepastries:end_cake", [
|
||||
"NNN",
|
||||
"OBO",
|
||||
"SSS"
|
||||
], {
|
||||
N: "hostilenetworks:end_prediction",
|
||||
O: "minecraft:ender_eye",
|
||||
B: "enderio:cake_base",
|
||||
S: "gtceu:black_steel_plate"
|
||||
})
|
||||
} else {
|
||||
event.shaped("telepastries:nether_cake", [
|
||||
"NNN",
|
||||
"OBO",
|
||||
"SSS"
|
||||
], {
|
||||
N: "gtceu:steel_dust",
|
||||
O: "minecraft:obsidian",
|
||||
B: "enderio:cake_base",
|
||||
S: "minecraft:gold_block"
|
||||
})
|
||||
event.shaped("telepastries:end_cake", [
|
||||
"NNN",
|
||||
"OBO",
|
||||
"SSS"
|
||||
], {
|
||||
N: "gtceu:uraninite_dust",
|
||||
O: "minecraft:ender_eye",
|
||||
B: "enderio:cake_base",
|
||||
S: "gtceu:black_steel_plate"
|
||||
})
|
||||
}
|
||||
})
|
||||
842
kubejs/server_scripts/mods/Thermal_Series.js
Normal file
842
kubejs/server_scripts/mods/Thermal_Series.js
Normal file
|
|
@ -0,0 +1,842 @@
|
|||
/**
|
||||
* Custom recipes for the Thermal Series
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ output: ["systeams:steam_dynamo", "steamdynamo:steam_dynamo", "thermal:dynamo_compression", "thermal:dynamo_magmatic", "thermal:dynamo_numismatic", "thermal:dynamo_gourmand", "systeams:boiler_pipe", "thermal:rf_coil"] })
|
||||
event.remove({ output: ["thermal:dynamo_throttle_augment", "thermal:upgrade_augment_1", "thermal:upgrade_augment_2", "thermal:upgrade_augment_3"] })
|
||||
event.remove({ output: ["thermal:machine_frame", "thermal:energy_cell_frame"] })
|
||||
event.remove({ output: ["thermal:machine_furnace", "thermal:machine_sawmill", "thermal:machine_pulverizer", "thermal:machine_smelter", "thermal:machine_centrifuge", "thermal:machine_crucible", "thermal:machine_chiller", "thermal:machine_refinery", "thermal:machine_pyrolyzer", "thermal:machine_bottler", "thermal:machine_brewer", "thermal:machine_crystallizer"] })
|
||||
|
||||
event.remove({ id: /thermal:[A-Za-z]+_dust_/ }) // I don't even know what recipes this line of code is supposed to target
|
||||
event.remove({ id: /thermal:.*_cast/ })
|
||||
event.remove({ id: "thermal:fire_charge/obsidian_glass_2" })
|
||||
event.remove({ id: "thermal:fire_charge/signalum_glass_2" })
|
||||
event.remove({ id: "thermal:fire_charge/lumium_glass_2" })
|
||||
event.remove({ id: "thermal:fire_charge/enderium_glass_2" })
|
||||
|
||||
// Unify Thermal with GT rubber
|
||||
event.smelting("gtceu:sticky_resin", "thermal:tar")
|
||||
event.replaceInput({ id: /thermal:*/ }, ["thermal:cured_rubber"], ["#forge:rubber_plates"])
|
||||
// Unify Thermal dies
|
||||
|
||||
event.shaped("thermal:press_packing_2x2_die", [
|
||||
" A ",
|
||||
"BCB",
|
||||
" A "
|
||||
], {
|
||||
A: "gtceu:invar_plate",
|
||||
B: "gtceu:cupronickel_plate",
|
||||
C: "#minecraft:planks"
|
||||
}).id("thermal:press_packing_2x2_die")
|
||||
|
||||
event.shaped("thermal:press_packing_3x3_die", [
|
||||
" B ",
|
||||
"ACA",
|
||||
" B "
|
||||
], {
|
||||
A: "gtceu:invar_plate",
|
||||
B: "gtceu:cupronickel_plate",
|
||||
C: "#minecraft:planks"
|
||||
}).id("thermal:press_packing_3x3_die")
|
||||
|
||||
event.shaped("thermal:press_unpacking_die", [
|
||||
"B A",
|
||||
" C ",
|
||||
"A B"
|
||||
], {
|
||||
A: "gtceu:invar_plate",
|
||||
B: "gtceu:cupronickel_plate",
|
||||
C: "#minecraft:planks"
|
||||
}).id("thermal:press_unpacking_die")
|
||||
|
||||
|
||||
// Hardened Glass recipes
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:hardened_glass")
|
||||
.itemInputs("1x #forge:dusts/lead", "4x #forge:dusts/obsidian")
|
||||
.itemOutputs("2x thermal:obsidian_glass")
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:signalum_glass")
|
||||
.itemInputs("1x #forge:dusts/signalum", "2x thermal:obsidian_glass")
|
||||
.itemOutputs("2x thermal:signalum_glass")
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:lumium_glass")
|
||||
.itemInputs("1x #forge:dusts/lumium", "2x thermal:obsidian_glass")
|
||||
.itemOutputs("2x thermal:lumium_glass")
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
event.recipes.gtceu.alloy_smelter("kubejs:enderium_glass")
|
||||
.itemInputs("1x #forge:dusts/enderium", "2x thermal:obsidian_glass")
|
||||
.itemOutputs("2x thermal:enderium_glass")
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
|
||||
// Centrifuging Recipes for Arboreal Extractor products
|
||||
event.recipes.gtceu.centrifuge("kubejs:latex_centrifuging")
|
||||
.inputFluids(Fluid.of("thermal:latex", 500))
|
||||
.itemOutputs("2x gtceu:raw_rubber_dust")
|
||||
.outputFluids(Fluid.of("minecraft:water", 400))
|
||||
.duration(60).EUt(6)
|
||||
|
||||
event.recipes.gtceu.centrifuge("kubejs:resin_centrifuging")
|
||||
.inputFluids(Fluid.of("thermal:resin", 400))
|
||||
.itemOutputs("gtceu:sticky_resin")
|
||||
.chancedOutput("thermal:rosin", 5000, 500)
|
||||
.outputFluids(Fluid.of("minecraft:water", 150), Fluid.of("thermal:tree_oil", 100))
|
||||
.duration(200).EUt(20)
|
||||
|
||||
event.recipes.gtceu.centrifuge("kubejs:sap_centrifuging")
|
||||
.inputFluids(Fluid.of("thermal:sap", 200))
|
||||
.chancedOutput("minecraft:sugar", 200, 50)
|
||||
.outputFluids(Fluid.of("minecraft:water", 190), Fluid.of("thermal:syrup", 10))
|
||||
.duration(2000).EUt(2)
|
||||
|
||||
event.remove({ id: "thermal:redstone_servo" });
|
||||
event.shaped("thermal:redstone_servo", [
|
||||
"ABA",
|
||||
" B ",
|
||||
"ABA"
|
||||
], {
|
||||
A: "kubejs:resonating_crystal",
|
||||
B: "#forge:plates/electrical_steel"
|
||||
}).id("kubejs:redstone_servo");
|
||||
|
||||
// Coil Ingredients
|
||||
event.shaped("thermal:rf_coil", [
|
||||
" BA",
|
||||
"BAB",
|
||||
"AB "
|
||||
], {
|
||||
A: "gtceu:gold_rod",
|
||||
B: "minecraft:redstone"
|
||||
})
|
||||
event.recipes.gtceu.assembler("thermal:rf_coil_assembly")
|
||||
.itemInputs("#forge:rods/gold", "2x #forge:rings/gold", "3x #forge:dusts/redstone")
|
||||
.itemOutputs("thermal:rf_coil")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
event.shaped("kubejs:redstone_transmission_coil", [
|
||||
" BA",
|
||||
"BAB",
|
||||
"AB "
|
||||
], {
|
||||
A: "gtceu:silver_rod",
|
||||
B: "minecraft:redstone"
|
||||
})
|
||||
event.recipes.gtceu.assembler("kubejs:rf_transmission_coil_assembly")
|
||||
.itemInputs("#forge:rods/silver", "2x #forge:rings/silver", "3x #forge:dusts/redstone")
|
||||
.itemOutputs("kubejs:redstone_transmission_coil")
|
||||
.duration(200)
|
||||
.EUt(30)
|
||||
|
||||
/* === AUGMENTS/UPGRADES ===*/
|
||||
event.shaped(Item.of("thermal:upgrade_augment_1", '{AugmentData:{BaseMod:1.5f,Type:"Upgrade"}}'), [
|
||||
"ABA",
|
||||
"RGR",
|
||||
"ABA"
|
||||
], {
|
||||
A: "gtceu:invar_screw",
|
||||
B: "gtceu:double_invar_plate",
|
||||
G: "gtceu:electrical_steel_gear",
|
||||
R: "gtceu:fine_red_alloy_wire"
|
||||
})
|
||||
|
||||
event.shaped(Item.of("thermal:upgrade_augment_2", '{AugmentData:{BaseMod:2.5f,Type:"Upgrade"}}'), [
|
||||
"PGP",
|
||||
"BCB",
|
||||
"PGP"
|
||||
], {
|
||||
B: "gtceu:cobalt_brass_gear",
|
||||
P: "gtceu:double_electrum_plate",
|
||||
G: "thermal:obsidian_glass",
|
||||
C: "thermal:upgrade_augment_1"
|
||||
})
|
||||
|
||||
event.shaped(Item.of("thermal:upgrade_augment_4", '{AugmentData:{BaseMod:5.0f,Type:"Upgrade"}}'), [
|
||||
"RSR",
|
||||
"SCS",
|
||||
"RSR"
|
||||
], {
|
||||
R: "gtceu:restonia_gear",
|
||||
S: "gtceu:signalum_plate",
|
||||
C: "thermal:upgrade_augment_2"
|
||||
})
|
||||
|
||||
event.shaped(Item.of("thermal:upgrade_augment_3", '{AugmentData:{BaseMod:10.0f,Type:"Upgrade"}}'), [
|
||||
"ABG",
|
||||
"BCB",
|
||||
"GBA"
|
||||
], {
|
||||
A: "gtceu:double_cryolobus_plate",
|
||||
B: "gtceu:enderium_plate",
|
||||
C: "thermal:upgrade_augment_4",
|
||||
G: "gtceu:small_tungsten_carbide_gear"
|
||||
})
|
||||
|
||||
// Advanced Thermal Storage augments
|
||||
event.shaped(Item.of("thermal:rf_coil_augment_advanced", '{AugmentData:{RFMax:8.0f,RFXfer:8.0f,Type:"RF"}}'), [
|
||||
" G ",
|
||||
"SCS",
|
||||
" G "
|
||||
], {
|
||||
S: "gtceu:sterling_silver_plate",
|
||||
C: "thermal:rf_coil",
|
||||
G: "gtceu:rose_gold_plate"
|
||||
})
|
||||
|
||||
event.shaped(Item.of("thermal:rf_coil_storage_augment_advanced", '{AugmentData:{RFMax:10.0f,RFXfer:4.0f,Type:"RF"}}'), [
|
||||
" S ",
|
||||
"GCG",
|
||||
" G "
|
||||
], {
|
||||
S: "gtceu:sterling_silver_plate",
|
||||
C: "thermal:rf_coil",
|
||||
G: "gtceu:rose_gold_plate"
|
||||
})
|
||||
|
||||
event.shaped(Item.of("thermal:rf_coil_xfer_augment_advanced", '{AugmentData:{RFMax:4.0f,RFXfer:10.0f,Type:"RF"}}'), [
|
||||
" S ",
|
||||
"SCS",
|
||||
" G "
|
||||
], {
|
||||
S: "gtceu:sterling_silver_plate",
|
||||
C: "thermal:rf_coil",
|
||||
G: "gtceu:rose_gold_plate"
|
||||
})
|
||||
|
||||
event.shaped(Item.of("thermal:fluid_tank_augment_advanced", '{AugmentData:{FluidMax:10.0f,Type:"Fluid"}}'), [
|
||||
" P ",
|
||||
"RSR",
|
||||
" G "
|
||||
], {
|
||||
P: "#forge:plastic_plates",
|
||||
R: "gtceu:silicone_rubber_ring",
|
||||
G: "#thermal:glass/hardened",
|
||||
S: "gtceu:stainless_steel_normal_fluid_pipe"
|
||||
})
|
||||
|
||||
// Machine and Dynamo augments
|
||||
event.shaped("thermal:dynamo_fuel_augment", [
|
||||
"PIP",
|
||||
"GCG",
|
||||
"PIP"
|
||||
], {
|
||||
I: "#forge:ingots/wrought_iron",
|
||||
P: "gtceu:wrought_iron_plate",
|
||||
C: "thermal:rf_coil",
|
||||
G: "gtceu:small_copper_gear"
|
||||
}).id("thermal:augments/dynamo_fuel_augment")
|
||||
|
||||
event.shaped("thermal:dynamo_output_augment", [
|
||||
"SEI",
|
||||
"ECE",
|
||||
"IES"
|
||||
], {
|
||||
S: "#forge:ingots/sterling_silver",
|
||||
E: "#forge:ingots/energetic_alloy",
|
||||
I: "#forge:storage_blocks/conductive_alloy",
|
||||
C: "kubejs:redstone_transmission_coil"
|
||||
}).id("thermal:augments/dynamo_output_augment");
|
||||
|
||||
event.shaped("thermal:machine_speed_augment", [
|
||||
"NGN",
|
||||
"PCP",
|
||||
"NGN"
|
||||
], {
|
||||
N: "#forge:nuggets/mythril",
|
||||
G: "#forge:gears/black_steel",
|
||||
P: "#forge:plates/electrum",
|
||||
C: "thermal:rf_coil"
|
||||
}).id("thermal:augments/machine_speed_augment");
|
||||
|
||||
event.shaped("thermal:machine_efficiency_augment", [
|
||||
"NGN",
|
||||
"PCP",
|
||||
"NGN"
|
||||
], {
|
||||
N: "#forge:nuggets/mythril",
|
||||
G: "#forge:gears/nickel",
|
||||
P: "#forge:plates/lumium",
|
||||
C: "thermal:rf_coil"
|
||||
}).id("thermal:augments/machine_efficiency_augment");
|
||||
|
||||
event.shaped("thermal:machine_output_augment", [
|
||||
"MGM",
|
||||
"PCP",
|
||||
"MGM"
|
||||
], {
|
||||
M: "#forge:ingots/mythril",
|
||||
G: "#forge:gears/bronze",
|
||||
P: "#forge:plates/invar",
|
||||
C: "thermal:redstone_servo"
|
||||
}).id("thermal:augments/machine_output_augment");
|
||||
|
||||
event.shaped("thermal:machine_null_augment", [
|
||||
"ONO",
|
||||
"NCN",
|
||||
"ONO"
|
||||
], {
|
||||
O: "#forge:plates/obsidian",
|
||||
N: "#forge:nuggets/mythril",
|
||||
C: "minecraft:cactus" // since we use cactus to delete items now
|
||||
}).id("thermal:augments/machine_null_augment");
|
||||
|
||||
event.shaped("thermal:dynamo_throttle_augment", [
|
||||
"SES",
|
||||
"NCN",
|
||||
"SES"
|
||||
], {
|
||||
S: "#forge:plates/stainless_steel",
|
||||
E: "#forge:ingots/electrum",
|
||||
N: "#forge:springs/lead",
|
||||
C: "kubejs:excitationcoil"
|
||||
}).id("thermal:augments/dynamo_throttle_augment");
|
||||
|
||||
event.shaped("thermal:machine_catalyst_augment", [
|
||||
" A ",
|
||||
"BCB",
|
||||
" A "
|
||||
], {
|
||||
A: "gtceu:cupronickel_spring",
|
||||
B: "gtceu:lead_plate",
|
||||
C: "thermal:redstone_servo"
|
||||
}).id("thermal:augments/machine_catalyst_augment")
|
||||
|
||||
event.shaped("thermal:machine_cycle_augment", [
|
||||
"DAD",
|
||||
"BCB",
|
||||
"DAD"
|
||||
], {
|
||||
A: "gtceu:signalum_gear",
|
||||
B: "gtceu:bronze_plate",
|
||||
C: "thermal:redstone_servo",
|
||||
D: "gtceu:silver_plate"
|
||||
}).id("thermal:augments/machine_cycle_augment")
|
||||
|
||||
event.replaceInput({ id: "thermal:augments/item_filter_augment" }, "#forge:ingots/signalum", "gtceu:item_filter")
|
||||
event.replaceInput({ id: "thermal:augments/fluid_filter_augment" }, "#forge:ingots/signalum", "gtceu:fluid_filter")
|
||||
|
||||
// Dynamos
|
||||
event.shaped("kubejs:excitationcoil", [
|
||||
" B ",
|
||||
"BAB",
|
||||
"BAB"
|
||||
], {
|
||||
A: "thermal:rf_coil",
|
||||
B: "gtceu:red_alloy_plate"
|
||||
})
|
||||
event.recipes.gtceu.assembler("kubejs:excitationcoil_assembly")
|
||||
.itemInputs("thermal:rf_coil", "2x gtceu:red_alloy_plate")
|
||||
.itemOutputs("kubejs:excitationcoil")
|
||||
.duration(180)
|
||||
.EUt(30)
|
||||
|
||||
event.shaped("steamdynamo:steam_dynamo", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "kubejs:excitationcoil",
|
||||
B: "gtceu:copper_plate",
|
||||
C: "ironfurnaces:iron_furnace",
|
||||
D: "gtceu:wrought_iron_gear",
|
||||
E: "kubejs:redstone_transmission_coil"
|
||||
})
|
||||
|
||||
if (doBoilers) {
|
||||
event.shaped("systeams:steam_dynamo", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "kubejs:excitationcoil",
|
||||
B: "gtceu:copper_plate",
|
||||
C: "ironfurnaces:iron_furnace",
|
||||
D: "gtceu:wrought_iron_gear",
|
||||
E: "systeams:boiler_pipe"
|
||||
})
|
||||
|
||||
event.shapeless("systeams:stirling_boiler", ["steamdynamo:steam_dynamo", "systeams:boiler_pipe"])
|
||||
event.shaped("systeams:boiler_pipe", [
|
||||
" C ",
|
||||
"ABA",
|
||||
" D "
|
||||
], {
|
||||
A: "gtceu:copper_plate",
|
||||
B: "minecraft:bucket",
|
||||
C: "gtceu:iron_gear",
|
||||
D: "#enderio:fused_quartz"
|
||||
})
|
||||
}
|
||||
|
||||
event.shaped("thermal:dynamo_magmatic", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "kubejs:excitationcoil",
|
||||
B: "gtceu:dark_steel_plate",
|
||||
C: "ironfurnaces:copper_furnace",
|
||||
D: "enderio:dark_bimetal_gear",
|
||||
E: "kubejs:redstone_transmission_coil"
|
||||
})
|
||||
|
||||
event.shaped("thermal:dynamo_compression", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "kubejs:excitationcoil",
|
||||
B: "gtceu:energetic_alloy_plate",
|
||||
C: "ironfurnaces:gold_furnace",
|
||||
D: "enderio:energized_gear",
|
||||
E: "kubejs:redstone_transmission_coil"
|
||||
})
|
||||
|
||||
event.shaped("thermal:dynamo_gourmand", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "kubejs:excitationcoil",
|
||||
B: "gtceu:blue_alloy_plate",
|
||||
C: "ironfurnaces:silver_furnace",
|
||||
D: "enderio:iron_gear",
|
||||
E: "kubejs:redstone_transmission_coil"
|
||||
})
|
||||
|
||||
// Machines
|
||||
event.shaped("thermal:machine_frame", [
|
||||
"SSS",
|
||||
"SMS",
|
||||
"III"
|
||||
], {
|
||||
M: "#forge:gears/mythril",
|
||||
S: "#forge:plates/stainless_steel",
|
||||
I: "#forge:ingots/invar"
|
||||
})
|
||||
|
||||
event.remove({ id: "thermal:machine_press" })
|
||||
event.shaped("thermal:machine_press", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "minecraft:piston",
|
||||
B: "#forge:ingots/bronze",
|
||||
C: "thermal:machine_frame",
|
||||
D: "#forge:gears/copper",
|
||||
E: "thermal:rf_coil"
|
||||
}).id("kubejs:machine_press");
|
||||
|
||||
// energetic infuser
|
||||
event.remove({ id: "thermal:charge_bench" });
|
||||
event.shaped("thermal:charge_bench", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "#forge:gears/lead",
|
||||
B: "kubejs:redstone_transmission_coil",
|
||||
C: "thermal:machine_frame",
|
||||
D: "#forge:gears/copper",
|
||||
E: "thermal:rf_coil"
|
||||
}).id("kubejs:charge_bench")
|
||||
|
||||
// Phytogenic Insolator
|
||||
event.remove({ id: "thermal:machine_insolator" })
|
||||
event.shaped("thermal:machine_insolator", [
|
||||
" A ",
|
||||
"SBS",
|
||||
"CRC"
|
||||
], {
|
||||
A: "gtceu:double_steel_plate",
|
||||
B: "minecraft:bucket",
|
||||
S: "#minecraft:saplings",
|
||||
R: "thermal:rf_coil",
|
||||
C: "#forge:gears/copper"
|
||||
}).id("thermal:machine_insolator")
|
||||
|
||||
event.shaped("thermal:device_potion_diffuser", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "enderio:fused_quartz",
|
||||
B: "gtceu:silver_ingot",
|
||||
C: "thermal:machine_frame",
|
||||
D: "gtceu:iron_gear",
|
||||
E: "thermal:redstone_servo"
|
||||
}).id("thermal:device_potion_diffuser")
|
||||
|
||||
// energy cell
|
||||
event.shaped("thermal:energy_cell_frame", [
|
||||
"ABA",
|
||||
"BCB",
|
||||
"ABA"
|
||||
], {
|
||||
A: "#forge:plates/lead",
|
||||
B: "#forge:rods/electrum",
|
||||
C: "enderio:advanced_capacitor_bank"
|
||||
}).id("kubejs:energy_cell_frame")
|
||||
|
||||
event.remove("thermal:energy_cell");
|
||||
event.recipes.gtceu.canner("kubejs:energy_cell")
|
||||
.itemInputs("thermal:energy_cell_frame", "#forge:storage_blocks/redstone")
|
||||
.itemOutputs("thermal:energy_cell")
|
||||
.duration(500)
|
||||
.EUt(30);
|
||||
|
||||
// Diamond as Fuel
|
||||
event.recipes.thermal.numismatic_fuel("minecraft:diamond").energy(1200000)
|
||||
event.recipes.thermal.numismatic_fuel("gtceu:topaz_gem").energy(200000)
|
||||
event.recipes.thermal.numismatic_fuel("gtceu:malachite_gem").energy(200000)
|
||||
event.recipes.thermal.numismatic_fuel("minecraft:emerald").energy(200000)
|
||||
event.recipes.thermal.numismatic_fuel("minecraft:prismarine_shard").energy(150000)
|
||||
event.recipes.thermal.numismatic_fuel("minecraft:quartz").energy(40000)
|
||||
event.recipes.thermal.numismatic_fuel("gtceu:sapphire_gem").energy(200000)
|
||||
event.recipes.thermal.numismatic_fuel("gtceu:ruby_gem").energy(200000)
|
||||
event.recipes.thermal.numismatic_fuel("gtceu:apatite_gem").energy(40000)
|
||||
event.recipes.thermal.numismatic_fuel("redstone_arsenal:flux_gem").energy(1500000)
|
||||
event.recipes.thermal.numismatic_fuel("minecraft:lapis_lazuli").energy(80000)
|
||||
|
||||
// Thermal Essences
|
||||
event.recipes.gtceu.chemical_reactor("elemental_reduction_fluid")
|
||||
.itemInputs("kubejs:pulsating_dust")
|
||||
.inputFluids(Fluid.of("gtceu:hydrofluoric_acid", 1000))
|
||||
.outputFluids("gtceu:elemental_reduction_fluid 1000")
|
||||
.duration(80)
|
||||
.EUt(90)
|
||||
|
||||
// transformation
|
||||
event.recipes.gtceu.chemical_reactor("elemental_reduction_bazalz")
|
||||
.itemInputs("gtceu:coal_dust")
|
||||
.inputFluids(Fluid.of("gtceu:elemental_reduction_fluid", 100))
|
||||
.itemOutputs("thermal:basalz_powder")
|
||||
.duration(80)
|
||||
.EUt(90)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("elemental_reduction_blaze")
|
||||
.itemInputs("gtceu:netherrack_dust")
|
||||
.inputFluids(Fluid.of("gtceu:elemental_reduction_fluid", 100))
|
||||
.itemOutputs("minecraft:blaze_powder")
|
||||
.duration(80)
|
||||
.EUt(90)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("elemental_reduction_blitz")
|
||||
.itemInputs("gtceu:endstone_dust")
|
||||
.inputFluids(Fluid.of("gtceu:elemental_reduction_fluid", 100))
|
||||
.itemOutputs("thermal:blitz_powder")
|
||||
.duration(80)
|
||||
.EUt(90)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("elemental_reduction_blizz")
|
||||
.itemInputs("gtceu:ice_dust")
|
||||
.inputFluids(Fluid.of("gtceu:elemental_reduction_fluid", 100))
|
||||
.itemOutputs("thermal:blizz_powder")
|
||||
.duration(80)
|
||||
.EUt(90)
|
||||
|
||||
event.shaped("4x kubejs:primal_mana", [
|
||||
"AAB",
|
||||
"DEB",
|
||||
"DCC"
|
||||
], {
|
||||
A: "kubejs:aerotheum_dust",
|
||||
B: "kubejs:pyrotheum_dust",
|
||||
C: "kubejs:petrotheum_dust",
|
||||
D: "kubejs:cryotheum_dust",
|
||||
E: "gtceu:diamond_dust"
|
||||
})
|
||||
|
||||
event.recipes.gtceu.mixer("mixer_primal_mana")
|
||||
.itemInputs("2x kubejs:petrotheum_dust", "2x kubejs:pyrotheum_dust", "2x kubejs:aerotheum_dust", "2x kubejs:cryotheum_dust", "1x gtceu:diamond_dust")
|
||||
.itemOutputs("4x kubejs:primal_mana")
|
||||
.duration(100)
|
||||
.EUt(100)
|
||||
|
||||
event.shaped("2x kubejs:petrotheum_dust", [
|
||||
"AA ",
|
||||
"BC ",
|
||||
" "
|
||||
], {
|
||||
A: "thermal:basalz_powder",
|
||||
B: "minecraft:redstone",
|
||||
C: "gtceu:obsidian_dust"
|
||||
}).noMirror().noShrink()
|
||||
|
||||
event.recipes.gtceu.mixer("mixer_petrotheum")
|
||||
.itemInputs("2x thermal:basalz_powder", "minecraft:redstone", "gtceu:obsidian_dust")
|
||||
.itemOutputs("2x kubejs:petrotheum_dust")
|
||||
.duration(40)
|
||||
.EUt(20)
|
||||
|
||||
event.shaped("2x kubejs:pyrotheum_dust", [
|
||||
"AA ",
|
||||
"BC ",
|
||||
" "
|
||||
], {
|
||||
A: "minecraft:blaze_powder",
|
||||
B: "minecraft:redstone",
|
||||
C: "gtceu:sulfur_dust"
|
||||
}).noMirror().noShrink()
|
||||
|
||||
event.recipes.gtceu.mixer("mixer_pyrotheum")
|
||||
.itemInputs("2x minecraft:blaze_powder", "minecraft:redstone", "gtceu:sulfur_dust")
|
||||
.itemOutputs("2x kubejs:pyrotheum_dust")
|
||||
.duration(40)
|
||||
.EUt(20)
|
||||
|
||||
event.shaped("2x kubejs:aerotheum_dust", [
|
||||
"AA ",
|
||||
"BC ",
|
||||
" "
|
||||
], {
|
||||
A: "thermal:blitz_powder",
|
||||
B: "minecraft:redstone",
|
||||
C: "gtceu:saltpeter_dust"
|
||||
}).noMirror().noShrink()
|
||||
|
||||
event.recipes.gtceu.mixer("mixer_aerotheum")
|
||||
.itemInputs("2x thermal:blitz_powder", "minecraft:redstone", "gtceu:saltpeter_dust")
|
||||
.itemOutputs("2x kubejs:aerotheum_dust")
|
||||
.duration(40)
|
||||
.EUt(20)
|
||||
|
||||
event.shaped("2x kubejs:cryotheum_dust", [
|
||||
"AA ",
|
||||
"BC ",
|
||||
" "
|
||||
], {
|
||||
A: "thermal:blizz_powder",
|
||||
B: "minecraft:redstone",
|
||||
C: "minecraft:snowball"
|
||||
}).noMirror().noShrink()
|
||||
|
||||
event.recipes.gtceu.mixer("mixer_cryotheum")
|
||||
.itemInputs("2x thermal:blizz_powder", "minecraft:redstone", "minecraft:snowball")
|
||||
.itemOutputs("2x kubejs:cryotheum_dust")
|
||||
.duration(40)
|
||||
.EUt(20)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("energized_clathrate")
|
||||
.itemInputs("minecraft:quartz")
|
||||
.inputFluids(Fluid.of("gtceu:glowstone", 250))
|
||||
.itemOutputs("kubejs:energized_clathrate")
|
||||
.duration(120)
|
||||
.EUt(75)
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("destabilized_clathrate")
|
||||
.itemInputs("minecraft:quartz")
|
||||
.inputFluids(Fluid.of("gtceu:redstone", 250))
|
||||
.itemOutputs("kubejs:destabilized_clathrate")
|
||||
.duration(120)
|
||||
.EUt(75)
|
||||
|
||||
// Thermal Dusts
|
||||
event.recipes.gtceu.macerator("dust_blitz")
|
||||
.itemInputs("thermal:blitz_rod")
|
||||
.itemOutputs("4x thermal:blitz_powder")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.macerator("dust_blizz")
|
||||
.itemInputs("thermal:blizz_rod")
|
||||
.itemOutputs("4x thermal:blizz_powder")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.macerator("dust_bazalz")
|
||||
.itemInputs("thermal:basalz_rod")
|
||||
.itemOutputs("4x thermal:basalz_powder")
|
||||
.duration(200)
|
||||
.EUt(16);
|
||||
|
||||
// Thermal Mobdrops (for HM nether star recipe mostly)
|
||||
event.recipes.gtceu.compressor("blitz_rod")
|
||||
.itemInputs("4x thermal:blitz_powder")
|
||||
.itemOutputs("thermal:blitz_rod")
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("blizz_rod")
|
||||
.itemInputs("4x thermal:blizz_powder")
|
||||
.itemOutputs("thermal:blizz_rod")
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("basalz_rod")
|
||||
.itemInputs("4x thermal:basalz_powder")
|
||||
.itemOutputs("thermal:basalz_rod")
|
||||
.duration(200)
|
||||
.EUt(2)
|
||||
|
||||
// Devices
|
||||
event.remove({ type: "thermal:rock_gen", not: { output: "minecraft:cobblestone" } })
|
||||
|
||||
event.remove({ id: "thermal:device_nullifier" });
|
||||
event.shaped("thermal:device_nullifier", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "minecraft:lava_bucket",
|
||||
B: "#chipped:bricks",
|
||||
C: "thermal:machine_frame", // casing
|
||||
D: "gtceu:iron_gear",
|
||||
E: "thermal:redstone_servo"
|
||||
}).id("kubejs:device_nullifier");
|
||||
|
||||
event.remove({ id: "thermal:device_collector" });
|
||||
event.shaped("thermal:device_collector", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "minecraft:hopper",
|
||||
B: "#forge:ingots/tin",
|
||||
C: "enderio:vacuum_chest", // casing
|
||||
D: "gtceu:iron_gear",
|
||||
E: "thermal:redstone_servo"
|
||||
}).id("kubejs:device_collector");
|
||||
|
||||
event.remove({ id: "thermal:device_fisher" });
|
||||
event.shaped("thermal:device_fisher", [
|
||||
"DAD",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "minecraft:fishing_rod",
|
||||
B: "#forge:glass",
|
||||
C: "thermal:machine_frame", // casing
|
||||
D: "#minecraft:planks",
|
||||
E: "thermal:redstone_servo"
|
||||
}).id("thermal:device_fisher");
|
||||
|
||||
event.remove({ output: ["thermal:item_filter_augment"] })
|
||||
event.shaped("thermal:item_filter_augment", [
|
||||
" I ",
|
||||
"IVI",
|
||||
" I "
|
||||
], {
|
||||
I: "gtceu:invar_nugget",
|
||||
V: "gtceu:item_filter",
|
||||
})
|
||||
|
||||
/* === THERMAL TOOLS ===*/
|
||||
event.remove({ id: "thermal:tools/wrench" })
|
||||
event.shaped("thermal:wrench", [
|
||||
"A A",
|
||||
" B ",
|
||||
" A "
|
||||
], {
|
||||
A: "#forge:ingots/iron",
|
||||
B: "#forge:ingots/tin"
|
||||
}).id("kubejs:tools/wrench");
|
||||
|
||||
// detonator, locked to mv
|
||||
event.replaceInput({ id: "thermal:tools/detonator" }, ["#forge:gears/signalum"], ["#gtceu:circuits/mv"])
|
||||
|
||||
// Fluxbore
|
||||
event.remove([{ id: "thermal:drill_head" }, { id: "thermal:flux_drill" }])
|
||||
if (doFluxbore) {
|
||||
if (doHarderFluxBore) {
|
||||
event.shaped("thermal:flux_drill", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "gtceu:stainless_steel_drill_head",
|
||||
B: "#forge:ingots/silver",
|
||||
C: "gtceu:mv_power_unit",
|
||||
D: "#forge:ingots/tin",
|
||||
E: "gtceu:iron_gear"
|
||||
}).id("kubejs:flux_drill");
|
||||
} else {
|
||||
event.shaped("thermal:flux_drill", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "gtceu:vanadium_steel_drill_head",
|
||||
B: "#forge:ingots/silver",
|
||||
C: "gtceu:lv_power_unit",
|
||||
D: "#forge:ingots/tin",
|
||||
E: "gtceu:iron_gear"
|
||||
}).id("kubejs:flux_drill");
|
||||
}
|
||||
}
|
||||
|
||||
event.remove([{ id: "thermal:saw_blade" }, { id: "thermal:flux_saw" }])
|
||||
event.shaped("thermal:flux_saw", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"DED"
|
||||
], {
|
||||
A: "gtceu:vanadium_steel_buzz_saw_blade",
|
||||
B: "#forge:ingots/silver",
|
||||
C: "gtceu:lv_power_unit",
|
||||
D: "#forge:ingots/tin",
|
||||
E: "gtceu:iron_gear"
|
||||
}).id("kubejs:flux_saw");
|
||||
|
||||
event.remove({ id: "thermal:flux_capacitor" });
|
||||
event.shaped("thermal:flux_capacitor", [
|
||||
" A ",
|
||||
"BCB",
|
||||
"ADA"
|
||||
], {
|
||||
A: "#forge:dusts/redstone",
|
||||
B: "#forge:ingots/lead",
|
||||
C: "#forge:ingots/copper",
|
||||
D: "#forge:dusts/sulfur"
|
||||
}).id("kubejs:flux_capacitor");
|
||||
|
||||
// revert this change so it only requires redstone
|
||||
event.replaceInput({ id: "thermal:flux_magnet" }, ["thermal:rf_coil"], ["#forge:dusts/redstone"]);
|
||||
|
||||
// lock
|
||||
event.remove({ id: "thermal:tools/lock" });
|
||||
event.shaped("thermal:lock", [
|
||||
" A ",
|
||||
"ABA",
|
||||
"AAA"
|
||||
], {
|
||||
A: "#forge:nuggets/signalum",
|
||||
B: "#forge:ingots/signalum"
|
||||
}).id("kubejs:lock");
|
||||
|
||||
// Workbench
|
||||
event.replaceInput({ id: "thermal:tinker_bench" }, "minecraft:crafting_table", "gtceu:lv_machine_hull")
|
||||
|
||||
/* === misc thermals ===*/
|
||||
event.remove({ output: "thermal:phytogro" });
|
||||
event.shapeless("16x thermal:phytogro", [
|
||||
"2x #forge:dusts/wood",
|
||||
"#forge:dusts/charcoal",
|
||||
"#forge:dusts/saltpeter",
|
||||
"2x #forge:gems/apatite" // ok idk HOW thermal manages to make tag recipe requirement AND regular item
|
||||
]).id("kubejs:phytogro_charcoal_gems_apatite");
|
||||
event.shapeless("16x thermal:phytogro", [
|
||||
"2x #forge:dusts/wood",
|
||||
"#forge:dusts/charcoal",
|
||||
"#forge:dusts/saltpeter",
|
||||
"2x #forge:dusts/apatite"
|
||||
]).id("kubejs:phytogro_charcoal_dusts_apatite");
|
||||
event.shapeless("16x thermal:phytogro", [
|
||||
"2x #forge:dusts/wood",
|
||||
"#forge:dusts/coal",
|
||||
"#forge:dusts/saltpeter",
|
||||
"2x #forge:gems/apatite"
|
||||
]).id("kubejs:phytogro_coal_gems_apatite");
|
||||
event.shapeless("16x thermal:phytogro", [
|
||||
"2x #forge:dusts/wood",
|
||||
"#forge:dusts/coal",
|
||||
"#forge:dusts/saltpeter",
|
||||
"2x #forge:dusts/apatite"
|
||||
]).id("kubejs:phytogro_coal_dusts_apatite");
|
||||
});
|
||||
79
kubejs/server_scripts/mods/bountiful.js
Normal file
79
kubejs/server_scripts/mods/bountiful.js
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
/**
|
||||
* Widget recipes for the Bountry Board
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.shaped("kubejs:wooden_widget_left", [
|
||||
"SPP",
|
||||
"APP",
|
||||
"SPP"
|
||||
], {
|
||||
P: "#minecraft:planks",
|
||||
S: "#minecraft:wooden_slabs",
|
||||
A: "#forge:tools/saws"
|
||||
}).noMirror().id("kubejs:bountiful/wooden_widget_left")
|
||||
event.shaped("kubejs:wooden_widget_right", [
|
||||
"PPS",
|
||||
"PPA",
|
||||
"PPS"
|
||||
], {
|
||||
P: "#minecraft:planks",
|
||||
S: "#minecraft:wooden_slabs",
|
||||
A: "#forge:tools/saws",
|
||||
}).noMirror().id("kubejs:bountiful/wooden_widget_right")
|
||||
event.shaped("kubejs:wooden_widget", [
|
||||
"LGR"
|
||||
], {
|
||||
L: "kubejs:wooden_widget_left",
|
||||
G: "enderio:wood_gear",
|
||||
R: "kubejs:wooden_widget_right"
|
||||
}).noMirror().id("kubejs:bountiful/wooden_widget")
|
||||
|
||||
event.shaped("kubejs:stone_widget_up", [
|
||||
"SAS",
|
||||
"PPP",
|
||||
"PPP"
|
||||
], {
|
||||
P: "minecraft:stone",
|
||||
S: "minecraft:stone_slab",
|
||||
A: "#forge:tools/hammers"
|
||||
}).id("kubejs:bountiful/stone_widget_up")
|
||||
event.shaped("kubejs:stone_widget_down", [
|
||||
"PPP",
|
||||
"PPP",
|
||||
"SAS"
|
||||
], {
|
||||
P: "minecraft:stone",
|
||||
S: "minecraft:stone_slab",
|
||||
A: "#forge:tools/hammers",
|
||||
}).id("kubejs:bountiful/stone_widget_down")
|
||||
event.shaped("kubejs:stone_widget", [
|
||||
"U",
|
||||
"G",
|
||||
"D"
|
||||
], {
|
||||
U: "kubejs:stone_widget_up",
|
||||
G: "enderio:stone_gear",
|
||||
D: "kubejs:stone_widget_down"
|
||||
}).id("kubejs:bountiful/stone_widget")
|
||||
event.shaped("kubejs:alloy_widget", [
|
||||
"WPW",
|
||||
"PGP",
|
||||
"WPW"
|
||||
], {
|
||||
P: "gtceu:cupronickel_plate",
|
||||
W: "gtceu:copper_single_cable",
|
||||
G: "gtceu:invar_gear"
|
||||
}).id("kubejs:bountiful/alloy_widget")
|
||||
event.shaped("kubejs:ender_widget", [
|
||||
"APB",
|
||||
"PGP",
|
||||
"CPD"
|
||||
], {
|
||||
P: "gtceu:vibrant_alloy_plate",
|
||||
G: "gtceu:electrical_steel_gear",
|
||||
A: "laserio:item_card",
|
||||
B: "laserio:fluid_card",
|
||||
C: "laserio:energy_card",
|
||||
D: "laserio:redstone_card"
|
||||
}).id("kubejs:bountiful/ender_widget")
|
||||
})
|
||||
93
kubejs/server_scripts/mods/buildinggadgets2.js
Normal file
93
kubejs/server_scripts/mods/buildinggadgets2.js
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
/**
|
||||
* Custom recipes for the Building Gadgets mod
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
if (doHarderRecipes) {
|
||||
event.remove({ id: /buildinggadgets2/ })
|
||||
// Template Manager
|
||||
event.shaped("buildinggadgets2:template_manager", [
|
||||
"PMP",
|
||||
"CGC",
|
||||
"PLP"
|
||||
], {
|
||||
M: "minecraft:paper",
|
||||
P: "gtceu:iron_plate",
|
||||
G: "gtceu:restonia_gear",
|
||||
C: "#gtceu:circuits/mv",
|
||||
L: "#forge:plates/lapis"
|
||||
})
|
||||
// Gadgets
|
||||
event.shaped("buildinggadgets2:gadget_building", [
|
||||
"PE",
|
||||
"CM",
|
||||
"PB"
|
||||
], {
|
||||
M: "#forge:plates/glass",
|
||||
P: "gtceu:iron_plate",
|
||||
E: "gtceu:lv_emitter",
|
||||
C: "#gtceu:circuits/lv",
|
||||
B: "#gtceu:batteries/lv"
|
||||
})
|
||||
|
||||
event.shaped("buildinggadgets2:gadget_exchanging", [
|
||||
"PE",
|
||||
"CM",
|
||||
"PB"
|
||||
], {
|
||||
M: "#forge:plates/glass",
|
||||
P: "gtceu:iron_plate",
|
||||
E: "gtceu:mv_emitter",
|
||||
C: "#gtceu:circuits/mv",
|
||||
B: "#gtceu:batteries/lv"
|
||||
})
|
||||
event.shaped("buildinggadgets2:gadget_copy_paste", [
|
||||
"SE",
|
||||
"CM",
|
||||
"PB"
|
||||
], {
|
||||
M: "#forge:plates/glass",
|
||||
P: "gtceu:iron_plate",
|
||||
E: "gtceu:lv_emitter",
|
||||
S: "gtceu:lv_sensor",
|
||||
C: "#gtceu:circuits/mv",
|
||||
B: "#gtceu:batteries/mv"
|
||||
})
|
||||
event.shaped("buildinggadgets2:gadget_cut_paste", [
|
||||
"SE",
|
||||
"CM",
|
||||
"PB"
|
||||
], {
|
||||
M: "#forge:plates/glass",
|
||||
P: "gtceu:steel_plate",
|
||||
E: "gtceu:lv_emitter",
|
||||
S: "gtceu:lv_sensor",
|
||||
C: "#gtceu:circuits/lv",
|
||||
B: "#gtceu:batteries/hv"
|
||||
})
|
||||
event.shaped("buildinggadgets2:gadget_destruction", [
|
||||
"PE",
|
||||
"CM",
|
||||
"PB"
|
||||
], {
|
||||
M: "#forge:plates/glass",
|
||||
P: "gtceu:steel_plate",
|
||||
E: "gtceu:lv_emitter",
|
||||
C: "#gtceu:circuits/lv",
|
||||
B: "#gtceu:batteries/mv"
|
||||
})
|
||||
} else {
|
||||
// Slight nerf in NM because its stupid good for mining lol
|
||||
event.remove({ id: "buildinggadgets2:gadget_exchanging" })
|
||||
event.shaped("buildinggadgets2:gadget_exchanging", [
|
||||
"PE",
|
||||
"CM",
|
||||
"PB"
|
||||
], {
|
||||
M: "#forge:plates/glass",
|
||||
P: "gtceu:iron_plate",
|
||||
E: "gtceu:lv_emitter",
|
||||
C: "#gtceu:circuits/mv",
|
||||
B: "#gtceu:batteries/lv"
|
||||
})
|
||||
}
|
||||
})
|
||||
292
kubejs/server_scripts/mods/extended_crafting.js
Normal file
292
kubejs/server_scripts/mods/extended_crafting.js
Normal file
|
|
@ -0,0 +1,292 @@
|
|||
/**
|
||||
* Custom extended crafting recipes
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// All of the event.remove() here should REALLY be moved to Remove_Recipes.js for consistency
|
||||
|
||||
// Components
|
||||
event.remove({ output: "extendedcrafting:basic_component" })
|
||||
event.shaped("extendedcrafting:basic_component", [
|
||||
"SL ",
|
||||
"AB ",
|
||||
" "
|
||||
], {
|
||||
S: "gtceu:black_steel_plate",
|
||||
L: "extendedcrafting:luminessence",
|
||||
A: "gtceu:nether_quartz_plate",
|
||||
B: "gtceu:iron_plate"
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:advanced_component" })
|
||||
event.shaped("extendedcrafting:advanced_component", [
|
||||
"SL ",
|
||||
"AB ",
|
||||
" "
|
||||
], {
|
||||
S: "gtceu:black_steel_plate",
|
||||
L: "extendedcrafting:luminessence",
|
||||
A: "gtceu:electrum_plate",
|
||||
B: "gtceu:glowstone_plate"
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:elite_component" })
|
||||
event.shaped("extendedcrafting:elite_component", [
|
||||
"SL ",
|
||||
"AB ",
|
||||
" "
|
||||
], {
|
||||
S: "gtceu:black_steel_plate",
|
||||
L: "extendedcrafting:luminessence",
|
||||
A: "gtceu:aluminium_plate",
|
||||
B: "gtceu:ender_pearl_plate"
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:ultimate_component" })
|
||||
event.shaped("extendedcrafting:ultimate_component", [
|
||||
"SL ",
|
||||
"AB ",
|
||||
" "
|
||||
], {
|
||||
S: "gtceu:black_steel_plate",
|
||||
L: "extendedcrafting:luminessence",
|
||||
A: "gtceu:uranium_plate",
|
||||
B: "gtceu:emerald_plate"
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:epic_component" })
|
||||
event.shaped("extendedcrafting:epic_component", [
|
||||
"SL ",
|
||||
"AB ",
|
||||
" "
|
||||
], {
|
||||
S: "gtceu:black_steel_plate",
|
||||
L: "extendedcrafting:luminessence",
|
||||
A: "gtceu:activated_netherite_plate",
|
||||
B: "gtceu:red_steel_plate"
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:the_ultimate_component" })
|
||||
event.shaped("extendedcrafting:the_ultimate_component", [
|
||||
" B ",
|
||||
"ACE",
|
||||
" U "
|
||||
], {
|
||||
A: "extendedcrafting:advanced_component",
|
||||
B: "extendedcrafting:basic_component",
|
||||
C: "extendedcrafting:crystaltine_component",
|
||||
E: "extendedcrafting:elite_component",
|
||||
U: "extendedcrafting:ultimate_component",
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:crystaltine_component" })
|
||||
event.shaped("extendedcrafting:crystaltine_component", [
|
||||
"SL ",
|
||||
"AB ",
|
||||
" "
|
||||
], {
|
||||
S: "gtceu:black_steel_plate",
|
||||
L: "extendedcrafting:luminessence",
|
||||
A: "gtceu:hssg_plate",
|
||||
B: "extendedcrafting:crystaltine_ingot"
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:redstone_component" })
|
||||
event.shaped("extendedcrafting:redstone_component", [
|
||||
"SL ",
|
||||
"AB ",
|
||||
" "
|
||||
], {
|
||||
S: "gtceu:black_steel_plate",
|
||||
L: "extendedcrafting:luminessence",
|
||||
A: "gtceu:copper_plate",
|
||||
B: "gtceu:redstone_plate"
|
||||
})
|
||||
|
||||
event.replaceInput({ id: /extendedcrafting/ }, "extendedcrafting:black_iron_ingot", "gtceu:black_steel_plate")
|
||||
|
||||
// Catalysts
|
||||
event.remove({ output: "extendedcrafting:the_ultimate_catalyst" })
|
||||
event.shaped("extendedcrafting:the_ultimate_catalyst", [
|
||||
" B ",
|
||||
"ACE",
|
||||
" U "
|
||||
], {
|
||||
A: "extendedcrafting:advanced_catalyst",
|
||||
B: "extendedcrafting:basic_catalyst",
|
||||
C: "extendedcrafting:crystaltine_catalyst",
|
||||
E: "extendedcrafting:elite_catalyst",
|
||||
U: "extendedcrafting:ultimate_catalyst",
|
||||
})
|
||||
|
||||
// Tables
|
||||
event.remove({ output: "extendedcrafting:basic_table" })
|
||||
event.shaped("extendedcrafting:basic_table", [
|
||||
" B ",
|
||||
"BCB",
|
||||
" B "
|
||||
], {
|
||||
B: "extendedcrafting:basic_component",
|
||||
C: "craftingstation:crafting_station",
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:advanced_table" })
|
||||
event.shaped("extendedcrafting:advanced_table", [
|
||||
"EAE",
|
||||
"ABA",
|
||||
"EAE"
|
||||
], {
|
||||
A: "extendedcrafting:advanced_component",
|
||||
B: "extendedcrafting:basic_table",
|
||||
E: "gtceu:electrum_ingot"
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:elite_table" })
|
||||
event.recipes.extendedcrafting.shaped_table("extendedcrafting:elite_table", [
|
||||
"ASESA",
|
||||
"SCCCS",
|
||||
"ECTCE",
|
||||
"SCCCS",
|
||||
"ASESA"
|
||||
], {
|
||||
A: "gtceu:aluminium_block",
|
||||
S: "gtceu:black_steel_plate",
|
||||
E: "extendedcrafting:elite_catalyst",
|
||||
C: "extendedcrafting:elite_component",
|
||||
T: "extendedcrafting:advanced_table"
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:ultimate_table" })
|
||||
event.recipes.extendedcrafting.shaped_table("extendedcrafting:ultimate_table", [
|
||||
"ESSCSSE",
|
||||
"SUUUUUS",
|
||||
"SUSRSUS",
|
||||
"CURTRUC",
|
||||
"SUSRSUS",
|
||||
"SUUUUUS",
|
||||
"ESSCSSE"
|
||||
], {
|
||||
E: "minecraft:emerald_block",
|
||||
S: "gtceu:black_steel_plate",
|
||||
C: "extendedcrafting:the_ultimate_catalyst",
|
||||
U: "extendedcrafting:ultimate_component",
|
||||
R: "extendedcrafting:crystaltine_component",
|
||||
T: "extendedcrafting:elite_table"
|
||||
})
|
||||
|
||||
|
||||
event.remove({ output: "extendedcrafting:epic_table" })
|
||||
event.recipes.extendedcrafting.shaped_table("extendedcrafting:epic_table", [
|
||||
"ESSSCSSSE",
|
||||
"SUUUUUUUS",
|
||||
"SUSSRSSUS",
|
||||
"SUSSRSSUS",
|
||||
"CURRTRRUC",
|
||||
"SUSSRSSUS",
|
||||
"SUSSRSSUS",
|
||||
"SUUUUUUUS",
|
||||
"ESSSCSSSE"
|
||||
], {
|
||||
E: "#forge:storage_blocks/activated_netherite",
|
||||
S: "gtceu:double_black_steel_plate",
|
||||
C: "extendedcrafting:the_ultimate_catalyst",
|
||||
U: "extendedcrafting:epic_component",
|
||||
R: "extendedcrafting:crystaltine_component",
|
||||
T: "extendedcrafting:ultimate_table"
|
||||
})
|
||||
|
||||
// Table duping. Only for more nested, higher-tier tables
|
||||
let dupable_tables = [
|
||||
["elite", "aluminium"],
|
||||
["ultimate", "emerald"],
|
||||
["epic", "activated_netherite"]
|
||||
]
|
||||
dupable_tables.forEach((value) => {
|
||||
event.shaped(`2x extendedcrafting:${value[0]}_table`, [
|
||||
"ABA",
|
||||
"BCB",
|
||||
"ABA"
|
||||
], {
|
||||
A: `#forge:storage_blocks/${value[1]}`,
|
||||
B: `extendedcrafting:${value[0]}_catalyst`,
|
||||
C: `extendedcrafting:${value[0]}_table`
|
||||
}).id(`${value[0]}_table_dupe`)
|
||||
})
|
||||
|
||||
event.remove({ output: "extendedcrafting:crafting_core" })
|
||||
event.shaped("extendedcrafting:crafting_core", [
|
||||
"ABA",
|
||||
"CDC",
|
||||
"ABA"
|
||||
], {
|
||||
A: "gtceu:black_steel_plate",
|
||||
B: "extendedcrafting:elite_catalyst",
|
||||
C: "extendedcrafting:elite_component",
|
||||
D: "gtceu:tungsten_carbide_block"
|
||||
})
|
||||
|
||||
event.shaped("extendedcrafting:pedestal", [
|
||||
" P ",
|
||||
" P ",
|
||||
"PBP"
|
||||
], {
|
||||
P: "gtceu:black_steel_plate",
|
||||
B: "gtceu:black_steel_block"
|
||||
})
|
||||
|
||||
// Combination Crafts
|
||||
event.recipes.extendedcrafting.combination(
|
||||
"gtceu:restonia_empowered_block",
|
||||
"gtceu:restonia_block", ["gtceu:red_alloy_ingot", "gtceu:almandine_gem", Item.of("gtceu:glass_vial", '{Fluid:{Amount:1000,FluidName:"gtceu:sulfuric_acid"}}').weakNBT(), "extendedcrafting:the_ultimate_component"],
|
||||
4000000, 400000
|
||||
)
|
||||
|
||||
event.recipes.extendedcrafting.combination(
|
||||
"gtceu:diamatine_empowered_block",
|
||||
"gtceu:diamatine_block", ["kubejs:endest_star", "extendedcrafting:crystaltine_ingot", Item.of("gtceu:fluid_cell", '{Fluid:{Amount:1000,FluidName:"gtceu:nitrogen_dioxide"}}').weakNBT(), "extendedcrafting:crystaltine_component"],
|
||||
4000000, 400000
|
||||
)
|
||||
|
||||
event.recipes.extendedcrafting.combination(
|
||||
"gtceu:emeradic_empowered_block",
|
||||
"gtceu:emeradic_block", ["kubejs:stabilized_uranium", "gtceu:vibrant_alloy_ingot", Item.of("gtceu:fluid_cell", '{Fluid:{Amount:1000,FluidName:"gtceu:argon"}}').strongNBT(), "extendedcrafting:ultimate_component"],
|
||||
4000000, 400000
|
||||
)
|
||||
|
||||
event.recipes.extendedcrafting.combination(
|
||||
"gtceu:enori_empowered_block",
|
||||
"gtceu:enori_block", ["gtceu:apatite_gem", "gtceu:end_steel_ingot", Item.of("gtceu:fluid_cell", '{Fluid:{Amount:1000,FluidName:"gtceu:helium"}}').strongNBT(), "extendedcrafting:basic_component"],
|
||||
4000000, 400000
|
||||
)
|
||||
|
||||
event.recipes.extendedcrafting.combination(
|
||||
"gtceu:palis_empowered_block",
|
||||
"gtceu:palis_block", ["gtceu:sapphire_gem", "gtceu:mythril_ingot", Item.of("gtceu:fluid_cell", '{Fluid:{Amount:1000,FluidName:"minecraft:water"}}').strongNBT(), "extendedcrafting:elite_component"],
|
||||
4000000, 400000
|
||||
)
|
||||
|
||||
event.recipes.extendedcrafting.combination(
|
||||
"gtceu:void_empowered_block",
|
||||
"gtceu:void_block", ["gtceu:black_quartz_gem", "gtceu:dark_steel_ingot", Item.of("gtceu:fluid_cell", '{Fluid:{Amount:1000,FluidName:"gtceu:oil"}}').strongNBT(), "extendedcrafting:advanced_component"],
|
||||
4000000, 400000
|
||||
)
|
||||
|
||||
// Luminessence
|
||||
event.remove({ id: "extendedcrafting:luminessence" })
|
||||
event.remove({ id: /phosphoric_acid_from_apatite/ })
|
||||
|
||||
event.recipes.gtceu.chemical_reactor("phosphoric_acid_apatite")
|
||||
.itemInputs("9x gtceu:apatite_dust")
|
||||
.inputFluids("water 10000", "gtceu:sulfuric_acid 5000")
|
||||
.itemOutputs("40x gtceu:gypsum_dust")
|
||||
.outputFluids("gtceu:hydrochloric_acid 1000", "gtceu:phosphoric_acid 3000")
|
||||
.duration(320)
|
||||
.EUt(30)
|
||||
|
||||
event.recipes.gtceu.mixer("luminessence")
|
||||
.itemInputs("minecraft:redstone", "minecraft:glowstone_dust", "2x gtceu:aluminium_dust")
|
||||
.inputFluids("gtceu:phosphoric_acid 4000")
|
||||
.itemOutputs("8x extendedcrafting:luminessence")
|
||||
.duration(20)
|
||||
.EUt(30)
|
||||
})
|
||||
182
kubejs/server_scripts/mods/functionalstorage.js
Normal file
182
kubejs/server_scripts/mods/functionalstorage.js
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
/**
|
||||
* Custom recipes for the Functional Storage mod
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Remove bugged Oak Drawer recipes
|
||||
event.remove({ id: /functionalstorage:oak_drawer_alternate/ })
|
||||
|
||||
|
||||
// Fluid Drawers
|
||||
event.replaceInput({ output: /fluid/, mod: "functionalstorage" }, "#minecraft:planks", "#forge:plates/iron")
|
||||
event.replaceInput({ output: /fluid/, mod: "functionalstorage" }, "minecraft:bucket", "gtceu:lv_hermetic_casing")
|
||||
|
||||
|
||||
if(doCompacting) {
|
||||
// Compacting drawers
|
||||
event.shaped("functionalstorage:compacting_drawer", [
|
||||
"III",
|
||||
"PDP",
|
||||
"III"
|
||||
], {
|
||||
I: "gtceu:iron_plate",
|
||||
P: "gtceu:lv_electric_piston",
|
||||
D: "#functionalstorage:drawer"
|
||||
}).id("functionalstorage:compacting_drawer")
|
||||
/*
|
||||
event.shaped("functionalstorage:simple_compacting_drawer", [
|
||||
"III",
|
||||
"IDP",
|
||||
"III"
|
||||
], {
|
||||
I: "gtceu:iron_plate",
|
||||
P: "gtceu:lv_electric_piston",
|
||||
D: "#functionalstorage:drawer"
|
||||
}).id("functionalstorage:simple_compacting_drawer")
|
||||
*/
|
||||
event.remove("functionalstorage:simple_compacting_drawer")
|
||||
|
||||
// Framed Compacting Drawers
|
||||
event.shaped("functionalstorage:compacting_framed_drawer", [
|
||||
"III",
|
||||
"IBI",
|
||||
"III"
|
||||
], {
|
||||
I: "minecraft:iron_nugget",
|
||||
B: "functionalstorage:compacting_drawer"
|
||||
}).id("functionalstorage:compacting_framed_drawer")
|
||||
/*
|
||||
event.shaped("functionalstorage:framed_simple_compacting_drawer", [
|
||||
"III",
|
||||
"IBI",
|
||||
"III"
|
||||
], {
|
||||
I: "minecraft:iron_nugget",
|
||||
B: "functionalstorage:simple_compacting_drawer"
|
||||
}).id("functionalstorage:framed_simple_compacting_drawer")
|
||||
*/
|
||||
event.remove("functionalstorage:framed_simple_compacting_drawer")
|
||||
|
||||
// Custom coin compacting recipes
|
||||
event.custom({
|
||||
type: "functionalstorage:custom_compacting",
|
||||
higher_input: {
|
||||
count: 1,
|
||||
item: "kubejs:moni_dollar"
|
||||
},
|
||||
lower_input: {
|
||||
count: 4,
|
||||
item: "kubejs:moni_quarter"
|
||||
}
|
||||
})
|
||||
event.custom({
|
||||
type: "functionalstorage:custom_compacting",
|
||||
higher_input: {
|
||||
count: 1,
|
||||
item: "kubejs:moni_quarter"
|
||||
},
|
||||
lower_input: {
|
||||
count: 5,
|
||||
item: "kubejs:moni_nickel"
|
||||
}
|
||||
})
|
||||
if (doMonicoins) {
|
||||
event.custom({
|
||||
type: "functionalstorage:custom_compacting",
|
||||
higher_input: {
|
||||
count: 1,
|
||||
item: "kubejs:moni_nickel"
|
||||
},
|
||||
lower_input: {
|
||||
count: 5,
|
||||
item: "kubejs:moni_penny"
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
event.remove({ id: /^functionalstorage:.*compacting.*_drawer$/})
|
||||
}
|
||||
|
||||
|
||||
// Specialized Drawers
|
||||
event.shaped("functionalstorage:controller_extension", [
|
||||
"III",
|
||||
"CDC",
|
||||
"IGI"
|
||||
], {
|
||||
I: "gtceu:iron_plate",
|
||||
C: "#gtceu:circuits/lv",
|
||||
D: "#functionalstorage:drawer",
|
||||
G: "#forge:storage_blocks/gold"
|
||||
}).id("functionalstorage:controller_extension")
|
||||
event.shaped("functionalstorage:armory_cabinet", [
|
||||
"ICI",
|
||||
"PDP",
|
||||
"III"
|
||||
], {
|
||||
I: "gtceu:iron_plate",
|
||||
C: "#gtceu:circuits/hv",
|
||||
D: "#functionalstorage:drawer",
|
||||
P: "gtceu:hv_electric_piston"
|
||||
}).id("functionalstorage:armory_cabinet")
|
||||
event.shaped("functionalstorage:ender_drawer", [
|
||||
"ICI",
|
||||
"PEP",
|
||||
"III"
|
||||
], {
|
||||
I: "gtceu:iron_plate",
|
||||
C: "#gtceu:circuits/mv",
|
||||
E: "enderchests:ender_chest",
|
||||
P: "gtceu:mv_electric_piston"
|
||||
}).id("functionalstorage:ender_drawer")
|
||||
|
||||
|
||||
// Storage Controller
|
||||
event.remove({ id: "functionalstorage:storage_controller" })
|
||||
const controllerCore = ["#forge:storage_blocks/diamond", "#forge:storage_blocks/emerald"]
|
||||
controllerCore.forEach(coreBlock => {
|
||||
event.shaped("functionalstorage:storage_controller", [
|
||||
"III",
|
||||
"CDC",
|
||||
"IEI"
|
||||
], {
|
||||
I: "gtceu:iron_plate",
|
||||
C: "#gtceu:circuits/lv",
|
||||
D: "#functionalstorage:drawer",
|
||||
E: coreBlock
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
// Framed Drawers
|
||||
const miscframing = ["storage_controller", "controller_extension"]
|
||||
miscframing.forEach(Block => {
|
||||
event.shaped(`functionalstorage:framed_${Block}`, [
|
||||
"III",
|
||||
"IBI",
|
||||
"III"
|
||||
], {
|
||||
I: "minecraft:iron_nugget",
|
||||
B: `functionalstorage:${Block}`
|
||||
}).id(`functionalstorage:framed_${Block}`)
|
||||
})
|
||||
|
||||
// Storage Upgrades
|
||||
let upgradeTiers = [
|
||||
["copper", "lead", "bronze"],
|
||||
["gold", "tin", "steel"],
|
||||
["diamond", "copper", "aluminium"],
|
||||
["netherite", "gold", "stainless_steel"]
|
||||
]
|
||||
upgradeTiers.forEach((tier, tierIndex) => {
|
||||
event.remove({ id: `functionalstorage:${tier[0]}_upgrade` })
|
||||
event.shaped(`2x functionalstorage:${tier[0]}_upgrade`, [
|
||||
"PUP",
|
||||
"PGP",
|
||||
"PUP"
|
||||
], {
|
||||
P: `#forge:plates/${tier[2]}`,
|
||||
G: `#forge:double_plates/${tier[1]}`,
|
||||
U: tierIndex == 0 ? "#functionalstorage:drawer" : (`functionalstorage:${upgradeTiers[tierIndex - 1][0]}_upgrade`),
|
||||
}).id(`functionalstorage:${tier[2]}_upgrade`)
|
||||
})
|
||||
})
|
||||
127
kubejs/server_scripts/mods/gregtech.js
Normal file
127
kubejs/server_scripts/mods/gregtech.js
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
/**
|
||||
* Custom recipes for GT
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
event.shapeless("gtceu:red_alloy_dust", ["gtceu:copper_dust", "4x minecraft:redstone"]).id("kubejs:shapeless/red_alloy_dust")
|
||||
|
||||
event.shapeless("gtceu:conductive_alloy_dust", ["minecraft:redstone", "gtceu:iron_dust"]).id("kubejs:shapeless/conductive_alloy_dust")
|
||||
|
||||
event.recipes.gtceu.extractor("one_experience_fluid")
|
||||
.itemInputs("kubejs:solidified_experience")
|
||||
.outputFluids(Fluid.of("enderio:xp_juice", 140))
|
||||
.duration(80)
|
||||
.EUt(32)
|
||||
|
||||
// Sunnarium plates
|
||||
event.remove({ id: "gtceu:compressor/compress_plate_dust_sunnarium" })
|
||||
event.shaped("4x gtceu:sunnarium_plate", [
|
||||
"PPP",
|
||||
"PSP",
|
||||
"PPP"
|
||||
], {
|
||||
P: "gtceu:hastelloy_c_276_plate",
|
||||
S: "gtceu:sunnarium_dust"
|
||||
})
|
||||
|
||||
event.remove({ id: "gtceu:compressor/compress_plate_dust_enriched_sunnarium" })
|
||||
event.shaped("gtceu:enriched_sunnarium_plate", [
|
||||
" A ",
|
||||
"ABA",
|
||||
" A "
|
||||
], {
|
||||
A: "gtceu:enriched_sunnarium_dust",
|
||||
B: "gtceu:sunnarium_plate"
|
||||
})
|
||||
|
||||
// HNN MATTERS
|
||||
if (doHNN) {
|
||||
event.recipes.gtceu.extractor("overworld_fluid")
|
||||
.itemInputs("hostilenetworks:overworld_prediction")
|
||||
.outputFluids(Fluid.of("enderio:xp_juice", 200))
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
event.recipes.gtceu.extractor("nether_experience_fluid")
|
||||
.itemInputs("hostilenetworks:nether_prediction")
|
||||
.outputFluids(Fluid.of("enderio:xp_juice", 400))
|
||||
.duration(80)
|
||||
.EUt(32)
|
||||
event.recipes.gtceu.extractor("ender_experience_fluid")
|
||||
.itemInputs("hostilenetworks:end_prediction")
|
||||
.outputFluids(Fluid.of("enderio:xp_juice", 500))
|
||||
.duration(100)
|
||||
.EUt(32)
|
||||
}
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier("one_experience_solid")
|
||||
.itemOutputs("kubejs:solidified_experience")
|
||||
.inputFluids(Fluid.of("enderio:xp_juice", 140))
|
||||
.notConsumable("gtceu:ball_casting_mold")
|
||||
.duration(500)
|
||||
.EUt(16)
|
||||
|
||||
// NETHER STAR RECIPES
|
||||
event.remove({ id: "hostilenetworks:living_matter/extraterrestrial/nether_star" })
|
||||
event.remove({ id: "gtceu:implosion_compressor/implodedust_nether_star_tnt" })
|
||||
|
||||
event.recipes.gtceu.forge_hammer("nether_star_block_to_star")
|
||||
.itemInputs("gtceu:nether_star_block")
|
||||
.itemOutputs("9x minecraft:nether_star")
|
||||
.duration(100)
|
||||
.EUt(24)
|
||||
|
||||
event.recipes.gtceu.implosion_compressor("implosion_star_tnt")
|
||||
.itemInputs("4x gtceu:nether_star_dust", "2x minecraft:tnt", "gtceu:dark_ash_small_dust")
|
||||
.itemOutputs("3x minecraft:nether_star")
|
||||
.duration(20)
|
||||
.EUt(30)
|
||||
|
||||
if (doHNN) {
|
||||
event.shaped("kubejs:quantum_flux", [
|
||||
" B ",
|
||||
"BAB",
|
||||
" B "
|
||||
], {
|
||||
A: "enderio:pulsating_crystal",
|
||||
B: "hostilenetworks:end_prediction"
|
||||
})
|
||||
}
|
||||
|
||||
// Remove Hot MV ingots (And molten fluid counterpart)
|
||||
event.remove([
|
||||
{ id: /^gtceu:vacuum_freezer\/.*kanthal/ },
|
||||
{ id: /^gtceu:vacuum_freezer\/.*silicon/ },
|
||||
{ id: /^gtceu:chemical_bath\/.*kanthal.*cool/ },
|
||||
{ id: /^gtceu:chemical_bath\/.*silicon.*cool/ }
|
||||
])
|
||||
event.replaceOutput({}, "gtceu:hot_silicon_ingot", "gtceu:silicon_ingot")
|
||||
event.replaceOutput({}, "gtceu:hot_kanthal_ingot", "gtceu:kanthal_ingot")
|
||||
// When replacing fluids, the quantity of the replacing fluid needs to be specified. Else it defaults to 1 bucket.
|
||||
event.replaceOutput({id: /^gtceu:alloy_blast_smelter\/kanthal.*/}, Fluid.of("gtceu:molten_kanthal"), Fluid.of("gtceu:kanthal", 432))
|
||||
|
||||
// Steel Machine Casing
|
||||
event.remove({ input: "gtceu:steel_machine_casing" })
|
||||
event.remove({ output: "gtceu:steel_machine_casing" })
|
||||
|
||||
// Ender Pearl dust Electrolysis
|
||||
// event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_ender_pearl' })
|
||||
|
||||
// rock breaker
|
||||
const generateRockBreakerStoneRecipe = (stoneItem) => {
|
||||
event.recipes.gtceu.rock_breaker(`kubejs:rock_breaker_${stoneItem.replace(":", "_")}`)
|
||||
.notConsumable(stoneItem)
|
||||
.itemOutputs(stoneItem)
|
||||
.duration(16)
|
||||
.EUt(60)
|
||||
.addData("fluidA", "minecraft:lava")
|
||||
.addData("fluidB", "minecraft:water")
|
||||
}
|
||||
|
||||
generateRockBreakerStoneRecipe("minecraft:calcite")
|
||||
generateRockBreakerStoneRecipe("minecraft:tuff")
|
||||
generateRockBreakerStoneRecipe("quark:jasper")
|
||||
generateRockBreakerStoneRecipe("quark:limestone")
|
||||
generateRockBreakerStoneRecipe("quark:permafrost")
|
||||
generateRockBreakerStoneRecipe("quark:shale")
|
||||
generateRockBreakerStoneRecipe("quark:myalite")
|
||||
})
|
||||
253
kubejs/server_scripts/mods/iron_jetpacks.js
Normal file
253
kubejs/server_scripts/mods/iron_jetpacks.js
Normal file
|
|
@ -0,0 +1,253 @@
|
|||
/**
|
||||
* Custom recipes for the Iron Jetpacks mod
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Thermal
|
||||
|
||||
// Generate thermal thruster recipes
|
||||
const thermalThrusters = [
|
||||
["leadstone", "lead", "lead", "steamdynamo:steam_dynamo"],
|
||||
["hardened", "invar", "invar", "thermal:dynamo_magmatic"],
|
||||
["reinforced", "aluminium", "electrum", "thermal:dynamo_compression"],
|
||||
["resonant", "enderium", "enderium", "thermal:dynamo_numismatic"]
|
||||
]
|
||||
|
||||
thermalThrusters.forEach(([newTier, plate1, plate2, dynamo]) => {
|
||||
event.shaped(Item.of(`kubejs:${newTier}_thruster`), [
|
||||
"PCP",
|
||||
"MDM",
|
||||
"BBB"
|
||||
], {
|
||||
P: `#forge:plates/${plate1}`,
|
||||
M: `#forge:plates/${plate2}`,
|
||||
C: "thermal:rf_coil",
|
||||
D: dynamo,
|
||||
B: "#forge:plates/red_alloy"
|
||||
}).id(`kubejs:ironjetpacks/thrusters/${newTier}`);
|
||||
})
|
||||
|
||||
// Generate EnderIO thruster recipes
|
||||
const eioThrusters = [
|
||||
["conductive_iron", "conductive_alloy", "1", "kubejs:resonating_crystal", "gtceu:red_alloy_plate"],
|
||||
["electrical_steel", "electrical_steel", "1", "enderio:pulsating_crystal", Item.of("kubejs:conductive_iron_thruster").weakNBT()],
|
||||
["energetic", "energetic_alloy", "2", "enderio:vibrant_crystal", Item.of("kubejs:electrical_steel_thruster").weakNBT()],
|
||||
["vibrant", "vibrant_alloy", "3", "enderio:prescient_crystal", Item.of("kubejs:energetic_thruster").weakNBT()]
|
||||
]
|
||||
|
||||
eioThrusters.forEach(([newTier, plate, card, crystal, lastTier]) => {
|
||||
event.shaped(Item.of(`kubejs:${newTier}_thruster`), [
|
||||
"PCP",
|
||||
"PRP",
|
||||
"BTB"
|
||||
], {
|
||||
P: `#forge:plates/${plate}`,
|
||||
C: `laserio:energy_overclocker_card_tier_${card}`,
|
||||
R: crystal,
|
||||
T: lastTier,
|
||||
B: "gtceu:red_alloy_plate"
|
||||
}).id(`kubejs:ironjetpacks/thrusters/${newTier}`);
|
||||
})
|
||||
|
||||
// Special thrusters
|
||||
|
||||
// Dark Soularium
|
||||
event.shaped(Item.of("kubejs:dark_soularium_thruster"), [
|
||||
"ICI",
|
||||
"IFI",
|
||||
"TTT"
|
||||
], {
|
||||
I: "gtceu:dark_soularium_ingot",
|
||||
C: "laserio:energy_overclocker_card_tier_8",
|
||||
F: "kubejs:flight_control_unit",
|
||||
T: Item.of("kubejs:vibrant_thruster").weakNBT()
|
||||
}).id("kubejs:ironjetpacks/thrusters/dark_soularium");
|
||||
|
||||
// Fluxed
|
||||
event.shaped(Item.of("kubejs:fluxed_thruster"), [
|
||||
" P ",
|
||||
"PGP",
|
||||
"STS"
|
||||
], {
|
||||
P: "redstone_arsenal:flux_plating",
|
||||
G: "kubejs:glowstone_elevation_unit",
|
||||
S: "gtceu:signalum_plate",
|
||||
T: Item.of("kubejs:resonant_thruster").weakNBT()
|
||||
}).id("kubejs:ironjetpacks/thrusters/fluxed");
|
||||
|
||||
//
|
||||
// Jetpacks
|
||||
//
|
||||
|
||||
/**
|
||||
* Copies old jetpack nbt to the new jetpack
|
||||
* @param {Internal.ModifyRecipeCraftingGrid} grid
|
||||
* @param {Internal.ItemStack} result
|
||||
* @returns {Internal.ItemStack}
|
||||
*/
|
||||
const copyOldJetpackData = (grid, result) => {
|
||||
let item = grid.find("ironjetpacks:jetpack")
|
||||
if (!item.nbt) {
|
||||
return result;
|
||||
}
|
||||
|
||||
let nbt = {};
|
||||
if (item.nbt.Energy) {
|
||||
nbt.Energy = item.nbt.Energy
|
||||
}
|
||||
if (item.nbt.Engine) {
|
||||
nbt.Engine = item.nbt.Engine
|
||||
}
|
||||
if (item.nbt.Hover) {
|
||||
nbt.Hover = item.nbt.Hover
|
||||
}
|
||||
if (item.nbt.Throttle) {
|
||||
nbt.Throttle = item.nbt.Throttle
|
||||
}
|
||||
return result.withNBT(nbt);
|
||||
}
|
||||
|
||||
/**
|
||||
* @type {Internal.Ingredient[][]}
|
||||
*/
|
||||
const jetpackBase = [
|
||||
["leadstone", "ironjetpacks:strap", "lead", "thermal:flux_capacitor"],
|
||||
["conductive_iron", "ironjetpacks:strap", "conductive_alloy", "enderio:basic_capacitor"]
|
||||
]
|
||||
|
||||
/**
|
||||
* @type {Internal.Ingredient[][]}
|
||||
*/
|
||||
const jetpackUpgrade = [
|
||||
["hardened", "leadstone", "invar", Item.of("ironjetpacks:cell", '{Id:"ironjetpacks:hardened"}').weakNBT()],
|
||||
["reinforced", "hardened", "electrum", Item.of("ironjetpacks:cell", '{Id:"ironjetpacks:reinforced"}').weakNBT()],
|
||||
["resonant", "reinforced", "enderium", Item.of("ironjetpacks:cell", '{Id:"ironjetpacks:resonant"}').weakNBT()],
|
||||
["electrical_steel", "conductive_iron", "electrical_steel", "enderio:double_layer_capacitor"],
|
||||
["energetic", "electrical_steel", "energetic_alloy", "enderio:octadic_capacitor"],
|
||||
["vibrant", "energetic", "vibrant_alloy", "kubejs:compressed_octadic_capacitor"]
|
||||
]
|
||||
|
||||
jetpackBase.forEach(([newTier, middlePart, plate, energyCapacitor]) => {
|
||||
event.shaped(Item.of("ironjetpacks:jetpack", `{Id:"ironjetpacks:${newTier}"}`).strongNBT(), [
|
||||
"PEP",
|
||||
"PSP",
|
||||
"T T"
|
||||
], {
|
||||
P: `#forge:plates/${plate}`,
|
||||
E: energyCapacitor,
|
||||
S: middlePart,
|
||||
T: Item.of(`kubejs:${newTier}_thruster`).weakNBT()
|
||||
}).id(`kubejs:ironjetpacks/base/${newTier}`);
|
||||
})
|
||||
|
||||
jetpackUpgrade.forEach(([newTier, previousTier, plate, energyCapacitor]) => {
|
||||
event.shaped(Item.of("ironjetpacks:jetpack", `{Id:"ironjetpacks:${newTier}"}`).strongNBT(), [
|
||||
"PEP",
|
||||
"PSP",
|
||||
"T T"
|
||||
], {
|
||||
P: `#forge:plates/${plate}`,
|
||||
E: energyCapacitor,
|
||||
S: Item.of("ironjetpacks:jetpack", `{Id:"ironjetpacks:${previousTier}"}`).weakNBT(),
|
||||
T: Item.of(`kubejs:${newTier}_thruster`).weakNBT()
|
||||
}).modifyResult(copyOldJetpackData).id(`kubejs:ironjetpacks/upgrade/${newTier}`);
|
||||
})
|
||||
|
||||
event.recipes.gtceu.assembly_line("kubejs:ironjetpacks/upgrade/dark_soularium")
|
||||
.itemInputs(Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:vibrant"}').weakNBT(), "gtceu:dark_soularium_block", "better_angel_ring:angel_ring", "2x enderio:ender_crystal", "kubejs:double_compressed_octadic_capacitor", "4x #gtceu:circuits/luv", Item.of("kubejs:dark_soularium_thruster", 2))
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs(Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:dark_soularium"}').strongNBT())
|
||||
.duration(3000)
|
||||
.EUt(30720)
|
||||
.stationResearch(b => b.researchStack(Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:vibrant"}')).EUt(3686).CWUt(64))
|
||||
.modifyResult(copyOldJetpackData)
|
||||
|
||||
event.recipes.gtceu.assembly_line("kubejs:ironjetpacks/upgrade/fluxed")
|
||||
.itemInputs(Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:resonant"}').weakNBT(), "redstone_arsenal:flux_chestplate", "kubejs:cryotheum_coolant_unit", "better_angel_ring:angel_ring", "2x kubejs:compressed_octadic_capacitor", "3x #gtceu:circuits/luv", Item.of("kubejs:fluxed_thruster", 2))
|
||||
.inputFluids("gtceu:soldering_alloy 1152")
|
||||
.itemOutputs(Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:fluxed"}').strongNBT())
|
||||
.duration(3000)
|
||||
.EUt(30720)
|
||||
.stationResearch(b => b
|
||||
.researchStack(Item.of("ironjetpacks:jetpack", '{Id:"ironjetpacks:resonant"}'))
|
||||
.EUt(3686)
|
||||
.CWUt(64))
|
||||
.modifyResult(copyOldJetpackData)
|
||||
|
||||
//
|
||||
// Misc
|
||||
//
|
||||
event.shaped("kubejs:empty_fluxed_jetpack_unit", [
|
||||
"ABA",
|
||||
"BCB",
|
||||
"ABA"
|
||||
], {
|
||||
A: "gtceu:electrum_flux_ingot",
|
||||
B: "gtceu:signalum_ingot",
|
||||
C: "enderio:fused_quartz"
|
||||
}).id("kubejs:ironjetpacks/misc/empty_fluxed_jetpack_unit");
|
||||
|
||||
event.shaped("kubejs:empty_soularium_jetpack_unit", [
|
||||
"ABA",
|
||||
"BCB",
|
||||
"ABA"
|
||||
], {
|
||||
A: "gtceu:dark_soularium_ingot",
|
||||
B: "gtceu:electrical_steel_ingot",
|
||||
C: "enderio:fused_quartz"
|
||||
}).id("kubejs:ironjetpacks/misc/empty_soularium_jetpack_unit");
|
||||
|
||||
event.recipes.gtceu.canner("kubejs:ironjetpacks/misc/flight_control_unit")
|
||||
.itemInputs("kubejs:empty_soularium_jetpack_unit", "4x minecraft:ghast_tear")
|
||||
.itemOutputs("kubejs:flight_control_unit")
|
||||
.duration(100)
|
||||
.EUt(2000)
|
||||
|
||||
event.recipes.gtceu.canner("kubejs:ironjetpacks/misc/glowstone_elevation_unit")
|
||||
.itemInputs("kubejs:empty_fluxed_jetpack_unit")
|
||||
.inputFluids("gtceu:glowstone 4032")
|
||||
.itemOutputs("kubejs:glowstone_elevation_unit")
|
||||
.duration(100)
|
||||
.EUt(2000)
|
||||
|
||||
event.recipes.gtceu.canner("kubejs:ironjetpacks/misc/cyrotheum_coolant_unit")
|
||||
.itemInputs("kubejs:empty_fluxed_jetpack_unit")
|
||||
.inputFluids("kubejs:molten_cryotheum 6000")
|
||||
.itemOutputs("kubejs:cryotheum_coolant_unit")
|
||||
.duration(100)
|
||||
.EUt(2000)
|
||||
|
||||
|
||||
// Cells, thermal exp.
|
||||
event.shaped(Item.of("ironjetpacks:cell", '{Id:"ironjetpacks:hardened"}').strongNBT(), [
|
||||
" A ",
|
||||
"BCB",
|
||||
"ADA"
|
||||
], {
|
||||
A: "minecraft:redstone",
|
||||
B: "gtceu:invar_ingot",
|
||||
C: "thermal:flux_capacitor",
|
||||
D: "gtceu:tin_ingot"
|
||||
}).id("kubejs:ironjetpacks/cells/hardened");
|
||||
|
||||
event.shaped(Item.of("ironjetpacks:cell", '{Id:"ironjetpacks:reinforced"}').strongNBT(), [
|
||||
" A ",
|
||||
"BCB",
|
||||
"ADA"
|
||||
], {
|
||||
A: "minecraft:redstone",
|
||||
B: "gtceu:electrum_ingot",
|
||||
C: Item.of("ironjetpacks:cell", '{Id:"ironjetpacks:hardened"}').weakNBT(),
|
||||
D: "#enderio:fused_quartz"
|
||||
}).id("kubejs:ironjetpacks/cells/reinforced");
|
||||
|
||||
event.shaped(Item.of("ironjetpacks:cell", '{Id:"ironjetpacks:resonant"}').strongNBT(), [
|
||||
" A ",
|
||||
"BCB",
|
||||
"ADA"
|
||||
], {
|
||||
A: "minecraft:redstone",
|
||||
B: "gtceu:enderium_ingot",
|
||||
C: Item.of("ironjetpacks:cell", '{Id:"ironjetpacks:reinforced"}').weakNBT(),
|
||||
D: "kubejs:pyrotheum_dust"
|
||||
}).id("kubejs:ironjetpacks/cells/resonant");
|
||||
})
|
||||
78
kubejs/server_scripts/mods/kubeJS.js
Normal file
78
kubejs/server_scripts/mods/kubeJS.js
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
/**
|
||||
* Custom recipes for Monifactory
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Stablized
|
||||
event.recipes.gtceu.fusion_reactor("einsteinium_fusion")
|
||||
.inputFluids(Fluid.of("gtceu:berkelium", 16), Fluid.of("gtceu:californium", 16))
|
||||
.outputFluids(Fluid.of("gtceu:einsteinium", 16))
|
||||
.duration(100)
|
||||
.EUt(15360)
|
||||
.fusionStartEU(400000000)
|
||||
|
||||
solidify("stabilized_einsteinium", Fluid.of("gtceu:einsteinium", 144), "16x kubejs:stabilized_einsteinium");
|
||||
solidify("stabilized_berkelium", Fluid.of("gtceu:berkelium", 144), "8x kubejs:stabilized_berkelium");
|
||||
solidify("stabilized_neptunium", Fluid.of("gtceu:neptunium", 144), "2x kubejs:stabilized_neptunium");
|
||||
solidify("stabilized_plutonium", Fluid.of("gtceu:plutonium", 144), "2x kubejs:stabilized_plutonium");
|
||||
solidify("stabilized_plutonium_1", Fluid.of("gtceu:plutonium_241", 144), "2x kubejs:stabilized_plutonium");
|
||||
solidify("stabilized_uranium", Fluid.of("gtceu:uranium", 144), "kubejs:stabilized_uranium");
|
||||
solidify("stabilized_uranium_1", Fluid.of("gtceu:uranium_235", 144), "kubejs:stabilized_uranium");
|
||||
solidify("stabilized_curium", Fluid.of("gtceu:curium", 144), "4x kubejs:stabilized_curium");
|
||||
solidify("stabilized_californium", Fluid.of("gtceu:californium", 144), "8x kubejs:stabilized_californium");
|
||||
solidify("stabilized_americium", Fluid.of("gtceu:americium", 144), "4x kubejs:stabilized_americium");
|
||||
solidify("solidified_argon", Fluid.of("gtceu:argon"), "kubejs:solidified_argon");
|
||||
solidify("solidified_chlorine", Fluid.of("gtceu:chlorine"), "kubejs:solidified_chlorine");
|
||||
solidify("solidified_fluorine", Fluid.of("gtceu:fluorine"), "kubejs:solidified_fluorine");
|
||||
solidify("solidified_helium", Fluid.of("gtceu:helium"), "kubejs:solidified_helium");
|
||||
solidify("solidified_hydrogen", Fluid.of("gtceu:hydrogen"), "kubejs:solidified_hydrogen");
|
||||
solidify("solidified_krypton", Fluid.of("gtceu:krypton"), "kubejs:solidified_krypton");
|
||||
solidify("solidified_mercury", Fluid.of("gtceu:mercury"), "kubejs:solidified_mercury");
|
||||
solidify("solidified_neon", Fluid.of("gtceu:neon"), "kubejs:solidified_neon");
|
||||
solidify("solidified_nitrogen", Fluid.of("gtceu:nitrogen"), "kubejs:solidified_nitrogen");
|
||||
solidify("solidified_oxygen", Fluid.of("gtceu:oxygen"), "kubejs:solidified_oxygen");
|
||||
solidify("solidified_radon", Fluid.of("gtceu:radon"), "kubejs:solidified_radon");
|
||||
solidify("solidified_xenon", Fluid.of("gtceu:xenon"), "kubejs:solidified_xenon");
|
||||
solidify("stabilized_oganesson", Fluid.of("gtceu:oganesson", 144), "kubejs:stabilized_oganesson");
|
||||
|
||||
|
||||
function solidify(recipename, input, output) {
|
||||
event.recipes.gtceu.fluid_solidifier(recipename)
|
||||
.inputFluids(input)
|
||||
.itemOutputs(output)
|
||||
.notConsumable("gtceu:ball_casting_mold")
|
||||
.duration(500)
|
||||
.EUt(16)
|
||||
}
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier("mote_of_omnium")
|
||||
.inputFluids(Fluid.of("gtceu:omnium", 16))
|
||||
.itemOutputs("kubejs:mote_of_omnium")
|
||||
.notConsumable("gtceu:ball_casting_mold")
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
|
||||
// Thermal Fluids
|
||||
thermalextract("primal_mana", "kubejs:primal_mana", Fluid.of("gtceu:mana", 250));
|
||||
thermalextract("cryotheum", "kubejs:cryotheum_dust", Fluid.of("kubejs:molten_cryotheum", 250));
|
||||
thermalextract("pyrotheum", "kubejs:pyrotheum_dust", Fluid.of("kubejs:molten_pyrotheum", 250));
|
||||
thermalextract("aerotheum", "kubejs:aerotheum_dust", Fluid.of("kubejs:molten_aerotheum", 250));
|
||||
thermalextract("petrotheum", "kubejs:petrotheum_dust", Fluid.of("kubejs:molten_petrotheum", 250));
|
||||
|
||||
function thermalextract(recipename, input, output) {
|
||||
event.recipes.gtceu.extractor(recipename)
|
||||
.itemInputs(input)
|
||||
.outputFluids(output)
|
||||
.duration(40)
|
||||
.EUt(30)
|
||||
}
|
||||
|
||||
// Endest Star
|
||||
event.shaped("kubejs:endest_star", [
|
||||
" E ",
|
||||
"ESE",
|
||||
" E "
|
||||
], {
|
||||
E: "minecraft:ender_eye",
|
||||
S: "minecraft:nether_star"
|
||||
})
|
||||
})
|
||||
188
kubejs/server_scripts/mods/laserio.js
Normal file
188
kubejs/server_scripts/mods/laserio.js
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
/**
|
||||
* Custom recipes for the LaserIO mod
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Disable LIO transportation in Expert (Cards are used in recipes)
|
||||
if (!doLaserIO) {
|
||||
event.remove({ id: /laserio:laser_/ })
|
||||
event.remove({ id: /laserio:card_/ })
|
||||
}
|
||||
|
||||
// Harder recipes in Hard Mode
|
||||
const cardChip = doHarderRecipes ? "#gtceu:circuits/lv" : "#gtceu:circuits/ulv"
|
||||
|
||||
// Replace Logic chips with circuits.
|
||||
event.remove({ output: ["laserio:logic_chip_raw", "laserio:logic_chip"] })
|
||||
event.replaceInput({ mod: "laserio", not: [{ id: "laserio:card_item" }, { id: "laserio:card_fluid" }, { id: "laserio:card_energy" }, { id: "laserio:card_redstone" }] }, "laserio:logic_chip", cardChip)
|
||||
|
||||
const Cards = [
|
||||
["item", "gtceu:pulsating_alloy_plate"],
|
||||
["fluid", "gtceu:iron_plate"],
|
||||
["energy", "gtceu:gold_plate"],
|
||||
["redstone", "gtceu:red_alloy_plate"]
|
||||
]
|
||||
|
||||
if (doLaserIO) {
|
||||
// Cards
|
||||
Cards.forEach(card => {
|
||||
event.shaped(`laserio:card_${card[0]}`, [
|
||||
"TNT",
|
||||
"TCT",
|
||||
"GGG"
|
||||
], {
|
||||
N: card[1],
|
||||
C: cardChip,
|
||||
G: "minecraft:gold_nugget",
|
||||
T: "gtceu:tin_plate"
|
||||
}).id(`laserio:card_${card[0]}`)
|
||||
})
|
||||
|
||||
// Overclockers
|
||||
event.remove({ output: ["laserio:overclocker_card", "laserio:overclocker_node"] })
|
||||
event.shaped("laserio:overclocker_card", [
|
||||
"E",
|
||||
"P",
|
||||
"A"
|
||||
], {
|
||||
E: "#forge:double_plates/electrical_steel",
|
||||
P: "#forge:plates/electrum",
|
||||
A: "ae2:basic_card"
|
||||
})
|
||||
event.shaped("laserio:overclocker_node", [
|
||||
"E",
|
||||
"P",
|
||||
"A"
|
||||
], {
|
||||
E: "#forge:double_plates/electrical_steel",
|
||||
P: "enderio:pulsating_crystal",
|
||||
A: "ae2:advanced_card"
|
||||
})
|
||||
|
||||
// Laser Connectors
|
||||
event.shaped("4x laserio:laser_connector", [
|
||||
" E ",
|
||||
"RRR",
|
||||
"SSS"
|
||||
], {
|
||||
S: "gtceu:steel_plate",
|
||||
E: "gtceu:glass_tube",
|
||||
R: "gtceu:red_alloy_plate"
|
||||
}).id("laserio:laser_connector")
|
||||
event.shaped("laserio:laser_node", [
|
||||
"PGP",
|
||||
"GRG",
|
||||
"PGP"
|
||||
], {
|
||||
P: "gtceu:steel_plate",
|
||||
G: "#forge:glass_panes/colorless",
|
||||
R: "laserio:laser_connector"
|
||||
}).id("laserio:laser_node")
|
||||
|
||||
event.shaped("2x laserio:laser_connector_advanced", [
|
||||
" E ",
|
||||
"RCR",
|
||||
"FFF"
|
||||
], {
|
||||
F: "gtceu:electrum_flux_plate",
|
||||
E: "gtceu:ev_emitter",
|
||||
C: "#gtceu:circuits/iv",
|
||||
R: "gtceu:red_alloy_plate"
|
||||
}).id("laserio:laser_connector_advanced")
|
||||
}
|
||||
|
||||
|
||||
// Energy Overclockers //
|
||||
|
||||
// Conductive Iron
|
||||
event.shaped("3x laserio:energy_overclocker_card_tier_1", [
|
||||
"AAA",
|
||||
"BBB",
|
||||
"AAA"
|
||||
], {
|
||||
A: "gtceu:iron_plate",
|
||||
B: "gtceu:conductive_alloy_single_wire"
|
||||
}).id("kubejs:conductive_card")
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:conductive_card")
|
||||
.itemInputs("3x gtceu:conductive_alloy_single_wire", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_1")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Energetic Alloy
|
||||
event.shaped("3x laserio:energy_overclocker_card_tier_2", [
|
||||
"AAA",
|
||||
"BCB",
|
||||
"AAA"
|
||||
], {
|
||||
A: "gtceu:iron_plate",
|
||||
B: "gtceu:energetic_alloy_single_wire",
|
||||
C: "laserio:energy_overclocker_card_tier_1"
|
||||
}).id("kubejs:energetic_card")
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:energetic_card")
|
||||
.itemInputs("2x gtceu:energetic_alloy_single_wire", "laserio:energy_overclocker_card_tier_1", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_2")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Vibrant Alloy
|
||||
event.shaped("3x laserio:energy_overclocker_card_tier_3", [
|
||||
"AAA",
|
||||
"BCB",
|
||||
"AAA"
|
||||
], {
|
||||
A: "gtceu:iron_plate",
|
||||
B: "gtceu:vibrant_alloy_single_wire",
|
||||
C: "laserio:energy_overclocker_card_tier_2"
|
||||
}).id("kubejs:vibrant_card")
|
||||
|
||||
event.recipes.gtceu.assembler("kubejs:vibrant_card")
|
||||
.itemInputs("2x gtceu:vibrant_alloy_single_wire", "laserio:energy_overclocker_card_tier_2", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_3")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Endsteel
|
||||
event.recipes.gtceu.assembler("kubejs:endsteel_card")
|
||||
.itemInputs("2x gtceu:end_steel_single_wire", "laserio:energy_overclocker_card_tier_3", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_4")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Lumium
|
||||
event.recipes.gtceu.assembler("kubejs:lumium_card")
|
||||
.itemInputs("2x gtceu:lumium_single_wire", "laserio:energy_overclocker_card_tier_4", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_5")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Signalum
|
||||
event.recipes.gtceu.assembler("kubejs:signalum_card")
|
||||
.itemInputs("2x gtceu:signalum_single_wire", "laserio:energy_overclocker_card_tier_5", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_6")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Enderium
|
||||
event.recipes.gtceu.assembler("kubejs:enderium_card")
|
||||
.itemInputs("2x gtceu:enderium_single_wire", "laserio:energy_overclocker_card_tier_6", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_7")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Cryolobus
|
||||
event.recipes.gtceu.assembler("kubejs:cryolobus_card")
|
||||
.itemInputs("2x gtceu:cryolobus_single_wire", "laserio:energy_overclocker_card_tier_7", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_8")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
|
||||
// Sculk Superconductor
|
||||
event.recipes.gtceu.assembler("kubejs:sculk_superconductor_card")
|
||||
.itemInputs("2x gtceu:sculk_superconductor_single_wire", "laserio:energy_overclocker_card_tier_8", "6x gtceu:iron_plate")
|
||||
.itemOutputs("4x laserio:energy_overclocker_card_tier_9")
|
||||
.duration(80)
|
||||
.EUt(16)
|
||||
})
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
/**
|
||||
* Compat for the computercraft addon Advanced Peripherals
|
||||
*/
|
||||
|
||||
const modid = "advancedperipherals"
|
||||
|
||||
if (Platform.isLoaded(modid) && Platform.isLoaded("computercraft")) {
|
||||
console.log("Advanced peripherals found, loading compat scripts...")
|
||||
ServerEvents.recipes(event => {
|
||||
const replaceRecipe = (output, shape, dictionary) => {
|
||||
const id = `${modid}:${output}`
|
||||
event.remove({ id: id })
|
||||
event.shaped(id, shape, dictionary)
|
||||
}
|
||||
|
||||
replaceRecipe("peripheral_casing", [
|
||||
"CMC",
|
||||
"SLS",
|
||||
"CMC"
|
||||
], {
|
||||
C: "computercraft:cable",
|
||||
M: "computercraft:wired_modem",
|
||||
S: "#gtceu:circuits/mv",
|
||||
L: "gtceu:mv_machine_hull"
|
||||
})
|
||||
|
||||
replaceRecipe("chat_box", [
|
||||
"BEB",
|
||||
"PCP",
|
||||
"ASA"
|
||||
], {
|
||||
B: "minecraft:book",
|
||||
E: "gtceu:mv_emitter",
|
||||
P: "minecraft:ender_pearl",
|
||||
C: `${modid}:peripheral_casing`,
|
||||
A: "minecraft:paper",
|
||||
S: "gtceu:mv_sensor"
|
||||
})
|
||||
|
||||
replaceRecipe("energy_detector", [
|
||||
"C C",
|
||||
"TPT",
|
||||
"C C"
|
||||
], {
|
||||
C: "gtceu:copper_single_cable",
|
||||
T: "gtceu:mv_transformer_1a",
|
||||
P: `${modid}:peripheral_casing`
|
||||
})
|
||||
|
||||
event.remove({ id: `${modid}:environment_detector` })
|
||||
const envDetectorRecipe = (plate) => {
|
||||
event.shaped(`${modid}:environment_detector`, [
|
||||
"PSP",
|
||||
"SCS",
|
||||
"DSD"
|
||||
], {
|
||||
P: plate,
|
||||
S: "gtceu:lv_sensor",
|
||||
C: `${modid}:peripheral_casing`,
|
||||
D: "minecraft:dirt"
|
||||
})
|
||||
}
|
||||
envDetectorRecipe("gtceu:nether_quartz_plate")
|
||||
envDetectorRecipe("gtceu:certus_quartz_plate")
|
||||
envDetectorRecipe("gtceu:quartzite_plate")
|
||||
|
||||
replaceRecipe("player_detector", [
|
||||
"OSO",
|
||||
"PCP",
|
||||
"MSM"
|
||||
], {
|
||||
O: "minecraft:observer",
|
||||
S: "gtceu:mv_sensor",
|
||||
P: "minecraft:ender_pearl",
|
||||
C: `${modid}:peripheral_casing`,
|
||||
M: "minecraft:smooth_stone"
|
||||
})
|
||||
|
||||
replaceRecipe("inventory_manager", [
|
||||
"WEW",
|
||||
"RPR",
|
||||
"FCF"
|
||||
], {
|
||||
W: "ae2:wireless_receiver",
|
||||
E: "minecraft:ender_pearl",
|
||||
R: "gtceu:hv_robot_arm",
|
||||
P: `${modid}:peripheral_casing`,
|
||||
F: "gtceu:hv_field_generator",
|
||||
C: "minecraft:chest"
|
||||
})
|
||||
|
||||
replaceRecipe("block_reader", [
|
||||
"PSP",
|
||||
"ECM",
|
||||
"PSP"
|
||||
], {
|
||||
P: "gtceu:steel_plate",
|
||||
S: "gtceu:steel_screw",
|
||||
E: "gtceu:mv_emitter",
|
||||
C: `${modid}:peripheral_casing`,
|
||||
M: "gtceu:mv_sensor"
|
||||
})
|
||||
|
||||
replaceRecipe("nbt_storage", [
|
||||
"PMP",
|
||||
"SRS",
|
||||
"PCP"
|
||||
], {
|
||||
P: "gtceu:steel_plate",
|
||||
M: "computercraft:wired_modem",
|
||||
S: "#gtceu:circuits/mv",
|
||||
R: `${modid}:peripheral_casing`,
|
||||
C: "minecraft:chest"
|
||||
})
|
||||
|
||||
replaceRecipe("geo_scanner", [
|
||||
"SPS",
|
||||
"CRC",
|
||||
"SDS"
|
||||
], {
|
||||
S: "gtceu:steel_screw",
|
||||
P: "gtceu:prospector.lv",
|
||||
C: "#gtceu:circuits/mv",
|
||||
R: `${modid}:peripheral_casing`,
|
||||
D: "minecraft:diamond"
|
||||
})
|
||||
|
||||
replaceRecipe("me_bridge", [
|
||||
"GIG",
|
||||
"SCS",
|
||||
"GTG"
|
||||
], {
|
||||
G: "ae2:fluix_glass_cable",
|
||||
I: "ae2:interface",
|
||||
S: "#gtceu:circuits/mv",
|
||||
C: `${modid}:peripheral_casing`,
|
||||
T: "ae2:pattern_provider"
|
||||
})
|
||||
})
|
||||
console.log("Advacned peripherals compat scripts successfully loaded!")
|
||||
} else { console.log("Advanced peripherals not found, skipping compat scripts. ") }
|
||||
416
kubejs/server_scripts/mods/optionalCompats/architects_palette.js
Normal file
416
kubejs/server_scripts/mods/optionalCompats/architects_palette.js
Normal file
|
|
@ -0,0 +1,416 @@
|
|||
/**
|
||||
*
|
||||
* Compatibility Script for Architect's Palette
|
||||
* Mainly removes Warping, but also adds various other recipes to GT machines.
|
||||
*
|
||||
*/
|
||||
|
||||
if (Platform.isLoaded("architects_palette")) {
|
||||
console.log("Architect's Palette found, loading compat script...")
|
||||
|
||||
LootJS.modifiers((event) => {
|
||||
event.addEntityLootModifier("minecraft:wither_skeleton").replaceLoot("architects_palette:withered_bone", "minecraft:bone", true);
|
||||
});
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Recipe Removal
|
||||
event.remove([
|
||||
{ id: "architects_palette:algal_blend" },
|
||||
{ id: "architects_palette:algal_blend" },
|
||||
{ id: "architects_palette:plating_block" },
|
||||
{ id: "architects_palette:tread_plating" },
|
||||
{ id: "architects_palette:nether_brass_blend" },
|
||||
{ id: "architects_palette:oracle_jelly" },
|
||||
{ id: "architects_palette:wardstone_blend" },
|
||||
{ id: "architects_palette:cerebral_plate" },
|
||||
{ id: "architects_palette:sunmetal_blend" },
|
||||
{ id: "architects_palette:hazard_sign" },
|
||||
{ id: "architects_palette:entwine_rod" },
|
||||
{ id: "architects_palette:withered_bone" },
|
||||
])
|
||||
|
||||
// For some reason the smelting recipe wouldn't go away so I went with the more direct approach.
|
||||
event.remove({ output: "architects_palette:wardstone_brick" })
|
||||
|
||||
event.remove({ type: "architects_palette:warping" })
|
||||
|
||||
event.replaceInput(
|
||||
{ input: "architects_palette:withered_bone" },
|
||||
"architects_palette:withered_bone",
|
||||
"kubejs:wither_bone"
|
||||
)
|
||||
|
||||
// Mixer Recipes
|
||||
event.recipes.gtceu.mixer("algal_blend")
|
||||
.itemInputs("minecraft:clay_ball","minecraft:kelp")
|
||||
.itemOutputs("4x architects_palette:algal_blend")
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.mixer("4x_algal_blend")
|
||||
.itemInputs("minecraft:clay","2x minecraft:kelp")
|
||||
.itemOutputs("16x architects_palette:algal_blend")
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.mixer("myonite")
|
||||
.itemInputs("4x minecraft:stone","#forge:mushrooms")
|
||||
.itemOutputs("8x architects_palette:myonite")
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.mixer("olivestone_bricks")
|
||||
.itemInputs("8x minecraft:stone_bricks")
|
||||
.inputFluids("gtceu:green_dye 72")
|
||||
.itemOutputs("8x architects_palette:olivestone_bricks")
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.mixer("sunmetal_blend")
|
||||
.itemInputs("minecraft:soul_sand", "gtceu:tiny_gold_dust")
|
||||
.itemOutputs("4x architects_palette:sunmetal_blend")
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.gtceu.mixer("sunmetal_blend_9x")
|
||||
.itemInputs("9x minecraft:soul_sand", "gtceu:gold_dust")
|
||||
.itemOutputs("36x architects_palette:sunmetal_blend")
|
||||
.duration(100)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.gtceu.mixer("nether_brass_blend")
|
||||
.itemInputs("minecraft:soul_sand", "gtceu:copper_dust", "gtceu:tiny_iron_dust")
|
||||
.itemOutputs("4x architects_palette:nether_brass_blend")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.mixer("nether_brass_blend_9x")
|
||||
.itemInputs("9x minecraft:soul_sand", "9x gtceu:copper_dust", "gtceu:iron_dust")
|
||||
.itemOutputs("36x architects_palette:nether_brass_blend")
|
||||
.duration(100)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.mixer("oracle_jelly")
|
||||
.itemInputs("minecraft:chorus_fruit", "minecraft:sugar")
|
||||
.itemOutputs("4x architects_palette:oracle_jelly")
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.gtceu.mixer("oracle_bricks")
|
||||
.itemInputs("8x architects_palette:oracle_bricks")
|
||||
.inputFluids("gtceu:black_dye 72")
|
||||
.itemOutputs("8x architects_palette:dark_oracle_bricks")
|
||||
.duration(40)
|
||||
.EUt(7)
|
||||
|
||||
// Alloy Smelter Recipes
|
||||
event.recipes.gtceu.alloy_smelter("wardstone_brick")
|
||||
.itemInputs("minecraft:soul_sand", "minecraft:gold_nugget")
|
||||
.itemOutputs("4x architects_palette:sunmetal_brick")
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("sunmetal_brick")
|
||||
.itemInputs("minecraft:lapis_lazuli", "minecraft:nether_wart")
|
||||
.itemOutputs("4x architects_palette:wardstone_brick")
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.gtceu.alloy_smelter("cerebral_plate")
|
||||
.itemInputs("minecraft:tuff", "#minecraft:coals")
|
||||
.itemOutputs("4x architects_palette:cerebral_plate")
|
||||
.duration(20)
|
||||
.EUt(8)
|
||||
|
||||
// Compressor Recipes
|
||||
event.recipes.gtceu.compressor("agal_bricks")
|
||||
.itemInputs("4x architects_palette:algal_brick")
|
||||
.itemOutputs("architects_palette:algal_bricks")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("cerebral_block")
|
||||
.itemInputs("4x architects_palette:cerebral_plate")
|
||||
.itemOutputs("8x architects_palette:cerebral_block")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("oracle_block")
|
||||
.itemInputs("4x architects_palette:oracle_jelly")
|
||||
.itemOutputs("8x architects_palette:oracle_block")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("rotten_flesh_block")
|
||||
.itemInputs("9x minecraft:rotten_flesh")
|
||||
.itemOutputs("architects_palette:rotten_flesh_block")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("unobtanium_block")
|
||||
.itemInputs("4x architects_palette:unobtanium")
|
||||
.itemOutputs("architects_palette:unobtanium_block")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("sunmetal_block")
|
||||
.itemInputs("4x architects_palette:sunmetal_brick")
|
||||
.itemOutputs("4x architects_palette:sunmetal_block")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("nether_brass_block")
|
||||
.itemInputs("4x architects_palette:nether_brass_ingot")
|
||||
.itemOutputs("4x architects_palette:nether_brass_block")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("withered_bone_block")
|
||||
.itemInputs("3x kubejs:wither_bone")
|
||||
.itemOutputs("architects_palette:withered_bone_block")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("cod_log")
|
||||
.itemInputs("4x minecraft:cod")
|
||||
.itemOutputs("6x architects_palette:cod_log")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("salmon_log")
|
||||
.itemInputs("4x minecraft:salmon")
|
||||
.itemOutputs("6x architects_palette:salmon_log")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor("scute_block")
|
||||
.itemInputs("4x minecraft:scute")
|
||||
.itemOutputs("12x architects_palette:scute_block")
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
// The One Lathe Recipe
|
||||
event.recipes.gtceu.lathe("entwine_rod")
|
||||
.itemInputs("minecraft:ender_pearl")
|
||||
.itemOutputs("4x architects_palette:entwine_rod")
|
||||
.duration(112)
|
||||
.EUt(16)
|
||||
|
||||
// Forge Hammer Recipes
|
||||
event.recipes.gtceu.forge_hammer("unobtanium")
|
||||
.itemInputs("architects_palette:unobtanium_block")
|
||||
.itemOutputs("5x architects_palette:unobtanium")
|
||||
.duration(60)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.forge_hammer("withered_bone")
|
||||
.itemInputs("architects_palette:withered_bone_block")
|
||||
.itemOutputs("3x kubejs:wither_bone")
|
||||
.duration(60)
|
||||
.EUt(7)
|
||||
|
||||
// Assembler Recipes
|
||||
event.recipes.gtceu.assembler("abyssaline")
|
||||
.itemInputs("2x minecraft:obsidian", "2x minecraft:prismarine_shard")
|
||||
.itemOutputs("12x architects_palette:abyssaline")
|
||||
.duration(100)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.assembler("plating_block")
|
||||
.circuit(24)
|
||||
.itemInputs("4x minecraft:iron_nugget", "gtceu:iron_plate")
|
||||
.itemOutputs("8x architects_palette:plating_block")
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.assembler("tread_plate")
|
||||
.circuit(23)
|
||||
.itemInputs("4x minecraft:iron_nugget", "architects_palette:plating_block")
|
||||
.itemOutputs("8x architects_palette:tread_plate")
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.assembler("bread_block")
|
||||
.circuit(1)
|
||||
.itemInputs("minecraft:hay_block")
|
||||
.itemOutputs("3x architects_palette:bread_block")
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.assembler("spool")
|
||||
.circuit(2)
|
||||
.itemInputs("minecraft:stick", "minecraft:white_wool")
|
||||
.itemOutputs("2x architects_palette:spool")
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.assembler("coarse_snow")
|
||||
.itemInputs("minecraft:gravel", "minecraft:snow_block")
|
||||
.itemOutputs("4x architects_palette:coarse_snow")
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.assembler("molten_nether_bricks")
|
||||
.itemInputs("minecraft:nether_bricks", "minecraft:magma_block")
|
||||
.itemOutputs("4x architects_palette:molten_nether_bricks")
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.assembler("sunstone")
|
||||
.itemInputs("minecraft:basalt", "architects_palette:sunmetal_blend")
|
||||
.itemOutputs("4x architects_palette:sunstone")
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.assembler("hazard_sign")
|
||||
.circuit(23)
|
||||
.itemInputs("minecraft:iron_nugget", "gtceu:iron_plate")
|
||||
.itemOutputs("4x architects_palette:hazard_sign")
|
||||
.duration(40)
|
||||
.EUt(32)
|
||||
|
||||
// Atomic Reconstructor Recipes
|
||||
event.recipes.gtceu.atomic_reconstruction("unobtanium")
|
||||
.itemInputs("minecraft:netherite_ingot")
|
||||
.itemOutputs("architects_palette:unobtanium")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("twisted_sapling")
|
||||
.itemInputs("#minecraft:saplings")
|
||||
.itemOutputs("architects_palette:twisted_sapling")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("warpstone")
|
||||
.itemInputs("minecraft:clay")
|
||||
.itemOutputs("architects_palette:warpstone")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("hadaline")
|
||||
.itemInputs("architects_palette:abyssaline")
|
||||
.itemOutputs("architects_palette:hadaline")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("moonstone")
|
||||
.itemInputs("architects_palette:sunstone")
|
||||
.itemOutputs("architects_palette:moonstone")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("sunstone")
|
||||
.itemInputs("architects_palette:moonstone")
|
||||
.itemOutputs("architects_palette:sunstone")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("onyx")
|
||||
.itemInputs("minecraft:granite")
|
||||
.itemOutputs("architects_palette:onyx")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("nebulite")
|
||||
.itemInputs("minecraft:diorite")
|
||||
.itemOutputs("architects_palette:nebulite")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("craterstone")
|
||||
.itemInputs("minecraft:cobblestone")
|
||||
.itemOutputs("architects_palette:craterstone")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("esoterrack")
|
||||
.itemInputs("minecraft:andesite")
|
||||
.itemOutputs("architects_palette:esoterrack")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("moonshale")
|
||||
.itemInputs("minecraft:stone")
|
||||
.itemOutputs("architects_palette:moonshale")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("hadaline_lamp")
|
||||
.itemInputs("architects_palette:abyssaline_lamp")
|
||||
.itemOutputs("architects_palette:hadaline_lamp")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("entrails")
|
||||
.itemInputs("architects_palette:rotten_flesh_block")
|
||||
.itemOutputs("architects_palette:entrails")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("initial_monazite_rod")
|
||||
.itemInputs("gtceu:monazite_gem")
|
||||
.itemOutputs("architects_palette:monazite_rod")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("monazite_rod")
|
||||
.itemInputs("architects_palette:heliodor_rod")
|
||||
.itemOutputs("architects_palette:monazite_rod")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("ekanite_rod")
|
||||
.itemInputs("architects_palette:monazite_rod")
|
||||
.itemOutputs("architects_palette:ekanite_rod")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
event.recipes.gtceu.atomic_reconstruction("heliodor_rod")
|
||||
.itemInputs("architects_palette:ekanite_rod")
|
||||
.itemOutputs("architects_palette:heliodor_rod")
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
|
||||
// Twisted Wood Recipes
|
||||
event.recipes.gtceu.greenhouse("twisted_sapling")
|
||||
.circuit(1)
|
||||
.notConsumable(InputItem.of(Item.of("architects_palette:twisted_sapling")))
|
||||
.inputFluids("minecraft:water 24000")
|
||||
.itemOutputs("64x architects_palette:twisted_log", "4x architects_palette:twisted_sapling")
|
||||
.duration(1280)
|
||||
.EUt(80)
|
||||
event.recipes.gtceu.greenhouse("twisted_sapling_boosted")
|
||||
.circuit(2)
|
||||
.notConsumable(InputItem.of(Item.of("architects_palette:twisted_sapling")))
|
||||
.itemInputs("1x gtceu:fertilizer")
|
||||
.inputFluids("minecraft:water 16000")
|
||||
.itemOutputs("64x architects_palette:twisted_log", "64x architects_palette:twisted_log", "4x architects_palette:twisted_sapling")
|
||||
.duration(640)
|
||||
.EUt(80)
|
||||
|
||||
event.recipes.gtceu.cutter("water_twisted_planks")
|
||||
.itemInputs("#architects_palette:twisted_logs")
|
||||
.inputFluids("minecraft:water 4")
|
||||
.itemOutputs("6x architects_palette:twisted_planks", "2x gtceu:wood_dust")
|
||||
.duration(400)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter("water_distilled_twisted_planks")
|
||||
.itemInputs("#architects_palette:twisted_logs")
|
||||
.inputFluids("gtceu:distilled_water 3")
|
||||
.itemOutputs("6x architects_palette:twisted_planks", "2x gtceu:wood_dust")
|
||||
.duration(300)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.cutter("lubricant_twisted_planks")
|
||||
.itemInputs("#architects_palette:twisted_logs")
|
||||
.inputFluids("gtceu:lubricant 1")
|
||||
.itemOutputs("6x architects_palette:twisted_planks", "2x gtceu:wood_dust")
|
||||
.duration(200)
|
||||
.EUt(7)
|
||||
|
||||
})
|
||||
|
||||
console.log("Architect's Palette Loaded!")
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
/**
|
||||
* Optional compat script for Compact Machines
|
||||
*
|
||||
* Modeled after Nomifactory CEu's script for the same.
|
||||
* Gated to HV, with more unlocked at IV.
|
||||
*
|
||||
* Replaces or modifies the recipe for every item in the mod.
|
||||
*/
|
||||
if (Platform.isLoaded("compactmachines")) {
|
||||
console.log("Compact Machines found, loading compat scripts...")
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Recipe modification for Personal Shrinking Device
|
||||
event.replaceInput({ id: "compactmachines:personal_shrinking_device" }, "#forge:glass_panes", "gtceu:computer_monitor_cover")
|
||||
|
||||
// Compact Machine Wall recipes. HV recipe + more efficient EV recipe
|
||||
event.remove({ output: "compactmachines:wall" })
|
||||
event.recipes.gtceu.assembler("compactmachines:wall")
|
||||
.itemInputs("9x gtceu:blue_steel_plate", "1x gtceu:ultimet_frame", "1x gtceu:mv_sensor")
|
||||
.itemOutputs("4x compactmachines:wall")
|
||||
.duration(40)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
event.recipes.gtceu.assembler("compactmachines:wall_alt")
|
||||
.itemInputs("9x gtceu:maraging_steel_300_plate", "2x gtceu:ultimet_frame", "1x gtceu:hv_sensor")
|
||||
.itemOutputs("16x compactmachines:wall")
|
||||
.duration(40)
|
||||
.EUt(GTValues.VHA[GTValues.IV])
|
||||
|
||||
// Recipes for all tiers of Compact Machine
|
||||
const machineSizes = [
|
||||
{ size: "tiny", material: "#forge:storage_blocks/copper" },
|
||||
{ size: "small", material: "#forge:storage_blocks/iron" },
|
||||
{ size: "normal", material: "#forge:storage_blocks/gold" },
|
||||
{ size: "large", material: "minecraft:obsidian" },
|
||||
{ size: "giant", material: "#forge:storage_blocks/diamond" },
|
||||
{ size: "maximum", material: "#forge:storage_blocks/netherite" },
|
||||
]
|
||||
|
||||
machineSizes.forEach((value, index) => {
|
||||
event.recipes.gtceu.assembler(`compactmachines:machine_${value.size}`)
|
||||
.itemInputs(Item.of("compactmachines:wall", 4 * (index + 1)), (index > 2 ? "gtceu:tungsten_frame" : "gtceu:dark_steel_frame"), value.material, `2x gtceu:${GTValues.VN[index + 1].toLowerCase()}_field_generator`, (index > 2 ? Item.of("gtceu:quantum_eye", 2 ** (index - 2)) : Item.of("minecraft:ender_eye", 2 ** index)))
|
||||
.inputFluids(`gtceu:styrene_butadiene_rubber ${144 * (index + 1)}`)
|
||||
.itemOutputs(`compactmachines:machine_${value.size}`)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[index + 1])
|
||||
})
|
||||
|
||||
// Recipes for tunnels
|
||||
const tunnelTypes = [
|
||||
{ type: "item", hatch: "gtceu:hv_item_passthrough_hatch", nbt: '{definition:{id:"compactmachines:item"}}' },
|
||||
{ type: "fluid", hatch: "gtceu:hv_fluid_passthrough_hatch", nbt: '{definition:{id:"compactmachines:fluid"}}' },
|
||||
{ type: "energy", hatch: "gtceu:hv_diode", nbt: '{definition:{id:"compactmachines:energy"}}' },
|
||||
// {type: "redstone", hatch: "enderio:redstone_conduit", nbt: '{definition:{id:"compactmachines:redstone"}}'} // Redstone tunnel NYI :(
|
||||
]
|
||||
|
||||
tunnelTypes.forEach(value => {
|
||||
event.remove({ id: `compactmachines:tunnels/${value.type}` })
|
||||
event.recipes.gtceu.assembler(`compactmachines:tunnel_${value.type}`)
|
||||
.itemInputs("2x compactmachines:wall", value.hatch, "gtceu:quantum_eye")
|
||||
.itemOutputs(Item.of("compactmachines:tunnel", 2, value.nbt))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
})
|
||||
|
||||
})
|
||||
console.log("Compact Machines compat scripts successfully loaded!")
|
||||
} else { console.log("Compact Machines not found, skipping its compat scripts.") }
|
||||
201
kubejs/server_scripts/mods/optionalCompats/computercraft.js
Normal file
201
kubejs/server_scripts/mods/optionalCompats/computercraft.js
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
/**
|
||||
* Compat for the computercraft mod
|
||||
*/
|
||||
if (Platform.isLoaded("computercraft")) {
|
||||
console.log("Computercraft Tweaked found, loading compat scripts...")
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Nomral Computer
|
||||
event.remove({ id: "computercraft:computer_normal" })
|
||||
event.shaped("computercraft:computer_normal", [
|
||||
"SSS",
|
||||
"SNS",
|
||||
"SCS"
|
||||
], {
|
||||
S: "gtceu:steel_plate",
|
||||
C: "gtceu:computer_monitor_cover",
|
||||
N: "#gtceu:circuits/hv",
|
||||
})
|
||||
|
||||
// Advanced Computer
|
||||
event.remove({ id: "computercraft:computer_advanced" })
|
||||
event.remove({ id: "computercraft:computer_advanced_upgrade" })
|
||||
event.shaped("computercraft:computer_advanced", [
|
||||
"SSS",
|
||||
"SNS",
|
||||
"SCS"
|
||||
], {
|
||||
S: "gtceu:electrum_plate",
|
||||
C: "computercraft:computer_normal",
|
||||
N: "#gtceu:circuits/ev",
|
||||
})
|
||||
|
||||
// Turtle
|
||||
event.remove({ id: "computercraft:turtle_normal" })
|
||||
event.shaped("computercraft:turtle_normal", [
|
||||
" ",
|
||||
"RCA",
|
||||
" E "
|
||||
], {
|
||||
R: "gtceu:stainless_steel_crate",
|
||||
A: "gtceu:hv_robot_arm",
|
||||
C: "computercraft:computer_normal",
|
||||
E: "gtceu:hv_conveyor_module",
|
||||
})
|
||||
|
||||
// Advanced Turtle
|
||||
event.remove({ id: "computercraft:turtle_advanced" })
|
||||
event.remove({ id: "computercraft:turtle_advanced_upgrade" })
|
||||
event.shaped("computercraft:turtle_advanced", [
|
||||
" ",
|
||||
"RCA",
|
||||
" E "
|
||||
], {
|
||||
R: "gtceu:titanium_crate",
|
||||
A: "gtceu:ev_robot_arm",
|
||||
C: "computercraft:computer_advanced",
|
||||
E: "gtceu:ev_conveyor_module",
|
||||
})
|
||||
|
||||
// Ender Modem
|
||||
event.remove({ id: "computercraft:wireless_modem_advanced" })
|
||||
event.shaped("computercraft:wireless_modem_advanced", [
|
||||
" E ",
|
||||
"BSB",
|
||||
"PPP"
|
||||
], {
|
||||
B: "gtceu:electrum_bolt",
|
||||
P: "gtceu:electrum_plate",
|
||||
S: "gtceu:hv_sensor",
|
||||
E: "gtceu:hv_emitter",
|
||||
})
|
||||
|
||||
// Wireless Modem
|
||||
event.remove({ id: "computercraft:wireless_modem_normal" })
|
||||
event.shaped("computercraft:wireless_modem_normal", [
|
||||
" E ",
|
||||
"BSB",
|
||||
"PPP"
|
||||
], {
|
||||
B: "gtceu:steel_bolt",
|
||||
P: "gtceu:steel_plate",
|
||||
S: "gtceu:mv_sensor",
|
||||
E: "gtceu:mv_emitter",
|
||||
})
|
||||
|
||||
// Speaker
|
||||
event.remove({ id: "computercraft:speaker" })
|
||||
event.shaped("computercraft:speaker", [
|
||||
"PWP",
|
||||
"PNP",
|
||||
"PCP"
|
||||
], {
|
||||
W: "gtceu:copper_single_wire",
|
||||
N: "minecraft:note_block",
|
||||
P: "gtceu:steel_plate",
|
||||
C: "gtceu:carbon_fiber_mesh",
|
||||
})
|
||||
|
||||
// Monitor
|
||||
event.remove({ id: "computercraft:monitor_normal" })
|
||||
event.shaped("computercraft:monitor_normal", [
|
||||
"PHP",
|
||||
"PCP",
|
||||
"PPP"
|
||||
], {
|
||||
P: "gtceu:steel_plate",
|
||||
C: "gtceu:computer_monitor_cover",
|
||||
H: "gtceu:mv_machine_hull",
|
||||
})
|
||||
|
||||
// Advanced Monitor
|
||||
event.remove({ id: "computercraft:monitor_advanced" })
|
||||
event.shaped("computercraft:monitor_advanced", [
|
||||
"PHP",
|
||||
"PCP",
|
||||
"PPP"
|
||||
], {
|
||||
P: "gtceu:electrum_plate",
|
||||
C: "gtceu:computer_monitor_cover",
|
||||
H: "gtceu:hv_machine_hull",
|
||||
})
|
||||
|
||||
// Pocket Computer
|
||||
event.remove({ id: "computercraft:pocket_computer_normal" })
|
||||
event.shaped("computercraft:pocket_computer_normal", [
|
||||
" ",
|
||||
" C ",
|
||||
" T "
|
||||
], {
|
||||
T: "gtceu:terminal",
|
||||
C: "computercraft:computer_normal",
|
||||
|
||||
})
|
||||
|
||||
// Advanced Pocket Computer
|
||||
event.remove({ id: "computercraft:pocket_computer_advanced" })
|
||||
event.remove({ id: "computercraft:pocket_computer_advanced_upgrade" })
|
||||
event.shaped("computercraft:pocket_computer_advanced", [
|
||||
" ",
|
||||
" C ",
|
||||
" T "
|
||||
], {
|
||||
T: "gtceu:terminal",
|
||||
C: "computercraft:computer_advanced",
|
||||
|
||||
})
|
||||
|
||||
// Printer
|
||||
event.remove({ id: "computercraft:printer" })
|
||||
event.shaped("computercraft:printer", [
|
||||
"PHP",
|
||||
"PIM",
|
||||
"PCC"
|
||||
], {
|
||||
P: "gtceu:steel_plate",
|
||||
H: "gtceu:mv_machine_hull",
|
||||
I: "gtceu:mv_electric_piston",
|
||||
C: "gtceu:mv_conveyor_module",
|
||||
M: "gtceu:mv_electric_motor",
|
||||
|
||||
})
|
||||
|
||||
// Wired Modem
|
||||
event.remove({ id: "computercraft:wired_modem" })
|
||||
event.shaped("computercraft:wired_modem", [
|
||||
"PPP",
|
||||
"ECC",
|
||||
"PPP"
|
||||
], {
|
||||
P: "gtceu:steel_plate",
|
||||
E: "gtceu:mv_emitter",
|
||||
C: "computercraft:cable",
|
||||
|
||||
})
|
||||
|
||||
// Netowrking Cable
|
||||
event.remove({ id: "computercraft:cable" })
|
||||
event.recipes.gtceu.assembler("computercraft_cable")
|
||||
.itemInputs("3x gtceu:steel_foil", "6x gtceu:fine_copper_wire")
|
||||
.inputFluids("gtceu:polyethylene 144")
|
||||
.itemOutputs("6x computercraft:cable")
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
|
||||
// Disk Drive
|
||||
event.remove({ id: "computercraft:disk_drive" })
|
||||
event.shaped("computercraft:disk_drive", [
|
||||
"PHP",
|
||||
"PBP",
|
||||
"PBP"
|
||||
], {
|
||||
P: "gtceu:steel_plate",
|
||||
H: "gtceu:mv_machine_hull",
|
||||
B: "gtceu:lv_input_bus",
|
||||
|
||||
|
||||
})
|
||||
})
|
||||
console.log("Computercraft Tweaked compat scripts successfully loaded!")
|
||||
} else { console.log("Computercraft Tweaked not found, skipping its compat scripts.") }
|
||||
290
kubejs/server_scripts/mods/optionalCompats/create.js
Normal file
290
kubejs/server_scripts/mods/optionalCompats/create.js
Normal file
|
|
@ -0,0 +1,290 @@
|
|||
/**
|
||||
* Compat for the create mod
|
||||
*/
|
||||
if (Platform.isLoaded("create")) {
|
||||
console.log("Create found, loading compat scripts...")
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Removes any machines related to processing, the point of this compat is fun not functionality,
|
||||
|
||||
|
||||
/* Removes recipes for machines that were not removed, deployers and mechanical crafters are fun!
|
||||
Most recipe categories that are removed machines are hidden in
|
||||
kubejs/assets/emi/recipe/filters/hidecategories.json as opposed to removing the actual recipes */
|
||||
event.remove({ type: "create:deploying" })
|
||||
event.remove({ type: "create:milling" })
|
||||
event.remove({ type: "create:crushing" })
|
||||
event.remove({ id: "create:crafting/kinetics/millstone" })
|
||||
// event.remove({id: 'create:mechanical_crafting/crushing_wheel'}) //mechanical roller uses this for now
|
||||
event.remove({ id: "create:crafting/kinetics/mechanical_mixer" })
|
||||
event.remove({ id: "create:crafting/kinetics/mechanical_press" })
|
||||
// Remove the hand crank since it's easy to abuse contraptions using it
|
||||
event.remove({ id: "create:crafting/kinetics/hand_crank" })
|
||||
|
||||
// w h a t ?
|
||||
event.remove({ id: "gtceu:shaped/lv_kinetic_mixer" })
|
||||
event.remove({ id: "gtceu:shaped/mv_kinetic_mixer" })
|
||||
event.remove({ id: "gtceu:shaped/hv_kinetic_mixer" })
|
||||
event.remove({ id: "gtceu:shaped/ev_kinetic_mixer" })
|
||||
|
||||
// belts made with rubber
|
||||
let kelpRecipes = [
|
||||
"create:crafting/kinetics/belt_connector",
|
||||
"create:crafting/logistics/andesite_funnel",
|
||||
"create:crafting/logistics/brass_funnel",
|
||||
"create:crafting/logistics/andesite_tunnel",
|
||||
"create:crafting/logistics/brass_tunnel"
|
||||
]
|
||||
kelpRecipes.forEach(id => { event.replaceInput({ id: id }, "minecraft:dried_kelp", "gtceu:rubber_plate") })
|
||||
event.replaceInput({ id: "create:crafting/kinetics/spout" }, "minecraft:dried_kelp", "gtceu:rubber_ring")
|
||||
|
||||
// Adds some create recipes to gt machines
|
||||
event.recipes.gtceu.mixer("kubejs:andesite_alloy_from_iron")
|
||||
.itemInputs("#forge:nuggets/iron", "minecraft:andesite")
|
||||
.itemOutputs("create:andesite_alloy")
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
event.recipes.gtceu.mixer("kubejs:andesite_alloy_from_zinc")
|
||||
.itemInputs("#forge:nuggets/zinc", "minecraft:andesite")
|
||||
.itemOutputs("create:andesite_alloy")
|
||||
.duration(100)
|
||||
.EUt(7)
|
||||
|
||||
// Pressing and compacting recipes
|
||||
event.recipes.gtceu.forge_hammer("kubejs:dirt_path")
|
||||
.itemInputs(["minecraft:dirt", "minecraft:grass"])
|
||||
.itemOutputs("minecraft:dirt_path")
|
||||
.duration(10)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier("kubejs:bar_of_chocolate")
|
||||
.inputFluids(Fluid.of("create:chocolate", 250))
|
||||
.notConsumable("gtceu:ingot_casting_mold")
|
||||
.itemOutputs("create:bar_of_chocolate")
|
||||
.duration(20)
|
||||
.EUt(7)
|
||||
|
||||
let honeyFluid = new JSONObject()
|
||||
honeyFluid.add("amount", 1000)
|
||||
honeyFluid.add("value", { tag: "forge:honey" })
|
||||
event.recipes.gtceu.fluid_solidifier("kubejs:honey_block")
|
||||
.inputFluids(FluidIngredientJS.of(honeyFluid))
|
||||
.notConsumable("gtceu:block_casting_mold")
|
||||
.itemOutputs("minecraft:honey_block")
|
||||
.duration(5)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:blaze_cake_base")
|
||||
.itemInputs("minecraft:egg", "minecraft:sugar", "create:cinder_flour")
|
||||
.itemOutputs("create:blaze_cake_base")
|
||||
.duration(200)
|
||||
.EUt(7)
|
||||
|
||||
let milkFluid = new JSONObject()
|
||||
milkFluid.add("amount", 250)
|
||||
milkFluid.add("value", { tag: "forge:milk" })
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:liquid_chocolate")
|
||||
.itemInputs("minecraft:sugar", "minecraft:cocoa_beans")
|
||||
.inputFluids(FluidIngredientJS.of(milkFluid))
|
||||
.outputFluids(Fluid.of("create:chocolate", 250))
|
||||
.duration(200)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:tea")
|
||||
.itemInputs("#minecraft:leaves")
|
||||
.inputFluids(Fluid.of("minecraft:water", 250), FluidIngredientJS.of(milkFluid))
|
||||
.outputFluids(Fluid.of("create:tea", 500))
|
||||
.duration(200)
|
||||
.EUt(7)
|
||||
|
||||
event.recipes.gtceu.extractor("kubejs:extract_bar_of_chocolate")
|
||||
.itemInputs("create:bar_of_chocolate")
|
||||
.outputFluids(Fluid.of("create:chocolate", 250))
|
||||
.duration(10)
|
||||
.EUt(4)
|
||||
|
||||
event.recipes.gtceu.extractor("kubejs:extract_honey_block")
|
||||
.itemInputs("minecraft:honey_block")
|
||||
.outputFluids(Fluid.of("create:honey", 1000))
|
||||
.duration(10)
|
||||
.EUt(4)
|
||||
|
||||
// Sequenced assembly but awesome
|
||||
event.recipes.gtceu.assembler("kubejs:precision_mechanism")
|
||||
.itemInputs("#forge:plates/gold", "5x create:cogwheel", "5x create:large_cogwheel", "5x minecraft:iron_nugget")
|
||||
.itemOutputs("create:precision_mechanism")
|
||||
.duration(300)
|
||||
.EUt(30)
|
||||
.circuit(5)
|
||||
// That was actually awesome
|
||||
|
||||
// adding mechanical crafter stuff
|
||||
event.recipes.gtceu.assembler("kubejs:extendo_grip")
|
||||
.itemInputs("create:precision_mechanism", "create:brass_hand", "6x minecraft:stick", "#forge:ingots/brass")
|
||||
.itemOutputs("create:extendo_grip")
|
||||
.duration(600)
|
||||
.EUt(120)
|
||||
event.recipes.gtceu.assembler("kubejs:potato_cannon")
|
||||
.itemInputs("create:precision_mechanism", "create:andesite_alloy", "3x create:fluid_pipe", "2x #forge:ingots/copper")
|
||||
.itemOutputs("create:potato_cannon")
|
||||
.duration(600)
|
||||
.EUt(120)
|
||||
event.recipes.gtceu.assembler("kubejs:wand_of_symmetry")
|
||||
.itemInputs("create:precision_mechanism", "minecraft:obsidian", "3x minecraft:glass", "#forge:ingots/brass", "minecraft:ender_pearl")
|
||||
.itemOutputs("create:wand_of_symmetry")
|
||||
.duration(600)
|
||||
.EUt(120)
|
||||
|
||||
event.recipes.gtceu.autoclave("kubejs:rose_quartz")
|
||||
.itemInputs("minecraft:quartz")
|
||||
.itemOutputs("create:rose_quartz")
|
||||
.inputFluids("gtceu:redstone 1152")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
.circuit(6)
|
||||
event.recipes.gtceu.sifter("kubejs:polished_rose_quartz")
|
||||
.itemInputs("create:rose_quartz")
|
||||
.itemOutputs("create:polished_rose_quartz")
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
// deploying recipes
|
||||
let assembleCasing = function (input, casingName, logInput, casingModId) {
|
||||
logInput = (logInput) ? logInput : "#minecraft:logs"
|
||||
casingModId = (casingModId) ? casingModId : "create"
|
||||
// recipes can use unstripped logs since gt has no way to strip wood
|
||||
return event.recipes.gtceu.assembler(`kubejs:${casingName}`)
|
||||
.itemInputs(input, logInput)
|
||||
.itemOutputs(`${casingModId}:${casingName}`)
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
}
|
||||
assembleCasing("create:andesite_alloy", "andesite_casing")
|
||||
assembleCasing("#forge:ingots/brass", "brass_casing")
|
||||
assembleCasing("minecraft:copper_ingot", "copper_casing")
|
||||
assembleCasing("#forge:plates/obsidian", "railway_casing", "create:brass_casing")
|
||||
|
||||
|
||||
// Tracks
|
||||
if (!Platform.isLoaded("railways")) {
|
||||
// Only do this block if Steam and Rails is not loaded. Else, let the Steam and Rails KJS file handle the track recipes.
|
||||
event.remove({ output: "create:track" })
|
||||
event.shaped("create:track", [
|
||||
" ",
|
||||
"IHI",
|
||||
"SSS"
|
||||
], {
|
||||
H: "#forge:tools/hammers",
|
||||
I: "minecraft:iron_nugget",
|
||||
S: "#create:sleepers"
|
||||
})
|
||||
event.recipes.gtceu.assembler("kubejs:createtracks")
|
||||
.itemInputs("3x #create:sleepers", "2x minecraft:iron_nugget")
|
||||
.itemOutputs("2x create:track")
|
||||
.duration(5)
|
||||
.EUt(16)
|
||||
} else { console.log("Steam and Rails is present, letting its compat script handle the track recipes.") }
|
||||
|
||||
// stone variant rock crusher recipes
|
||||
let rockCrushing = function (modName, itemName, EUt) {
|
||||
return event.recipes.gtceu.rock_breaker(`kubejs:${itemName}`)
|
||||
.notConsumable(`${modName}:${itemName}`)
|
||||
.itemOutputs(`${modName}:${itemName}`)
|
||||
.addDataString("fluidA", "minecraft:lava")
|
||||
.addDataString("fluidB", "minecraft:water")
|
||||
.duration(16)
|
||||
.EUt(EUt)
|
||||
.addCondition(RockBreakerCondition.INSTANCE)
|
||||
}
|
||||
rockCrushing("minecraft", "dripstone_block", 60)
|
||||
rockCrushing("minecraft", "tuff", 60)
|
||||
rockCrushing("minecraft", "calcite", 60)
|
||||
rockCrushing("create", "asurine", 60)
|
||||
rockCrushing("create", "crimsite", 60)
|
||||
rockCrushing("create", "limestone", 60)
|
||||
rockCrushing("create", "ochrum", 60)
|
||||
rockCrushing("create", "scoria", 480)
|
||||
rockCrushing("create", "scorchia", 480)
|
||||
rockCrushing("create", "veridium", 60)
|
||||
// stone variant reconstruction recipes
|
||||
let owStone = [["minecraft", "stone"], ["create", "asurine"], ["create", "crimsite"], ["create", "limestone"], ["create", "ochrum"], ["create", "veridium"], ["minecraft", "stone"]]
|
||||
let neStone = [["minecraft", "blackstone"], ["create", "scoria"], ["create", "scorchia"], ["minecraft", "blackstone"]]
|
||||
for (let i = 0; i < owStone.length - 1; ++i) {
|
||||
event.recipes.gtceu.atomic_reconstruction(`kubejs:stone_reconstruction/${owStone[i][1]}`)
|
||||
.itemInputs(`${owStone[i][0]}:${owStone[i][1]}`)
|
||||
.itemOutputs(`${owStone[i + 1][0]}:${owStone[i + 1][1]}`)
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
}
|
||||
for (let i = 0; i < neStone.length - 1; ++i) {
|
||||
event.recipes.gtceu.atomic_reconstruction(`kubejs:stone_reconstruction/${neStone[i][1]}`)
|
||||
.itemInputs(`${neStone[i][0]}:${neStone[i][1]}`)
|
||||
.itemOutputs(`${neStone[i + 1][0]}:${neStone[i + 1][1]}`)
|
||||
.duration(20)
|
||||
.EUt(32)
|
||||
}
|
||||
// remove unused recipe types
|
||||
event.remove({ type: "create:pressing" })
|
||||
event.remove({ type: "create:compacting" })
|
||||
event.remove({ type: "create:milling" })
|
||||
event.remove({ type: "create:crushing" })
|
||||
event.remove({ type: "create:mixing" })
|
||||
// Deploying recipes are fine
|
||||
// Remove sawing recipes. Mechanical saws can still be used for stonecutting and in world tree cutting
|
||||
event.remove({ type: "create:cutting" })
|
||||
|
||||
|
||||
// Packager and Logistics
|
||||
event.shaped("create:packager", [
|
||||
"S S",
|
||||
"SCS",
|
||||
"SLS"
|
||||
], {
|
||||
L: "#gtceu:circuits/lv",
|
||||
C: "create:cardboard_block",
|
||||
S: "gtceu:steel_plate"
|
||||
}).id("create:crafting/logistics/packager")
|
||||
|
||||
event.shaped("create:stock_ticker", [
|
||||
" G ",
|
||||
" C ",
|
||||
" L "
|
||||
], {
|
||||
L: "#gtceu:circuits/mv",
|
||||
C: "create:stock_link",
|
||||
G: "#forge:glass"
|
||||
}).id("create:crafting/logistics/stock_ticker")
|
||||
|
||||
event.shapeless("2x create:factory_gauge ", ["create:stock_link", "create:precision_mechanism", "#gtceu:circuits/hv"]).id("create:crafting/logistics/factory_gauge")
|
||||
|
||||
// Pulp
|
||||
event.shaped("2x create:pulp", [
|
||||
" ",
|
||||
"RRR",
|
||||
" H "
|
||||
], {
|
||||
H: "#forge:tools/mortars",
|
||||
R: "gtceu:plant_ball"
|
||||
})
|
||||
|
||||
event.recipes.gtceu.mixer("kubejs:pulp_wood")
|
||||
.itemInputs("gtceu:wood_dust")
|
||||
.inputFluids("minecraft:water 100")
|
||||
.itemOutputs("create:pulp")
|
||||
.duration(100)
|
||||
.EUt(16)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.compressor("kubejs:pulp_plant")
|
||||
.itemInputs("gtceu:plant_ball")
|
||||
.itemOutputs("create:pulp")
|
||||
.duration(20)
|
||||
.EUt(2)
|
||||
|
||||
event.smelting("create:cardboard", "create:pulp")
|
||||
|
||||
|
||||
})
|
||||
console.log("Create compat scripts successfully loaded!")
|
||||
} else { console.log("Create was not found, skipping its compat scripts.") }
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue