init
This commit is contained in:
commit
a956daf8e2
2351 changed files with 163047 additions and 0 deletions
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)
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue