diff --git a/src/main/kotlin/gregtechlite/gtlitecore/api/extension/IBlockStateExt.kt b/src/main/kotlin/gregtechlite/gtlitecore/api/extension/IBlockStateExt.kt deleted file mode 100644 index ffb67a37c..000000000 --- a/src/main/kotlin/gregtechlite/gtlitecore/api/extension/IBlockStateExt.kt +++ /dev/null @@ -1,12 +0,0 @@ -package gregtechlite.gtlitecore.api.extension - -import net.minecraft.block.state.IBlockState -import net.minecraft.item.ItemStack - -/** - * Transformed a [IBlockState] to [ItemStack] with [amount]. - */ -fun IBlockState.toItem(amount: Int = 1): ItemStack -{ - return ItemStack(block, amount, block.getMetaFromState(this)) -} \ No newline at end of file diff --git a/src/main/kotlin/gregtechlite/gtlitecore/api/extension/ItemStackExt.kt b/src/main/kotlin/gregtechlite/gtlitecore/api/extension/ItemStackExt.kt index e7415657c..ce39decbe 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/api/extension/ItemStackExt.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/api/extension/ItemStackExt.kt @@ -1,12 +1,19 @@ package gregtechlite.gtlitecore.api.extension +import gregtech.api.items.metaitem.MetaItem +import gregtech.api.items.metaitem.MetaOreDictItem +import gregtech.api.metatileentity.MetaTileEntity +import net.minecraft.block.Block +import net.minecraft.block.state.IBlockState +import net.minecraft.item.Item import net.minecraft.item.ItemStack +// region Item Stack Copying + /** * Copies the [ItemStack] with new stack size. * - * @param count New stack size of copying ItemStack. - * @return Copied ItemStack with a [count]. + * @param count The new stack size of the [ItemStack]. */ fun ItemStack.copy(count: Int = 1): ItemStack { @@ -18,9 +25,8 @@ fun ItemStack.copy(count: Int = 1): ItemStack /** * Copies the [ItemStack] with new stack size. * - * @param meta Metadata of ItemStack. - * @param count New stack size of copying ItemStack. - * @return Copied ItemStack with a [count] and [meta]. + * @param meta The metadata of the [ItemStack]. + * @param count The new stack size of the [ItemStack]. */ fun ItemStack.copy(meta: Int, count: Int = 1): ItemStack { @@ -28,4 +34,62 @@ fun ItemStack.copy(meta: Int, count: Int = 1): ItemStack stack.itemDamage = meta stack.count = count return stack -} \ No newline at end of file +} + +// endregion + +// region Item Stack Shortcut + +/** + * Gets the [ItemStack] of the standard [Item]. + * + * @param meta The metadata of the [ItemStack]. + * @param count The stack size of the [ItemStack]. + */ +fun Item.stack(meta: Int = 0): ItemStack = getStack(meta = meta) + +/** + * Gets the [ItemStack] of the standard [Item]. + * + * @param count The stack size of the [ItemStack]. + * @param meta The metadata of the [ItemStack]. + */ +fun Item.getStack(count: Int = 1, meta: Int = 0): ItemStack { + return ItemStack(this, count, meta) +} + +fun MetaItem<*>.MetaValueItem.stack(): ItemStack = getStack() + +fun MetaItem<*>.MetaValueItem.getStack(count: Int = 1): ItemStack = getStackForm(count) + +fun MetaItem<*>.MetaValueItem.addOreDicts(vararg oreDictNames: String): MetaItem<*>.MetaValueItem +{ + for (oreDictName in oreDictNames) + addOreDict(oreDictName) + return this +} + +fun MetaOreDictItem.OreDictValueItem.stack(): ItemStack = getStack(1) + +fun MetaOreDictItem.OreDictValueItem.getStack(count: Int): ItemStack = getItemStack(count) + +fun Block.stack(): ItemStack = getStack(1) + +fun Block.getStack(count: Int = 1, meta: Int = 0) + = ItemStack(this, count, meta) + +fun MetaTileEntity.stack(): ItemStack = getStack() + +fun MetaTileEntity.getStack(count: Int = 1) = stackForm.copy(count) + +// endregion + +// region Item Stack Convert + +/** + * Transformed a [IBlockState] to [ItemStack] with [amount]. + */ +fun IBlockState.toItem(amount: Int = 1): ItemStack + = ItemStack(block, amount, block.getMetaFromState(this)) + +// endregion \ No newline at end of file diff --git a/src/main/kotlin/gregtechlite/gtlitecore/api/extension/MetaValueItemExt.kt b/src/main/kotlin/gregtechlite/gtlitecore/api/extension/MetaValueItemExt.kt deleted file mode 100644 index 8c7800962..000000000 --- a/src/main/kotlin/gregtechlite/gtlitecore/api/extension/MetaValueItemExt.kt +++ /dev/null @@ -1,24 +0,0 @@ -package gregtechlite.gtlitecore.api.extension - -import gregtech.api.items.metaitem.MetaItem -import gregtech.api.items.metaitem.MetaOreDictItem -import net.minecraft.item.ItemStack - -fun MetaItem<*>.MetaValueItem.stack(): ItemStack - = getStack(1) - -fun MetaItem<*>.MetaValueItem.getStack(count: Int): ItemStack - = getStackForm(count) - -fun MetaItem<*>.MetaValueItem.addOreDicts(vararg oreDictNames: String): MetaItem<*>.MetaValueItem -{ - for (oreDictName in oreDictNames) - addOreDict(oreDictName) - return this -} - -fun MetaOreDictItem.OreDictValueItem.stack(): ItemStack - = getStack(1) - -fun MetaOreDictItem.OreDictValueItem.getStack(count: Int): ItemStack - = getItemStack(count) \ No newline at end of file diff --git a/src/main/kotlin/gregtechlite/gtlitecore/api/extension/RecipeBuilderExt.kt b/src/main/kotlin/gregtechlite/gtlitecore/api/extension/RecipeBuilderExt.kt index c24577495..cc3068b60 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/api/extension/RecipeBuilderExt.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/api/extension/RecipeBuilderExt.kt @@ -1,28 +1,95 @@ +@file:Suppress("FunctionName") package gregtechlite.gtlitecore.api.extension +import gregtech.api.metatileentity.multiblock.CleanroomType +import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeBuilder +import gregtech.api.recipes.RecipeMap import gregtech.api.recipes.builders.ResearchRecipeBuilder +import net.minecraft.block.Block +import net.minecraft.item.Item +import net.minecraft.item.ItemStack +import net.minecraftforge.fluids.FluidStack -// Short-circuit number converts for RecipeBuilder#EUt. +// region DSL Context -@Suppress("FunctionName") -fun > RecipeBuilder.EUt(eut: Int): T -{ - return EUt(eut.toLong()) -} +/** + * Registers a recipe for the [RecipeMap]. + * + * This method is Kotlin style DSL for GTCEu [RecipeBuilder] for recipe registries. + * + * @param builder The corresponding [RecipeBuilder] of the [RecipeMap]. + */ +fun > RecipeMap.addRecipe(builder: T.() -> Unit) + = recipeBuilder().apply(builder).buildAndRegister() -@Suppress("FunctionName") -fun > ResearchRecipeBuilder.EUt(eut: Int): T -{ - return EUt(eut.toLong()) -} +// endregion + +// region Recipe Input Shortcut + +fun > RecipeBuilder.inputs(item: Item, amount: Int = 1, meta: Int = 0): T + = inputs(ItemStack(item, amount, meta)) + +fun > RecipeBuilder.inputs(block: Block, amount: Int = 1, meta: Int = 0): T + = inputs(ItemStack(block, amount, meta)) + +// endregion + +// region Recipe Output Shortcut + +fun > RecipeBuilder.outputs(item: Item, amount: Int = 1, meta: Int = 0): T + = outputs(ItemStack(item, amount, meta)) + +fun > RecipeBuilder.outputs(block: Block, amount: Int = 1, meta: Int = 0): T + = outputs(ItemStack(block, amount, meta)) + +// endregion + +// region Recipe EUt Shortcut + +fun > RecipeBuilder.EUt(eut: Int): T = EUt(eut.toLong()) + +fun > ResearchRecipeBuilder.EUt(eut: Int): T = EUt(eut.toLong()) + +// endregion + +// region Recipe Duration Shortcut fun > RecipeBuilder.duration(duration: Long): T -{ - return duration(duration.toInt()) -} + = duration(duration.toInt()) fun > RecipeBuilder.duration(duration: Double): T + = duration(duration.toInt()) + +// endregion + +// region Recipe Condition Shortcut + +fun > RecipeBuilder.cleanroom(): T + = cleanroom(CleanroomType.CLEANROOM) + +fun > RecipeBuilder.sterileCleanroom(): T + = cleanroom(CleanroomType.STERILE_CLEANROOM) + +// endregion + +// region Recipe Removal Shortcut + +fun > RecipeMap.removeRecipe(vararg itemInputs: ItemStack) + = GTRecipeHandler.removeRecipesByInputs(this, *itemInputs) + +fun > RecipeMap.removeRecipe(vararg fluidInputs: FluidStack) + = GTRecipeHandler.removeRecipesByInputs(this, *fluidInputs) + +fun > RecipeMap.removeRecipe(itemInputs: Array, fluidInputs: Array) + = GTRecipeHandler.removeRecipesByInputs(this, itemInputs, fluidInputs) + +fun > RecipeMap.removeRecipe(vararg itemInputs: Item): Boolean { - return duration(duration.toInt()) -} \ No newline at end of file + val items = mutableListOf() + for (itemInput in itemInputs) + items.add(ItemStack(itemInput)) + return removeRecipe(*items.toTypedArray()) +} + +// endregion \ No newline at end of file diff --git a/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/GTLiteRecipeHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/GTLiteRecipeHandler.kt index 225f8716e..7e9ab1dd3 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/GTLiteRecipeHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/GTLiteRecipeHandler.kt @@ -7,6 +7,7 @@ import gregtech.api.metatileentity.MetaTileEntity import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.* +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.recipes.ingredients.GTRecipeInput import gregtech.api.recipes.ingredients.GTRecipeItemInput import gregtech.api.recipes.ingredients.GTRecipeOreInput @@ -37,6 +38,8 @@ import net.minecraftforge.fluids.FluidStack object GTLiteRecipeHandler { + // region Chemical Reactor Recipe Removal + /** * Removes a Chemical Reactor recipe and its corresponding recipe in Large Chemical Reactor (LCR). * @@ -58,8 +61,20 @@ object GTLiteRecipeHandler @JvmStatic fun removeChemicalRecipes(itemInputs: Array) { - GTRecipeHandler.removeRecipesByInputs(CHEMICAL_RECIPES, itemInputs, arrayOfNulls(0)) - GTRecipeHandler.removeRecipesByInputs(LARGE_CHEMICAL_RECIPES, itemInputs, arrayOfNulls(0)) + GTRecipeHandler.removeRecipesByInputs(CHEMICAL_RECIPES, itemInputs, arrayOf()) + GTRecipeHandler.removeRecipesByInputs(LARGE_CHEMICAL_RECIPES, itemInputs, arrayOf()) + } + + /** + * Removes a Chemical Reactor recipe and its corresponding recipe in Large Chemical Reactor (LCR). + * + * @param itemInputs The item inputs of the recipe which will be removed. + */ + @JvmName("_removeChemicalRecipes") + @JvmStatic + fun removeChemicalRecipes(vararg itemInputs: ItemStack) + { + return removeChemicalRecipes(arrayOf(*itemInputs)) } /** @@ -70,10 +85,26 @@ object GTLiteRecipeHandler @JvmStatic fun removeChemicalRecipes(fluidInputs: Array) { - GTRecipeHandler.removeRecipesByInputs(CHEMICAL_RECIPES, arrayOfNulls(0), fluidInputs) - GTRecipeHandler.removeRecipesByInputs(LARGE_CHEMICAL_RECIPES, arrayOfNulls(0), fluidInputs) + GTRecipeHandler.removeRecipesByInputs(CHEMICAL_RECIPES, arrayOf(), fluidInputs) + GTRecipeHandler.removeRecipesByInputs(LARGE_CHEMICAL_RECIPES, arrayOf(), fluidInputs) } + /** + * Removes a Chemical Reactor recipe and its corresponding recipe in Large Chemical Reactor (LCR). + * + * @param fluidInputs The fluid inputs of the recipe which will be removed. + */ + @JvmName("_removeChemicalRecipes") + @JvmStatic + fun removeChemicalRecipes(vararg fluidInputs: FluidStack) + { + return removeChemicalRecipes(arrayOf(*fluidInputs)) + } + + // endregion + + // region Mixer Recipe Removal + /** * Removes a Mixer recipe and its corresponding recipe in Large Mixer (LM). * @@ -99,6 +130,18 @@ object GTLiteRecipeHandler GTRecipeHandler.removeRecipesByInputs(LARGE_MIXER_RECIPES, itemInputs, arrayOfNulls(0)) } + /** + * Removes a Mixer recipe and its corresponding recipe in Large Mixer (LM). + * + * @param itemInputs The item inputs of the recipe which will be removed. + */ + @JvmName("_removeMixerRecipes") + @JvmStatic + fun removeMixerRecipes(vararg itemInputs: ItemStack) + { + return removeMixerRecipes(arrayOf(*itemInputs)) + } + /** * Removes a Mixer recipe and its corresponding recipe in Large Mixer (LM). * @@ -111,6 +154,15 @@ object GTLiteRecipeHandler GTRecipeHandler.removeRecipesByInputs(LARGE_MIXER_RECIPES, arrayOfNulls(0), fluidInputs) } + @JvmName("_removeMixerRecipes") + @JvmStatic + fun removeMixerRecipes(vararg fluidInputs: FluidStack) + { + return removeMixerRecipes(arrayOf(*fluidInputs)) + } + + // endregion + /** * Adds several assembling recipes for input and output hatches. * @@ -131,25 +183,25 @@ object GTLiteRecipeHandler TieredAdhesiveFluid.generateRecipeFluidStacks(tier) .forEach { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(HULL[tier]) - .inputs(extra) - .fluidInputs(it) - .output(input) - .EUt(VA[tier]) - .duration(15 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(HULL[tier]) - .inputs(extra) - .fluidInputs(it) - .output(output) - .EUt(VA[tier]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(HULL[tier]) + inputs(extra) + fluidInputs(it) + output(input) + EUt(VA[tier]) + duration(15 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(HULL[tier]) + inputs(extra) + fluidInputs(it) + output(output) + EUt(VA[tier]) + duration(15 * SECOND) + } } } @@ -168,48 +220,48 @@ object GTLiteRecipeHandler val adhesiveFluid = TieredAdhesiveFluid.materialFromTier(tier) // add Quadruple Import Hatch recipe - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_IMPORT_HATCH[tier]) - .input(pipeQuadrupleFluid, pipeMaterial) - .fluidInputs(adhesiveFluid.getFluid(L * 4)) - .output(QUADRUPLE_IMPORT_HATCH[tier]) - .EUt(VA[tier]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_IMPORT_HATCH[tier]) + input(pipeQuadrupleFluid, pipeMaterial) + fluidInputs(adhesiveFluid.getFluid(L * 4)) + output(QUADRUPLE_IMPORT_HATCH[tier]) + EUt(VA[tier]) + duration(15 * SECOND) + } // add Quadruple Export Hatch recipe - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_EXPORT_HATCH[tier]) - .input(pipeQuadrupleFluid, pipeMaterial) - .fluidInputs(adhesiveFluid.getFluid(L * 4)) - .output(QUADRUPLE_EXPORT_HATCH[tier]) - .EUt(VA[tier]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_EXPORT_HATCH[tier]) + input(pipeQuadrupleFluid, pipeMaterial) + fluidInputs(adhesiveFluid.getFluid(L * 4)) + output(QUADRUPLE_EXPORT_HATCH[tier]) + EUt(VA[tier]) + duration(15 * SECOND) + } // add Nonuple Import Hatch recipe - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_IMPORT_HATCH[tier]) - .input(pipeNonupleFluid, pipeMaterial) - .fluidInputs(adhesiveFluid.getFluid(L * 9)) - .output(NONUPLE_IMPORT_HATCH[tier]) - .EUt(VA[tier]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_IMPORT_HATCH[tier]) + input(pipeNonupleFluid, pipeMaterial) + fluidInputs(adhesiveFluid.getFluid(L * 9)) + output(NONUPLE_IMPORT_HATCH[tier]) + EUt(VA[tier]) + duration(30 * SECOND) + } // add Nonuple Export Hatch recipe - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_EXPORT_HATCH[tier]) - .input(pipeNonupleFluid, pipeMaterial) - .fluidInputs(adhesiveFluid.getFluid(L * 9)) - .output(NONUPLE_EXPORT_HATCH[tier]) - .EUt(VA[tier]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_EXPORT_HATCH[tier]) + input(pipeNonupleFluid, pipeMaterial) + fluidInputs(adhesiveFluid.getFluid(L * 9)) + output(NONUPLE_EXPORT_HATCH[tier]) + EUt(VA[tier]) + duration(30 * SECOND) + } } /** diff --git a/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/GTLiteRecipeMaps.kt b/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/GTLiteRecipeMaps.kt index 0a955bbcf..941bcc5da 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/GTLiteRecipeMaps.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/GTLiteRecipeMaps.kt @@ -564,7 +564,6 @@ object GTLiteRecipeMaps .EUt(builder.eUt) .buildAndRegister() - // Mode 2: 64x base buff with original CAL recipes (the original buff is 16, so it is actual 1024x buff). val inputs = builder.inputs .filterNotNull() diff --git a/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/builder/MobProximityRecipeBuilder.kt b/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/builder/MobProximityRecipeBuilder.kt index 481da5278..815340504 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/builder/MobProximityRecipeBuilder.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/api/recipe/builder/MobProximityRecipeBuilder.kt @@ -38,6 +38,7 @@ class MobProximityRecipeBuilder : RecipeBuilder return this } + // TODO: KClass support? fun mob(entityClazz: Class): MobProximityRecipeBuilder { this.applyProperty(MobOnTopProperty, EntityList.getKey(entityClazz)!!) diff --git a/src/main/kotlin/gregtechlite/gtlitecore/common/block/adapter/GTPlankBlock.kt b/src/main/kotlin/gregtechlite/gtlitecore/common/block/adapter/GTPlankBlock.kt new file mode 100644 index 000000000..1d4e43937 --- /dev/null +++ b/src/main/kotlin/gregtechlite/gtlitecore/common/block/adapter/GTPlankBlock.kt @@ -0,0 +1,27 @@ +package gregtechlite.gtlitecore.common.block.adapter + +import gregtech.common.blocks.MetaBlocks +import gregtech.common.blocks.wood.BlockGregPlanks +import gregtechlite.gtlitecore.api.block.variant.BlockVariant +import net.minecraft.block.state.IBlockState +import net.minecraft.item.ItemStack + +/** + * @see gregtech.common.blocks.wood.BlockGregPlanks + */ +enum class GTPlankBlock : BlockVariant +{ + + RUBBER_PLANK, + TREATED_PLANK; + + override val state: IBlockState + get() = MetaBlocks.PLANKS.getStateFromMeta(this.ordinal) + + override fun getStack(count: Int): ItemStack + { + return MetaBlocks.PLANKS.getItemVariant( + BlockGregPlanks.BlockType.valueOf(this.name), count) + } + +} \ No newline at end of file diff --git a/src/main/kotlin/gregtechlite/gtlitecore/integration/appliedenergistics2/recipe/AppEngCALRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/integration/appliedenergistics2/recipe/AppEngCALRecipeProducer.kt index b0baa7a84..fd775dd59 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/integration/appliedenergistics2/recipe/AppEngCALRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/integration/appliedenergistics2/recipe/AppEngCALRecipeProducer.kt @@ -6,6 +6,7 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.unification.material.MarkerMaterials.Tier +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.unification.material.Materials.AnnealedCopper import gregtech.api.unification.material.Materials.Electrum import gregtech.api.unification.material.Materials.Gold @@ -67,219 +68,219 @@ object AppEngCALRecipeProducer } // Logic Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_RUBY_CHIP) - .input(WRAP_BASIC_CIRCUIT_BOARD) - .input(wireGtHex, RedAlloy, 2) - .input(bolt, Gold, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) - .outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) - .EUt(VA[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(AE2Item.LOGIC_PROCESSOR.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_RUBY_CHIP) + input(WRAP_BASIC_CIRCUIT_BOARD) + input(wireGtHex, RedAlloy, 2) + input(bolt, Gold, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) + outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) + EUt(VA[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(AE2Item.LOGIC_PROCESSOR.getStack()) + } - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_RUBY_CHIP) - .input(WRAP_GOOD_CIRCUIT_BOARD) - .input(wireGtHex, RedAlloy, 2) - .input(bolt, Electrum, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) - .outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) - .outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) - .outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) - .EUt(VA[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(AE2Item.LOGIC_PROCESSOR.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_RUBY_CHIP) + input(WRAP_GOOD_CIRCUIT_BOARD) + input(wireGtHex, RedAlloy, 2) + input(bolt, Electrum, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) + outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) + outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) + outputs(AE2Item.LOGIC_PROCESSOR.getStack(64)) + EUt(VA[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(AE2Item.LOGIC_PROCESSOR.getStack()) + } // Calculation Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_SAPPHIRE_CHIP) - .input(WRAP_BASIC_CIRCUIT_BOARD) - .input(wireGtHex, RedAlloy, 2) - .input(bolt, Gold, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) - .outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) - .EUt(VA[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(AE2Item.CALCULATION_PROCESSOR.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_SAPPHIRE_CHIP) + input(WRAP_BASIC_CIRCUIT_BOARD) + input(wireGtHex, RedAlloy, 2) + input(bolt, Gold, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) + outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) + EUt(VA[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(AE2Item.CALCULATION_PROCESSOR.getStack()) + } - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_SAPPHIRE_CHIP) - .input(WRAP_GOOD_CIRCUIT_BOARD) - .input(wireGtHex, RedAlloy, 2) - .input(bolt, Electrum, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) - .outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) - .outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) - .outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) - .EUt(VA[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(AE2Item.CALCULATION_PROCESSOR.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_SAPPHIRE_CHIP) + input(WRAP_GOOD_CIRCUIT_BOARD) + input(wireGtHex, RedAlloy, 2) + input(bolt, Electrum, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) + outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) + outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) + outputs(AE2Item.CALCULATION_PROCESSOR.getStack(64)) + EUt(VA[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(AE2Item.CALCULATION_PROCESSOR.getStack()) + } // Engineering Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_DIAMOND_CHIP) - .input(WRAP_BASIC_CIRCUIT_BOARD) - .input(wireGtHex, RedAlloy, 2) - .input(bolt, Gold, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) - .outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) - .EUt(VA[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(AE2Item.ENGINEERING_PROCESSOR.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_DIAMOND_CHIP) + input(WRAP_BASIC_CIRCUIT_BOARD) + input(wireGtHex, RedAlloy, 2) + input(bolt, Gold, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) + outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) + EUt(VA[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(AE2Item.ENGINEERING_PROCESSOR.getStack()) + } - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_DIAMOND_CHIP) - .input(WRAP_GOOD_CIRCUIT_BOARD) - .input(wireGtHex, RedAlloy, 2) - .input(bolt, Electrum, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) - .outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) - .outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) - .outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) - .EUt(VA[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(AE2Item.ENGINEERING_PROCESSOR.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_DIAMOND_CHIP) + input(WRAP_GOOD_CIRCUIT_BOARD) + input(wireGtHex, RedAlloy, 2) + input(bolt, Electrum, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) + outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) + outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) + outputs(AE2Item.ENGINEERING_PROCESSOR.getStack(64)) + EUt(VA[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(AE2Item.ENGINEERING_PROCESSOR.getStack()) + } // 1k ME Storage Cell - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_COATED_BOARD) - .inputs(AE2Item.LOGIC_PROCESSOR.getStack(16)) - .input(foil, Gold, 64) - .input(bolt, Iron, 32) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.STORAGE_COMPONENT_1K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_1K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_1K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_1K.getStack(64)) - .EUt(VA[LV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(AE2Item.STORAGE_COMPONENT_1K.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_COATED_BOARD) + inputs(AE2Item.LOGIC_PROCESSOR.getStack(16)) + input(foil, Gold, 64) + input(bolt, Iron, 32) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.STORAGE_COMPONENT_1K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_1K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_1K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_1K.getStack(64)) + EUt(VA[LV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(AE2Item.STORAGE_COMPONENT_1K.getStack()) + } // 1k ME Fluid Storage Cell - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_COATED_BOARD) - .inputs(AE2Item.CALCULATION_PROCESSOR.getStack(16)) - .input(foil, Silver, 64) - .input(bolt, Iron, 32) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(64)) - .EUt(VA[LV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_COATED_BOARD) + inputs(AE2Item.CALCULATION_PROCESSOR.getStack(16)) + input(foil, Silver, 64) + input(bolt, Iron, 32) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(64)) + EUt(VA[LV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack()) + } // 4k ME Storage Cell - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_COATED_BOARD) - .inputs(AE2Item.STORAGE_COMPONENT_1K.getStack(16)) - .inputs(AE2Item.ENGINEERING_PROCESSOR.getStack(16)) - .input(wireGtHex, Lead, 2) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.STORAGE_COMPONENT_4K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_4K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_4K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_4K.getStack(64)) - .EUt(VA[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(AE2Item.STORAGE_COMPONENT_4K.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_COATED_BOARD) + inputs(AE2Item.STORAGE_COMPONENT_1K.getStack(16)) + inputs(AE2Item.ENGINEERING_PROCESSOR.getStack(16)) + input(wireGtHex, Lead, 2) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.STORAGE_COMPONENT_4K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_4K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_4K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_4K.getStack(64)) + EUt(VA[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(AE2Item.STORAGE_COMPONENT_4K.getStack()) + } // 4k ME Fluid Storage Cell - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_COATED_BOARD) - .inputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(16)) - .inputs(AE2Item.ENGINEERING_PROCESSOR.getStack(16)) - .input(wireGtHex, Lead, 2) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(64)) - .EUt(VA[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_COATED_BOARD) + inputs(AE2Item.FLUID_STORAGE_COMPONENT_1K.getStack(16)) + inputs(AE2Item.ENGINEERING_PROCESSOR.getStack(16)) + input(wireGtHex, Lead, 2) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(64)) + EUt(VA[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack()) + } // 16k ME Storage Cell - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PHENOLIC_BOARD) - .inputs(AE2Item.STORAGE_COMPONENT_4K.getStack(16)) - .input(circuit, Tier.ULV, 16) - .input(wireGtHex, AnnealedCopper, 2) - .fluidInputs(SolderingAlloy.getFluid(L)) - .outputs(AE2Item.STORAGE_COMPONENT_16K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_16K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_16K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_16K.getStack(64)) - .EUt(VA[LV]) - .duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s - .circuitInfo(AE2Item.STORAGE_COMPONENT_16K.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PHENOLIC_BOARD) + inputs(AE2Item.STORAGE_COMPONENT_4K.getStack(16)) + input(circuit, Tier.ULV, 16) + input(wireGtHex, AnnealedCopper, 2) + fluidInputs(SolderingAlloy.getFluid(L)) + outputs(AE2Item.STORAGE_COMPONENT_16K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_16K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_16K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_16K.getStack(64)) + EUt(VA[LV]) + duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s + circuitInfo(AE2Item.STORAGE_COMPONENT_16K.getStack()) + } // 16k ME Fluid Storage Cell - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PHENOLIC_BOARD) - .inputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(16)) - .input(circuit, Tier.ULV, 16) - .input(wireGtHex, AnnealedCopper, 2) - .fluidInputs(SolderingAlloy.getFluid(L)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(64)) - .EUt(VA[LV]) - .duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s - .circuitInfo(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PHENOLIC_BOARD) + inputs(AE2Item.FLUID_STORAGE_COMPONENT_4K.getStack(16)) + input(circuit, Tier.ULV, 16) + input(wireGtHex, AnnealedCopper, 2) + fluidInputs(SolderingAlloy.getFluid(L)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(64)) + EUt(VA[LV]) + duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s + circuitInfo(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack()) + } // 64k ME Storage Cell - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PHENOLIC_BOARD) - .inputs(AE2Item.STORAGE_COMPONENT_16K.getStack(16)) - .input(circuit, Tier.LV, 16) - .input(wireGtHex, Gold, 2) - .fluidInputs(SolderingAlloy.getFluid(L)) - .outputs(AE2Item.STORAGE_COMPONENT_64K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_64K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_64K.getStack(64)) - .outputs(AE2Item.STORAGE_COMPONENT_64K.getStack(64)) - .EUt(VA[MV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(AE2Item.STORAGE_COMPONENT_64K.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PHENOLIC_BOARD) + inputs(AE2Item.STORAGE_COMPONENT_16K.getStack(16)) + input(circuit, Tier.LV, 16) + input(wireGtHex, Gold, 2) + fluidInputs(SolderingAlloy.getFluid(L)) + outputs(AE2Item.STORAGE_COMPONENT_64K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_64K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_64K.getStack(64)) + outputs(AE2Item.STORAGE_COMPONENT_64K.getStack(64)) + EUt(VA[MV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(AE2Item.STORAGE_COMPONENT_64K.getStack()) + } // 64k ME Fluid Storage Cell - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PHENOLIC_BOARD) - .inputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(16)) - .input(circuit, Tier.LV, 16) - .input(wireGtHex, Gold, 2) - .fluidInputs(SolderingAlloy.getFluid(L)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack(64)) - .outputs(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack(64)) - .EUt(VA[MV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack()) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PHENOLIC_BOARD) + inputs(AE2Item.FLUID_STORAGE_COMPONENT_16K.getStack(16)) + input(circuit, Tier.LV, 16) + input(wireGtHex, Gold, 2) + fluidInputs(SolderingAlloy.getFluid(L)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack(64)) + outputs(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack(64)) + EUt(VA[MV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(AE2Item.FLUID_STORAGE_COMPONENT_64K.getStack()) + } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/OverrideRecipeLoader.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/OverrideRecipeLoader.kt index 3bc5c5759..ae90b8ec5 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/OverrideRecipeLoader.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/OverrideRecipeLoader.kt @@ -12,9 +12,9 @@ import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH import gregtech.api.GTValues.VN import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.ELECTROLYZER_RECIPES @@ -132,11 +132,16 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt import gregtechlite.gtlitecore.api.extension.copy +import gregtechlite.gtlitecore.api.extension.getStack +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Plutonium244 import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Polyetheretherketone import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Vibranium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.WoodsGlass -import gregtechlite.gtlitecore.common.block.GTLiteBlocks +import gregtechlite.gtlitecore.common.block.GTLiteBlocks.DUST_BLOCK import gregtechlite.gtlitecore.common.block.adapter.GTCleanroomCasing import gregtechlite.gtlitecore.common.block.adapter.GTFusionCasing import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.GOOWARE_SMD_CAPACITOR @@ -155,8 +160,13 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.PICO_PIC_WAFER import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ULTIMATE_CIRCUIT_BOARD import gregtechlite.gtlitecore.common.item.GTLiteToolItems import gregtechlite.gtlitecore.loader.recipe.component.CraftingComponents -import net.minecraft.init.Blocks -import net.minecraft.init.Items +import net.minecraft.init.Blocks.CLAY +import net.minecraft.init.Blocks.SAND +import net.minecraft.init.Items.BRICK +import net.minecraft.init.Items.CLAY_BALL +import net.minecraft.init.Items.PAPER +import net.minecraft.init.Items.REEDS +import net.minecraft.init.Items.SUGAR import net.minecraft.item.ItemStack internal object OverrideRecipeLoader @@ -172,31 +182,31 @@ internal object OverrideRecipeLoader if (!ConfigHolder.recipes.nerfPaperCrafting) { ModHandler.removeRecipeByName("minecraft:paper") - ModHandler.addShapelessRecipe("paper", ItemStack(Items.PAPER), - GTLiteToolItems.ROLLING_PIN, ItemStack(Items.REEDS, 1, 0)) + ModHandler.addShapelessRecipe("paper", PAPER.stack(), + GTLiteToolItems.ROLLING_PIN, REEDS.stack()) ModHandler.addShapelessRecipe("paper_dust", OreDictUnifier.get(dust, Paper), - ToolItems.MORTAR, ItemStack(Items.PAPER, 1)) + ToolItems.MORTAR, PAPER.stack()) } // Let sugar used mortar. ModHandler.removeRecipeByName("minecraft:sugar") - ModHandler.addShapelessRecipe("sugar", ItemStack(Items.SUGAR, 1), - ToolItems.MORTAR, ItemStack(Items.REEDS, 1)) + ModHandler.addShapelessRecipe("sugar", SUGAR.stack(), + ToolItems.MORTAR, REEDS.stack()) // endregion // region Clay Bricks Processing // Modified bricks processing. - ModHandler.addShapedRecipe(true, "compressed_clay_brick", COMPRESSED_CLAY.getStackForm(8), + ModHandler.addShapedRecipe(true, "compressed_clay_brick", COMPRESSED_CLAY.getStack(8), "CCC", "CMC", "CCC", - 'C', ItemStack(Items.CLAY_BALL), + 'C', CLAY_BALL.stack(), 'M', WOODEN_FORM_BRICK) - ModHandler.removeFurnaceSmelting(ItemStack(Items.CLAY_BALL)) - ModHandler.addSmeltingRecipe(COMPRESSED_CLAY.stackForm, - ItemStack(Items.BRICK)) + ModHandler.removeFurnaceSmelting(CLAY_BALL.stack()) + ModHandler.addSmeltingRecipe(COMPRESSED_CLAY.stack(), + BRICK.stack()) // endregion @@ -217,33 +227,33 @@ internal object OverrideRecipeLoader // processing. With Dust Block, you can build an infinity Clay chain at LV stage. // Sand -> Dust Block - FORGE_HAMMER_RECIPES.recipeBuilder() - .inputs(ItemStack(Blocks.SAND)) - .outputs(ItemStack(GTLiteBlocks.DUST_BLOCK)) - .EUt(VH[LV]) - .duration(10 * TICK) - .buildAndRegister() + FORGE_HAMMER_RECIPES.addRecipe { + inputs(SAND) + outputs(DUST_BLOCK) + EUt(VH[LV]) + duration(10 * TICK) + } // Dust Block + H2O -> Clay - CHEMICAL_BATH_RECIPES.recipeBuilder() - .inputs(ItemStack(GTLiteBlocks.DUST_BLOCK)) - .fluidInputs(Water.getFluid(1000)) - .outputs(ItemStack(Blocks.CLAY)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + inputs(DUST_BLOCK) + fluidInputs(Water.getFluid(1000)) + outputs(CLAY) + EUt(VA[LV]) + duration(10 * SECOND) + } // Down-tier Clay electrolysis from MV stage to LV stage. - ELECTROLYZER_RECIPES.recipeBuilder() - .input(dust, Clay, 13) - .output(dust, Sodium, 2) - .output(dust, Lithium) - .output(dust, Aluminium, 2) - .output(dust, Silicon, 2) - .fluidOutputs(Water.getFluid(6000)) - .EUt(VA[LV]) - .duration(9 * SECOND + 2 * TICK) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + input(dust, Clay, 13) + output(dust, Sodium, 2) + output(dust, Lithium) + output(dust, Aluminium, 2) + output(dust, Silicon, 2) + fluidOutputs(Water.getFluid(6000)) + EUt(VA[LV]) + duration(9 * SECOND + 2 * TICK) + } // endregion @@ -252,18 +262,17 @@ internal object OverrideRecipeLoader // Reduce time spent of Water electrolysis from 75s to 15s, and then player can get Hydrogen and Oxygen easier. // Another correspondenced recipes please see: AluminiumSodiumProcessing, this is a conflict resolved of these // recipes. - GTRecipeHandler.removeRecipesByInputs(ELECTROLYZER_RECIPES, - Water.getFluid(1000)) + ELECTROLYZER_RECIPES.removeRecipe(Water.getFluid(1000)) // H2O -> 2H + O - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .fluidOutputs(Oxygen.getFluid(1000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + fluidOutputs(Oxygen.getFluid(1000)) + EUt(VA[LV]) + duration(15 * SECOND) + } // endregion @@ -271,20 +280,20 @@ internal object OverrideRecipeLoader // Down-tier Cleanroom Plascrete because Mining Drone Airport is at LV stage, player cannot get MV assembler in // LV stage. - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Steel), - OreDictUnifier.get(plate, Polyethylene, 6)), + OreDictUnifier.get(plate, Polyethylene, 6)), arrayOf(Concrete.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(frameGt, Steel) - .input(plate, Polyethylene, 6) - .fluidInputs(Concrete.getFluid(L)) - .outputs(GTCleanroomCasing.PLASCRETE.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(frameGt, Steel) + input(plate, Polyethylene, 6) + fluidInputs(Concrete.getFluid(L)) + outputs(GTCleanroomCasing.PLASCRETE.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // endregion @@ -302,31 +311,35 @@ internal object OverrideRecipeLoader "PPP", "MCM", "PPP", 'M', CraftingComponent.MOTOR.getIngredient(voltage), 'P', "plateAnyRubber", - 'C', UnificationEntry(cableGtSingle, (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) as UnificationEntry).material)) + 'C', UnificationEntry(cableGtSingle, + (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) + as UnificationEntry).material)) for (rubber in arrayOf(Rubber, SiliconeRubber, StyreneButadieneRubber)) { - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, arrayOf( - (CraftingComponent.MOTOR.getIngredient(voltage) as ItemStack).copy(2), - OreDictUnifier.get(cableGtSingle, (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) as UnificationEntry).material), - IntCircuitIngredient.getIntegratedCircuit(1)), - arrayOf(rubber.getFluid(L * 6))) + ASSEMBLER_RECIPES.removeRecipe( + arrayOf((CraftingComponent.MOTOR.getIngredient(voltage) as ItemStack).copy(2), + OreDictUnifier.get(cableGtSingle, + (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) + as UnificationEntry).material), + IntCircuitIngredient.getIntegratedCircuit(1)), + arrayOf(rubber.getFluid(L * 6))) } - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(cableGtSingle, (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) as UnificationEntry).material) - .inputs((CraftingComponent.MOTOR.getIngredient(voltage) as ItemStack).copy(2)) - .input("plateAnyRubber", 6) - .outputs(CraftingComponent.CONVEYOR.getIngredient(voltage) as ItemStack) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(cableGtSingle, (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) as UnificationEntry).material) + inputs((CraftingComponent.MOTOR.getIngredient(voltage) as ItemStack).copy(2)) + input("plateAnyRubber", 6) + outputs(CraftingComponent.CONVEYOR.getIngredient(voltage) as ItemStack) + EUt(VA[LV]) + duration(5 * SECOND) + } } ModHandler.removeRecipeByName("gregtech:conveyor_module_iv_silicone_rubber") ModHandler.removeRecipeByName("gregtech:conveyor_module_iv_styrene_butadiene_rubber") - ModHandler.addShapedRecipe(true, "conveyor_module.iv", CONVEYOR_MODULE_IV.stackForm, + ModHandler.addShapedRecipe(true, "conveyor_module.iv", CONVEYOR_MODULE_IV.stack(), "PPP", "MCM", "PPP", 'M', ELECTRIC_MOTOR_IV, 'P', "plateAnySyntheticRubber", @@ -334,22 +347,22 @@ internal object OverrideRecipeLoader for (rubber in arrayOf(SiliconeRubber, StyreneButadieneRubber)) { - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, arrayOf( - ELECTRIC_MOTOR_IV.getStackForm(2), - OreDictUnifier.get(cableGtSingle, Tungsten), - IntCircuitIngredient.getIntegratedCircuit(1)), - arrayOf(rubber.getFluid(L * 6))) + ASSEMBLER_RECIPES.removeRecipe( + arrayOf(ELECTRIC_MOTOR_IV.getStack(2), + OreDictUnifier.get(cableGtSingle, Tungsten), + IntCircuitIngredient.getIntegratedCircuit(1)), + arrayOf(rubber.getFluid(L * 6))) } - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(cableGtSingle, Tungsten) - .input(ELECTRIC_MOTOR_IV, 2) - .input("plateAnySyntheticRubber", 6) - .output(CONVEYOR_MODULE_IV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(cableGtSingle, Tungsten) + input(ELECTRIC_MOTOR_IV, 2) + input("plateAnySyntheticRubber", 6) + output(CONVEYOR_MODULE_IV) + EUt(VA[LV]) + duration(5 * SECOND) + } // Override all electric pumps recipes with new ore dictionary to compatible with several synthetic rubbers. for (voltage in LV .. EV) @@ -370,31 +383,31 @@ internal object OverrideRecipeLoader for (rubber in arrayOf(Rubber, SiliconeRubber, StyreneButadieneRubber)) { - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, *arrayOf( + ASSEMBLER_RECIPES.removeRecipe( OreDictUnifier.get(cableGtSingle, (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) as UnificationEntry).material), OreDictUnifier.get(pipeNormalFluid, (CraftingComponent.PIPE_NORMAL.getIngredient(voltage) as UnificationEntry).material), OreDictUnifier.get(screw, (CraftingComponent.ROTOR.getIngredient(voltage) as UnificationEntry).material), OreDictUnifier.get(rotor, (CraftingComponent.ROTOR.getIngredient(voltage) as UnificationEntry).material), OreDictUnifier.get(ring, rubber, 2), - CraftingComponent.MOTOR.getIngredient(voltage) as ItemStack)) + CraftingComponent.MOTOR.getIngredient(voltage) as ItemStack) } - ASSEMBLER_RECIPES.recipeBuilder() - .input(cableGtSingle, (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) as UnificationEntry).material) - .input(pipeNormalFluid, (CraftingComponent.PIPE_NORMAL.getIngredient(voltage) as UnificationEntry).material) - .input(screw, (CraftingComponent.ROTOR.getIngredient(voltage) as UnificationEntry).material) - .input(rotor, (CraftingComponent.ROTOR.getIngredient(voltage) as UnificationEntry).material) - .input("ringAnyRubber", 2) - .inputs(CraftingComponent.MOTOR.getIngredient(voltage) as ItemStack) - .outputs(CraftingComponent.PUMP.getIngredient(voltage) as ItemStack) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(cableGtSingle, (CraftingComponents.CABLE_COMPONENT.getIngredient(voltage) as UnificationEntry).material) + input(pipeNormalFluid, (CraftingComponent.PIPE_NORMAL.getIngredient(voltage) as UnificationEntry).material) + input(screw, (CraftingComponent.ROTOR.getIngredient(voltage) as UnificationEntry).material) + input(rotor, (CraftingComponent.ROTOR.getIngredient(voltage) as UnificationEntry).material) + input("ringAnyRubber", 2) + inputs(CraftingComponent.MOTOR.getIngredient(voltage) as ItemStack) + outputs(CraftingComponent.PUMP.getIngredient(voltage) as ItemStack) + EUt(VA[LV]) + duration(5 * SECOND) + } } ModHandler.removeRecipeByName("gregtech:electric_pump_iv_silicone_rubber") ModHandler.removeRecipeByName("gregtech:electric_pump_iv_styrene_butadiene_rubber") - ModHandler.addShapedRecipe(true, "electric_pump.iv", ELECTRIC_PUMP_IV.stackForm, + ModHandler.addShapedRecipe(true, "electric_pump.iv", ELECTRIC_PUMP_IV.stack(), "STR", "hPw", "RMC", 'S', UnificationEntry(screw, TungstenSteel), 'T', UnificationEntry(rotor, TungstenSteel), @@ -405,145 +418,146 @@ internal object OverrideRecipeLoader for (rubber in arrayOf(SiliconeRubber, StyreneButadieneRubber)) { - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, *arrayOf( + ASSEMBLER_RECIPES.removeRecipe( OreDictUnifier.get(cableGtSingle, Tungsten), OreDictUnifier.get(pipeNormalFluid, TungstenSteel), OreDictUnifier.get(screw, TungstenSteel), OreDictUnifier.get(rotor, TungstenSteel), OreDictUnifier.get(ring, rubber, 2), - ELECTRIC_MOTOR_IV.stackForm)) + ELECTRIC_MOTOR_IV.stack()) } - ASSEMBLER_RECIPES.recipeBuilder() - .input(cableGtSingle, Tungsten) - .input(pipeNormalFluid, TungstenSteel) - .input(screw, TungstenSteel) - .input(rotor, TungstenSteel) - .input("ringAnySyntheticRubber", 2) - .input(ELECTRIC_MOTOR_IV) - .output(ELECTRIC_PUMP_IV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(cableGtSingle, Tungsten) + input(pipeNormalFluid, TungstenSteel) + input(screw, TungstenSteel) + input(rotor, TungstenSteel) + input("ringAnySyntheticRubber", 2) + input(ELECTRIC_MOTOR_IV) + output(ELECTRIC_PUMP_IV) + EUt(VA[LV]) + duration(5 * SECOND) + } // endregion // region Fusion Reactor Controller with Fission Products // Let fusion MK1 used Curium and other fission products. - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, arrayOf( - GTFusionCasing.SUPERCONDUCTOR_COIL.stack, - OreDictUnifier.get(circuit, Tier.ZPM, 4), - OreDictUnifier.get(plateDouble, Plutonium241), - OreDictUnifier.get(plateDouble, Osmiridium), - FIELD_GENERATOR_IV.getStackForm(2), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(64), - OreDictUnifier.get(wireGtSingle, IndiumTinBariumTitaniumCuprate, 32)), - arrayOf(SolderingAlloy.getFluid(L * 8), NiobiumTitanium.getFluid(L * 8))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GTFusionCasing.SUPERCONDUCTOR_COIL.stack) - .input(circuit, Tier.ZPM, 4) - .input(plateDouble, Curium) - .input(plateDouble, Osmiridium) - .input(FIELD_GENERATOR_IV, 2) - .input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 64) - .input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(NiobiumTitanium.getFluid(L * 8)) - .output(FUSION_REACTOR[0]) - .EUt(VA[LuV]) - .duration(30 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(GTFusionCasing.SUPERCONDUCTOR_COIL.stack, + OreDictUnifier.get(circuit, Tier.ZPM, 4), + OreDictUnifier.get(plateDouble, Plutonium241), + OreDictUnifier.get(plateDouble, Osmiridium), + FIELD_GENERATOR_IV.getStack(2), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStack(64), + OreDictUnifier.get(wireGtSingle, IndiumTinBariumTitaniumCuprate, 32)), + arrayOf(SolderingAlloy.getFluid(L * 8), + NiobiumTitanium.getFluid(L * 8))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GTFusionCasing.SUPERCONDUCTOR_COIL.stack) + input(circuit, Tier.ZPM, 4) + input(plateDouble, Curium) + input(plateDouble, Osmiridium) + input(FIELD_GENERATOR_IV, 2) + input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 64) + input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 32) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(NiobiumTitanium.getFluid(L * 8)) + output(FUSION_REACTOR[0]) + EUt(VA[LuV]) + duration(30 * SECOND) + scannerResearch { it.researchStack(wireGtSingle, IndiumTinBariumTitaniumCuprate) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // Let fusion MK2 used Nano PIC, MK3 used Pico PIC. - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, arrayOf( - GTFusionCasing.FUSION_COIL.stack, - OreDictUnifier.get(circuit, Tier.UV, 4), - OreDictUnifier.get(plateDouble, Naquadria), - OreDictUnifier.get(plateDouble, Europium), - FIELD_GENERATOR_LuV.getStackForm(2), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(64), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(32), - OreDictUnifier.get(wireGtSingle, UraniumRhodiumDinaquadide, 32)), - arrayOf(SolderingAlloy.getFluid(L * 8), VanadiumGallium.getFluid(L * 8))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GTFusionCasing.FUSION_COIL.stack) - .input(circuit, Tier.UV, 4) - .input(plateDouble, Einsteinium) - .input(plateDouble, Naquadria) - .input(FIELD_GENERATOR_LuV, 2) - .input(NANO_PIC_CHIP, 64) - .input(wireGtSingle, UraniumRhodiumDinaquadide, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(VanadiumGallium.getFluid(L * 8)) - .output(FUSION_REACTOR[1]) - .EUt(61440) // ZPM - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(GTFusionCasing.FUSION_COIL.stack, + OreDictUnifier.get(circuit, Tier.UV, 4), + OreDictUnifier.get(plateDouble, Naquadria), + OreDictUnifier.get(plateDouble, Europium), + FIELD_GENERATOR_LuV.getStack(2), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStack(64), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStack(32), + OreDictUnifier.get(wireGtSingle, UraniumRhodiumDinaquadide, 32)), + arrayOf(SolderingAlloy.getFluid(L * 8), + VanadiumGallium.getFluid(L * 8))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GTFusionCasing.FUSION_COIL.stack) + input(circuit, Tier.UV, 4) + input(plateDouble, Einsteinium) + input(plateDouble, Naquadria) + input(FIELD_GENERATOR_LuV, 2) + input(NANO_PIC_CHIP, 64) + input(wireGtSingle, UraniumRhodiumDinaquadide, 32) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(VanadiumGallium.getFluid(L * 8)) + output(FUSION_REACTOR[1]) + EUt(61440) // ZPM + duration(1 * MINUTE) + stationResearch { it.researchStack(FUSION_REACTOR[0]) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() - - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_MODULE.stackForm, FUSION_REACTOR[1].stackForm) - - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, arrayOf( - GTFusionCasing.FUSION_COIL.stack, - OreDictUnifier.get(circuit, Tier.UHV, 4), - QUANTUM_STAR.stackForm, - OreDictUnifier.get(plateDouble, Americium), - FIELD_GENERATOR_ZPM.getStackForm(2), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(64), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(64), - OreDictUnifier.get(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 32)), - arrayOf(SolderingAlloy.getFluid(L * 8), YttriumBariumCuprate.getFluid(L * 8))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GTFusionCasing.FUSION_COIL.stack) - .input(circuit, Tier.UHV, 4) - .input(plateDouble, Mendelevium) - .input(plateDouble, Rutherfordium) - .input(FIELD_GENERATOR_ZPM, 2) - .input(PICO_PIC_CHIP, 64) - .input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(YttriumBariumCuprate.getFluid(L * 8)) - .output(FUSION_REACTOR[2]) - .EUt(VA[ZPM]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + } + + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_MODULE.stack(), FUSION_REACTOR[1].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(GTFusionCasing.FUSION_COIL.stack, + OreDictUnifier.get(circuit, Tier.UHV, 4), + QUANTUM_STAR.stack(), + OreDictUnifier.get(plateDouble, Americium), + FIELD_GENERATOR_ZPM.getStack(2), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStack(64), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStack(64), + OreDictUnifier.get(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 32)), + arrayOf(SolderingAlloy.getFluid(L * 8), + YttriumBariumCuprate.getFluid(L * 8))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GTFusionCasing.FUSION_COIL.stack) + input(circuit, Tier.UHV, 4) + input(plateDouble, Mendelevium) + input(plateDouble, Rutherfordium) + input(FIELD_GENERATOR_ZPM, 2) + input(PICO_PIC_CHIP, 64) + input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 32) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(YttriumBariumCuprate.getFluid(L * 8)) + output(FUSION_REACTOR[2]) + EUt(VA[ZPM]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(FUSION_REACTOR[1]) .EUt(VA[UV]) .CWUt(32) } - .buildAndRegister() + } // endregion // region Easier Neutronium Fusion // Buff the neutronium fusion recipes. - GTRecipeHandler.removeRecipesByInputs(FUSION_RECIPES, + FUSION_RECIPES.removeRecipe( Americium.getFluid(128), Naquadria.getFluid(128)) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Americium.getFluid(L)) - .fluidInputs(Naquadria.getFluid(L)) - .fluidOutputs(Neutronium.getFluid(L / 2)) - .EUt(98304) // ZPM - .duration(10 * SECOND) - .EUToStart(600_000_000L) // 600M EU, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Americium.getFluid(L)) + fluidInputs(Naquadria.getFluid(L)) + fluidOutputs(Neutronium.getFluid(L / 2)) + EUt(98304) // ZPM + duration(10 * SECOND) + EUToStart(600_000_000L) // 600M EU (MK3) + } // endregion @@ -551,7 +565,7 @@ internal object OverrideRecipeLoader // Let blacklight used Woods Glass. ModHandler.removeRecipeByName("gregtech:blacklight") - ModHandler.addShapedRecipe(true, "blacklight", BLACKLIGHT.stackForm, + ModHandler.addShapedRecipe(true, "blacklight", BLACKLIGHT.stack(), "SPS", "QEQ", "XPW", 'P', UnificationEntry(plate, TungstenCarbide), 'Q', UnificationEntry(plate, WoodsGlass), @@ -565,20 +579,20 @@ internal object OverrideRecipeLoader // region Radon with Fission Products // Let Radon be Pu244 + U238. - GTRecipeHandler.removeRecipesByInputs(LARGE_CHEMICAL_RECIPES, arrayOf( - OreDictUnifier.get(ingot, Plutonium239, 8), - OreDictUnifier.get(dust, Uranium238)), + LARGE_CHEMICAL_RECIPES.removeRecipe( + arrayOf(OreDictUnifier.get(ingot, Plutonium239, 8), + OreDictUnifier.get(dust, Uranium238)), arrayOf(Air.getFluid(10000))) - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(ingot, Plutonium244, 8) - .input(dust, Uranium238) - .fluidInputs(Air.getFluid(10000)) - .output(dust, Plutonium244, 8) - .fluidOutputs(Radon.getFluid(1000)) - .EUt(VA[HV]) - .duration(3 * MINUTE + 20 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(ingot, Plutonium244, 8) + input(dust, Uranium238) + fluidInputs(Air.getFluid(10000)) + output(dust, Plutonium244, 8) + fluidOutputs(Radon.getFluid(1000)) + EUt(VA[HV]) + duration(3 * MINUTE + 20 * SECOND) + } // endregion @@ -586,9 +600,9 @@ internal object OverrideRecipeLoader // Down-tier Large Plasma Turbine recipes hull requirement from LuV to IV. ModHandler.removeRecipeByName("gregtech:large_plasma_turbine") - ModHandler.addShapedRecipe(true, "large_plasma_turbine", LARGE_PLASMA_TURBINE.stackForm, + ModHandler.addShapedRecipe(true, "large_plasma_turbine", LARGE_PLASMA_TURBINE.stack(), "XGX", "GHG", "PGP", - 'H', HULL[IV].stackForm, + 'H', HULL[IV].stack(), 'G', UnificationEntry(gear, TungstenSteel), 'X', UnificationEntry(circuit, Tier.LuV), 'P', UnificationEntry(pipeLargeFluid, TungstenSteel)) @@ -598,140 +612,139 @@ internal object OverrideRecipeLoader // region Ass Line Battery Recipes Overhaul // Adjust energy module recipes. - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, arrayOf( - ELITE_CIRCUIT_BOARD.stackForm, - OreDictUnifier.get(plateDouble, Europium, 8), - OreDictUnifier.get(circuit, Tier.ZPM, 4), - ENERGY_LAPOTRONIC_ORB_CLUSTER.stackForm, - FIELD_GENERATOR_LuV.stackForm, - HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(32), - ADVANCED_SMD_DIODE.getStackForm(12), - ADVANCED_SMD_CAPACITOR.getStackForm(12), - ADVANCED_SMD_RESISTOR.getStackForm(12), - ADVANCED_SMD_TRANSISTOR.getStackForm(12), - ADVANCED_SMD_INDUCTOR.getStackForm(12), - OreDictUnifier.get(wireFine, Ruridit, 64), - OreDictUnifier.get(bolt, Trinium, 16)), + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(ELITE_CIRCUIT_BOARD.stack(), + OreDictUnifier.get(plateDouble, Europium, 8), + OreDictUnifier.get(circuit, Tier.ZPM, 4), + ENERGY_LAPOTRONIC_ORB_CLUSTER.stack(), + FIELD_GENERATOR_LuV.stack(), + HIGH_POWER_INTEGRATED_CIRCUIT.getStack(32), + ADVANCED_SMD_DIODE.getStack(12), + ADVANCED_SMD_CAPACITOR.getStack(12), + ADVANCED_SMD_RESISTOR.getStack(12), + ADVANCED_SMD_TRANSISTOR.getStack(12), + ADVANCED_SMD_INDUCTOR.getStack(12), + OreDictUnifier.get(wireFine, Ruridit, 64), + OreDictUnifier.get(bolt, Trinium, 16)), arrayOf(SolderingAlloy.getFluid(L * 10))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELITE_CIRCUIT_BOARD) - .input(plate, Rutherfordium, 8) - .input(circuit, Tier.ZPM, 4) - .input(ENERGY_LAPOTRONIC_ORB_CLUSTER) - .input(FIELD_GENERATOR_LuV) - .input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 32) - .input(ADVANCED_SMD_DIODE, 16) - .input(ADVANCED_SMD_CAPACITOR, 16) - .input(ADVANCED_SMD_RESISTOR, 16) - .input(ADVANCED_SMD_TRANSISTOR, 16) - .input(ADVANCED_SMD_INDUCTOR, 16) - .input(wireFine, Ruridit, 64) - .input(bolt, Trinium, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(ENERGY_MODULE) - .EUt(100_000) // ZPM - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELITE_CIRCUIT_BOARD) + input(plate, Rutherfordium, 8) + input(circuit, Tier.ZPM, 4) + input(ENERGY_LAPOTRONIC_ORB_CLUSTER) + input(FIELD_GENERATOR_LuV) + input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 32) + input(ADVANCED_SMD_DIODE, 16) + input(ADVANCED_SMD_CAPACITOR, 16) + input(ADVANCED_SMD_RESISTOR, 16) + input(ADVANCED_SMD_TRANSISTOR, 16) + input(ADVANCED_SMD_INDUCTOR, 16) + input(wireFine, Ruridit, 64) + input(bolt, Trinium, 16) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(ENERGY_MODULE) + EUt(100_000) // ZPM + duration(1 * MINUTE) + stationResearch { it.researchStack(ENERGY_LAPOTRONIC_ORB_CLUSTER) .EUt(VA[LuV]) .CWUt(16) } - .buildAndRegister() + } // Adjust energy cluster recipes, allowed it used all UV-tier circuits. - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_MODULE.stackForm, ENERGY_MODULE.stackForm) - - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, arrayOf( - WETWARE_CIRCUIT_BOARD.stackForm, - OreDictUnifier.get(plate, Americium, 16), - WETWARE_SUPER_COMPUTER_UV.getStackForm(4), - ENERGY_MODULE.stackForm, - FIELD_GENERATOR_ZPM.stackForm, - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(32), - ADVANCED_SMD_DIODE.getStackForm(16), - ADVANCED_SMD_CAPACITOR.getStackForm(16), - ADVANCED_SMD_RESISTOR.getStackForm(16), - ADVANCED_SMD_TRANSISTOR.getStackForm(16), - ADVANCED_SMD_INDUCTOR.getStackForm(16), - OreDictUnifier.get(wireFine, Osmiridium, 64), - OreDictUnifier.get(bolt, Naquadria, 16)), - arrayOf(SolderingAlloy.getFluid(L * 20), Polybenzimidazole.getFluid(L * 4))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WETWARE_CIRCUIT_BOARD) - .input(plate, Dubnium, 8) - .input(circuit, Tier.UV, 4) - .input(ENERGY_MODULE) - .input(FIELD_GENERATOR_ZPM) - .input(NANO_PIC_CHIP, 32) - .input(GOOWARE_SMD_DIODE, 16) - .input(GOOWARE_SMD_CAPACITOR, 16) - .input(GOOWARE_SMD_RESISTOR, 16) - .input(GOOWARE_SMD_TRANSISTOR, 16) - .input(GOOWARE_SMD_INDUCTOR, 16) - .input(wireFine, Osmiridium, 64) - .input(bolt, Naquadria, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(Polybenzimidazole.getFluid(L * 4)) - .output(ENERGY_CLUSTER) - .EUt(200_000) // UV - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_MODULE.stack(), ENERGY_MODULE.stack()) + + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(WETWARE_CIRCUIT_BOARD.stack(), + OreDictUnifier.get(plate, Americium, 16), + WETWARE_SUPER_COMPUTER_UV.getStack(4), + ENERGY_MODULE.stack(), + FIELD_GENERATOR_ZPM.stack(), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStack(32), + ADVANCED_SMD_DIODE.getStack(16), + ADVANCED_SMD_CAPACITOR.getStack(16), + ADVANCED_SMD_RESISTOR.getStack(16), + ADVANCED_SMD_TRANSISTOR.getStack(16), + ADVANCED_SMD_INDUCTOR.getStack(16), + OreDictUnifier.get(wireFine, Osmiridium, 64), + OreDictUnifier.get(bolt, Naquadria, 16)), + arrayOf(SolderingAlloy.getFluid(L * 20), + Polybenzimidazole.getFluid(L * 4))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(WETWARE_CIRCUIT_BOARD) + input(plate, Dubnium, 8) + input(circuit, Tier.UV, 4) + input(ENERGY_MODULE) + input(FIELD_GENERATOR_ZPM) + input(NANO_PIC_CHIP, 32) + input(GOOWARE_SMD_DIODE, 16) + input(GOOWARE_SMD_CAPACITOR, 16) + input(GOOWARE_SMD_RESISTOR, 16) + input(GOOWARE_SMD_TRANSISTOR, 16) + input(GOOWARE_SMD_INDUCTOR, 16) + input(wireFine, Osmiridium, 64) + input(bolt, Naquadria, 16) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(Polybenzimidazole.getFluid(L * 4)) + output(ENERGY_CLUSTER) + EUt(200_000) // UV + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(ENERGY_MODULE) .EUt(VA[ZPM]) .CWUt(32) } - .buildAndRegister() + } // Ultimate Battery - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_MODULE.stackForm, ENERGY_CLUSTER.stackForm) - - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, arrayOf( - OreDictUnifier.get(plateDouble, Darmstadtium, 16), - OreDictUnifier.get(circuit, Tier.UHV, 4), - ENERGY_CLUSTER.getStackForm(16), - FIELD_GENERATOR_UV.getStackForm(4), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), - ADVANCED_SMD_DIODE.getStackForm(64), - ADVANCED_SMD_CAPACITOR.getStackForm(64), - ADVANCED_SMD_RESISTOR.getStackForm(64), - ADVANCED_SMD_TRANSISTOR.getStackForm(64), - ADVANCED_SMD_INDUCTOR.getStackForm(64), - OreDictUnifier.get(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 64), - OreDictUnifier.get(bolt, Neutronium, 64)), - arrayOf(SolderingAlloy.getFluid(L * 40), Polybenzimidazole.getFluid(L * 16), - Naquadria.getFluid(L * 18))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(plateDouble, Bohrium, 16) - .input(circuit, Tier.UHV, 4) - .input(ENERGY_CLUSTER, 16) - .input(FIELD_GENERATOR_UV, 4) - .input(PICO_PIC_WAFER, 64) - .input(OPTICAL_SMD_DIODE, 32) - .input(OPTICAL_SMD_CAPACITOR, 32) - .input(OPTICAL_SMD_RESISTOR, 32) - .input(OPTICAL_SMD_TRANSISTOR, 32) - .input(OPTICAL_SMD_INDUCTOR, 32) - .input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 64) - .input(bolt, Neutronium, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(Polyetheretherketone.getFluid(L * 16)) - .fluidInputs(Vibranium.getFluid(L * 18)) - .output(ULTIMATE_BATTERY) - .EUt(800_000) // UHV - .duration(2 * MINUTE) - .stationResearch { + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_MODULE.stack(), ENERGY_CLUSTER.stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(OreDictUnifier.get(plateDouble, Darmstadtium, 16), + OreDictUnifier.get(circuit, Tier.UHV, 4), + ENERGY_CLUSTER.getStack(16), + FIELD_GENERATOR_UV.getStack(4), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStack(64), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStack(64), + ADVANCED_SMD_DIODE.getStack(64), + ADVANCED_SMD_CAPACITOR.getStack(64), + ADVANCED_SMD_RESISTOR.getStack(64), + ADVANCED_SMD_TRANSISTOR.getStack(64), + ADVANCED_SMD_INDUCTOR.getStack(64), + OreDictUnifier.get(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 64), + OreDictUnifier.get(bolt, Neutronium, 64)), + arrayOf(SolderingAlloy.getFluid(L * 40), + Polybenzimidazole.getFluid(L * 16), + Naquadria.getFluid(L * 18))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(plateDouble, Bohrium, 16) + input(circuit, Tier.UHV, 4) + input(ENERGY_CLUSTER, 16) + input(FIELD_GENERATOR_UV, 4) + input(PICO_PIC_WAFER, 64) + input(OPTICAL_SMD_DIODE, 32) + input(OPTICAL_SMD_CAPACITOR, 32) + input(OPTICAL_SMD_RESISTOR, 32) + input(OPTICAL_SMD_TRANSISTOR, 32) + input(OPTICAL_SMD_INDUCTOR, 32) + input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 64) + input(bolt, Neutronium, 64) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(Polyetheretherketone.getFluid(L * 16)) + fluidInputs(Vibranium.getFluid(L * 18)) + output(ULTIMATE_BATTERY) + EUt(800_000) // UHV + duration(2 * MINUTE) + stationResearch { it.researchStack(ENERGY_CLUSTER) .EUt(VA[UHV]) .CWUt(48) } - .buildAndRegister() + } // endregion @@ -739,10 +752,10 @@ internal object OverrideRecipeLoader // Cleaning Maintenance Hatch ModHandler.removeRecipeByName("gregtech:maintenance_hatch_cleaning") - ModHandler.addShapedRecipe(true, "cleaning_maintenance_hatch", CLEANING_MAINTENANCE_HATCH.stackForm, + ModHandler.addShapedRecipe(true, "cleaning_maintenance_hatch", CLEANING_MAINTENANCE_HATCH.stack(), "XAX", "RHR", "WXW", - 'H', HULL[IV].stackForm, - 'A', AUTO_MAINTENANCE_HATCH.stackForm, + 'H', HULL[IV].stack(), + 'A', AUTO_MAINTENANCE_HATCH.stack(), 'R', ROBOT_ARM_IV, 'W', UnificationEntry(cableGtSingle, Platinum), 'X', UnificationEntry(circuit, Tier.IV)) diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/RecipeConflicts.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/RecipeConflicts.kt index ddc906e7b..fd5791f5d 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/RecipeConflicts.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/RecipeConflicts.kt @@ -4,6 +4,7 @@ import gregtech.api.GTValues.HV import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.recipes.RecipeMaps.LARGE_CHEMICAL_RECIPES import gregtech.api.recipes.ingredients.IntCircuitIngredient import gregtech.api.unification.OreDictUnifier @@ -40,23 +41,23 @@ internal object RecipeConflicts // Conflict between Polydimethylsiloxane (C2H6OSi) and Carbon Tetrachloride (CCl4). GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Silicon), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Water.getFluid(1000), - Chlorine.getFluid(4000), - Methane.getFluid(2000))) + Chlorine.getFluid(4000), + Methane.getFluid(2000))) - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Silicon, 3) - .fluidInputs(Water.getFluid(3000)) - .fluidInputs(Methane.getFluid(6000)) - .fluidInputs(Chlorine.getFluid(12000)) - .output(dust, Polydimethylsiloxane, 9) - .fluidOutputs(HydrochloricAcid.getFluid(6000)) - .fluidOutputs(DilutedHydrochloricAcid.getFluid(6000)) - .EUt(96) // MV - .duration(2 * MINUTE + 24 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Silicon, 3) + fluidInputs(Water.getFluid(3000)) + fluidInputs(Methane.getFluid(6000)) + fluidInputs(Chlorine.getFluid(12000)) + output(dust, Polydimethylsiloxane, 9) + fluidOutputs(HydrochloricAcid.getFluid(6000)) + fluidOutputs(DilutedHydrochloricAcid.getFluid(6000)) + EUt(96) // MV + duration(2 * MINUTE + 24 * SECOND) + } // Conflict between Methyltrichlorosilane (Si(CH3)Cl3) and Dimethyldichlorosilane (Si(CH3)2Cl2) GTLiteRecipeHandler.removeChemicalRecipes( @@ -64,46 +65,45 @@ internal object RecipeConflicts arrayOf(Chloromethane.getFluid(2000))) // Si + 2CH3Cl -> Si(CH3)2Cl2 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Silicon) - .fluidInputs(Chloromethane.getFluid(2000)) - .fluidOutputs(Dimethyldichlorosilane.getFluid(1000)) - .EUt(96) // MV - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Silicon) + fluidInputs(Chloromethane.getFluid(2000)) + fluidOutputs(Dimethyldichlorosilane.getFluid(1000)) + EUt(96) // MV + duration(12 * SECOND) + } // Add an int circuit to C4H8O recipe. GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(Propene.getFluid(1000), - Hydrogen.getFluid(2000), - CarbonMonoxide.getFluid(1000))) + Propene.getFluid(1000), + Hydrogen.getFluid(2000), + CarbonMonoxide.getFluid(1000)) - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Propene.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(2000)) - .fluidInputs(CarbonMonoxide.getFluid(1000)) - .fluidOutputs(Butyraldehyde.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Propene.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(2000)) + fluidInputs(CarbonMonoxide.getFluid(1000)) + fluidOutputs(Butyraldehyde.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // Conflicts between NaHSO4 and C6H6NNaO3S. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, SodiumHydroxide, 3)), arrayOf(SulfuricAcid.getFluid(1000))) - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .output(dust, SodiumBisulfate, 7) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, SodiumHydroxide, 3) + fluidInputs(SulfuricAcid.getFluid(1000)) + output(dust, SodiumBisulfate, 7) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[LV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AcetyleneChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AcetyleneChain.kt index ef24b58b6..00f419376 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AcetyleneChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AcetyleneChain.kt @@ -17,13 +17,14 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.ore.OrePrefix.gem import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Acetylene import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CalciumCarbide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CalciumHydroxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Lignite -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.COAL internal object AcetyleneChain { @@ -33,95 +34,94 @@ internal object AcetyleneChain fun init() { // CaO + 3C -> CaC2 + CO - ROASTER_RECIPES.recipeBuilder() - .input(dust, Quicklime, 2) - .input(dust, Carbon, 3) - .output(dust, CalciumCarbide, 3) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(25 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Quicklime, 2) + input(dust, Carbon, 3) + output(dust, CalciumCarbide, 3) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[MV]) + duration(25 * SECOND) + } - ROASTER_RECIPES.recipeBuilder() - .input(dust, Quicklime, 2) - .inputs(ItemStack(Items.COAL, 3, 0)) - .output(dust, CalciumCarbide, 3) - .chancedOutput(dust, Ash, 3, 2000, 0) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(50 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Quicklime, 2) + inputs(COAL, 3) // Coal + output(dust, CalciumCarbide, 3) + chancedOutput(dust, Ash, 3, 2000, 0) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[MV]) + duration(50 * SECOND) + } - ROASTER_RECIPES.recipeBuilder() - .input(dust, Quicklime, 2) - .inputs(ItemStack(Items.COAL, 3, 1)) - .output(dust, CalciumCarbide, 3) - .chancedOutput(dust, Ash, 3, 2000, 0) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(50 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Quicklime, 2) + inputs(COAL, 3, 1) // Charcoal + output(dust, CalciumCarbide, 3) + chancedOutput(dust, Ash, 3, 2000, 0) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[MV]) + duration(50 * SECOND) + } - ROASTER_RECIPES.recipeBuilder() - .input(dust, Quicklime, 2) - .input(gem, Lignite, 3) - .output(dust, CalciumCarbide, 3) - .chancedOutput(dust, Ash, 3, 2000, 0) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(50 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Quicklime, 2) + input(gem, Lignite, 3) + output(dust, CalciumCarbide, 3) + chancedOutput(dust, Ash, 3, 2000, 0) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[MV]) + duration(50 * SECOND) + } - ROASTER_RECIPES.recipeBuilder() - .input(dust, Quicklime, 2) - .input(dust, Charcoal, 3) - .output(dust, CalciumCarbide, 3) - .chancedOutput(dust, Ash, 3, 2000, 0) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(50 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Quicklime, 2) + input(dust, Charcoal, 3) + output(dust, CalciumCarbide, 3) + chancedOutput(dust, Ash, 3, 2000, 0) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[MV]) + duration(50 * SECOND) + } - ROASTER_RECIPES.recipeBuilder() - .input(dust, Quicklime, 2) - .input(dust, Coal, 3) - .output(dust, CalciumCarbide, 3) - .chancedOutput(dust, Ash, 3, 2000, 0) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(50 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Quicklime, 2) + input(dust, Coal, 3) + output(dust, CalciumCarbide, 3) + chancedOutput(dust, Ash, 3, 2000, 0) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[MV]) + duration(50 * SECOND) + } - ROASTER_RECIPES.recipeBuilder() - .input(dust, Quicklime, 2) - .input(dust, Lignite, 3) - .output(dust, CalciumCarbide, 3) - .chancedOutput(dust, Ash, 3, 2000, 0) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(50 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Quicklime, 2) + input(dust, Lignite, 3) + output(dust, CalciumCarbide, 3) + chancedOutput(dust, Ash, 3, 2000, 0) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[MV]) + duration(50 * SECOND) + } // CaC2 + 2H2O -> Ca(OH)2 + C2H2 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, CalciumCarbide, 3) - .fluidInputs(Water.getFluid(2000)) - .output(dust, CalciumHydroxide, 5) - .fluidOutputs(Acetylene.getFluid(1000)) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, CalciumCarbide, 3) + fluidInputs(Water.getFluid(2000)) + output(dust, CalciumHydroxide, 5) + fluidOutputs(Acetylene.getFluid(1000)) + EUt(VA[LV]) + duration(4 * SECOND) + } // Ca(OH)2 + CO2 -> CaCO3 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, CalciumHydroxide, 5) - .fluidInputs(CarbonDioxide.getFluid(1000)) - .output(dust, Calcite, 5) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + input(dust, CalciumHydroxide, 5) + fluidInputs(CarbonDioxide.getFluid(1000)) + output(dust, Calcite, 5) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[LV]) + duration(4 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ActiniumSuperhydrideChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ActiniumSuperhydrideChain.kt index 0e71fcf51..fc8c348a1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ActiniumSuperhydrideChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ActiniumSuperhydrideChain.kt @@ -25,6 +25,7 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ActiniumOxalate @@ -46,84 +47,83 @@ internal object ActiniumSuperhydrideChain fun init() { // Na + H -> NaH - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Sodium) - .fluidInputs(Hydrogen.getFluid(1000)) - .output(ingot, SodiumHydride, 2) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Sodium) + fluidInputs(Hydrogen.getFluid(1000)) + output(ingot, SodiumHydride, 2) + EUt(VA[HV]) + duration(15 * SECOND) + } // Ac + 2C2H2O4 + 2O -> Ac(CO2)4 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Actinium) - .fluidInputs(OxalicAcid.getFluid(2000)) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, ActiniumOxalate, 13) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[IV]) - .duration(9 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Actinium) + fluidInputs(OxalicAcid.getFluid(2000)) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, ActiniumOxalate, 13) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[IV]) + duration(9 * SECOND) + } // Ac(CO2)4 + 13Na + 3NaH + 4CCl4 -> AcH3 + 16NaCl + 8CO2 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, ActiniumOxalate, 13) - .input(dust, Sodium, 13) - .input(dust, SodiumHydride, 6) - .fluidInputs(CarbonTetrachloride.getFluid(4000)) - .output(dust, ActiniumTrihydride, 4) - .output(dust, Salt, 32) - .fluidOutputs(CarbonDioxide.getFluid(8000)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, ActiniumOxalate, 13) + input(dust, Sodium, 13) + input(dust, SodiumHydride, 6) + fluidInputs(CarbonTetrachloride.getFluid(4000)) + output(dust, ActiniumTrihydride, 4) + output(dust, Salt, 32) + fluidOutputs(CarbonDioxide.getFluid(8000)) + EUt(VA[UV]) + duration(10 * SECOND) + } // Tier 1: 16AcH3 + 144H -> 16AcH12 - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, ActiniumTrihydride, 64) - .inputs(ItemStack(TARANIUM_CHARGE)) - .fluidInputs(Hydrogen.getFluid(144000)) - .fluidOutputs(ActiniumSuperhydride.getPlasma(16000)) - .EUt(VA[UHV]) - .duration(2 * MINUTE) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(dust, ActiniumTrihydride, 64) + inputs(ItemStack(TARANIUM_CHARGE)) + fluidInputs(Hydrogen.getFluid(144000)) + fluidOutputs(ActiniumSuperhydride.getPlasma(16000)) + EUt(VA[UHV]) + duration(2 * MINUTE) + } // Tier 2: 64AcH3 + 576H -> 64AcH12 - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, ActiniumTrihydride, 64) - .input(dust, ActiniumTrihydride, 64) - .input(dust, ActiniumTrihydride, 64) - .input(dust, ActiniumTrihydride, 64) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidInputs(Hydrogen.getFluid(576000)) - .fluidOutputs(ActiniumSuperhydride.getPlasma(64000)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(dust, ActiniumTrihydride, 64) + input(dust, ActiniumTrihydride, 64) + input(dust, ActiniumTrihydride, 64) + input(dust, ActiniumTrihydride, 64) + inputs(ItemStack(LEPTONIC_CHARGE)) + fluidInputs(Hydrogen.getFluid(576000)) + fluidOutputs(ActiniumSuperhydride.getPlasma(64000)) + EUt(VA[UEV]) + duration(30 * SECOND) + } // Tier 3: 576AcH3 + 19008H -> 576AcH12 - STELLAR_FORGE_RECIPES.recipeBuilder() - .input(block, ActiniumTrihydride, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Hydrogen.getFluid(19008000)) - .fluidOutputs(ActiniumSuperhydride.getPlasma(576000)) - .EUt(VA[UIV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + input(block, ActiniumTrihydride, 64) + inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) + fluidInputs(Hydrogen.getFluid(19008000)) + fluidOutputs(ActiniumSuperhydride.getPlasma(576000)) + EUt(VA[UIV]) + duration(7 * SECOND + 10 * TICK) + } // Solidification of AcH12. - VACUUM_RECIPES.recipeBuilder() - .fluidInputs(ActiniumSuperhydride.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 500)) - .output(dust, ActiniumSuperhydride, 13) - .fluidOutputs(Helium.getFluid(250)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() - + VACUUM_RECIPES.addRecipe { + fluidInputs(ActiniumSuperhydride.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 500)) + output(dust, ActiniumSuperhydride, 13) + fluidOutputs(Helium.getFluid(250)) + EUt(VA[UHV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AlgaeChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AlgaeChain.kt index 3b330d2ab..ccefeb948 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AlgaeChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AlgaeChain.kt @@ -25,6 +25,7 @@ import gregtech.common.items.MetaItems.CARBON_MESH import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BIO_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AlgaeMixture @@ -45,80 +46,83 @@ internal object AlgaeChain fun init() { - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidInputs(Biomass.getFluid(1000)) - .fluidInputs(SaltWater.getFluid(1000)) - .fluidOutputs(AlgaeMixture.getFluid(1000)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + // Algae Mixture + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(4) + fluidInputs(Biomass.getFluid(1000)) + fluidInputs(SaltWater.getFluid(1000)) + fluidOutputs(AlgaeMixture.getFluid(1000)) + EUt(VA[LV]) + duration(10 * SECOND) + } - SIFTER_RECIPES.recipeBuilder() - .notConsumable(CARBON_MESH) - .fluidInputs(AlgaeMixture.getFluid(1000)) - .chancedOutput(dust, GreenAlgae, 6500, 250) - .chancedOutput(dust, BrownAlgae, 5500, 500) - .chancedOutput(dust, RedAlgae, 4500, 750) - .fluidOutputs(SaltWater.getFluid(1000)) - .EUt(VA[LV]) - .duration(20 * SECOND) - .buildAndRegister() + // Algae Mixture -> Green/Brown/Red Algae + SIFTER_RECIPES.addRecipe { + notConsumable(CARBON_MESH) + fluidInputs(AlgaeMixture.getFluid(1000)) + chancedOutput(dust, GreenAlgae, 6500, 250) + chancedOutput(dust, BrownAlgae, 5500, 500) + chancedOutput(dust, RedAlgae, 4500, 750) + fluidOutputs(SaltWater.getFluid(1000)) + EUt(VA[LV]) + duration(20 * SECOND) + } // 6(Na2CO3)(H2O)-> 2C5H7O4COONa + C5H10O5 + C6H10O5 - BURNER_REACTOR_RECIPES.recipeBuilder() - .notConsumable(dust, Diatomite) - .input(dust, BrownAlgae, 10) - .fluidInputs(SodiumCarbonateSolution.getFluid(6000)) - .output(dust, SodiumAlginate, 40) - .output(dust, Xylose, 20) - .output(dust, Cellulose, 42) - .fluidOutputs(CarbonDioxide.getFluid(6000)) - .fluidOutputs(Water.getFluid(6000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + notConsumable(dust, Diatomite) + input(dust, BrownAlgae, 10) + fluidInputs(SodiumCarbonateSolution.getFluid(6000)) + output(dust, SodiumAlginate, 40) + output(dust, Xylose, 20) + output(dust, Cellulose, 42) + fluidOutputs(CarbonDioxide.getFluid(6000)) + fluidOutputs(Water.getFluid(6000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // 2C5H7O4COONa + CaCl2 -> (C5H7O4COO)2Ca + 2NaCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumAlginate, 40) - .input(dust, CalciumChloride, 3) - .output(dust, CalciumAlginate, 39) - .output(dust, Salt, 4) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumAlginate, 40) + input(dust, CalciumChloride, 3) + output(dust, CalciumAlginate, 39) + output(dust, Salt, 4) + EUt(VA[IV]) + duration(5 * SECOND) + } - // Another usages for algae. + // region Algae Application // Green Algae + H2O -> CH4 - FERMENTING_RECIPES.recipeBuilder() - .input(dust, GreenAlgae, 10) - .fluidInputs(DistilledWater.getFluid(500)) - .fluidOutputs(Methane.getFluid(500)) - .EUt(VH[MV]) - .duration(5 * SECOND) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + input(dust, GreenAlgae, 10) + fluidInputs(DistilledWater.getFluid(500)) + fluidOutputs(Methane.getFluid(500)) + EUt(VH[MV]) + duration(5 * SECOND) + } // Green Algae + Brown Algae + 5H2O -> 5H2SO4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, GreenAlgae, 10) - .input(dust, BrownAlgae, 5) - .fluidInputs(DistilledWater.getFluid(5000)) - .fluidOutputs(SulfuricAcid.getFluid(5000)) - .EUt(VA[HV]) - .duration(2 * MINUTE + 30 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, GreenAlgae, 10) + input(dust, BrownAlgae, 5) + fluidInputs(DistilledWater.getFluid(5000)) + fluidOutputs(SulfuricAcid.getFluid(5000)) + EUt(VA[HV]) + duration(2 * MINUTE + 30 * SECOND) + } // Brown Algae + 2H2O -> 3Li2CO3 - FERMENTING_RECIPES.recipeBuilder() - .input(dust, BrownAlgae, 40) - .fluidInputs(DistilledWater.getFluid(2000)) - .output(dust, LithiumCarbonate, 18) - .EUt(VA[MV]) - .duration(1 * MINUTE + 30 * SECOND) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + input(dust, BrownAlgae, 40) + fluidInputs(DistilledWater.getFluid(2000)) + output(dust, LithiumCarbonate, 18) + EUt(VA[MV]) + duration(1 * MINUTE + 30 * SECOND) + } + // endregion } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AlloysChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AlloysChain.kt index 6c1571d28..c9f21d8d2 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AlloysChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AlloysChain.kt @@ -5,7 +5,6 @@ import gregtech.api.GTValues.IV import gregtech.api.GTValues.L import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ARC_FURNACE_RECIPES import gregtech.api.recipes.RecipeMaps.ELECTROLYZER_RECIPES import gregtech.api.recipes.ingredients.IntCircuitIngredient @@ -25,8 +24,12 @@ import gregtech.api.unification.material.Materials.SiliconDioxide import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.ore.OrePrefix.ingotHot import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler +import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SiliconCarbide internal object AlloysChain @@ -42,134 +45,141 @@ internal object AlloysChain private fun siliconCarbideProcess() { - // Add a simplified recipes for silicon dust (arc furnace -> dust, EBF -> ingot). - GTRecipeHandler.removeRecipesByInputs(ELECTROLYZER_RECIPES, - OreDictUnifier.get(dust, Silicon, 3)) + // Delete original SiO2 electrolyzing recipe and move it to arc smelting. + ELECTROLYZER_RECIPES.removeRecipe(OreDictUnifier.get(dust, SiliconDioxide, 3)) + + // Si + 2O -> SiO2 + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Silicon) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, SiliconDioxide, 3) + EUt(VA[LV]) + duration(10 * TICK) + } // SiO2 -> Si + 2O - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(0) - .input(dust, SiliconDioxide, 3) - .notConsumable(Air.getFluid(1000)) - .output(dust, Silicon) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() - - // Allowed to decompose quartzite, etc. - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(0) - .input(dust, Quartzite, 3) - .notConsumable(Air.getFluid(1000)) - .output(dust, Silicon) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(0) - .input(dust, NetherQuartz, 3) - .notConsumable(Air.getFluid(1000)) - .output(dust, Silicon) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(0) - .input(dust, CertusQuartz, 3) - .notConsumable(Air.getFluid(1000)) - .output(dust, Silicon) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(1) + input(dust, SiliconDioxide, 3) + notConsumable(Air.getFluid(1000)) + output(dust, Silicon) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[LV]) + duration(3 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Quartzite, 3) + notConsumable(Air.getFluid(1000)) + output(dust, Silicon) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[LV]) + duration(3 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(1) + input(dust, NetherQuartz, 3) + notConsumable(Air.getFluid(1000)) + output(dust, Silicon) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[LV]) + duration(3 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(1) + input(dust, CertusQuartz, 3) + notConsumable(Air.getFluid(1000)) + output(dust, Silicon) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[LV]) + duration(3 * SECOND) + } // SiO2 + 2C -> Si + 2CO - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, SiliconDioxide, 3) - .input(dust, Carbon, 2) - .output(dust, Silicon) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Quartzite, 3) - .input(dust, Carbon, 2) - .output(dust, Silicon) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, CertusQuartz, 3) - .input(dust, Carbon, 2) - .output(dust, Silicon) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, NetherQuartz, 3) - .input(dust, Carbon, 2) - .output(dust, Silicon) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(2) + input(dust, SiliconDioxide, 3) + input(dust, Carbon, 2) + output(dust, Silicon) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[LV]) + duration(15 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Quartzite, 3) + input(dust, Carbon, 2) + output(dust, Silicon) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[LV]) + duration(15 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(2) + input(dust, CertusQuartz, 3) + input(dust, Carbon, 2) + output(dust, Silicon) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[LV]) + duration(15 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(2) + input(dust, NetherQuartz, 3) + input(dust, Carbon, 2) + output(dust, Silicon) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[LV]) + duration(15 * SECOND) + } // SiO2 + 3C -> SiC + 2CO - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, SiliconDioxide, 3) - .input(dust, Carbon, 3) - .output(ingotHot, SiliconCarbide, 2) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[EV]) - .duration(20 * SECOND) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Quartzite, 3) - .input(dust, Carbon, 3) - .output(ingotHot, SiliconCarbide, 2) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[EV]) - .duration(20 * SECOND) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, CertusQuartz, 3) - .input(dust, Carbon, 3) - .output(ingotHot, SiliconCarbide, 2) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[EV]) - .duration(20 * SECOND) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, NetherQuartz, 3) - .input(dust, Carbon, 3) - .output(ingotHot, SiliconCarbide, 2) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[EV]) - .duration(20 * SECOND) - .buildAndRegister() - + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(3) + input(dust, SiliconDioxide, 3) + input(dust, Carbon, 3) + output(ingotHot, SiliconCarbide, 2) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[EV]) + duration(20 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Quartzite, 3) + input(dust, Carbon, 3) + output(ingotHot, SiliconCarbide, 2) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[EV]) + duration(20 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(3) + input(dust, CertusQuartz, 3) + input(dust, Carbon, 3) + output(ingotHot, SiliconCarbide, 2) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[EV]) + duration(20 * SECOND) + } + + ARC_FURNACE_RECIPES.addRecipe { + circuitMeta(3) + input(dust, NetherQuartz, 3) + input(dust, Carbon, 3) + output(ingotHot, SiliconCarbide, 2) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[EV]) + duration(20 * SECOND) + } } private fun rhodiumPlatedPalladiumProcess() @@ -177,20 +187,19 @@ internal object AlloysChain // Change rhodium plated palladium smelting recipes to arc furnace but not EBF, // player can get liquid by common mixer and ABS. GTLiteRecipeHandler.removeMixerRecipes( - arrayOf(OreDictUnifier.get(dust, Palladium, 3), - OreDictUnifier.get(dust, Rhodium), - IntCircuitIngredient.getIntegratedCircuit(1))) + OreDictUnifier.get(dust, Palladium, 3), + OreDictUnifier.get(dust, Rhodium), + IntCircuitIngredient.getIntegratedCircuit(1)) // 3Pd + Rh -> Pd3Rh - ARC_FURNACE_RECIPES.recipeBuilder() - .input(dust, Palladium, 3) - .fluidInputs(Rhodium.getFluid(L)) - .fluidInputs(Oxygen.getFluid(600)) - .output(ingotHot, RhodiumPlatedPalladium, 4) - .EUt(VA[IV]) - .duration(30 * SECOND) - .buildAndRegister() - + ARC_FURNACE_RECIPES.addRecipe { + input(dust, Palladium, 3) + fluidInputs(Rhodium.getFluid(L)) + fluidInputs(Oxygen.getFluid(600)) + output(ingotHot, RhodiumPlatedPalladium, 4) + EUt(VA[IV]) + duration(30 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AmmoniaChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AmmoniaChain.kt index 2c47a0ad8..4ee0a9204 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AmmoniaChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AmmoniaChain.kt @@ -16,6 +16,7 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.RichAmmoniaMixture import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.RichNitrogenMixture @@ -27,42 +28,41 @@ internal object AmmoniaChain fun init() { // CH4 + N -> CH4N - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Methane.getFluid(1000)) - .fluidInputs(Air.getFluid(1500)) - .fluidOutputs(RichNitrogenMixture.getFluid(2500)) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Methane.getFluid(1000)) + fluidInputs(Air.getFluid(1500)) + fluidOutputs(RichNitrogenMixture.getFluid(2500)) + EUt(VA[MV]) + duration(8 * SECOND) + } - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Methane.getFluid(1000)) - .fluidInputs(Nitrogen.getFluid(1000)) - .fluidOutputs(RichNitrogenMixture.getFluid(2500)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Methane.getFluid(1000)) + fluidInputs(Nitrogen.getFluid(1000)) + fluidOutputs(RichNitrogenMixture.getFluid(2500)) + EUt(VA[MV]) + duration(5 * SECOND) + } // CH4N + 2H2O -> NH4 + CH4 (cycle) + O2 (lost) - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Chrome) - .fluidInputs(RichNitrogenMixture.getFluid(2500)) - .fluidInputs(Water.getFluid(2000)) - .fluidOutputs(RichAmmoniaMixture.getFluid(1000)) - .fluidOutputs(Methane.getFluid(1000)) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Chrome) + fluidInputs(RichNitrogenMixture.getFluid(2500)) + fluidInputs(Water.getFluid(2000)) + fluidOutputs(RichAmmoniaMixture.getFluid(1000)) + fluidOutputs(Methane.getFluid(1000)) + EUt(VA[MV]) + duration(4 * SECOND) + } // NH4 -> NH3 + H (lost) - BREWING_RECIPES.recipeBuilder() - .notConsumable(dust, Magnetite) - .fluidInputs(RichAmmoniaMixture.getFluid(1000)) - .fluidOutputs(Ammonia.getFluid(1000)) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() - + BREWING_RECIPES.addRecipe { + notConsumable(dust, Magnetite) + fluidInputs(RichAmmoniaMixture.getFluid(1000)) + fluidOutputs(Ammonia.getFluid(1000)) + EUt(VA[LV]) + duration(8 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AntimatterChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AntimatterChain.kt index 425acc4b7..c554544f0 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AntimatterChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AntimatterChain.kt @@ -4,7 +4,6 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.UEV import gregtech.api.GTValues.UIV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.COMPRESSOR_RECIPES import gregtech.api.recipes.RecipeMaps.LASER_ENGRAVER_RECIPES import gregtech.api.unification.material.Materials.Americium @@ -29,6 +28,8 @@ import gregtech.api.unification.material.Materials.Titanium import gregtech.api.unification.material.Materials.Zinc import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ANTIMATTER_FORGE_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ANTIMATTER_GENERATOR_FUELS import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Antimatter @@ -49,167 +50,168 @@ internal object AntimatterChain fun init() { // Protomatter - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(QUANTUM_ANOMALY) - .fluidInputs(QuarkGluonPlasma.getFluid(1000)) - .fluidOutputs(Protomatter.getFluid(1000)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(QUANTUM_ANOMALY) - .fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(1000)) - .fluidOutputs(Protomatter.getFluid(10000)) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(QUANTUM_ANOMALY) + fluidInputs(QuarkGluonPlasma.getFluid(1000)) + fluidOutputs(Protomatter.getFluid(1000)) + EUt(VA[UEV]) + duration(30 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(QUANTUM_ANOMALY) + fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(1000)) + fluidOutputs(Protomatter.getFluid(10000)) + EUt(VA[UIV]) + duration(10 * SECOND) + cleanroom() + } // Protomatter -> Semistable Antimatter - ANTIMATTER_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Protomatter.getFluid(1000)) // 100 : 1 - .fluidInputs(Helium.getPlasma(1000)) - .fluidInputs(Iron.getPlasma(1000)) - .fluidInputs(Calcium.getPlasma(1000)) - .fluidInputs(Niobium.getPlasma(1000)) // 1 - .fluidOutputs(SemistableAntimatter.getFluid(10)) - .EUt(145_149_830) // OpV - .duration(5 * SECOND) - .buildAndRegister() - - ANTIMATTER_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Protomatter.getFluid(10000)) // 10 : 1 - .fluidInputs(Helium.getPlasma(1000)) - .fluidInputs(Iron.getPlasma(1000)) - .fluidInputs(Calcium.getPlasma(1000)) - .fluidInputs(Niobium.getPlasma(1000)) // 1 - .fluidInputs(Radon.getPlasma(1000)) - .fluidInputs(Nickel.getPlasma(1000)) - .fluidInputs(Boron.getPlasma(1000)) - .fluidInputs(Sulfur.getPlasma(1000)) // 2 - .fluidOutputs(SemistableAntimatter.getFluid(1000)) - .EUt(667_684_600) // MAX - .duration(5 * SECOND) - .buildAndRegister() - - ANTIMATTER_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Protomatter.getFluid(100_000)) // 1 : 1 - .fluidInputs(Helium.getPlasma(1000)) - .fluidInputs(Iron.getPlasma(1000)) - .fluidInputs(Calcium.getPlasma(1000)) - .fluidInputs(Niobium.getPlasma(1000)) // 1 - .fluidInputs(Radon.getPlasma(1000)) - .fluidInputs(Nickel.getPlasma(1000)) - .fluidInputs(Boron.getPlasma(1000)) - .fluidInputs(Sulfur.getPlasma(1000)) // 2 - .fluidInputs(Nitrogen.getPlasma(1000)) - .fluidInputs(Zinc.getPlasma(1000)) - .fluidInputs(Silver.getPlasma(1000)) - .fluidInputs(Titanium.getPlasma(1000)) // 3 - .fluidOutputs(SemistableAntimatter.getFluid(100_000)) - .EUt(2_693_264_510) // MAX+ - .duration(5 * SECOND) - .buildAndRegister() - - ANTIMATTER_FORGE_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidInputs(Protomatter.getFluid(1_000_000)) // 1 : 10 - .fluidInputs(Helium.getPlasma(1000)) - .fluidInputs(Iron.getPlasma(1000)) - .fluidInputs(Calcium.getPlasma(1000)) - .fluidInputs(Niobium.getPlasma(1000)) // 1 - .fluidInputs(Radon.getPlasma(1000)) - .fluidInputs(Nickel.getPlasma(1000)) - .fluidInputs(Boron.getPlasma(1000)) - .fluidInputs(Sulfur.getPlasma(1000)) // 2 - .fluidInputs(Nitrogen.getPlasma(1000)) - .fluidInputs(Zinc.getPlasma(1000)) - .fluidInputs(Silver.getPlasma(1000)) - .fluidInputs(Titanium.getPlasma(1000)) // 3 - .fluidInputs(Americium.getPlasma(1000)) - .fluidInputs(Bismuth.getPlasma(1000)) - .fluidInputs(Oxygen.getPlasma(1000)) - .fluidInputs(Tin.getPlasma(1000)) // 4 - .fluidOutputs(SemistableAntimatter.getFluid(10_000_000)) - .EUt(10_730_073_930) // MAX+ - .duration(5 * SECOND) - .buildAndRegister() - - ANTIMATTER_FORGE_RECIPES.recipeBuilder() - .circuitMeta(5) - .fluidInputs(Protomatter.getFluid(10_000_000)) // 1 : 100 - .fluidInputs(Helium.getPlasma(1000)) - .fluidInputs(Iron.getPlasma(1000)) - .fluidInputs(Calcium.getPlasma(1000)) - .fluidInputs(Niobium.getPlasma(1000)) // 1 - .fluidInputs(Radon.getPlasma(1000)) - .fluidInputs(Nickel.getPlasma(1000)) - .fluidInputs(Boron.getPlasma(1000)) - .fluidInputs(Sulfur.getPlasma(1000)) // 2 - .fluidInputs(Nitrogen.getPlasma(1000)) - .fluidInputs(Zinc.getPlasma(1000)) - .fluidInputs(Silver.getPlasma(1000)) - .fluidInputs(Titanium.getPlasma(1000)) // 3 - .fluidInputs(Americium.getPlasma(1000)) - .fluidInputs(Bismuth.getPlasma(1000)) - .fluidInputs(Oxygen.getPlasma(1000)) - .fluidInputs(Tin.getPlasma(1000)) // 4 - .fluidInputs(Thorium.getPlasma(1000)) - .fluidInputs(Lead.getPlasma(1000)) - .fluidInputs(Neptunium.getPlasma(1000)) - .fluidInputs(Fermium.getPlasma(1000)) // 5 - .fluidOutputs(SemistableAntimatter.getFluid(1_000_000_000)) - .EUt(42_767_675_200) // MAX+ - .duration(5 * SECOND) - .buildAndRegister() + ANTIMATTER_FORGE_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Protomatter.getFluid(1000)) // 100 : 1 + fluidInputs(Helium.getPlasma(1000)) + fluidInputs(Iron.getPlasma(1000)) + fluidInputs(Calcium.getPlasma(1000)) + fluidInputs(Niobium.getPlasma(1000)) // MK1 + fluidOutputs(SemistableAntimatter.getFluid(10)) + EUt(145_149_830) // OpV + duration(5 * SECOND) + } + + ANTIMATTER_FORGE_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Protomatter.getFluid(10000)) // 10 : 1 + fluidInputs(Helium.getPlasma(1000)) + fluidInputs(Iron.getPlasma(1000)) + fluidInputs(Calcium.getPlasma(1000)) + fluidInputs(Niobium.getPlasma(1000)) // MK1 + fluidInputs(Radon.getPlasma(1000)) + fluidInputs(Nickel.getPlasma(1000)) + fluidInputs(Boron.getPlasma(1000)) + fluidInputs(Sulfur.getPlasma(1000)) // MK2 + fluidOutputs(SemistableAntimatter.getFluid(1000)) + EUt(667_684_600) // MAX + duration(5 * SECOND) + } + + ANTIMATTER_FORGE_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Protomatter.getFluid(100_000)) // 1 : 1 + fluidInputs(Helium.getPlasma(1000)) + fluidInputs(Iron.getPlasma(1000)) + fluidInputs(Calcium.getPlasma(1000)) + fluidInputs(Niobium.getPlasma(1000)) // MK1 + fluidInputs(Radon.getPlasma(1000)) + fluidInputs(Nickel.getPlasma(1000)) + fluidInputs(Boron.getPlasma(1000)) + fluidInputs(Sulfur.getPlasma(1000)) // MK2 + fluidInputs(Nitrogen.getPlasma(1000)) + fluidInputs(Zinc.getPlasma(1000)) + fluidInputs(Silver.getPlasma(1000)) + fluidInputs(Titanium.getPlasma(1000)) // MK3 + fluidOutputs(SemistableAntimatter.getFluid(100_000)) + EUt(2_693_264_510) // MAX+ + duration(5 * SECOND) + } + + ANTIMATTER_FORGE_RECIPES.addRecipe { + circuitMeta(4) + fluidInputs(Protomatter.getFluid(1_000_000)) // 1 : 10 + fluidInputs(Helium.getPlasma(1000)) + fluidInputs(Iron.getPlasma(1000)) + fluidInputs(Calcium.getPlasma(1000)) + fluidInputs(Niobium.getPlasma(1000)) // MK1 + fluidInputs(Radon.getPlasma(1000)) + fluidInputs(Nickel.getPlasma(1000)) + fluidInputs(Boron.getPlasma(1000)) + fluidInputs(Sulfur.getPlasma(1000)) // MK2 + fluidInputs(Nitrogen.getPlasma(1000)) + fluidInputs(Zinc.getPlasma(1000)) + fluidInputs(Silver.getPlasma(1000)) + fluidInputs(Titanium.getPlasma(1000)) // MK3 + fluidInputs(Americium.getPlasma(1000)) + fluidInputs(Bismuth.getPlasma(1000)) + fluidInputs(Oxygen.getPlasma(1000)) + fluidInputs(Tin.getPlasma(1000)) // MK4 + fluidOutputs(SemistableAntimatter.getFluid(10_000_000)) + EUt(10_730_073_930) // MAX+ + duration(5 * SECOND) + } + + ANTIMATTER_FORGE_RECIPES.addRecipe { + circuitMeta(5) + fluidInputs(Protomatter.getFluid(10_000_000)) // 1 : 100 + fluidInputs(Helium.getPlasma(1000)) + fluidInputs(Iron.getPlasma(1000)) + fluidInputs(Calcium.getPlasma(1000)) + fluidInputs(Niobium.getPlasma(1000)) // MK1 + fluidInputs(Radon.getPlasma(1000)) + fluidInputs(Nickel.getPlasma(1000)) + fluidInputs(Boron.getPlasma(1000)) + fluidInputs(Sulfur.getPlasma(1000)) // MK2 + fluidInputs(Nitrogen.getPlasma(1000)) + fluidInputs(Zinc.getPlasma(1000)) + fluidInputs(Silver.getPlasma(1000)) + fluidInputs(Titanium.getPlasma(1000)) // MK3 + fluidInputs(Americium.getPlasma(1000)) + fluidInputs(Bismuth.getPlasma(1000)) + fluidInputs(Oxygen.getPlasma(1000)) + fluidInputs(Tin.getPlasma(1000)) // MK4 + fluidInputs(Thorium.getPlasma(1000)) + fluidInputs(Lead.getPlasma(1000)) + fluidInputs(Neptunium.getPlasma(1000)) + fluidInputs(Fermium.getPlasma(1000)) // MK5 + fluidOutputs(SemistableAntimatter.getFluid(1_000_000_000)) + EUt(42_767_675_200) // MAX+ + duration(5 * SECOND) + } // Semistable Antimatter -> Antimatter - COMPRESSOR_RECIPES.recipeBuilder() - .fluidInputs(SemistableAntimatter.getFluid(1000)) - .fluidOutputs(Antimatter.getFluid(100)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + COMPRESSOR_RECIPES.addRecipe { + fluidInputs(SemistableAntimatter.getFluid(1000)) + fluidOutputs(Antimatter.getFluid(100)) + EUt(VA[UEV]) + duration(10 * SECOND) + } - // Antimatter annihilation. + // region Antimatter Annihilation // 1.0 - ANTIMATTER_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(Antimatter.getFluid(1)) - .fluidInputs(Lead.getPlasma(1000)) - .EUt(1_000_000_000_000) - .duration(10 * SECOND) - .buildAndRegister() + ANTIMATTER_GENERATOR_FUELS.addRecipe { + fluidInputs(Antimatter.getFluid(1)) + fluidInputs(Lead.getPlasma(1000)) + EUt(1_000_000_000_000) + duration(10 * SECOND) + } // 1.5 - ANTIMATTER_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(Antimatter.getFluid(1)) - .fluidInputs(Infinity.getFluid(L * 4)) - .EUt(1_500_000_000_000) - .duration(10 * SECOND) - .buildAndRegister() + ANTIMATTER_GENERATOR_FUELS.addRecipe { + fluidInputs(Antimatter.getFluid(1)) + fluidInputs(Infinity.getFluid(L * 4)) + EUt(1_500_000_000_000) + duration(10 * SECOND) + } // 2.0 - ANTIMATTER_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(Antimatter.getFluid(1)) - .fluidInputs(Shirabon.getFluid(L * 4)) - .EUt(2_000_000_000_000) - .duration(10 * SECOND) - .buildAndRegister() + ANTIMATTER_GENERATOR_FUELS.addRecipe { + fluidInputs(Antimatter.getFluid(1)) + fluidInputs(Shirabon.getFluid(L * 4)) + EUt(2_000_000_000_000) + duration(10 * SECOND) + } // 4.0 - ANTIMATTER_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(Antimatter.getFluid(1)) - .fluidInputs(RawStarMatter.getFluid(L * 4)) - .EUt(4_000_000_000_000) - .duration(10 * SECOND) - .buildAndRegister() - + ANTIMATTER_GENERATOR_FUELS.addRecipe { + fluidInputs(Antimatter.getFluid(1)) + fluidInputs(RawStarMatter.getFluid(L * 4)) + EUt(4_000_000_000_000) + duration(10 * SECOND) + } + + // endregion } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AscorbicAcidChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AscorbicAcidChain.kt index 0eb9093a9..c9cc517cd 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AscorbicAcidChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/AscorbicAcidChain.kt @@ -9,6 +9,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.ore.OrePrefix.spring import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AscorbicAcid @@ -23,24 +24,23 @@ internal object AscorbicAcidChain fun init() { // C6H12O6 -> C6H8O6 - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .notConsumable(spring, Platinum) - .input(dust, Sorbose, 24) - .fluidOutputs(AscorbicAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(14 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + notConsumable(spring, Platinum) + input(dust, Sorbose, 24) + fluidOutputs(AscorbicAcid.getFluid(1000)) + EUt(VA[HV]) + duration(14 * SECOND) + } // C6H6O6 + 2H -> C6H8O6 - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .notConsumable(spring, Nickel) - .fluidInputs(DehydroascorbicAcid.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(2000)) - .fluidOutputs(AscorbicAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(7 * SECOND) - .buildAndRegister() - + VACUUM_CHAMBER_RECIPES.addRecipe { + notConsumable(spring, Nickel) + fluidInputs(DehydroascorbicAcid.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(2000)) + fluidOutputs(AscorbicAcid.getFluid(1000)) + EUt(VA[HV]) + duration(7 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BETSPerrhenateChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BETSPerrhenateChain.kt index 9e07deaf5..5141928f7 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BETSPerrhenateChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BETSPerrhenateChain.kt @@ -24,6 +24,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AmmoniumPerrhenate import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BETS @@ -47,79 +48,79 @@ internal object BETSPerrhenateChain fun init() { // NaOH + CO -> HCOONa - ROASTER_RECIPES.recipeBuilder() - .input(dust, SodiumHydroxide, 3) - .fluidInputs(CarbonMonoxide.getFluid(1000)) - .output(dust, SodiumFormate, 5) - .EUt(VA[LV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, SodiumHydroxide, 3) + fluidInputs(CarbonMonoxide.getFluid(1000)) + output(dust, SodiumFormate, 5) + EUt(VA[LV]) + duration(4 * SECOND + 10 * TICK) + } // HCOONa + H2SO4 -> Na2S2O3 + 2HCOOH (cycle) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumFormate, 5) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .output(dust, SodiumThiosulfate, 7) - .fluidOutputs(FormicAcid.getFluid(1000)) - .EUt(VA[LV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumFormate, 5) + fluidInputs(SulfuricAcid.getFluid(1000)) + output(dust, SodiumThiosulfate, 7) + fluidOutputs(FormicAcid.getFluid(1000)) + EUt(VA[LV]) + duration(6 * SECOND) + } // 4Na + 2HCOOH + 2Br + 2H2O -> 4NaOH + C2H2Br2O2 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Sodium, 4) - .fluidInputs(FormicAcid.getFluid(2000)) - .fluidInputs(Bromine.getFluid(2000)) - .fluidInputs(Water.getFluid(2000)) - .output(dust, SodiumHydroxide, 12) - .fluidOutputs(Dibromoacrolein.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[EV]) - .duration(18 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Sodium, 4) + fluidInputs(FormicAcid.getFluid(2000)) + fluidInputs(Bromine.getFluid(2000)) + fluidInputs(Water.getFluid(2000)) + output(dust, SodiumHydroxide, 12) + fluidOutputs(Dibromoacrolein.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[EV]) + duration(18 * SECOND) + } // 2Na2S2O3 + C2H2Br2O2 + C2H4Cl2 -> 2NaCl + 2NaHSO4 + C4H4S2Br2 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumThiosulfate, 14) - .fluidInputs(Dibromoacrolein.getFluid(1000)) - .fluidInputs(Dichloroethane.getFluid(1000)) - .output(dust, Salt, 4) - .output(dust, SodiumBisulfate, 14) - .fluidOutputs(Bromodihydrothiine.getFluid(1000)) - .EUt(VA[IV]) - .duration(16 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumThiosulfate, 14) + fluidInputs(Dibromoacrolein.getFluid(1000)) + fluidInputs(Dichloroethane.getFluid(1000)) + output(dust, Salt, 4) + output(dust, SodiumBisulfate, 14) + fluidOutputs(Bromodihydrothiine.getFluid(1000)) + EUt(VA[IV]) + duration(16 * SECOND) + } // 2Se + C4H4S2Br2 + 2C4H9Li -> C4H4S2Li2Se2 + 2C4H9Br - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Selenium, 2) - .fluidInputs(Bromodihydrothiine.getFluid(1000)) - .fluidInputs(Butyllithium.getFluid(2000)) - .output(dust, LithiumThiinediselenide, 14) - .fluidOutputs(Bromobutane.getFluid(2000)) - .EUt(VA[LuV]) - .duration(17 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Selenium, 2) + fluidInputs(Bromodihydrothiine.getFluid(1000)) + fluidInputs(Butyllithium.getFluid(2000)) + output(dust, LithiumThiinediselenide, 14) + fluidOutputs(Bromobutane.getFluid(2000)) + EUt(VA[LuV]) + duration(17 * SECOND) + } // 2C4H4S2Li2Se2 + C2F4 -> C10H8S4Se4 + 4LiF - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, LithiumThiinediselenide, 28) - .fluidInputs(Tetrafluoroethylene.getFluid(1000)) - .notConsumable(TitaniumTetrachloride.getFluid(1)) - .output(dust, BETS, 26) - .output(dust, LithiumFluoride, 8) - .EUt(VA[UHV]) - .duration(40 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, LithiumThiinediselenide, 28) + fluidInputs(Tetrafluoroethylene.getFluid(1000)) + notConsumable(TitaniumTetrachloride.getFluid(1)) + output(dust, BETS, 26) + output(dust, LithiumFluoride, 8) + EUt(VA[UHV]) + duration(40 * SECOND) + } // C10H8S4Se4 + NH4ReO4 -> (C10H8S4Se4)ReO4 - ROASTER_RECIPES.recipeBuilder() - .input(dust, BETS, 26) - .input(dust, AmmoniumPerrhenate, 10) - .output(dust, BETSPerrhenate, 31) - .EUt(VA[ZPM]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, BETS, 26) + input(dust, AmmoniumPerrhenate, 10) + output(dust, BETSPerrhenate, 31) + EUt(VA[ZPM]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BSCCOChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BSCCOChain.kt index fc7fec5d5..4896bff79 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BSCCOChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BSCCOChain.kt @@ -7,6 +7,7 @@ import gregtech.api.unification.material.Materials.Calcite import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BismuthStrontiumCalciumCuprate import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BismuthTrioxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Strontianite @@ -20,16 +21,16 @@ internal object BSCCOChain fun init() { // Bi2O3 + 2SrCO3 + CaCO3 + 2CuO -> Bi2Sr2CaCu2O8 (Loss of O and CO2) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, BismuthTrioxide, 5) - .input(dust, Strontianite, 10) - .input(dust, Calcite, 5) - .input(dust, Tenorite, 4) - .output(dust, BismuthStrontiumCalciumCuprate, 15) - .EUt(VA[ZPM]) - .duration(1 * MINUTE) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, BismuthTrioxide, 5) + input(dust, Strontianite, 10) + input(dust, Calcite, 5) + input(dust, Tenorite, 4) + output(dust, BismuthStrontiumCalciumCuprate, 15) + EUt(VA[ZPM]) + duration(1 * MINUTE) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BZMediumChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BZMediumChain.kt index db0379fba..70cbaa3ea 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BZMediumChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BZMediumChain.kt @@ -24,6 +24,7 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BZMedium @@ -43,71 +44,71 @@ internal object BZMediumChain fun init() { // 2Br + SO2 + 2H2O -> H2SO4 + 2HBr - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidInputs(Bromine.getFluid(2000)) - .fluidInputs(SulfurDioxide.getFluid(1000)) - .fluidInputs(Water.getFluid(2000)) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(HydrobromicAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(20 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(4) + fluidInputs(Bromine.getFluid(2000)) + fluidInputs(SulfurDioxide.getFluid(1000)) + fluidInputs(Water.getFluid(2000)) + fluidOutputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(HydrobromicAcid.getFluid(2000)) + EUt(VA[HV]) + duration(20 * SECOND) + } // 3HBr + 3KOH -> KBrO3 + 3H2O - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Bromine.getFluid(3000)) - .fluidInputs(PotassiumHydroxide.getFluid(L * 9)) - .output(dust, PotassiumBromate, 5) - .fluidOutputs(Ice.getFluid(3000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(Bromine.getFluid(3000)) + fluidInputs(PotassiumHydroxide.getFluid(L * 9)) + output(dust, PotassiumBromate, 5) + fluidOutputs(Ice.getFluid(3000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // C2H4Cl2 + Cl -> C2HCl3 + 3H - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Dichloroethane.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(1000)) - .fluidOutputs(Trichloroethylene.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(3000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Dichloroethane.getFluid(1000)) + fluidInputs(Chlorine.getFluid(1000)) + fluidOutputs(Trichloroethylene.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(3000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // C2HCl3 + 2H2O -> C2H3ClO2 + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Trichloroethylene.getFluid(1000)) - .fluidInputs(Water.getFluid(2000)) - .notConsumable(SulfuricAcid.getFluid(250)) - .output(dust, ChloroaceticAcid, 8) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Trichloroethylene.getFluid(1000)) + fluidInputs(Water.getFluid(2000)) + notConsumable(SulfuricAcid.getFluid(250)) + output(dust, ChloroaceticAcid, 8) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // C2H3ClO2 + Na2CO3 + 2H2O -> C3H4O4 + 2NaOH + HClO - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodaAsh, 6) - .input(dust, ChloroaceticAcid, 8) - .fluidInputs(Water.getFluid(2000)) - .output(dust, SodiumHydroxide, 6) - .output(dust, MalonicAcid, 11) - .fluidOutputs(HypochlorousAcid.getFluid(1000)) - .EUt(VA[IV]) - .duration(20 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodaAsh, 6) + input(dust, ChloroaceticAcid, 8) + fluidInputs(Water.getFluid(2000)) + output(dust, SodiumHydroxide, 6) + output(dust, MalonicAcid, 11) + fluidOutputs(HypochlorousAcid.getFluid(1000)) + EUt(VA[IV]) + duration(20 * SECOND) + } - // KBrO3 + 0.25 C3H4O4 + Ce -> 1x BZMedium - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, PotassiumBromate, 5) - .input(dust, MalonicAcid, 3) - .input(dust, Cerium) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(BZMedium.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(5 * SECOND) - .buildAndRegister() + // KBrO3 + 0.25 C3H4O4 + Ce -> B-Z Medium + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, PotassiumBromate, 5) + input(dust, MalonicAcid, 3) + input(dust, Cerium) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(BZMedium.getFluid(1000)) + EUt(VA[ZPM]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BatteriesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BatteriesChain.kt index 396b086c3..65106780a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BatteriesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BatteriesChain.kt @@ -23,6 +23,7 @@ import gregtech.api.unification.ore.OrePrefix.plate import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.FullerenePolymerMatrix import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Infinity import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Kevlar @@ -52,124 +53,131 @@ internal object BatteriesChain fun init() { + // region Battery Hulls + // Small Neutronium Battery Hull (UHV) - ASSEMBLER_RECIPES.recipeBuilder() - .input(cableGtSingle, Europium, 2) - .input(plate, Tritanium, 2) - .fluidInputs(Kevlar.getFluid(L)) - .output(BATTERY_HULL_SMALL_NEUTRONIUM) - .EUt(VA[UV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(cableGtSingle, Europium, 2) + input(plate, Tritanium, 2) + fluidInputs(Kevlar.getFluid(L)) + output(BATTERY_HULL_SMALL_NEUTRONIUM) + EUt(VA[UV]) + duration(5 * SECOND) + } // Medium Neutronium Battery Hull (UEV) - ASSEMBLER_RECIPES.recipeBuilder() - .input(cableGtSingle, Seaborgium, 2) - .input(plate, Tritanium, 6) - .fluidInputs(Kevlar.getFluid(L * 2)) - .output(BATTERY_HULL_MEDIUM_NEUTRONIUM) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(cableGtSingle, Seaborgium, 2) + input(plate, Tritanium, 6) + fluidInputs(Kevlar.getFluid(L * 2)) + output(BATTERY_HULL_MEDIUM_NEUTRONIUM) + EUt(VA[UHV]) + duration(10 * SECOND) + } // Large Neutronium Battery Hull (UIV) - ASSEMBLER_RECIPES.recipeBuilder() - .input(cableGtSingle, SuperheavyAlloyA, 2) - .input(plate, Tritanium, 18) - .input(NANOSILICON_CATHODE, 4) - .fluidInputs(Kevlar.getFluid(L * 4)) - .output(BATTERY_HULL_LARGE_NEUTRONIUM) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(cableGtSingle, SuperheavyAlloyA, 2) + input(plate, Tritanium, 18) + input(NANOSILICON_CATHODE, 4) + fluidInputs(Kevlar.getFluid(L * 4)) + output(BATTERY_HULL_LARGE_NEUTRONIUM) + EUt(VA[UEV]) + duration(20 * SECOND) + } // Small Infinity Battery Hull (UXV) - ASSEMBLER_RECIPES.recipeBuilder() - .input(cableGtSingle, SuperheavyAlloyB, 2) - .input(plate, Shirabon, 2) - .input(NANOSILICON_CATHODE, 8) - .fluidInputs(FullerenePolymerMatrix.getFluid(L)) - .output(BATTERY_HULL_SMALL_INFINITY) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(cableGtSingle, SuperheavyAlloyB, 2) + input(plate, Shirabon, 2) + input(NANOSILICON_CATHODE, 8) + fluidInputs(FullerenePolymerMatrix.getFluid(L)) + output(BATTERY_HULL_SMALL_INFINITY) + EUt(VA[UIV]) + duration(5 * SECOND) + } // Medium Infinity Battery Hull (OpV) - ASSEMBLER_RECIPES.recipeBuilder() - .input(cableGtSingle, Periodicium, 2) - .input(plate, Shirabon, 6) - .input(NANOSILICON_CATHODE, 16) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) - .output(BATTERY_HULL_MEDIUM_INFINITY) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(cableGtSingle, Periodicium, 2) + input(plate, Shirabon, 6) + input(NANOSILICON_CATHODE, 16) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) + output(BATTERY_HULL_MEDIUM_INFINITY) + EUt(VA[UXV]) + duration(10 * SECOND) + } // Large Infinity Battery Hull (MAX) - ASSEMBLER_RECIPES.recipeBuilder() - .input(cableGtSingle, RealizedQuantumFoamShard, 2) - .input(plate, Shirabon, 18) - .input(NANOSILICON_CATHODE, 32) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(BATTERY_HULL_LARGE_INFINITY) - .EUt(VA[OpV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(cableGtSingle, RealizedQuantumFoamShard, 2) + input(plate, Shirabon, 18) + input(NANOSILICON_CATHODE, 32) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(BATTERY_HULL_LARGE_INFINITY) + EUt(VA[OpV]) + duration(20 * SECOND) + } + + // endregion + + // region Batteries // Small Neutronium Battery - CANNER_RECIPES.recipeBuilder() - .input(BATTERY_HULL_SMALL_NEUTRONIUM) - .input(dust, Neutronium, 2) - .output(BATTERY_UHV_NEUTRONIUM) - .EUt(VH[LuV]) - .duration(17 * SECOND + 10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(BATTERY_HULL_SMALL_NEUTRONIUM) + input(dust, Neutronium, 2) + output(BATTERY_UHV_NEUTRONIUM) + EUt(VH[LuV]) + duration(17 * SECOND + 10 * TICK) + } // Medium Neutronium Battery - CANNER_RECIPES.recipeBuilder() - .input(BATTERY_HULL_MEDIUM_NEUTRONIUM) - .input(dust, Neutronium, 8) - .output(BATTERY_UEV_NEUTRONIUM) - .EUt(VA[LuV]) - .duration(20 * SECOND) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(BATTERY_HULL_MEDIUM_NEUTRONIUM) + input(dust, Neutronium, 8) + output(BATTERY_UEV_NEUTRONIUM) + EUt(VA[LuV]) + duration(20 * SECOND) + } // Large Neutronium Battery - CANNER_RECIPES.recipeBuilder() - .input(BATTERY_HULL_LARGE_NEUTRONIUM) - .input(dust, Neutronium, 16) - .output(BATTERY_UIV_NEUTRONIUM) - .EUt(VH[ZPM]) - .duration(22 * SECOND + 10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(BATTERY_HULL_LARGE_NEUTRONIUM) + input(dust, Neutronium, 16) + output(BATTERY_UIV_NEUTRONIUM) + EUt(VH[ZPM]) + duration(22 * SECOND + 10 * TICK) + } // Small Infinity Battery - CANNER_RECIPES.recipeBuilder() - .input(BATTERY_HULL_SMALL_INFINITY) - .input(dust, Infinity, 2) - .output(BATTERY_UXV_INFINITY) - .EUt(VA[ZPM]) - .duration(25 * SECOND) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(BATTERY_HULL_SMALL_INFINITY) + input(dust, Infinity, 2) + output(BATTERY_UXV_INFINITY) + EUt(VA[ZPM]) + duration(25 * SECOND) + } // Medium Infinity Battery - CANNER_RECIPES.recipeBuilder() - .input(BATTERY_HULL_MEDIUM_INFINITY) - .input(dust, Infinity, 8) - .output(BATTERY_OpV_INFINITY) - .EUt(VH[UV]) - .duration(27 * SECOND + 10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(BATTERY_HULL_MEDIUM_INFINITY) + input(dust, Infinity, 8) + output(BATTERY_OpV_INFINITY) + EUt(VH[UV]) + duration(27 * SECOND + 10 * TICK) + } // Large Infinity Battery - CANNER_RECIPES.recipeBuilder() - .input(BATTERY_HULL_LARGE_INFINITY) - .input(dust, Infinity, 16) - .output(BATTERY_MAX_INFINITY) - .EUt(VA[UV]) - .duration(30 * SECOND) - .buildAndRegister() - + CANNER_RECIPES.addRecipe { + input(BATTERY_HULL_LARGE_INFINITY) + input(dust, Infinity, 16) + output(BATTERY_MAX_INFINITY) + EUt(VA[UV]) + duration(30 * SECOND) + } + + // endregion } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BlackHolesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BlackHolesChain.kt index 95e05bfad..6fc5f0018 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BlackHolesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BlackHolesChain.kt @@ -25,6 +25,8 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_BALL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ELECTRIC_IMPLOSION_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.SPACE_ASSEMBLER_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES @@ -62,7 +64,6 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.RECURSIVELY_FOLDED_NE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.STABILIZED_WORMHOLE_GENERATOR import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.TIME_DILATION_CONTAINMENT_CELL import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.TRIPLET_NEUTRONIUM_SPHERE -import net.minecraft.item.ItemStack internal object BlackHolesChain { @@ -71,156 +72,156 @@ internal object BlackHolesChain fun init() { // Time Dilation Containment Cell - AUTOCLAVE_RECIPES.recipeBuilder() - .input(BOSE_EINSTEIN_CONDENSATE) - .input(nanite, MagMatter) - .fluidInputs(SpaceTime.getFluid(L * 4)) - .output(TIME_DILATION_CONTAINMENT_CELL) - .fluidOutputs(Rubidium.getPlasma(L * 8)) - .EUt(VA[UXV]) - .duration(2 * TICK) - .buildAndRegister() + AUTOCLAVE_RECIPES.addRecipe { + input(BOSE_EINSTEIN_CONDENSATE) + input(nanite, MagMatter) + fluidInputs(SpaceTime.getFluid(L * 4)) + output(TIME_DILATION_CONTAINMENT_CELL) + fluidOutputs(Rubidium.getPlasma(L * 8)) + EUt(VA[UXV]) + duration(2 * TICK) + } // Neutronium Sphere - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BALL) - .fluidInputs(Neutronium.getFluid(L)) - .output(NEUTRONIUM_SPHERE) - .EUt(VA[UHV]) - .duration(1 * TICK) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BALL) + fluidInputs(Neutronium.getFluid(L)) + output(NEUTRONIUM_SPHERE) + EUt(VA[UHV]) + duration(1 * TICK) + } // High Density Protonic Matter Containment Cell - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(TIME_DILATION_CONTAINMENT_CELL) - .input(NEUTRONIUM_SPHERE, 8) - .fluidInputs(NeutronProtonFermiSuperfluid.getFluid(16000)) - .output(CONTAINED_HIGH_DENSITY_PROTONIC_MATTER) - .EUt(VA[UIV]) - .duration(1 * SECOND) - .buildAndRegister() + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(TIME_DILATION_CONTAINMENT_CELL) + input(NEUTRONIUM_SPHERE, 8) + fluidInputs(NeutronProtonFermiSuperfluid.getFluid(16000)) + output(CONTAINED_HIGH_DENSITY_PROTONIC_MATTER) + EUt(VA[UIV]) + duration(1 * SECOND) + } // Exotic Matter Containment Cell - STELLAR_FORGE_RECIPES.recipeBuilder() - .input(CONTAINED_HIGH_DENSITY_PROTONIC_MATTER, 2) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .output(CONTAINED_EXOTIC_MATTER) - .output(TIME_DILATION_CONTAINMENT_CELL) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + input(CONTAINED_HIGH_DENSITY_PROTONIC_MATTER, 2) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + output(CONTAINED_EXOTIC_MATTER) + output(TIME_DILATION_CONTAINMENT_CELL) + EUt(VA[UXV]) + duration(10 * SECOND) + } // Triplet Neutronium Sphere - POLARIZER_RECIPES.recipeBuilder() - .input(NEUTRONIUM_SPHERE) - .fluidInputs(Magnetium.getFluid(L * 4)) - .output(TRIPLET_NEUTRONIUM_SPHERE) - .EUt(VA[UEV]) - .duration(2 * TICK) - .buildAndRegister() + POLARIZER_RECIPES.addRecipe { + input(NEUTRONIUM_SPHERE) + fluidInputs(Magnetium.getFluid(L * 4)) + output(TRIPLET_NEUTRONIUM_SPHERE) + EUt(VA[UEV]) + duration(2 * TICK) + } // Contained RN (Reissner-Nordstrom) Black Hole Singularity - STELLAR_FORGE_RECIPES.recipeBuilder() - .input(TIME_DILATION_CONTAINMENT_CELL) - .input(TRIPLET_NEUTRONIUM_SPHERE, 16) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .output(CONTAINED_RN_SINGULARITY) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + input(TIME_DILATION_CONTAINMENT_CELL) + input(TRIPLET_NEUTRONIUM_SPHERE, 16) + inputs(LEPTONIC_CHARGE) + output(CONTAINED_RN_SINGULARITY) + EUt(VA[UIV]) + duration(10 * SECOND) + } // Contained KN (Kerr-Newmann) Black Hole Singularity - STELLAR_FORGE_RECIPES.recipeBuilder() - .input(CONTAINED_RN_SINGULARITY, 2) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .output(CONTAINED_KN_SINGULARITY) - .output(TIME_DILATION_CONTAINMENT_CELL) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + input(CONTAINED_RN_SINGULARITY, 2) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + output(CONTAINED_KN_SINGULARITY) + output(TIME_DILATION_CONTAINMENT_CELL) + EUt(VA[UXV]) + duration(20 * SECOND) + } // Contained Kerr Singularity - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(CONTAINED_KN_SINGULARITY) - .fluidInputs(Mellion.getFluid(L / 8)) - .output(CONTAINED_KERR_SINGULARITY) - .fluidOutputs(FreeElectronGas.getFluid(16000)) - .EUt(VA[OpV]) - .duration(1 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(CONTAINED_KN_SINGULARITY) + fluidInputs(Mellion.getFluid(L / 8)) + output(CONTAINED_KERR_SINGULARITY) + fluidOutputs(FreeElectronGas.getFluid(16000)) + EUt(VA[OpV]) + duration(1 * TICK) + } // Microwormhole Generator - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(CONTAINED_KERR_SINGULARITY) - .input(FIELD_GENERATOR_UHV) - .input(plate, CosmicNeutronium, 2) - .input(screw, Taranium, 4) - .fluidInputs(SpaceTime.getFluid(L)) - .output(MICROWORMHOLE_GENERATOR) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .tier(3) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(CONTAINED_KERR_SINGULARITY) + input(FIELD_GENERATOR_UHV) + input(plate, CosmicNeutronium, 2) + input(screw, Taranium, 4) + fluidInputs(SpaceTime.getFluid(L)) + output(MICROWORMHOLE_GENERATOR) + EUt(VA[UHV]) + duration(5 * SECOND) + tier(3) + } // Macrowormhole Generator - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(CONTAINED_KERR_SINGULARITY) - .input(FIELD_GENERATOR_UEV) - .input(plate, Infinity, 4) - .input(plate, HeavyQuarkDegenerateMatter, 8) - .input(CONTAINED_HIGH_DENSITY_PROTONIC_MATTER) - .input(BATTERY_HULL_LARGE_NEUTRONIUM) - .input(screw, Shirabon, 16) - .fluidInputs(SpaceTime.getFluid(L * 4)) - .output(MACROWORMHOLE_GENERATOR) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .tier(4) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(CONTAINED_KERR_SINGULARITY) + input(FIELD_GENERATOR_UEV) + input(plate, Infinity, 4) + input(plate, HeavyQuarkDegenerateMatter, 8) + input(CONTAINED_HIGH_DENSITY_PROTONIC_MATTER) + input(BATTERY_HULL_LARGE_NEUTRONIUM) + input(screw, Shirabon, 16) + fluidInputs(SpaceTime.getFluid(L * 4)) + output(MACROWORMHOLE_GENERATOR) + EUt(VA[UEV]) + duration(5 * SECOND) + tier(4) + } // Stabilized Wormhole Generator - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(MACROWORMHOLE_GENERATOR) - .input(CONTAINED_KN_SINGULARITY, 2) - .input(FIELD_GENERATOR_UIV) - .input(plate, Mellion, 8) - .input(plate, QuantumchromodynamicallyConfinedMatter, 16) - .input(CONTAINED_EXOTIC_MATTER) - .input(rotor, Creon, 6) - .input(rotor, Hypogen, 6) - .input(wireGtSingle, VibraniumTritaniumActiniumIronSuperhydride, 16) - .input(screw, TranscendentMetal, 32) - .fluidInputs(SpaceTime.getFluid(L * 16)) - .output(STABILIZED_WORMHOLE_GENERATOR) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .tier(5) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(MACROWORMHOLE_GENERATOR) + input(CONTAINED_KN_SINGULARITY, 2) + input(FIELD_GENERATOR_UIV) + input(plate, Mellion, 8) + input(plate, QuantumchromodynamicallyConfinedMatter, 16) + input(CONTAINED_EXOTIC_MATTER) + input(rotor, Creon, 6) + input(rotor, Hypogen, 6) + input(wireGtSingle, VibraniumTritaniumActiniumIronSuperhydride, 16) + input(screw, TranscendentMetal, 32) + fluidInputs(SpaceTime.getFluid(L * 16)) + output(STABILIZED_WORMHOLE_GENERATOR) + EUt(VA[UIV]) + duration(5 * SECOND) + tier(5) + } // Recursively Folded Negative Space - FORMING_PRESS_RECIPES.recipeBuilder() - .input(MICROWORMHOLE_GENERATOR) - .output(RECURSIVELY_FOLDED_NEGATIVE_SPACE, 2) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - FORMING_PRESS_RECIPES.recipeBuilder() - .input(MACROWORMHOLE_GENERATOR) - .output(RECURSIVELY_FOLDED_NEGATIVE_SPACE, 16) - .EUt(VA[UXV]) - .duration(2 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(MICROWORMHOLE_GENERATOR) + output(RECURSIVELY_FOLDED_NEGATIVE_SPACE, 2) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + FORMING_PRESS_RECIPES.addRecipe { + input(MACROWORMHOLE_GENERATOR) + output(RECURSIVELY_FOLDED_NEGATIVE_SPACE, 16) + EUt(VA[UXV]) + duration(2 * SECOND) + } // Eigenfolded Spacetime Manifold - STELLAR_FORGE_RECIPES.recipeBuilder() - .input(STABILIZED_WORMHOLE_GENERATOR) - .input(RECURSIVELY_FOLDED_NEGATIVE_SPACE) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .output(EIGENFOLDED_SPACETIME_MANIFOLD) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + input(STABILIZED_WORMHOLE_GENERATOR) + input(RECURSIVELY_FOLDED_NEGATIVE_SPACE) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + output(EIGENFOLDED_SPACETIME_MANIFOLD) + EUt(VA[UXV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BoronNitrideChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BoronNitrideChain.kt index 029a20cdd..4c138a56c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BoronNitrideChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/BoronNitrideChain.kt @@ -41,10 +41,12 @@ import gregtech.api.unification.ore.OrePrefix.ingot import gregtech.api.unification.ore.OrePrefix.plate import gregtech.api.unification.ore.OrePrefix.stick import gregtech.api.unification.ore.OrePrefix.toolHeadBuzzSaw -import gregtech.common.items.MetaItems +import gregtech.common.items.MetaItems.DYNAMITE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.getStack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES @@ -81,205 +83,203 @@ internal object BoronNitrideChain private fun boronTrioxideProcess() { // Na2B4O7·10H2O + 2HCl -> 4H3BO3 + 2NaCl + 5H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Borax, 23) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, BoricAcid, 16) - .output(dust, Salt, 4) - .fluidOutputs(Water.getFluid(5000)) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Borax, 23) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, BoricAcid, 16) + output(dust, Salt, 4) + fluidOutputs(Water.getFluid(5000)) + EUt(VA[MV]) + duration(15 * SECOND) + } // 2H3BO3 -> B2O3 + 3H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, BoricAcid, 8) - .output(dust, BoronTrioxide, 5) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, BoricAcid, 8) + output(dust, BoronTrioxide, 5) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[MV]) + duration(5 * SECOND) + } } private fun borazineProcess() { // B2O3 + 6HF -> 2BF3 + 3H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, BoricAcid, 5) - .fluidInputs(HydrofluoricAcid.getFluid(6000)) - .fluidOutputs(BoronTrifluoride.getFluid(2000)) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, BoricAcid, 5) + fluidInputs(HydrofluoricAcid.getFluid(6000)) + fluidOutputs(BoronTrifluoride.getFluid(2000)) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[HV]) + duration(8 * SECOND) + } // Li + H -> LiH - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Lithium) - .fluidInputs(Hydrogen.getFluid(1000)) - .output(ingot, LithiumHydride, 2) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Lithium) + fluidInputs(Hydrogen.getFluid(1000)) + output(ingot, LithiumHydride, 2) + EUt(VA[HV]) + duration(15 * SECOND) + } // 8BF3 + 6LiH -> B2H6 + 6LiBF4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, LithiumHydride, 12) - .fluidInputs(BoronTrifluoride.getFluid(8000)) - .output(dust, LithiumTetrafluoroborate, 36) - .fluidOutputs(Diborane.getFluid(1000)) - .EUt(VA[HV]) - .duration(32 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, LithiumHydride, 12) + fluidInputs(BoronTrifluoride.getFluid(8000)) + output(dust, LithiumTetrafluoroborate, 36) + fluidOutputs(Diborane.getFluid(1000)) + EUt(VA[HV]) + duration(32 * SECOND) + } // LiBF4 -> BF3 + LiH (cycle) // This reaction cycle both BF3 and LiH with above reactions, // we can see that 8BF3 + 6LiH -> 6LiBF4 -> 6BF3 + 6LiH, and 2BF3 to be B2H6, // it means LiH is cycle and BF3 is part cycle. - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, LithiumTetrafluoroborate, 6) - .output(dust, LithiumHydride, 2) - .fluidOutputs(BoronTrifluoride.getFluid(1000)) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, LithiumTetrafluoroborate, 6) + output(dust, LithiumHydride, 2) + fluidOutputs(BoronTrifluoride.getFluid(1000)) + EUt(VA[LV]) + duration(4 * SECOND) + } // 3B2H6 + 6NH3 -> 2B3H6N3 + 24H - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Diborane.getFluid(3000)) - .fluidInputs(Ammonia.getFluid(6000)) - .fluidOutputs(Borazine.getFluid(2000)) - .fluidOutputs(Hydrogen.getFluid(24000)) - .EUt(VA[LuV]) - .duration(20 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Diborane.getFluid(3000)) + fluidInputs(Ammonia.getFluid(6000)) + fluidOutputs(Borazine.getFluid(2000)) + fluidOutputs(Hydrogen.getFluid(24000)) + EUt(VA[LuV]) + duration(20 * SECOND) + } } private fun boronNitrideProcess() { // 2B2O3 + 3CCl4 -> 4BCl3 + 3CO2 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, BoronTrioxide, 10) - .fluidInputs(CarbonTetrachloride.getFluid(3000)) - .fluidOutputs(BoronTrichloride.getFluid(4000)) - .fluidOutputs(CarbonDioxide.getFluid(3000)) - .EUt(VA[HV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, BoronTrioxide, 10) + fluidInputs(CarbonTetrachloride.getFluid(3000)) + fluidOutputs(BoronTrichloride.getFluid(4000)) + fluidOutputs(CarbonDioxide.getFluid(3000)) + EUt(VA[HV]) + duration(4 * SECOND + 10 * TICK) + } // 3BCl3 + 3NH4Cl -> B3Cl3H3N3 + 9HCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, AmmoniumChloride, 6) // Special amount. - .fluidInputs(BoronTrichloride.getFluid(3000)) - .fluidOutputs(Trichloroborazine.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(9000)) - .EUt(VA[IV]) - .duration(20 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, AmmoniumChloride, 6) + fluidInputs(BoronTrichloride.getFluid(3000)) + fluidOutputs(Trichloroborazine.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(9000)) + EUt(VA[IV]) + duration(20 * SECOND) + } // B3H6N3 + 3O -> 3h-BN + 3H2O - CVD_RECIPES.recipeBuilder() - .fluidInputs(Borazine.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(3000)) - .output(gem, HexagonalBoronNitride, 6) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[UV]) - .duration(20 * SECOND) - .temperature(1300) - .buildAndRegister() + CVD_RECIPES.addRecipe { + fluidInputs(Borazine.getFluid(1000)) + fluidInputs(Oxygen.getFluid(3000)) + output(gem, HexagonalBoronNitride, 6) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[UV]) + duration(20 * SECOND) + temperature(1300) + } // Advanced recipes for h-BN, used Nickel foil as catalyst bed, // and B + N -> h-BN via molecular beaming. - MOLECULAR_BEAM_RECIPES.recipeBuilder() - .input(foil, Nickel, 8) - .input(dust, Boron) - .fluidInputs(Nitrogen.getFluid(1000)) - .output(gem, HexagonalBoronNitride, 2) - .EUt(VA[UEV]) - .duration(4 * SECOND) - .temperature(2900) - .buildAndRegister() + MOLECULAR_BEAM_RECIPES.addRecipe { + input(foil, Nickel, 8) + input(dust, Boron) + fluidInputs(Nitrogen.getFluid(1000)) + output(gem, HexagonalBoronNitride, 2) + EUt(VA[UEV]) + duration(4 * SECOND) + temperature(2900) + } // h-BN -> c-BN - CVD_RECIPES.recipeBuilder() - .input(dust, HexagonalBoronNitride, 1) - .output(gem, CubicBoronNitride, 1) - .EUt(VA[UV]) - .duration(5 * SECOND) - .temperature(3501) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, HexagonalBoronNitride, 1) + output(gem, CubicBoronNitride, 1) + EUt(VA[UV]) + duration(5 * SECOND) + temperature(3501) + } // B3Cl3H3N3 -> 3a-BN + 3HCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Caesium) - .fluidInputs(Trichloroborazine.getFluid(1000)) - .output(dust, AmorphousBoronNitride, 6) - .fluidOutputs(HydrochloricAcid.getFluid(3000)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Caesium) + fluidInputs(Trichloroborazine.getFluid(1000)) + output(dust, AmorphousBoronNitride, 6) + fluidOutputs(HydrochloricAcid.getFluid(3000)) + EUt(VA[ZPM]) + duration(10 * SECOND) + } // c-BN + C -> BCN - IMPLOSION_RECIPES.recipeBuilder() - .input(dust, CubicBoronNitride) - .input(dust, Carbon) - .output(gem, Heterodiamond, 2) - .EUt(VA[LV]) - .duration(1 * SECOND) - .explosives(32) - .buildAndRegister() + IMPLOSION_RECIPES.addRecipe { + input(dust, CubicBoronNitride) + input(dust, Carbon) + output(gem, Heterodiamond, 2) + EUt(VA[LV]) + duration(1 * SECOND) + explosives(32) + } - IMPLOSION_RECIPES.recipeBuilder() - .input(dust, CubicBoronNitride) - .input(dust, Carbon) - .output(gem, Heterodiamond, 2) - .EUt(VA[LV]) - .duration(1 * SECOND) - .explosives(MetaItems.DYNAMITE.getStackForm(16)) - .buildAndRegister() + IMPLOSION_RECIPES.addRecipe { + input(dust, CubicBoronNitride) + input(dust, Carbon) + output(gem, Heterodiamond, 2) + EUt(VA[LV]) + duration(1 * SECOND) + explosives(DYNAMITE.getStack(16)) + } - // Electric Impulsion for BCN + C -> c-BCN - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(dust, CubicBoronNitride) - .input(dust, Carbon) - .output(gem, Heterodiamond, 2) - .EUt(VA[LV]) - .duration(1 * SECOND) - .buildAndRegister() + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(dust, CubicBoronNitride) + input(dust, Carbon) + output(gem, Heterodiamond, 2) + EUt(VA[LV]) + duration(1 * SECOND) + } // BCN + C -> c-BC2N - CVD_RECIPES.recipeBuilder() - .input(dust, Heterodiamond) - .input(dust, Carbon) - .output(gem, CubicHeterodiamond) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .temperature(2200) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, Heterodiamond) + input(dust, Carbon) + output(gem, CubicHeterodiamond) + EUt(VA[UHV]) + duration(20 * SECOND) + temperature(2200) + } // Because c-BN is a gem material, but it has tool properties, we should ensure // the compatibility with its material parts and tool parts. // Allowed gemExquisite lathing to c-BN buzz saw. - LATHE_RECIPES.recipeBuilder() - .input(gemExquisite, CubicBoronNitride) - .output(toolHeadBuzzSaw, CubicBoronNitride) - .EUt(56) // MV - .duration(2 * SECOND + 8 * TICK) // same as gear lathing to buzz saw. - .buildAndRegister() + LATHE_RECIPES.addRecipe { + input(gemExquisite, CubicBoronNitride) + output(toolHeadBuzzSaw, CubicBoronNitride) + EUt(56) // MV + duration(2 * SECOND + 8 * TICK) // same as gear lathing to buzz saw. + } // Crystallized stick and plate gluing to gear. - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, CubicBoronNitride, 4) - .input(stick, CubicBoronNitride, 4) - .fluidInputs(Glue.getFluid(250)) - .output(gear, CubicBoronNitride) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(plate, CubicBoronNitride, 4) + input(stick, CubicBoronNitride, 4) + fluidInputs(Glue.getFluid(250)) + output(gear, CubicBoronNitride) + EUt(VA[LV]) + duration(2 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ButyllithiumChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ButyllithiumChain.kt index ebb5ba934..a381e305c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ButyllithiumChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ButyllithiumChain.kt @@ -9,6 +9,7 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bromobutane import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Butanol import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Butyllithium @@ -24,24 +25,24 @@ internal object ButyllithiumChain // Anti-Markovnikov Reaction // C4H10O + HBr -> C4H9Br + H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Butanol.getFluid(1000)) - .fluidInputs(HydrobromicAcid.getFluid(1000)) - .fluidOutputs(Bromobutane.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Butanol.getFluid(1000)) + fluidInputs(HydrobromicAcid.getFluid(1000)) + fluidOutputs(Bromobutane.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // Li + C4H9Br -> C4H9Li + Br - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Lithium) - .fluidInputs(Bromobutane.getFluid(1000)) - .fluidOutputs(Butyllithium.getFluid(1000)) - .fluidOutputs(Bromine.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Lithium) + fluidInputs(Bromobutane.getFluid(1000)) + fluidOutputs(Butyllithium.getFluid(1000)) + fluidOutputs(Bromine.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChargersChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChargersChain.kt index 411331463..35bcce1b8 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChargersChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChargersChain.kt @@ -5,7 +5,6 @@ import gregtech.api.GTValues.UHV import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.unification.material.Materials.Bohrium import gregtech.api.unification.material.Materials.Dubnium @@ -22,6 +21,10 @@ import gregtech.api.unification.ore.OrePrefix.frameGt import gregtech.api.unification.ore.OrePrefix.plate import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ActiniumSuperhydride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ArceusAlloy2B import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CyclotetramethyleneTetranitroamine @@ -38,7 +41,6 @@ import gregtechlite.gtlitecore.common.block.GTLiteBlocks.LEPTONIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.NAQUADRIA_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.QUANTUM_CHROMODYNAMIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.TARANIUM_CHARGE -import net.minecraft.item.ItemStack internal object ChargersChain { @@ -47,67 +49,65 @@ internal object ChargersChain fun init() { - - // Naquadria Charge - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .input(frameGt, Naquadria) - .input(dust, Hexanitrohexaaxaisowurtzitane) - .input(plate, NaquadahEnriched, 2) - .input(plate, Mendelevium, 4) - .input(foil, NaquadahAlloy, 8) - .fluidInputs(GlycerylTrinitrate.getFluid(16000)) - .outputs(ItemStack(NAQUADRIA_CHARGE)) - .EUt(VA[UV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + input(frameGt, Naquadria) + input(dust, Hexanitrohexaaxaisowurtzitane) + input(plate, NaquadahEnriched, 2) + input(plate, Mendelevium, 4) + input(foil, NaquadahAlloy, 8) + fluidInputs(GlycerylTrinitrate.getFluid(16000)) + outputs(NAQUADRIA_CHARGE) + EUt(VA[UV]) + duration(5 * SECOND) + cleanroom() + } // Taranium Charge - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .inputs(ItemStack(NAQUADRIA_CHARGE)) - .input(dust, DegenerateRhenium) - .input(plate, Taranium, 2) - .input(plate, Lawrencium, 4) - .input(foil, Tritanium, 8) - .fluidInputs(CyclotetramethyleneTetranitroamine.getFluid(4000)) - .outputs(ItemStack(TARANIUM_CHARGE)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + inputs(NAQUADRIA_CHARGE) + input(dust, DegenerateRhenium) + input(plate, Taranium, 2) + input(plate, Lawrencium, 4) + input(foil, Tritanium, 8) + fluidInputs(CyclotetramethyleneTetranitroamine.getFluid(4000)) + outputs(TARANIUM_CHARGE) + EUt(VA[UHV]) + duration(5 * SECOND) + cleanroom() + } // Leptonic Charge - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .inputs(ItemStack(TARANIUM_CHARGE)) - .input(dust, Octaazacubane) - .input(plate, MetastableOganesson, 2) - .input(plate, Dubnium, 4) - .input(foil, Vibranium, 8) - .fluidInputs(HeavyLeptonMixture.getFluid(1000)) - .outputs(ItemStack(LEPTONIC_CHARGE)) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + inputs(TARANIUM_CHARGE) + input(dust, Octaazacubane) + input(plate, MetastableOganesson, 2) + input(plate, Dubnium, 4) + input(foil, Vibranium, 8) + fluidInputs(HeavyLeptonMixture.getFluid(1000)) + outputs(LEPTONIC_CHARGE) + EUt(VA[UEV]) + duration(5 * SECOND) + cleanroom() + } // Quantum Chromodynamic Charge - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .input(dust, ActiniumSuperhydride) - .input(plate, HeavyQuarkDegenerateMatter, 2) - .input(plate, Bohrium, 4) - .input(foil, ArceusAlloy2B, 8) - .fluidInputs(HadronicResonantGas.getFluid(500)) - .outputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + inputs(LEPTONIC_CHARGE) + input(dust, ActiniumSuperhydride) + input(plate, HeavyQuarkDegenerateMatter, 2) + input(plate, Bohrium, 4) + input(foil, ArceusAlloy2B, 8) + fluidInputs(HadronicResonantGas.getFluid(500)) + outputs(QUANTUM_CHROMODYNAMIC_CHARGE) + EUt(VA[UIV]) + duration(5 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChloridesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChloridesChain.kt index cf07038da..72c035f60 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChloridesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChloridesChain.kt @@ -11,6 +11,7 @@ import gregtech.api.unification.material.Materials.Chloromethane import gregtech.api.unification.material.Materials.Methane import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CarbonTetrachloride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ChlorinatedSolvents import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Dichloromethane @@ -23,25 +24,25 @@ internal object ChloridesChain fun init() { // 2CH4 + 5Cl -> 7(CH4)2Cl5 - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Methane.getFluid(2000)) - .fluidInputs(Chlorine.getFluid(5000)) - .fluidOutputs(ChlorinatedSolvents.getFluid(7000)) - .EUt(VA[EV]) - .duration(12 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Methane.getFluid(2000)) + fluidInputs(Chlorine.getFluid(5000)) + fluidOutputs(ChlorinatedSolvents.getFluid(7000)) + EUt(VA[EV]) + duration(12 * SECOND) + } // 14(CH4)2Cl5 -> CH3Cl + CH2Cl2 + CHCl3 + CCl4 - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(ChlorinatedSolvents.getFluid(14000)) - .fluidOutputs(Chloromethane.getFluid(1330)) - .fluidOutputs(Dichloromethane.getFluid(2170)) - .fluidOutputs(Chloroform.getFluid(2170)) - .fluidOutputs(CarbonTetrachloride.getFluid(1330)) - .EUt(VA[IV]) - .duration(18 * SECOND) - .disableDistilleryRecipes() - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(ChlorinatedSolvents.getFluid(14000)) + fluidOutputs(Chloromethane.getFluid(1330)) + fluidOutputs(Dichloromethane.getFluid(2170)) + fluidOutputs(Chloroform.getFluid(2170)) + fluidOutputs(CarbonTetrachloride.getFluid(1330)) + EUt(VA[IV]) + duration(18 * SECOND) + disableDistilleryRecipes() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChromaticGlassChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChromaticGlassChain.kt index e9ee4bf0e..70c77aff1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChromaticGlassChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ChromaticGlassChain.kt @@ -1,19 +1,16 @@ package gregtechlite.gtlitecore.loader.recipe.chain import gregtech.api.GTValues.LuV -import gregtech.api.GTValues.MV import gregtech.api.GTValues.UHV import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeMaps.LASER_ENGRAVER_RECIPES import gregtech.api.unification.material.Materials.Glass import gregtech.api.unification.ore.OrePrefix.block import gregtech.api.unification.ore.OrePrefix.dust -import gregtech.api.unification.ore.OrePrefix.dustSmall -import gregtech.api.unification.ore.OrePrefix.lens -import gregtech.api.unification.ore.OrePrefix.plate import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.POLISHER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ChromaticGlass import gregtechlite.gtlitecore.common.block.variant.GlassCasing @@ -26,21 +23,21 @@ internal object ChromaticGlassChain fun init() { - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(QUANTUM_ANOMALY) - .input(dust, Glass, 64) - .output(dust, ChromaticGlass) - .EUt(VA[UHV]) - .duration(1 * MINUTE) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(QUANTUM_ANOMALY) + input(dust, Glass, 64) + output(dust, ChromaticGlass) + EUt(VA[UHV]) + duration(1 * MINUTE) + } - POLISHER_RECIPES.recipeBuilder() - .input(block, ChromaticGlass) - .outputs(GlassCasing.CHROMATIC.getStack(2)) - .output(dust, ChromaticGlass) - .EUt(VA[LuV]) - .duration(5 * SECOND) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + input(block, ChromaticGlass) + outputs(GlassCasing.CHROMATIC.getStack(2)) + output(dust, ChromaticGlass) + EUt(VA[LuV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CitricAcidChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CitricAcidChain.kt index e76afafca..edf1912a7 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CitricAcidChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CitricAcidChain.kt @@ -10,6 +10,7 @@ import gregtech.api.unification.material.Materials.PotassiumDichromate import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CitricAcid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.FormicAcid @@ -21,16 +22,16 @@ internal object CitricAcidChain fun init() { // C3H8O3 + HCOOH + 2CO -> C6H8O7 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, PotassiumDichromate) - .fluidInputs(Glycerol.getFluid(1000)) - .fluidInputs(FormicAcid.getFluid(1000)) - .fluidInputs(CarbonMonoxide.getFluid(2000)) - .fluidOutputs(CitricAcid.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[EV]) - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, PotassiumDichromate) + fluidInputs(Glycerol.getFluid(1000)) + fluidInputs(FormicAcid.getFluid(1000)) + fluidInputs(CarbonMonoxide.getFluid(2000)) + fluidOutputs(CitricAcid.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[EV]) + duration(12 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CosmicFabricChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CosmicFabricChain.kt index 20c022ca7..34c9406ad 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CosmicFabricChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CosmicFabricChain.kt @@ -19,6 +19,8 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_PLATE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicFabric import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium @@ -29,7 +31,6 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SeaborgiumDopedCa import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.TranscendentMetal import gregtechlite.gtlitecore.common.block.GTLiteBlocks.QUANTUM_CHROMODYNAMIC_CHARGE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.HIGHLY_DENSE_POLYMER_PLATE -import net.minecraft.item.ItemStack internal object CosmicFabricChain { @@ -39,110 +40,109 @@ internal object CosmicFabricChain fun init() { // Highly Dense Polymer Plate - FORMING_PRESS_RECIPES.recipeBuilder() - .input(plate, FullerenePolymerMatrix, 3) - .input(plate, TranscendentMetal, 3) - .input(plate, NeutroniumDopedCarbonNanotube, 3) - .input(plate, CosmicNeutronium, 3) - .input(plate, SeaborgiumDopedCarbonNanotube, 3) - .input(plate, LanthanumFullereneNanotube, 3) - .output(HIGHLY_DENSE_POLYMER_PLATE, 3) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(plate, FullerenePolymerMatrix, 3) + input(plate, TranscendentMetal, 3) + input(plate, NeutroniumDopedCarbonNanotube, 3) + input(plate, CosmicNeutronium, 3) + input(plate, SeaborgiumDopedCarbonNanotube, 3) + input(plate, LanthanumFullereneNanotube, 3) + output(HIGHLY_DENSE_POLYMER_PLATE, 3) + EUt(VA[UXV]) + duration(10 * SECOND) + } // Highly Dense Polymer Plate -> Cosmic Fabric (plasma) - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(HIGHLY_DENSE_POLYMER_PLATE) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidOutputs(CosmicFabric.getPlasma(1000)) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(HIGHLY_DENSE_POLYMER_PLATE, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidOutputs(CosmicFabric.getPlasma(64000)) - .EUt(VA[OpV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(HIGHLY_DENSE_POLYMER_PLATE, 64) - .input(HIGHLY_DENSE_POLYMER_PLATE, 64) - .input(HIGHLY_DENSE_POLYMER_PLATE, 64) - .input(HIGHLY_DENSE_POLYMER_PLATE, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidOutputs(CosmicFabric.getPlasma(256000)) - .EUt(VA[MAX]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(HIGHLY_DENSE_POLYMER_PLATE) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidOutputs(CosmicFabric.getPlasma(1000)) + EUt(VA[UXV]) + duration(30 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(HIGHLY_DENSE_POLYMER_PLATE, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidOutputs(CosmicFabric.getPlasma(64000)) + EUt(VA[OpV]) + duration(7 * SECOND + 10 * TICK) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + input(HIGHLY_DENSE_POLYMER_PLATE, 64) + input(HIGHLY_DENSE_POLYMER_PLATE, 64) + input(HIGHLY_DENSE_POLYMER_PLATE, 64) + input(HIGHLY_DENSE_POLYMER_PLATE, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidOutputs(CosmicFabric.getPlasma(256000)) + EUt(VA[MAX]) + duration(2 * SECOND + 10 * TICK) + } // Cosmic Fabric (plasma) -> Cosmic Fabric (liquid) - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(CosmicFabric.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .fluidOutputs(CosmicFabric.getFluid(L)) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(CosmicFabric.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .output(dust, CosmicFabric) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(CosmicFabric.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .output(dustSmall, CosmicFabric, 4) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidInputs(CosmicFabric.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .output(dustTiny, CosmicFabric, 9) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(CosmicFabric.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .output(ingot, CosmicFabric) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_PLATE) - .fluidInputs(CosmicFabric.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .output(plate, CosmicFabric) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() - + VACUUM_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(CosmicFabric.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + fluidOutputs(CosmicFabric.getFluid(L)) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UXV]) + duration(10 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(CosmicFabric.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + output(dust, CosmicFabric) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UXV]) + duration(10 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(CosmicFabric.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + output(dustSmall, CosmicFabric, 4) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UXV]) + duration(10 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(4) + fluidInputs(CosmicFabric.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + output(dustTiny, CosmicFabric, 9) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UXV]) + duration(10 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(CosmicFabric.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + output(ingot, CosmicFabric) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UXV]) + duration(10 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_PLATE) + fluidInputs(CosmicFabric.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + output(plate, CosmicFabric) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UXV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CosmicNeutroniumChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CosmicNeutroniumChain.kt index 57bf8f804..8ba43b30b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CosmicNeutroniumChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CosmicNeutroniumChain.kt @@ -6,6 +6,7 @@ import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeMaps.FUSION_RECIPES import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.NeutronProtonFermiSuperfluid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Taranium @@ -17,16 +18,15 @@ internal object CosmicNeutroniumChain fun init() { - // Cosmic Neutronium - FUSION_RECIPES.recipeBuilder() - .fluidInputs(NeutronProtonFermiSuperfluid.getFluid(1000)) - .fluidInputs(Taranium.getFluid(L * 4)) - .fluidOutputs(CosmicNeutronium.getFluid(L * 2)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .EUToStart(1_270_000_000) // 1270M EU, MK4 - .buildAndRegister() - + // Neutron-Proton Fermi Superfluid + Taranium -> Cosmic Neutronium + FUSION_RECIPES.addRecipe { + fluidInputs(NeutronProtonFermiSuperfluid.getFluid(1000)) + fluidInputs(Taranium.getFluid(L * 4)) + fluidOutputs(CosmicNeutronium.getFluid(L * 2)) + EUt(VA[UHV]) + duration(10 * SECOND) + EUToStart(1_270_000_000) // 1,270M EU (MK4) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CreonMellionChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CreonMellionChain.kt index 9279cdbba..38fcf061e 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CreonMellionChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/CreonMellionChain.kt @@ -6,7 +6,6 @@ import gregtech.api.GTValues.OpV import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.ingredients.IntCircuitIngredient import gregtech.api.unification.OreDictUnifier @@ -20,12 +19,14 @@ import gregtech.api.unification.ore.OrePrefix.ingot import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.TOPOLOGICAL_ORDER_CHANGING_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Creon import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Mellion import gregtechlite.gtlitecore.common.block.GTLiteBlocks.QUANTUM_CHROMODYNAMIC_CHARGE -import net.minecraft.item.ItemStack internal object CreonMellionChain { @@ -35,77 +36,76 @@ internal object CreonMellionChain fun init() { // Creon plasma - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Fermium.getPlasma(L * 4)) - .fluidInputs(Thorium.getPlasma(L * 8)) - .fluidInputs(Technetium.getPlasma(L * 12)) - .fluidInputs(Calcium.getPlasma(L * 36)) - .fluidOutputs(Creon.getPlasma(L * 18)) - .EUt(VA[UXV]) - .duration(1 * MINUTE) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Fermium.getPlasma(L * 4)) + fluidInputs(Thorium.getPlasma(L * 8)) + fluidInputs(Technetium.getPlasma(L * 12)) + fluidInputs(Calcium.getPlasma(L * 36)) + fluidOutputs(Creon.getPlasma(L * 18)) + EUt(VA[UXV]) + duration(1 * MINUTE) + } - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Fermium.getPlasma(L * 4 * 16)) - .fluidInputs(Thorium.getPlasma(L * 8 * 16)) - .fluidInputs(Technetium.getPlasma(L * 12 * 16)) - .fluidInputs(Calcium.getPlasma(L * 36 * 16)) - .fluidOutputs(Creon.getPlasma(L * 18 * 16)) - .EUt(VA[OpV]) - .duration(20 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Fermium.getPlasma(L * 4 * 16)) + fluidInputs(Thorium.getPlasma(L * 8 * 16)) + fluidInputs(Technetium.getPlasma(L * 12 * 16)) + fluidInputs(Calcium.getPlasma(L * 36 * 16)) + fluidOutputs(Creon.getPlasma(L * 18 * 16)) + EUt(VA[OpV]) + duration(20 * SECOND) + } - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Fermium.getPlasma(L * 4 * 64)) - .fluidInputs(Thorium.getPlasma(L * 8 * 64)) - .fluidInputs(Technetium.getPlasma(L * 12 * 64)) - .fluidInputs(Calcium.getPlasma(L * 36 * 64)) - .fluidOutputs(Creon.getPlasma(L * 18 * 64)) - .EUt(VA[MAX]) - .duration(5 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Fermium.getPlasma(L * 4 * 64)) + fluidInputs(Thorium.getPlasma(L * 8 * 64)) + fluidInputs(Technetium.getPlasma(L * 12 * 64)) + fluidInputs(Calcium.getPlasma(L * 36 * 64)) + fluidOutputs(Creon.getPlasma(L * 18 * 64)) + EUt(VA[MAX]) + duration(5 * SECOND) + } // Mellion - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, Mellion), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Mellion), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Krypton.getFluid(10))) - GTRecipeHandler.removeRecipesByInputs(TOPOLOGICAL_ORDER_CHANGING_RECIPES, + TOPOLOGICAL_ORDER_CHANGING_RECIPES.removeRecipe( OreDictUnifier.get(dust, Mellion), IntCircuitIngredient.getIntegratedCircuit(1)) - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Mellion) - .fluidInputs(Creon.getPlasma(L)) - .output(ingot, Mellion) - .fluidOutputs(Creon.getFluid(L)) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .blastFurnaceTemp(22000) - .buildAndRegister() - // Creon - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, Creon), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Creon), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Krypton.getFluid(10))) + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Mellion) + fluidInputs(Creon.getPlasma(L)) + output(ingot, Mellion) + fluidOutputs(Creon.getFluid(L)) + EUt(VA[UIV]) + duration(10 * SECOND) + blastFurnaceTemp(22000) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DegenerateRheniumChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DegenerateRheniumChain.kt index 787901c81..28aca0e80 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DegenerateRheniumChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DegenerateRheniumChain.kt @@ -9,7 +9,8 @@ import gregtech.api.fluids.store.FluidStorageKeys import gregtech.api.recipes.RecipeMaps.ARC_FURNACE_RECIPES import gregtech.api.recipes.RecipeMaps.MACERATOR_RECIPES import gregtech.api.recipes.RecipeMaps.VACUUM_RECIPES -import gregtech.api.recipes.category.RecipeCategories +import gregtech.api.recipes.category.RecipeCategories.ARC_FURNACE_RECYCLING +import gregtech.api.recipes.category.RecipeCategories.MACERATOR_RECYCLING import gregtech.api.unification.material.Materials.Helium import gregtech.api.unification.material.Materials.Oxygen import gregtech.api.unification.material.Materials.Rhenium @@ -22,13 +23,14 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.DegenerateRhenium import gregtechlite.gtlitecore.common.block.GTLiteBlocks.LEPTONIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.NAQUADRIA_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.QUANTUM_CHROMODYNAMIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.TARANIUM_CHARGE -import net.minecraft.item.ItemStack internal object DegenerateRheniumChain { @@ -38,82 +40,81 @@ internal object DegenerateRheniumChain fun init() { // Tier 1: 144L Rhenium -> 1000L DegenerateRhenium - STELLAR_FORGE_RECIPES.recipeBuilder() - .input(plate, Rhenium) - .inputs(ItemStack(NAQUADRIA_CHARGE)) - .fluidOutputs(DegenerateRhenium.getPlasma(1000)) - .EUt(VA[UHV]) - .duration(2 * MINUTE) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + input(plate, Rhenium) + inputs(NAQUADRIA_CHARGE) + fluidOutputs(DegenerateRhenium.getPlasma(1000)) + EUt(VA[UHV]) + duration(2 * MINUTE) + } // Tier 2: 144L * 9 Rhenium -> 1000L * 9 DegenerateRhenium - STELLAR_FORGE_RECIPES.recipeBuilder() - .input(plateDense, Rhenium) - .inputs(ItemStack(TARANIUM_CHARGE)) - .fluidOutputs(DegenerateRhenium.getFluid(9000)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + input(plateDense, Rhenium) + inputs(TARANIUM_CHARGE) + fluidOutputs(DegenerateRhenium.getFluid(9000)) + EUt(VA[UEV]) + duration(30 * SECOND) + } // Tier 3: 144L * 9 * 16 Rhenium -> 1000L * 9 * 16 DegenerateRhenium - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(block, Rhenium, 16) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidOutputs(DegenerateRhenium.getFluid(144000)) - .EUt(VA[UIV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(block, Rhenium, 16) + inputs(LEPTONIC_CHARGE) + fluidOutputs(DegenerateRhenium.getFluid(144000)) + EUt(VA[UIV]) + duration(7 * SECOND + 10 * TICK) + } // Tier 4: 144L * 9 * 64 Rhenium -> 1000L * 9 * 64 DegenerateRhenium - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(block, Rhenium, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidOutputs(DegenerateRhenium.getFluid(576000)) - .EUt(VA[UXV]) - .duration(1 * SECOND + 15 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(block, Rhenium, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidOutputs(DegenerateRhenium.getFluid(576000)) + EUt(VA[UXV]) + duration(1 * SECOND + 15 * TICK) + } // Solidification of DegenerateRhenium. - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(DegenerateRhenium.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 500)) - .output(dust, DegenerateRhenium) - .fluidOutputs(Helium.getFluid(250)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + VACUUM_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(DegenerateRhenium.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 500)) + output(dust, DegenerateRhenium) + fluidOutputs(Helium.getFluid(250)) + EUt(VA[UHV]) + duration(10 * SECOND) + } - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_PLATE) - .fluidInputs(DegenerateRhenium.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 500)) - .output(plate, DegenerateRhenium) - .fluidOutputs(Helium.getFluid(250)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_PLATE) + fluidInputs(DegenerateRhenium.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 500)) + output(plate, DegenerateRhenium) + fluidOutputs(Helium.getFluid(250)) + EUt(VA[UHV]) + duration(10 * SECOND) + } - // Degenerate Rhenium decompositions. - MACERATOR_RECIPES.recipeBuilder() - .input(plate, DegenerateRhenium) - .output(dust, DegenerateRhenium) - .EUt(VA[UHV]) - .duration(9 * SECOND + 6 * TICK) // Same as Rhenium plate decomposition - .category(RecipeCategories.MACERATOR_RECYCLING) - .buildAndRegister() - - ARC_FURNACE_RECIPES.recipeBuilder() - .input(plate, DegenerateRhenium) - .fluidInputs(Oxygen.getPlasma(186)) - .output(dust, DegenerateRhenium) - .EUt(VA[UHV]) - .duration(9 * SECOND + 6 * TICK) // Same as Rhenium plate decomposition - .category(RecipeCategories.ARC_FURNACE_RECYCLING) - .buildAndRegister() + // Degenerate Rhenium decomposition. + MACERATOR_RECIPES.addRecipe { + input(plate, DegenerateRhenium) + output(dust, DegenerateRhenium) + EUt(VA[UHV]) + duration(9 * SECOND + 6 * TICK) + category(MACERATOR_RECYCLING) + } + ARC_FURNACE_RECIPES.addRecipe { + input(plate, DegenerateRhenium) + fluidInputs(Oxygen.getPlasma(186)) + output(dust, DegenerateRhenium) + EUt(VA[UHV]) + duration(9 * SECOND + 6 * TICK) + category(ARC_FURNACE_RECYCLING) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DiethylEtherChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DiethylEtherChain.kt index a6ed4f8a5..b55c68329 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DiethylEtherChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DiethylEtherChain.kt @@ -6,6 +6,7 @@ import gregtech.api.unification.material.Materials.Ethanol import gregtech.api.unification.material.Materials.Ethylene import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.DiethylEther @@ -17,13 +18,13 @@ internal object DiethylEtherChain fun init() { // C2H6O + C2H4 -> (C2H5)2O - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .fluidInputs(Ethylene.getFluid(1000)) - .fluidInputs(Ethanol.getFluid(1000)) - .fluidOutputs(DiethylEther.getFluid(1000)) - .EUt(VA[MV]) - .duration(14 * SECOND) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + fluidInputs(Ethylene.getFluid(1000)) + fluidInputs(Ethanol.getFluid(1000)) + fluidOutputs(DiethylEther.getFluid(1000)) + EUt(VA[MV]) + duration(14 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DyesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DyesChain.kt index 8d76ff53d..7cd3f1ddf 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DyesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/DyesChain.kt @@ -53,6 +53,7 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -131,374 +132,369 @@ internal object DyesChain private fun siennaProcess() { - // Mn + O -> MnO - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Manganese) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, ManganeseMonoxide, 2) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Manganese) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, ManganeseMonoxide, 2) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // Mn + 2O -> MnO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Manganese) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, Pyrolusite, 3) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Manganese) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, Pyrolusite, 3) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // MnO + Fe2O3 -> (MnO)(Fe2O3) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, ManganeseMonoxide) - .input(dust, BandedIron) - .output(dust, Sienna, 2) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, ManganeseMonoxide) + input(dust, BandedIron) + output(dust, Sienna, 2) + EUt(VA[LV]) + duration(10 * SECOND) + } // (MnO)(Fe2O3) (Brown) -> (MnO)(Fe2O3) (Red) - ModHandler.addSmeltingRecipe(OreDictUnifier.get(dust, Sienna), + ModHandler.addSmeltingRecipe( + OreDictUnifier.get(dust, Sienna), OreDictUnifier.get(dust, BurntSienna)) - } private fun leadAcidateProcess() { // PbO + CrO3 -> PbCrO4 - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Massicot, 2) - .input(dust, ChromiumTrioxide, 4) - .output(dust, LeadChromate, 6) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Massicot, 2) + input(dust, ChromiumTrioxide, 4) + output(dust, LeadChromate, 6) + EUt(VA[MV]) + duration(4 * SECOND) + } // PbO + 2HNO3 -> Pb(NO3)2 + H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Massicot, 2) - .fluidInputs(NitricAcid.getFluid(2000)) - .output(dust, LeadNitrate, 9) - .fluidOutputs(Steam.getFluid(1 * SU)) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Massicot, 2) + fluidInputs(NitricAcid.getFluid(2000)) + output(dust, LeadNitrate, 9) + fluidOutputs(Steam.getFluid(1 * SU)) + EUt(VA[MV]) + duration(4 * SECOND) + } } private fun cobaltAluminateProcess() { // Al2O3 + CoO -> CoAl2O4 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Alumina, 5) - .input(dust, CobaltOxide, 2) - .output(dust, CobaltAluminate, 7) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Alumina, 5) + input(dust, CobaltOxide, 2) + output(dust, CobaltAluminate, 7) + EUt(VA[MV]) + duration(10 * SECOND) + } } private fun dsdaProcess() { // C7H8 + 2(HNO3)(H2SO4) + H2SO4 -> C7H7NO2 + 3H2SO4 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Toluene.getFluid(1000)) - .fluidInputs(NitrationMixture.getFluid(2000)) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(Nitrotoluene.getFluid(1000)) - .fluidOutputs(DilutedSulfuricAcid.getFluid(3000)) - .EUt(VA[EV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Toluene.getFluid(1000)) + fluidInputs(NitrationMixture.getFluid(2000)) + fluidInputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(Nitrotoluene.getFluid(1000)) + fluidOutputs(DilutedSulfuricAcid.getFluid(3000)) + EUt(VA[EV]) + duration(8 * SECOND) + } // NaClO + C7H7NO2 + 2H2SO4 -> 0.5C14H14N2O6S2 + NaCl + 4H2O - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Zinc) - .input(dust, SodiumHypochlorite, 3) - .fluidInputs(Nitrotoluene.getFluid(1000)) - .fluidInputs(SulfuricAcid.getFluid(2000)) - .output(dust, DiaminostilbenedisulfonicAcid, 19) // 38 / 2 - .output(dust, Salt, 2) - .fluidOutputs(Water.getFluid(4000)) - .EUt(VA[EV]) - .duration(16 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Zinc) + input(dust, SodiumHypochlorite, 3) + fluidInputs(Nitrotoluene.getFluid(1000)) + fluidInputs(SulfuricAcid.getFluid(2000)) + output(dust, DiaminostilbenedisulfonicAcid, 19) + output(dust, Salt, 2) + fluidOutputs(Water.getFluid(4000)) + EUt(VA[EV]) + duration(16 * SECOND) + } } private fun fluoresceinErythrosineProcess() { // C6H4(CO)2O + 2C6H6O2 -> C20H12O5 + 2H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, PhthalicAnhydride, 15) - .fluidInputs(Resorcinol.getFluid(2000)) - .output(dust, Fluorescein, 37) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[EV]) - .duration(11 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, PhthalicAnhydride, 15) + fluidInputs(Resorcinol.getFluid(2000)) + output(dust, Fluorescein, 37) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[EV]) + duration(11 * SECOND + 5 * TICK) + buildAndRegister() + } // C20H12O5 + 2NaOH + 4I -> C20H6O5Na2I4 + 4H + 2H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Fluorescein, 37) - .input(dust, SodiumHydroxide, 6) - .input(dust, Iodine, 4) - .output(dust, Erythrosine, 37) - .fluidOutputs(Hydrogen.getFluid(4000)) - .fluidOutputs(Steam.getFluid(2 * SU)) - .EUt(VHA[HV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Fluorescein, 37) + input(dust, SodiumHydroxide, 6) + input(dust, Iodine, 4) + output(dust, Erythrosine, 37) + fluidOutputs(Hydrogen.getFluid(4000)) + fluidOutputs(Steam.getFluid(2 * SU)) + EUt(VHA[HV]) + duration(7 * SECOND + 10 * TICK) + } } private fun prussianBlueProcess() { // FeCl2 + 6HCN + 4KOH -> K4Fe(CN)6(H2O)3 + 2HCl + H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PotassiumHydroxide, 12) - .fluidInputs(Iron2Chloride.getFluid(1000)) - .fluidInputs(HydrogenCyanide.getFluid(6000)) - .output(dust, PotassiumFerrocyanideTrihydrate, 26) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PotassiumHydroxide, 12) + fluidInputs(Iron2Chloride.getFluid(1000)) + fluidInputs(HydrogenCyanide.getFluid(6000)) + output(dust, PotassiumFerrocyanideTrihydrate, 26) + fluidInputs(HydrochloricAcid.getFluid(2000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // 3K4Fe(CN)6(H2O)3 + 4FeCl3 -> Fe4[Fe(CN)6]3 + 12KCl + 9H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, PotassiumFerrocyanideTrihydrate, 64) - .input(dust, PotassiumFerrocyanideTrihydrate, 14) - .fluidInputs(Iron3Chloride.getFluid(4000)) - .output(dust, PrussianBlue, 43) - .output(dust, RockSalt, 24) - .fluidOutputs(Water.getFluid(9000)) - .EUt(VA[EV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() - + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, PotassiumFerrocyanideTrihydrate, 64) + input(dust, PotassiumFerrocyanideTrihydrate, 14) + fluidInputs(Iron3Chloride.getFluid(4000)) + output(dust, PrussianBlue, 43) + output(dust, RockSalt, 24) + fluidOutputs(Water.getFluid(9000)) + EUt(VA[EV]) + duration(7 * SECOND + 10 * TICK) + } } private fun indigoProcess() { // 2C6H5NH2 + 2CH2O + 2HCN -> C16H10N2O2 + 2NH3 + 4H - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Aniline.getFluid(2000)) - .fluidInputs(Formaldehyde.getFluid(2000)) - .fluidInputs(HydrogenCyanide.getFluid(2000)) - .output(dust, Indigo, 30) - .fluidOutputs(Ammonia.getFluid(2000)) - .fluidOutputs(Hydrogen.getFluid(4000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Aniline.getFluid(2000)) + fluidInputs(Formaldehyde.getFluid(2000)) + fluidInputs(HydrogenCyanide.getFluid(2000)) + output(dust, Indigo, 30) + fluidOutputs(Ammonia.getFluid(2000)) + fluidOutputs(Hydrogen.getFluid(4000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // C16H10N2O2 + 4Br -> C16H10Br4N2O2 - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, Indigo, 30) - .fluidInputs(Bromine.getFluid(4000)) - .output(dust, Tetrabromoindigo, 34) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, Indigo, 30) + fluidInputs(Bromine.getFluid(4000)) + output(dust, Tetrabromoindigo, 34) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // C16H10N2O2 + C16H10Br4N2O2 -> (C16H10N2O2)2Br4 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Indigo) - .input(dust, Tetrabromoindigo) - .output(dust, CyanIndigo, 2) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Indigo) + input(dust, Tetrabromoindigo) + output(dust, CyanIndigo, 2) + EUt(VA[EV]) + duration(10 * SECOND) + } // (C16H10N2O2)2Br4 decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, CyanIndigo, 2) - .output(dust, Indigo) - .output(dust, Tetrabromoindigo) - .EUt(VA[LV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, CyanIndigo, 2) + output(dust, Indigo) + output(dust, Tetrabromoindigo) + EUt(VA[LV]) + duration(4 * SECOND + 5 * TICK) + } } private fun nigrosinProcess() { // 4C6H5NH2 + 2C6H5NO2 + HCl + 2H2SO4 + 2NaOH -> 0.5C36H26N5ClNa2S2O6 + 8H2O + NH3 - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(dust, SodiumHydroxide, 6) - .fluidInputs(Aniline.getFluid(4000)) - .fluidInputs(Nitrobenzene.getFluid(2000)) - .fluidInputs(HydrochloricAcid.getFluid(500)) - .fluidInputs(SulfuricAcid.getFluid(2000)) - .output(dust, Nigrosin, 39) - .fluidOutputs(Water.getFluid(8000)) - .fluidOutputs(Ammonia.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(12) + input(dust, SodiumHydroxide, 6) + fluidInputs(Aniline.getFluid(4000)) + fluidInputs(Nitrobenzene.getFluid(2000)) + fluidInputs(HydrochloricAcid.getFluid(500)) + fluidInputs(SulfuricAcid.getFluid(2000)) + output(dust, Nigrosin, 39) + fluidOutputs(Water.getFluid(8000)) + fluidOutputs(Ammonia.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } } private fun directBrown77Process() { // NaOH + C6H5NH2 + H2SO4 -> C6H6NNaO3S + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(Aniline.getFluid(1000)) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .output(dust, SodiumSulfanilate, 18) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, SodiumHydroxide, 3) + fluidInputs(Aniline.getFluid(1000)) + fluidInputs(SulfuricAcid.getFluid(1000)) + output(dust, SodiumSulfanilate, 18) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // C10H8 + HNO3 -> C10H8NH + 3O - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Naphthalene.getFluid(1000)) - .fluidInputs(NitricAcid.getFluid(1000)) - .fluidOutputs(Naphthylamine.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(3000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Naphthalene.getFluid(1000)) + fluidInputs(NitricAcid.getFluid(1000)) + fluidOutputs(Naphthylamine.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(3000)) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } // C6H6NNaO3S + 2C10H8NH + 3NaNO3 -> C26H19N6NaO3S + 3NaOH + H2O + 5O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumSulfanilate, 18) - .input(dust, SodiumNitrate, 15) - .fluidInputs(Naphthylamine.getFluid(2000)) - .output(dust, DirectBrown77, 56) - .output(dust, SodiumHydroxide, 9) - .fluidOutputs(Water.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(5000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumSulfanilate, 18) + input(dust, SodiumNitrate, 15) + fluidInputs(Naphthylamine.getFluid(2000)) + output(dust, DirectBrown77, 56) + output(dust, SodiumHydroxide, 9) + fluidOutputs(Water.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(5000)) + EUt(VA[EV]) + duration(5 * SECOND) + } } private fun scheelesGreenProcess() { // As2O3 + 3CuSO4 -> Cu3(AsO4)2 + 3SO2 + O (drop) - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, ArsenicTrioxide, 5) - .fluidInputs(BlueVitriol.getFluid(3000)) - .output(dust, CopperArsenite, 13) - .fluidOutputs(SulfurDioxide.getFluid(3000)) - .EUt(VA[MV]) - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, ArsenicTrioxide, 5) + fluidInputs(BlueVitriol.getFluid(3000)) + output(dust, CopperArsenite, 13) + fluidOutputs(SulfurDioxide.getFluid(3000)) + EUt(VA[MV]) + duration(12 * SECOND) + } // Cu3(AsO4)2 + 2HCl -> 2AsCuHO3 + CuCl2 + 2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, CopperArsenite, 13) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, ScheelesGreen, 12) - .output(dust, CopperDichloride, 3) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, CopperArsenite, 13) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, ScheelesGreen, 12) + output(dust, CopperDichloride, 3) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[MV]) + duration(6 * SECOND) + } } private fun mauveineProcess() { // 4C6H5NH2 + 17Cl + 2CH4-> C26H23N4 + 13HCl + 4CCl4 - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(13) - .fluidInputs(Aniline.getFluid(4000)) - .fluidInputs(Chlorine.getFluid(17000)) - .fluidInputs(Methane.getFluid(2000)) - .output(dust, Mauveine, 53) - .fluidOutputs(HydrochloricAcid.getFluid(13000)) - .fluidOutputs(CarbonTetrachloride.getFluid(4000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() - + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(13) + fluidInputs(Aniline.getFluid(4000)) + fluidInputs(Chlorine.getFluid(17000)) + fluidInputs(Methane.getFluid(2000)) + output(dust, Mauveine, 53) + fluidOutputs(HydrochloricAcid.getFluid(13000)) + fluidOutputs(CarbonTetrachloride.getFluid(4000)) + EUt(VA[IV]) + duration(10 * SECOND) + } } private fun diketopyrrolopyrroleProcess() { // C4H6O4 + 2C3H8O -> C7H12O4 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SuccinicAcid, 14) - .fluidInputs(IsopropylAlcohol.getFluid(2000)) - .fluidOutputs(IsopropylSuccinate.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[HV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SuccinicAcid, 14) + fluidInputs(IsopropylAlcohol.getFluid(2000)) + fluidOutputs(IsopropylSuccinate.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[HV]) + duration(4 * SECOND + 10 * TICK) + } // C7H12O4 + 2C5H5N + 5O -> C18H12N2O2 + CO2 + 5H2O - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(IsopropylSuccinate.getFluid(1000)) - .fluidInputs(Pyridine.getFluid(2000)) - .fluidInputs(Oxygen.getFluid(5000)) - .output(dust, Diketopyrrolopyrrole, 34) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .fluidOutputs(Ice.getFluid(5000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(IsopropylSuccinate.getFluid(1000)) + fluidInputs(Pyridine.getFluid(2000)) + fluidInputs(Oxygen.getFluid(5000)) + output(dust, Diketopyrrolopyrrole, 34) + fluidOutputs(CarbonDioxide.getFluid(1000)) + fluidOutputs(Ice.getFluid(5000)) + EUt(VA[EV]) + duration(5 * SECOND) + } } private fun eosinYProcess() { - // 2C2H4Br2 + Na2O + C20H12O5 + 2O -> C20H6Br4Na2O5 + C4H9OH + 2H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, SodiumOxide, 3) - .input(dust, Fluorescein, 37) - .fluidInputs(EthyleneDibromide.getFluid(2000)) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, EosinY, 37) - .fluidOutputs(Butanol.getFluid(1000)) - .fluidOutputs(Steam.getFluid(2 * SU)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() - + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, SodiumOxide, 3) + input(dust, Fluorescein, 37) + fluidInputs(EthyleneDibromide.getFluid(2000)) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, EosinY, 37) + fluidOutputs(Butanol.getFluid(1000)) + fluidOutputs(Steam.getFluid(2 * SU)) + EUt(VA[IV]) + duration(10 * SECOND) + } } private fun manganeseBlueProcess() { // Ba + 2Cl -> BaCl2 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Barium) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, BariumDichloride, 3) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Barium) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, BariumDichloride, 3) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // BaCl2 + K2MnO4 -> BaMnO4 + 2KCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, BariumDichloride, 3) - .input(dust, PotassiumManganate, 7) - .output(dust, BariumManganate, 6) - .output(dust, RockSalt, 4) - .EUt(VA[MV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, BariumDichloride, 3) + input(dust, PotassiumManganate, 7) + output(dust, BariumManganate, 6) + output(dust, RockSalt, 4) + EUt(VA[MV]) + duration(3 * SECOND) + } // BaSO4 + BaMnO4 -> (BaSO4)(BaMnO4) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Barite) - .input(dust, BariumManganate) - .output(dust, ManganeseBlue, 2) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Barite) + input(dust, BariumManganate) + output(dust, ManganeseBlue, 2) + EUt(VA[LV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EDTAChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EDTAChain.kt index 0c42729c8..769c40e1f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EDTAChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EDTAChain.kt @@ -24,6 +24,7 @@ import gregtech.api.unification.ore.OrePrefix.dustTiny import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CopperDichloride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Dichloroethane @@ -41,91 +42,90 @@ internal object EDTAChain fun init() { - // Cu + 2Cl -> CuCl2 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Copper) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, CopperDichloride, 3) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Copper) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, CopperDichloride, 3) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // C2H4 + 2HCl -> C2H4Cl2 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(dust, CopperDichloride) - .fluidInputs(Ethylene.getFluid(1000)) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .fluidOutputs(Dichloroethane.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(dust, CopperDichloride) + fluidInputs(Ethylene.getFluid(1000)) + fluidInputs(HydrochloricAcid.getFluid(2000)) + fluidOutputs(Dichloroethane.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[LV]) + duration(4 * SECOND) + } // Another usage of 1,2-Dichloroethane (C2H4Cl2). // C2H4Cl2 -> C2H3Cl + HCl - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Dichloroethane.getFluid(1000)) - .fluidOutputs(VinylChloride.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Dichloroethane.getFluid(1000)) + fluidOutputs(VinylChloride.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND) + } // C2H4Cl2 + 2NH3 -> C2H4(NH2)2 + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Dichloroethane.getFluid(1000)) - .fluidInputs(Ammonia.getFluid(2000)) - .fluidOutputs(Ethylenediamine.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Dichloroethane.getFluid(1000)) + fluidInputs(Ammonia.getFluid(2000)) + fluidOutputs(Ethylenediamine.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(4 * SECOND) + } // NaOH + HCN -> NaCN + H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumHydroxide, 3) - .fluidInputs(HydrogenCyanide.getFluid(1000)) - .output(dust, SodiumCyanide, 3) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[LV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumHydroxide, 3) + fluidInputs(HydrogenCyanide.getFluid(1000)) + output(dust, SodiumCyanide, 3) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[LV]) + duration(6 * SECOND) + } // CH3OH -> CH2O + 2H - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dustTiny, Silver) - .fluidInputs(Methanol.getFluid(1000)) - .fluidOutputs(Formaldehyde.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[HV]) - .duration(9 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dustTiny, Silver) + fluidInputs(Methanol.getFluid(1000)) + fluidOutputs(Formaldehyde.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[HV]) + duration(9 * SECOND) + } // C2H4(NH2)2 + 4CH2O + 4NaCN + 6H2O -> C10H12Na4N2O8 + 4NH3 + 2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumCyanide, 12) - .fluidInputs(Ethylenediamine.getFluid(1000)) - .fluidInputs(Formaldehyde.getFluid(4000)) - .fluidInputs(Water.getFluid(4000)) - .output(dust, TetrasodiumEDTA, 36) - .fluidOutputs(Ammonia.getFluid(4000)) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[HV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumCyanide, 12) + fluidInputs(Ethylenediamine.getFluid(1000)) + fluidInputs(Formaldehyde.getFluid(4000)) + fluidInputs(Water.getFluid(4000)) + output(dust, TetrasodiumEDTA, 36) + fluidOutputs(Ammonia.getFluid(4000)) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[HV]) + duration(6 * SECOND) + } // C10H12Na4N2O8 + 4HCl -> C10H16N2O8 + 4NaCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, TetrasodiumEDTA, 36) - .fluidInputs(HydrochloricAcid.getFluid(4000)) - .output(dust, EDTA, 32) - .output(dust, Salt, 8) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, TetrasodiumEDTA, 36) + fluidInputs(HydrochloricAcid.getFluid(4000)) + output(dust, EDTA, 32) + output(dust, Salt, 8) + EUt(VA[IV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EtchingMaterialsChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EtchingMaterialsChain.kt index 71e5c2f0d..9cfdb9f71 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EtchingMaterialsChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EtchingMaterialsChain.kt @@ -14,6 +14,7 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Ethylenediamine import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EthylenediaminePyrocatechol @@ -38,48 +39,48 @@ internal object EtchingMaterialsChain private fun tmahProcess() { // N(CH3)3 + CH3Cl -> N(CH3)4Cl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Trimethylamine.getFluid(1000)) - .fluidInputs(Chloromethane.getFluid(1000)) - .notConsumable(Ethanol.getFluid(4000)) - .output(dust, TetramethylammoniumChloride, 18) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Trimethylamine.getFluid(1000)) + fluidInputs(Chloromethane.getFluid(1000)) + notConsumable(Ethanol.getFluid(4000)) + output(dust, TetramethylammoniumChloride, 18) + EUt(VA[IV]) + duration(10 * SECOND) + } // N(CH3)4Cl + KOH -> N(CH3)4OH + KCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, TetramethylammoniumChloride, 18) - .input(dust, PotassiumHydroxide, 3) - .fluidInputs(Water.getFluid(5000)) - .output(dust, RockSalt, 2) - .fluidOutputs(TetramethylammoniumHydroxide.getFluid(5000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, TetramethylammoniumChloride, 18) + input(dust, PotassiumHydroxide, 3) + fluidInputs(Water.getFluid(5000)) + output(dust, RockSalt, 2) + fluidOutputs(TetramethylammoniumHydroxide.getFluid(5000)) + EUt(VA[IV]) + duration(10 * SECOND) + } } private fun edpProcess() { // C6H5OH + H2O2 -> C6H4(OH)2 + H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(Phenol.getFluid(1000)) - .fluidInputs(HydrogenPeroxide.getFluid(1000)) - .output(dust, Pyrocatechol, 12) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(20 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(Phenol.getFluid(1000)) + fluidInputs(HydrogenPeroxide.getFluid(1000)) + output(dust, Pyrocatechol, 12) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(20 * SECOND) + } // C6H4(OH)2 + 0.5H2O + C6H6O2 -> (C6H4(OH)2)(C6H6O2) - MIXER_RECIPES.recipeBuilder() - .input(dust, Pyrocatechol, 3) - .fluidInputs(DistilledWater.getFluid(500)) - .fluidInputs(Ethylenediamine.getFluid(500)) - .fluidOutputs(EthylenediaminePyrocatechol.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + input(dust, Pyrocatechol, 3) + fluidInputs(DistilledWater.getFluid(500)) + fluidInputs(Ethylenediamine.getFluid(500)) + fluidOutputs(EthylenediaminePyrocatechol.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EternityChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EternityChain.kt index 899868c61..33885e009 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EternityChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EternityChain.kt @@ -4,11 +4,11 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeMaps.ARC_FURNACE_RECIPES -import gregtech.api.recipes.RecipeMaps.FORGE_HAMMER_RECIPES import gregtech.api.unification.material.Materials.Helium import gregtech.api.unification.ore.OrePrefix.block import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MATTER_RESHAPING_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Antimatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Eternity @@ -27,28 +27,27 @@ internal object EternityChain fun init() { // The first recipes to get Graviton Shard, and then should use Graviton Shard in QFT. - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(block, SpaceTime, 8) - .input(TIMEPIECE) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 2)) - .fluidInputs(Antimatter.getFluid(10_000)) - .output(GRAVITON_SHARD) - .fluidOutputs(Protomatter.getFluid(L * 4)) - .fluidOutputs(Helium.getPlasma(L * 4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(block, SpaceTime, 8) + input(TIMEPIECE) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 2)) + fluidInputs(Antimatter.getFluid(10_000)) + output(GRAVITON_SHARD) + fluidOutputs(Protomatter.getFluid(L * 4)) + fluidOutputs(Helium.getPlasma(L * 4)) + EUt(VA[UXV]) + duration(5 * SECOND) + } // Advanced recipes to breed more Graviton Shard. - ARC_FURNACE_RECIPES.recipeBuilder() - .input(block, SpaceTime) - .fluidInputs(Eternity.getFluid(L)) - .output(GRAVITON_SHARD) - .fluidOutputs(Infinity.getFluid(L * 4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() - + ARC_FURNACE_RECIPES.addRecipe { + input(block, SpaceTime) + fluidInputs(Eternity.getFluid(L)) + output(GRAVITON_SHARD) + fluidOutputs(Infinity.getFluid(L * 4)) + EUt(VA[UXV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EthyleneGlycolChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EthyleneGlycolChain.kt index ce6073a92..5732ecdf7 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EthyleneGlycolChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/EthyleneGlycolChain.kt @@ -19,6 +19,7 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Acetaldehyde @@ -33,49 +34,49 @@ internal object EthyleneGlycolChain fun init() { // 7C2H4 + 12O -> 6C2H4O (ethylene oxide) + 2CO2 + 2H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .notConsumable(dust, Silver) - .fluidInputs(Ethylene.getFluid(7000)) - .fluidInputs(Oxygen.getFluid(12000)) - .fluidOutputs(EthyleneOxide.getFluid(6000)) - .fluidOutputs(CarbonDioxide.getFluid(2000)) - .fluidOutputs(Steam.getFluid(2 * SU)) - .EUt(VA[HV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + notConsumable(dust, Silver) + fluidInputs(Ethylene.getFluid(7000)) + fluidInputs(Oxygen.getFluid(12000)) + fluidOutputs(EthyleneOxide.getFluid(6000)) + fluidOutputs(CarbonDioxide.getFluid(2000)) + fluidOutputs(Steam.getFluid(2 * SU)) + EUt(VA[HV]) + duration(7 * SECOND + 10 * TICK) + } // 7C2H4 + 12O -> 6C2H4O (acetaldehyde) + 2CO2 + 2H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(dust, Palladium) - .fluidInputs(Ethylene.getFluid(7000)) - .fluidInputs(Oxygen.getFluid(12000)) - .fluidOutputs(Acetaldehyde.getFluid(6000)) - .fluidOutputs(CarbonDioxide.getFluid(2000)) - .fluidOutputs(Steam.getFluid(2 * SU)) - .EUt(VA[EV]) - .duration(15 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(dust, Palladium) + fluidInputs(Ethylene.getFluid(7000)) + fluidInputs(Oxygen.getFluid(12000)) + fluidOutputs(Acetaldehyde.getFluid(6000)) + fluidOutputs(CarbonDioxide.getFluid(2000)) + fluidOutputs(Steam.getFluid(2 * SU)) + EUt(VA[EV]) + duration(15 * SECOND) + } - // C2H4O converts. - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .notConsumable(spring, Magnesium) - .fluidInputs(EthyleneOxide.getFluid(1000)) - .fluidOutputs(Acetaldehyde.getFluid(1000)) - .EUt(VA[MV]) - .duration(10 * TICK) - .buildAndRegister() + // C2H4O (ethylene oxide) -> C2H4O (acetaldehyde) + VACUUM_CHAMBER_RECIPES.addRecipe { + notConsumable(spring, Magnesium) + fluidInputs(EthyleneOxide.getFluid(1000)) + fluidOutputs(Acetaldehyde.getFluid(1000)) + EUt(VA[MV]) + duration(10 * TICK) + } // C2H4O + H2O -> C2H6O2 - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(EthyleneOxide.getFluid(1000)) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidInputs(CarbonDioxide.getFluid(100)) // as catalyst - .fluidOutputs(EthyleneGlycol.getFluid(1000)) - .EUt(VA[HV]) - .duration(20 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + fluidInputs(EthyleneOxide.getFluid(1000)) + fluidInputs(DistilledWater.getFluid(1000)) + fluidInputs(CarbonDioxide.getFluid(100)) // catalyst + fluidOutputs(EthyleneGlycol.getFluid(1000)) + EUt(VA[HV]) + duration(20 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FEPChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FEPChain.kt index 95f889804..2fdfe632a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FEPChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FEPChain.kt @@ -10,6 +10,7 @@ import gregtech.api.unification.material.Materials.Tetrafluoroethylene import gregtech.api.unification.ore.OrePrefix.stick import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.FluorinatedEthylenePropylene import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Hexafluoropropylene @@ -21,22 +22,22 @@ internal object FEPChain fun init() { // 3C2F4 -> 2C3F6 - PYROLYSE_RECIPES.recipeBuilder() - .notConsumable(stick, Steel) - .fluidInputs(Tetrafluoroethylene.getFluid(3000)) - .fluidOutputs(Hexafluoropropylene.getFluid(2000)) - .EUt(VA[HV]) - .duration(20 * SECOND) - .buildAndRegister() + PYROLYSE_RECIPES.addRecipe { + notConsumable(stick, Steel) + fluidInputs(Tetrafluoroethylene.getFluid(3000)) + fluidOutputs(Hexafluoropropylene.getFluid(2000)) + EUt(VA[HV]) + duration(20 * SECOND) + } // C2F4 + C3F6 -> C5F10 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Tetrafluoroethylene.getFluid(1000)) - .fluidInputs(Hexafluoropropylene.getFluid(1000)) - .fluidOutputs(FluorinatedEthylenePropylene.getFluid(1000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Tetrafluoroethylene.getFluid(1000)) + fluidInputs(Hexafluoropropylene.getFluid(1000)) + fluidOutputs(FluorinatedEthylenePropylene.getFluid(1000)) + EUt(VA[EV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FissionFuelChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FissionFuelChain.kt index 703b52eea..dae650cae 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FissionFuelChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FissionFuelChain.kt @@ -11,6 +11,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MOX import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PlutoniumDioxide @@ -28,24 +29,24 @@ object FissionFuelChain private fun moxProcess() { // Pu241 + 2O -> PuO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Plutonium241) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, PlutoniumDioxide, 3) - .EUt(VA[LV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Plutonium241) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, PlutoniumDioxide, 3) + EUt(VA[LV]) + duration(4 * SECOND + 10 * TICK) + } // PuO2 + 2UO2 -> (PuO2)(UO2)2 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, PlutoniumDioxide, 3) - .input(dust, Uraninite, 6) - .output(dust, MOX, 9) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, PlutoniumDioxide, 3) + input(dust, Uraninite, 6) + output(dust, MOX, 9) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FullereneChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FullereneChain.kt index c820b1718..e2a862390 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FullereneChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FullereneChain.kt @@ -9,7 +9,6 @@ import gregtech.api.GTValues.MV import gregtech.api.GTValues.UHV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.BREWING_RECIPES import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES @@ -47,6 +46,8 @@ import gregtech.api.unification.ore.OrePrefix.foil import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES @@ -97,184 +98,184 @@ internal object FullereneChain private fun truxeneProcess() { // Na + ? -> Na(C6H4C3H4)? - BREWING_RECIPES.recipeBuilder() - .input(dust, Sodium) - .fluidInputs(CoalTar.getFluid(1000)) - .fluidOutputs(SodioIndene.getFluid(1000)) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + BREWING_RECIPES.addRecipe { + input(dust, Sodium) + fluidInputs(CoalTar.getFluid(1000)) + fluidOutputs(SodioIndene.getFluid(1000)) + EUt(VA[IV]) + duration(5 * SECOND) + } // Na(C6H4C3H4)? + H2O -> Na(C6H4C3H4)·H2O - CRACKING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(SodioIndene.getFluid(1000)) - .fluidInputs(Steam.getFluid(1000)) - .fluidOutputs(SteamCrackedSodioIndene.getFluid(1000)) - .EUt(VA[IV]) - .duration(8 * SECOND) - .buildAndRegister() + CRACKING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(SodioIndene.getFluid(1000)) + fluidInputs(Steam.getFluid(1000)) + fluidOutputs(SteamCrackedSodioIndene.getFluid(1000)) + EUt(VA[IV]) + duration(8 * SECOND) + } // Distilled Na(C6H4C3H4)·H2O to split Na and C6H4C3H4 - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(SteamCrackedSodioIndene.getFluid(1000)) - .output(dust, Sodium) - .fluidOutputs(Indene.getFluid(1000)) - .EUt(VA[IV]) - .duration(12 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(SteamCrackedSodioIndene.getFluid(1000)) + output(dust, Sodium) + fluidOutputs(Indene.getFluid(1000)) + EUt(VA[IV]) + duration(12 * SECOND) + } // C6H4C3H4 + O -> C6H4C3H4O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Indene.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, Indanone, 18) - .EUt(VA[IV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Indene.getFluid(1000)) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, Indanone, 18) + EUt(VA[IV]) + duration(4 * SECOND) + } // 3C9H8O -> C27H18 + 3H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, Indanone, 54) - .fluidOutputs(Truxene.getFluid(1000)) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[EV]) - .duration(24 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, Indanone, 54) + fluidOutputs(Truxene.getFluid(1000)) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[EV]) + duration(24 * SECOND) + } } private fun bromoBromomethylNaphthaleneProcess() { // CH3OH + HBr -> CH3Br + H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Methanol.getFluid(1000)) - .fluidInputs(HydrobromicAcid.getFluid(1000)) - .fluidOutputs(Bromomethane.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Methanol.getFluid(1000)) + fluidInputs(HydrobromicAcid.getFluid(1000)) + fluidOutputs(Bromomethane.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[LV]) + duration(8 * SECOND) + } // C10H8 + 2CH3Br -> C11H8Br2 + CH4 + 2H (lost) - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Naphthalene.getFluid(1000)) - .fluidInputs(Bromomethane.getFluid(2000)) - .fluidOutputs(BromoBromomethylNaphthalene.getFluid(1000)) - .fluidOutputs(Methane.getFluid(1000)) - .EUt(VA[IV]) - .duration(16 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Naphthalene.getFluid(1000)) + fluidInputs(Bromomethane.getFluid(2000)) + fluidOutputs(BromoBromomethylNaphthalene.getFluid(1000)) + fluidOutputs(Methane.getFluid(1000)) + EUt(VA[IV]) + duration(16 * SECOND) + } } private fun btabProcess() { // C7H8 (C6H5CH3) + Br -> C6H5CH2Br - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Toluene.getFluid(1000)) - .fluidInputs(Bromine.getFluid(1000)) - .fluidOutputs(BenzylBromide.getFluid(1000)) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Toluene.getFluid(1000)) + fluidInputs(Bromine.getFluid(1000)) + fluidOutputs(BenzylBromide.getFluid(1000)) + EUt(VA[HV]) + duration(2 * SECOND) + } // C6H5CH2Br + (CH3)3N -> C6H5CH2N(CH3)3Br - MIXER_RECIPES.recipeBuilder() - .fluidInputs(BenzylBromide.getFluid(1000)) - .fluidInputs(Trimethylamine.getFluid(1000)) - .output(dust, BenzyltrimethylammoniumBromide, 28) - .EUt(VA[LuV]) - .duration(4 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(BenzylBromide.getFluid(1000)) + fluidInputs(Trimethylamine.getFluid(1000)) + output(dust, BenzyltrimethylammoniumBromide, 28) + EUt(VA[LuV]) + duration(4 * SECOND) + } // C6H5CH2N(CH3)3Br decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, BenzyltrimethylammoniumBromide, 28) - .fluidOutputs(BenzylBromide.getFluid(1000)) - .fluidOutputs(Trimethylamine.getFluid(1000)) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, BenzyltrimethylammoniumBromide, 28) + fluidOutputs(BenzylBromide.getFluid(1000)) + fluidOutputs(Trimethylamine.getFluid(1000)) + EUt(VA[MV]) + duration(8 * SECOND) + } } private fun potassiumTertbutoxideProcess() { // C4H10 + 2Cl -> C4H9Cl + HCl - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Butane.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(2000)) - .fluidOutputs(Chlorobutane.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Butane.getFluid(1000)) + fluidInputs(Chlorine.getFluid(2000)) + fluidOutputs(Chlorobutane.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // C4H9Cl + H2O -> C4H10O + HCl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Chlorobutane.getFluid(1000)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(TertbutylAlcohol.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[EV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Chlorobutane.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(TertbutylAlcohol.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[EV]) + duration(2 * SECOND + 10 * TICK) + } // KOH + C4H10O -> C4H9OK + H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, PotassiumHydroxide, 3) - .fluidInputs(TertbutylAlcohol.getFluid(1000)) - .output(dust, PotassiumTertbutoxide, 15) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, PotassiumHydroxide, 3) + fluidInputs(TertbutylAlcohol.getFluid(1000)) + output(dust, PotassiumTertbutoxide, 15) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } } private fun caesiumCarbonateProcess() { // 2Cs + H2O2 -> 2CsOH - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Caesium, 2) - .fluidInputs(HydrogenPeroxide.getFluid(1000)) - .output(dust, CaesiumHydroxide, 6) - .EUt(VA[HV]) - .duration(9 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Caesium, 2) + fluidInputs(HydrogenPeroxide.getFluid(1000)) + output(dust, CaesiumHydroxide, 6) + EUt(VA[HV]) + duration(9 * SECOND) + } // CsOH + CO2 -> Cs2CO3 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, CaesiumHydroxide, 3) - .fluidInputs(CarbonDioxide.getFluid(1000)) - .output(dust, CaesiumCarbonate, 6) - .EUt(VA[EV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, CaesiumHydroxide, 3) + fluidInputs(CarbonDioxide.getFluid(1000)) + output(dust, CaesiumCarbonate, 6) + EUt(VA[EV]) + duration(4 * SECOND + 10 * TICK) + } } private fun dimethylacetamideProcess() { // SOCl2 + CH3COOH -> CH3COCl + SO2 + HCl - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(ThionylChloride.getFluid(1000)) - .fluidInputs(AceticAcid.getFluid(1000)) - .fluidOutputs(AcetylChloride.getFluid(1000)) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(ThionylChloride.getFluid(1000)) + fluidInputs(AceticAcid.getFluid(1000)) + fluidOutputs(AcetylChloride.getFluid(1000)) + fluidOutputs(SulfurDioxide.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(15 * SECOND) + } // NaOH + CH3COCl + (CH3)2NH -> (CH3)2NC(O)CH3 + NaCl + H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumHydroxide, 3) - .fluidInputs(AcetylChloride.getFluid(1000)) - .fluidInputs(Dimethylamine.getFluid(1000)) - .output(dust, Salt, 2) - .fluidOutputs(Dimethylacetamide.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[IV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumHydroxide, 3) + fluidInputs(AcetylChloride.getFluid(1000)) + fluidInputs(Dimethylamine.getFluid(1000)) + output(dust, Salt, 2) + fluidOutputs(Dimethylacetamide.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[IV]) + duration(6 * SECOND) + } } /** @@ -290,54 +291,53 @@ internal object FullereneChain private fun fullereneProcess() { // C27H18 + 3C11H8Br2 -> C60H30 + 2HBr + 10H - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .notConsumable(dust, BenzyltrimethylammoniumBromide) - .notConsumable(dust, PotassiumTertbutoxide) - .notConsumable(dust, CaesiumCarbonate) - .input(dust, PalladiumAcetate) - .fluidInputs(Truxene.getFluid(1000)) - .fluidInputs(BromoBromomethylNaphthalene.getFluid(3000)) - .fluidInputs(Butyllithium.getFluid(10)) - .notConsumable(TertbutylAlcohol.getFluid(1)) - .notConsumable(Dimethylacetamide.getFluid(1)) - .output(dust, GeodesicPolyarene, 60) - .fluidOutputs(HydrobromicAcid.getFluid(2000)) - .fluidOutputs(Hydrogen.getFluid(10000)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + notConsumable(dust, BenzyltrimethylammoniumBromide) + notConsumable(dust, PotassiumTertbutoxide) + notConsumable(dust, CaesiumCarbonate) + input(dust, PalladiumAcetate) + fluidInputs(Truxene.getFluid(1000)) + fluidInputs(BromoBromomethylNaphthalene.getFluid(3000)) + fluidInputs(Butyllithium.getFluid(10)) + notConsumable(TertbutylAlcohol.getFluid(1)) + notConsumable(Dimethylacetamide.getFluid(1)) + output(dust, GeodesicPolyarene, 60) + fluidOutputs(HydrobromicAcid.getFluid(2000)) + fluidOutputs(Hydrogen.getFluid(10000)) + EUt(VA[UHV]) + duration(30 * SECOND) + cleanroom() + } // C60H30 -> C60 + 30H - PYROLYSE_RECIPES.recipeBuilder() - .input(dust, GeodesicPolyarene) - .input(foil, Platinum) - .output(dust, Fullerene) - .fluidOutputs(Hydrogen.getFluid(500)) - .EUt(VA[UHV]) - .duration(10 * TICK) - .buildAndRegister() + PYROLYSE_RECIPES.addRecipe { + input(dust, GeodesicPolyarene) + input(foil, Platinum) + output(dust, Fullerene) + fluidOutputs(Hydrogen.getFluid(500)) + EUt(VA[UHV]) + duration(10 * TICK) + } // Advanced recipes for C60H30. // 10C8H10 + 10C10H8 -> 3C60H30 + 90H - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .notConsumable(dust, Triphenylphosphine) - .notConsumable(dust, SuccinimidylAcetate) - .notConsumable(dust, BenzyltrimethylammoniumBromide) - .notConsumable(dust, Iodine) - .notConsumable(Butyllithium.getFluid(1)) - .notConsumable(Bromine.getFluid(1)) - .fluidInputs(Ethylbenzene.getFluid(10000)) - .fluidInputs(Naphthalene.getFluid(10000)) - .output(dust, GeodesicPolyarene, 64) - .output(dust, GeodesicPolyarene, 64) - .output(dust, GeodesicPolyarene, 52) - .fluidOutputs(Hydrogen.getFluid(90000)) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - + CHEMICAL_PLANT_RECIPES.addRecipe { + notConsumable(dust, Triphenylphosphine) + notConsumable(dust, SuccinimidylAcetate) + notConsumable(dust, BenzyltrimethylammoniumBromide) + notConsumable(dust, Iodine) + notConsumable(Butyllithium.getFluid(1)) + notConsumable(Bromine.getFluid(1)) + fluidInputs(Ethylbenzene.getFluid(10000)) + fluidInputs(Naphthalene.getFluid(10000)) + output(dust, GeodesicPolyarene, 64) + output(dust, GeodesicPolyarene, 64) + output(dust, GeodesicPolyarene, 52) + fluidOutputs(Hydrogen.getFluid(90000)) + EUt(VA[UXV]) + duration(20 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FullerenePolymerMatrixChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FullerenePolymerMatrixChain.kt index 2f2624388..cf1545f2a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FullerenePolymerMatrixChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/FullerenePolymerMatrixChain.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.LARGE_CHEMICAL_RECIPES @@ -48,6 +47,8 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -93,213 +94,214 @@ internal object FullerenePolymerMatrixChain private fun palladiumFullereneMatrixProcess() { // CH3NH2 + 2Cl + C2H4O2 -> C3H7NO2 + 2HCl - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .notConsumable(dust, PhthalicAnhydride) - .fluidInputs(Methylamine.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(2000)) - .fluidInputs(AceticAcid.getFluid(1000)) - .output(dust, Sarcosine, 13) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[EV]) - .duration(4 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + notConsumable(dust, PhthalicAnhydride) + fluidInputs(Methylamine.getFluid(1000)) + fluidInputs(Chlorine.getFluid(2000)) + fluidInputs(AceticAcid.getFluid(1000)) + output(dust, Sarcosine, 13) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[EV]) + duration(4 * SECOND) + } // C2H6O + NaOH -> C2H5ONa + H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(Ethanol.getFluid(1000)) - .output(dust, SodiumEthoxide, 9) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, SodiumHydroxide, 3) + fluidInputs(Ethanol.getFluid(1000)) + output(dust, SodiumEthoxide, 9) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // Fe + 2HCl -> FeCl2 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Iron) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .fluidOutputs(Iron2Chloride.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[LV]) - .duration(20 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Iron) + fluidInputs(HydrochloricAcid.getFluid(2000)) + fluidOutputs(Iron2Chloride.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[LV]) + duration(20 * SECOND) + } // FeCl2 + C10H12 -> C10H10Fe + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Iron2Chloride.getFluid(1000)) - .fluidInputs(Dicyclopentadiene.getFluid(1000)) - .fluidOutputs(Ferrocene.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[IV]) - .duration(4 * SECOND + 12 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Iron2Chloride.getFluid(1000)) + fluidInputs(Dicyclopentadiene.getFluid(1000)) + fluidOutputs(Ferrocene.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[IV]) + duration(4 * SECOND + 12 * TICK) + } // C60 + C3H7NO2 + 3C2H5ONa + C10H10Fe + CHCl3 + CH4 -> C74H19NFe + 3NaCl + CO2 + 3C2H6O - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Fullerene) // C60 - .input(dust, Sarcosine, 13) // C3H7NO2 - .input(dust, SodiumEthoxide, 27) // C2H5ONa - .fluidInputs(Ferrocene.getFluid(1000)) // C10H10Fe - .fluidInputs(Chloroform.getFluid(1000)) // CHCl3 - .fluidInputs(Methane.getFluid(1000)) // CH4 - .notConsumable(TitaniumTetrachloride.getFluid(1)) - .notConsumable(Toluene.getFluid(1)) - .output(dust, Salt, 6) // NaCl - .fluidOutputs(Ferrocenylfulleropyrddolidine.getFluid(1000)) // C74H19NFe - .fluidOutputs(CarbonDioxide.getFluid(1000)) // CO2 - .fluidOutputs(Ethanol.getFluid(3000)) // C2H6O - .EUt(VA[UEV]) - .duration(30 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, Fullerene) // C60 + input(dust, Sarcosine, 13) // C3H7NO2 + input(dust, SodiumEthoxide, 27) // C2H5ONa + fluidInputs(Ferrocene.getFluid(1000)) // C10H10Fe + fluidInputs(Chloroform.getFluid(1000)) // CHCl3 + fluidInputs(Methane.getFluid(1000)) // CH4 + notConsumable(TitaniumTetrachloride.getFluid(1)) + notConsumable(Toluene.getFluid(1)) + output(dust, Salt, 6) // NaCl + fluidOutputs(Ferrocenylfulleropyrddolidine.getFluid(1000)) // C74H19NFe + fluidOutputs(CarbonDioxide.getFluid(1000)) // CO2 + fluidOutputs(Ethanol.getFluid(3000)) // C2H6O + EUt(VA[UEV]) + duration(30 * SECOND) + } // Pd + C74H19NFe -> (C73H15NFe)Pd + CH4 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Palladium) - .fluidInputs(Ferrocenylfulleropyrddolidine.getFluid(1000)) - .notConsumable(AceticAcid.getFluid(1)) - .notConsumable(NitricAcid.getFluid(1)) - .output(dust, PalladiumFullereneMatrix) - .EUt(VA[UV]) - .duration(30 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Palladium) + fluidInputs(Ferrocenylfulleropyrddolidine.getFluid(1000)) + notConsumable(AceticAcid.getFluid(1)) + notConsumable(NitricAcid.getFluid(1)) + output(dust, PalladiumFullereneMatrix) + EUt(VA[UV]) + duration(30 * SECOND) + } // Advanced recipes of (C73H15NFe)Pd. // C60 + Pd + C3H7NO2 + C10H10Fe -> (C73H15NFe)Pd + H2O2 - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .notConsumable(dust, Alumina) - .notConsumable(dust, SodiumEthoxide) - .input(dust, Fullerene) - .input(dust, Palladium) - .input(dust, SodiumEthoxide, 13) - .fluidInputs(Ferrocene.getFluid(1000)) - .notConsumable(AceticAcid.getFluid(1)) - .notConsumable(Toluene.getFluid(1)) - .notConsumable(TitaniumTetrachloride.getFluid(1)) - .output(dust, PalladiumFullereneMatrix) - .fluidOutputs(HydrogenPeroxide.getFluid(1000)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + notConsumable(dust, Alumina) + notConsumable(dust, SodiumEthoxide) + input(dust, Fullerene) + input(dust, Palladium) + input(dust, SodiumEthoxide, 13) + fluidInputs(Ferrocene.getFluid(1000)) + notConsumable(AceticAcid.getFluid(1)) + notConsumable(Toluene.getFluid(1)) + notConsumable(TitaniumTetrachloride.getFluid(1)) + output(dust, PalladiumFullereneMatrix) + fluidOutputs(HydrogenPeroxide.getFluid(1000)) + EUt(VA[UXV]) + duration(5 * SECOND) + } } private fun pcbsProcess() { // C6H6 + C8H8 + CaCO3 -> C11H14O2 + CaC2 + CO + C - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Calcite, 5) - .fluidInputs(Benzene.getFluid(1000)) - .fluidInputs(Styrene.getFluid(1000)) - .output(dust, CalciumCarbide, 3) - .chancedOutput(dust, Carbon, 1000, 0) - .fluidOutputs(PhenylpentanoicAcid.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Calcite, 5) + fluidInputs(Benzene.getFluid(1000)) + fluidInputs(Styrene.getFluid(1000)) + output(dust, CalciumCarbide, 3) + chancedOutput(dust, Carbon, 1000, 0) + fluidOutputs(PhenylpentanoicAcid.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // 2CH4O + H2S -> (CH3)2S + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Methanol.getFluid(2000)) - .fluidInputs(HydrogenSulfide.getFluid(1000)) - .fluidOutputs(DimethylSulfide.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Methanol.getFluid(2000)) + fluidInputs(HydrogenSulfide.getFluid(1000)) + fluidOutputs(DimethylSulfide.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // 2C60 + 2C11H14O2 + (CH3)2S + 2C6H5Cl + C2H4 -> 2C72H14O2 + 2C7H8 + 2HCl + H2S - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Fullerene, 2) - .fluidInputs(PhenylpentanoicAcid.getFluid(2000)) - .fluidInputs(DimethylSulfide.getFluid(1000)) - .fluidInputs(Chlorobenzene.getFluid(2000)) - .fluidInputs(Ethylene.getFluid(1000)) - .notConsumable(Ozone.getFluid(1)) - .fluidOutputs(PhenylC61ButyricAcid.getFluid(2000)) - .fluidOutputs(Toluene.getFluid(2000)) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .fluidOutputs(HydrogenSulfide.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(16 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, Fullerene, 2) + fluidInputs(PhenylpentanoicAcid.getFluid(2000)) + fluidInputs(DimethylSulfide.getFluid(1000)) + fluidInputs(Chlorobenzene.getFluid(2000)) + fluidInputs(Ethylene.getFluid(1000)) + notConsumable(Ozone.getFluid(1)) + fluidOutputs(PhenylC61ButyricAcid.getFluid(2000)) + fluidOutputs(Toluene.getFluid(2000)) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + fluidOutputs(HydrogenSulfide.getFluid(1000)) + EUt(VA[ZPM]) + duration(16 * SECOND) + } // C2H7N + C5H5N -> (CH3)2NC5H4N - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Pyridine.getFluid(1000)) - .fluidInputs(Dimethylamine.getFluid(1000)) - .output(dust, Dimethylaminopyridine, 19) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Pyridine.getFluid(1000)) + fluidInputs(Dimethylamine.getFluid(1000)) + output(dust, Dimethylaminopyridine, 19) + EUt(VA[IV]) + duration(5 * SECOND) + } // C3H6 + H2O -> C3H8O - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Propene.getFluid(1000)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(IsopropylAlcohol.getFluid(1000)) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Propene.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(IsopropylAlcohol.getFluid(1000)) + EUt(VA[HV]) + duration(4 * SECOND) + } // 2NH3 + COCl2 + 2C3H8O -> C7H14N2 + 2(HCl)(H2O) - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Triphenylphosphine) - .fluidInputs(Ammonia.getFluid(2000)) - .fluidInputs(Phosgene.getFluid(1000)) - .fluidInputs(IsopropylAlcohol.getFluid(2000)) - .fluidOutputs(Diisopropylcarbodiimide.getFluid(1000)) - .fluidOutputs(DilutedHydrochloricAcid.getFluid(4000)) - .EUt(VA[IV]) - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Triphenylphosphine) + fluidInputs(Ammonia.getFluid(2000)) + fluidInputs(Phosgene.getFluid(1000)) + fluidInputs(IsopropylAlcohol.getFluid(2000)) + fluidOutputs(Diisopropylcarbodiimide.getFluid(1000)) + fluidOutputs(DilutedHydrochloricAcid.getFluid(4000)) + EUt(VA[IV]) + duration(12 * SECOND + 10 * TICK) + } // C72H14O2 + C8H8 + CH2Cl2 + NaOH -> C80H21O2 + NaCl + HCl + CO + 3H - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Dimethylaminopyridine) - .input(dust, SodiumHydroxide, 3) - .notConsumable(Diisopropylcarbodiimide.getFluid(1)) - .fluidInputs(PhenylC61ButyricAcid.getFluid(1000)) - .fluidInputs(Styrene.getFluid(1000)) - .fluidInputs(Dichloromethane.getFluid(1000)) - .output(dust, Salt, 2) - .fluidOutputs(PhenylC61ButyricStyrene.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(3000)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Dimethylaminopyridine) + input(dust, SodiumHydroxide, 3) + notConsumable(Diisopropylcarbodiimide.getFluid(1)) + fluidInputs(PhenylC61ButyricAcid.getFluid(1000)) + fluidInputs(Styrene.getFluid(1000)) + fluidInputs(Dichloromethane.getFluid(1000)) + output(dust, Salt, 2) + fluidOutputs(PhenylC61ButyricStyrene.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(3000)) + EUt(VA[UEV]) + duration(20 * SECOND) + } // 8C60 + 7C8H8 + 8CH2Cl2 + 8C11H14O2 + 8(CH3)2S + 8C6H5Cl -> 8C80H21O2 + 8C7H8 + 8H2S + 24HCl - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .notConsumable(dust, Dimethylaminopyridine) - .input(dust, Fullerene, 8) - .fluidInputs(Styrene.getFluid(7000)) - .fluidInputs(Dichloromethane.getFluid(8000)) - .fluidInputs(PhenylpentanoicAcid.getFluid(8000)) - .fluidInputs(DimethylSulfide.getFluid(8000)) - .fluidInputs(Chlorobenzene.getFluid(8000)) - .fluidOutputs(PhenylC61ButyricStyrene.getFluid(8000)) - .fluidOutputs(Toluene.getFluid(8000)) - .fluidOutputs(HydrogenSulfide.getFluid(8000)) - .fluidOutputs(HydrochloricAcid.getFluid(24000)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + notConsumable(dust, Dimethylaminopyridine) + input(dust, Fullerene, 8) + fluidInputs(Styrene.getFluid(7000)) + fluidInputs(Dichloromethane.getFluid(8000)) + fluidInputs(PhenylpentanoicAcid.getFluid(8000)) + fluidInputs(DimethylSulfide.getFluid(8000)) + fluidInputs(Chlorobenzene.getFluid(8000)) + fluidOutputs(PhenylC61ButyricStyrene.getFluid(8000)) + fluidOutputs(Toluene.getFluid(8000)) + fluidOutputs(HydrogenSulfide.getFluid(8000)) + fluidOutputs(HydrochloricAcid.getFluid(24000)) + EUt(VA[UXV]) + duration(5 * SECOND) + } } private fun fpmProcess() { // (C73H15NFe)Pd + C80H21O2 -> (C153H36NO2)PdFe - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, PalladiumFullereneMatrix) - .fluidInputs(PhenylC61ButyricStyrene.getFluid(1000)) - .output(dust, FullerenePolymerMatrix, 2) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, PalladiumFullereneMatrix) + fluidInputs(PhenylC61ButyricStyrene.getFluid(1000)) + output(dust, FullerenePolymerMatrix, 2) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GalliumNitrideChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GalliumNitrideChain.kt index 234e08e4d..c87da89a3 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GalliumNitrideChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GalliumNitrideChain.kt @@ -27,6 +27,7 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Alumina @@ -47,88 +48,88 @@ internal object GalliumNitrideChain fun init() { // Ga + 3Cl -> GaCl3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Gallium) - .fluidInputs(Chlorine.getFluid(3000)) - .output(dust, GalliumTrichloride, 4) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Gallium) + fluidInputs(Chlorine.getFluid(3000)) + output(dust, GalliumTrichloride, 4) + EUt(VA[LV]) + duration(5 * SECOND) + } // GaO2 + 3Cl -> GaCl3 + 2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, GalliumDioxide, 3) - .fluidInputs(Chlorine.getFluid(3000)) - .output(dust, GalliumTrichloride, 4) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, GalliumDioxide, 3) + fluidInputs(Chlorine.getFluid(3000)) + output(dust, GalliumTrichloride, 4) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[LV]) + duration(5 * SECOND) + } // Al + 3Na + 3CH3Cl -> 0.5Al2(CH3)6 + 3NaCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Aluminium) - .input(dust, Sodium, 3) - .fluidInputs(Chloromethane.getFluid(3000)) - .fluidOutputs(Trimethylaluminium.getFluid(500)) - .output(dust, Salt, 6) - .EUt(VA[EV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Aluminium) + input(dust, Sodium, 3) + fluidInputs(Chloromethane.getFluid(3000)) + fluidOutputs(Trimethylaluminium.getFluid(500)) + output(dust, Salt, 6) + EUt(VA[EV]) + duration(7 * SECOND + 10 * TICK) + } // GaCl3 + 0.5Al2(CH3)6 -> Ga(CH3)3 + AlCl3 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, GalliumTrichloride, 4) - .fluidInputs(Trimethylaluminium.getFluid(500)) - .output(dust, AluminiumTrichloride, 4) - .fluidOutputs(Trimethylgallium.getFluid(1000)) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, GalliumTrichloride, 4) + fluidInputs(Trimethylaluminium.getFluid(500)) + output(dust, AluminiumTrichloride, 4) + fluidOutputs(Trimethylgallium.getFluid(1000)) + EUt(VA[HV]) + duration(15 * SECOND) + } // AlCl3 + 3H2O -> Al(OH)3 + 3HCl - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, AluminiumTrichloride, 4) - .fluidInputs(Water.getFluid(3000)) - .output(dust, AluminiumHydroxide, 7) - .fluidOutputs(HydrochloricAcid.getFluid(3000)) - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, AluminiumTrichloride, 4) + fluidInputs(Water.getFluid(3000)) + output(dust, AluminiumHydroxide, 7) + fluidOutputs(HydrochloricAcid.getFluid(3000)) + EUt(VA[LV]) + duration(3 * SECOND) + } // 2Al(OH)3 -> Al2O3 + 3H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, AluminiumHydroxide, 14) - .output(dust, Alumina, 5) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VH[LV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, AluminiumHydroxide, 14) + output(dust, Alumina, 5) + fluidOutputs(Water.getFluid(3000)) + EUt(VH[LV]) + duration(3 * SECOND) + } // 2Ga(CH3)3 + 3H2O -> Ga2O3 + 3CH4 + 3H (drop) - CVD_RECIPES.recipeBuilder() - .input(plate, Sapphire) - .fluidInputs(Trimethylgallium.getFluid(2000)) - .fluidInputs(Water.getFluid(3000)) - .output(dust, GalliumTrioxide, 5) - .fluidOutputs(Methane.getFluid(3000)) - .EUt(VA[HV]) - .duration(8 * SECOND) - .temperature(923) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(plate, Sapphire) + fluidInputs(Trimethylgallium.getFluid(2000)) + fluidInputs(Water.getFluid(3000)) + output(dust, GalliumTrioxide, 5) + fluidOutputs(Methane.getFluid(3000)) + EUt(VA[HV]) + duration(8 * SECOND) + temperature(923) + } // Ga2O3 + 2NH3 -> 2GaN + 3H2O - CVD_RECIPES.recipeBuilder() - .input(dust, GalliumTrioxide, 5) - .fluidInputs(Ammonia.getFluid(2000)) - .output(dust, GalliumNitride, 4) - .fluidOutputs(Steam.getFluid(3 * SU)) - .EUt(VA[LuV]) - .duration(12 * SECOND + 10 * TICK) - .temperature(1023) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, GalliumTrioxide, 5) + fluidInputs(Ammonia.getFluid(2000)) + output(dust, GalliumNitride, 4) + fluidOutputs(Steam.getFluid(3 * SU)) + EUt(VA[LuV]) + duration(12 * SECOND + 10 * TICK) + temperature(1023) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GrapheneChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GrapheneChain.kt index 4f41d31e9..4840bb6f1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GrapheneChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GrapheneChain.kt @@ -17,6 +17,7 @@ import gregtech.api.unification.material.Materials.SodiumHydroxide import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.GrapheneOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Hydrazine @@ -29,47 +30,46 @@ internal object GrapheneChain fun init() { - // Remove original recipes. + // Remove original graphene mixing recipes. GTLiteRecipeHandler.removeMixerRecipes( - arrayOf(OreDictUnifier.get(dust, Graphite), - OreDictUnifier.get(dust, Carbon, 4), - OreDictUnifier.get(dust, Silicon), - IntCircuitIngredient.getIntegratedCircuit(1))) + OreDictUnifier.get(dust, Graphite), + OreDictUnifier.get(dust, Carbon, 4), + OreDictUnifier.get(dust, Silicon), + IntCircuitIngredient.getIntegratedCircuit(1)) // C8 + 2(HNO3)(H2SO4) -> C8O + (H2SO4)2(H2O) + HNO3 - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, SodiumHydroxide) - .input(dust, Graphite) - .fluidInputs(NitrationMixture.getFluid(2000)) - .output(dust, GrapheneOxide) - .fluidOutputs(DilutedSulfuricAcid.getFluid(1000)) - .fluidOutputs(NitricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, SodiumHydroxide) + input(dust, Graphite) + fluidInputs(NitrationMixture.getFluid(2000)) + output(dust, GrapheneOxide) + fluidOutputs(DilutedSulfuricAcid.getFluid(1000)) + fluidOutputs(NitricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // C8O + N2H + Ar -> C8 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, GrapheneOxide, 1) - .fluidInputs(Hydrazine.getFluid(100)) - .fluidInputs(Argon.getFluid(50)) - .output(dust, Graphene, 1) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, GrapheneOxide) + fluidInputs(Hydrazine.getFluid(100)) + fluidInputs(Argon.getFluid(50)) + output(dust, Graphene) + EUt(VA[HV]) + duration(5 * SECOND) + } // One-step recipe from Graphite to Graphene. - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(MAGNETRON) - .input(dust, Graphite, 1) - .fluidInputs(NitrationMixture.getFluid(2000)) - .output(dust, Graphene, 1) - .fluidOutputs(DilutedSulfuricAcid.getFluid(1000)) - .fluidOutputs(NitricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + notConsumable(MAGNETRON) + input(dust, Graphite) + fluidInputs(NitrationMixture.getFluid(2000)) + output(dust, Graphene) + fluidOutputs(DilutedSulfuricAcid.getFluid(1000)) + fluidOutputs(NitricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GrowthMediumChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GrowthMediumChain.kt index eccbf011e..04fd049b3 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GrowthMediumChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/GrowthMediumChain.kt @@ -12,8 +12,6 @@ import gregtech.api.GTValues.V import gregtech.api.GTValues.VA import gregtech.api.GTValues.VHA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.BREWING_RECIPES import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES @@ -54,6 +52,11 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.sterileCleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BIO_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.LARGE_MIXER_RECIPES @@ -85,9 +88,8 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.DIRTY_PETRI_DISH import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ESCHERICHIA_COLI_PETRI_DISH import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.MUD_BALL import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.STREPTOCOCCUS_PYOGENES_PETRI_DISH -import net.minecraft.init.Blocks -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Blocks.DIRT +import net.minecraft.init.Items.ROTTEN_FLESH internal object GrowthMediumChain { @@ -105,359 +107,354 @@ internal object GrowthMediumChain private fun bloodProcess() { // Blood -> Blood Cells + Blood Plasma - SONICATION_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Blood.getFluid(1000)) - .fluidOutputs(BloodCells.getFluid(500)) - .fluidOutputs(BloodPlasma.getFluid(500)) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() + SONICATION_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Blood.getFluid(1000)) + fluidOutputs(BloodCells.getFluid(500)) + fluidOutputs(BloodPlasma.getFluid(500)) + EUt(VA[HV]) + duration(40 * SECOND) + } // Blood Plasma -> bFGF, EGF, CAT - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(BloodPlasma.getFluid(1000)) - .fluidOutputs(BFGF.getFluid(200)) - .fluidOutputs(EGF.getFluid(200)) - .fluidOutputs(CAT.getFluid(200)) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(BloodPlasma.getFluid(1000)) + fluidOutputs(BFGF.getFluid(200)) + fluidOutputs(EGF.getFluid(200)) + fluidOutputs(CAT.getFluid(200)) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } // Blood and Meat convert. - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BALL) - .fluidInputs(Blood.getFluid(L)) - .output(dust, Meat) - .EUt(VA[ULV]) - .duration(4 * TICK) - .buildAndRegister() - - EXTRACTOR_RECIPES.recipeBuilder() - .input(dust, Meat) - .fluidOutputs(Blood.getFluid(L)) - .EUt(V[ULV]) - .duration(8 * TICK) - .buildAndRegister() - + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BALL) + fluidInputs(Blood.getFluid(L)) + output(dust, Meat) + EUt(VA[ULV]) + duration(4 * TICK) + } + + EXTRACTOR_RECIPES.addRecipe { + input(dust, Meat) + fluidOutputs(Blood.getFluid(L)) + EUt(V[ULV]) + duration(8 * TICK) + } } private fun bacterialGrowthMediumProcess() { - // Deleted original BacterialSludge -> EnrichedBacterialSludge brewing recipe. - GTRecipeHandler.removeRecipesByInputs(BREWING_RECIPES, + // Deleted original Bacterial Sludge -> Enriched Bacterial Sludge brewing recipe. + BREWING_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Uranium238)), arrayOf(BacterialSludge.getFluid(1000))) - GTRecipeHandler.removeRecipesByInputs(BREWING_RECIPES, + BREWING_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dustTiny, Uranium235)), arrayOf(BacterialSludge.getFluid(1000))) - GTRecipeHandler.removeRecipesByInputs(BREWING_RECIPES, + BREWING_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dustTiny, Naquadria)), arrayOf(BacterialSludge.getFluid(1000))) // 2x BacterialSludge -> 1x EnrichedBacterialSludge - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(BacterialSludge.getFluid(200)) - .fluidOutputs(EnrichedBacterialSludge.getFluid(100)) - .EUt(VA[EV]) - .duration(6 * SECOND + 8 * TICK) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(BacterialSludge.getFluid(200)) + fluidOutputs(EnrichedBacterialSludge.getFluid(100)) + EUt(VA[EV]) + duration(6 * SECOND + 8 * TICK) + sterileCleanroom() + } // Deleted original EnrichedBacterialSludge -> Mutagen distillation recipe. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(EnrichedBacterialSludge.getFluid(1000))) // 1x EnrichedBacterialSludge -> 1x Mutagen - BREWING_RECIPES.recipeBuilder() - .input("dustTinyRadioactive") - .fluidInputs(EnrichedBacterialSludge.getFluid(1000)) - .fluidOutputs(Mutagen.getFluid(1000)) - .EUt(VHA[HV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + BREWING_RECIPES.addRecipe { + input("dustTinyRadioactive") + fluidInputs(EnrichedBacterialSludge.getFluid(1000)) + fluidOutputs(Mutagen.getFluid(1000)) + EUt(VHA[HV]) + duration(20 * SECOND) + sterileCleanroom() + } // Gelatin Mixture GTLiteRecipeHandler.removeMixerRecipes( arrayOf(OreDictUnifier.get(dust, Collagen, 4)), arrayOf(PhosphoricAcid.getFluid(1000), - Water.getFluid(3000))) - - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Collagen, 4) - .input(dust, RedAlgae, 2) - .fluidInputs(PhosphoricAcid.getFluid(1000)) - .fluidInputs(DistilledWater.getFluid(2000)) - .fluidOutputs(GelatinMixture.getFluid(6000)) - .EUt(VA[HV]) - .duration(1 * MINUTE + 20 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() - + Water.getFluid(3000))) + + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Collagen, 4) + input(dust, RedAlgae, 2) + fluidInputs(PhosphoricAcid.getFluid(1000)) + fluidInputs(DistilledWater.getFluid(2000)) + fluidOutputs(GelatinMixture.getFluid(6000)) + EUt(VA[HV]) + duration(1 * MINUTE + 20 * SECOND) + sterileCleanroom() + } } private fun bacteriasProcess() { // Mud Ball - CHEMICAL_BATH_RECIPES.recipeBuilder() - .inputs(ItemStack(Blocks.DIRT)) - .fluidInputs(Water.getFluid(1000)) - .output(MUD_BALL, 4) - .EUt(VA[ULV]) - .duration(10 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + inputs(DIRT) + fluidInputs(Water.getFluid(1000)) + output(MUD_BALL, 4) + EUt(VA[ULV]) + duration(10 * TICK) + } // Yeast - BREWING_RECIPES.recipeBuilder() - .input(dust, Wheat) - .fluidInputs(Water.getFluid(1000)) - .output(dust, Yeast, 2) - .EUt(VA[LV]) - .duration(4 * TICK) - .buildAndRegister() + BREWING_RECIPES.addRecipe { + input(dust, Wheat) + fluidInputs(Water.getFluid(1000)) + output(dust, Yeast, 2) + EUt(VA[LV]) + duration(4 * TICK) + } // H2SO4 + H2O2 -> (H2SO4)(H2O2) - MIXER_RECIPES.recipeBuilder() - .fluidInputs(SulfuricAcid.getFluid(1000)) - .fluidInputs(HydrogenPeroxide.getFluid(1000)) - .fluidOutputs(PiranhaSolution.getFluid(2000)) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(SulfuricAcid.getFluid(1000)) + fluidInputs(HydrogenPeroxide.getFluid(1000)) + fluidOutputs(PiranhaSolution.getFluid(2000)) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // Dirty Petri Dish -> Petri Dish convert - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(DIRTY_PETRI_DISH) - .fluidInputs(PiranhaSolution.getFluid(100)) - .output(PETRI_DISH) - .EUt(VA[LV]) - .duration(1 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(DIRTY_PETRI_DISH) + fluidInputs(PiranhaSolution.getFluid(100)) + output(PETRI_DISH) + EUt(VA[LV]) + duration(1 * SECOND + 5 * TICK) + } // Brevibacterium Flavum Petri Dish - BIO_REACTOR_RECIPES.recipeBuilder() - .input(PETRI_DISH) - .input(MUD_BALL) - .fluidInputs(RawGrowthMedium.getFluid(100)) - .output(BREVIBACTERIUM_FLAVUM_PETRI_DISH) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() - - PACKER_RECIPES.recipeBuilder() - .input(BREVIBACTERIUM_FLAVUM_PETRI_DISH) - .output(dust, BrevibacteriumFlavum) - .output(DIRTY_PETRI_DISH) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + input(PETRI_DISH) + input(MUD_BALL) + fluidInputs(RawGrowthMedium.getFluid(100)) + output(BREVIBACTERIUM_FLAVUM_PETRI_DISH) + EUt(VA[LuV]) + duration(10 * SECOND) + sterileCleanroom() + } + + PACKER_RECIPES.addRecipe { + input(BREVIBACTERIUM_FLAVUM_PETRI_DISH) + output(dust, BrevibacteriumFlavum) + output(DIRTY_PETRI_DISH) + EUt(VA[HV]) + duration(15 * SECOND) + } // Cupriavidus Necator Petri Dish - BIO_REACTOR_RECIPES.recipeBuilder() - .input(PETRI_DISH) - .input(dust, Clay) - .fluidInputs(RawGrowthMedium.getFluid(100)) - .output(CUPRIAVIDUS_NECATOR_PETRI_DISH) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() - - PACKER_RECIPES.recipeBuilder() - .input(CUPRIAVIDUS_NECATOR_PETRI_DISH) - .output(dust, CupriavidusNecator) - .output(DIRTY_PETRI_DISH) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + input(PETRI_DISH) + input(dust, Clay) + fluidInputs(RawGrowthMedium.getFluid(100)) + output(CUPRIAVIDUS_NECATOR_PETRI_DISH) + EUt(VA[LuV]) + duration(10 * SECOND) + sterileCleanroom() + } + + PACKER_RECIPES.addRecipe { + input(CUPRIAVIDUS_NECATOR_PETRI_DISH) + output(dust, CupriavidusNecator) + output(DIRTY_PETRI_DISH) + EUt(VA[HV]) + duration(15 * SECOND) + } // Streptococcus Pyogenes Petri Dish (for Sugar processing, it is not required in this chain). - BIO_REACTOR_RECIPES.recipeBuilder() - .input(PETRI_DISH) - .inputs(ItemStack(Items.ROTTEN_FLESH)) - .fluidInputs(RawGrowthMedium.getFluid(100)) - .output(STREPTOCOCCUS_PYOGENES_PETRI_DISH) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() - - PACKER_RECIPES.recipeBuilder() - .input(STREPTOCOCCUS_PYOGENES_PETRI_DISH) - .output(dust, StreptococcusPyogenes) - .output(DIRTY_PETRI_DISH) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + input(PETRI_DISH) + inputs(ROTTEN_FLESH) + fluidInputs(RawGrowthMedium.getFluid(100)) + output(STREPTOCOCCUS_PYOGENES_PETRI_DISH) + EUt(VA[LuV]) + duration(10 * SECOND) + sterileCleanroom() + } + + PACKER_RECIPES.addRecipe { + input(STREPTOCOCCUS_PYOGENES_PETRI_DISH) + output(dust, StreptococcusPyogenes) + output(DIRTY_PETRI_DISH) + EUt(VA[HV]) + duration(15 * SECOND) + } // Escherichia Coli Petri Dish (for Succinic Acid processing, it is not required in this chain). - BIO_REACTOR_RECIPES.recipeBuilder() - .input(PETRI_DISH) - .input(dust, Meat) - .fluidInputs(RawGrowthMedium.getFluid(100)) - .output(ESCHERICHIA_COLI_PETRI_DISH) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() - - PACKER_RECIPES.recipeBuilder() - .input(ESCHERICHIA_COLI_PETRI_DISH) - .output(dust, EscherichiaColi) - .output(DIRTY_PETRI_DISH) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() - + BIO_REACTOR_RECIPES.addRecipe { + input(PETRI_DISH) + input(dust, Meat) + fluidInputs(RawGrowthMedium.getFluid(100)) + output(ESCHERICHIA_COLI_PETRI_DISH) + EUt(VA[LuV]) + duration(10 * SECOND) + sterileCleanroom() + } + + PACKER_RECIPES.addRecipe { + input(ESCHERICHIA_COLI_PETRI_DISH) + output(dust, EscherichiaColi) + output(DIRTY_PETRI_DISH) + EUt(VA[HV]) + duration(15 * SECOND) + } } private fun sterilizedGrowthMediumProcess() { - // Brevibacterium Flavum + Sugar -> 2C5H10N2O3 - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, BrevibacteriumFlavum) - .input(dust, Sugar) - .fluidInputs(DistilledWater.getFluid(1000)) - .output(dust, Glutamine, 40) - .EUt(VA[IV]) - .duration(25 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() - - // Shallow copying of Brevibacterium Flavum - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, BrevibacteriumFlavum) - .fluidInputs(RawGrowthMedium.getFluid(100)) - .fluidInputs(DistilledWater.getFluid(1000)) - .output(dust, BrevibacteriumFlavum, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + input(dust, BrevibacteriumFlavum) + input(dust, Sugar) + fluidInputs(DistilledWater.getFluid(1000)) + output(dust, Glutamine, 40) + EUt(VA[IV]) + duration(25 * SECOND) + sterileCleanroom() + } + + // Shallow copying of Brevibacterium Flavum. + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(2) + input(dust, BrevibacteriumFlavum) + fluidInputs(RawGrowthMedium.getFluid(100)) + fluidInputs(DistilledWater.getFluid(1000)) + output(dust, BrevibacteriumFlavum, 2) + EUt(VA[HV]) + duration(10 * SECOND) + sterileCleanroom() + } // Linoleic Acid - BREWING_RECIPES.recipeBuilder() - .input(dust, Yeast) - .fluidInputs(Biomass.getFluid(1000)) - .fluidOutputs(LinoleicAcid.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + BREWING_RECIPES.addRecipe { + input(dust, Yeast) + fluidInputs(Biomass.getFluid(1000)) + fluidOutputs(LinoleicAcid.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + cleanroom() + } // Vitamin-H - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, CupriavidusNecator) - .input(dust, Sugar) - .fluidInputs(Nitrogen.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(1000)) - .output(dust, Biotin, 64) // 2x - .EUt(VA[IV]) - .duration(25 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + input(dust, CupriavidusNecator) + input(dust, Sugar) + fluidInputs(Nitrogen.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(1000)) + output(dust, Biotin, 64) + EUt(VA[IV]) + duration(25 * SECOND) + sterileCleanroom() + } // Shallow copying of Cupriavidus Necator - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, CupriavidusNecator) - .fluidInputs(RawGrowthMedium.getFluid(100)) - .fluidInputs(DistilledWater.getFluid(1000)) - .output(dust, CupriavidusNecator, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(2) + input(dust, CupriavidusNecator) + fluidInputs(RawGrowthMedium.getFluid(100)) + fluidInputs(DistilledWater.getFluid(1000)) + output(dust, CupriavidusNecator, 2) + EUt(VA[HV]) + duration(10 * SECOND) + sterileCleanroom() + } // Deleted original RawGrowthMedium -> SterileGrowthMedium fluid heating recipes. - GTRecipeHandler.removeRecipesByInputs(FLUID_HEATER_RECIPES, + FLUID_HEATER_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(RawGrowthMedium.getFluid(100))) - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Glutamine, 20) - .input(dust, Biotin, 32) - .fluidInputs(Biomass.getFluid(16000)) - .fluidInputs(BloodCells.getFluid(4000)) - .fluidInputs(LinoleicAcid.getFluid(2000)) - .fluidInputs(BFGF.getFluid(500)) - .fluidInputs(EGF.getFluid(250)) - .fluidInputs(CAT.getFluid(100)) - .fluidOutputs(SterileGrowthMedium.getFluid(64000)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Glutamine, 20) + input(dust, Biotin, 32) + fluidInputs(Biomass.getFluid(16000)) + fluidInputs(BloodCells.getFluid(4000)) + fluidInputs(LinoleicAcid.getFluid(2000)) + fluidInputs(BFGF.getFluid(500)) + fluidInputs(EGF.getFluid(250)) + fluidInputs(CAT.getFluid(100)) + fluidOutputs(SterileGrowthMedium.getFluid(64000)) + EUt(VA[ZPM]) + duration(10 * SECOND) + sterileCleanroom() + } // Sorbose - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, StreptococcusPyogenes) - .input(dust, Glucose, 24) - .output(dust, Sorbose, 24) - .EUt(VA[IV]) - .duration(25 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + input(dust, StreptococcusPyogenes) + input(dust, Glucose, 24) + output(dust, Sorbose, 24) + EUt(VA[IV]) + duration(25 * SECOND) + sterileCleanroom() + } // Shallow copying of Streptococcus Pyogenes. - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, StreptococcusPyogenes) - .fluidInputs(RawGrowthMedium.getFluid(100)) - .fluidInputs(DistilledWater.getFluid(1000)) - .output(dust, StreptococcusPyogenes, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(2) + input(dust, StreptococcusPyogenes) + fluidInputs(RawGrowthMedium.getFluid(100)) + fluidInputs(DistilledWater.getFluid(1000)) + output(dust, StreptococcusPyogenes, 2) + EUt(VA[HV]) + duration(10 * SECOND) + sterileCleanroom() + } // Succinic Acid - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, EscherichiaColi) - .input(dust, Sugar) - .output(dust, SuccinicAcid, 14) - .EUt(VA[IV]) - .duration(25 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + input(dust, EscherichiaColi) + input(dust, Sugar) + output(dust, SuccinicAcid, 14) + EUt(VA[IV]) + duration(25 * SECOND) + sterileCleanroom() + } // Shallow copying of Escherichia Coli. - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, EscherichiaColi) - .fluidInputs(RawGrowthMedium.getFluid(100)) - .fluidInputs(DistilledWater.getFluid(1000)) - .output(dust, EscherichiaColi, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(2) + input(dust, EscherichiaColi) + fluidInputs(RawGrowthMedium.getFluid(100)) + fluidInputs(DistilledWater.getFluid(1000)) + output(dust, EscherichiaColi, 2) + EUt(VA[HV]) + duration(10 * SECOND) + sterileCleanroom() + } // Glucose - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, EscherichiaColi) - .input(dust, Cellulose, 21) - .output(dust, Glucose, 24) - .EUt(VA[IV]) - .duration(25 * SECOND) - .cleanroom(CleanroomType.STERILE_CLEANROOM) - .buildAndRegister() - + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(3) + input(dust, EscherichiaColi) + input(dust, Cellulose, 21) + output(dust, Glucose, 24) + EUt(VA[IV]) + duration(25 * SECOND) + sterileCleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HMXChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HMXChain.kt index 1db9719c8..b41859704 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HMXChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HMXChain.kt @@ -12,6 +12,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CyclotetramethyleneTetranitroamine import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Formaldehyde @@ -25,25 +26,24 @@ internal object HMXChain fun init() { // 6CH2O + 4NH3 -> (CH2)6N4 + 6H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Formaldehyde.getFluid(6000)) - .fluidInputs(Ammonia.getFluid(4000)) - .output(dust, Hexamethylenetetramine, 22) - .fluidOutputs(Steam.getFluid(6 * SU)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Formaldehyde.getFluid(6000)) + fluidInputs(Ammonia.getFluid(4000)) + output(dust, Hexamethylenetetramine, 22) + fluidOutputs(Steam.getFluid(6 * SU)) + EUt(VA[HV]) + duration(5 * SECOND) + } // (CH2)6N4 + 2N2O4 -> C4H8N8O8 + C2H4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Hexamethylenetetramine, 22) - .fluidInputs(DinitrogenTetroxide.getFluid(2000)) - .fluidOutputs(CyclotetramethyleneTetranitroamine.getFluid(1000)) - .fluidOutputs(Ethylene.getFluid(1000)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + input(dust, Hexamethylenetetramine, 22) + fluidInputs(DinitrogenTetroxide.getFluid(2000)) + fluidOutputs(CyclotetramethyleneTetranitroamine.getFluid(1000)) + fluidOutputs(Ethylene.getFluid(1000)) + EUt(VA[LuV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HNIWChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HNIWChain.kt index 133da6f7d..1b9ac4c99 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HNIWChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HNIWChain.kt @@ -9,7 +9,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM import gregtech.api.fluids.store.FluidStorageKeys -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.MIXER_RECIPES @@ -42,6 +41,8 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BATH_CONDENSER_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES @@ -99,270 +100,270 @@ internal object HNIWChain private fun hbhiwProcess() { // 4NH3 + H2SO4 + 3O -> (NH4)2SO4 + 3H2O - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Ammonia.getFluid(4000)) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, AmmoniumSulfate, 17) - .fluidOutputs(Ice.getFluid(3000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(Ammonia.getFluid(4000)) + fluidInputs(SulfuricAcid.getFluid(1000)) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, AmmoniumSulfate, 17) + fluidOutputs(Ice.getFluid(3000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // CaCO3 + (NH4)2SO4 -> 0.5CaSO4·(H2O)2 + (NH4)2CO3 - ROASTER_RECIPES.recipeBuilder() - .input(dust, Calcite, 5) - .input(dust, AmmoniumSulfate, 17) - .output(dust, Gypsum, 6) - .output(dust, AmmoniumCarbonate, 14) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Calcite, 5) + input(dust, AmmoniumSulfate, 17) + output(dust, Gypsum, 6) + output(dust, AmmoniumCarbonate, 14) + EUt(VA[HV]) + duration(15 * SECOND) + } // (NH4)2CO3 + 2C2H4O2 -> 2NH4CH3CO2 + CO2 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, AmmoniumCarbonate, 14) - .fluidInputs(AceticAcid.getFluid(2000)) - .output(dust, AmmoniumAcetate, 24) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, AmmoniumCarbonate, 14) + fluidInputs(AceticAcid.getFluid(2000)) + output(dust, AmmoniumAcetate, 24) + fluidOutputs(CarbonDioxide.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // NH4CH3CO2 -> CH3CONH2 + H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, AmmoniumAcetate, 12) - .output(dust, Acetamide, 9) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[MV]) - .duration(1 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, AmmoniumAcetate, 12) + output(dust, Acetamide, 9) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[MV]) + duration(1 * SECOND) + } // CH3CONH2 -> CH3CN + H2O - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, Acetamide, 9) - .fluidOutputs(Acetonitrile.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(1 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, Acetamide, 9) + fluidOutputs(Acetonitrile.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(1 * SECOND) + } // 2C2H4O + 2HNO3 -> 2C2H2O2 + N2O + 3H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Acetaldehyde.getFluid(2000)) - .fluidInputs(NitricAcid.getFluid(2000)) - .fluidOutputs(Glyoxal.getFluid(2000)) - .fluidOutputs(NitricOxide.getFluid(1000)) - .fluidOutputs(Steam.getFluid(3 * SU)) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Acetaldehyde.getFluid(2000)) + fluidInputs(NitricAcid.getFluid(2000)) + fluidOutputs(Glyoxal.getFluid(2000)) + fluidOutputs(NitricOxide.getFluid(1000)) + fluidOutputs(Steam.getFluid(3 * SU)) + EUt(VA[HV]) + duration(2 * SECOND) + } // C7H8 (C6H5CH3) + Cl -> C6H5CH2Cl - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Toluene.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(1000)) - .fluidOutputs(BenzylChloride.getFluid(1000)) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Toluene.getFluid(1000)) + fluidInputs(Chlorine.getFluid(1000)) + fluidOutputs(BenzylChloride.getFluid(1000)) + EUt(VA[HV]) + duration(2 * SECOND) + } // C7H7Cl + NH3 -> C7H9N + HCl - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(BenzylChloride.getFluid(1000)) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidOutputs(Benzylamine.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(BenzylChloride.getFluid(1000)) + fluidInputs(Ammonia.getFluid(1000)) + fluidOutputs(Benzylamine.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // CH3CN + 3C2H2O2 + 6C7H9N -> C48H48N6 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Acetonitrile.getFluid(1000)) - .fluidInputs(Glyoxal.getFluid(3000)) - .fluidInputs(Benzylamine.getFluid(6000)) - .output(dust, Hexabenzylhexaazaisowurtzitane, 64) - .output(dust, Hexabenzylhexaazaisowurtzitane, 38) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Acetonitrile.getFluid(1000)) + fluidInputs(Glyoxal.getFluid(3000)) + fluidInputs(Benzylamine.getFluid(6000)) + output(dust, Hexabenzylhexaazaisowurtzitane, 64) + output(dust, Hexabenzylhexaazaisowurtzitane, 38) + EUt(VA[IV]) + duration(5 * SECOND) + } } private fun dbtahiwProcess() { // C4H6O4 + C4H6O3 -> (CH2CO)2O + 2C2H4O2 - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, CalciumChloride) - .input(dust, SuccinicAcid, 14) - .fluidInputs(AceticAnhydride.getFluid(1000)) - .output(dust, SuccinicAnhydride, 11) - .fluidOutputs(AceticAcid.getFluid(2000)) - .EUt(VA[IV]) - .duration(2 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, CalciumChloride) + input(dust, SuccinicAcid, 14) + fluidInputs(AceticAnhydride.getFluid(1000)) + output(dust, SuccinicAnhydride, 11) + fluidOutputs(AceticAcid.getFluid(2000)) + EUt(VA[IV]) + duration(2 * SECOND) + } // (CH2CO)2O + NH3 -> (CH2CO)2NOH + 2H - for (fluidStack in arrayOf( + for (fluid in arrayOf( Water.getFluid(100), DistilledWater.getFluid(100), Ice.getFluid(50), Oxygen.getFluid(FluidStorageKeys.LIQUID, 25), Helium.getFluid(FluidStorageKeys.LIQUID, 10))) { - BATH_CONDENSER_RECIPES.recipeBuilder() - .input(dust, SuccinicAnhydride, 11) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidInputs(fluidStack) - .output(dust, NHydroxysuccinimide, 13) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[EV]) - .duration(4 * SECOND) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + input(dust, SuccinicAnhydride, 11) + fluidInputs(Ammonia.getFluid(1000)) + fluidInputs(fluid) + output(dust, NHydroxysuccinimide, 13) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[EV]) + duration(4 * SECOND) + } } // (CH2CO)2NOH + C4H6O3 -> C6H7NO4 + C2H4O2 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, NHydroxysuccinimide, 13) - .notConsumable(Trimethylamine.getFluid(1)) - .notConsumable(Tetrahydrofuran.getFluid(1)) - .fluidInputs(AceticAnhydride.getFluid(1000)) - .output(dust, SuccinimidylAcetate, 18) - .fluidOutputs(AceticAcid.getFluid(1000)) - .EUt(VA[IV]) - .duration(2 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, NHydroxysuccinimide, 13) + notConsumable(Trimethylamine.getFluid(1)) + notConsumable(Tetrahydrofuran.getFluid(1)) + fluidInputs(AceticAnhydride.getFluid(1000)) + output(dust, SuccinimidylAcetate, 18) + fluidOutputs(AceticAcid.getFluid(1000)) + EUt(VA[IV]) + duration(2 * SECOND) + } // C48H48N6 + 4C6H7NO4 + 8H -> C28H32N6O4 + 4C4H5NO2 + 4C7H8 + 4O - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, Hexabenzylhexaazaisowurtzitane, 64) - .input(dust, Hexabenzylhexaazaisowurtzitane, 38) - .input(dust, SuccinimidylAcetate, 64) - .input(dust, SuccinimidylAcetate, 8) - .fluidInputs(Hydrogen.getFluid(8000)) - .notConsumable(Ethylbenzene.getFluid(1)) - .notConsumable(Dimethylformamide.getFluid(1)) - .notConsumable(HydrobromicAcid.getFluid(1)) - .output(dust, Dibenzyltetraacetylhexaazaisowurtzitane, 64) - .output(dust, Dibenzyltetraacetylhexaazaisowurtzitane, 6) - .output(dust, Succinimide, 48) - .fluidOutputs(Toluene.getFluid(4000)) - .fluidOutputs(Oxygen.getFluid(4000)) - .EUt(VA[ZPM]) - .duration(6 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, Hexabenzylhexaazaisowurtzitane, 64) + input(dust, Hexabenzylhexaazaisowurtzitane, 38) + input(dust, SuccinimidylAcetate, 64) + input(dust, SuccinimidylAcetate, 8) + fluidInputs(Hydrogen.getFluid(8000)) + notConsumable(Ethylbenzene.getFluid(1)) + notConsumable(Dimethylformamide.getFluid(1)) + notConsumable(HydrobromicAcid.getFluid(1)) + output(dust, Dibenzyltetraacetylhexaazaisowurtzitane, 64) + output(dust, Dibenzyltetraacetylhexaazaisowurtzitane, 6) + output(dust, Succinimide, 48) + fluidOutputs(Toluene.getFluid(4000)) + fluidOutputs(Oxygen.getFluid(4000)) + EUt(VA[ZPM]) + duration(6 * SECOND) + cleanroom() + } // C4H5NO2 + H2O -> C4H6O4 + N (lost) - MIXER_RECIPES.recipeBuilder() - .input(dust, Succinimide, 12) - .fluidInputs(Water.getFluid(1000)) - .output(dust, SuccinicAcid, 14) - .EUt(VA[HV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + input(dust, Succinimide, 12) + fluidInputs(Water.getFluid(1000)) + output(dust, SuccinicAcid, 14) + EUt(VA[HV]) + duration(4 * SECOND + 10 * TICK) + } } private fun tadnhiwProcess() { // C28H32N6O4 + 6NaOBF4 + 2H2O -> C14H18N8O6 + 4NO + 2C7H6O - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, Dibenzyltetraacetylhexaazaisowurtzitane, 64) - .input(dust, Dibenzyltetraacetylhexaazaisowurtzitane, 6) - .input(dust, NitrosoniumTetrafluoroborate, 42) - .fluidInputs(Water.getFluid(2000)) - .output(dust, Tetraacetyldinitrosohexaazaisowurtzitane, 46) - .fluidOutputs(TetrafluoroboricAcid.getFluid(6000)) - .fluidOutputs(NitricOxide.getFluid(4000)) - .fluidOutputs(Benzaldehyde.getFluid(2000)) - .EUt(VA[IV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, Dibenzyltetraacetylhexaazaisowurtzitane, 64) + input(dust, Dibenzyltetraacetylhexaazaisowurtzitane, 6) + input(dust, NitrosoniumTetrafluoroborate, 42) + fluidInputs(Water.getFluid(2000)) + output(dust, Tetraacetyldinitrosohexaazaisowurtzitane, 46) + fluidOutputs(TetrafluoroboricAcid.getFluid(6000)) + fluidOutputs(NitricOxide.getFluid(4000)) + fluidOutputs(Benzaldehyde.getFluid(2000)) + EUt(VA[IV]) + duration(6 * SECOND) + } // C6H6 + CH2O -> C7H6O + 2H - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Benzene.getFluid(1000)) - .fluidInputs(Formaldehyde.getFluid(1000)) - .fluidOutputs(Benzaldehyde.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(Benzene.getFluid(1000)) + fluidInputs(Formaldehyde.getFluid(1000)) + fluidOutputs(Benzaldehyde.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // C7H6O -> C6H6 + CO - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(Benzaldehyde.getFluid(1000)) - .fluidOutputs(Benzene.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(Benzaldehyde.getFluid(1000)) + fluidOutputs(Benzene.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[LV]) + duration(3 * SECOND) + } } private fun crudeHniwProcess() { // BF3 + HF + HNO3 -> NaO2BF4 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(BoronTrifluoride.getFluid(1000)) - .fluidInputs(HydrofluoricAcid.getFluid(1000)) - .fluidInputs(NitricAcid.getFluid(1000)) - .output(dust, NitroniumTetrafluoroborate, 8) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[EV]) - .duration(2 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(BoronTrifluoride.getFluid(1000)) + fluidInputs(HydrofluoricAcid.getFluid(1000)) + fluidInputs(NitricAcid.getFluid(1000)) + output(dust, NitroniumTetrafluoroborate, 8) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[EV]) + duration(2 * SECOND) + } // 2BF3 + 2HF + 2N2O4 -> NaOBF4 + HNO3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(BoronTrifluoride.getFluid(2000)) - .fluidInputs(HydrofluoricAcid.getFluid(2000)) - .fluidInputs(DinitrogenTetroxide.getFluid(2000)) - .output(dust, NitrosoniumTetrafluoroborate, 7) - .fluidOutputs(NitricAcid.getFluid(1000)) - .EUt(VA[EV]) - .duration(2 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(BoronTrifluoride.getFluid(2000)) + fluidInputs(HydrofluoricAcid.getFluid(2000)) + fluidInputs(DinitrogenTetroxide.getFluid(2000)) + output(dust, NitrosoniumTetrafluoroborate, 7) + fluidOutputs(NitricAcid.getFluid(1000)) + EUt(VA[EV]) + duration(2 * SECOND) + } // C14H18N8O6 + 6NaO2BF4 + 4H2O -> C6H6N12O12 + 2NaOBF4 + 4HBF4 + 4C2H4O2 - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, Tetraacetyldinitrosohexaazaisowurtzitane, 46) - .input(dust, NitroniumTetrafluoroborate, 48) - .fluidInputs(Water.getFluid(4000)) - .output(dust, CrudeHexanitrohexaaxaisowurtzitane, 36) - .output(dust, NitrosoniumTetrafluoroborate, 14) - .fluidOutputs(TetrafluoroboricAcid.getFluid(4000)) - .fluidOutputs(AceticAcid.getFluid(4000)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, Tetraacetyldinitrosohexaazaisowurtzitane, 46) + input(dust, NitroniumTetrafluoroborate, 48) + fluidInputs(Water.getFluid(4000)) + output(dust, CrudeHexanitrohexaaxaisowurtzitane, 36) + output(dust, NitrosoniumTetrafluoroborate, 14) + fluidOutputs(TetrafluoroboricAcid.getFluid(4000)) + fluidOutputs(AceticAcid.getFluid(4000)) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // HBF4 + 3H2O -> 4HF + H3BO3 (cycle) - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(TetrafluoroboricAcid.getFluid(1000)) - .fluidInputs(Water.getFluid(3000)) - .output(dust, BoricAcid, 7) - .fluidOutputs(HydrofluoricAcid.getFluid(4000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(TetrafluoroboricAcid.getFluid(1000)) + fluidInputs(Water.getFluid(3000)) + output(dust, BoricAcid, 7) + fluidOutputs(HydrofluoricAcid.getFluid(4000)) + EUt(VA[MV]) + duration(5 * SECOND) + } } private fun hniwProcess() { // C6H6N12O12 + C2H4(NH2)2 -> C6H6N12O12 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, CrudeHexanitrohexaaxaisowurtzitane, 36) - .input(dust, SilicaGel, 3) - .fluidInputs(Ethylenediamine.getFluid(1000)) - .output(dust, Hexanitrohexaaxaisowurtzitane, 36) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, CrudeHexanitrohexaaxaisowurtzitane, 36) + input(dust, SilicaGel, 3) + fluidInputs(Ethylenediamine.getFluid(1000)) + output(dust, Hexanitrohexaaxaisowurtzitane, 36) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HalkoniteSteelChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HalkoniteSteelChain.kt index 44e0a1e9c..7e902a468 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HalkoniteSteelChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HalkoniteSteelChain.kt @@ -4,7 +4,6 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.LV import gregtech.api.GTValues.UEV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.FORGE_HAMMER_RECIPES @@ -37,7 +36,9 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.copy +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MATTER_RESHAPING_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HalkoniteSteel @@ -57,200 +58,200 @@ internal object HalkoniteSteelChain fun init() { // Resolve recipe conflicts between bedrockium 3:2 ingot to plate with bedrockium ingot to halkonite steel ingot. - GTRecipeHandler.removeRecipesByInputs(FORGE_HAMMER_RECIPES, OreDictUnifier.get(ingot, Bedrockium, 3)) - GTRecipeHandler.removeRecipesByInputs(MATTER_RESHAPING_RECIPES, OreDictUnifier.get(ingot, Bedrockium, 3)) - FORGE_HAMMER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(ingot, Bedrockium, 3) - .output(plate, Bedrockium, 2) - .EUt(VA[LV]) - .duration(4 * SECOND + 18 * TICK) - .buildAndRegister() + FORGE_HAMMER_RECIPES.removeRecipe(OreDictUnifier.get(ingot, Bedrockium, 3)) + MATTER_RESHAPING_RECIPES.removeRecipe(OreDictUnifier.get(ingot, Bedrockium, 3)) + FORGE_HAMMER_RECIPES.addRecipe { + circuitMeta(1) + input(ingot, Bedrockium, 3) + output(plate, Bedrockium, 2) + EUt(VA[LV]) + duration(4 * SECOND + 18 * TICK) + } // Ingot - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ingot, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L)) - .output(ingot, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(2) + input(ingot, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L)) + output(ingot, HalkoniteSteel) + EUt(VA[UEV]) + duration(8 * SECOND) + } // Block - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(block, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 9)) - .output(block, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 12 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(block, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 9)) + output(block, HalkoniteSteel) + EUt(VA[UEV]) + duration(1 * MINUTE + 12 * SECOND) + } // Plate - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(plate, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L)) - .output(plate, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(plate, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L)) + output(plate, HalkoniteSteel) + EUt(VA[UEV]) + duration(8 * SECOND) + } // Double Plate - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(plateDouble, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 2)) - .output(plateDouble, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(16 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(plateDouble, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 2)) + output(plateDouble, HalkoniteSteel) + EUt(VA[UEV]) + duration(16 * SECOND) + } // Dense Plate - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(plateDense, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 9)) - .output(plateDense, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 12 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(plateDense, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 9)) + output(plateDense, HalkoniteSteel) + EUt(VA[UEV]) + duration(1 * MINUTE + 12 * SECOND) + } // Resolve recipe conflicts between bedrockium stick to long stick with bedrockium stick to halkonite steel stick. - GTRecipeHandler.removeRecipesByInputs(FORGE_HAMMER_RECIPES, OreDictUnifier.get(stick, Bedrockium, 2)) - GTRecipeHandler.removeRecipesByInputs(MATTER_RESHAPING_RECIPES, OreDictUnifier.get(stick, Bedrockium, 2)) - FORGE_HAMMER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stick, Bedrockium, 2) - .output(stickLong, Bedrockium) - .EUt(VA[LV]) - .duration(4 * SECOND + 18 * TICK) - .buildAndRegister() - - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stick, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L / 2)) - .output(stick, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(4 * SECOND) - .buildAndRegister() + FORGE_HAMMER_RECIPES.removeRecipe(OreDictUnifier.get(stick, Bedrockium, 2)) + MATTER_RESHAPING_RECIPES.removeRecipe(OreDictUnifier.get(stick, Bedrockium, 2)) + FORGE_HAMMER_RECIPES.addRecipe { + circuitMeta(1) + input(stick, Bedrockium, 2) + output(stickLong, Bedrockium) + EUt(VA[LV]) + duration(4 * SECOND + 18 * TICK) + } + + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(2) + input(stick, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L / 2)) + output(stick, HalkoniteSteel) + EUt(VA[UEV]) + duration(4 * SECOND) + } // Long Stick - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(stickLong, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L)) - .output(stickLong, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(stickLong, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L)) + output(stickLong, HalkoniteSteel) + EUt(VA[UEV]) + duration(8 * SECOND) + } // Spring - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(spring, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L)) - .output(spring, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(spring, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L)) + output(spring, HalkoniteSteel) + EUt(VA[UEV]) + duration(8 * SECOND) + } // Small Spring - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(springSmall, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L / 2)) - .output(springSmall, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(4 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(springSmall, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L / 2)) + output(springSmall, HalkoniteSteel) + EUt(VA[UEV]) + duration(4 * SECOND) + } // Foil - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(foil, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L / 4)) - .output(foil, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(2 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(foil, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L / 4)) + output(foil, HalkoniteSteel) + EUt(VA[UEV]) + duration(2 * SECOND) + } // Bolt - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(bolt, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L / 8)) - .output(bolt, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(1 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(bolt, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L / 8)) + output(bolt, HalkoniteSteel) + EUt(VA[UEV]) + duration(1 * SECOND) + } // Screw - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(screw, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L / 8)) - .output(screw, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(1 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(screw, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L / 8)) + output(screw, HalkoniteSteel) + EUt(VA[UEV]) + duration(1 * SECOND) + } // Wire - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(wireGtSingle, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L / 2)) - .output(wireGtSingle, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(4 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(1) + input(wireGtSingle, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L / 2)) + output(wireGtSingle, HalkoniteSteel) + EUt(VA[UEV]) + duration(4 * SECOND) + } // 2x Wire - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(wireGtDouble, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L)) - .output(wireGtDouble, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(1) + input(wireGtDouble, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L)) + output(wireGtDouble, HalkoniteSteel) + EUt(VA[UEV]) + duration(8 * SECOND) + } // 4x Wire - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(wireGtQuadruple, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 2)) - .output(wireGtQuadruple, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(16 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(1) + input(wireGtQuadruple, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 2)) + output(wireGtQuadruple, HalkoniteSteel) + EUt(VA[UEV]) + duration(16 * SECOND) + } // 8x Wire - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(wireGtOctal, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 4)) - .output(wireGtOctal, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(32 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(1) + input(wireGtOctal, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 4)) + output(wireGtOctal, HalkoniteSteel) + EUt(VA[UEV]) + duration(32 * SECOND) + } // 16x Wire - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(wireGtHex, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 8)) - .output(wireGtHex, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 4 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(1) + input(wireGtHex, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 8)) + output(wireGtHex, HalkoniteSteel) + EUt(VA[UEV]) + duration(1 * MINUTE + 4 * SECOND) + } // Cable for (fluid in arrayOf( PolytetramethyleneGlycolRubber.getFluid(L / 2), PolyphosphonitrileFluoroRubber.getFluid(L / 2))) { - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(wireGtSingle, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L / 2)) - .fluidInputs(fluid) - .output(cableGtSingle, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(4 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(2) + input(wireGtSingle, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L / 2)) + fluidInputs(fluid) + output(cableGtSingle, HalkoniteSteel) + EUt(VA[UEV]) + duration(4 * SECOND) + } } // 2x Cable @@ -258,15 +259,15 @@ internal object HalkoniteSteelChain PolytetramethyleneGlycolRubber.getFluid(L), PolyphosphonitrileFluoroRubber.getFluid(L))) { - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(wireGtDouble, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L)) - .fluidInputs(fluid) - .output(cableGtDouble, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(2) + input(wireGtDouble, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L)) + fluidInputs(fluid) + output(cableGtDouble, HalkoniteSteel) + EUt(VA[UEV]) + duration(8 * SECOND) + } } // 4x Cable @@ -274,15 +275,15 @@ internal object HalkoniteSteelChain PolytetramethyleneGlycolRubber.getFluid(L * 2), PolyphosphonitrileFluoroRubber.getFluid(L * 2))) { - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(wireGtQuadruple, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 2)) - .fluidInputs(fluid) - .output(cableGtQuadruple, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(16 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(2) + input(wireGtQuadruple, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 2)) + fluidInputs(fluid) + output(cableGtQuadruple, HalkoniteSteel) + EUt(VA[UEV]) + duration(16 * SECOND) + } } // 8x Cable @@ -290,15 +291,15 @@ internal object HalkoniteSteelChain PolytetramethyleneGlycolRubber.getFluid(L * 4), PolyphosphonitrileFluoroRubber.getFluid(L * 4))) { - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(wireGtOctal, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 4)) - .fluidInputs(fluid) - .output(cableGtOctal, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(32 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(2) + input(wireGtOctal, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 4)) + fluidInputs(fluid) + output(cableGtOctal, HalkoniteSteel) + EUt(VA[UEV]) + duration(32 * SECOND) + } } // 16x Cable @@ -306,25 +307,25 @@ internal object HalkoniteSteelChain PolytetramethyleneGlycolRubber.getFluid(L * 8), PolyphosphonitrileFluoroRubber.getFluid(L * 8))) { - MATTER_RESHAPING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(wireGtHex, Bedrockium, 1) - .fluidInputs(HalkoniteSteel.getFluid(L * 8)) - .fluidInputs(fluid) - .output(cableGtHex, HalkoniteSteel, 1) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 4 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + circuitMeta(2) + input(wireGtHex, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 8)) + fluidInputs(fluid) + output(cableGtHex, HalkoniteSteel) + EUt(VA[UEV]) + duration(1 * MINUTE + 4 * SECOND) + } } // Frame - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(frameGt, Bedrockium) - .fluidInputs(HalkoniteSteel.getFluid(L * 4)) - .output(frameGt, HalkoniteSteel) - .EUt(VA[UEV]) - .duration(16 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(frameGt, Bedrockium) + fluidInputs(HalkoniteSteel.getFluid(L * 4)) + output(frameGt, HalkoniteSteel) + EUt(VA[UEV]) + duration(16 * SECOND) + } // Wall ModHandler.addShapedRecipe(true, "halkonite_steel_wall_gt", GTLiteBlocks.METAL_WALLS[HalkoniteSteel]!!.getItem(HalkoniteSteel).copy(6), @@ -332,14 +333,14 @@ internal object HalkoniteSteelChain 'P', UnificationEntry(plate, HalkoniteSteel), 'S', UnificationEntry(screw, HalkoniteSteel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(11) - .input(plate, HalkoniteSteel, 2) - .input(screw, HalkoniteSteel) - .outputs(GTLiteBlocks.METAL_WALLS[HalkoniteSteel]!!.getItem(HalkoniteSteel).copy(3)) - .EUt(7) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(11) + input(plate, HalkoniteSteel, 2) + input(screw, HalkoniteSteel) + outputs(GTLiteBlocks.METAL_WALLS[HalkoniteSteel]!!.getItem(HalkoniteSteel).copy(3)) + EUt(7) // ULV + duration(2 * SECOND + 5 * TICK) + } // Sheeted Frame ModHandler.addShapedRecipe(true, "halkonite_steel_sheeted_frame", GTLiteBlocks.SHEETED_FRAMES[HalkoniteSteel]!!.getItem(HalkoniteSteel).copy(12), @@ -347,15 +348,14 @@ internal object HalkoniteSteelChain 'P', UnificationEntry(plate, HalkoniteSteel), 'F', UnificationEntry(frameGt, HalkoniteSteel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(10) - .input(plate, HalkoniteSteel, 3) - .input(frameGt, HalkoniteSteel) - .outputs(GTLiteBlocks.SHEETED_FRAMES[HalkoniteSteel]!!.getItem(HalkoniteSteel).copy(6)) - .EUt(7) // ULV - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(10) + input(plate, HalkoniteSteel, 3) + input(frameGt, HalkoniteSteel) + outputs(GTLiteBlocks.SHEETED_FRAMES[HalkoniteSteel]!!.getItem(HalkoniteSteel).copy(6)) + EUt(7) // ULV + duration(2 * SECOND + 5 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HeatExchangeChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HeatExchangeChain.kt index a4e0c7c28..ecaa1edcb 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HeatExchangeChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HeatExchangeChain.kt @@ -10,6 +10,7 @@ import gregtech.api.GTValues.V import gregtech.api.unification.material.Materials.DistilledWater import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.HOT_COOLANT_TURBINE_FUELS import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.SUPERCRITICAL_FLUID_TURBINE_FUELS import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LeadBismuthEutatic @@ -34,90 +35,89 @@ internal object HeatExchangeChain fun init() { - // 1L Water/DistilledWater -> 160L Steam + // 1L Water / Distilled Water -> 160L Steam -> 1L Distilled Water + // 320L SuperheatedSteam -> 320L Steam -> 2L Distilled Water + // 640L SupercriticalSteam -> 640L Steam -> 4L Distilled Water // Superheated Steam - // 320L SuperheatedSteam -> 320L Steam -> 2L DistilledWater - HOT_COOLANT_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SuperheatedSteam.getFluid(320)) - .fluidOutputs(DistilledWater.getFluid(2)) - .EUt(V[MV]) - .duration(10 * TICK) - .buildAndRegister() + HOT_COOLANT_TURBINE_FUELS.addRecipe { + fluidInputs(SuperheatedSteam.getFluid(320)) + fluidOutputs(DistilledWater.getFluid(2)) + EUt(V[MV]) + duration(10 * TICK) + } // Superheated Eutatic Sodium Potassium - HOT_COOLANT_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SuperheatedSodiumPotassiumEutatic.getFluid(L)) - .fluidOutputs(SodiumPotassiumEutatic.getFluid(L)) - .EUt(V[HV]) - .duration(2 * SECOND + 16 * TICK) - .buildAndRegister() + HOT_COOLANT_TURBINE_FUELS.addRecipe { + fluidInputs(SuperheatedSodiumPotassiumEutatic.getFluid(L)) + fluidOutputs(SodiumPotassiumEutatic.getFluid(L)) + EUt(V[HV]) + duration(2 * SECOND + 16 * TICK) + } // Superheated Eutatic Lead Bismuth - HOT_COOLANT_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SuperheatedLeadBismuthEutatic.getFluid(L)) - .fluidOutputs(LeadBismuthEutatic.getFluid(L)) - .EUt(V[HV]) - .duration(2 * SECOND + 18 * TICK) - .buildAndRegister() + HOT_COOLANT_TURBINE_FUELS.addRecipe { + fluidInputs(SuperheatedLeadBismuthEutatic.getFluid(L)) + fluidOutputs(LeadBismuthEutatic.getFluid(L)) + EUt(V[HV]) + duration(2 * SECOND + 18 * TICK) + } // Superheated Lithium Sodium Potassium Fluorides - HOT_COOLANT_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SuperheatedLithiumSodiumPotassiumFluorides.getFluid(L)) - .fluidOutputs(LithiumSodiumPotassiumFluorides.getFluid(L)) - .EUt(V[EV]) - .duration(4 * SECOND + 12 * TICK) - .buildAndRegister() + HOT_COOLANT_TURBINE_FUELS.addRecipe { + fluidInputs(SuperheatedLithiumSodiumPotassiumFluorides.getFluid(L)) + fluidOutputs(LithiumSodiumPotassiumFluorides.getFluid(L)) + EUt(V[EV]) + duration(4 * SECOND + 12 * TICK) + } // Superheated Lithium Beryllium Fluorides - HOT_COOLANT_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SuperheatedLithiumBerylliumFluorides.getFluid(L)) - .fluidOutputs(LithiumBerylliumFluorides.getFluid(L)) - .EUt(V[EV]) - .duration(4 * SECOND + 8 * TICK) - .buildAndRegister() + HOT_COOLANT_TURBINE_FUELS.addRecipe { + fluidInputs(SuperheatedLithiumBerylliumFluorides.getFluid(L)) + fluidOutputs(LithiumBerylliumFluorides.getFluid(L)) + EUt(V[EV]) + duration(4 * SECOND + 8 * TICK) + } // Supercritical Steam - // 640L SupercriticalSteam -> 640L Steam -> 4L Distilled Water - SUPERCRITICAL_FLUID_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SupercriticalSteam.getFluid(640)) - .fluidOutputs(DistilledWater.getFluid(4)) - .EUt(V[EV]) - .duration(10 * TICK) - .buildAndRegister() + SUPERCRITICAL_FLUID_TURBINE_FUELS.addRecipe { + fluidInputs(SupercriticalSteam.getFluid(640)) + fluidOutputs(DistilledWater.getFluid(4)) + EUt(V[EV]) + duration(10 * TICK) + } // Supercritical Eutatic Sodium Potassium - SUPERCRITICAL_FLUID_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SupercriticalSodiumPotassiumEutatic.getFluid(L)) - .fluidOutputs(SodiumPotassiumEutatic.getFluid(L)) - .EUt(V[IV]) - .duration(2 * SECOND + 12 * TICK) - .buildAndRegister() + SUPERCRITICAL_FLUID_TURBINE_FUELS.addRecipe { + fluidInputs(SupercriticalSodiumPotassiumEutatic.getFluid(L)) + fluidOutputs(SodiumPotassiumEutatic.getFluid(L)) + EUt(V[IV]) + duration(2 * SECOND + 12 * TICK) + } // Supercritical Eutatic Lead Bismuth - SUPERCRITICAL_FLUID_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SupercriticalLeadBismuthEutatic.getFluid(L)) - .fluidOutputs(LeadBismuthEutatic.getFluid(L)) - .EUt(V[IV]) - .duration(2 * SECOND + 18 * TICK) - .buildAndRegister() + SUPERCRITICAL_FLUID_TURBINE_FUELS.addRecipe { + fluidInputs(SupercriticalLeadBismuthEutatic.getFluid(L)) + fluidOutputs(LeadBismuthEutatic.getFluid(L)) + EUt(V[IV]) + duration(2 * SECOND + 18 * TICK) + } // Supercritical Lithium Sodium Potassium Fluorides - SUPERCRITICAL_FLUID_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SupercriticalLithiumSodiumPotassiumFluorides.getFluid(L)) - .fluidOutputs(LithiumSodiumPotassiumFluorides.getFluid(L)) - .EUt(V[LuV]) - .duration(4 * SECOND + 14 * TICK) - .buildAndRegister() + SUPERCRITICAL_FLUID_TURBINE_FUELS.addRecipe { + fluidInputs(SupercriticalLithiumSodiumPotassiumFluorides.getFluid(L)) + fluidOutputs(LithiumSodiumPotassiumFluorides.getFluid(L)) + EUt(V[LuV]) + duration(4 * SECOND + 14 * TICK) + } // Supercritical Lithium Beryllium Fluorides - SUPERCRITICAL_FLUID_TURBINE_FUELS.recipeBuilder() - .fluidInputs(SupercriticalLithiumBerylliumFluorides.getFluid(L)) - .fluidOutputs(LithiumBerylliumFluorides.getFluid(L)) - .EUt(V[LuV]) - .duration(4 * SECOND + 9 * TICK) - .buildAndRegister() - + SUPERCRITICAL_FLUID_TURBINE_FUELS.addRecipe { + fluidInputs(SupercriticalLithiumBerylliumFluorides.getFluid(L)) + fluidOutputs(LithiumBerylliumFluorides.getFluid(L)) + EUt(V[LuV]) + duration(4 * SECOND + 9 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HeavyConductiveMixtureChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HeavyConductiveMixtureChain.kt index 67260a2c3..a8ebfd8cd 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HeavyConductiveMixtureChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HeavyConductiveMixtureChain.kt @@ -22,6 +22,7 @@ import gregtech.api.unification.ore.OrePrefix.gem import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Acetylene @@ -41,59 +42,58 @@ internal object HeavyConductiveMixtureChain fun init() { // 2Fr + C2H2 -> Fr2C2 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Francium, 2) - .fluidInputs(Acetylene.getFluid(1000)) - .output(dust, FranciumCarbide, 4) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[EV]) - .duration(2 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Francium, 2) + fluidInputs(Acetylene.getFluid(1000)) + output(dust, FranciumCarbide, 4) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[EV]) + duration(2 * SECOND) + } // 2B2O3 + CH4 -> B4C + 2H2O + 4O (drop) - CVD_RECIPES.recipeBuilder() - .input(dust, BoronTrioxide, 10) - .fluidInputs(Methane.getFluid(1000)) - .output(gem, BoronCarbide) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .temperature(922) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, BoronTrioxide, 10) + fluidInputs(Methane.getFluid(1000)) + output(gem, BoronCarbide) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[ZPM]) + duration(10 * SECOND) + temperature(922) + } // NaN3 + At + HCl -> AtN3 + NaCl + H - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, SodiumAzide, 4) - .input(dust, Astatine) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .output(dust, AstatineAzide, 4) - .output(dust, Salt, 2) - .fluidOutputs(Hydrogen.getFluid(1000)) - .EUt(VA[UV]) - .duration(5 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, SodiumAzide, 4) + input(dust, Astatine) + fluidInputs(HydrochloricAcid.getFluid(1000)) + output(dust, AstatineAzide, 4) + output(dust, Salt, 2) + fluidOutputs(Hydrogen.getFluid(1000)) + EUt(VA[UV]) + duration(5 * SECOND) + } // Ho + 3I -> HoI3 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Holmium) - .input(dust, Iodine, 3) - .output(dust, HolmiumIodide, 4) - .EUt(VA[HV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Holmium) + input(dust, Iodine, 3) + output(dust, HolmiumIodide, 4) + EUt(VA[HV]) + duration(4 * SECOND + 5 * TICK) + } // Fr2C2 + B4C + AtN3 + HoI3 -> (Fr2C2)(B4C)(AtN3)(HoI3) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, FranciumCarbide, 4) - .input(dust, BoronCarbide, 5) - .input(dust, AstatineAzide, 4) - .input(dust, HolmiumIodide, 4) - .output(dust, HeavyConductiveMixture, 17) - .EUt(VA[UHV]) - .duration(25 * SECOND) - .buildAndRegister() - + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, FranciumCarbide, 4) + input(dust, BoronCarbide, 5) + input(dust, AstatineAzide, 4) + input(dust, HolmiumIodide, 4) + output(dust, HeavyConductiveMixture, 17) + EUt(VA[UHV]) + duration(25 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HydrazineChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HydrazineChain.kt index dac3a8e3d..d67fa56c1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HydrazineChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HydrazineChain.kt @@ -8,6 +8,7 @@ import gregtech.api.unification.material.Materials.Water import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Formaldehyde import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Hydrazine import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HydrogenPeroxide @@ -21,24 +22,23 @@ internal object HydrazineChain fun init() { // 2NH3 + H2O2 -> N2H4 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Ammonia.getFluid(2000)) - .fluidInputs(HydrogenPeroxide.getFluid(1000)) - .fluidOutputs(Hydrazine.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Ammonia.getFluid(2000)) + fluidInputs(HydrogenPeroxide.getFluid(1000)) + fluidOutputs(Hydrazine.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[HV]) + duration(4 * SECOND) + } // N2H4 + CH2O -> CH6N2 + O (drop) - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Hydrazine.getFluid(1000)) - .fluidInputs(Formaldehyde.getFluid(1000)) - .fluidOutputs(Methylhydrazine.getFluid(1000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Hydrazine.getFluid(1000)) + fluidInputs(Formaldehyde.getFluid(1000)) + fluidOutputs(Methylhydrazine.getFluid(1000)) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HydrogenPeroxideChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HydrogenPeroxideChain.kt index f4e3e7de8..93a176101 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HydrogenPeroxideChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HydrogenPeroxideChain.kt @@ -22,6 +22,7 @@ import gregtech.common.items.MetaItems.BLACKLIGHT import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Ethylanthrahydroquinone import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Ethylanthraquinone @@ -37,92 +38,92 @@ internal object HydrogenPeroxideChain fun init() { // C6H4(CO2H)2 -> C6H4(CO)2O + H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(PhthalicAcid.getFluid(1000)) - .output(dust, PhthalicAnhydride, 15) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(PhthalicAcid.getFluid(1000)) + output(dust, PhthalicAnhydride, 15) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } anthraquinoneProcess() // Basic processing of H2O2 at EV-IV stage. // Directed reaction with H and O for IV/LuV stage with platinum catalyst. // 2H + 2O -> H2O2 - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Platinum) - .fluidInputs(Hydrogen.getFluid(2000)) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(HydrogenPeroxide.getFluid(1000)) - .EUt(VA[LuV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Platinum) + fluidInputs(Hydrogen.getFluid(2000)) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(HydrogenPeroxide.getFluid(1000)) + EUt(VA[LuV]) + duration(6 * SECOND) + } // 6H + 2O3 -> 3H2O2 - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Platinum) - .fluidInputs(Hydrogen.getFluid(6000)) - .fluidInputs(Ozone.getFluid(2000)) - .fluidOutputs(HydrogenPeroxide.getFluid(3000)) - .EUt(VA[LuV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Platinum) + fluidInputs(Hydrogen.getFluid(6000)) + fluidInputs(Ozone.getFluid(2000)) + fluidOutputs(HydrogenPeroxide.getFluid(3000)) + EUt(VA[LuV]) + duration(6 * SECOND) + } // Water decompose reaction for ZPM/UV stage. // 16H2O -> 8H2O2 + 8H - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .notConsumable(BLACKLIGHT) - .notConsumable(dust, YttriumBariumCuprate) - .fluidInputs(Water.getFluid(16000)) - .fluidOutputs(HydrogenPeroxide.getFluid(8000)) - .fluidOutputs(Hydrogen.getFluid(8000)) - .EUt(VA[UV]) - .duration(12 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + notConsumable(BLACKLIGHT) + notConsumable(dust, YttriumBariumCuprate) + fluidInputs(Water.getFluid(16000)) + fluidOutputs(HydrogenPeroxide.getFluid(8000)) + fluidOutputs(Hydrogen.getFluid(8000)) + EUt(VA[UV]) + duration(12 * SECOND) + } } private fun anthraquinoneProcess() { // C6H4(CO)2O + C6H5Et -> C6H4(CO)2C6H3Et + H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PhthalicAnhydride, 15) - .fluidInputs(Ethylbenzene.getFluid(1000)) - .fluidOutputs(Ethylanthraquinone.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[EV]) - .duration(30 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PhthalicAnhydride, 15) + fluidInputs(Ethylbenzene.getFluid(1000)) + fluidOutputs(Ethylanthraquinone.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[EV]) + duration(30 * SECOND) + } // C6H4(CO)2C6H3Et + 6H -> C6H4(CH2OH)2C6H3Et - CHEMICAL_RECIPES.recipeBuilder() - .input(dustTiny, Palladium) - .fluidInputs(Ethylanthraquinone.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(6000)) - .fluidOutputs(Ethylanthrahydroquinone.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dustTiny, Palladium) + fluidInputs(Ethylanthraquinone.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(6000)) + fluidOutputs(Ethylanthrahydroquinone.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } // C6H4(CH2OH)2C6H3Et + 6O -> C6H4(CO)2C6H3Et + 3H2O2 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Ethylanthrahydroquinone.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(6000)) - .fluidOutputs(Ethylanthraquinone.getFluid(1000)) - .fluidOutputs(HydrogenPeroxide.getFluid(3000)) - .EUt(VA[EV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Ethylanthrahydroquinone.getFluid(1000)) + fluidInputs(Oxygen.getFluid(6000)) + fluidOutputs(Ethylanthraquinone.getFluid(1000)) + fluidOutputs(HydrogenPeroxide.getFluid(3000)) + EUt(VA[EV]) + duration(8 * SECOND) + } // C6H4(CH2OH)2C6H3Et + 2O3 -> C6H4(CO)2C6H3Et + 3H2O2 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Ethylanthrahydroquinone.getFluid(1000)) - .fluidInputs(Ozone.getFluid(2000)) - .fluidOutputs(Ethylanthraquinone.getFluid(1000)) - .fluidOutputs(HydrogenPeroxide.getFluid(3000)) - .EUt(VA[EV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Ethylanthrahydroquinone.getFluid(1000)) + fluidInputs(Ozone.getFluid(2000)) + fluidOutputs(Ethylanthraquinone.getFluid(1000)) + fluidOutputs(HydrogenPeroxide.getFluid(3000)) + EUt(VA[EV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HypogenChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HypogenChain.kt index f5a73777e..fcd3063ce 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HypogenChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/HypogenChain.kt @@ -13,6 +13,8 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Hypogen import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Infinity @@ -20,7 +22,6 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.QuantumAlloy import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Rhugnor import gregtechlite.gtlitecore.common.block.GTLiteBlocks.LEPTONIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.QUANTUM_CHROMODYNAMIC_CHARGE -import net.minecraft.item.ItemStack internal object HypogenChain { @@ -29,67 +30,66 @@ internal object HypogenChain fun init() { - // Nt + QuantumAlloy -> Fs - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Neutronium.getFluid(L)) - .fluidInputs(QuantumAlloy.getFluid(L)) - .fluidOutputs(Rhugnor.getFluid(L * 2)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .EUToStart(980_000_000L) // 980M EU, MK4 - .buildAndRegister() + // Nt + Quantum Alloy -> Fs + FUSION_RECIPES.addRecipe { + fluidInputs(Neutronium.getFluid(L)) + fluidInputs(QuantumAlloy.getFluid(L)) + fluidOutputs(Rhugnor.getFluid(L * 2)) + EUt(VA[UHV]) + duration(10 * SECOND) + EUToStart(980_000_000L) // 980M EU (MK4) + } // Fs + If -> Hy - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Rhugnor.getFluid(L * 2)) - .fluidInputs(Infinity.getFluid(L)) - .fluidOutputs(Hypogen.getFluid(L / 4)) - .EUt(VA[UEV]) - .duration(1 * MINUTE) - .EUToStart(1_600_000_000L) // 1600M EU, MK5 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Rhugnor.getFluid(L * 2)) + fluidInputs(Infinity.getFluid(L)) + fluidOutputs(Hypogen.getFluid(L / 4)) + EUt(VA[UEV]) + duration(1 * MINUTE) + EUToStart(1_600_000_000L) // 1,600M EU (MK5) + } // When player get 144L Hypogen, then they can copy Hypogen by Stellar Forge. // Tier 1: x10 - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidInputs(Hypogen.getFluid(L)) - .fluidInputs(Neutronium.getFluid(L * 40)) - .fluidInputs(QuantumAlloy.getFluid(L * 40)) - .fluidInputs(Infinity.getFluid(L * 10)) - .fluidOutputs(Hypogen.getFluid(L * 11)) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + inputs(LEPTONIC_CHARGE) + fluidInputs(Hypogen.getFluid(L)) + fluidInputs(Neutronium.getFluid(L * 40)) + fluidInputs(QuantumAlloy.getFluid(L * 40)) + fluidInputs(Infinity.getFluid(L * 10)) + fluidOutputs(Hypogen.getFluid(L * 11)) + EUt(VA[UIV]) + duration(40 * SECOND) + } // Tier 2: x160 - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Hypogen.getFluid(L * 16)) - .fluidInputs(Neutronium.getFluid(L * 40 * 16)) - .fluidInputs(QuantumAlloy.getFluid(L * 40 * 16)) - .fluidInputs(Infinity.getFluid(L * 10 * 16)) - .fluidOutputs(Hypogen.getFluid(L * 11 * 16)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Hypogen.getFluid(L * 16)) + fluidInputs(Neutronium.getFluid(L * 40 * 16)) + fluidInputs(QuantumAlloy.getFluid(L * 40 * 16)) + fluidInputs(Infinity.getFluid(L * 10 * 16)) + fluidOutputs(Hypogen.getFluid(L * 11 * 16)) + EUt(VA[UXV]) + duration(10 * SECOND) + } // Tier 3: x640 - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Hypogen.getFluid(L * 64)) - .fluidInputs(Neutronium.getFluid(L * 40 * 64)) - .fluidInputs(QuantumAlloy.getFluid(L * 40 * 64)) - .fluidInputs(Infinity.getFluid(L * 10 * 64)) - .fluidOutputs(Hypogen.getFluid(L * 11 * 64)) - .EUt(VA[OpV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Hypogen.getFluid(L * 64)) + fluidInputs(Neutronium.getFluid(L * 40 * 64)) + fluidInputs(QuantumAlloy.getFluid(L * 40 * 64)) + fluidInputs(Infinity.getFluid(L * 10 * 64)) + fluidOutputs(Hypogen.getFluid(L * 11 * 64)) + EUt(VA[OpV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/InfinityChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/InfinityChain.kt index 3f2e9efbb..c28ebf87a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/InfinityChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/InfinityChain.kt @@ -11,13 +11,14 @@ import gregtech.api.unification.ore.OrePrefix.block import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Gluons import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Infinity import gregtechlite.gtlitecore.common.block.GTLiteBlocks.LEPTONIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.QUANTUM_CHROMODYNAMIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.TARANIUM_CHARGE -import net.minecraft.item.ItemStack internal object InfinityChain { @@ -27,40 +28,40 @@ internal object InfinityChain fun init() { // Tier 1: 9x Nether Star -> 4x Infinity - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(block, NetherStar) - .inputs(ItemStack(TARANIUM_CHARGE)) - .fluidInputs(Neutronium.getFluid(L * 16)) - .fluidInputs(Gluons.getFluid(4000)) - .fluidOutputs(Infinity.getFluid(L * 4)) - .EUt(VA[UEV]) - .duration(40 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(block, NetherStar) + inputs(TARANIUM_CHARGE) + fluidInputs(Neutronium.getFluid(L * 16)) + fluidInputs(Gluons.getFluid(4000)) + fluidOutputs(Infinity.getFluid(L * 4)) + EUt(VA[UEV]) + duration(40 * SECOND) + } // Tier 2: 9x 16x Nether Star -> 4x 16x Infinity - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(block, NetherStar, 16) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidInputs(Neutronium.getFluid(L * 16 * 16)) - .fluidInputs(Gluons.getFluid(4000 * 16)) - .fluidOutputs(Infinity.getFluid(L * 4 * 16)) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(block, NetherStar, 16) + inputs(LEPTONIC_CHARGE) + fluidInputs(Neutronium.getFluid(L * 16 * 16)) + fluidInputs(Gluons.getFluid(4000 * 16)) + fluidOutputs(Infinity.getFluid(L * 4 * 16)) + EUt(VA[UIV]) + duration(10 * SECOND) + } // Tier 3: 9x 64x Nether Star -> 4x 64x Infinity - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(block, NetherStar, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Neutronium.getFluid(L * 16 * 64)) - .fluidInputs(Gluons.getFluid(4000 * 64)) - .fluidOutputs(Infinity.getFluid(L * 4 * 64)) - .EUt(VA[UXV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + input(block, NetherStar, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Neutronium.getFluid(L * 16 * 64)) + fluidInputs(Gluons.getFluid(4000 * 64)) + fluidOutputs(Infinity.getFluid(L * 4 * 64)) + EUt(VA[UXV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KaptonChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KaptonChain.kt index ff7102190..a5dac3a7c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KaptonChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KaptonChain.kt @@ -5,9 +5,11 @@ import gregtech.api.GTValues.IV import gregtech.api.GTValues.L import gregtech.api.GTValues.LV import gregtech.api.GTValues.MV +import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES +import gregtech.api.recipes.RecipeMaps.LARGE_CHEMICAL_RECIPES import gregtech.api.unification.material.Materials.Ammonia import gregtech.api.unification.material.Materials.AmmoniumChloride import gregtech.api.unification.material.Materials.Chloromethane @@ -19,6 +21,7 @@ import gregtech.api.unification.material.Materials.Nitrochlorobenzene import gregtech.api.unification.material.Materials.Oxygen import gregtech.api.unification.material.Materials.Palladium import gregtech.api.unification.material.Materials.Phenol +import gregtech.api.unification.material.Materials.Saltpeter import gregtech.api.unification.material.Materials.Tin import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.material.Materials.Zinc @@ -26,9 +29,11 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Aminophenol import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Aniline import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BiphenylTetracarboxylicAcidDianhydride +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Dimethylformamide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Durene import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.KaptonE import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.KaptonK @@ -56,133 +61,133 @@ internal object KaptonChain private fun pyromelliticDianhydrideProcess() { // C6H4(CH3)2 + 2CH3Cl -> C6H2(CH3)4 + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(ParaXylene.getFluid(1000)) - .fluidInputs(Chloromethane.getFluid(2000)) - .output(dust, Durene, 24) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(ParaXylene.getFluid(1000)) + fluidInputs(Chloromethane.getFluid(2000)) + output(dust, Durene, 24) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // C6H2(CH3)4 + 12O -> C6H2(C2O3)2 + 6H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Durene, 4) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, PyromelliticDianhydride, 3) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(1 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Durene, 4) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, PyromelliticDianhydride, 3) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(1 * SECOND + 10 * TICK) + } } private fun oxydianilineProcess() { // C6H5NO2 + 4H -> HOC6H4NH2 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Nitrobenzene.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(4000)) - .output(dust, Aminophenol, 15) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Nitrobenzene.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(4000)) + output(dust, Aminophenol, 15) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[LV]) + duration(15 * SECOND) + } // 6H + C6H5NO2 -> C6H5NH2 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Zinc) - .fluidInputs(Hydrogen.getFluid(6000)) - .fluidInputs(Nitrobenzene.getFluid(1000)) - .fluidOutputs(Aniline.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Zinc) + fluidInputs(Hydrogen.getFluid(6000)) + fluidInputs(Nitrobenzene.getFluid(1000)) + fluidOutputs(Aniline.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // 2C6H5NH2 + C2H5OH -> C12H12N2O + 2CH4 - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Tin) - .fluidInputs(Aniline.getFluid(2000)) - .fluidInputs(Phenol.getFluid(1000)) - .notConsumable(HydrochloricAcid.getFluid(1)) - .output(dust, Oxydianiline, 27) - .fluidOutputs(Methane.getFluid(2000)) - .EUt(VA[ZPM]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Tin) + fluidInputs(Aniline.getFluid(2000)) + fluidInputs(Phenol.getFluid(1000)) + notConsumable(HydrochloricAcid.getFluid(1)) + output(dust, Oxydianiline, 27) + fluidOutputs(Methane.getFluid(2000)) + EUt(VA[ZPM]) + duration(5 * SECOND) + } // HOC6H4NH2 + ClC6H4NO2 + H2O -> C12H12N2O + 3O + HCl - // LARGE_CHEMICAL_RECIPES.recipeBuilder() - // .notConsumable(dust, Saltpeter) - // .input(dust, Aminophenol, 15) - // .fluidInputs(Nitrochlorobenzene.getFluid(1000)) - // .fluidInputs(Water.getFluid(1000)) - // .notConsumable(Dimethylformamide.getFluid(1)) - // .output(dust, Oxydianiline, 27) - // .fluidOutputs(Oxygen.getFluid(3000)) - // .fluidOutputs(HydrochloricAcid.getFluid(1000)) - // .EUt(VA[UV]) - // .duration(10 * SECOND) - // .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Saltpeter) + input(dust, Aminophenol, 15) + fluidInputs(Nitrochlorobenzene.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + notConsumable(Dimethylformamide.getFluid(1)) + output(dust, Oxydianiline, 27) + fluidOutputs(Oxygen.getFluid(3000)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[UV]) + duration(10 * SECOND) + } } private fun biphenylTetracarboxylicAcidDianhydrideProcess() { // C8H4O3 -> C16H6O6 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Palladium) - .input(dust, PhthalicAnhydride, 15) - .output(dust, BiphenylTetracarboxylicAcidDianhydride, 28) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Palladium) + input(dust, PhthalicAnhydride, 15) + output(dust, BiphenylTetracarboxylicAcidDianhydride, 28) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[HV]) + duration(10 * SECOND) + } } private fun paraPhenylenediamineProcess() { // ClC6H4NO2 + 2NH3 -> H2NC6H4NO2 + NH4Cl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Nitrochlorobenzene.getFluid(1000)) - .fluidInputs(Ammonia.getFluid(2000)) - .output(dust, AmmoniumChloride, 2) - .fluidOutputs(Nitroaniline.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Nitrochlorobenzene.getFluid(1000)) + fluidInputs(Ammonia.getFluid(2000)) + output(dust, AmmoniumChloride, 2) + fluidOutputs(Nitroaniline.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // H2NC6H4NO2 + 6H -> H2NC6H4NH2 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Nitroaniline.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(6000)) - .output(dust, ParaPhenylenediamine, 16) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Nitroaniline.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(6000)) + output(dust, ParaPhenylenediamine, 16) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[IV]) + duration(10 * SECOND) + } } private fun kaptonProcess() { // 2C6H2(C2O3)2 + C12H12N2O -> C22H10N2O5 + 10C + 6H + 2O (loss) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PyromelliticDianhydride, 2) - .input(dust, Oxydianiline, 3) - .fluidOutputs(KaptonK.getFluid(L)) - .EUt(VA[IV]) - .duration(1 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PyromelliticDianhydride, 2) + input(dust, Oxydianiline, 3) + fluidOutputs(KaptonK.getFluid(L)) + EUt(VA[IV]) + duration(1 * SECOND + 10 * TICK) + } // 2C6H2(C2O3)2 + C12H12N2O + C16H6O6 + H2NC6H4NH2 -> C24H18N2O5 + 30C + 12H + 14O + 2N (loss) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, BiphenylTetracarboxylicAcidDianhydride, 2) - .input(dust, ParaPhenylenediamine) - .fluidInputs(KaptonK.getFluid(L)) - .fluidOutputs(KaptonE.getFluid(L)) - .EUt(VA[ZPM]) - .duration(1 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, BiphenylTetracarboxylicAcidDianhydride, 2) + input(dust, ParaPhenylenediamine) + fluidInputs(KaptonK.getFluid(L)) + fluidOutputs(KaptonE.getFluid(L)) + EUt(VA[ZPM]) + duration(1 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KerogenChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KerogenChain.kt index a566d04f6..ea810a269 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KerogenChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KerogenChain.kt @@ -4,7 +4,6 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.LV import gregtech.api.GTValues.ULV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.COMPRESSOR_RECIPES import gregtech.api.recipes.RecipeMaps.DISTILLATION_RECIPES @@ -29,10 +28,12 @@ import gregtech.api.unification.material.Materials.Wood import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.stack.UnificationEntry import gregtech.common.blocks.MetaBlocks -import gregtech.common.blocks.wood.BlockGregPlanks import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.outputs +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BIO_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES @@ -40,7 +41,7 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bitumen import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.FulvicAcid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Kerogen import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Paraffin -import net.minecraft.item.ItemStack +import gregtechlite.gtlitecore.common.block.adapter.GTPlankBlock internal object KerogenChain { @@ -50,155 +51,151 @@ internal object KerogenChain fun init() { // Fermented Biomass -> C14H12O8 - BIO_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(FermentedBiomass.getFluid(1000)) - .fluidOutputs(FulvicAcid.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + BIO_REACTOR_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(FermentedBiomass.getFluid(1000)) + fluidOutputs(FulvicAcid.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND) + } // C14H12O8 -> Kerogen - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(FulvicAcid.getFluid(100)) - .fluidOutputs(Kerogen.getFluid(100)) - .EUt(VA[LV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(FulvicAcid.getFluid(100)) + fluidOutputs(Kerogen.getFluid(100)) + EUt(VA[LV]) + duration(4 * SECOND + 10 * TICK) + } // Kerogen -> Oil - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Wood) - .fluidInputs(Kerogen.getFluid(250)) - .fluidOutputs(Oil.getFluid(500)) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Wood) + fluidInputs(Kerogen.getFluid(250)) + fluidOutputs(Oil.getFluid(500)) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // Light Oil distillation - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, - OilLight.getFluid(150)) + DISTILLATION_RECIPES.removeRecipe(OilLight.getFluid(150)) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(OilLight.getFluid(150))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(OilLight.getFluid(150))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(OilLight.getFluid(150))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(4)), arrayOf(OilLight.getFluid(30))) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(OilLight.getFluid(150)) - .chancedOutput(dust, Paraffin, 1500, 250) - .fluidOutputs(SulfuricHeavyFuel.getFluid(10)) - .fluidOutputs(SulfuricLightFuel.getFluid(20)) - .fluidOutputs(SulfuricNaphtha.getFluid(30)) - .fluidOutputs(SulfuricGas.getFluid(240)) - .EUt(96) // MV - .duration(1 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(OilLight.getFluid(150)) + chancedOutput(dust, Paraffin, 1500, 250) + fluidOutputs(SulfuricHeavyFuel.getFluid(10)) + fluidOutputs(SulfuricLightFuel.getFluid(20)) + fluidOutputs(SulfuricNaphtha.getFluid(30)) + fluidOutputs(SulfuricGas.getFluid(240)) + EUt(96) // MV + duration(1 * SECOND) + } // Medium Oil - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, - RawOil.getFluid(100)) + DISTILLATION_RECIPES.removeRecipe(RawOil.getFluid(100)) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(RawOil.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(RawOil.getFluid(50))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(RawOil.getFluid(50))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(4)), arrayOf(RawOil.getFluid(50))) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(RawOil.getFluid(100)) - .chancedOutput(dust, Paraffin, 2500, 500) - .fluidOutputs(SulfuricHeavyFuel.getFluid(10)) - .fluidOutputs(SulfuricLightFuel.getFluid(50)) - .fluidOutputs(SulfuricNaphtha.getFluid(150)) - .fluidOutputs(SulfuricGas.getFluid(60)) - .EUt(96) // MV - .duration(1 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(RawOil.getFluid(100)) + chancedOutput(dust, Paraffin, 2500, 500) + fluidOutputs(SulfuricHeavyFuel.getFluid(10)) + fluidOutputs(SulfuricLightFuel.getFluid(50)) + fluidOutputs(SulfuricNaphtha.getFluid(150)) + fluidOutputs(SulfuricGas.getFluid(60)) + EUt(96) // MV + duration(1 * SECOND) + } // Oil - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, - Oil.getFluid(50)) + DISTILLATION_RECIPES.removeRecipe(Oil.getFluid(50)) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Oil.getFluid(50))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Oil.getFluid(25))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(Oil.getFluid(50))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(4)), arrayOf(Oil.getFluid(25))) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(Oil.getFluid(50)) - .chancedOutput(dust, Bitumen, 3000, 500) - .fluidOutputs(SulfuricHeavyFuel.getFluid(15)) - .fluidOutputs(SulfuricLightFuel.getFluid(50)) - .fluidOutputs(SulfuricNaphtha.getFluid(20)) - .fluidOutputs(SulfuricGas.getFluid(60)) - .EUt(96) // MV - .duration(1 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(Oil.getFluid(50)) + chancedOutput(dust, Bitumen, 3000, 500) + fluidOutputs(SulfuricHeavyFuel.getFluid(15)) + fluidOutputs(SulfuricLightFuel.getFluid(50)) + fluidOutputs(SulfuricNaphtha.getFluid(20)) + fluidOutputs(SulfuricGas.getFluid(60)) + EUt(96) // MV + duration(1 * SECOND) + } // Heavy Oil - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, - OilHeavy.getFluid(100)) + DISTILLATION_RECIPES.removeRecipe(OilHeavy.getFluid(100)) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(OilHeavy.getFluid(50))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(OilHeavy.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(OilHeavy.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(4)), arrayOf(OilHeavy.getFluid(50))) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(OilHeavy.getFluid(100)) - .chancedOutput(dust, Bitumen, 5000, 1000) - .fluidOutputs(SulfuricHeavyFuel.getFluid(250)) - .fluidOutputs(SulfuricLightFuel.getFluid(45)) - .fluidOutputs(SulfuricNaphtha.getFluid(15)) - .fluidOutputs(SulfuricGas.getFluid(60)) - .EUt(96) // MV, original recipe's EUt required is HV (288 EU/t), we down-tier this recipe. - .duration(1 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(OilHeavy.getFluid(100)) + chancedOutput(dust, Bitumen, 5000, 1000) + fluidOutputs(SulfuricHeavyFuel.getFluid(250)) + fluidOutputs(SulfuricLightFuel.getFluid(45)) + fluidOutputs(SulfuricNaphtha.getFluid(15)) + fluidOutputs(SulfuricGas.getFluid(60)) + EUt(96) // MV, original recipe's EUt required is HV (288 EU/t), we down-tier this recipe. + duration(1 * SECOND) + } GTLiteRecipeHandler.removeMixerRecipes( arrayOf(OreDictUnifier.get(dust, Coal)), @@ -212,19 +209,18 @@ internal object KerogenChain arrayOf(OreDictUnifier.get(dust, Carbon)), arrayOf(Concrete.getFluid(L))) - COMPRESSOR_RECIPES.recipeBuilder() - .input(dust, Bitumen, 4) - .outputs(ItemStack(MetaBlocks.ASPHALT)) - .EUt(VA[ULV]) - .duration(5 * TICK) - .buildAndRegister() + COMPRESSOR_RECIPES.addRecipe { + input(dust, Bitumen, 4) + outputs(MetaBlocks.ASPHALT) + EUt(VA[ULV]) + duration(5 * TICK) + } // Treated Wood - ModHandler.addShapedRecipe(false, "treated_wood_planks", MetaBlocks.PLANKS.getItemVariant(BlockGregPlanks.BlockType.TREATED_PLANK, 8), + ModHandler.addShapedRecipe(false, "treated_wood_planks", GTPlankBlock.TREATED_PLANK.getStack(8), "PPP", "PBP", "PPP", 'P', "plankWood", 'B', UnificationEntry(dust, Bitumen)) - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KevlarChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KevlarChain.kt index c4a82657f..390927aef 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KevlarChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/KevlarChain.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.BREWING_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.LARGE_CHEMICAL_RECIPES @@ -35,6 +34,8 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.ore.OrePrefix.foil import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Acetylene @@ -65,23 +66,23 @@ internal object KevlarChain private fun nMethylPyrrolidoneProcess() { // C4H10O2 -> C4H6O2 + 4H (drop) - BREWING_RECIPES.recipeBuilder() - .input(dust, Copper) - .fluidInputs(Butanediol.getFluid(1000)) - .fluidOutputs(GammaButyrolactone.getFluid(1000)) - .EUt(VA[EV]) - .duration(6 * SECOND) - .buildAndRegister() + BREWING_RECIPES.addRecipe { + input(dust, Copper) + fluidInputs(Butanediol.getFluid(1000)) + fluidOutputs(GammaButyrolactone.getFluid(1000)) + EUt(VA[EV]) + duration(6 * SECOND) + } // CH3NH2 + C4H6O2 -> C5H9NO + H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Methylamine.getFluid(1000)) - .fluidInputs(GammaButyrolactone.getFluid(1000)) - .fluidOutputs(NMethylPyrrolidone.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[IV]) - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Methylamine.getFluid(1000)) + fluidInputs(GammaButyrolactone.getFluid(1000)) + fluidOutputs(NMethylPyrrolidone.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[IV]) + duration(12 * SECOND) + } } private fun terephthalicAcidProcess() @@ -89,91 +90,90 @@ internal object KevlarChain // Amoco Process for Terephthalic Acid. // 4Br + C2H2 -> C2H2Br4 - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .fluidInputs(Bromine.getFluid(4000)) - .fluidInputs(Acetylene.getFluid(1000)) - .fluidOutputs(Tetrabromoethane.getFluid(1000)) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + fluidInputs(Bromine.getFluid(4000)) + fluidInputs(Acetylene.getFluid(1000)) + fluidOutputs(Tetrabromoethane.getFluid(1000)) + EUt(VA[HV]) + duration(4 * SECOND) + } // C6H4(CH3)2 + 6O -> C6H4(CO2H)2 + 2H2O - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Manganese) - .notConsumable(dust, Cobalt) - .input(foil, Titanium, 10) - .notConsumable(Acetone.getFluid(1)) - .fluidInputs(ParaXylene.getFluid(1000)) - .fluidInputs(Tetrabromoethane.getFluid(50)) - .fluidInputs(Air.getFluid(12000)) - .output(dust, TerephthalicAcid, 3) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[ZPM]) - .duration(12 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Manganese) + notConsumable(dust, Cobalt) + input(foil, Titanium, 10) + notConsumable(Acetone.getFluid(1)) + fluidInputs(ParaXylene.getFluid(1000)) + fluidInputs(Tetrabromoethane.getFluid(50)) + fluidInputs(Air.getFluid(12000)) + output(dust, TerephthalicAcid, 3) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[ZPM]) + duration(12 * SECOND) + } // C6H4(CH3)2 + 6O -> C6H4(CO2H)2 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(ParaXylene.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(6000)) - .fluidOutputs(Bistrichloromethylbenzene.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(6000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(ParaXylene.getFluid(1000)) + fluidInputs(Chlorine.getFluid(6000)) + fluidOutputs(Bistrichloromethylbenzene.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(6000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // C6H4(CCl3)2 + C6H4(CO2H)2 -> 2C6H4(COCl)2 + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, TerephthalicAcid, 3) - .fluidInputs(Bistrichloromethylbenzene.getFluid(1000)) - .output(dust, TerephthaloylChloride, 6) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VH[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, TerephthalicAcid, 3) + fluidInputs(Bistrichloromethylbenzene.getFluid(1000)) + output(dust, TerephthaloylChloride, 6) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VH[HV]) + duration(5 * SECOND) + } } private fun kevlarProcess() { // C6H4(NH2)2 + C6H4(COCl)2 -> (C6H4)2(CO)2(NH)2 + 2HCl - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, CalciumChloride) // as catalyst - .input(dust, ParaPhenylenediamine, 8) - .input(dust, TerephthaloylChloride, 3) - .fluidInputs(NMethylPyrrolidone.getFluid(100)) - .fluidInputs(SulfuricAcid.getFluid(500)) - .fluidOutputs(Kevlar.getFluid(L * 4)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[UV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, CalciumChloride) // catalyst + input(dust, ParaPhenylenediamine, 8) + input(dust, TerephthaloylChloride, 3) + fluidInputs(NMethylPyrrolidone.getFluid(100)) + fluidInputs(SulfuricAcid.getFluid(500)) + fluidOutputs(Kevlar.getFluid(L * 4)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[UV]) + duration(20 * SECOND) + cleanroom() + } // C6H4Cl2 + C6H4(CO2H)2 + 2NH3 -> (C6H4)2(CO)2(NH)2 + 2(HCl)(H2O) => 2HCl + 2H2O - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .notConsumable(dust, CalciumChloride) - .input(dust, TerephthalicAcid, 3) - .fluidInputs(Dichlorobenzene.getFluid(1000)) - .fluidInputs(Ammonia.getFluid(2000)) - .notConsumable(SulfuricAcid.getFluid(1)) - .fluidOutputs(Kevlar.getFluid(L * 8)) - .fluidOutputs(DilutedHydrochloricAcid.getFluid(4000)) - .EUt(VA[UEV]) - .duration(40 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + notConsumable(dust, CalciumChloride) + input(dust, TerephthalicAcid, 3) + fluidInputs(Dichlorobenzene.getFluid(1000)) + fluidInputs(Ammonia.getFluid(2000)) + notConsumable(SulfuricAcid.getFluid(1)) + fluidOutputs(Kevlar.getFluid(L * 8)) + fluidOutputs(DilutedHydrochloricAcid.getFluid(4000)) + EUt(VA[UEV]) + duration(40 * SECOND) + } // Addition recipe of CaCl2, because this compound used for this chain. // Ca + 2Cl -> CaCl2 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Calcium) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, CalciumChloride, 3) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Calcium) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, CalciumChloride, 3) + EUt(VA[LV]) + duration(4 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LeadSiliconGlassChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LeadSiliconGlassChain.kt index e63519f19..b253783a5 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LeadSiliconGlassChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LeadSiliconGlassChain.kt @@ -10,6 +10,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtech.common.items.MetaItems.SHAPE_MOLD_BLOCK import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.common.block.variant.GlassCasing @@ -21,16 +22,15 @@ internal object LeadSiliconGlassChain fun init() { // PbO + SiO2 -> Pb-Si Glass - ROASTER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BLOCK) - .input(dust, Massicot, 2) - .input(dust, SiliconDioxide, 3) - .fluidInputs(Glass.getFluid(L)) - .outputs(GlassCasing.LEAD_SILICON.stack) - .EUt(VA[EV]) - .duration(30 * SECOND) - .buildAndRegister() - + ROASTER_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BLOCK) + input(dust, Massicot, 2) + input(dust, SiliconDioxide, 3) + fluidInputs(Glass.getFluid(L)) + outputs(GlassCasing.LEAD_SILICON.stack) + EUt(VA[EV]) + duration(30 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LithiumNiobateChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LithiumNiobateChain.kt index 06ae97d91..0e4fb6af4 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LithiumNiobateChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LithiumNiobateChain.kt @@ -17,6 +17,7 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.POLISHER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HydrogenPeroxide @@ -33,26 +34,26 @@ internal object LithiumNiobateChain fun init() { // Nb2O5 + 10HCl -> 2NbCl5 + 3H2O + 4H - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, NiobiumPentoxide, 7) - .fluidInputs(HydrochloricAcid.getFluid(10000)) - .output(dust, NiobiumPentachloride, 12) - .fluidOutputs(Hydrogen.getFluid(4000)) - .fluidOutputs(Steam.getFluid(3 * SU)) - .EUt(VA[EV]) - .duration(20 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, NiobiumPentoxide, 7) + fluidInputs(HydrochloricAcid.getFluid(10000)) + output(dust, NiobiumPentachloride, 12) + fluidOutputs(Hydrogen.getFluid(4000)) + fluidOutputs(Steam.getFluid(3 * SU)) + EUt(VA[EV]) + duration(20 * SECOND) + } // NbCl5 + LiH + 2H2O2 -> 6LiNbO4 + 5HCl (cycle) - ARC_FURNACE_RECIPES.recipeBuilder() - .input(dust, NiobiumPentachloride, 6) - .input(dust, LithiumHydride, 2) - .fluidInputs(HydrogenPeroxide.getFluid(2000)) - .output(ingotHot, LithiumNiobate, 6) - .fluidOutputs(HydrochloricAcid.getFluid(5000)) - .EUt(VA[IV]) - .duration(20 * SECOND) - .buildAndRegister() + ARC_FURNACE_RECIPES.addRecipe { + input(dust, NiobiumPentachloride, 6) + input(dust, LithiumHydride, 2) + fluidInputs(HydrogenPeroxide.getFluid(2000)) + output(ingotHot, LithiumNiobate, 6) + fluidOutputs(HydrochloricAcid.getFluid(5000)) + EUt(VA[IV]) + duration(20 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LithiumTitanateChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LithiumTitanateChain.kt index 006a8990f..ada1192cb 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LithiumTitanateChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LithiumTitanateChain.kt @@ -21,6 +21,7 @@ import gregtech.api.unification.ore.OrePrefix.ingotHot import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LithiumCarbonate import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LithiumOxide @@ -35,48 +36,48 @@ internal object LithiumTitanateChain fun init() { // Li2O + CO2 -> Li2CO3 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, LithiumOxide, 3) - .fluidInputs(CarbonDioxide.getFluid(1000)) - .output(dust, LithiumCarbonate, 6) - .EUt(VA[MV]) - .duration(7 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, LithiumOxide, 3) + fluidInputs(CarbonDioxide.getFluid(1000)) + output(dust, LithiumCarbonate, 6) + EUt(VA[MV]) + duration(7 * SECOND) + } // TiCl4 + 2N2O4 + 2O -> Ti(NO3)4 + 4Cl - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(TitaniumTetrachloride.getFluid(1000)) - .fluidInputs(DinitrogenTetroxide.getFluid(2000)) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, TitaniumNitrate, 17) - .fluidOutputs(Chlorine.getFluid(4000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(TitaniumTetrachloride.getFluid(1000)) + fluidInputs(DinitrogenTetroxide.getFluid(2000)) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, TitaniumNitrate, 17) + fluidOutputs(Chlorine.getFluid(4000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // Ti + 4HNO3 -> Ti(NO3)4 + 4H (this recipe with Li2TiO3 reaction can // produce 4H each cycling, it is a higher buff recipe). - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Titanium) - .fluidInputs(NitricAcid.getFluid(4000)) - .output(dust, TitaniumNitrate, 17) - .fluidOutputs(Hydrogen.getFluid(4000)) - .EUt(VA[EV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Titanium) + fluidInputs(NitricAcid.getFluid(4000)) + output(dust, TitaniumNitrate, 17) + fluidOutputs(Hydrogen.getFluid(4000)) + EUt(VA[EV]) + duration(2 * SECOND + 10 * TICK) + } // Ti(NO3)4 + 2NaOH + Li2CO3 -> Li2TiO3 + Na2CO3 + 4HNO3 (cycle) - BLAST_RECIPES.recipeBuilder() - .input(dust, TitaniumNitrate, 17) - .input(dust, SodiumHydroxide, 6) - .input(dust, LithiumCarbonate, 6) - .output(ingotHot, LithiumTitanate, 6) - .output(dust, SodaAsh, 6) - .fluidOutputs(NitricAcid.getFluid(4000)) - .EUt(VA[EV]) - .duration(16 * SECOND) - .blastFurnaceTemp(3100) - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(dust, TitaniumNitrate, 17) + input(dust, SodiumHydroxide, 6) + input(dust, LithiumCarbonate, 6) + output(ingotHot, LithiumTitanate, 6) + output(dust, SodaAsh, 6) + fluidOutputs(NitricAcid.getFluid(4000)) + EUt(VA[EV]) + duration(16 * SECOND) + blastFurnaceTemp(3100) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LuTmYVOChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LuTmYVOChain.kt index 310b599e3..e64b64259 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LuTmYVOChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/LuTmYVOChain.kt @@ -14,6 +14,7 @@ import gregtech.api.unification.material.Materials.Propene import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES @@ -37,51 +38,51 @@ internal object LuTmYVOChain fun init() { // Lu2O3 + Tm2O3 + 3Y2O3 + 30HCl -> 30(LuCl3)2(TmCl3)2(YCl3)6(H2O)15 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, LutetiumOxide, 5) - .input(dust, ThuliumOxide, 5) - .input(dust, YttriumOxide, 15) - .fluidInputs(HydrochloricAcid.getFluid(30000)) - .fluidOutputs(LuTmYChloridesSolution.getFluid(30000)) - .EUt(VA[IV]) - .duration(30 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, LutetiumOxide, 5) + input(dust, ThuliumOxide, 5) + input(dust, YttriumOxide, 15) + fluidInputs(HydrochloricAcid.getFluid(30000)) + fluidOutputs(LuTmYChloridesSolution.getFluid(30000)) + EUt(VA[IV]) + duration(30 * SECOND) + } // 3(Na2CO3)(H2O) + V2O5 -> 2Na3VO4 + C3H6O2 + 7O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, VanadiumPentoxide, 7) - .notConsumable(DissolvedCalciumAcetate.getFluid(1)) - .fluidInputs(SodiumCarbonateSolution.getFluid(3000)) - .output(dust, SodiumVanadate, 16) - .fluidOutputs(MethylAcetate.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(7000)) - .EUt(VA[IV]) - .duration(2 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, VanadiumPentoxide, 7) + notConsumable(DissolvedCalciumAcetate.getFluid(1)) + fluidInputs(SodiumCarbonateSolution.getFluid(3000)) + output(dust, SodiumVanadate, 16) + fluidOutputs(MethylAcetate.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(7000)) + EUt(VA[IV]) + duration(2 * SECOND) + } // Na3VO4 + 2CH4N2O + (LuCl3)2(TmCl3)2(YCl3)6(H2O)15 -> Lu/Tm:YVO? + 0.9Cl - CVD_RECIPES.recipeBuilder() - .input(dust, SodiumVanadate, 8) - .input(dust, Carbamide, 16) - .fluidInputs(LuTmYChloridesSolution.getFluid(1000)) - .output(dust, LuTmDopedYttriumVanadateDeposition, 10) - .fluidOutputs(Chlorine.getFluid(900)) - .EUt(VA[ZPM]) - .duration(6 * SECOND) - .temperature(1440) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, SodiumVanadate, 8) + input(dust, Carbamide, 16) + fluidInputs(LuTmYChloridesSolution.getFluid(1000)) + output(dust, LuTmDopedYttriumVanadateDeposition, 10) + fluidOutputs(Chlorine.getFluid(900)) + EUt(VA[ZPM]) + duration(6 * SECOND) + temperature(1440) + } // Lu/Tm:YVO? + C2H6O -> Lu/Tm:YVO + (NH4)2CO3 + C3H6 - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, LuTmDopedYttriumVanadateDeposition, 10) - .fluidInputs(Ethanol.getFluid(1000)) - .output(dust, LuTmYVO) - .output(dust, AmmoniumCarbonate, 14) - .fluidOutputs(Propene.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, LuTmDopedYttriumVanadateDeposition, 10) + fluidInputs(Ethanol.getFluid(1000)) + output(dust, LuTmYVO) + output(dust, AmmoniumCarbonate, 14) + fluidOutputs(Propene.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MHDCSMChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MHDCSMChain.kt index bb743c026..177954870 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MHDCSMChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MHDCSMChain.kt @@ -30,6 +30,7 @@ import gregtech.api.unification.stack.UnificationEntry import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.copy import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ELECTRIC_IMPLOSION_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter @@ -49,196 +50,196 @@ internal object MHDCSMChain fun init() { // Basic recipes for Raw Star Matter. - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, WhiteDwarfMatter) - .input(nanite, BlackDwarfMatter) - .input(nanite, Universium) - .fluidInputs(RawStarMatter.getFluid(L * 128)) - .fluidOutputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 32)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, WhiteDwarfMatter) + input(nanite, BlackDwarfMatter) + input(nanite, Universium) + fluidInputs(RawStarMatter.getFluid(L * 128)) + fluidOutputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 32)) + EUt(VA[UXV]) + duration(5 * SECOND) + } // Advanced recipes for Raw Star Matter. - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Eternity) - .input(nanite, Universium) - .fluidInputs(RawStarMatter.getFluid(L * 512)) - .fluidOutputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 128)) - .EUt(VA[OpV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Eternity) + input(nanite, Universium) + fluidInputs(RawStarMatter.getFluid(L * 512)) + fluidOutputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 128)) + EUt(VA[OpV]) + duration(2 * SECOND + 10 * TICK) + } - // ingot - AUTOCLAVE_RECIPES.recipeBuilder() - .input(ingot, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(ingot, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Ingot + AUTOCLAVE_RECIPES.addRecipe { + input(ingot, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(ingot, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // plate - AUTOCLAVE_RECIPES.recipeBuilder() - .input(plate, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(plate, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Plate + AUTOCLAVE_RECIPES.addRecipe { + input(plate, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(plate, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // plateDouble - AUTOCLAVE_RECIPES.recipeBuilder() - .input(plateDouble, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 2)) - .output(plateDouble, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(2 * SECOND) - .buildAndRegister() + // Double Plate + AUTOCLAVE_RECIPES.addRecipe { + input(plateDouble, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 2)) + output(plateDouble, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(2 * SECOND) + } - // plateDense - AUTOCLAVE_RECIPES.recipeBuilder() - .input(plateDense, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 9)) - .output(plateDense, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(9 * SECOND) - .buildAndRegister() + // Dense Plate + AUTOCLAVE_RECIPES.addRecipe { + input(plateDense, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 9)) + output(plateDense, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(9 * SECOND) + } - // foil - AUTOCLAVE_RECIPES.recipeBuilder() - .input(foil, Eternity, 4) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(foil, MagnetohydrodynamicallyConstrainedStarMatter, 4) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Foil + AUTOCLAVE_RECIPES.addRecipe { + input(foil, Eternity, 4) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(foil, MagnetohydrodynamicallyConstrainedStarMatter, 4) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // stick - AUTOCLAVE_RECIPES.recipeBuilder() - .input(stick, Eternity, 2) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(stick, MagnetohydrodynamicallyConstrainedStarMatter, 2) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Stick + AUTOCLAVE_RECIPES.addRecipe { + input(stick, Eternity, 2) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(stick, MagnetohydrodynamicallyConstrainedStarMatter, 2) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // stickLong - AUTOCLAVE_RECIPES.recipeBuilder() - .input(stickLong, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(stickLong, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Long Stick + AUTOCLAVE_RECIPES.addRecipe { + input(stickLong, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(stickLong, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // bolt - AUTOCLAVE_RECIPES.recipeBuilder() - .input(bolt, Eternity, 8) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(bolt, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Bolt + AUTOCLAVE_RECIPES.addRecipe { + input(bolt, Eternity, 8) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(bolt, MagnetohydrodynamicallyConstrainedStarMatter, 8) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // screw - AUTOCLAVE_RECIPES.recipeBuilder() - .input(screw, Eternity, 8) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(screw, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Screw + AUTOCLAVE_RECIPES.addRecipe { + input(screw, Eternity, 8) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(screw, MagnetohydrodynamicallyConstrainedStarMatter, 8) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // ring - AUTOCLAVE_RECIPES.recipeBuilder() - .input(ring, Eternity, 4) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(ring, MagnetohydrodynamicallyConstrainedStarMatter, 4) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Ring + AUTOCLAVE_RECIPES.addRecipe { + input(ring, Eternity, 4) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(ring, MagnetohydrodynamicallyConstrainedStarMatter, 4) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // round - AUTOCLAVE_RECIPES.recipeBuilder() - .input(round, Eternity, 8) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(round, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Round + AUTOCLAVE_RECIPES.addRecipe { + input(round, Eternity, 8) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(round, MagnetohydrodynamicallyConstrainedStarMatter, 8) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // spring - AUTOCLAVE_RECIPES.recipeBuilder() - .input(spring, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(spring, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Spring + AUTOCLAVE_RECIPES.addRecipe { + input(spring, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(spring, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // springSmall - AUTOCLAVE_RECIPES.recipeBuilder() - .input(springSmall, Eternity, 4) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(springSmall, MagnetohydrodynamicallyConstrainedStarMatter, 4) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Small Spring + AUTOCLAVE_RECIPES.addRecipe { + input(springSmall, Eternity, 4) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(springSmall, MagnetohydrodynamicallyConstrainedStarMatter, 4) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // gear - AUTOCLAVE_RECIPES.recipeBuilder() - .input(gear, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 4)) - .output(gear, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(4 * SECOND) - .buildAndRegister() + // Gear + AUTOCLAVE_RECIPES.addRecipe { + input(gear, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 4)) + output(gear, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(4 * SECOND) + } - // gearSmall - AUTOCLAVE_RECIPES.recipeBuilder() - .input(gearSmall, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(gearSmall, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Small Gear + AUTOCLAVE_RECIPES.addRecipe { + input(gearSmall, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(gearSmall, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // wireFine - AUTOCLAVE_RECIPES.recipeBuilder() - .input(wireFine, Eternity, 8) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) - .output(wireFine, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + // Fine Wire + AUTOCLAVE_RECIPES.addRecipe { + input(wireFine, Eternity, 8) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L)) + output(wireFine, MagnetohydrodynamicallyConstrainedStarMatter, 8) + EUt(VA[UXV]) + duration(1 * SECOND) + } - // rotor - AUTOCLAVE_RECIPES.recipeBuilder() - .input(rotor, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 4)) - .output(rotor, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(4 * SECOND) - .buildAndRegister() + // Rotor + AUTOCLAVE_RECIPES.addRecipe { + input(rotor, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 4)) + output(rotor, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(4 * SECOND) + } - // block - AUTOCLAVE_RECIPES.recipeBuilder() - .input(block, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 9)) - .output(block, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(9 * SECOND) - .buildAndRegister() + // Block + AUTOCLAVE_RECIPES.addRecipe { + input(block, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 9)) + output(block, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(9 * SECOND) + } - // frameGt - AUTOCLAVE_RECIPES.recipeBuilder() - .input(frameGt, Eternity) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 2)) - .output(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) - .EUt(VA[UXV]) - .duration(2 * SECOND) - .buildAndRegister() + // Frame + AUTOCLAVE_RECIPES.addRecipe { + input(frameGt, Eternity) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 2)) + output(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) + EUt(VA[UXV]) + duration(2 * SECOND) + } // sheetedFrame ModHandler.addShapedRecipe(true, "magnetohydrodynamically_constrained_star_matter_sheeted_frame", GTLiteBlocks.SHEETED_FRAMES[MagnetohydrodynamicallyConstrainedStarMatter]!!.getItem(MagnetohydrodynamicallyConstrainedStarMatter).copy(12), @@ -246,14 +247,14 @@ internal object MHDCSMChain 'P', UnificationEntry(plate, MagnetohydrodynamicallyConstrainedStarMatter), 'F', UnificationEntry(frameGt, MagnetohydrodynamicallyConstrainedStarMatter)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(10) - .input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 3) - .input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) - .outputs(GTLiteBlocks.SHEETED_FRAMES[MagnetohydrodynamicallyConstrainedStarMatter]!!.getItem(MagnetohydrodynamicallyConstrainedStarMatter).copy(6)) - .EUt(7) // ULV - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(10) + input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 3) + input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) + outputs(GTLiteBlocks.SHEETED_FRAMES[MagnetohydrodynamicallyConstrainedStarMatter]!!.getItem(MagnetohydrodynamicallyConstrainedStarMatter).copy(6)) + EUt(7) // ULV + duration(2 * SECOND + 5 * TICK) + } // wallGt ModHandler.addShapedRecipe(true, "magnetohydrodynamically_constrained_star_matter_wall_gt", GTLiteBlocks.METAL_WALLS[MagnetohydrodynamicallyConstrainedStarMatter]!!.getItem(MagnetohydrodynamicallyConstrainedStarMatter).copy(6), @@ -261,15 +262,14 @@ internal object MHDCSMChain 'P', UnificationEntry(plate, MagnetohydrodynamicallyConstrainedStarMatter), 'S', UnificationEntry(screw, MagnetohydrodynamicallyConstrainedStarMatter)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(11) - .input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 2) - .input(screw, MagnetohydrodynamicallyConstrainedStarMatter) - .outputs(GTLiteBlocks.METAL_WALLS[MagnetohydrodynamicallyConstrainedStarMatter]!!.getItem(MagnetohydrodynamicallyConstrainedStarMatter).copy(3)) - .EUt(7) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(11) + input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 2) + input(screw, MagnetohydrodynamicallyConstrainedStarMatter) + outputs(GTLiteBlocks.METAL_WALLS[MagnetohydrodynamicallyConstrainedStarMatter]!!.getItem(MagnetohydrodynamicallyConstrainedStarMatter).copy(3)) + EUt(7) + duration(2 * SECOND + 5 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MagnetiumChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MagnetiumChain.kt index b7e8cd0d9..7b6f9e71b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MagnetiumChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MagnetiumChain.kt @@ -1,11 +1,17 @@ package gregtechlite.gtlitecore.loader.recipe.chain +import gregtech.api.GTValues.IV +import gregtech.api.GTValues.L import gregtech.api.GTValues.UIV import gregtech.api.GTValues.VA import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES +import gregtech.api.recipes.RecipeMaps.EXTRACTOR_RECIPES import gregtech.api.recipes.RecipeMaps.POLARIZER_RECIPES +import gregtech.api.recipes.category.RecipeCategories.EXTRACTOR_RECYCLING +import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.Materials.Duranium +import gregtech.api.unification.material.Materials.Europium import gregtech.api.unification.ore.OrePrefix.block import gregtech.api.unification.ore.OrePrefix.bolt import gregtech.api.unification.ore.OrePrefix.foil @@ -30,7 +36,9 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.copy +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HadronicResonantGas import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Magnetium import gregtechlite.gtlitecore.common.block.GTLiteBlocks @@ -42,207 +50,365 @@ internal object MagnetiumChain fun init() { - // ingotDuranium -> ingotMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(ingot, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(ingot, Magnetium) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // plateDuranium -> plateMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(plate, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(plate, Magnetium) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // plateDoubleDuranium -> plateDoubleMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(plateDouble, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250 * 2)) - .output(plateDouble, Magnetium) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .buildAndRegister() - - // plateDenseDuranium -> plateDenseMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(plateDense, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250 * 9)) - .output(plateDense, Magnetium) - .EUt(VA[UIV]) - .duration(1 * MINUTE + 30 * SECOND) - .buildAndRegister() - - // foilDuranium -> foilMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(foil, Duranium, 4) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(foil, Magnetium, 4) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // stickDuranium -> stickMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(stick, Duranium, 2) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(stick, Magnetium, 2) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // stickLongDuranium -> stickLongMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(stickLong, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(stickLong, Magnetium) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // boltDuranium -> boltMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(bolt, Duranium, 8) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(bolt, Magnetium, 8) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // screwDuranium -> screwMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(screw, Duranium, 8) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(screw, Magnetium, 8) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // ringDuranium -> ringMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(ring, Duranium, 4) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(ring, Magnetium, 4) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // roundDuranium -> roundMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(round, Duranium, 8) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(round, Magnetium, 8) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // springDuranium -> springMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(spring, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(spring, Magnetium) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // springSmallDuranium -> springSmallMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(springSmall, Duranium, 4) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(springSmall, Magnetium, 4) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // gearDuranium -> gearMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(gear, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250 * 4)) - .output(gear, Magnetium) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - // gearSmallDuranium -> gearSmallMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(gearSmall, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(gearSmall, Magnetium) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // wireFineDuranium -> wireFineMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(wireFine, Duranium, 8) - .fluidInputs(HadronicResonantGas.getFluid(250)) - .output(wireFine, Magnetium, 8) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() - - // rotorDuranium -> rotorMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(rotor, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250 * 4)) - .output(rotor, Magnetium) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - // blockDuranium -> blockMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(block, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250 * 9)) - .output(block, Magnetium) - .EUt(VA[UIV]) - .duration(1 * MINUTE + 30 * SECOND) - .buildAndRegister() - - // frameGtDuranium -> frameGtMagnetium - POLARIZER_RECIPES.recipeBuilder() - .input(frameGt, Duranium) - .fluidInputs(HadronicResonantGas.getFluid(250 * 2)) - .output(frameGt, Magnetium) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .buildAndRegister() - - // sheetedFrameMagnetium + // Ingot + POLARIZER_RECIPES.removeRecipe(OreDictUnifier.get(ingot, Europium)) + POLARIZER_RECIPES.addRecipe { + input(ingot, Duranium) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(ingot, Magnetium) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(ingot, Magnetium) + fluidOutputs(Magnetium.getFluid(L)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Plate + POLARIZER_RECIPES.removeRecipe(OreDictUnifier.get(plate, Europium)) + POLARIZER_RECIPES.addRecipe { + input(plate, Duranium) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(plate, Magnetium) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(plate, Magnetium) + fluidOutputs(Magnetium.getFluid(L)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Double Plate + POLARIZER_RECIPES.addRecipe { + input(plateDouble, Duranium) + fluidInputs(HadronicResonantGas.getFluid(500)) + output(plateDouble, Magnetium) + EUt(VA[UIV]) + duration(20 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(plateDouble, Magnetium) + fluidOutputs(Magnetium.getFluid(L * 2)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Dense Plate + POLARIZER_RECIPES.addRecipe { + input(plateDense, Duranium) + fluidInputs(HadronicResonantGas.getFluid(2250)) + output(plateDense, Magnetium) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(plateDense, Magnetium) + fluidOutputs(Magnetium.getFluid(L * 9)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Foil + POLARIZER_RECIPES.removeRecipe(OreDictUnifier.get(foil, Europium)) + POLARIZER_RECIPES.addRecipe { + input(foil, Duranium, 4) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(foil, Magnetium, 4) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(foil, Magnetium) + fluidOutputs(Magnetium.getFluid(L / 4)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Stick + POLARIZER_RECIPES.removeRecipe(OreDictUnifier.get(stick, Europium)) + POLARIZER_RECIPES.addRecipe { + input(stick, Duranium, 2) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(stick, Magnetium, 2) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(stick, Magnetium) + fluidOutputs(Magnetium.getFluid(L / 2)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Long Stick + POLARIZER_RECIPES.removeRecipe(OreDictUnifier.get(stickLong, Europium)) + POLARIZER_RECIPES.addRecipe { + input(stickLong, Duranium) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(stickLong, Magnetium) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(stickLong, Magnetium) + fluidOutputs(Magnetium.getFluid(L)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Bolt + POLARIZER_RECIPES.addRecipe { + input(bolt, Duranium, 8) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(bolt, Magnetium, 8) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(bolt, Magnetium) + fluidOutputs(Magnetium.getFluid(L / 8)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Screw + POLARIZER_RECIPES.addRecipe { + input(screw, Duranium, 8) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(screw, Magnetium, 8) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(screw, Magnetium) + fluidOutputs(Magnetium.getFluid(L / 8)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Ring + POLARIZER_RECIPES.addRecipe { + input(ring, Duranium, 4) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(ring, Magnetium, 4) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(ring, Magnetium) + fluidOutputs(Magnetium.getFluid(L / 4)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Round + POLARIZER_RECIPES.addRecipe { + input(round, Duranium, 8) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(round, Magnetium, 8) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(round, Magnetium) + fluidOutputs(Magnetium.getFluid(L / 8)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Spring + POLARIZER_RECIPES.addRecipe { + input(spring, Duranium) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(spring, Magnetium) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(spring, Magnetium) + fluidOutputs(Magnetium.getFluid(L)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Small Spring + POLARIZER_RECIPES.addRecipe { + input(springSmall, Duranium, 4) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(springSmall, Magnetium, 4) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(springSmall, Magnetium) + fluidOutputs(Magnetium.getFluid(L / 4)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Gear + POLARIZER_RECIPES.addRecipe { + input(gear, Duranium) + fluidInputs(HadronicResonantGas.getFluid(1000)) + output(gear, Magnetium) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(gear, Magnetium) + fluidOutputs(Magnetium.getFluid(L * 4)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Small Gear + POLARIZER_RECIPES.addRecipe { + input(gearSmall, Duranium) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(gearSmall, Magnetium) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(gearSmall, Magnetium) + fluidOutputs(Magnetium.getFluid(L)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Fine Wire + POLARIZER_RECIPES.removeRecipe(OreDictUnifier.get(wireFine, Europium)) + POLARIZER_RECIPES.addRecipe { + input(wireFine, Duranium, 8) + fluidInputs(HadronicResonantGas.getFluid(250)) + output(wireFine, Magnetium, 8) + EUt(VA[UIV]) + duration(10 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(wireFine, Magnetium) + fluidOutputs(Magnetium.getFluid(L / 8)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Rotor + POLARIZER_RECIPES.addRecipe { + input(rotor, Duranium) + fluidInputs(HadronicResonantGas.getFluid(1000)) + output(rotor, Magnetium) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(rotor, Magnetium) + fluidOutputs(Magnetium.getFluid(L * 4)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Block + POLARIZER_RECIPES.removeRecipe(OreDictUnifier.get(block, Europium)) + POLARIZER_RECIPES.addRecipe { + input(block, Duranium) + fluidInputs(HadronicResonantGas.getFluid(2250)) + output(block, Magnetium) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(block, Magnetium) + fluidOutputs(Magnetium.getFluid(L * 9)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Frame + POLARIZER_RECIPES.addRecipe { + input(frameGt, Duranium) + fluidInputs(HadronicResonantGas.getFluid(500)) + output(frameGt, Magnetium) + EUt(VA[UIV]) + duration(20 * SECOND) + } + + EXTRACTOR_RECIPES.addRecipe { + input(frameGt, Magnetium) + fluidOutputs(Magnetium.getFluid(L * 2)) + EUt(VA[IV]) + duration(10 * SECOND) + category(EXTRACTOR_RECYCLING) + } + + // Sheeted Frame ModHandler.addShapedRecipe(true, "magnetium_sheeted_frame", GTLiteBlocks.SHEETED_FRAMES[Magnetium]!!.getItem(Magnetium).copy(12), "PFP", "PhP", "PFP", 'P', UnificationEntry(plate, Magnetium), 'F', UnificationEntry(frameGt, Magnetium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(10) - .input(plate, Magnetium, 3) - .input(frameGt, Magnetium) - .outputs(GTLiteBlocks.SHEETED_FRAMES[Magnetium]!!.getItem(Magnetium).copy(6)) - .EUt(7) // ULV - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(10) + input(plate, Magnetium, 3) + input(frameGt, Magnetium) + outputs(GTLiteBlocks.SHEETED_FRAMES[Magnetium]!!.getItem(Magnetium).copy(6)) + EUt(7) // ULV + duration(2 * SECOND + 5 * TICK) + } - // wallGtMagnetium + // Wall ModHandler.addShapedRecipe(true, "magnetium_wall_gt", GTLiteBlocks.METAL_WALLS[Magnetium]!!.getItem(Magnetium).copy(6), "hPS", "P P", "SPd", 'P', UnificationEntry(plate, Magnetium), 'S', UnificationEntry(screw, Magnetium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(11) - .input(plate, Magnetium, 2) - .input(screw, Magnetium) - .outputs(GTLiteBlocks.METAL_WALLS[Magnetium]!!.getItem(Magnetium).copy(3)) - .EUt(7) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(11) + input(plate, Magnetium, 2) + input(screw, Magnetium) + outputs(GTLiteBlocks.METAL_WALLS[Magnetium]!!.getItem(Magnetium).copy(3)) + EUt(7) + duration(2 * SECOND + 5 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MagnetoResonaticChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MagnetoResonaticChain.kt index 11a3808c9..04190951c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MagnetoResonaticChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MagnetoResonaticChain.kt @@ -15,6 +15,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.ore.OrePrefix.gem import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BismuthTelluride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CubicZirconia @@ -29,35 +30,35 @@ internal object MagnetoResonaticChain fun init() { // Zr + 2O -> c-ZrO2 - CVD_RECIPES.recipeBuilder() - .input(dust, Zirconium) - .fluidInputs(Oxygen.getFluid(2000)) - .output(gem, CubicZirconia) - .EUt(VA[IV]) - .duration(10 * SECOND) - .temperature(1132) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, Zirconium) + fluidInputs(Oxygen.getFluid(2000)) + output(gem, CubicZirconia) + EUt(VA[IV]) + duration(10 * SECOND) + temperature(1132) + } // 2Bi + 3Te -> Bi2Te3 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Tellurium, 3) - .input(dust, Bismuth, 2) - .output(dust, BismuthTelluride, 5) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister(); + CHEMICAL_RECIPES.addRecipe { + input(dust, Tellurium, 3) + input(dust, Bismuth, 2) + output(dust, BismuthTelluride, 5) + EUt(VA[MV]) + duration(8 * SECOND) + } // 4Bi2Te3 + 3(SiO2)5Fe + c-ZrO2 + Fe -> (Bi2Te3)4((SiO2)5Fe)3(ZrO2)Fe - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, BismuthTelluride, 4) - .input(dust, Prasiolite, 3) - .input(dust, CubicZirconia, 1) - .input(dust, SteelMagnetic, 1) - .output(dust, MagnetoResonatic, 9) - .EUt(VA[EV]) - .duration(4 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, BismuthTelluride, 4) + input(dust, Prasiolite, 3) + input(dust, CubicZirconia, 1) + input(dust, SteelMagnetic, 1) + output(dust, MagnetoResonatic, 9) + EUt(VA[EV]) + duration(4 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MethylamineChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MethylamineChain.kt index 659ea2f22..1b51a6f9b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MethylamineChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MethylamineChain.kt @@ -21,6 +21,7 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES @@ -40,93 +41,91 @@ internal object MethylamineChain fun init() { - - MIXER_RECIPES.recipeBuilder() - .input(dust, Kyanite) - .fluidInputs(Methanol.getFluid(2000)) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidOutputs(MethylamineMixture.getFluid(3000)) - .EUt(VA[HV]) - .duration(50 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .input(dust, Alumina) - .input(dust, SiliconDioxide) - .fluidInputs(Methanol.getFluid(2000)) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidOutputs(MethylamineMixture.getFluid(3000)) - .EUt(VA[HV]) - .duration(50 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + input(dust, Kyanite) + fluidInputs(Methanol.getFluid(2000)) + fluidInputs(Ammonia.getFluid(1000)) + fluidOutputs(MethylamineMixture.getFluid(3000)) + EUt(VA[HV]) + duration(50 * SECOND) + } + + MIXER_RECIPES.addRecipe { + input(dust, Alumina) + input(dust, SiliconDioxide) + fluidInputs(Methanol.getFluid(2000)) + fluidInputs(Ammonia.getFluid(1000)) + fluidOutputs(MethylamineMixture.getFluid(3000)) + EUt(VA[HV]) + duration(50 * SECOND) + } // 6CH3OH + 3NH3 -> CH3NH2 + (CH3)2NH2 + (CH3)3NH2 + 3H2O - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(MethylamineMixture.getFluid(9000)) - .fluidOutputs(Methylamine.getFluid(1000)) - .fluidOutputs(Dimethylamine.getFluid(1000)) - .fluidOutputs(Trimethylamine.getFluid(1000)) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[LuV]) - .duration(50 * SECOND) - .disableDistilleryRecipes() - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(MethylamineMixture.getFluid(9000)) + fluidOutputs(Methylamine.getFluid(1000)) + fluidOutputs(Dimethylamine.getFluid(1000)) + fluidOutputs(Trimethylamine.getFluid(1000)) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[LuV]) + duration(50 * SECOND) + disableDistilleryRecipes() + } // DMF process. // KCl + CH4O -> CH3OK + HCl - ROASTER_RECIPES.recipeBuilder() - .input(dust, RockSalt, 2) - .fluidInputs(Methanol.getFluid(1000)) - .output(dust, PotassiumFormate, 6) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(12 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, RockSalt, 2) + fluidInputs(Methanol.getFluid(1000)) + output(dust, PotassiumFormate, 6) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(12 * SECOND) + } // (CH3)2NH + HCl -> C2H8NCl - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Dimethylamine.getFluid(1000)) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .fluidOutputs(DimethylamineHydrochloride.getFluid(1000)) - .EUt(VA[EV]) - .duration(3 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Dimethylamine.getFluid(1000)) + fluidInputs(HydrochloricAcid.getFluid(1000)) + fluidOutputs(DimethylamineHydrochloride.getFluid(1000)) + EUt(VA[EV]) + duration(3 * SECOND) + } // CH3OK + C2H8NCl -> KCl + (CH3)2NC(O)H + H + Cl (lost) - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, PotassiumFormate, 6) - .fluidInputs(DimethylamineHydrochloride.getFluid(1000)) - .output(dust, RockSalt, 2) - .fluidOutputs(Dimethylformamide.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(1000)) - .EUt(VA[EV]) - .duration(6 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, PotassiumFormate, 6) + fluidInputs(DimethylamineHydrochloride.getFluid(1000)) + output(dust, RockSalt, 2) + fluidOutputs(Dimethylformamide.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(1000)) + EUt(VA[EV]) + duration(6 * SECOND) + } // Advanced recipe for (CH3)2NC(O)H and (CH3)2NC(O)CH3. // C2H7N + CO -> (CH3)2NC(O)H - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Dimethylamine.getFluid(1000)) - .fluidInputs(CarbonMonoxide.getFluid(1000)) - .fluidOutputs(Dimethylformamide.getFluid(1000)) - .EUt(VA[IV]) - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Dimethylamine.getFluid(1000)) + fluidInputs(CarbonMonoxide.getFluid(1000)) + fluidOutputs(Dimethylformamide.getFluid(1000)) + EUt(VA[IV]) + duration(12 * SECOND) + } // C2H7N + C2H4O2 -> (CH3)2NC(O)CH3 + H2O - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Dimethylamine.getFluid(1000)) - .fluidInputs(AceticAcid.getFluid(1000)) - .fluidOutputs(Dimethylacetamide.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[LuV]) - .duration(12 * SECOND) - .buildAndRegister() - + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Dimethylamine.getFluid(1000)) + fluidInputs(AceticAcid.getFluid(1000)) + fluidOutputs(Dimethylacetamide.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[LuV]) + duration(12 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MicaInsulatorChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MicaInsulatorChain.kt index e5d0f702a..55be70d53 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MicaInsulatorChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MicaInsulatorChain.kt @@ -23,6 +23,7 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_PLATE import gregtech.common.items.MetaItems.STICKY_RESIN import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Latex import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Lizardite import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Muscovite @@ -33,6 +34,17 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.MICA_INSULATOR_PLATE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.MICA_PLATE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.MICA_PULP +/** + * Optional material list in the Mica Insulator Processing: + * + * | Mica Material | Gel Material | Ore Fiber Material | + * |-------------------------------|--------------|-------------------------| + * | Mica KAl2(AlSi3O10)F2 | Latex | Asbestos Mg3Si2H4O9 | + * | Biotite KMg3Al2(AlSi3O10)F2 | Resin | Lizardite Mg3Si2O5(OH)4 | + * | Lepidolite KLi3Al4F2O10 | Raw Rubber | | + * | Muscovite KAl2(AlSi3O10)(OH)2 | Sticky Resin | | + * | Phlogopite KMg3(AlSi3O10)F2 | | | + */ internal object MicaInsulatorChain { @@ -41,88 +53,88 @@ internal object MicaInsulatorChain fun init() { - // Mica pulp. - for (micaStack in arrayOf( + // Mica Pulp + for (mica in arrayOf( OreDictUnifier.get(dust, Mica, 3), OreDictUnifier.get(dust, Biotite, 3), OreDictUnifier.get(dust, Lepidolite, 3), OreDictUnifier.get(dust, Muscovite, 3), OreDictUnifier.get(dust, Phlogopite, 3))) { - for (gelStack in arrayOf( + for (gel in arrayOf( OreDictUnifier.get(dust, Latex), OreDictUnifier.get(dust, Resin), OreDictUnifier.get(dust, RawRubber, 2), STICKY_RESIN.stackForm)) { - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .inputs(micaStack) - .inputs(gelStack) - .output(MICA_PULP, 4) - .EUt(V[ULV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + inputs(mica) + inputs(gel) + output(MICA_PULP, 4) + EUt(V[ULV]) + duration(10 * SECOND) + buildAndRegister() + } } } - // Mica pulp -> mica plate. - for (oreFiberStack in arrayOf( + // Mica Pulp -> Mica Plate + for (oreFiber in arrayOf( OreDictUnifier.get(dust, Asbestos), OreDictUnifier.get(dust, Lizardite))) { - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_PLATE) - .input(MICA_PULP, 4) - .inputs(oreFiberStack) - .output(MICA_PLATE, 4) - .EUt(28) // LV - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_PLATE) + input(MICA_PULP, 4) + inputs(oreFiber) + output(MICA_PLATE, 4) + EUt(28) // LV + duration(5 * SECOND) + } } - // Mica plate -> Mica insulator plate. - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(MICA_PLATE, 2) - .input(dust, Quartzite, 1) - .output(MICA_INSULATOR_PLATE, 2) - .EUt(15) // LV - .duration(10 * SECOND) - .buildAndRegister() - - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(MICA_PLATE, 4) - .input(dust, SiliconDioxide) - .output(MICA_INSULATOR_PLATE, 4) - .EUt(15) - .duration(20 * SECOND) - .buildAndRegister() + // Mica Plate -> Mica Insulator Plate + ALLOY_SMELTER_RECIPES.addRecipe { + input(MICA_PLATE, 2) + input(dust, Quartzite) + output(MICA_INSULATOR_PLATE, 2) + EUt(15) // LV + duration(10 * SECOND) + } - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(MICA_PLATE, 4) - .input(dust, NetherQuartz) - .output(MICA_INSULATOR_PLATE, 4) - .EUt(15) - .duration(20 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + input(MICA_PLATE, 4) + input(dust, SiliconDioxide) + output(MICA_INSULATOR_PLATE, 4) + EUt(15) // LV + duration(20 * SECOND) + } - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(MICA_PLATE, 4) - .input(dust, CertusQuartz) - .output(MICA_INSULATOR_PLATE, 4) - .EUt(15) - .duration(20 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + input(MICA_PLATE, 4) + input(dust, NetherQuartz) + output(MICA_INSULATOR_PLATE, 4) + EUt(15) // LV + duration(20 * SECOND) + } - // Mica insulator plate -> Mica insulator foil. - BENDER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(MICA_INSULATOR_PLATE) - .output(MICA_INSULATOR_FOIL, 4) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + input(MICA_PLATE, 4) + input(dust, CertusQuartz) + output(MICA_INSULATOR_PLATE, 4) + EUt(15) // LV + duration(20 * SECOND) + } + // Mica Insulator Plate -> Mica Insulator Foil + BENDER_RECIPES.addRecipe { + circuitMeta(1) + input(MICA_INSULATOR_PLATE) + output(MICA_INSULATOR_FOIL, 4) + EUt(VA[LV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MutatedLivingSolderChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MutatedLivingSolderChain.kt index a57b9d023..1f6af33cd 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MutatedLivingSolderChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/MutatedLivingSolderChain.kt @@ -3,7 +3,6 @@ package gregtechlite.gtlitecore.loader.recipe.chain import gregtech.api.GTValues.L import gregtech.api.GTValues.UEV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.unification.material.Materials.Bismuth import gregtech.api.unification.material.Materials.Neutronium import gregtech.api.unification.material.Materials.Tin @@ -13,6 +12,8 @@ import gregtech.common.items.MetaItems.STEM_CELLS import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.GelidCryotheum import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MutatedLivingSolder @@ -24,18 +25,18 @@ internal object MutatedLivingSolderChain fun init() { - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(STEM_CELLS, 64) - .input(GRAVI_STAR, 8) - .input(dust, Neutronium, 2) - .fluidInputs(Tin.getPlasma(18000)) - .fluidInputs(Bismuth.getPlasma(18000)) - .fluidInputs(GelidCryotheum.getFluid(4000)) - .fluidOutputs(MutatedLivingSolder.getFluid(L * 300)) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(STEM_CELLS, 64) + input(GRAVI_STAR, 8) + input(dust, Neutronium, 2) + fluidInputs(Tin.getPlasma(18000)) + fluidInputs(Bismuth.getPlasma(18000)) + fluidInputs(GelidCryotheum.getFluid(4000)) + fluidOutputs(MutatedLivingSolder.getFluid(L * 300)) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanitesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanitesChain.kt index 148dfc251..d515e1f0d 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanitesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanitesChain.kt @@ -33,6 +33,7 @@ import gregtech.common.items.MetaItems.SYSTEM_ON_CHIP import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.NANO_FORGE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ActiniumSuperhydride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Antimatter @@ -77,12 +78,13 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.TIMEPIECE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.TOPOLOGICAL_INSULATOR_TUBE /** - * Nanites recipes for Nano Forge. + * Nanites recipes for Nano Forge * * Here's all nanites recipes for several recipes which used nanites as components, it is based on the * same name ore prefix in [GT5u](https://github.com/GTNewHorizons/GT5-Unofficial). The original author * of Nano Forge and PCB Factory is [BlueWeabo](https://github.com/BlueWeabo), here's the general rules * for all nanites recipes (the presenter is also BlueWeabo): + * * - Nanites meant to be consumed should either have a short duration or a big output; * - Nanites which aren't consumed should have a long duration and output less than 16; * - Nanites always take UU Matter as a fluid and a lot of power to make; @@ -103,259 +105,258 @@ internal object NanitesChain fun init() { // The first recipe for Carbon Nanite, used to assemble Nano Forge. - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UV, 4) - .input(ROBOT_ARM_ZPM, 8) - .input(STEM_CELLS, 32) - .input(ring, NaquadahAlloy, 16) - .input(stick, NaquadahAlloy, 8) - .input(dust, Carbon, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(16000)) - .output(nanite, Carbon, 2) - .EUt(VA[UV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UV, 4) + input(ROBOT_ARM_ZPM, 8) + input(STEM_CELLS, 32) + input(ring, NaquadahAlloy, 16) + input(stick, NaquadahAlloy, 8) + input(dust, Carbon, 64) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(16000)) + output(nanite, Carbon, 2) + EUt(VA[UV]) + duration(10 * SECOND) + stationResearch { it.researchStack(block, Carbon) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // Carbon Nanite (for Nano Forge controller, some QFT catalysts) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, NetherStar) - .input(block, Carbon, 8) - .input(SYSTEM_ON_CHIP, 64) - .fluidInputs(UUMatter.getFluid(200_000)) - .output(nanite, Carbon, 64) - .EUt(10_000_000) // UIV - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, NetherStar) + input(block, Carbon, 8) + input(SYSTEM_ON_CHIP, 64) + fluidInputs(UUMatter.getFluid(200_000)) + output(nanite, Carbon, 64) + EUt(10_000_000) // UIV + duration(20 * SECOND) + tier(1) + } // Silver Nanite (for PCB Factory T2 recipes, some QFT Catalysts) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, HexagonalBoronNitride) - .input(block, Silver, 8) - .input(ADVANCED_SYSTEM_ON_CHIP, 64) - .fluidInputs(UUMatter.getFluid(200_000)) - .output(nanite, Silver) - .EUt(10_000_000) // UIV - .duration(40 * SECOND) - .tier(2) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, HexagonalBoronNitride) + input(block, Silver, 8) + input(ADVANCED_SYSTEM_ON_CHIP, 64) + fluidInputs(UUMatter.getFluid(200_000)) + output(nanite, Silver) + EUt(10_000_000) // UIV + duration(40 * SECOND) + tier(2) + } // Gold Nanite (for PCB Factory T3 recipes) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, HexagonalSiliconNitride) - .input(block, Gold, 8) - .input(HIGHLY_ADVANCED_SOC, 64) - .fluidInputs(UUMatter.getFluid(300_000)) - .output(nanite, Gold) - .EUt(100_000_000) // UXV - .duration(1 * MINUTE) - .tier(3) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, HexagonalSiliconNitride) + input(block, Gold, 8) + input(HIGHLY_ADVANCED_SOC, 64) + fluidInputs(UUMatter.getFluid(300_000)) + output(nanite, Gold) + EUt(100_000_000) // UXV + duration(1 * MINUTE) + tier(3) + } // Glowstone Nanite (for Optoelectronic SoC for Optical Circuits and some QFT Catalysts) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, LithiumNiobate) - .input(block, Glowstone, 16) - .input(ADVANCED_SYSTEM_ON_CHIP, 64) - .fluidInputs(UUMatter.getFluid(50_000)) - .output(nanite, Glowstone, 64) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE + 30 * SECOND) - .tier(2) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, LithiumNiobate) + input(block, Glowstone, 16) + input(ADVANCED_SYSTEM_ON_CHIP, 64) + fluidInputs(UUMatter.getFluid(50_000)) + output(nanite, Glowstone, 64) + EUt(50_000_000) // UXV + duration(1 * MINUTE + 30 * SECOND) + tier(2) + } // Neutronium Nanite (for some QFT Catalysts and UXV+ component recipes) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, ChromaticGlass) - .input(block, Neutronium, 8) - .input(ADVANCED_SYSTEM_ON_CHIP, 64) - .input(ADVANCED_SYSTEM_ON_CHIP, 32) - .fluidInputs(UUMatter.getFluid(200_000)) - .output(nanite, Neutronium) - .EUt(100_000_000) // UIV - .duration(50 * SECOND) - .tier(1) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, ChromaticGlass) + input(block, Neutronium, 8) + input(ADVANCED_SYSTEM_ON_CHIP, 64) + input(ADVANCED_SYSTEM_ON_CHIP, 32) + fluidInputs(UUMatter.getFluid(200_000)) + output(nanite, Neutronium) + EUt(100_000_000) // UIV + duration(50 * SECOND) + tier(1) + } // Copper Nanite (for some QFT Catalysts and Mag Matter) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, Topaz) - .input(block, Copper, 8) - .input(SYSTEM_ON_CHIP, 64) - .input(SYSTEM_ON_CHIP, 64) - .fluidInputs(UUMatter.getFluid(120_000)) - .output(nanite, Copper, 16) - .EUt(10_000_000) // UIV - .duration(30 * SECOND) - .tier(1) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, Topaz) + input(block, Copper, 8) + input(SYSTEM_ON_CHIP, 64) + input(SYSTEM_ON_CHIP, 64) + fluidInputs(UUMatter.getFluid(120_000)) + output(nanite, Copper, 16) + EUt(10_000_000) // UIV + duration(30 * SECOND) + tier(1) + } // Iron Nanite (for Harmonic Phonon Matter blasting and Nano Shielding Frame) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, CubicBoronNitride) - .input(block, Iron, 8) - .input(HIGHLY_ADVANCED_SOC, 64) - .input(HIGHLY_ADVANCED_SOC, 64) - .fluidInputs(UUMatter.getFluid(400_000)) - .output(nanite, Iron, 4) - .EUt(50_000_000) // UXV - .duration(30 * SECOND) - .tier(2) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, CubicBoronNitride) + input(block, Iron, 8) + input(HIGHLY_ADVANCED_SOC, 64) + input(HIGHLY_ADVANCED_SOC, 64) + fluidInputs(UUMatter.getFluid(400_000)) + output(nanite, Iron, 4) + EUt(50_000_000) // UXV + duration(30 * SECOND) + tier(2) + } // Transcendent Metal Nanite (for some QFT Catalysts and Phonon Crystal Seed) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(ENERGISED_TESSERACT) - .input(block, TranscendentMetal, 8) - .input(HIGHLY_ADVANCED_SOC, 64) - .input(HIGHLY_ADVANCED_SOC, 64) - .input(HIGHLY_ADVANCED_SOC, 64) - .fluidInputs(UUMatter.getFluid(2_000_000)) - .output(nanite, TranscendentMetal) - .EUt(1_000_000_000) // MAX - .duration(2 * MINUTE + 30 * SECOND) - .tier(2) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(ENERGISED_TESSERACT) + input(block, TranscendentMetal, 8) + input(HIGHLY_ADVANCED_SOC, 64) + input(HIGHLY_ADVANCED_SOC, 64) + input(HIGHLY_ADVANCED_SOC, 64) + fluidInputs(UUMatter.getFluid(2_000_000)) + output(nanite, TranscendentMetal) + EUt(1_000_000_000) // MAX + duration(2 * MINUTE + 30 * SECOND) + tier(2) + } // Chrome Nanite (for Lattice QCD Shielding Casing) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, GSTGlass) - .input(block, Chrome, 8) - .input(HIGHLY_ADVANCED_SOC, 64) - .input(HIGHLY_ADVANCED_SOC, 64) - .input(HIGHLY_ADVANCED_SOC, 64) - .fluidInputs(UUMatter.getFluid(2_500_000)) - .output(nanite, Chrome, 2) - .EUt(1_500_000_000) // MAX - .duration(2 * MINUTE) - .tier(3) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, GSTGlass) + input(block, Chrome, 8) + input(HIGHLY_ADVANCED_SOC, 64) + input(HIGHLY_ADVANCED_SOC, 64) + input(HIGHLY_ADVANCED_SOC, 64) + fluidInputs(UUMatter.getFluid(2_500_000)) + output(nanite, Chrome, 2) + EUt(1_500_000_000) // MAX + duration(2 * MINUTE) + tier(3) + } // White Dwarf Matter Nanite (for MHDCSM recipe) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, NdYAG) - .notConsumable(lens, MagnetoResonatic) - .notConsumable(QUANTUM_ANOMALY) - .input(block, WhiteDwarfMatter, 8) - .input(ATTO_PIC_CHIP, 64) - .input(circuit, Tier.UHV) - .fluidInputs(UUMatter.getFluid(500_000)) - .fluidInputs(RawStarMatter.getFluid(50_000)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 5)) - .output(nanite, WhiteDwarfMatter, 16) - .EUt(2_000_000_000) // MAX - .duration(1 * MINUTE + 30 * SECOND) - .tier(3) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, NdYAG) + notConsumable(lens, MagnetoResonatic) + notConsumable(QUANTUM_ANOMALY) + input(block, WhiteDwarfMatter, 8) + input(ATTO_PIC_CHIP, 64) + input(circuit, Tier.UHV) + fluidInputs(UUMatter.getFluid(500_000)) + fluidInputs(RawStarMatter.getFluid(50_000)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 5)) + output(nanite, WhiteDwarfMatter, 16) + EUt(2_000_000_000) // MAX + duration(1 * MINUTE + 30 * SECOND) + tier(3) + } // Black Dwarf Matter Nanite (for MHDCSM recipe) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, CubicHeterodiamond) - .notConsumable(lens, MagnetoResonatic) - .notConsumable(QUANTUM_ANOMALY) - .input(block, BlackDwarfMatter, 8) - .input(ATTO_PIC_CHIP, 64) - .input(circuit, Tier.UHV) - .fluidInputs(UUMatter.getFluid(500_000)) - .fluidInputs(RawStarMatter.getFluid(50_000)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 5)) - .output(nanite, BlackDwarfMatter, 16) - .EUt(2_000_000_000) // MAX - .duration(1 * MINUTE + 30 * SECOND) - .tier(3) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, CubicHeterodiamond) + notConsumable(lens, MagnetoResonatic) + notConsumable(QUANTUM_ANOMALY) + input(block, BlackDwarfMatter, 8) + input(ATTO_PIC_CHIP, 64) + input(circuit, Tier.UHV) + fluidInputs(UUMatter.getFluid(500_000)) + fluidInputs(RawStarMatter.getFluid(50_000)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 5)) + output(nanite, BlackDwarfMatter, 16) + EUt(2_000_000_000) // MAX + duration(1 * MINUTE + 30 * SECOND) + tier(3) + } // Universium Nanite (for MHDCSM recipe) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, PrHoYLF) - .notConsumable(QUANTUM_ANOMALY) - .input(block, Universium, 8) - .input(TOPOLOGICAL_INSULATOR_TUBE, 16) - .input(OPTICAL_IMC_UNIT, 16) - .input(circuit, Tier.UHV) - .fluidInputs(SpaceTime.getFluid(L)) - .fluidInputs(Infinity.getFluid(L * 4)) - .fluidInputs(PrimordialMatter.getFluid(64_000)) - .output(nanite, Universium, 16) - .EUt(2_000_000_000) // MAX - .duration(1 * MINUTE + 30 * SECOND) - .tier(3) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, PrHoYLF) + notConsumable(QUANTUM_ANOMALY) + input(block, Universium, 8) + input(TOPOLOGICAL_INSULATOR_TUBE, 16) + input(OPTICAL_IMC_UNIT, 16) + input(circuit, Tier.UHV) + fluidInputs(SpaceTime.getFluid(L)) + fluidInputs(Infinity.getFluid(L * 4)) + fluidInputs(PrimordialMatter.getFluid(64_000)) + output(nanite, Universium, 16) + EUt(2_000_000_000) // MAX + duration(1 * MINUTE + 30 * SECOND) + tier(3) + } // Eternity Nanite (for MHDCSM advanced recipe) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, CubicSiliconNitride) - .notConsumable(QUANTUM_ANOMALY) - .input(nanite, TranscendentMetal) - .input(block, Eternity, 8) - .input(ATTO_PIC_CHIP, 64) - .input(TIMEPIECE, 4) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 8)) - .fluidInputs(Antimatter.getFluid(50_000)) - .fluidInputs(PrimordialMatter.getFluid(64_000)) - .output(nanite, Eternity, 16) - .EUt(2_000_000_000) // MAX - .duration(1 * MINUTE + 30 * SECOND) - .tier(3) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, CubicSiliconNitride) + notConsumable(QUANTUM_ANOMALY) + input(nanite, TranscendentMetal) + input(block, Eternity, 8) + input(ATTO_PIC_CHIP, 64) + input(TIMEPIECE, 4) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 8)) + fluidInputs(Antimatter.getFluid(50_000)) + fluidInputs(PrimordialMatter.getFluid(64_000)) + output(nanite, Eternity, 16) + EUt(2_000_000_000) // MAX + duration(1 * MINUTE + 30 * SECOND) + tier(3) + } // Mag Matter Nanite (for Supracausal Circuit recipes) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, CubicZirconia) - .notConsumable(QUANTUM_ANOMALY) - .input(nanite, Iron) - .input(block, MagMatter, 8) - .input(ATTO_PIC_CHIP, 64) - .input(circuit, Tier.UHV) - .fluidInputs(HarmonicPhononMatter.getFluid(L * 16)) - .fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(50_000)) - .fluidInputs(PrimordialMatter.getFluid(64_000)) - .output(nanite, MagMatter, 4) - .EUt(2_000_000_000) // MAX - .duration(2 * MINUTE) - .tier(3) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, CubicZirconia) + notConsumable(QUANTUM_ANOMALY) + input(nanite, Iron) + input(block, MagMatter, 8) + input(ATTO_PIC_CHIP, 64) + input(circuit, Tier.UHV) + fluidInputs(HarmonicPhononMatter.getFluid(L * 16)) + fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(50_000)) + fluidInputs(PrimordialMatter.getFluid(64_000)) + output(nanite, MagMatter, 4) + EUt(2_000_000_000) // MAX + duration(2 * MINUTE) + tier(3) + } // Shirabon Nanite (for Supracausal Circuit Component recipes) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, LanthanumHexaboride) - .notConsumable(QUANTUM_ANOMALY) - .input(nanite, Neutronium) - .input(block, Shirabon, 8) - .input(GRAVITON_SHARD) - .input(circuit, Tier.UHV) - .fluidInputs(Creon.getPlasma(L * 16)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 64)) - .fluidInputs(BlackDwarfMatter.getFluid(L * 64)) - .output(nanite, Shirabon, 16) - .EUt(4_800_000_000) // MAX+ - .duration(2 * MINUTE + 30 * SECOND) - .tier(3) - .buildAndRegister() + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, LanthanumHexaboride) + notConsumable(QUANTUM_ANOMALY) + input(nanite, Neutronium) + input(block, Shirabon, 8) + input(GRAVITON_SHARD) + input(circuit, Tier.UHV) + fluidInputs(Creon.getPlasma(L * 16)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 64)) + fluidInputs(BlackDwarfMatter.getFluid(L * 64)) + output(nanite, Shirabon, 16) + EUt(4_800_000_000) // MAX+ + duration(2 * MINUTE + 30 * SECOND) + tier(3) + } // Mellion Nanite (for Supracausal Circuit Component recipes) - NANO_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, LuTmYVO) - .notConsumable(ENERGISED_TESSERACT) - .input(nanite, Copper) - .input(block, Mellion, 8) - .input(GRAVITON_SHARD) - .input(circuit, Tier.UHV) - .fluidInputs(ActiniumSuperhydride.getPlasma(50_000)) - .fluidInputs(RawStarMatter.getPlasma(50_000)) - .fluidInputs(Universium.getFluid(L * 16)) - .output(nanite, Mellion, 16) - .EUt(4_800_000_000) // MAX+ - .duration(2 * MINUTE + 30 * SECOND) - .tier(3) - .buildAndRegister() - + NANO_FORGE_RECIPES.addRecipe { + notConsumable(lens, LuTmYVO) + notConsumable(ENERGISED_TESSERACT) + input(nanite, Copper) + input(block, Mellion, 8) + input(GRAVITON_SHARD) + input(circuit, Tier.UHV) + fluidInputs(ActiniumSuperhydride.getPlasma(50_000)) + fluidInputs(RawStarMatter.getPlasma(50_000)) + fluidInputs(Universium.getFluid(L * 16)) + output(nanite, Mellion, 16) + EUt(4_800_000_000) // MAX+ + duration(2 * MINUTE + 30 * SECOND) + tier(3) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanoparticlesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanoparticlesChain.kt index 2b75f2d44..a6d6b062d 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanoparticlesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanoparticlesChain.kt @@ -21,6 +21,7 @@ import gregtech.api.unification.ore.OrePrefix.wireFine import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Acetaldehyde @@ -51,76 +52,79 @@ internal object NanoparticlesChain fun init() { - // Palladium Loaded Rutile Nanoparticles + // region Palladium Loaded Rutile Nanoparticles // Pd(CH3COOH)2 + 3Li2TiO3 + 2HCl + H2O -> Pd(TiO2) + C4H6O4 + 2LiCl - CVD_RECIPES.recipeBuilder() - .input(dust, PalladiumAcetate, 15) - .input(wireFine, LithiumTitanate, 24) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, PalladiumLoadedRutileNanoparticles, 4) - .output(dust, SuccinicAcid, 14) - .output(dust, LithiumChloride, 4) - .EUt(VA[EV]) - .duration(10 * TICK) - .temperature(684) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, PalladiumAcetate, 15) + input(wireFine, LithiumTitanate, 24) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, PalladiumLoadedRutileNanoparticles, 4) + output(dust, SuccinicAcid, 14) + output(dust, LithiumChloride, 4) + EUt(VA[EV]) + duration(10 * TICK) + temperature(684) + } - // Silicon Nanoparticles + // endregion + + // region Silicon Nanoparticles // Add another recipes for C8H16, the original produce is CPP byproducts. // 2C4H8 -> C8H16 - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Butene.getFluid(200)) - .fluidOutputs(Octene.getFluid(100)) - .EUt(VA[MV]) - .duration(14 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Butene.getFluid(200)) + fluidOutputs(Octene.getFluid(100)) + EUt(VA[MV]) + duration(14 * TICK) + } // (CH3)3N + C8H18 + C8H16 + Br -> C19H42BrN + H - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Trimethylamine.getFluid(1000)) - .fluidInputs(Octane.getFluid(1000)) - .fluidInputs(Octene.getFluid(1000)) - .fluidInputs(Bromine.getFluid(1000)) - .fluidOutputs(CetaneTrimethylAmmoniumBromide.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + fluidInputs(Trimethylamine.getFluid(1000)) + fluidInputs(Octane.getFluid(1000)) + fluidInputs(Octene.getFluid(1000)) + fluidInputs(Bromine.getFluid(1000)) + fluidOutputs(CetaneTrimethylAmmoniumBromide.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } // Si(CH3)Cl3 + C19H42BrN + C6H8O7 + 2Na -> Si + 4C + 7C2H4O + 3HCl + N(CH2CH3)4Br + 2NaH - CVD_RECIPES.recipeBuilder() - .input(dust, Sodium, 2) - .fluidInputs(Methyltrichlorosilane.getFluid(1000)) - .fluidInputs(CetaneTrimethylAmmoniumBromide.getFluid(1000)) - .fluidInputs(CitricAcid.getFluid(1000)) - .output(dust, SiliconNanoparticles) - .output(dust, SodiumHydride, 4) - .output(dust, Carbon, 4) - .fluidOutputs(Acetaldehyde.getFluid(7000)) - .fluidOutputs(HydrochloricAcid.getFluid(3000)) - .fluidOutputs(TetraethylammoniumBromide.getFluid(1000)) - .EUt(VA[UV]) - .duration(20 * SECOND) - .temperature(1342) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, Sodium, 2) + fluidInputs(Methyltrichlorosilane.getFluid(1000)) + fluidInputs(CetaneTrimethylAmmoniumBromide.getFluid(1000)) + fluidInputs(CitricAcid.getFluid(1000)) + output(dust, SiliconNanoparticles) + output(dust, SodiumHydride, 4) + output(dust, Carbon, 4) + fluidOutputs(Acetaldehyde.getFluid(7000)) + fluidOutputs(HydrochloricAcid.getFluid(3000)) + fluidOutputs(TetraethylammoniumBromide.getFluid(1000)) + EUt(VA[UV]) + duration(20 * SECOND) + temperature(1342) + } - // Nanosilicon Cathode - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, SiliconNanoparticles) - .input(dust, GrapheneOxide) - .input(dust, CalciumAlginate) - .input(dust, CarbonNanotube) - .fluidInputs(SodiumCarbonateSolution.getFluid(1000)) - .fluidInputs(AscorbicAcid.getFluid(1000)) - .output(NANOSILICON_CATHODE) - .fluidOutputs(DehydroascorbicAcid.getFluid(1000)) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .buildAndRegister() + // endregion + // Nanosilicon Cathode + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, SiliconNanoparticles) + input(dust, GrapheneOxide) + input(dust, CalciumAlginate) + input(dust, CarbonNanotube) + fluidInputs(SodiumCarbonateSolution.getFluid(1000)) + fluidInputs(AscorbicAcid.getFluid(1000)) + output(NANOSILICON_CATHODE) + fluidOutputs(DehydroascorbicAcid.getFluid(1000)) + EUt(VA[UHV]) + duration(20 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanotubesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanotubesChain.kt index 5ac6f22c8..53c11cf8a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanotubesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NanotubesChain.kt @@ -14,7 +14,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.BENDER_RECIPES import gregtech.api.recipes.RecipeMaps.BREWING_RECIPES import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES @@ -76,6 +75,8 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_INGOT import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.extension.duration import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -140,442 +141,442 @@ internal object NanotubesChain private fun bipyridineProcess() { // CH2O + 2C2H4O + NH3 -> C5H5N + 3H2O + 2H - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .notConsumable(dust, Thallium) - .fluidInputs(Formaldehyde.getFluid(1000)) - .fluidInputs(Acetaldehyde.getFluid(2000)) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidOutputs(Pyridine.getFluid(1000)) - .fluidOutputs(Water.getFluid(3000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[EV]) - .duration(12 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + notConsumable(dust, Thallium) + fluidInputs(Formaldehyde.getFluid(1000)) + fluidInputs(Acetaldehyde.getFluid(2000)) + fluidInputs(Ammonia.getFluid(1000)) + fluidOutputs(Pyridine.getFluid(1000)) + fluidOutputs(Water.getFluid(3000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[EV]) + duration(12 * SECOND) + } // 2C5H5N -> C10H8N2 + 2H - BREWING_RECIPES.recipeBuilder() - .notConsumable(dust, Aluminium) - .fluidInputs(Pyridine.getFluid(2000)) - .output(dust, Bipyridine, 20) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + BREWING_RECIPES.addRecipe { + notConsumable(dust, Aluminium) + fluidInputs(Pyridine.getFluid(2000)) + output(dust, Bipyridine, 20) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[EV]) + duration(10 * SECOND) + } } private fun palladiumBisdibenzylidieneacetoneProcess() { // Pd + 2Cl -> PdCl2 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Palladium) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, PalladiumRaw, 3) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Palladium) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, PalladiumRaw, 3) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // 2C7H6O + C3H6O -> C17H14O + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Benzaldehyde.getFluid(2000)) - .fluidInputs(Acetone.getFluid(1000)) - .fluidOutputs(Dibenzylideneacetone.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Benzaldehyde.getFluid(2000)) + fluidInputs(Acetone.getFluid(1000)) + fluidOutputs(Dibenzylideneacetone.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // 2PdCl2 + 3C17H14O -> C51H42O3Pd2 + 4Cl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PalladiumRaw, 6) - .fluidInputs(Dibenzylideneacetone.getFluid(3000)) - .output(dust, PalladiumBisdibenzylidieneacetone, 64) - .output(dust, PalladiumBisdibenzylidieneacetone, 34) - .fluidOutputs(Chlorine.getFluid(4000)) - .EUt(VA[IV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PalladiumRaw, 6) + fluidInputs(Dibenzylideneacetone.getFluid(3000)) + output(dust, PalladiumBisdibenzylidieneacetone, 64) + output(dust, PalladiumBisdibenzylidieneacetone, 34) + fluidOutputs(Chlorine.getFluid(4000)) + EUt(VA[IV]) + duration(4 * SECOND) + } } private fun dichlorocyclooctadieneplatiniumProcess() { // 2C4H6 -> C8H12 - PYROLYSE_RECIPES.recipeBuilder() - .notConsumable(dust, Nickel) - .fluidInputs(Butadiene.getFluid(2000)) - .fluidOutputs(Cyclooctadiene.getFluid(1000)) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() + PYROLYSE_RECIPES.addRecipe { + notConsumable(dust, Nickel) + fluidInputs(Butadiene.getFluid(2000)) + fluidOutputs(Cyclooctadiene.getFluid(1000)) + EUt(VA[HV]) + duration(4 * SECOND) + } // C10H12 -> C8H12 + 2C (drop) - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Dicyclopentadiene.getFluid(100)) - .fluidOutputs(Cyclooctadiene.getFluid(100)) - .EUt(VA[HV]) - .duration(12 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Dicyclopentadiene.getFluid(100)) + fluidOutputs(Cyclooctadiene.getFluid(100)) + EUt(VA[HV]) + duration(12 * TICK) + } // C5H8 + C3H4O4 -> C8H12 + 4O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, MalonicAcid, 11) - .fluidInputs(Isoprene.getFluid(1000)) - .fluidOutputs(Cyclooctadiene.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(4000)) - .EUt(VA[EV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, MalonicAcid, 11) + fluidInputs(Isoprene.getFluid(1000)) + fluidOutputs(Cyclooctadiene.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(4000)) + EUt(VA[EV]) + duration(3 * SECOND) + } // Pt + 2HCl + 4Cl -> H2PtCl6 - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, Platinum) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .fluidInputs(Chlorine.getFluid(4000)) - .fluidOutputs(HexachloroplatinicAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, Platinum) + fluidInputs(HydrochloricAcid.getFluid(2000)) + fluidInputs(Chlorine.getFluid(4000)) + fluidOutputs(HexachloroplatinicAcid.getFluid(1000)) + EUt(VA[MV]) + duration(7 * SECOND + 10 * TICK) + } // K2 + H2PtCl6 -> K2PtCl4 + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Potassium, 2) - .fluidInputs(HexachloroplatinicAcid.getFluid(1000)) - .output(dust, PotassiumTetrachloroplatinate, 7) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Potassium, 2) + fluidInputs(HexachloroplatinicAcid.getFluid(1000)) + output(dust, PotassiumTetrachloroplatinate, 7) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(15 * SECOND) + } // K2PtCl4 + C8H12 -> C8H12Cl2Pt + 2KCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PotassiumTetrachloroplatinate, 7) - .fluidInputs(Cyclooctadiene.getFluid(1000)) - .output(dust, Dichlorocyclooctadieneplatinium, 23) - .output(dust, RockSalt, 4) - .EUt(VA[HV]) - .duration(18 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PotassiumTetrachloroplatinate, 7) + fluidInputs(Cyclooctadiene.getFluid(1000)) + output(dust, Dichlorocyclooctadieneplatinium, 23) + output(dust, RockSalt, 4) + EUt(VA[HV]) + duration(18 * SECOND) + } } private fun cppProcess() { // (C6H5)2 + 2I + (NH4)2SO4 + H2SO4 -> C12H8I2 + (NH4)2S2O8 + 4H - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, Biphenyl, 22) - .input(dust, Iodine, 2) - .input(dust, AmmoniumSulfate, 17) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .output(dust, Diiodobiphenyl, 22) - .output(dust, AmmoniumPersulfate, 20) - .fluidOutputs(Hydrogen.getFluid(4000)) - .EUt(VA[HV]) - .duration(13 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, Biphenyl, 22) + input(dust, Iodine, 2) + input(dust, AmmoniumSulfate, 17) + fluidInputs(SulfuricAcid.getFluid(1000)) + output(dust, Diiodobiphenyl, 22) + output(dust, AmmoniumPersulfate, 20) + fluidOutputs(Hydrogen.getFluid(4000)) + EUt(VA[HV]) + duration(13 * SECOND) + } // (NH4)2S2O8 + 2H -> (NH2)4SO4 + H2SO4 (cycle) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, AmmoniumPersulfate, 20) - .fluidInputs(Hydrogen.getFluid(2000)) - .output(dust, AmmoniumSulfate, 17) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, AmmoniumPersulfate, 20) + fluidInputs(Hydrogen.getFluid(2000)) + output(dust, AmmoniumSulfate, 17) + fluidOutputs(SulfuricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND + 10 * TICK) + } // SnCl2 + 3CH4 + O -> (CH3)3SnCl + (HCl)(H2O) - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, HRAMagnesium) - .input(dust, TinDichloride, 3) - .fluidInputs(Methane.getFluid(3000)) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(TrimethyltinChloride.getFluid(1000)) - .fluidOutputs(DilutedHydrochloricAcid.getFluid(2000)) - .EUt(VA[EV]) - .duration(6 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, HRAMagnesium) + input(dust, TinDichloride, 3) + fluidInputs(Methane.getFluid(3000)) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(TrimethyltinChloride.getFluid(1000)) + fluidOutputs(DilutedHydrochloricAcid.getFluid(2000)) + EUt(VA[EV]) + duration(6 * SECOND + 10 * TICK) + } // Ag + Cl -> AgCl - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Silver) - .fluidInputs(Chlorine.getFluid(1000)) - .output(dust, SilverChloride, 2) - .EUt(VA[MV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Silver) + fluidInputs(Chlorine.getFluid(1000)) + output(dust, SilverChloride, 2) + EUt(VA[MV]) + duration(3 * SECOND) + } // 3Ag2O + 2BF3 -> B2O3 + AgBF4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SilverOxide, 9) - .fluidInputs(BoronTrifluoride.getFluid(8000)) - .notConsumable(Benzene.getFluid(1)) - .output(dust, SilverTetrafluoroborate, 6) - .output(dust, BoronTrioxide, 5) - .EUt(VA[IV]) - .duration(32 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SilverOxide, 9) + fluidInputs(BoronTrifluoride.getFluid(8000)) + notConsumable(Benzene.getFluid(1)) + output(dust, SilverTetrafluoroborate, 6) + output(dust, BoronTrioxide, 5) + EUt(VA[IV]) + duration(32 * SECOND + 10 * TICK) + } // 2AgCl + H2O -> Ag2O + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, SodiumHydroxide) - .input(dust, SilverChloride, 4) - .fluidInputs(Water.getFluid(1000)) - .output(dust, SilverOxide, 3) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(9 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, SodiumHydroxide) + input(dust, SilverChloride, 4) + fluidInputs(Water.getFluid(1000)) + output(dust, SilverOxide, 3) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(9 * SECOND) + } // 2C8H12Cl2Pt + 2C12H8I2 + 8C + 4AgBF4 + 4(CH3)3SnCl // -> 2PtCl2 + 8I + 4AgCl + 4Sn + 10C6H4 + 4BF3 + 3C8H16 + 4HF - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .notConsumable(dust, Bipyridine) // C10H8N2 catalyst - .notConsumable(dust, PalladiumBisdibenzylidieneacetone) // C51H42O3Pd2 catalyst - .input(dust, Dichlorocyclooctadieneplatinium, 46) - .input(dust, Diiodobiphenyl, 44) - .input(dust, SilverTetrafluoroborate, 24) - .input(dust, Carbon, 8) - .notConsumable(Resorcinol.getFluid(1)) - .notConsumable(Butyllithium.getFluid(1)) - .fluidInputs(TrimethyltinChloride.getFluid(4000)) - .output(dust, PalladiumRaw, 6) - .output(dust, Iodine, 8) - .output(dust, SilverChloride, 8) - .output(dust, Tin, 4) - .fluidOutputs(Cycloparaphenylene.getFluid(10000)) - .fluidOutputs(BoronTrifluoride.getFluid(4000)) - .fluidOutputs(Octene.getFluid(3000)) - .fluidOutputs(HydrofluoricAcid.getFluid(4000)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + notConsumable(dust, Bipyridine) // catalyst C10H8N2 + notConsumable(dust, PalladiumBisdibenzylidieneacetone) // catalyst C51H42O3Pd2 + input(dust, Dichlorocyclooctadieneplatinium, 46) // C8H12Cl2Pt + input(dust, Diiodobiphenyl, 44) // C12H8I2 + input(dust, SilverTetrafluoroborate, 24) // AgBF4 + input(dust, Carbon, 8) + notConsumable(Resorcinol.getFluid(1)) // catalyst C6H6O2 + notConsumable(Butyllithium.getFluid(1)) // catalyst C4H9Li + fluidInputs(TrimethyltinChloride.getFluid(4000)) // (CH3)3SnCl + output(dust, PalladiumRaw, 6) + output(dust, Iodine, 8) + output(dust, SilverChloride, 8) + output(dust, Tin, 4) + fluidOutputs(Cycloparaphenylene.getFluid(10000)) // C6H4 + fluidOutputs(BoronTrifluoride.getFluid(4000)) + fluidOutputs(Octene.getFluid(3000)) // C8H16 + fluidOutputs(HydrofluoricAcid.getFluid(4000)) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // C8H16 -> 2C4H6 + 4C (drop) - CENTRIFUGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Octene.getFluid(1000)) - .fluidOutputs(Butadiene.getFluid(2000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Octene.getFluid(1000)) + fluidOutputs(Butadiene.getFluid(2000)) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // C8H16 -> C8H12 + 4C (drop) - CENTRIFUGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Octene.getFluid(1000)) - .fluidOutputs(Cyclooctadiene.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Octene.getFluid(1000)) + fluidOutputs(Cyclooctadiene.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } } private fun cntProcess() { - // 3C2H2 + 7C6H4 + 10N -> C48 + 10NH3 (993K) - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plate, Rhenium) - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(Acetylene.getFluid(3000)) - .fluidInputs(Cycloparaphenylene.getFluid(7000)) - .fluidInputs(Nitrogen.getPlasma(10000)) - .output(ingot, CarbonNanotube) - .EUt(VA[UV]) - .duration(5 * SECOND) - .temperature(993) - .buildAndRegister() - - // 12C2H2 + 28C6H4 + 4N -> 4C48 + 40NH3 (3972K) - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plateDouble, Rhenium) - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(Acetylene.getFluid(12000)) - .fluidInputs(Cycloparaphenylene.getFluid(28000)) - .fluidInputs(Nitrogen.getPlasma(40000)) - .output(ingot, CarbonNanotube, 4) - .fluidOutputs(Ammonia.getFluid(40000)) - .EUt(VA[UEV]) - .duration(1 * SECOND + 5 * TICK) - .temperature(993) - .buildAndRegister() + // 3C2H2 + 7C6H4 + 10N -> C48 + 10NH3 + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plate, Rhenium) + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(Acetylene.getFluid(3000)) + fluidInputs(Cycloparaphenylene.getFluid(7000)) + fluidInputs(Nitrogen.getPlasma(10000)) + output(ingot, CarbonNanotube) + EUt(VA[UV]) + duration(5 * SECOND) + temperature(993) + } + + // 12C2H2 + 28C6H4 + 4N -> 4C48 + 40NH3 + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plateDouble, Rhenium) + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(Acetylene.getFluid(12000)) + fluidInputs(Cycloparaphenylene.getFluid(28000)) + fluidInputs(Nitrogen.getPlasma(40000)) + output(ingot, CarbonNanotube, 4) + fluidOutputs(Ammonia.getFluid(40000)) + EUt(VA[UEV]) + duration(1 * SECOND + 5 * TICK) + temperature(993) + } // C48 decomposition. - ELECTROLYZER_RECIPES.recipeBuilder() - .input(dust, CarbonNanotube) - .output(dust, Carbon, 48) - .EUt(VH[MV]) - .duration((Carbon.mass * 48).toInt()) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + input(dust, CarbonNanotube) + output(dust, Carbon, 48) + EUt(VH[MV]) + duration(Carbon.mass * 48) + } // In CNT (C48) chain, the main compound CPP/Cycloparaphenylene (C6H4) is not // consumable actually, player should complete the following cycling when they // completed CNT chain. // Completed recipes of graphene foil, required it in CNT cycling. - BENDER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, Graphene) - .output(foil, Graphene, 4) - .EUt(24) - .duration(Graphene.mass.toInt()) - .buildAndRegister() - - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_FOIL) - .input(dust, Graphene) - .output(foil, Graphene, 4) - .EUt(24) - .duration(Graphene.mass) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(1) + input(plate, Graphene) + output(foil, Graphene, 4) + EUt(24) + duration(Graphene.mass) + } + + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_FOIL) + input(dust, Graphene) + output(foil, Graphene, 4) + EUt(24) + duration(Graphene.mass) + } // 6C8 + C48 -> C96 - FORMING_PRESS_RECIPES.recipeBuilder() - .input(foil, Graphene, 24) - .input(dust, CarbonNanotube) - .output(CARBON_ALLOTROPE_MIXTURE) - .EUt(VA[IV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(foil, Graphene, 24) + input(dust, CarbonNanotube) + output(CARBON_ALLOTROPE_MIXTURE) + EUt(VA[IV]) + duration(5 * SECOND) + cleanroom() + } // C96 -> C48 + (C6H4)7C12 - ELECTROMAGNETIC_SEPARATOR_RECIPES.recipeBuilder() - .input(CARBON_ALLOTROPE_MIXTURE) - .output(ingot, CarbonNanotube) - .output(GRAPHENE_ALIGNED_CNT, 4) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ELECTROMAGNETIC_SEPARATOR_RECIPES.addRecipe { + input(CARBON_ALLOTROPE_MIXTURE) + output(ingot, CarbonNanotube) + output(GRAPHENE_ALIGNED_CNT, 4) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // (C6H4)7(C12) -> 7C6H4 + 12C - EXTRACTOR_RECIPES.recipeBuilder() - .input(GRAPHENE_ALIGNED_CNT) - .output(dust, Carbon, 3) - .fluidOutputs(Cycloparaphenylene.getFluid(1750)) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + input(GRAPHENE_ALIGNED_CNT) + output(dust, Carbon, 3) + fluidOutputs(Cycloparaphenylene.getFluid(1750)) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } } private fun seaborgiumCNTProcess() { - // 3C2H2 + 7C6H4 + 10N -> C48 + 10NH3 (2876K) - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plate, Technetium) - .notConsumable(SHAPE_MOLD_INGOT) - .input(dust, Seaborgium) - .fluidInputs(Acetylene.getFluid(3000)) - .fluidInputs(Cycloparaphenylene.getFluid(7000)) - .fluidInputs(Nitrogen.getPlasma(10000)) - .output(ingot, SeaborgiumDopedCarbonNanotube) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .temperature(2876) - .buildAndRegister() - - // 12C2H2 + 28C6H4 + 4N -> 4C48 + 40NH3 (3972K) - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plateDouble, Technetium) - .notConsumable(SHAPE_MOLD_INGOT) - .input(dust, Seaborgium) - .fluidInputs(Acetylene.getFluid(12000)) - .fluidInputs(Cycloparaphenylene.getFluid(28000)) - .fluidInputs(Nitrogen.getPlasma(40000)) - .output(ingot, SeaborgiumDopedCarbonNanotube, 4) - .fluidOutputs(Ammonia.getFluid(40000)) - .EUt(VA[UEV]) - .duration(1 * SECOND + 5 * TICK) - .temperature(6364) - .buildAndRegister() + // 3C2H2 + 7C6H4 + 10N -> C48 + 10NH3 + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plate, Technetium) + notConsumable(SHAPE_MOLD_INGOT) + input(dust, Seaborgium) + fluidInputs(Acetylene.getFluid(3000)) + fluidInputs(Cycloparaphenylene.getFluid(7000)) + fluidInputs(Nitrogen.getPlasma(10000)) + output(ingot, SeaborgiumDopedCarbonNanotube) + EUt(VA[UHV]) + duration(5 * SECOND) + temperature(2876) + } + + // 12C2H2 + 28C6H4 + 4N -> 4C48 + 40NH3 + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plateDouble, Technetium) + notConsumable(SHAPE_MOLD_INGOT) + input(dust, Seaborgium) + fluidInputs(Acetylene.getFluid(12000)) + fluidInputs(Cycloparaphenylene.getFluid(28000)) + fluidInputs(Nitrogen.getPlasma(40000)) + output(ingot, SeaborgiumDopedCarbonNanotube, 4) + fluidOutputs(Ammonia.getFluid(40000)) + EUt(VA[UEV]) + duration(1 * SECOND + 5 * TICK) + temperature(6364) + } } private fun lanthanumFullereneNTProcess() { // 2C60H30 + 2La -> (C60H30)2La2 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, GeodesicPolyarene, 2) - .input(dust, Lanthanum, 2) - .output(dust, LanthanumFullereneMixture, 4) - .EUt(VA[LuV]) - .duration(2 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, GeodesicPolyarene, 2) + input(dust, Lanthanum, 2) + output(dust, LanthanumFullereneMixture, 4) + EUt(VA[LuV]) + duration(2 * SECOND) + cleanroom() + } // (C60H30)2La2 + 20N -> (C60)2La2 + 20NH3 - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, MagnetoResonatic) - .input(dust, LanthanumFullereneMixture, 4) - .fluidInputs(Nitrogen.getFluid(20000)) - .output(dust, LanthanumEmbeddedFullerene, 4) - .fluidOutputs(Ammonia.getFluid(20000)) - .EUt(VA[UHV]) - .duration(16 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, MagnetoResonatic) + input(dust, LanthanumFullereneMixture, 4) + fluidInputs(Nitrogen.getFluid(20000)) + output(dust, LanthanumEmbeddedFullerene, 4) + fluidOutputs(Ammonia.getFluid(20000)) + EUt(VA[UHV]) + duration(16 * SECOND) + cleanroom() + } // 0.5(C60)2La2 + 3C2H2 + 7C6H4 + 10N -> C48C60La + 10NH3 - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plate, Bohrium) - .notConsumable(SHAPE_MOLD_INGOT) - .input(dust, LanthanumEmbeddedFullerene, 2) - .fluidInputs(Acetylene.getFluid(3000)) - .fluidInputs(Cycloparaphenylene.getFluid(7000)) - .fluidInputs(Nitrogen.getPlasma(10000)) - .output(ingot, LanthanumFullereneNanotube) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .temperature(1986) - .buildAndRegister() - - // 2(C60)2La2 + 12C2H2 + 28C6H4 + 4N -> 4C48C60La + 40NH3 (3972K) - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plateDouble, Bohrium) - .notConsumable(SHAPE_MOLD_INGOT) - .input(dust, LanthanumEmbeddedFullerene, 8) - .fluidInputs(Acetylene.getFluid(12000)) - .fluidInputs(Cycloparaphenylene.getFluid(28000)) - .fluidInputs(Nitrogen.getPlasma(40000)) - .output(ingot, LanthanumFullereneNanotube, 4) - .fluidOutputs(Ammonia.getFluid(40000)) - .EUt(VA[UIV]) - .duration(1 * SECOND + 5 * TICK) - .temperature(7944) - .buildAndRegister() + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plate, Bohrium) + notConsumable(SHAPE_MOLD_INGOT) + input(dust, LanthanumEmbeddedFullerene, 2) + fluidInputs(Acetylene.getFluid(3000)) + fluidInputs(Cycloparaphenylene.getFluid(7000)) + fluidInputs(Nitrogen.getPlasma(10000)) + output(ingot, LanthanumFullereneNanotube) + EUt(VA[UEV]) + duration(5 * SECOND) + temperature(1986) + } + + // 2(C60)2La2 + 12C2H2 + 28C6H4 + 4N -> 4C48C60La + 40NH3 + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plateDouble, Bohrium) + notConsumable(SHAPE_MOLD_INGOT) + input(dust, LanthanumEmbeddedFullerene, 8) + fluidInputs(Acetylene.getFluid(12000)) + fluidInputs(Cycloparaphenylene.getFluid(28000)) + fluidInputs(Nitrogen.getPlasma(40000)) + output(ingot, LanthanumFullereneNanotube, 4) + fluidOutputs(Ammonia.getFluid(40000)) + EUt(VA[UIV]) + duration(1 * SECOND + 5 * TICK) + temperature(7944) + } } private fun neutroniumCNTProcess() { - - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plate, Moscovium) - .notConsumable(SHAPE_MOLD_INGOT) - .input(dust, Neutronium) - .fluidInputs(Acetylene.getFluid(3000)) - .fluidInputs(Cycloparaphenylene.getFluid(7000)) - .fluidInputs(Nitrogen.getPlasma(10000)) - .output(ingot, NeutroniumDopedCarbonNanotube) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .temperature(3302) - .buildAndRegister() - - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plateDouble, Moscovium) - .notConsumable(SHAPE_MOLD_INGOT) - .input(dust, Neutronium) - .fluidInputs(Acetylene.getFluid(12000)) - .fluidInputs(Cycloparaphenylene.getFluid(28000)) - .fluidInputs(Nitrogen.getPlasma(40000)) - .output(ingot, NeutroniumDopedCarbonNanotube, 4) - .fluidOutputs(Ammonia.getFluid(40000)) - .EUt(VA[OpV]) - .duration(1 * SECOND + 5 * TICK) - .temperature(8208) - .buildAndRegister() - + // Nt + 3C2H2 + 7C6H4 + 10N -> C48C60Nt + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plate, Moscovium) + notConsumable(SHAPE_MOLD_INGOT) + input(dust, Neutronium) + fluidInputs(Acetylene.getFluid(3000)) + fluidInputs(Cycloparaphenylene.getFluid(7000)) + fluidInputs(Nitrogen.getPlasma(10000)) + output(ingot, NeutroniumDopedCarbonNanotube) + EUt(VA[UXV]) + duration(5 * SECOND) + temperature(3302) + } + + // Nt + 12C2H2 + 28C6H4 + 40N -> 4C48C60Nt + 40NH3 + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plateDouble, Moscovium) + notConsumable(SHAPE_MOLD_INGOT) + input(dust, Neutronium) + fluidInputs(Acetylene.getFluid(12000)) + fluidInputs(Cycloparaphenylene.getFluid(28000)) + fluidInputs(Nitrogen.getPlasma(40000)) + output(ingot, NeutroniumDopedCarbonNanotube, 4) + fluidOutputs(Ammonia.getFluid(40000)) + EUt(VA[OpV]) + duration(1 * SECOND + 5 * TICK) + temperature(8208) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NdYAGChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NdYAGChain.kt index bbc4f9f6a..1af6abeb0 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NdYAGChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/NdYAGChain.kt @@ -22,6 +22,7 @@ import gregtech.api.unification.ore.OrePrefix.gem import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES @@ -60,109 +61,108 @@ internal object NdYAGChain private fun carbamideProcess() { // 2KMnO4 + 5NH3 + 5HCN + 3H2SO4 -> 2MnSO4 + K2SO4 + 5NH4CNO + 3H2O - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PotassiumPermanganate, 12) - .fluidInputs(Ammonia.getFluid(5000)) - .fluidInputs(HydrogenCyanide.getFluid(5000)) - .fluidInputs(SulfuricAcid.getFluid(3000)) - .output(dust, ManganeseSulfate, 12) - .output(dust, PotassiumSulfate, 7) - .fluidOutputs(AmmoniumCyanate.getFluid(5000)) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[EV]) - .duration(40 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, PotassiumPermanganate, 12) + fluidInputs(Ammonia.getFluid(5000)) + fluidInputs(HydrogenCyanide.getFluid(5000)) + fluidInputs(SulfuricAcid.getFluid(3000)) + output(dust, ManganeseSulfate, 12) + output(dust, PotassiumSulfate, 7) + fluidOutputs(AmmoniumCyanate.getFluid(5000)) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[EV]) + duration(40 * SECOND) + } // NH4CNO -> CH4N2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(AmmoniumCyanate.getFluid(1000)) - .output(dust, Carbamide, 8) - .EUt(VA[HV]) - .duration(16 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(AmmoniumCyanate.getFluid(1000)) + output(dust, Carbamide, 8) + EUt(VA[HV]) + duration(16 * SECOND) + } } private fun tributylamineProcess() { // C4H8O + 2H -> C4H10O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Butyraldehyde.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(2000)) - .fluidOutputs(Butanol.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Butyraldehyde.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(2000)) + fluidOutputs(Butanol.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // 3C4H10O + NH3 -> (C4H9)3N + 3H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .notConsumable(dust, Zeolite) - .fluidInputs(Butanol.getFluid(3000)) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidOutputs(Tributylamine.getFluid(1000)) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[HV]) - .duration(7 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + notConsumable(dust, Zeolite) + fluidInputs(Butanol.getFluid(3000)) + fluidInputs(Ammonia.getFluid(1000)) + fluidOutputs(Tributylamine.getFluid(1000)) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[HV]) + duration(7 * SECOND) + } } private fun aluminaSolutionProcess() { // Al2O3 + HNO3 -> 2Al(NO3)3 + 3H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Alumina, 5) - .fluidInputs(NitricAcid.getFluid(6000)) - .output(dust, AluminiumNitrate, 26) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[LV]) - .duration(9 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Alumina, 5) + fluidInputs(NitricAcid.getFluid(6000)) + output(dust, AluminiumNitrate, 26) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[LV]) + duration(9 * SECOND + 10 * TICK) + } // 2Al(NO3)3 + CH2Cl2 + 2(C4H9)3N -> (Al2O3)(CH2Cl2)(C12H27N)2 + 2HNO3 (cycle) + NO2 - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, AluminiumNitrate, 26) - .fluidInputs(Dichloromethane.getFluid(1000)) - .fluidInputs(Tributylamine.getFluid(2000)) - .fluidInputs(HydrogenPeroxide.getFluid(1000)) - .fluidOutputs(AluminaSolution.getFluid(1000)) - .fluidOutputs(NitricAcid.getFluid(2000)) - .fluidOutputs(NitrogenDioxide.getFluid(1000)) - .EUt(VA[HV]) - .duration(14 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, AluminiumNitrate, 26) + fluidInputs(Dichloromethane.getFluid(1000)) + fluidInputs(Tributylamine.getFluid(2000)) + fluidInputs(HydrogenPeroxide.getFluid(1000)) + fluidOutputs(AluminaSolution.getFluid(1000)) + fluidOutputs(NitricAcid.getFluid(2000)) + fluidOutputs(NitrogenDioxide.getFluid(1000)) + EUt(VA[HV]) + duration(14 * SECOND) + } } private fun ndYAGProcess() { // Y2O3 + Nd2O3 -> (Y2O3)(Nd2O3) - ROASTER_RECIPES.recipeBuilder() - .input(dust, YttriumOxide, 5) - .input(dust, NeodymiumOxide, 5) - .output(dust, NeodymiumDopedYttriumOxide, 10) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, YttriumOxide, 5) + input(dust, NeodymiumOxide, 5) + output(dust, NeodymiumDopedYttriumOxide, 10) + EUt(VA[IV]) + duration(10 * SECOND) + } // CH4N2O + (Y2O3)(Nd2O3) + (Al2O3)(CH2Cl2)(C12H27N)2 -> 2Nd:YAG? + 2(C4H9)3N (cycle) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Carbamide, 8) - .input(dust, NeodymiumDopedYttriumOxide, 10) - .fluidInputs(AluminaSolution.getFluid(1000)) - .fluidOutputs(UnprocessedNdYAGSolution.getFluid(2000)) - .fluidOutputs(Tributylamine.getFluid(2000)) - .EUt(VA[IV]) - .duration(16 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Carbamide, 8) + input(dust, NeodymiumDopedYttriumOxide, 10) + fluidInputs(AluminaSolution.getFluid(1000)) + fluidOutputs(UnprocessedNdYAGSolution.getFluid(2000)) + fluidOutputs(Tributylamine.getFluid(2000)) + EUt(VA[IV]) + duration(16 * SECOND) + } // Nd:YAG? -> Nd:YAG + CH2Cl2 (cycle) - CVD_RECIPES.recipeBuilder() - .fluidInputs(UnprocessedNdYAGSolution.getFluid(1000)) - .output(gem, NdYAG) - .fluidOutputs(Dichloromethane.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(27 * SECOND + 10 * TICK) - .temperature(1884) - .buildAndRegister() - + CVD_RECIPES.addRecipe { + fluidInputs(UnprocessedNdYAGSolution.getFluid(1000)) + output(gem, NdYAG) + fluidOutputs(Dichloromethane.getFluid(1000)) + EUt(VA[ZPM]) + duration(27 * SECOND + 10 * TICK) + temperature(1884) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OctaazacubaneChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OctaazacubaneChain.kt index 447fff4aa..ef09e3e24 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OctaazacubaneChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OctaazacubaneChain.kt @@ -17,6 +17,7 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Octaazacubane @@ -32,39 +33,38 @@ internal object OctaazacubaneChain fun init() { // Na + NH3 -> NaNH2 + H - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, Sodium) - .fluidInputs(Ammonia.getFluid(1000)) - .notConsumable(Iron3Chloride.getFluid(1)) - .output(dust, SodiumAzanide, 4) - .fluidOutputs(Hydrogen.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, Sodium) + fluidInputs(Ammonia.getFluid(1000)) + notConsumable(Iron3Chloride.getFluid(1)) + output(dust, SodiumAzanide, 4) + fluidOutputs(Hydrogen.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } // 2NaNH2 + NO2 -> NaN3 + NaOH + H2O + H (drop) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumAzanide, 8) - .fluidInputs(NitrogenDioxide.getFluid(1000)) - .output(dust, SodiumAzide, 4) - .output(dust, SodiumHydroxide, 3) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumAzanide, 8) + fluidInputs(NitrogenDioxide.getFluid(1000)) + output(dust, SodiumAzide, 4) + output(dust, SodiumHydroxide, 3) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[ZPM]) + duration(5 * SECOND) + } // 2NaN3 + N2O4 -> N8 + Na2O + 3O - CVD_RECIPES.recipeBuilder() - .input(dust, SodiumAzide, 8) - .fluidInputs(DinitrogenTetroxide.getFluid(1000)) - .output(dust, Octaazacubane, 8) - .output(dust, SodiumOxide, 3) - .fluidOutputs(Oxygen.getFluid(3000)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .temperature(1442) - .buildAndRegister() - + CVD_RECIPES.addRecipe { + input(dust, SodiumAzide, 8) + fluidInputs(DinitrogenTetroxide.getFluid(1000)) + output(dust, Octaazacubane, 8) + output(dust, SodiumOxide, 3) + fluidOutputs(Oxygen.getFluid(3000)) + EUt(VA[UHV]) + duration(10 * SECOND) + temperature(1442) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OilsChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OilsChain.kt index 982f525f8..d7f1d35ae 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OilsChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OilsChain.kt @@ -6,7 +6,6 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.MV import gregtech.api.GTValues.V import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.COMBUSTION_GENERATOR_FUELS import gregtech.api.recipes.RecipeMaps.DISTILLATION_RECIPES import gregtech.api.recipes.RecipeMaps.DISTILLERY_RECIPES @@ -60,6 +59,8 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CATALYTIC_REFORMER_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES @@ -90,294 +91,280 @@ internal object OilsChain catalyticReforming() // Natural gas distillation addition. - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(NaturalGas.getFluid(1000)) - .fluidOutputs(Methane.getFluid(650)) // CH4 - .fluidOutputs(Ethane.getFluid(128)) // C2H6 - .fluidOutputs(Propane.getFluid(128)) // C3H8 - .fluidOutputs(Butane.getFluid(64)) // C4H10 - .fluidOutputs(Helium.getFluid(24)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(NaturalGas.getFluid(1000)) + fluidOutputs(Methane.getFluid(650)) // CH4 + fluidOutputs(Ethane.getFluid(128)) // C2H6 + fluidOutputs(Propane.getFluid(128)) // C3H8 + fluidOutputs(Butane.getFluid(64)) // C4H10 + fluidOutputs(Helium.getFluid(24)) + EUt(VA[HV]) + duration(5 * SECOND) + } } private fun ethaneCrackProcessing() { // Deleted vanilla hydrogen cracked ethane recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(HydroCrackedEthane.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(HydroCrackedEthane.getFluid(40))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( HydroCrackedEthane.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(HydroCrackedEthane.getFluid(1000)) - .fluidOutputs(Carbon5Fraction.getFluid(250)) - .fluidOutputs(Methane.getFluid(1750)) // CH4 - .fluidOutputs(Hydrogen.getFluid(2000)) // H - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(HydroCrackedEthane.getFluid(1000)) + fluidOutputs(Carbon5Fraction.getFluid(250)) + fluidOutputs(Methane.getFluid(1750)) // CH4 + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // Deleted vanilla steam cracked ethane recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(SteamCrackedEthane.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(SteamCrackedEthane.getFluid(40))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( SteamCrackedEthane.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(SteamCrackedEthane.getFluid(1000)) - .chancedOutput(dust, Carbon, 2500, 0) - .fluidOutputs(Carbon5Fraction.getFluid(125)) - .fluidOutputs(Ethylene.getFluid(250)) // C2H4 - .fluidOutputs(Methane.getFluid(1125)) // CH4 - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(SteamCrackedEthane.getFluid(1000)) + chancedOutput(dust, Carbon, 2500, 0) + fluidOutputs(Carbon5Fraction.getFluid(125)) + fluidOutputs(Ethylene.getFluid(250)) // C2H4 + fluidOutputs(Methane.getFluid(1125)) // CH4 + EUt(VA[MV]) + duration(6 * SECOND) + } } private fun ethyleneCrackProcessing() { // Deleted vanilla hydrogen cracked ethylene recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(HydroCrackedEthylene.getFluid(40))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( HydroCrackedEthylene.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(HydroCrackedEthylene.getFluid(1000)) - .fluidOutputs(Carbon5Fraction.getFluid(200)) - .fluidOutputs(Ethane.getFluid(8000)) // C2H6 - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(HydroCrackedEthylene.getFluid(1000)) + fluidOutputs(Carbon5Fraction.getFluid(200)) + fluidOutputs(Ethane.getFluid(8000)) // C2H6 + EUt(VA[MV]) + duration(6 * SECOND) + } // Deleted vanilla steam cracked ethylene recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(SteamCrackedEthylene.getFluid(1000))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( SteamCrackedEthylene.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(SteamCrackedEthylene.getFluid(1000)) - .output(dust, Carbon) - .fluidOutputs(Carbon5Fraction.getFluid(200)) - .fluidOutputs(Methane.getFluid(800)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - + DISTILLATION_RECIPES.addRecipe { + fluidInputs(SteamCrackedEthylene.getFluid(1000)) + output(dust, Carbon) + fluidOutputs(Carbon5Fraction.getFluid(200)) + fluidOutputs(Methane.getFluid(800)) // CH3 + EUt(VA[MV]) + duration(6 * SECOND) + } } private fun propaneCrackProcessing() { // Deleted vanilla hydrogen cracked propane recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(HydroCrackedPropane.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(HydroCrackedPropane.getFluid(40))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( HydroCrackedPropane.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(HydroCrackedPropane.getFluid(1000)) - .fluidOutputs(Carbon5Fraction.getFluid(250)) - .fluidOutputs(Ethane.getFluid(875)) // C2H6 - .fluidOutputs(Methane.getFluid(875)) // CH4 - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(HydroCrackedPropane.getFluid(1000)) + fluidOutputs(Carbon5Fraction.getFluid(250)) + fluidOutputs(Ethane.getFluid(875)) // C2H6 + fluidOutputs(Methane.getFluid(875)) // CH4 + EUt(VA[MV]) + duration(6 * SECOND) + } // Deleted vanilla steam cracked propane recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(SteamCrackedPropane.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(SteamCrackedPropane.getFluid(40))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( SteamCrackedPropane.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(SteamCrackedPropane.getFluid(1000)) - .chancedOutput(dust, Carbon, 2500, 0) - .fluidOutputs(Carbon5Fraction.getFluid(250)) - .fluidOutputs(Ethylene.getFluid(750)) // C2H4 - .fluidOutputs(Methane.getFluid(1000)) // CH4 - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(SteamCrackedPropane.getFluid(1000)) + chancedOutput(dust, Carbon, 2500, 0) + fluidOutputs(Carbon5Fraction.getFluid(250)) + fluidOutputs(Ethylene.getFluid(750)) // C2H4 + fluidOutputs(Methane.getFluid(1000)) // CH4 + EUt(VA[MV]) + duration(6 * SECOND) + } } private fun propeneCrackProcessing() { // Deleted vanilla hydrogen cracked propene recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(HydroCrackedPropene.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(HydroCrackedPropene.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(HydroCrackedPropene.getFluid(100))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( HydroCrackedPropene.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(HydroCrackedPropene.getFluid(1000)) - .fluidOutputs(Carbon5Fraction.getFluid(250)) - .fluidOutputs(Propane.getFluid(250)) // C3H8 - .fluidOutputs(Ethylene.getFluid(250)) // C2H4 - .fluidOutputs(Methane.getFluid(250)) // CH4 - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(HydroCrackedPropene.getFluid(1000)) + fluidOutputs(Carbon5Fraction.getFluid(250)) + fluidOutputs(Propane.getFluid(250)) // C3H8 + fluidOutputs(Ethylene.getFluid(250)) // C2H4 + fluidOutputs(Methane.getFluid(250)) // CH4 + EUt(VA[MV]) + duration(6 * SECOND) + } // Deleted vanilla steam cracked ethylene recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(SteamCrackedPropene.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(SteamCrackedPropene.getFluid(100))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( SteamCrackedPropene.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(SteamCrackedPropene.getFluid(1000)) - .chancedOutput(dust, Carbon, 5000, 0) - .fluidOutputs(Carbon5Fraction.getFluid(250)) - .fluidOutputs(Ethylene.getFluid(1000)) - .fluidOutputs(Methane.getFluid(250)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(SteamCrackedPropene.getFluid(1000)) + chancedOutput(dust, Carbon, 5000, 0) + fluidOutputs(Carbon5Fraction.getFluid(250)) + fluidOutputs(Ethylene.getFluid(1000)) // C2H4 + fluidOutputs(Methane.getFluid(250)) // CH4 + EUt(VA[MV]) + duration(6 * SECOND) + } } private fun butaneCrackProcessing() { // Deleted vanilla hydrogen cracked butane recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(HydroCrackedButane.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(HydroCrackedButane.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(HydroCrackedButane.getFluid(100))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( HydroCrackedButane.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(HydroCrackedButane.getFluid(1000)) - .fluidOutputs(Carbon5Fraction.getFluid(250)) - .fluidOutputs(Propane.getFluid(750)) // C3H8 - .fluidOutputs(Ethane.getFluid(750)) // C2H6 - .fluidOutputs(Methane.getFluid(250)) // CH4 - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(HydroCrackedButane.getFluid(1000)) + fluidOutputs(Carbon5Fraction.getFluid(250)) + fluidOutputs(Propane.getFluid(750)) // C3H8 + fluidOutputs(Ethane.getFluid(750)) // C2H6 + fluidOutputs(Methane.getFluid(250)) // CH4 + EUt(VA[MV]) + duration(6 * SECOND) + } // Deleted vanilla steam cracked butane recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(SteamCrackedButane.getFluid(200))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(SteamCrackedButane.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(SteamCrackedButane.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(4)), arrayOf(SteamCrackedButane.getFluid(100))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( SteamCrackedButane.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(SteamCrackedButane.getFluid(1000)) - .chancedOutput(dust, Carbon, 2500, 0) - .fluidOutputs(Carbon5Fraction.getFluid(125)) - .fluidOutputs(Propane.getFluid(250)) // C3H8 - .fluidOutputs(Ethane.getFluid(750)) // C2H6 - .fluidOutputs(Ethylene.getFluid(750)) // C2H4 - .fluidOutputs(Methane.getFluid(250)) // CH4 - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - + DISTILLATION_RECIPES.addRecipe { + fluidInputs(SteamCrackedButane.getFluid(1000)) + chancedOutput(dust, Carbon, 2500, 0) + fluidOutputs(Carbon5Fraction.getFluid(125)) + fluidOutputs(Propane.getFluid(250)) // C3H8 + fluidOutputs(Ethane.getFluid(750)) // C2H6 + fluidOutputs(Ethylene.getFluid(750)) // C2H4 + fluidOutputs(Methane.getFluid(250)) // CH4 + EUt(VA[MV]) + duration(6 * SECOND) + } } private fun butadieneCrackProcessing() { // Deleted vanilla hydrogen cracked butadiene recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(HydroCrackedButadiene.getFluid(40))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(HydroCrackedButadiene.getFluid(100))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( HydroCrackedButadiene.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(HydroCrackedButadiene.getFluid(1000)) - .fluidOutputs(Carbon5Fraction.getFluid(250)) - .fluidOutputs(Butane.getFluid(500)) // C4H8 - .fluidOutputs(Ethylene.getFluid(500)) // C2H4 - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(HydroCrackedButadiene.getFluid(1000)) + fluidOutputs(Carbon5Fraction.getFluid(250)) + fluidOutputs(Butane.getFluid(500)) // C4H8 + fluidOutputs(Ethylene.getFluid(500)) // C2H4 + EUt(VA[MV]) + duration(6 * SECOND) + } // Deleted vanilla steam cracked butadiene recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(SteamCrackedButadiene.getFluid(200))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(SteamCrackedButadiene.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(SteamCrackedButadiene.getFluid(40))) - - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( SteamCrackedButadiene.getFluid(1000)) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(SteamCrackedButadiene.getFluid(1000)) - .chancedOutput(dust, Carbon, 5000, 0) - .fluidOutputs(Carbon5Fraction.getFluid(125)) - .fluidOutputs(Propene.getFluid(125)) - .fluidOutputs(Ethylene.getFluid(250)) - .fluidOutputs(Methane.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(SteamCrackedButadiene.getFluid(1000)) + chancedOutput(dust, Carbon, 5000, 0) + fluidOutputs(Carbon5Fraction.getFluid(125)) + fluidOutputs(Propene.getFluid(125)) // C3H6 + fluidOutputs(Ethylene.getFluid(250)) // C2H4 + fluidOutputs(Methane.getFluid(1000)) // CH4 + EUt(VA[MV]) + duration(6 * SECOND) + } } // C5 Fraction is a petroleum fractionation products in reality world oil @@ -395,225 +382,223 @@ internal object OilsChain Propene.getFluid(1000))) // C5 Fraction -> Dimerized C5 Fraction. - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Carbon5Fraction.getFluid(100)) - .fluidOutputs(DimerizedCarbon5Fraction.getFluid(87)) - .EUt(VA[LV]) - .duration(15 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Carbon5Fraction.getFluid(100)) + fluidOutputs(DimerizedCarbon5Fraction.getFluid(87)) + EUt(VA[LV]) + duration(15 * TICK) + } // Dimerized C5 Fraction -> C10H12 + C5H12 + C5H8 - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(DimerizedCarbon5Fraction.getFluid(870)) - .fluidOutputs(Dicyclopentadiene.getFluid(130)) - .fluidOutputs(Pentane.getFluid(380)) - .fluidOutputs(Isoprene.getFluid(360)) - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(DimerizedCarbon5Fraction.getFluid(870)) + fluidOutputs(Dicyclopentadiene.getFluid(130)) + fluidOutputs(Pentane.getFluid(380)) + fluidOutputs(Isoprene.getFluid(360)) + EUt(VA[LV]) + duration(3 * SECOND) + } // C10H12 -> 2C5H8 - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Dicyclopentadiene.getFluid(100)) - .fluidOutputs(Isoprene.getFluid(200)) - .EUt(VA[LV]) - .duration(4 * TICK) - .buildAndRegister() - + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Dicyclopentadiene.getFluid(100)) + fluidOutputs(Isoprene.getFluid(200)) + EUt(VA[LV]) + duration(4 * TICK) + } } private fun oilFuelRecipes() { - // Pentane - COMBUSTION_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(Pentane.getFluid(1)) - .EUt(V[LV]) - .duration(2 * TICK) - .buildAndRegister() - + COMBUSTION_GENERATOR_FUELS.addRecipe { + fluidInputs(Pentane.getFluid(1)) + EUt(V[LV]) + duration(2 * TICK) + } } private fun catalyticReforming() { - // ZSM5 processing. + // region ZSM5 Processing // 2Al + 3H2SO4 -> Al2(SO4)3 + 6H - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Aluminium, 2) - .fluidInputs(SulfuricAcid.getFluid(3000)) - .output(dust, AluminiumSulfate, 17) - .fluidOutputs(Hydrogen.getFluid(6000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Aluminium, 2) + fluidInputs(SulfuricAcid.getFluid(3000)) + output(dust, AluminiumSulfate, 17) + fluidOutputs(Hydrogen.getFluid(6000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // 2Al + 3H2SO4 -> Al2(SO3)3 + 3H2O - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Aluminium, 2) - .fluidInputs(SulfuricAcid.getFluid(3000)) - .output(dust, AluminiumSulfite, 14) - .fluidOutputs(Steam.getFluid(3 * SU)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Aluminium, 2) + fluidInputs(SulfuricAcid.getFluid(3000)) + output(dust, AluminiumSulfite, 14) + fluidOutputs(Steam.getFluid(3 * SU)) + EUt(VA[MV]) + duration(5 * SECOND) + } // NaOH + 3SiO2 + Al2(SO4)3 + H2O -> Na(Al2(SO4)3)(SiO2)2(H2O)2 - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_PLATE) - .input(dust, SodiumHydroxide, 2) - .input(dust, AluminiumSulfate, 17) - .input(dust, SiliconDioxide, 6) - .fluidInputs(Water.getFluid(1000)) - .notConsumable(Ethanol.getFluid(1)) - .output(plate, ZSM5) // Actually outputs 30, but this is only useful for some recipes. - .EUt(VA[IV]) - .duration(30 * SECOND) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_PLATE) + input(dust, SodiumHydroxide, 2) + input(dust, AluminiumSulfate, 17) + input(dust, SiliconDioxide, 6) + fluidInputs(Water.getFluid(1000)) + notConsumable(Ethanol.getFluid(1)) + output(plate, ZSM5) // Actually outputs 30, but this is only useful for some recipes. + EUt(VA[IV]) + duration(30 * SECOND) + } + + // endregion // ZSM-5 is the highest catalyst of catalytic reforming process, this catalyst // can make catalytic reforming product 4x output materials. // Light Fuel - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, Platinum) - .fluidInputs(LightFuel.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(160)) - .fluidOutputs(Benzene.getFluid(200)) - .fluidOutputs(ParaXylene.getFluid(250)) - .fluidOutputs(Dimethylbenzene.getFluid(300)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, Rhenium) - .fluidInputs(LightFuel.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(320)) - .fluidOutputs(Benzene.getFluid(400)) - .fluidOutputs(ParaXylene.getFluid(500)) - .fluidOutputs(Dimethylbenzene.getFluid(600)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, ZSM5) - .fluidInputs(LightFuel.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(640)) - .fluidOutputs(Benzene.getFluid(800)) - .fluidOutputs(ParaXylene.getFluid(1000)) - .fluidOutputs(Dimethylbenzene.getFluid(1200)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, Platinum) + fluidInputs(LightFuel.getFluid(1000)) + fluidOutputs(Toluene.getFluid(160)) + fluidOutputs(Benzene.getFluid(200)) + fluidOutputs(ParaXylene.getFluid(250)) + fluidOutputs(Dimethylbenzene.getFluid(300)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, Rhenium) + fluidInputs(LightFuel.getFluid(1000)) + fluidOutputs(Toluene.getFluid(320)) + fluidOutputs(Benzene.getFluid(400)) + fluidOutputs(ParaXylene.getFluid(500)) + fluidOutputs(Dimethylbenzene.getFluid(600)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, ZSM5) + fluidInputs(LightFuel.getFluid(1000)) + fluidOutputs(Toluene.getFluid(640)) + fluidOutputs(Benzene.getFluid(800)) + fluidOutputs(ParaXylene.getFluid(1000)) + fluidOutputs(Dimethylbenzene.getFluid(1200)) + EUt(VA[MV]) + duration(6 * SECOND) + } // Heavy Fuel - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, Platinum) - .fluidInputs(HeavyFuel.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(180)) - .fluidOutputs(Benzene.getFluid(100)) - .fluidOutputs(ParaXylene.getFluid(150)) - .fluidOutputs(Dimethylbenzene.getFluid(400)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, Rhenium) - .fluidInputs(HeavyFuel.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(360)) - .fluidOutputs(Benzene.getFluid(200)) - .fluidOutputs(ParaXylene.getFluid(300)) - .fluidOutputs(Dimethylbenzene.getFluid(800)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, ZSM5) - .fluidInputs(HeavyFuel.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(720)) - .fluidOutputs(Benzene.getFluid(400)) - .fluidOutputs(ParaXylene.getFluid(600)) - .fluidOutputs(Dimethylbenzene.getFluid(1600)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, Platinum) + fluidInputs(HeavyFuel.getFluid(1000)) + fluidOutputs(Toluene.getFluid(180)) + fluidOutputs(Benzene.getFluid(100)) + fluidOutputs(ParaXylene.getFluid(150)) + fluidOutputs(Dimethylbenzene.getFluid(400)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, Rhenium) + fluidInputs(HeavyFuel.getFluid(1000)) + fluidOutputs(Toluene.getFluid(360)) + fluidOutputs(Benzene.getFluid(200)) + fluidOutputs(ParaXylene.getFluid(300)) + fluidOutputs(Dimethylbenzene.getFluid(800)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, ZSM5) + fluidInputs(HeavyFuel.getFluid(1000)) + fluidOutputs(Toluene.getFluid(720)) + fluidOutputs(Benzene.getFluid(400)) + fluidOutputs(ParaXylene.getFluid(600)) + fluidOutputs(Dimethylbenzene.getFluid(1600)) + EUt(VA[MV]) + duration(6 * SECOND) + } // Naphtha - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, Platinum) - .fluidInputs(Naphtha.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(60)) - .fluidOutputs(Benzene.getFluid(200)) - .fluidOutputs(ParaXylene.getFluid(350)) - .fluidOutputs(Ethylbenzene.getFluid(200)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, Rhenium) - .fluidInputs(Naphtha.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(120)) - .fluidOutputs(Benzene.getFluid(400)) - .fluidOutputs(ParaXylene.getFluid(700)) - .fluidOutputs(Ethylbenzene.getFluid(400)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, ZSM5) - .fluidInputs(Naphtha.getFluid(1000)) - .fluidOutputs(Toluene.getFluid(240)) - .fluidOutputs(Benzene.getFluid(800)) - .fluidOutputs(ParaXylene.getFluid(1400)) - .fluidOutputs(Ethylbenzene.getFluid(800)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, Platinum) + fluidInputs(Naphtha.getFluid(1000)) + fluidOutputs(Toluene.getFluid(60)) + fluidOutputs(Benzene.getFluid(200)) + fluidOutputs(ParaXylene.getFluid(350)) + fluidOutputs(Ethylbenzene.getFluid(200)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, Rhenium) + fluidInputs(Naphtha.getFluid(1000)) + fluidOutputs(Toluene.getFluid(120)) + fluidOutputs(Benzene.getFluid(400)) + fluidOutputs(ParaXylene.getFluid(700)) + fluidOutputs(Ethylbenzene.getFluid(400)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, ZSM5) + fluidInputs(Naphtha.getFluid(1000)) + fluidOutputs(Toluene.getFluid(240)) + fluidOutputs(Benzene.getFluid(800)) + fluidOutputs(ParaXylene.getFluid(1400)) + fluidOutputs(Ethylbenzene.getFluid(800)) + EUt(VA[MV]) + duration(6 * SECOND) + } // Refinery Gas - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, Platinum) - .fluidInputs(RefineryGas.getFluid(1000)) - .fluidOutputs(Benzene.getFluid(50)) - .fluidOutputs(Ethylbenzene.getFluid(250)) - .fluidOutputs(ParaXylene.getFluid(250)) - .fluidOutputs(Dimethylbenzene.getFluid(150)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, Rhenium) - .fluidInputs(RefineryGas.getFluid(1000)) - .fluidOutputs(Benzene.getFluid(100)) - .fluidOutputs(Ethylbenzene.getFluid(500)) - .fluidOutputs(ParaXylene.getFluid(500)) - .fluidOutputs(Dimethylbenzene.getFluid(300)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CATALYTIC_REFORMER_RECIPES.recipeBuilder() - .notConsumable(plate, ZSM5) - .fluidInputs(RefineryGas.getFluid(1000)) - .fluidOutputs(Benzene.getFluid(200)) - .fluidOutputs(Ethylbenzene.getFluid(1000)) - .fluidOutputs(ParaXylene.getFluid(1000)) - .fluidOutputs(Dimethylbenzene.getFluid(600)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, Platinum) + fluidInputs(RefineryGas.getFluid(1000)) + fluidOutputs(Benzene.getFluid(50)) + fluidOutputs(Ethylbenzene.getFluid(250)) + fluidOutputs(ParaXylene.getFluid(250)) + fluidOutputs(Dimethylbenzene.getFluid(150)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, Rhenium) + fluidInputs(RefineryGas.getFluid(1000)) + fluidOutputs(Benzene.getFluid(100)) + fluidOutputs(Ethylbenzene.getFluid(500)) + fluidOutputs(ParaXylene.getFluid(500)) + fluidOutputs(Dimethylbenzene.getFluid(300)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CATALYTIC_REFORMER_RECIPES.addRecipe { + notConsumable(plate, ZSM5) + fluidInputs(RefineryGas.getFluid(1000)) + fluidOutputs(Benzene.getFluid(200)) + fluidOutputs(Ethylbenzene.getFluid(1000)) + fluidOutputs(ParaXylene.getFluid(1000)) + fluidOutputs(Dimethylbenzene.getFluid(600)) + EUt(VA[MV]) + duration(6 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OxidesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OxidesChain.kt index 35baf5f8a..ef7da8554 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OxidesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OxidesChain.kt @@ -7,7 +7,6 @@ import gregtech.api.GTValues.ULV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH import gregtech.api.GTValues.VHA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.ingredients.IntCircuitIngredient @@ -34,7 +33,10 @@ import gregtech.api.unification.material.Materials.Coal import gregtech.api.unification.material.Materials.CobaltOxide import gregtech.api.unification.material.Materials.Cobaltite import gregtech.api.unification.material.Materials.Copper +import gregtech.api.unification.material.Materials.Dysprosium +import gregtech.api.unification.material.Materials.Erbium import gregtech.api.unification.material.Materials.Europium +import gregtech.api.unification.material.Materials.Gadolinium import gregtech.api.unification.material.Materials.Gallium import gregtech.api.unification.material.Materials.Garnierite import gregtech.api.unification.material.Materials.Germanium @@ -52,9 +54,10 @@ import gregtech.api.unification.material.Materials.Pentlandite import gregtech.api.unification.material.Materials.Phosphorus import gregtech.api.unification.material.Materials.PhosphorusPentoxide import gregtech.api.unification.material.Materials.Praseodymium +import gregtech.api.unification.material.Materials.Promethium import gregtech.api.unification.material.Materials.Realgar +import gregtech.api.unification.material.Materials.Samarium import gregtech.api.unification.material.Materials.Scandium -import gregtech.api.unification.material.Materials.Silicon import gregtech.api.unification.material.Materials.SiliconDioxide import gregtech.api.unification.material.Materials.Silver import gregtech.api.unification.material.Materials.Sodium @@ -64,11 +67,14 @@ import gregtech.api.unification.material.Materials.Strontium import gregtech.api.unification.material.Materials.SulfurDioxide import gregtech.api.unification.material.Materials.SulfurTrioxide import gregtech.api.unification.material.Materials.Tantalum +import gregtech.api.unification.material.Materials.Terbium import gregtech.api.unification.material.Materials.Tetrahedrite import gregtech.api.unification.material.Materials.Thorium import gregtech.api.unification.material.Materials.Thulium import gregtech.api.unification.material.Materials.Vanadium +import gregtech.api.unification.material.Materials.Ytterbium import gregtech.api.unification.material.Materials.Yttrium +import gregtech.api.unification.material.Materials.ZincSulfide import gregtech.api.unification.material.Materials.Zincite import gregtech.api.unification.material.Materials.Zircon import gregtech.api.unification.material.Materials.Zirconia @@ -80,6 +86,10 @@ import gregtech.api.unification.ore.OrePrefix.ingot import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Baddeleyite @@ -88,8 +98,11 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BerylliumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BismuthTrioxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CeriumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Cuprite +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.DysprosiumOxide +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ErbiumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EuropiumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Ferrosilite +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.GadoliniumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.GalliumDioxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.GermaniumDioxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HolmiumOxide @@ -102,18 +115,21 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.NeodymiumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.NiobiumPentoxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Orpiment import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PraseodymiumOxide +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PromethiumOxide +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SamariumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ScandiumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SilverOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SodiumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.StrontiumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.TantalumPentoxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Tenorite +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.TerbiumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ThoriumDioxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ThuliumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.VanadiumPentoxide +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.YtterbiumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.YttriumOxide -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.COAL internal object OxidesChain { @@ -125,54 +141,63 @@ internal object OxidesChain carbonMonoxideProcessing() carbonDioxideProcessing() - // Deleted original MgCO3 -> MgO + CO2 recipes in chemical reactor. - GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(OreDictUnifier.get(dust, Magnesite, 5))) + // region MgCO3 Roasting - ROASTER_RECIPES.recipeBuilder() - .input(dust, Magnesite, 5) - .output(dust, Magnesia, 2) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[LV]) - .duration(12 * SECOND) - .buildAndRegister() - - // Sb roasting. - ROASTER_RECIPES.recipeBuilder() - .input(dust, Stibnite) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, AntimonyTrioxide) - .chancedOutput(dust, Ash, 1000, 0) - .fluidOutputs(SulfurDioxide.getFluid(1500)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + // Deleted original MgCO3 -> MgO + CO2 recipes in chemical reactor. + GTLiteRecipeHandler.removeChemicalRecipes(OreDictUnifier.get(dust, Magnesite, 5)) + + ROASTER_RECIPES.addRecipe { + input(dust, Magnesite, 5) + output(dust, Magnesia, 2) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[LV]) + duration(12 * SECOND) + } + + // endregion + + // region Sb2O3 and Sb2S3 Roasting + + ROASTER_RECIPES.addRecipe { + input(dust, Stibnite) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, AntimonyTrioxide) + chancedOutput(dust, Ash, 1000, 0) + fluidOutputs(SulfurDioxide.getFluid(1500)) + EUt(VA[MV]) + duration(6 * SECOND) + } GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Antimony, 2)), arrayOf(Oxygen.getFluid(3000))) - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Antimony, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, AntimonyTrioxide, 5) - .EUt(VA[ULV]) - .duration(3 * SECOND) - .buildAndRegister() - - // Chalcopyrite and Tetrahedrite roasting. - ROASTER_RECIPES.recipeBuilder() - .input(dust, Chalcopyrite) - .input(dust, SiliconDioxide) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, Tenorite) - .output(dust, Ferrosilite) - .fluidOutputs(SulfurDioxide.getFluid(2000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Antimony, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, AntimonyTrioxide, 5) + EUt(VA[ULV]) + duration(3 * SECOND) + } + + // endregion + + // region Chalcopyrite (CuFeS2) and Tetrahedrite (Cu3FeSbS3) Roasting + + // CuFeS2 + SiO2 + 3O -> CuO + FeSiO3 + 2SO2 + ROASTER_RECIPES.addRecipe { + input(dust, Chalcopyrite) + input(dust, SiliconDioxide) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, Tenorite) + output(dust, Ferrosilite) + fluidOutputs(SulfurDioxide.getFluid(2000)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + // Cu3FeSbS3 + 3O -> CuO + 0.75Sb2O3 + 2SO2 ROASTER_RECIPES.recipeBuilder() .input(dust, Tetrahedrite) .fluidInputs(Oxygen.getFluid(3000)) @@ -183,647 +208,760 @@ internal object OxidesChain .duration(6 * SECOND) .buildAndRegister() - // Cobaltite processing. - ROASTER_RECIPES.recipeBuilder() - .input(dust, Cobaltite) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, CobaltOxide) - .output(dust, ArsenicTrioxide) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + // endregion - // Other recipes for As2O3. - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Arsenic, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, ArsenicTrioxide, 5) - .EUt(VA[LV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + // region Cobaltite (CoAsS) Roasting - // As2S3 + 9O -> As2O3 + 3SO2 - ROASTER_RECIPES.recipeBuilder() - .input(dust, Orpiment, 5) - .fluidInputs(Oxygen.getFluid(6000)) - .output(dust, ArsenicTrioxide, 5) - .fluidOutputs(SulfurDioxide.getFluid(3000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 15 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Cobaltite) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, CobaltOxide) + output(dust, ArsenicTrioxide) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND) + } - // As4S4 + 14O -> 2As2O3 + 4SO2 - ROASTER_RECIPES.recipeBuilder() - .input(dust, Realgar, 8) - .fluidInputs(Oxygen.getFluid(14000)) - .output(dust, ArsenicTrioxide, 10) - .fluidOutputs(SulfurDioxide.getFluid(4000)) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + // endregion - // Remove ZrSiO4 blasting recipes. - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, - OreDictUnifier.get(dust, Zircon, 6)) + // region As2S3, As4S4 and As2O3 Roasting - // Change ZrSiO4 ore processing from EBF to roaster. - // ZrSiO4 -> ZrO2 + HfO2 + SiO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Zircon, 6) - .output(dust, Baddeleyite, 3) - .output(dust, SiliconDioxide, 3) - .chancedOutput(dust, Hafnia, 3333, 0) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + // 2As + 3O -> As2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Arsenic, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, ArsenicTrioxide, 5) + EUt(VA[LV]) + duration(4 * SECOND + 5 * TICK) + } - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Zircon, 6) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, Baddeleyite, 3) - .output(dust, Hafnia, 3) - .output(dust, SiliconDioxide, 3) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + // As2S3 + 9O -> As2O3 + 3SO2 + ROASTER_RECIPES.addRecipe { + input(dust, Orpiment, 5) + fluidInputs(Oxygen.getFluid(6000)) + output(dust, ArsenicTrioxide, 5) + fluidOutputs(SulfurDioxide.getFluid(3000)) + EUt(VA[LV]) + duration(2 * SECOND + 15 * TICK) + } - // Hint: we removed Zirconia (ZrO2) and add an ore to simplified processing, - // so we should remove all related recipes. + // As4S4 + 14O -> 2As2O3 + 4SO2 + ROASTER_RECIPES.addRecipe { + input(dust, Realgar, 8) + fluidInputs(Oxygen.getFluid(14000)) + output(dust, ArsenicTrioxide, 10) + fluidOutputs(SulfurDioxide.getFluid(4000)) + EUt(VA[LV]) + duration(4 * SECOND) + } + + // endregion + + // region Zircon (ZrSiO4) Roasting + + // ZrSiO4 -> 2ZrO2 + HfO2 + SiO2 + BLAST_RECIPES.removeRecipe(OreDictUnifier.get(dust, Zircon, 6)) + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Zircon, 6) + output(dust, Baddeleyite, 3) + output(dust, SiliconDioxide, 3) + chancedOutput(dust, Hafnia, 3333, 0) + EUt(VA[MV]) + duration(10 * SECOND) + } + + // ZrSiO4 + 2O -> ZrO2 + HfO2 + SiO2 + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Zircon, 6) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, Baddeleyite, 3) + output(dust, Hafnia, 3) + output(dust, SiliconDioxide, 3) + EUt(VA[HV]) + duration(5 * SECOND) + } + + // ZrO2 + C + 4Cl -> ZrCl4 + CO2 GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Zirconia, 3), - OreDictUnifier.get(dust, Carbon)), + OreDictUnifier.get(dust, Carbon)), arrayOf(Chlorine.getFluid(4000))) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Baddeleyite, 3) - .input(dust, Carbon) - .fluidInputs(Chlorine.getFluid(4000)) - .output(dust, ZirconiumTetrachloride, 5) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() - - // ZnS -> ZnO - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Sphalerite) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, Zincite) - .chancedOutput(dust, Ash, 1000, 0) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Baddeleyite, 3) + input(dust, Carbon) + fluidInputs(Chlorine.getFluid(4000)) + output(dust, ZirconiumTetrachloride, 5) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } + + // ZnS + 3O -> ZnO + SO2 + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Sphalerite, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, Zincite, 2) + chancedOutput(dust, Ash, 1000, 0) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, ZincSulfide, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, Zincite, 2) + chancedOutput(dust, Ash, 1000, 0) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + // endregion + + // region Banded Iron (Fe2O3) Roasting // Fe2(SO4)3 -> Fe2O3 + 3SO3 // This is another choice in early game for provide raw material to H2SO4. - ROASTER_RECIPES.recipeBuilder() - .input(dust, Iron3Sulfate) - .output(dust, BandedIron) - .fluidOutputs(SulfurTrioxide.getFluid(3000)) - .EUt(VA[ULV]) - .duration(8 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Iron3Sulfate) + output(dust, BandedIron) + fluidOutputs(SulfurTrioxide.getFluid(3000)) + EUt(VA[ULV]) + duration(8 * SECOND) + } - // Ni9S8 - ROASTER_RECIPES.recipeBuilder() - .input(dust, Pentlandite) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, Garnierite) - .chancedOutput(dust, Ash, 1000, 0) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + // endregion - // Si + 2O -> SiO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Silicon) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, SiliconDioxide, 3) - .EUt(VA[LV]) - .duration(10 * TICK) - .buildAndRegister() + // region Pentlandite (Ni9S8) Roasting + + // Ni9S8 + 3O -> NiO + SO2 + ROASTER_RECIPES.addRecipe { + input(dust, Pentlandite) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, Garnierite) + chancedOutput(dust, Ash, 1000, 0) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + // endregion + + // region P4O10 Roasting - // Deleted original P4O10 chemical reactor recipes. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Phosphorus, 4), - IntCircuitIngredient.getIntegratedCircuit(1)), + IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Oxygen.getFluid(10000))) - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Phosphorus, 4) - .fluidInputs(Oxygen.getFluid(10000)) - .output(dust, PhosphorusPentoxide, 14) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Phosphorus, 4) + fluidInputs(Oxygen.getFluid(10000)) + output(dust, PhosphorusPentoxide, 14) + EUt(VA[LV]) + duration(2 * SECOND) + } + + // endregion + + // region CrO3 Roasting - // Deleted original CrO3 chemical reactor recipes. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Chrome, 1)), arrayOf(Oxygen.getFluid(3000))) - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Chrome) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, ChromiumTrioxide, 4) - .EUt(VHA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Chrome) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, ChromiumTrioxide, 4) + EUt(VHA[MV]) + duration(5 * SECOND) + } + + // endregion + + // region Li2O and Na2O Roasting // 2Li + O -> Li2O - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Lithium, 2) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, LithiumOxide, 3) - .EUt(VH[LV]) - .duration(3 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Lithium, 2) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, LithiumOxide, 3) + EUt(VH[LV]) + duration(3 * SECOND) + } + + // 2Na + O -> Na2O + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Sodium, 2) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, SodiumOxide, 3) + EUt(VA[LV]) + duration(2 * SECOND) + } + + // endregion + + // region Nb2O5 and Ta2O5 Roasting // 2Nb + 5O -> Nb2O5 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Niobium, 2) - .fluidInputs(Oxygen.getFluid(5000)) - .output(dust, NiobiumPentoxide, 7) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Niobium, 2) + fluidInputs(Oxygen.getFluid(5000)) + output(dust, NiobiumPentoxide, 7) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // 2Ta + 5O -> Ta2O5 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Tantalum, 2) - .fluidInputs(Oxygen.getFluid(5000)) - .output(dust, TantalumPentoxide, 7) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Tantalum, 2) + fluidInputs(Oxygen.getFluid(5000)) + output(dust, TantalumPentoxide, 7) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // endregion + + // region BeO and Bi2O3 Roasting // Be + O -> BeO - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Beryllium) - .fluidInputs(Oxygen.getFluid(1000)) - .output(ingot, BerylliumOxide, 2) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Beryllium) + fluidInputs(Oxygen.getFluid(1000)) + output(ingot, BerylliumOxide, 2) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // 2Bi + 3O -> Bi2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Bismuth, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, BismuthTrioxide, 5) - .EUt(VA[LV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Bismuth, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, BismuthTrioxide, 5) + EUt(VA[LV]) + duration(4 * SECOND + 5 * TICK) + } + + // endregion + + // region CuO, Cu2O Roasting // Cu + O -> CuO - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Copper) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, Tenorite, 2) - .EUt(VA[LV]) - .duration(15 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Copper) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, Tenorite, 2) + EUt(VA[LV]) + duration(15 * TICK) + } // 2Cu + O -> Cu2O - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Copper, 2) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, Cuprite, 3) - .EUt(VA[LV]) - .duration(1 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Copper, 2) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, Cuprite, 3) + EUt(VA[LV]) + duration(1 * SECOND + 10 * TICK) + } - // 2Na + O -> Na2O - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Sodium, 2) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, SodiumOxide, 3) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + // endregion - // Add another choice of La2O3, do not push player used REE distillation. - // 2La + 3O -> La2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Lanthanum, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, LanthanumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // region REE Oxides Roasting - // Add another choice of Y2O3, do not push player used REE distillation. - // 2Y + 3O -> Y2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Yttrium, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, YttriumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // All REE Oxides should has its oxidification recipe, but not push player use REE distillation. - // Add another choice of Sc2O3, do not push player used REE distillation. // 2Sc + 3O -> Sc2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Scandium, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, ScandiumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Scandium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, ScandiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } - // Add another choice of CeO2, do not push player used REE distillation. - // Ce + 2O -> CeO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Cerium) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, CeriumOxide, 3) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // 2Y + 3O -> Y2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Yttrium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, YttriumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } - // Add another choice of Lu2O3, do not push player used REE distillation. - // 2Lu + 3O -> Lu2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Lutetium, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, LutetiumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // 2La + 3O -> La2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Lanthanum, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, LanthanumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } - // Add another choice of Tm2O3, do not push player used REE distillation. - // 2Tm + 3O -> Tm2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Thulium, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, ThuliumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // Ce + 2O -> CeO2 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Cerium) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, CeriumOxide, 3) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } - // Add another choice of Pr2O3, do not push player used REE distillation. // 2Pr + 3O -> Pr2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Praseodymium, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, PraseodymiumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Praseodymium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, PraseodymiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Nd + 3O -> Nd2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Neodymium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, NeodymiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Pm + 3O -> Pm2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Promethium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, PromethiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Sm + 3O -> Sm2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Samarium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, SamariumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Eu + 3O -> Eu2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Europium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, EuropiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Gd + 3O -> Gd2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Gadolinium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, GadoliniumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Tb + 3O -> Tb2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Terbium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, TerbiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Dy + 3O -> Dy2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Dysprosium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, DysprosiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } - // Add another choice of Ho2O3, do not push player used REE distillation. // 2Ho + 3O -> Ho2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Holmium, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, HolmiumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Holmium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, HolmiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Er + 3O -> Er2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Erbium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, ErbiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Tm + 3O -> Tm2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Thulium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, ThuliumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Yb + 3O -> Yb2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Ytterbium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, YtterbiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // 2Lu + 3O -> Lu2O3 + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Lutetium, 2) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, LutetiumOxide, 5) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } + + // endregion + + // region GaO2 Roasting + + // Add another choice of GaO2, do not push player used Naquadah processing. - // Add another choice of GaO3, do not push player used Naquadah processing. // Ga + 2O -> GaO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Gallium) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, GalliumDioxide, 3) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Gallium) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, GalliumDioxide, 3) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } - // Add another choice of Eu2O3, do not push player used REE distillation. - // 2Eu + 3O -> Eu2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Europium, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, EuropiumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // endregion - // Add another choice of Nd2O3, do not push player used REE distillation. - // 2Nd + 3O -> Nd2O3 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Neodymium, 2) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, NeodymiumOxide, 5) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // region Misc Oxides Roasting // Th + 2O -> ThO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Thorium) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, ThoriumDioxide, 3) - .EUt(VA[MV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Thorium) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, ThoriumDioxide, 3) + EUt(VA[MV]) + duration(4 * SECOND + 5 * TICK) + } // Ba + O -> BaO - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Barium) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, BariumOxide, 2) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Barium) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, BariumOxide, 2) + EUt(VA[LV]) + duration(2 * SECOND) + } // 2V + 5O -> V2O5 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Vanadium, 2) - .fluidInputs(Oxygen.getFluid(5000)) - .output(dust, VanadiumPentoxide, 7) - .EUt(VA[MV]) - .duration(3 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Vanadium, 2) + fluidInputs(Oxygen.getFluid(5000)) + output(dust, VanadiumPentoxide, 7) + EUt(VA[MV]) + duration(3 * SECOND + 10 * TICK) + } // 2Ag + O -> Ag2O - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Silver, 2) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, SilverOxide, 3) - .EUt(VA[LV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Silver, 2) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, SilverOxide, 3) + EUt(VA[LV]) + duration(4 * SECOND + 5 * TICK) + } // Ge + 2O -> GeO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Germanium) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, GermaniumDioxide, 3) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Germanium) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, GermaniumDioxide, 3) + EUt(VA[LV]) + duration(2 * SECOND) + } // Sr + O -> SrO - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Strontium) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, StrontiumOxide, 2) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() - + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Strontium) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, StrontiumOxide, 2) + EUt(VA[LV]) + duration(2 * SECOND) + } + + // endregion } private fun carbonMonoxideProcessing() { // Remove vanilla C + O -> CO recipes in Chemical Reactor. GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(OreDictUnifier.get(dust, Carbon, 1), - IntCircuitIngredient.getIntegratedCircuit(1)), + arrayOf(OreDictUnifier.get(dust, Carbon), + IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Oxygen.getFluid(1000))) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(ItemStack(Items.COAL, 1, 0), - IntCircuitIngredient.getIntegratedCircuit(1)), + arrayOf(COAL.stack(), + IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Oxygen.getFluid(1000))) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(ItemStack(Items.COAL, 1, 1), - IntCircuitIngredient.getIntegratedCircuit(1)), + arrayOf(COAL.stack(1), + IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Oxygen.getFluid(1000))) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(OreDictUnifier.get(dust, Coal, 1), - IntCircuitIngredient.getIntegratedCircuit(1)), + arrayOf(OreDictUnifier.get(dust, Coal), + IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Oxygen.getFluid(1000))) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(OreDictUnifier.get(dust, Charcoal, 1), - IntCircuitIngredient.getIntegratedCircuit(1)), + arrayOf(OreDictUnifier.get(dust, Charcoal), + IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Oxygen.getFluid(1000))) // C + O -> CO - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Carbon, 1) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(2 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Carbon, 1) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[ULV]) + duration(2 * SECOND) + } // Vanilla Coals recipes for C + O -> CO, will output some Ash, // in these recipes, chances of Ash output will smaller (just a little) // than vanilla GregTech (11.11% -> 10%). - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .inputs(ItemStack(Items.COAL, 1, 0)) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() - - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .inputs(ItemStack(Items.COAL, 1, 1)) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() - - // Add Compatibility of gtlitecore lignite to these recipes. - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(gem, Lignite) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + inputs(COAL, 1, 0) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } + + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + inputs(COAL, 1, 1) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } + + // Add compatibility of lignite to these recipes. + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(gem, Lignite) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } // Dust form of two vanilla coals and Lignite. - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Coal) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() - - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Charcoal) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() - - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Lignite) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Coal) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } + + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Charcoal) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } + + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Lignite) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } } private fun carbonDioxideProcessing() { - // Remove vanilla C + 2O -> CO2 recipes in Chemical Reactor. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Carbon, 1), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Oxygen.getFluid(2000))) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(ItemStack(Items.COAL, 1, 0), - IntCircuitIngredient.getIntegratedCircuit(2)), + arrayOf(COAL.stack(), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Oxygen.getFluid(2000))) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(ItemStack(Items.COAL, 1, 1), - IntCircuitIngredient.getIntegratedCircuit(2)), + arrayOf(COAL.stack(1), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Oxygen.getFluid(2000))) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(OreDictUnifier.get(dust, Coal, 1), - IntCircuitIngredient.getIntegratedCircuit(2)), + arrayOf(OreDictUnifier.get(dust, Coal), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Oxygen.getFluid(2000))) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(OreDictUnifier.get(dust, Charcoal, 1), - IntCircuitIngredient.getIntegratedCircuit(2)), + arrayOf(OreDictUnifier.get(dust, Charcoal), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Oxygen.getFluid(2000))) // C + 2O -> CO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Carbon, 1) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(2 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Carbon) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[ULV]) + duration(2 * SECOND) + } // Vanilla Coals recipes for C + 2O -> CO2, will output some Ash, // in these recipes, chances of Ash output will smaller (just a little) // than vanilla GregTech (11.11% -> 10%). - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .inputs(ItemStack(Items.COAL, 1, 0)) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() - - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .inputs(ItemStack(Items.COAL, 1, 1)) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() - - // Add Compatibility of gtlitecore lignite to these recipes. - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(gem, Lignite) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + inputs(COAL.stack()) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } + + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + inputs(COAL.stack(1)) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } + + // Add compatibility of lignite to these recipes. + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(gem, Lignite) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } // Dust form of two vanilla coals and Lignite. - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Coal) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() - - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Charcoal) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() - - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Lignite) - .chancedOutput(dust, Ash, 1000, 0) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Coal) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } + + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Charcoal) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } + + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Lignite) + chancedOutput(dust, Ash, 1000, 0) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[ULV]) + duration(4 * SECOND) + } // Delete vanilla CO2 + C -> CO recipe. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Carbon)), arrayOf(CarbonDioxide.getFluid(1000))) - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Carbon) - .fluidInputs(CarbonDioxide.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(2000)) - .EUt(VA[ULV]) - .duration(40 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Carbon) + fluidInputs(CarbonDioxide.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(2000)) + EUt(VA[ULV]) + duration(40 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OzoneChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OzoneChain.kt index 5a8d95370..316b8fd09 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OzoneChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/OzoneChain.kt @@ -3,11 +3,12 @@ package gregtechlite.gtlitecore.loader.recipe.chain import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeMaps.LASER_ENGRAVER_RECIPES -import gregtech.api.unification.material.MarkerMaterials +import gregtech.api.unification.material.MarkerMaterials.Color import gregtech.api.unification.material.Materials.Oxygen import gregtech.api.unification.ore.OrePrefix.craftingLens import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Ozone internal object OzoneChain @@ -18,13 +19,13 @@ internal object OzoneChain fun init() { // 3O -> O3 - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.White) - .fluidInputs(Oxygen.getFluid(3000)) - .fluidOutputs(Ozone.getFluid(1000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.White) + fluidInputs(Oxygen.getFluid(3000)) + fluidOutputs(Ozone.getFluid(1000)) + EUt(VA[MV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PEDOTChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PEDOTChain.kt index f8e724035..17796d14c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PEDOTChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PEDOTChain.kt @@ -8,7 +8,6 @@ import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VHA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.ELECTROLYZER_RECIPES import gregtech.api.recipes.RecipeMaps.LARGE_CHEMICAL_RECIPES @@ -25,6 +24,8 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Butanediol import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Diacetyl import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Edot @@ -52,109 +53,109 @@ internal object PEDOTChain { // 1,4-C4H10O2 -> C4H6O2 + 4H // This C4H6O2 is not γ-Butyrolactone, they have same formula. - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Butanediol.getFluid(1000)) - .output(dust, Carbon, 4) - .fluidOutputs(Hydrogen.getFluid(10000)) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VHA[MV]) - .duration(4 * SECOND + 16 * TICK) - .buildAndRegister() - - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Butanediol.getFluid(1000)) - .fluidOutputs(Diacetyl.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(4000)) - .EUt(VA[MV]) - .duration(4 * SECOND + 16 * TICK) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Butanediol.getFluid(1000)) + output(dust, Carbon, 4) + fluidOutputs(Hydrogen.getFluid(10000)) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VHA[MV]) + duration(4 * SECOND + 16 * TICK) + } + + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Butanediol.getFluid(1000)) + fluidOutputs(Diacetyl.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(4000)) + EUt(VA[MV]) + duration(4 * SECOND + 16 * TICK) + } // C4H6O2 + C2H6O2 + SCl2 -> C6H6O2S + 2HCl + 2H2O (lost) - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Diacetyl.getFluid(1000)) - .fluidInputs(EthyleneGlycol.getFluid(1000)) - .fluidInputs(SulfurDichloride.getFluid(1000)) - .fluidOutputs(Edot.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Diacetyl.getFluid(1000)) + fluidInputs(EthyleneGlycol.getFluid(1000)) + fluidInputs(SulfurDichloride.getFluid(1000)) + fluidOutputs(Edot.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(5 * SECOND) + } } private fun polystyreneSulfonateProcess() { // C8H8 -> ...-[-C8H8-C8H8-C8H8-]-... - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Styrene.getFluid(L)) - .fluidInputs(Air.getFluid(1000)) - .fluidOutputs(Polystyrene.getFluid(L)) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() - - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Styrene.getFluid(L)) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(Polystyrene.getFluid(216)) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() - - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .fluidInputs(Styrene.getFluid(2160)) - .fluidInputs(Air.getFluid(7500)) - .fluidInputs(TitaniumTetrachloride.getFluid(100)) - .fluidOutputs(Polystyrene.getFluid(3240)) - .EUt(VA[LV]) - .duration(40 * SECOND) - .buildAndRegister() - - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .fluidInputs(Styrene.getFluid(2160)) - .fluidInputs(Oxygen.getFluid(7500)) - .fluidInputs(TitaniumTetrachloride.getFluid(100)) - .fluidOutputs(Polystyrene.getFluid(4320)) - .EUt(VA[LV]) - .duration(40 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Styrene.getFluid(L)) + fluidInputs(Air.getFluid(1000)) + fluidOutputs(Polystyrene.getFluid(L)) + EUt(VA[LV]) + duration(8 * SECOND) + } + + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Styrene.getFluid(L)) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(Polystyrene.getFluid(216)) + EUt(VA[LV]) + duration(8 * SECOND) + } + + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + fluidInputs(Styrene.getFluid(2160)) + fluidInputs(Air.getFluid(7500)) + fluidInputs(TitaniumTetrachloride.getFluid(100)) + fluidOutputs(Polystyrene.getFluid(3240)) + EUt(VA[LV]) + duration(40 * SECOND) + } + + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + fluidInputs(Styrene.getFluid(2160)) + fluidInputs(Oxygen.getFluid(7500)) + fluidInputs(TitaniumTetrachloride.getFluid(100)) + fluidOutputs(Polystyrene.getFluid(4320)) + EUt(VA[LV]) + duration(40 * SECOND) + } // C8H8 + SO3 -> C8H8SO3 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Polystyrene.getFluid(L)) - .fluidInputs(SulfurTrioxide.getFluid(1000)) - .fluidOutputs(PolystyreneSulfonate.getFluid(L)) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Polystyrene.getFluid(L)) + fluidInputs(SulfurTrioxide.getFluid(1000)) + fluidOutputs(PolystyreneSulfonate.getFluid(L)) + EUt(VA[HV]) + duration(8 * SECOND) + } } private fun pedotProcess() { // C6H6O2S + C8H8SO3 -> (C6H6O2S)(C8H8SO3) - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Edot.getFluid(1000)) - .fluidInputs(PolystyreneSulfonate.getFluid(L)) - .fluidOutputs(PedotPSS.getFluid(L * 9)) - .EUt(VA[LuV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Edot.getFluid(1000)) + fluidInputs(PolystyreneSulfonate.getFluid(L)) + fluidOutputs(PedotPSS.getFluid(L * 9)) + EUt(VA[LuV]) + duration(20 * SECOND) + cleanroom() + } // C6H6O2S + C5H8O2 -> (C6H6O2S)(C5H8O2) - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Edot.getFluid(1000)) - .fluidInputs(Polymethylmethacrylate.getFluid(L)) - .fluidOutputs(PedotTMA.getFluid(L * 9)) - .EUt(VA[ZPM]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Edot.getFluid(1000)) + fluidInputs(Polymethylmethacrylate.getFluid(L)) + fluidOutputs(PedotTMA.getFluid(L * 9)) + EUt(VA[ZPM]) + duration(20 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PEEKChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PEEKChain.kt index 6880c16da..d4f2e4472 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PEEKChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PEEKChain.kt @@ -24,6 +24,7 @@ import gregtech.api.unification.material.Materials.Zinc import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Difluorobenzophenone import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Fluorobenzene @@ -41,68 +42,67 @@ internal object PEEKChain fun init() { // C7H8 + 2F -> C7H7F + HF - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Toluene.getFluid(1000)) - .fluidInputs(Fluorine.getFluid(2000)) - .fluidOutputs(Fluorotoluene.getFluid(1000)) - .fluidOutputs(HydrofluoricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Toluene.getFluid(1000)) + fluidInputs(Fluorine.getFluid(2000)) + fluidOutputs(Fluorotoluene.getFluid(1000)) + fluidOutputs(HydrofluoricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(6 * SECOND) + } // C6H5F + C7H7F + 6Cl + H2O -> (FC6H4)2CO + 6HCl - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Zinc) - .fluidInputs(Fluorobenzene.getFluid(1000)) - .fluidInputs(Fluorotoluene.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(6000)) - .fluidInputs(Water.getFluid(1000)) - .output(dust, Difluorobenzophenone, 24) - .fluidOutputs(HydrochloricAcid.getFluid(6000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Zinc) + fluidInputs(Fluorobenzene.getFluid(1000)) + fluidInputs(Fluorotoluene.getFluid(1000)) + fluidInputs(Chlorine.getFluid(6000)) + fluidInputs(Water.getFluid(1000)) + output(dust, Difluorobenzophenone, 24) + fluidOutputs(HydrochloricAcid.getFluid(6000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // C3H6 + C6H6 + 3O -> C6H4(OH)2 + C6H6O2 + C3H6O - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(5) - .fluidInputs(Propene.getFluid(1000)) - .fluidInputs(Benzene.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(3000)) - .fluidOutputs(Hydroquinone.getFluid(1000)) - .fluidOutputs(Resorcinol.getFluid(1000)) - .fluidOutputs(Acetone.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(5) + fluidInputs(Propene.getFluid(1000)) + fluidInputs(Benzene.getFluid(1000)) + fluidInputs(Oxygen.getFluid(3000)) + fluidOutputs(Hydroquinone.getFluid(1000)) + fluidOutputs(Resorcinol.getFluid(1000)) + fluidOutputs(Acetone.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // (FC6H4)2CO + Na2CO3 + C6H4(OH)2 -> C20H12O3 + 2NaF + CO2 + H2O - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Difluorobenzophenone, 24) - .input(dust, SodaAsh, 6) - .fluidInputs(Hydroquinone.getFluid(1000)) - .output(dust, SodiumFluoride, 4) - .fluidOutputs(Polyetheretherketone.getFluid(L * 18)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(12 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, Difluorobenzophenone, 24) + input(dust, SodaAsh, 6) + fluidInputs(Hydroquinone.getFluid(1000)) + output(dust, SodiumFluoride, 4) + fluidOutputs(Polyetheretherketone.getFluid(L * 18)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[ZPM]) + duration(12 * SECOND) + } // Advanced recipes for PEEK, used C6H5F to skip (FC6H4)2CO // Na2CO3 + C6H4(OH)2 + 2C6H5F -> C20H12O3 + 2NaF + 2H2O - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, SodaAsh, 6) - .fluidInputs(Hydroquinone.getFluid(1000)) - .fluidInputs(Fluorobenzene.getFluid(2000)) - .output(dust, SodiumFluoride, 4) - .fluidOutputs(Polyetheretherketone.getFluid(L * 18)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[UHV]) - .duration(24 * SECOND) - .buildAndRegister() - + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, SodaAsh, 6) + fluidInputs(Hydroquinone.getFluid(1000)) + fluidInputs(Fluorobenzene.getFluid(2000)) + output(dust, SodiumFluoride, 4) + fluidOutputs(Polyetheretherketone.getFluid(L * 18)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[UHV]) + duration(24 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PETChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PETChain.kt index 64464b084..1de516781 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PETChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PETChain.kt @@ -14,6 +14,7 @@ import gregtech.api.unification.material.Materials.Water import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.DimethylTerephthalate import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EthyleneGlycol @@ -30,43 +31,43 @@ internal object PETChain fun init() { // C6H4(CH3)2 + 2O -> C8H8O2 + 2H - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(ParaXylene.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(ParaToluicAcid.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(ParaXylene.getFluid(1000)) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(ParaToluicAcid.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // C8H8O2 + CH4O -> C9H10O2 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(ParaToluicAcid.getFluid(1000)) - .fluidInputs(Methanol.getFluid(1000)) - .fluidOutputs(Methylparatoluate.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(ParaToluicAcid.getFluid(1000)) + fluidInputs(Methanol.getFluid(1000)) + fluidOutputs(Methylparatoluate.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } // C9H10O2 + CO2 -> C10H10O4 - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Methylparatoluate.getFluid(1000)) - .fluidInputs(CarbonDioxide.getFluid(1000)) - .fluidOutputs(DimethylTerephthalate.getFluid(1000)) - .EUt(VA[EV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Methylparatoluate.getFluid(1000)) + fluidInputs(CarbonDioxide.getFluid(1000)) + fluidOutputs(DimethylTerephthalate.getFluid(1000)) + EUt(VA[EV]) + duration(7 * SECOND + 10 * TICK) + } // C10H10O4 + C2H6O2 -> 2C10H6O4 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(DimethylTerephthalate.getFluid(2592)) - .fluidInputs(EthyleneGlycol.getFluid(1000)) - .fluidOutputs(PolyethyleneTerephthalate.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[UV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(DimethylTerephthalate.getFluid(2592)) + fluidInputs(EthyleneGlycol.getFluid(1000)) + fluidOutputs(PolyethyleneTerephthalate.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[UV]) + duration(4 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PMMAChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PMMAChain.kt index d832bbcad..6cf638a42 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PMMAChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PMMAChain.kt @@ -21,6 +21,7 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AcetoneCyanohydrin import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HydrogenCyanide @@ -34,48 +35,47 @@ internal object PMMAChain fun init() { // H + NH3 + CH4 -> HCN + 4H + 3H (lost) - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Hydrogen.getFluid(1000)) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidInputs(Methane.getFluid(1000)) - .fluidOutputs(HydrogenCyanide.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(4000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Hydrogen.getFluid(1000)) + fluidInputs(Ammonia.getFluid(1000)) + fluidInputs(Methane.getFluid(1000)) + fluidOutputs(HydrogenCyanide.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(4000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // 3CH4 + 3NH3 + 8O -> 3HCN + 8H2O + H (lost) - BURNER_REACTOR_RECIPES.recipeBuilder() - .notConsumable(dust, Platinum) - .fluidInputs(Methane.getFluid(3000)) - .fluidInputs(Ammonia.getFluid(3000)) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(HydrogenCyanide.getFluid(3000)) - .fluidOutputs(Steam.getFluid(8 * SU)) - .EUt(VA[HV]) - .duration(3 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + notConsumable(dust, Platinum) + fluidInputs(Methane.getFluid(3000)) + fluidInputs(Ammonia.getFluid(3000)) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(HydrogenCyanide.getFluid(3000)) + fluidOutputs(Steam.getFluid(8 * SU)) + EUt(VA[HV]) + duration(3 * SECOND) + } // (CH3)2CO + HCN -> C4H7NO - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Acetone.getFluid(1000)) - .fluidInputs(HydrogenCyanide.getFluid(1000)) - .fluidOutputs(AcetoneCyanohydrin.getFluid(2000)) - .EUt(VH[HV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Acetone.getFluid(1000)) + fluidInputs(HydrogenCyanide.getFluid(1000)) + fluidOutputs(AcetoneCyanohydrin.getFluid(2000)) + EUt(VH[HV]) + duration(7 * SECOND + 10 * TICK) + } // C4H7NO + CH3OH -> C5H8O2 + NH3 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(AcetoneCyanohydrin.getFluid(2000)) - .fluidInputs(Methanol.getFluid(1000)) - .fluidOutputs(Polymethylmethacrylate.getFluid(L * 4)) - .fluidOutputs(Ammonia.getFluid(1000)) - .EUt(VH[IV]) - .duration(10 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + fluidInputs(AcetoneCyanohydrin.getFluid(2000)) + fluidInputs(Methanol.getFluid(1000)) + fluidOutputs(Polymethylmethacrylate.getFluid(L * 4)) + fluidOutputs(Ammonia.getFluid(1000)) + EUt(VH[IV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PalladiumAcetateChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PalladiumAcetateChain.kt index 6f2b944f9..91f7c6e64 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PalladiumAcetateChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PalladiumAcetateChain.kt @@ -15,6 +15,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PalladiumAcetate import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PalladiumNitrate @@ -26,35 +27,35 @@ internal object PalladiumAcetateChain fun init() { // Pd + 2HNO3 -> Pd(NO3)2 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Palladium) - .fluidInputs(NitricAcid.getFluid(2000)) - .output(dust, PalladiumNitrate, 9) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Palladium) + fluidInputs(NitricAcid.getFluid(2000)) + output(dust, PalladiumNitrate, 9) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // PdCl2 + 2HNO3 -> Pd(NO3)2 + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, PalladiumRaw, 3) - .fluidInputs(NitricAcid.getFluid(2000)) - .output(dust, PalladiumNitrate, 9) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, PalladiumRaw, 3) + fluidInputs(NitricAcid.getFluid(2000)) + output(dust, PalladiumNitrate, 9) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // Pd(NO3)2 + 2CH3COOH -> Pd(CH3COOH)2 + 2HNO3 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PalladiumNitrate, 9) - .fluidInputs(AceticAcid.getFluid(2000)) - .output(dust, PalladiumAcetate, 15) - .fluidOutputs(NitricAcid.getFluid(2000)) - .EUt(VA[EV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PalladiumNitrate, 9) + fluidInputs(AceticAcid.getFluid(2000)) + output(dust, PalladiumAcetate, 15) + fluidOutputs(NitricAcid.getFluid(2000)) + EUt(VA[EV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ParticlesChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ParticlesChain.kt index 88dd89391..69633acce 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ParticlesChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ParticlesChain.kt @@ -6,7 +6,6 @@ import gregtech.api.GTValues.UHV import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.FLUID_HEATER_RECIPES import gregtech.api.recipes.RecipeMaps.LASER_ENGRAVER_RECIPES import gregtech.api.recipes.RecipeMaps.SIFTER_RECIPES @@ -23,6 +22,9 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ALLOY_BLAST_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.COSMIC_RAY_DETECTING_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.LARGE_MIXER_RECIPES @@ -62,121 +64,119 @@ internal object ParticlesChain fun init() { - // Neutron-Proton Fermi Superfluid - COSMIC_RAY_DETECTING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidOutputs(NeutronProtonFermiSuperfluid.getFluid(10)) - .EUt(VA[UHV]) - .duration(10 * TICK) - .minHeight(100) - .buildAndRegister() + COSMIC_RAY_DETECTING_RECIPES.addRecipe { + circuitMeta(1) + fluidOutputs(NeutronProtonFermiSuperfluid.getFluid(10)) + EUt(VA[UHV]) + duration(10 * TICK) + minHeight(100) + } // Heavy Lepton Mixture - COSMIC_RAY_DETECTING_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidOutputs(HeavyLeptonMixture.getFluid(10)) - .EUt(VA[UHV]) - .duration(10 * TICK) - .minHeight(120) - .buildAndRegister() + COSMIC_RAY_DETECTING_RECIPES.addRecipe { + circuitMeta(2) + fluidOutputs(HeavyLeptonMixture.getFluid(10)) + EUt(VA[UHV]) + duration(10 * TICK) + minHeight(120) + } // Hadronic Resonant Matter - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, NdYAG) - .notConsumable(lens, CubicHeterodiamond) - .input(dust, MagnetoResonatic) - .input(dust, StrontiumFerrite, 2) - .fluidInputs(QuasifissioningPlasma.getFluid(L * 2)) - .fluidInputs(UUMatter.getFluid(1000)) - .fluidOutputs(HadronicResonantGas.getFluid(1000)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, NdYAG) + notConsumable(lens, CubicHeterodiamond) + input(dust, MagnetoResonatic) + input(dust, StrontiumFerrite, 2) + fluidInputs(QuasifissioningPlasma.getFluid(L * 2)) + fluidInputs(UUMatter.getFluid(1000)) + fluidOutputs(HadronicResonantGas.getFluid(1000)) + EUt(VA[UHV]) + duration(10 * SECOND) + } // Stable Baryonic Matter - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Taranium) - .input(dust, MetastableOganesson) - .input(dust, Praseodymium, 2) - .input(dust, ZephyreanAerotheum, 4) - .fluidInputs(NaquadriaEnergetic.getFluid(1000)) - .fluidOutputs(StableBaryonicMatter.getFluid(9000)) - .EUt(VA[UHV]) - .duration(1 * MINUTE + 30 * SECOND) - .blastFurnaceTemp(9800) // Tritanium - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Taranium) + input(dust, MetastableOganesson) + input(dust, Praseodymium, 2) + input(dust, ZephyreanAerotheum, 4) + fluidInputs(NaquadriaEnergetic.getFluid(1000)) + fluidOutputs(StableBaryonicMatter.getFluid(9000)) + EUt(VA[UHV]) + duration(1 * MINUTE + 30 * SECOND) + blastFurnaceTemp(9800) // Tritanium + } // Dimensionally Shifted Superfluid - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .fluidInputs(FreeElectronGas.getFluid(2000)) - .fluidInputs(HadronicResonantGas.getFluid(1000)) - .fluidInputs(StableBaryonicMatter.getFluid(500)) - .fluidInputs(HeavyQuarks.getFluid(200)) - .fluidInputs(LightQuarks.getFluid(200)) - .fluidInputs(Gluons.getFluid(100)) - .fluidOutputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .EUt(VA[UEV]) - .duration(2 * MINUTE) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + fluidInputs(FreeElectronGas.getFluid(2000)) + fluidInputs(HadronicResonantGas.getFluid(1000)) + fluidInputs(StableBaryonicMatter.getFluid(500)) + fluidInputs(HeavyQuarks.getFluid(200)) + fluidInputs(LightQuarks.getFluid(200)) + fluidInputs(Gluons.getFluid(100)) + fluidOutputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + EUt(VA[UEV]) + duration(2 * MINUTE) + cleanroom() + } // Resonant Strange Meson - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(HadronicResonantGas.getFluid(200)) - .fluidOutputs(ResonantStrangeMeson.getFluid(100)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(HadronicResonantGas.getFluid(200)) + fluidOutputs(ResonantStrangeMeson.getFluid(100)) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // Quantum Anomaly - SIFTER_RECIPES.recipeBuilder() - .notConsumable(springSmall, CosmicNeutronium) - .fluidInputs(ResonantStrangeMeson.getFluid(4000)) - .chancedOutput(QUANTUM_ANOMALY, 2000, 0) - .chancedOutput(QUANTUM_ANOMALY, 1500, 0) - .chancedOutput(QUANTUM_ANOMALY, 1000, 0) - .chancedOutput(QUANTUM_ANOMALY, 500, 0) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + SIFTER_RECIPES.addRecipe { + notConsumable(springSmall, CosmicNeutronium) + fluidInputs(ResonantStrangeMeson.getFluid(4000)) + chancedOutput(QUANTUM_ANOMALY, 2000, 0) + chancedOutput(QUANTUM_ANOMALY, 1500, 0) + chancedOutput(QUANTUM_ANOMALY, 1000, 0) + chancedOutput(QUANTUM_ANOMALY, 500, 0) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Advanced recipes for Quantum Anomaly. - STELLAR_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, ChromaticGlass) - .input(gem, Diamond, 16) - .inputs(ItemStack(TARANIUM_CHARGE)) - .fluidInputs(Duranium.getFluid(L)) - .output(QUANTUM_ANOMALY, 16) - .EUt(VA[UEV]) - .duration(1 * MINUTE) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, ChromaticGlass) - .input(gem, Heterodiamond, 16) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidInputs(Tritanium.getFluid(L)) - .output(QUANTUM_ANOMALY, 64) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .notConsumable(lens, ChromaticGlass) - .input(gem, CubicHeterodiamond, 16) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Taranium.getFluid(L)) - .output(QUANTUM_ANOMALY, 64) - .output(QUANTUM_ANOMALY, 64) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .buildAndRegister() - + STELLAR_FORGE_RECIPES.addRecipe { + notConsumable(lens, ChromaticGlass) + input(gem, Diamond, 16) + inputs(ItemStack(TARANIUM_CHARGE)) + fluidInputs(Duranium.getFluid(L)) + output(QUANTUM_ANOMALY, 16) + EUt(VA[UEV]) + duration(1 * MINUTE) + } + + STELLAR_FORGE_RECIPES.addRecipe { + notConsumable(lens, ChromaticGlass) + input(gem, Heterodiamond, 16) + inputs(ItemStack(LEPTONIC_CHARGE)) + fluidInputs(Tritanium.getFluid(L)) + output(QUANTUM_ANOMALY, 64) + EUt(VA[UIV]) + duration(20 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + notConsumable(lens, ChromaticGlass) + input(gem, CubicHeterodiamond, 16) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Taranium.getFluid(L)) + output(QUANTUM_ANOMALY, 64) + output(QUANTUM_ANOMALY, 64) + EUt(VA[UXV]) + duration(20 * SECOND) + } } } \ No newline at end of file diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PhononChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PhononChain.kt index 7fa471748..3eed63281 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PhononChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PhononChain.kt @@ -4,8 +4,6 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.AUTOCLAVE_RECIPES @@ -50,7 +48,10 @@ import gregtech.api.unification.stack.UnificationEntry import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.extension.copy +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ELECTRIC_IMPLOSION_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.LAMINATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.LARGE_MIXER_RECIPES @@ -81,452 +82,451 @@ internal object PhononChain fun init() { - // Phononic Seed Crystal - AUTOCLAVE_RECIPES.recipeBuilder() - .input(nanite, TranscendentMetal) - .input(dust, Mellion, 32) - .fluidInputs(StableBaryonicMatter.getFluid(32000)) - .output(PHONONIC_SEED_CRYSTAL) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + AUTOCLAVE_RECIPES.addRecipe { + input(nanite, TranscendentMetal) + input(dust, Mellion, 32) + fluidInputs(StableBaryonicMatter.getFluid(32000)) + output(PHONONIC_SEED_CRYSTAL) + EUt(VA[UIV]) + duration(5 * SECOND) + cleanroom() + } // Advanced recipes for Phononic Seed Crystal when player completed all processing and get MagMatter. - AUTOCLAVE_RECIPES.recipeBuilder() - .input(round, MagMatter) - .fluidInputs(StableBaryonicMatter.getFluid(4000)) - .output(PHONONIC_SEED_CRYSTAL, 5) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + AUTOCLAVE_RECIPES.addRecipe { + input(round, MagMatter) + fluidInputs(StableBaryonicMatter.getFluid(4000)) + output(PHONONIC_SEED_CRYSTAL, 5) + EUt(VA[UXV]) + duration(10 * SECOND) + cleanroom() + } // The stable baryonic matter is cycle when player used advanced recipes. - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, HarmonicPhononMatter), IntCircuitIngredient.getIntegratedCircuit(1)) - - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, HarmonicPhononMatter), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Krypton.getFluid(10))) - - GTRecipeHandler.removeRecipesByInputs(TOPOLOGICAL_ORDER_CHANGING_RECIPES, + TOPOLOGICAL_ORDER_CHANGING_RECIPES.removeRecipe( OreDictUnifier.get(dust, HarmonicPhononMatter), IntCircuitIngredient.getIntegratedCircuit(1)) - - GTRecipeHandler.removeRecipesByInputs(TOPOLOGICAL_ORDER_CHANGING_RECIPES, + TOPOLOGICAL_ORDER_CHANGING_RECIPES.removeRecipe( OreDictUnifier.get(dust, HarmonicPhononMatter), IntCircuitIngredient.getIntegratedCircuit(2)) - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(PHONONIC_SEED_CRYSTAL) - .input(nanite, Iron) - .input(dust, NetherStar, 16) - .fluidInputs(Mellion.getFluid(L * 16)) - .output(ingot, HarmonicPhononMatter, 4) - .fluidOutputs(StableBaryonicMatter.getFluid(800)) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .blastFurnaceTemp(26000) - .buildAndRegister() - - // MagMatter liquid. - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidInputs(HarmonicPhononMatter.getFluid(L)) - .fluidInputs(ResonantStrangeMeson.getFluid(8000)) - .fluidInputs(NeutronProtonFermiSuperfluid.getFluid(6000)) - .fluidInputs(Antimatter.getFluid(1000)) - .fluidOutputs(MagMatter.getFluid(16000)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() - - // ingotMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(ingot, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(ingot, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // blockMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(block, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(block, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // plateMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(plate, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(plate, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // plateDoubleMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(plateDouble, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(plateDouble, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // plateDenseMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(plateDense, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(plateDense, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // foilMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(foil, Magnetium, 4) - .fluidInputs(MagMatter.getFluid(1000)) - .output(foil, MagMatter, 4) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // stickMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(stick, Magnetium, 2) - .fluidInputs(MagMatter.getFluid(1000)) - .output(stick, MagMatter, 2) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // stickLongMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(stickLong, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(stickLong, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // boltMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(bolt, Magnetium, 8) - .fluidInputs(MagMatter.getFluid(1000)) - .output(bolt, MagMatter, 8) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // screwMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(screw, Magnetium, 8) - .fluidInputs(MagMatter.getFluid(1000)) - .output(screw, MagMatter, 8) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // ringMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(ring, Magnetium, 4) - .fluidInputs(MagMatter.getFluid(1000)) - .output(ring, MagMatter, 4) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // roundMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(round, Magnetium, 8) - .fluidInputs(MagMatter.getFluid(1000)) - .output(round, MagMatter, 8) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // gearMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(gear, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(gear, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // gearSmallMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(gearSmall, Magnetium, 2) - .fluidInputs(MagMatter.getFluid(1000)) - .output(gearSmall, MagMatter, 2) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // rotorMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(rotor, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(rotor, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // wireFineMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(wireFine, Magnetium, 8) - .fluidInputs(MagMatter.getFluid(1000)) - .output(wireFine, MagMatter, 8) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // wireGtSingleMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(wireFine, Magnetium, 8) - .fluidInputs(MagMatter.getFluid(1000)) - .output(wireGtSingle, MagMatter, 2) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // wireGtDoubleMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(wireFine, Magnetium, 16) - .fluidInputs(MagMatter.getFluid(1000)) - .output(wireGtDouble, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // wireGtQuadrupleMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(wireFine, Magnetium, 32) - .fluidInputs(MagMatter.getFluid(1000)) - .output(wireGtQuadruple, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // wireGtOctalMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(wireFine, Magnetium, 64) - .fluidInputs(MagMatter.getFluid(1000)) - .output(wireGtOctal, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // wireGtHexMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(wireFine, Magnetium, 64) - .input(wireFine, Magnetium, 64) - .fluidInputs(MagMatter.getFluid(1000)) - .output(wireGtHex, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // cableGtSingleMagMatter/cableGtDoubleMagMatter - for (rubber in arrayOf(PolytetramethyleneGlycolRubber.getFluid(L / 2), + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(PHONONIC_SEED_CRYSTAL) + input(nanite, Iron) + input(dust, NetherStar, 16) + fluidInputs(Mellion.getFluid(L * 16)) + output(ingot, HarmonicPhononMatter, 4) + fluidOutputs(StableBaryonicMatter.getFluid(800)) + EUt(VA[UXV]) + duration(20 * SECOND) + blastFurnaceTemp(26000) + } + + // Liquid + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(4) + fluidInputs(HarmonicPhononMatter.getFluid(L)) + fluidInputs(ResonantStrangeMeson.getFluid(8000)) + fluidInputs(NeutronProtonFermiSuperfluid.getFluid(6000)) + fluidInputs(Antimatter.getFluid(1000)) + fluidOutputs(MagMatter.getFluid(16000)) + EUt(VA[UXV]) + duration(5 * SECOND) + } + + // Ingot + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(ingot, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(ingot, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Block + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(block, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(block, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Plate + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(plate, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(plate, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Double Plate + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(plateDouble, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(plateDouble, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Dense Plate + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(plateDense, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(plateDense, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Foil + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(foil, Magnetium, 4) + fluidInputs(MagMatter.getFluid(1000)) + output(foil, MagMatter, 4) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Stick + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(stick, Magnetium, 2) + fluidInputs(MagMatter.getFluid(1000)) + output(stick, MagMatter, 2) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Long Stick + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(stickLong, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(stickLong, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Bolt + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(bolt, Magnetium, 8) + fluidInputs(MagMatter.getFluid(1000)) + output(bolt, MagMatter, 8) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Screw + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(screw, Magnetium, 8) + fluidInputs(MagMatter.getFluid(1000)) + output(screw, MagMatter, 8) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Ring + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(ring, Magnetium, 4) + fluidInputs(MagMatter.getFluid(1000)) + output(ring, MagMatter, 4) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Round + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(round, Magnetium, 8) + fluidInputs(MagMatter.getFluid(1000)) + output(round, MagMatter, 8) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Gear + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(gear, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(gear, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Small Gear + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(gearSmall, Magnetium, 2) + fluidInputs(MagMatter.getFluid(1000)) + output(gearSmall, MagMatter, 2) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Rotor + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(rotor, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(rotor, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Fine Wire + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + circuitMeta(1) + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(wireFine, Magnetium, 8) + fluidInputs(MagMatter.getFluid(1000)) + output(wireFine, MagMatter, 8) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // 1x Wire + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + circuitMeta(2) + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(wireFine, Magnetium, 8) + fluidInputs(MagMatter.getFluid(1000)) + output(wireGtSingle, MagMatter, 2) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // 2x Wire + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + circuitMeta(3) + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(wireFine, Magnetium, 16) + fluidInputs(MagMatter.getFluid(1000)) + output(wireGtDouble, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // 4x Wire + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + circuitMeta(4) + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(wireFine, Magnetium, 32) + fluidInputs(MagMatter.getFluid(1000)) + output(wireGtQuadruple, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // 8x Wire + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + circuitMeta(5) + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(wireFine, Magnetium, 64) + fluidInputs(MagMatter.getFluid(1000)) + output(wireGtOctal, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // 16x Wire + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + circuitMeta(6) + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(wireFine, Magnetium, 64) + input(wireFine, Magnetium, 64) + fluidInputs(MagMatter.getFluid(1000)) + output(wireGtHex, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // 1x Cable and 2x Cable + for (rubber in arrayOf( + PolytetramethyleneGlycolRubber.getFluid(L / 2), PolyphosphonitrileFluoroRubber.getFluid(L / 4))) { - LAMINATOR_RECIPES.recipeBuilder() - .input(wireGtSingle, MagMatter) - .input(foil, PolyvinylChloride) - .input(foil, PolyphenyleneSulfide) - .input(foil, Polyetheretherketone) - .input(foil, Zylon) - .fluidInputs(rubber) - .output(cableGtSingle, MagMatter) - .EUt(7) // ULV - .duration(5 * SECOND) - .buildAndRegister() - - LAMINATOR_RECIPES.recipeBuilder() - .input(wireGtDouble, MagMatter) - .input(foil, PolyvinylChloride) - .input(foil, PolyphenyleneSulfide) - .input(foil, Polyetheretherketone) - .input(foil, Zylon) - .fluidInputs(rubber) - .output(cableGtDouble, MagMatter) - .EUt(7) // ULV - .duration(5 * SECOND) - .buildAndRegister() - } - - // cableGtQuadrupleMagMatter - for (rubber in arrayOf(PolytetramethyleneGlycolRubber.getFluid(L), + LAMINATOR_RECIPES.addRecipe { + input(wireGtSingle, MagMatter) + input(foil, PolyvinylChloride) + input(foil, PolyphenyleneSulfide) + input(foil, Polyetheretherketone) + input(foil, Zylon) + fluidInputs(rubber) + output(cableGtSingle, MagMatter) + EUt(7) // ULV + duration(5 * SECOND) + } + + LAMINATOR_RECIPES.addRecipe { + input(wireGtDouble, MagMatter) + input(foil, PolyvinylChloride) + input(foil, PolyphenyleneSulfide) + input(foil, Polyetheretherketone) + input(foil, Zylon) + fluidInputs(rubber) + output(cableGtDouble, MagMatter) + EUt(7) // ULV + duration(5 * SECOND) + } + } + + // 4x Cable + for (rubber in arrayOf( + PolytetramethyleneGlycolRubber.getFluid(L), PolyphosphonitrileFluoroRubber.getFluid(L / 2))) { - LAMINATOR_RECIPES.recipeBuilder() - .input(wireGtQuadruple, MagMatter) - .input(foil, PolyvinylChloride, 2) - .input(foil, PolyphenyleneSulfide, 2) - .input(foil, Polyetheretherketone, 2) - .input(foil, Zylon, 2) - .fluidInputs(rubber) - .output(cableGtQuadruple, MagMatter) - .EUt(7) // ULV - .duration(5 * SECOND) - .buildAndRegister() - } - - // cableGtOctalMagMatter - for (rubber in arrayOf(PolytetramethyleneGlycolRubber.getFluid(L + L / 2), + LAMINATOR_RECIPES.addRecipe { + input(wireGtQuadruple, MagMatter) + input(foil, PolyvinylChloride, 2) + input(foil, PolyphenyleneSulfide, 2) + input(foil, Polyetheretherketone, 2) + input(foil, Zylon, 2) + fluidInputs(rubber) + output(cableGtQuadruple, MagMatter) + EUt(7) // ULV + duration(5 * SECOND) + } + } + + // 8x Cable + for (rubber in arrayOf( + PolytetramethyleneGlycolRubber.getFluid(L + L / 2), PolyphosphonitrileFluoroRubber.getFluid(L - L / 4))) { - LAMINATOR_RECIPES.recipeBuilder() - .input(wireGtOctal, MagMatter) - .input(foil, PolyvinylChloride, 3) - .input(foil, PolyphenyleneSulfide, 3) - .input(foil, Polyetheretherketone, 3) - .input(foil, Zylon, 3) - .fluidInputs(rubber) - .output(cableGtOctal, MagMatter) - .EUt(7) // ULV - .duration(5 * SECOND) - .buildAndRegister() - } - - // cableGtHexMagMatter - for (rubber in arrayOf(PolytetramethyleneGlycolRubber.getFluid(L * 2 + L / 2), + LAMINATOR_RECIPES.addRecipe { + input(wireGtOctal, MagMatter) + input(foil, PolyvinylChloride, 3) + input(foil, PolyphenyleneSulfide, 3) + input(foil, Polyetheretherketone, 3) + input(foil, Zylon, 3) + fluidInputs(rubber) + output(cableGtOctal, MagMatter) + EUt(7) // ULV + duration(5 * SECOND) + } + } + + // 16x Cable + for (rubber in arrayOf( + PolytetramethyleneGlycolRubber.getFluid(L * 2 + L / 2), PolyphosphonitrileFluoroRubber.getFluid(L + L / 4))) { - LAMINATOR_RECIPES.recipeBuilder() - .input(wireGtHex, MagMatter) - .input(foil, PolyvinylChloride, 5) - .input(foil, PolyphenyleneSulfide, 5) - .input(foil, Polyetheretherketone, 5) - .input(foil, Zylon, 5) - .fluidInputs(rubber) - .output(cableGtHex, MagMatter) - .EUt(7) // ULV - .duration(5 * SECOND) - .buildAndRegister() - } - - // frameGtMagMatter - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .input(nanite, Copper) - .input(NAQUADRIA_SUPERSOLID) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(frameGt, Magnetium) - .fluidInputs(MagMatter.getFluid(1000)) - .output(frameGt, MagMatter) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() - - // wallGtMagMatter + LAMINATOR_RECIPES.addRecipe { + input(wireGtHex, MagMatter) + input(foil, PolyvinylChloride, 5) + input(foil, PolyphenyleneSulfide, 5) + input(foil, Polyetheretherketone, 5) + input(foil, Zylon, 5) + fluidInputs(rubber) + output(cableGtHex, MagMatter) + EUt(7) // ULV + duration(5 * SECOND) + } + } + + // Frame + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + input(nanite, Copper) + input(NAQUADRIA_SUPERSOLID) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(frameGt, Magnetium) + fluidInputs(MagMatter.getFluid(1000)) + output(frameGt, MagMatter) + EUt(VA[UXV]) + duration(1 * SECOND) + } + + // Wall ModHandler.addShapedRecipe(true, "mag_matter_wall_gt", GTLiteBlocks.METAL_WALLS[MagMatter]!!.getItem(MagMatter).copy(6), "hPS", "P P", "SPd", 'P', UnificationEntry(plate, MagMatter), 'S', UnificationEntry(screw, MagMatter)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(11) - .input(plate, MagMatter, 2) - .input(screw, MagMatter) - .outputs(GTLiteBlocks.METAL_WALLS[MagMatter]!!.getItem(MagMatter).copy(3)) - .EUt(7) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(11) + input(plate, MagMatter, 2) + input(screw, MagMatter) + outputs(GTLiteBlocks.METAL_WALLS[MagMatter]!!.getItem(MagMatter).copy(3)) + EUt(7) // ULV + duration(2 * SECOND + 5 * TICK) + } - // Halkonite Steel Sheeted Frame + // Sheeted Frame ModHandler.addShapedRecipe(true, "mag_matter_sheeted_frame", GTLiteBlocks.SHEETED_FRAMES[MagMatter]!!.getItem(MagMatter).copy(12), "PFP", "PhP", "PFP", 'P', UnificationEntry(plate, MagMatter), 'F', UnificationEntry(frameGt, MagMatter)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(10) - .input(plate, MagMatter, 3) - .input(frameGt, MagMatter) - .outputs(GTLiteBlocks.SHEETED_FRAMES[MagMatter]!!.getItem(MagMatter).copy(6)) - .EUt(7) // ULV - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(10) + input(plate, MagMatter, 3) + input(frameGt, MagMatter) + outputs(GTLiteBlocks.SHEETED_FRAMES[MagMatter]!!.getItem(MagMatter).copy(6)) + EUt(7) // ULV + duration(2 * SECOND + 5 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PhosphorusChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PhosphorusChain.kt index 1351f6485..df9bb511e 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PhosphorusChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PhosphorusChain.kt @@ -34,6 +34,7 @@ import gregtech.api.unification.ore.OrePrefix.foil import gregtech.api.unification.ore.OrePrefix.gem import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MOLECULAR_BEAM_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES @@ -70,177 +71,175 @@ internal object PhosphorusChain private fun phosphorusProcess() { // 2Ca3(PO4)2 + 6SiO2 + 5C -> 6CaSiO3 + 5CO2 + P4 (white) - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, TricalciumPhosphate, 10) - .input(dust, SiliconDioxide, 18) - .input(dust, Carbon, 5) - .output(dust, Wollastonite, 30) - .output(gem, WhitePhosphorus) - .fluidOutputs(CarbonDioxide.getFluid(5000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, TricalciumPhosphate, 10) + input(dust, SiliconDioxide, 18) + input(dust, Carbon, 5) + output(dust, Wollastonite, 30) + output(gem, WhitePhosphorus) + fluidOutputs(CarbonDioxide.getFluid(5000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // Advanced recipes for White Phosphorus. // P4O10 + 10C -> P4 (white) + 10CO - ARC_FURNACE_RECIPES.recipeBuilder() - .input(dust, PhosphorusPentoxide, 14) - .input(dust, Carbon, 10) - .output(gem, WhitePhosphorus) - .fluidOutputs(CarbonMonoxide.getFluid(10000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + ARC_FURNACE_RECIPES.addRecipe { + input(dust, PhosphorusPentoxide, 14) + input(dust, Carbon, 10) + output(gem, WhitePhosphorus) + fluidOutputs(CarbonMonoxide.getFluid(10000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // P4 (white) + Ar -> P4 (red) - ROASTER_RECIPES.recipeBuilder() - .input(dust, WhitePhosphorus) - .fluidInputs(Argon.getFluid(50)) - .output(gem, RedPhosphorus) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, WhitePhosphorus) + fluidInputs(Argon.getFluid(50)) + output(gem, RedPhosphorus) + EUt(VA[MV]) + duration(10 * SECOND) + } // P4 (white) + 2Pb -> P4 (violet) - CHEMICAL_BATH_RECIPES.recipeBuilder() // Hitoff reaction. - .input(dust, WhitePhosphorus) - .fluidInputs(Lead.getFluid(L * 2)) - .output(gem, VioletPhosphorus) - .EUt(VA[HV]) - .duration(20 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { // Hitoff Reaction. + input(dust, WhitePhosphorus) + fluidInputs(Lead.getFluid(L * 2)) + output(gem, VioletPhosphorus) + EUt(VA[HV]) + duration(20 * SECOND) + } // P4 (white) -> P4 (black) - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(gem, WhitePhosphorus) - .output(gem, BlackPhosphorus) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(gem, WhitePhosphorus) + output(gem, BlackPhosphorus) + EUt(VA[IV]) + duration(5 * SECOND) + } // P4 (black) -> P4 (blue) - MOLECULAR_BEAM_RECIPES.recipeBuilder() - .notConsumable(foil, Gold) - .input(gem, BlackPhosphorus) - .output(dust, BluePhosphorus) - .EUt(VA[ZPM]) - .duration(5 * SECOND) - .temperature(4800) - .buildAndRegister() - + MOLECULAR_BEAM_RECIPES.addRecipe { + notConsumable(foil, Gold) + input(gem, BlackPhosphorus) + output(dust, BluePhosphorus) + EUt(VA[ZPM]) + duration(5 * SECOND) + temperature(4800) + } } private fun phosphoryChlorideProcess() { // P4 (white) + 12Cl -> 4PCl3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, WhitePhosphorus) - .fluidInputs(Chlorine.getFluid(12000)) - .fluidOutputs(PhosphorusTrichloride.getFluid(4000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, WhitePhosphorus) + fluidInputs(Chlorine.getFluid(12000)) + fluidOutputs(PhosphorusTrichloride.getFluid(4000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // 2P4 (red) + 24Cl -> 8PCl3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, RedPhosphorus, 2) - .fluidInputs(Chlorine.getFluid(24000)) - .fluidOutputs(PhosphorusTrichloride.getFluid(8000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, RedPhosphorus, 2) + fluidInputs(Chlorine.getFluid(24000)) + fluidOutputs(PhosphorusTrichloride.getFluid(8000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // 2P4 (black) + 24Cl -> 8PCl3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, BlackPhosphorus, 2) - .fluidInputs(Chlorine.getFluid(24000)) - .fluidOutputs(PhosphorusTrichloride.getFluid(8000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, BlackPhosphorus, 2) + fluidInputs(Chlorine.getFluid(24000)) + fluidOutputs(PhosphorusTrichloride.getFluid(8000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // 4P4 (violet) + 48Cl -> 16PCl3 - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, VioletPhosphorus, 4) - .fluidInputs(Chlorine.getFluid(48000)) - .fluidOutputs(PhosphorusTrichloride.getFluid(16000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + input(dust, VioletPhosphorus, 4) + fluidInputs(Chlorine.getFluid(48000)) + fluidOutputs(PhosphorusTrichloride.getFluid(16000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // 4P4 (blue) + 48Cl -> 16PCl3 - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, BluePhosphorus, 4) - .fluidInputs(Chlorine.getFluid(48000)) - .fluidOutputs(PhosphorusTrichloride.getFluid(16000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + input(dust, BluePhosphorus, 4) + fluidInputs(Chlorine.getFluid(48000)) + fluidOutputs(PhosphorusTrichloride.getFluid(16000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // PCl3 + O -> POCl3 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(PhosphorusTrichloride.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(PhosphorylChloride.getFluid(1000)) - .EUt(VA[HV]) - .duration(6 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + fluidInputs(PhosphorusTrichloride.getFluid(1000)) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(PhosphorylChloride.getFluid(1000)) + EUt(VA[HV]) + duration(6 * SECOND) + } } private fun triphenylphosphineProcess() { // 6Na + PCl3 + 3C6H5Cl -> (C6H5)3P + 6NaCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Sodium) - .fluidInputs(PhosphorusTrichloride.getFluid(1000)) - .fluidInputs(Chlorobenzene.getFluid(3000)) - .output(dust, Triphenylphosphine, 34) - .output(dust, Salt, 12) - .EUt(VA[IV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Sodium) + fluidInputs(PhosphorusTrichloride.getFluid(1000)) + fluidInputs(Chlorobenzene.getFluid(3000)) + output(dust, Triphenylphosphine, 34) + output(dust, Salt, 12) + EUt(VA[IV]) + duration(8 * SECOND) + } } private fun phosphoreneProcess() { // 2Na(OH) + 8P4 (black) + 0.2H2O + 0.8C5H9NO -> (P4)8(C5H9NO)(Na(OH))2·(H2O) - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .input(dust, SodiumHydroxide, 6) - .input(gem, BlackPhosphorus, 8) - .fluidInputs(DistilledWater.getFluid(200)) - .fluidInputs(NMethylPyrrolidone.getFluid(800)) - .fluidOutputs(PhosphoreneSolution.getFluid(1000)) - .EUt(VA[IV]) - .duration(30 * SECOND) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + input(dust, SodiumHydroxide, 6) + input(gem, BlackPhosphorus, 8) + fluidInputs(DistilledWater.getFluid(200)) + fluidInputs(NMethylPyrrolidone.getFluid(800)) + fluidOutputs(PhosphoreneSolution.getFluid(1000)) + EUt(VA[IV]) + duration(30 * SECOND) + } // 1/8(P4)8(C5H9NO)(Na(OH))2·(H2O) -> P4 + 1/8C5H9NO (cycle) - SONICATION_RECIPES.recipeBuilder() - .fluidInputs(PhosphoreneSolution.getFluid(125)) - .fluidInputs(Argon.getFluid(100)) - .output(foil, Phosphorene, 4) - .fluidOutputs(NMethylPyrrolidone.getFluid(100)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + SONICATION_RECIPES.addRecipe { + fluidInputs(PhosphoreneSolution.getFluid(125)) + fluidInputs(Argon.getFluid(100)) + output(foil, Phosphorene, 4) + fluidOutputs(NMethylPyrrolidone.getFluid(100)) + EUt(VA[UHV]) + duration(10 * SECOND) + } } private fun phosphineProcess() { // P4 + 6H2O -> 4PH3 + 6O (lost) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, WhitePhosphorus) - .fluidInputs(Water.getFluid(6000)) - .fluidOutputs(Phosphine.getFluid(4000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, WhitePhosphorus) + fluidInputs(Water.getFluid(6000)) + fluidOutputs(Phosphine.getFluid(4000)) + EUt(VA[HV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PolymerInsulatorChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PolymerInsulatorChain.kt index d7d0ea018..7f05674e7 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PolymerInsulatorChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PolymerInsulatorChain.kt @@ -35,6 +35,7 @@ import gregtech.common.items.MetaItems.SHAPE_EXTRUDER_FOIL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -63,116 +64,116 @@ internal object PolymerInsulatorChain fun init() { // C6H10O8 + 8H -> C6H10O4 + 4H2O - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Palladium) - .input(dust, SacchariaAcid, 24) - .fluidInputs(Hydrogen.getFluid(8000)) - .output(dust, AdipicAcid, 20) - .fluidOutputs(Water.getFluid(4000)) - .EUt(VA[EV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Palladium) + input(dust, SacchariaAcid, 24) + fluidInputs(Hydrogen.getFluid(8000)) + output(dust, AdipicAcid, 20) + fluidOutputs(Water.getFluid(4000)) + EUt(VA[EV]) + duration(2 * SECOND + 10 * TICK) + } // C6H14O2 + 2NH3 -> C6H16N2 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Alumina) - .notConsumable(dust, Ruthenium) - .fluidInputs(Hexanediol.getFluid(1000)) - .fluidInputs(Ammonia.getFluid(2000)) - .fluidOutputs(Hexamethylenediamine.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[EV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Alumina) + notConsumable(dust, Ruthenium) + fluidInputs(Hexanediol.getFluid(1000)) + fluidInputs(Ammonia.getFluid(2000)) + fluidOutputs(Hexamethylenediamine.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[EV]) + duration(2 * SECOND + 10 * TICK) + } // C3H6O + CH4 -> C4H10O - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .notConsumable(dust, MagnesiumChloride) - .fluidInputs(Acetone.getFluid(1000)) - .fluidInputs(Methane.getFluid(1000)) - .fluidOutputs(Tertbutanol.getFluid(1000)) - .EUt(VA[MV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + notConsumable(dust, MagnesiumChloride) + fluidInputs(Acetone.getFluid(1000)) + fluidInputs(Methane.getFluid(1000)) + fluidOutputs(Tertbutanol.getFluid(1000)) + EUt(VA[MV]) + duration(4 * SECOND + 5 * TICK) + } // 2C4H10O + 2CO2 -> C10H18O5 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Tertbutanol.getFluid(2000)) - .fluidInputs(CarbonDioxide.getFluid(2000)) - .output(dust, DitertbutylDicarbonate, 33) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(4 * SECOND + 16 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Tertbutanol.getFluid(2000)) + fluidInputs(CarbonDioxide.getFluid(2000)) + output(dust, DitertbutylDicarbonate, 33) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(4 * SECOND + 16 * TICK) + } // C10H18O5 + 3C + 4NH3 + C4H8 -> (NH2CH2CH2)3N + 2C4H10O + 3CO - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, DitertbutylDicarbonate, 33) - .input(dust, Carbon, 3) - .fluidInputs(Ammonia.getFluid(4000)) - .fluidInputs(Butene.getFluid(1000)) - .fluidOutputs(Trisaminoethylamine.getFluid(1000)) - .fluidOutputs(Tertbutanol.getFluid(2000)) - .fluidOutputs(CarbonMonoxide.getFluid(3000)) - .EUt(VA[EV]) - .duration(8 * SECOND + 15 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, DitertbutylDicarbonate, 33) + input(dust, Carbon, 3) + fluidInputs(Ammonia.getFluid(4000)) + fluidInputs(Butene.getFluid(1000)) + fluidOutputs(Trisaminoethylamine.getFluid(1000)) + fluidOutputs(Tertbutanol.getFluid(2000)) + fluidOutputs(CarbonMonoxide.getFluid(3000)) + EUt(VA[EV]) + duration(8 * SECOND + 15 * TICK) + } // PEEK-Polyamide Foil - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_FOIL) - .input(dust, AdipicAcid, 20) - .input(foil, Polyetheretherketone) - .input(foil, SiliconeRubber) - .fluidInputs(Hexamethylenediamine.getFluid(1000)) - .fluidInputs(Trisaminoethylamine.getFluid(500)) - .output(PEEK_POLYAMIDE_FOIL, 3) - .EUt(VA[UV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_FOIL) + input(dust, AdipicAcid, 20) + input(foil, Polyetheretherketone) + input(foil, SiliconeRubber) + fluidInputs(Hexamethylenediamine.getFluid(1000)) + fluidInputs(Trisaminoethylamine.getFluid(500)) + output(PEEK_POLYAMIDE_FOIL, 3) + EUt(VA[UV]) + duration(10 * SECOND) + } // C10H18O5 + 2NaN3 + 2K -> 2Na + 2K2O + 2C5H9N3O2 - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, DitertbutylDicarbonate, 33) - .input(dust, SodiumAzide, 8) - .input(dust, Potassium, 2) - .output(dust, Sodium, 2) - .output(dust, Potash, 6) - .fluidOutputs(TertbutylAzidoformate.getFluid(2000)) - .EUt(VA[EV]) - .duration(8 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, DitertbutylDicarbonate, 33) + input(dust, SodiumAzide, 8) + input(dust, Potassium, 2) + output(dust, Sodium, 2) + output(dust, Potash, 6) + fluidOutputs(TertbutylAzidoformate.getFluid(2000)) + EUt(VA[EV]) + duration(8 * SECOND) + } // C60 + 4C5H9N3O2 + 8H2O + 4CO -> C60N12H12-NH + 8CO2 + 4C4H10O - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Fullerene) - .fluidInputs(TertbutylAzidoformate.getFluid(4000)) - .fluidInputs(Water.getFluid(8000)) - .fluidInputs(CarbonMonoxide.getFluid(4000)) - .fluidOutputs(AminatedFullerene.getFluid(1000)) - .fluidOutputs(CarbonDioxide.getFluid(8000)) - .fluidOutputs(Tertbutanol.getFluid(4000)) - .EUt(VA[LuV]) - .duration(13 * SECOND + 10 * TICK) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, Fullerene) + fluidInputs(TertbutylAzidoformate.getFluid(4000)) + fluidInputs(Water.getFluid(8000)) + fluidInputs(CarbonMonoxide.getFluid(4000)) + fluidOutputs(AminatedFullerene.getFluid(1000)) + fluidOutputs(CarbonDioxide.getFluid(8000)) + fluidOutputs(Tertbutanol.getFluid(4000)) + EUt(VA[LuV]) + duration(13 * SECOND + 10 * TICK) + } // C60N12H12-NH -> C60N12H12-N - FLUID_HEATER_RECIPES.recipeBuilder() - .notConsumable(wireFine, Rhenium) - .fluidInputs(AminatedFullerene.getFluid(100)) - .fluidOutputs(Azafullerene.getFluid(100)) - .EUt(VA[IV]) - .duration(2 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + notConsumable(wireFine, Rhenium) + fluidInputs(AminatedFullerene.getFluid(100)) + fluidOutputs(Azafullerene.getFluid(100)) + EUt(VA[IV]) + duration(2 * TICK) + } // Polymer Insulator Foil - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(PEEK_POLYAMIDE_FOIL) - .fluidInputs(Azafullerene.getFluid(10)) - .output(POLYMER_INSULATOR_FOIL, 8) - .EUt(VA[UV]) - .duration(1 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(PEEK_POLYAMIDE_FOIL) + fluidInputs(Azafullerene.getFluid(10)) + output(POLYMER_INSULATOR_FOIL, 8) + EUt(VA[UV]) + duration(1 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PolymersChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PolymersChain.kt index 5baddb47a..394c00b65 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PolymersChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PolymersChain.kt @@ -3,7 +3,6 @@ package gregtechlite.gtlitecore.loader.recipe.chain import gregtech.api.GTValues.L import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.LARGE_CHEMICAL_RECIPES @@ -20,6 +19,8 @@ import gregtech.api.unification.ore.OrePrefix.ingot import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Polyisoprene @@ -37,60 +38,58 @@ internal object PolymersChain private fun polycaprolactamProcess() { // Deleted EBF usage for polymerization process. - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Caprolactam)), arrayOf(Nitrogen.getFluid(1000))) - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Caprolactam) - .fluidInputs(Nitrogen.getFluid(1000)) - .output(ingot, Polycaprolactam) - .EUt(VA[MV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Caprolactam) + fluidInputs(Nitrogen.getFluid(1000)) + output(ingot, Polycaprolactam) + EUt(VA[MV]) + duration(7 * SECOND + 10 * TICK) + } } private fun polyisopreneProcess() { + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Air.getFluid(1000)) + fluidInputs(Isoprene.getFluid(L)) + fluidOutputs(Polyisoprene.getFluid(L)) + EUt(VA[MV]) + duration(10 * SECOND) + } - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Air.getFluid(1000)) - .fluidInputs(Isoprene.getFluid(L)) - .fluidOutputs(Polyisoprene.getFluid(L)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Oxygen.getFluid(1000)) + fluidInputs(Isoprene.getFluid(L)) + fluidOutputs(Polyisoprene.getFluid(L + L / 2)) + EUt(VA[MV]) + duration(10 * SECOND) + } - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidInputs(Isoprene.getFluid(L)) - .fluidOutputs(Polyisoprene.getFluid(L + L / 2)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() - - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Air.getFluid(7500)) - .fluidInputs(Isoprene.getFluid(L * 15)) - .fluidInputs(TitaniumTetrachloride.getFluid(100)) - .fluidOutputs(Polyisoprene.getFluid(L * 22 + L / 2)) - .EUt(VA[MV]) - .duration(50 * SECOND) - .buildAndRegister() - - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Oxygen.getFluid(7500)) - .fluidInputs(Isoprene.getFluid(L * 15)) - .fluidInputs(TitaniumTetrachloride.getFluid(100)) - .fluidOutputs(Polyisoprene.getFluid(L * 30)) - .EUt(VA[MV]) - .duration(50 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Air.getFluid(7500)) + fluidInputs(Isoprene.getFluid(L * 15)) + fluidInputs(TitaniumTetrachloride.getFluid(100)) + fluidOutputs(Polyisoprene.getFluid(L * 22 + L / 2)) + EUt(VA[MV]) + duration(50 * SECOND) + } + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Oxygen.getFluid(7500)) + fluidInputs(Isoprene.getFluid(L * 15)) + fluidInputs(TitaniumTetrachloride.getFluid(100)) + fluidOutputs(Polyisoprene.getFluid(L * 30)) + EUt(VA[MV]) + duration(50 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PotassiumPermanganateChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PotassiumPermanganateChain.kt index 3c4ca8307..e74f69a96 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PotassiumPermanganateChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PotassiumPermanganateChain.kt @@ -12,6 +12,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PotassiumHydroxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PotassiumManganate @@ -25,27 +26,26 @@ internal object PotassiumPermanganateChain fun init() { // MnO2 + 2KOH + O -> K2MnO4 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Pyrolusite, 3) - .fluidInputs(PotassiumHydroxide.getFluid(L * 6)) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, PotassiumManganate, 7) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VHA[MV] / 2L) - .duration(8 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Pyrolusite, 3) + fluidInputs(PotassiumHydroxide.getFluid(L * 6)) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, PotassiumManganate, 7) + fluidOutputs(Water.getFluid(1000)) + EUt(VHA[MV] / 2L) + duration(8 * SECOND + 10 * TICK) + } // 3K2MnO4 + 2H2O -> 2KMnO4 + MnO2 (cycle) + 4KOH (cycle) - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, PotassiumManganate, 21) - .fluidInputs(Water.getFluid(2000)) - .output(dust, PotassiumPermanganate, 12) - .output(dust, Pyrolusite, 3) - .fluidOutputs(PotassiumHydroxide.getFluid(L * 12)) - .EUt(VA[MV]) - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() - + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, PotassiumManganate, 21) + fluidInputs(Water.getFluid(2000)) + output(dust, PotassiumPermanganate, 12) + output(dust, Pyrolusite, 3) + fluidOutputs(PotassiumHydroxide.getFluid(L * 12)) + EUt(VA[MV]) + duration(12 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PrHoYLFChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PrHoYLFChain.kt index a0d4c647c..4d18c0ecc 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PrHoYLFChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/PrHoYLFChain.kt @@ -4,7 +4,6 @@ import gregtech.api.GTValues.HV import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.MIXER_RECIPES import gregtech.api.unification.material.Materials.Ammonia @@ -17,6 +16,8 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AmmoniumBifluoride @@ -39,52 +40,52 @@ internal object PrHoYLFChain fun init() { // NH3 + HF -> NH4F - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(Ammonia.getFluid(1000)) - .fluidInputs(HydrofluoricAcid.getFluid(1000)) - .output(dust, AmmoniumFluoride, 6) - .EUt(VA[HV]) - .duration(8 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(Ammonia.getFluid(1000)) + fluidInputs(HydrofluoricAcid.getFluid(1000)) + output(dust, AmmoniumFluoride, 6) + EUt(VA[HV]) + duration(8 * SECOND + 10 * TICK) + } // 2NH4F -> NH4HF2 + NH3 - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, AmmoniumFluoride, 12) - .output(dust, AmmoniumBifluoride, 8) - .fluidOutputs(Ammonia.getFluid(1000)) - .EUt(VA[HV]) - .duration(17 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, AmmoniumFluoride, 12) + output(dust, AmmoniumBifluoride, 8) + fluidOutputs(Ammonia.getFluid(1000)) + EUt(VA[HV]) + duration(17 * SECOND) + } // Pr2O3 + Ho2O3 + 3Y2O3 + 30HNO3 -> (Pr(NO3)3)2(Ho(NO3)3)2(Y(NO3)3)6(H2O)15 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, PraseodymiumOxide, 5) - .input(dust, HolmiumOxide, 5) - .input(dust, YttriumOxide, 15) - .fluidInputs(NitricAcid.getFluid(30000)) - .fluidOutputs(PrHoYNitratesSolution.getFluid(30000)) - .EUt(VA[ZPM]) - .duration(30 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, PraseodymiumOxide, 5) + input(dust, HolmiumOxide, 5) + input(dust, YttriumOxide, 15) + fluidInputs(NitricAcid.getFluid(30000)) + fluidOutputs(PrHoYNitratesSolution.getFluid(30000)) + EUt(VA[ZPM]) + duration(30 * SECOND) + } // Be + LiF + 2NH4HF2 + 1/15(Pr(NO3)3)2(Ho(NO3)3)2(Y(NO3)3)6(H2O)15 + CO -> 2Pr/Ho:YLF + BeF2 + 2NH4NO3 + 2HF + CO2 - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, Beryllium) - .input(dust, LithiumFluoride, 2) - .input(dust, AmmoniumBifluoride, 16) - .notConsumable(EDTA.getFluid(1)) - .fluidInputs(PrHoYNitratesSolution.getFluid(2000)) - .fluidInputs(CarbonMonoxide.getFluid(1000)) - .output(dust, PrHoYLF, 2) - .output(dust, BerylliumDifluoride, 3) - .output(dust, AmmoniumNitrate, 18) - .fluidOutputs(HydrofluoricAcid.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[UV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, Beryllium) + input(dust, LithiumFluoride, 2) + input(dust, AmmoniumBifluoride, 16) + notConsumable(EDTA.getFluid(1)) + fluidInputs(PrHoYNitratesSolution.getFluid(2000)) + fluidInputs(CarbonMonoxide.getFluid(1000)) + output(dust, PrHoYLF, 2) + output(dust, BerylliumDifluoride, 3) + output(dust, AmmoniumNitrate, 18) + fluidOutputs(HydrofluoricAcid.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[UV]) + duration(20 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/QuantumDotsChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/QuantumDotsChain.kt index cf1963d89..a96496ed8 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/QuantumDotsChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/QuantumDotsChain.kt @@ -40,6 +40,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BATH_CONDENSER_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AluminiumHydroxide @@ -74,165 +75,164 @@ internal object QuantumDotsChain private fun grignardReagentProcess() { // C4H8 + HClO + H2O -> C4H10O2 + HCl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Butene.getFluid(1000)) - .fluidInputs(HypochlorousAcid.getFluid(1000)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(Butanediol.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Butene.getFluid(1000)) + fluidInputs(HypochlorousAcid.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(Butanediol.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(3 * SECOND) + } // C4H10O2 -> C4H8O + H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Butanediol.getFluid(1000)) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(Tetrahydrofuran.getFluid(1000)) - .fluidOutputs(DilutedSulfuricAcid.getFluid(1500)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Butanediol.getFluid(1000)) + fluidInputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(Tetrahydrofuran.getFluid(1000)) + fluidOutputs(DilutedSulfuricAcid.getFluid(1500)) + EUt(VA[HV]) + duration(5 * SECOND) + } // Add another reaction to produce MgCl2. // Mg + 2Cl -> MgCl2 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Magnesium) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, MagnesiumChloride, 3) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Magnesium) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, MagnesiumChloride, 3) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // MgCl2 + 2K (molten) + C4H8O (semicatalyst) -> *Mg* + 2KCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, MagnesiumChloride, 3) - .fluidInputs(Potassium.getFluid(L * 2)) - .fluidInputs(Tetrahydrofuran.getFluid(10)) - .output(dust, HRAMagnesium) - .output(dust, RockSalt, 4) - .EUt(VA[IV]) - .duration(7 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, MagnesiumChloride, 3) + fluidInputs(Potassium.getFluid(L * 2)) + fluidInputs(Tetrahydrofuran.getFluid(10)) + output(dust, HRAMagnesium) + output(dust, RockSalt, 4) + EUt(VA[IV]) + duration(7 * SECOND) + } // C2H4 + 2Br -> C2H4Br2 - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Ethylene.getFluid(1000)) - .fluidInputs(Bromine.getFluid(2000)) - .fluidOutputs(EthyleneDibromide.getFluid(3000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Ethylene.getFluid(1000)) + fluidInputs(Bromine.getFluid(2000)) + fluidOutputs(EthyleneDibromide.getFluid(3000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // Mg + C2H4Br2 -> CH3MgBr + HBr + C (lost) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, HRAMagnesium) - .fluidInputs(EthyleneDibromide.getFluid(3000)) - .fluidOutputs(GrignardReagent.getFluid(1000)) - .fluidOutputs(HydrobromicAcid.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + input(dust, HRAMagnesium) + fluidInputs(EthyleneDibromide.getFluid(3000)) + fluidOutputs(GrignardReagent.getFluid(1000)) + fluidOutputs(HydrobromicAcid.getFluid(1000)) + EUt(VA[LV]) + duration(5 * SECOND) + } } private fun dimethylcadmiumProcess() { // Cd + 2Br -> CdBr2 - for (fluidStack in arrayOf( + for (fluid in arrayOf( Water.getFluid(100), DistilledWater.getFluid(100), Ice.getFluid(50), Oxygen.getFluid(FluidStorageKeys.LIQUID, 25), Helium.getFluid(FluidStorageKeys.LIQUID, 10))) { - BATH_CONDENSER_RECIPES.recipeBuilder() - .input(dust, Cadmium) - .fluidInputs(Bromine.getFluid(2000)) - .fluidInputs(fluidStack) - .output(dust, CadmiumBromide, 3) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + input(dust, Cadmium) + fluidInputs(Bromine.getFluid(2000)) + fluidInputs(fluid) + output(dust, CadmiumBromide, 3) + EUt(VA[LV]) + duration(5 * SECOND) + } } // CdBr2 + 2CH3MgBr -> (CH3)2Cd + 2MgBr2 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, CadmiumBromide, 3) - .fluidInputs(GrignardReagent.getFluid(2000)) - .output(dust, MagnesiumBromide, 6) - .fluidOutputs(Dimethylcadmium.getFluid(1000)) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, CadmiumBromide, 3) + fluidInputs(GrignardReagent.getFluid(2000)) + output(dust, MagnesiumBromide, 6) + fluidOutputs(Dimethylcadmium.getFluid(1000)) + EUt(VA[IV]) + duration(5 * SECOND) + } } private fun cadmiumSelenideProcess() { // 2Al + 3Se -> Al2Se3 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Aluminium, 2) - .input(dust, Selenium, 3) - .output(dust, AluminiumSelenide, 5) - .EUt(VA[LV]) - .duration(20 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Aluminium, 2) + input(dust, Selenium, 3) + output(dust, AluminiumSelenide, 5) + EUt(VA[LV]) + duration(20 * SECOND) + } // Al2Se3 + 6H2O -> 2Al(OH)3 + 3H2Se - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, AluminiumSelenide, 5) - .fluidInputs(Water.getFluid(6000)) - .output(dust, AluminiumHydroxide, 14) - .fluidOutputs(HydrogenSelenide.getFluid(3000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, AluminiumSelenide, 5) + fluidInputs(Water.getFluid(6000)) + output(dust, AluminiumHydroxide, 14) + fluidOutputs(HydrogenSelenide.getFluid(3000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // (CH3)2Cd + H2Se -> CdSe + 2CH4 - CVD_RECIPES.recipeBuilder() - .fluidInputs(Dimethylcadmium.getFluid(1000)) - .fluidInputs(HydrogenSelenide.getFluid(1000)) - .output(dust, CadmiumSelenide, 2) - .fluidOutputs(Methane.getFluid(2000)) - .EUt(VA[IV]) - .duration(4 * SECOND) - .temperature(665) - .buildAndRegister() + CVD_RECIPES.addRecipe { + fluidInputs(Dimethylcadmium.getFluid(1000)) + fluidInputs(HydrogenSelenide.getFluid(1000)) + output(dust, CadmiumSelenide, 2) + fluidOutputs(Methane.getFluid(2000)) + EUt(VA[IV]) + duration(4 * SECOND) + temperature(665) + } } private fun cadmiumSulfideProcess() { // 2C2H4 + H2S -> C4H10S - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Ethylene.getFluid(2000)) - .fluidInputs(HydrogenSulfide.getFluid(1000)) - .fluidOutputs(DiethylSulfide.getFluid(1000)) - .EUt(VA[LV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Ethylene.getFluid(2000)) + fluidInputs(HydrogenSulfide.getFluid(1000)) + fluidOutputs(DiethylSulfide.getFluid(1000)) + EUt(VA[LV]) + duration(7 * SECOND + 10 * TICK) + } // C4H10S decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(DiethylSulfide.getFluid(1000)) - .fluidOutputs(Ethylene.getFluid(2000)) - .fluidOutputs(HydrogenSulfide.getFluid(1000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(DiethylSulfide.getFluid(1000)) + fluidOutputs(Ethylene.getFluid(2000)) + fluidOutputs(HydrogenSulfide.getFluid(1000)) + EUt(VA[LV]) + duration(15 * SECOND) + } // Cd(CH3)2 + C4H10S -> CdS + C2H6 + C4H10 - CVD_RECIPES.recipeBuilder() - .fluidInputs(Dimethylcadmium.getFluid(1000)) - .fluidInputs(DiethylSulfide.getFluid(1000)) - .output(dust, CadmiumSulfide, 2) - .fluidOutputs(Ethane.getFluid(1000)) - .fluidOutputs(Butane.getFluid(1000)) - .EUt(VA[UV]) - .duration(4 * SECOND) - .temperature(742) - .buildAndRegister() + CVD_RECIPES.addRecipe { + fluidInputs(Dimethylcadmium.getFluid(1000)) + fluidInputs(DiethylSulfide.getFluid(1000)) + output(dust, CadmiumSulfide, 2) + fluidOutputs(Ethane.getFluid(1000)) + fluidOutputs(Butane.getFluid(1000)) + EUt(VA[UV]) + duration(4 * SECOND) + temperature(742) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/QuarksChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/QuarksChain.kt index 0f221e8a1..bf9558b7d 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/QuarksChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/QuarksChain.kt @@ -42,6 +42,8 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_ROTOR import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.LARGE_MIXER_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.DegenerateRhenium @@ -61,7 +63,6 @@ import gregtechlite.gtlitecore.common.block.GTLiteBlocks.LEPTONIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.QUANTUM_CHROMODYNAMIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.TARANIUM_CHARGE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.SHAPE_MOLD_SCREW -import net.minecraft.item.ItemStack internal object QuarksChain { @@ -70,353 +71,359 @@ internal object QuarksChain fun init() { + // region Quark-Gluon Plasma and HQDM Processing // Tier 1: 144L Degenerate Rhenium -> 1000L Quark-Gluon Plasma - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, DegenerateRhenium) - .inputs(ItemStack(TARANIUM_CHARGE)) - .fluidOutputs(QuarkGluonPlasma.getFluid(1000)) - .EUt(VA[UHV]) - .duration(40 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(plate, DegenerateRhenium) + inputs(TARANIUM_CHARGE) + fluidOutputs(QuarkGluonPlasma.getFluid(1000)) + EUt(VA[UHV]) + duration(40 * SECOND) + } // Tier 2: 144L * 64 Degenerate Rhenium -> 1000L * 64 Quark-Gluon Plasma - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(plate, DegenerateRhenium, 64) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidOutputs(QuarkGluonPlasma.getFluid(64000)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(plate, DegenerateRhenium, 64) + inputs(LEPTONIC_CHARGE) + fluidOutputs(QuarkGluonPlasma.getFluid(64000)) + EUt(VA[UEV]) + duration(10 * SECOND) + } // Tier 3: 144L * 64 * 4 Degenerate Rhenium -> 1000L * 64 * 4 Quark-Gluon Plasma - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(plate, DegenerateRhenium, 64) - .input(plate, DegenerateRhenium, 64) - .input(plate, DegenerateRhenium, 64) - .input(plate, DegenerateRhenium, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidOutputs(QuarkGluonPlasma.getFluid(256000)) - .EUt(VA[UIV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + input(plate, DegenerateRhenium, 64) + input(plate, DegenerateRhenium, 64) + input(plate, DegenerateRhenium, 64) + input(plate, DegenerateRhenium, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidOutputs(QuarkGluonPlasma.getFluid(256000)) + EUt(VA[UIV]) + duration(2 * SECOND + 5 * TICK) + } // Quark-Gluon Plasma -> Heavy Quarks, Light Quarks, Gluons - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(QuarkGluonPlasma.getFluid(5000)) - .fluidOutputs(HeavyQuarks.getFluid(3750)) - .fluidOutputs(LightQuarks.getFluid(2500)) - .fluidOutputs(Gluons.getFluid(1250)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(QuarkGluonPlasma.getFluid(5000)) + fluidOutputs(HeavyQuarks.getFluid(3750)) + fluidOutputs(LightQuarks.getFluid(2500)) + fluidOutputs(Gluons.getFluid(1250)) + EUt(VA[UHV]) + duration(10 * SECOND) + } // Heavy Quarks + Light Quarks -> Heavy Quark Enriched Mixture - MIXER_RECIPES.recipeBuilder() // 3:1 - .circuitMeta(1) - .fluidInputs(HeavyQuarks.getFluid(750)) - .fluidInputs(LightQuarks.getFluid(250)) - .fluidOutputs(HeavyQuarkEnrichedMixture.getFluid(1000)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(HeavyQuarks.getFluid(750)) + fluidInputs(LightQuarks.getFluid(250)) + fluidOutputs(HeavyQuarkEnrichedMixture.getFluid(1000)) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Deuterium + Hs + Fl + Og -> Deuterium-Superheavy Mixture - LARGE_MIXER_RECIPES.recipeBuilder() - .fluidInputs(Deuterium.getFluid(2000)) - .fluidInputs(MetastableHassium.getFluid(L)) - .fluidInputs(MetastableFlerovium.getFluid(L)) - .fluidInputs(MetastableOganesson.getFluid(L)) - .fluidOutputs(DeuteriumSuperheavyMixture.getFluid(L * 18)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + fluidInputs(Deuterium.getFluid(2000)) + fluidInputs(MetastableHassium.getFluid(L)) + fluidInputs(MetastableFlerovium.getFluid(L)) + fluidInputs(MetastableOganesson.getFluid(L)) + fluidOutputs(DeuteriumSuperheavyMixture.getFluid(L * 18)) + EUt(VA[UHV]) + duration(10 * SECOND) + } // Heavy Quark Enriched Mixture + Deuterium-Superheavy Mixture -> Heavy Quark Degenerate Matter (HQDM) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(HeavyQuarkEnrichedMixture.getFluid(500)) - .fluidInputs(DeuteriumSuperheavyMixture.getFluid(L * 6)) - .fluidOutputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .EUToStart(1_600_000_000L) // 1600M EU, MK5 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(HeavyQuarkEnrichedMixture.getFluid(500)) + fluidInputs(DeuteriumSuperheavyMixture.getFluid(L * 6)) + fluidOutputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + EUt(VA[UEV]) + duration(8 * SECOND) + EUToStart(1_600_000_000L) // 1600M EU, MK5 + } // HQDM (plasma) -> HQDM (liquid) - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .fluidOutputs(HeavyQuarkDegenerateMatter.getFluid(L)) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(dust, HeavyQuarkDegenerateMatter) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(dustSmall, HeavyQuarkDegenerateMatter, 4) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(dustTiny, HeavyQuarkDegenerateMatter, 9) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() + VACUUM_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + fluidOutputs(HeavyQuarkDegenerateMatter.getFluid(L)) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(dust, HeavyQuarkDegenerateMatter) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(dustSmall, HeavyQuarkDegenerateMatter, 4) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(4) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(dustTiny, HeavyQuarkDegenerateMatter, 9) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } // HQDM (plasma) -> HQDM components - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(ingot, HeavyQuarkDegenerateMatter) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_PLATE) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(plate, HeavyQuarkDegenerateMatter) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_ROD) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(stick, HeavyQuarkDegenerateMatter, 2) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_ROD_LONG) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(stickLong, HeavyQuarkDegenerateMatter) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BOLT) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(bolt, HeavyQuarkDegenerateMatter, 8) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_SCREW) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(screw, HeavyQuarkDegenerateMatter, 8) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_RING) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(ring, HeavyQuarkDegenerateMatter, 4) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_NUGGET) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(nugget, HeavyQuarkDegenerateMatter, 9) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_GEAR) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(4000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 4000)) - .output(gear, HeavyQuarkDegenerateMatter) - .fluidOutputs(Helium.getFluid(2000)) - .EUt(VA[UEV]) - .duration(80 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_GEAR_SMALL) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(gearSmall, HeavyQuarkDegenerateMatter) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_ROTOR) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(4000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 4000)) - .output(rotor, HeavyQuarkDegenerateMatter) - .fluidOutputs(Helium.getFluid(2000)) - .EUt(VA[UEV]) - .duration(80 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BLOCK) - .fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(9000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 9000)) - .output(block, HeavyQuarkDegenerateMatter) - .fluidOutputs(Helium.getFluid(4500)) - .EUt(VA[UEV]) - .duration(180 * SECOND) - .buildAndRegister() - - // Tier 1: 144L HQDM -> 1000L HighEnergyQuarkGluonPlasma - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, HeavyQuarkDegenerateMatter) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidOutputs(HighEnergyQuarkGluonPlasma.getFluid(1000)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Tier 2: 144L * 64 HQDM -> 64000L HighEnergyQuarkGluonPlasma - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(plate, HeavyQuarkDegenerateMatter, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidOutputs(HighEnergyQuarkGluonPlasma.getFluid(64000)) - .EUt(VA[UIV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(ingot, HeavyQuarkDegenerateMatter) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_PLATE) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(plate, HeavyQuarkDegenerateMatter) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_ROD) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(stick, HeavyQuarkDegenerateMatter, 2) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_ROD_LONG) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(stickLong, HeavyQuarkDegenerateMatter) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BOLT) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(bolt, HeavyQuarkDegenerateMatter, 8) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_SCREW) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(screw, HeavyQuarkDegenerateMatter, 8) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_RING) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(ring, HeavyQuarkDegenerateMatter, 4) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_NUGGET) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(nugget, HeavyQuarkDegenerateMatter, 9) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_GEAR) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(4000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 4000)) + output(gear, HeavyQuarkDegenerateMatter) + fluidOutputs(Helium.getFluid(2000)) + EUt(VA[UEV]) + duration(80 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_GEAR_SMALL) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(gearSmall, HeavyQuarkDegenerateMatter) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UEV]) + duration(20 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_ROTOR) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(4000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 4000)) + output(rotor, HeavyQuarkDegenerateMatter) + fluidOutputs(Helium.getFluid(2000)) + EUt(VA[UEV]) + duration(80 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BLOCK) + fluidInputs(HeavyQuarkDegenerateMatter.getPlasma(9000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 9000)) + output(block, HeavyQuarkDegenerateMatter) + fluidOutputs(Helium.getFluid(4500)) + EUt(VA[UEV]) + duration(180 * SECOND) + } + + // endregion + + // region High Energy Quark-Gluon Plasma and QCM Processing + + // Tier 1: 144L HQDM -> 1000L High Energy Quark-Gluon Plasma + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(plate, HeavyQuarkDegenerateMatter) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidOutputs(HighEnergyQuarkGluonPlasma.getFluid(1000)) + EUt(VA[UEV]) + duration(30 * SECOND) + } + + // Tier 2: 144L * 64 HQDM -> 64000L High Energy Quark-Gluon Plasma + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(plate, HeavyQuarkDegenerateMatter, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidOutputs(HighEnergyQuarkGluonPlasma.getFluid(64000)) + EUt(VA[UIV]) + duration(7 * SECOND + 10 * TICK) + } // Tier 3: 144L * 9 * 64 HQDM -> 576000L HighEnergyQuarkGluonPlasma - STELLAR_FORGE_RECIPES.recipeBuilder() - .input(block, HeavyQuarkDegenerateMatter, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidOutputs(HighEnergyQuarkGluonPlasma.getFluid(576000)) - .EUt(VA[UXV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + input(block, HeavyQuarkDegenerateMatter, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidOutputs(HighEnergyQuarkGluonPlasma.getFluid(576000)) + EUt(VA[UXV]) + duration(2 * SECOND + 5 * TICK) + } // High Energy Q-G plasma -> QCM liquid and components - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .fluidOutputs(QuantumchromodynamicallyConfinedMatter.getFluid(L)) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(dust, QuantumchromodynamicallyConfinedMatter) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(dustSmall, QuantumchromodynamicallyConfinedMatter, 4) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(dustTiny, QuantumchromodynamicallyConfinedMatter, 9) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(ingot, QuantumchromodynamicallyConfinedMatter) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_PLATE) - .fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(plate, QuantumchromodynamicallyConfinedMatter) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_NUGGET) - .fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) - .output(nugget, QuantumchromodynamicallyConfinedMatter, 9) - .fluidOutputs(Helium.getFluid(500)) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .buildAndRegister() - - VACUUM_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BLOCK) - .fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(9000)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 9000)) - .output(block, QuantumchromodynamicallyConfinedMatter) - .fluidOutputs(Helium.getFluid(4500)) - .EUt(VA[UIV]) - .duration(360 * SECOND) - .buildAndRegister() - + VACUUM_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + fluidOutputs(QuantumchromodynamicallyConfinedMatter.getFluid(L)) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(dust, QuantumchromodynamicallyConfinedMatter) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(dustSmall, QuantumchromodynamicallyConfinedMatter, 4) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + circuitMeta(4) + fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(dustTiny, QuantumchromodynamicallyConfinedMatter, 9) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(ingot, QuantumchromodynamicallyConfinedMatter) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_PLATE) + fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(plate, QuantumchromodynamicallyConfinedMatter) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_NUGGET) + fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(1000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 1000)) + output(nugget, QuantumchromodynamicallyConfinedMatter, 9) + fluidOutputs(Helium.getFluid(500)) + EUt(VA[UIV]) + duration(40 * SECOND) + } + + VACUUM_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BLOCK) + fluidInputs(HighEnergyQuarkGluonPlasma.getPlasma(9000)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 9000)) + output(block, QuantumchromodynamicallyConfinedMatter) + fluidOutputs(Helium.getFluid(4500)) + EUt(VA[UIV]) + duration(360 * SECOND) + } + + // endregion } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RHTIHChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RHTIHChain.kt index d6bd796b2..1c55d86cd 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RHTIHChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RHTIHChain.kt @@ -29,6 +29,7 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -55,114 +56,113 @@ object RHTIHChain fun init() { // Tl + Cl -> TlCl - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Thallium) - .fluidInputs(Chlorine.getFluid(1000)) - .output(dust, ThalliumChloride, 2) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Thallium) + fluidInputs(Chlorine.getFluid(1000)) + output(dust, ThalliumChloride, 2) + EUt(VA[LV]) + duration(4 * SECOND) + } // Hs + 4Cl -> HsCl4 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, MetastableHassium) - .fluidInputs(Chlorine.getFluid(4000)) - .output(dust, HassiumTetrachloride, 5) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(4) + input(dust, MetastableHassium) + fluidInputs(Chlorine.getFluid(4000)) + output(dust, HassiumTetrachloride, 5) + EUt(VA[MV]) + duration(5 * SECOND) + } // Re + 5Cl -> ReCl5 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Rhenium) - .fluidInputs(Chlorine.getFluid(5000)) - .output(dust, RheniumPentachloride, 6) - .EUt(VA[MV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Rhenium) + fluidInputs(Chlorine.getFluid(5000)) + output(dust, RheniumPentachloride, 6) + EUt(VA[MV]) + duration(3 * SECOND) + } // H3PO4 + 6HF -> HPF6 + 4H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(PhosphoricAcid.getFluid(1000)) - .fluidInputs(HydrofluoricAcid.getFluid(6000)) - .fluidOutputs(HexafluorophosphoricAcid.getFluid(1000)) - .fluidOutputs(Water.getFluid(4000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(PhosphoricAcid.getFluid(1000)) + fluidInputs(HydrofluoricAcid.getFluid(6000)) + fluidOutputs(HexafluorophosphoricAcid.getFluid(1000)) + fluidOutputs(Water.getFluid(4000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // NaCN + S -> NaSCN - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, SodiumCyanide, 3) - .input(dust, Sulfur) - .output(dust, SodiumThiocyanate, 4) - .EUt(VA[EV]) - .duration(6 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, SodiumCyanide, 3) + input(dust, Sulfur) + output(dust, SodiumThiocyanate, 4) + EUt(VA[EV]) + duration(6 * SECOND) + } // C2H4 + NH3 -> C2H5NH2 - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Ethylene.getFluid(1000)) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidOutputs(Ethylamine.getFluid(1000)) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(Ethylene.getFluid(1000)) + fluidInputs(Ammonia.getFluid(1000)) + fluidOutputs(Ethylamine.getFluid(1000)) + EUt(VA[HV]) + duration(4 * SECOND) + } // NaSCN + HCl + 2C2H5NH2 -> NaCl + (C2H5NH)2CS + NH3 (cycle) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumThiocyanate, 4) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .fluidInputs(Ethylamine.getFluid(2000)) - .output(dust, Salt, 2) - .fluidOutputs(Diethylthiourea.getFluid(1000)) - .fluidOutputs(Ammonia.getFluid(1000)) - .EUt(VA[LuV]) - .duration(7 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumThiocyanate, 4) + fluidInputs(HydrochloricAcid.getFluid(1000)) + fluidInputs(Ethylamine.getFluid(2000)) + output(dust, Salt, 2) + fluidOutputs(Diethylthiourea.getFluid(1000)) + fluidOutputs(Ammonia.getFluid(1000)) + EUt(VA[LuV]) + duration(7 * SECOND) + } // C6H6O + H2O2 + 2C2H2O + 2O -> C10H10O6 + H2O - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(6) - .fluidInputs(Phenol.getFluid(1000)) - .fluidInputs(HydrogenPeroxide.getFluid(1000)) - .fluidInputs(Ethenone.getFluid(2000)) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(PhenylenedioxydiaceticAcid.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[UV]) - .duration(17 * SECOND + 10) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(6) + fluidInputs(Phenol.getFluid(1000)) + fluidInputs(HydrogenPeroxide.getFluid(1000)) + fluidInputs(Ethenone.getFluid(2000)) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(PhenylenedioxydiaceticAcid.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[UV]) + duration(17 * SECOND + 10) + } // 2(C2H5NH)2CS + 2SOCl2 + C10H10O6 -> C18H26N4O2S2 + 4HCl + 2SO2 - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .fluidInputs(Diethylthiourea.getFluid(2000)) - .fluidInputs(ThionylChloride.getFluid(2000)) - .fluidInputs(PhenylenedioxydiaceticAcid.getFluid(1000)) - .fluidOutputs(Isophthaloylbisdiethylthiourea.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(4000)) - .fluidOutputs(SulfurDioxide.getFluid(2000)) - .EUt(VA[UEV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + fluidInputs(Diethylthiourea.getFluid(2000)) + fluidInputs(ThionylChloride.getFluid(2000)) + fluidInputs(PhenylenedioxydiaceticAcid.getFluid(1000)) + fluidOutputs(Isophthaloylbisdiethylthiourea.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(4000)) + fluidOutputs(SulfurDioxide.getFluid(2000)) + EUt(VA[UEV]) + duration(4 * SECOND) + } // TlCl + HsCl4 + ReCl5 + 3C18H26N4O2S2 + HPF6 -> C60H84O12N12S6F6PReHsTl + 7HCl + 3Cl - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, ThalliumChloride, 2) - .input(dust, HassiumTetrachloride, 5) - .input(dust, RheniumPentachloride, 6) - .fluidInputs(Isophthaloylbisdiethylthiourea.getFluid(3000)) - .fluidInputs(HexafluorophosphoricAcid.getFluid(1000)) - .output(dust, RheniumHassiumThalliumIsophtaloylbisdiethylthioureaHexafluorophosphate, 125) - .fluidOutputs(HydrochloricAcid.getFluid(7000)) - .fluidOutputs(Chlorine.getFluid(3000)) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .buildAndRegister() - + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, ThalliumChloride, 2) + input(dust, HassiumTetrachloride, 5) + input(dust, RheniumPentachloride, 6) + fluidInputs(Isophthaloylbisdiethylthiourea.getFluid(3000)) + fluidInputs(HexafluorophosphoricAcid.getFluid(1000)) + output(dust, RheniumHassiumThalliumIsophtaloylbisdiethylthioureaHexafluorophosphate, 125) + fluidOutputs(HydrochloricAcid.getFluid(7000)) + fluidOutputs(Chlorine.getFluid(3000)) + EUt(VA[UIV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ReactorModeratorChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ReactorModeratorChain.kt index dc802a422..7b2571840 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ReactorModeratorChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ReactorModeratorChain.kt @@ -13,6 +13,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BerylliumDifluoride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LithiumBerylliumFluorides import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LithiumFluoride @@ -28,56 +29,55 @@ internal object ReactorModeratorChain fun init() { // Li + F -> LiF - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Lithium) - .fluidInputs(Fluorine.getFluid(1000)) - .output(dust, LithiumFluoride, 2) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Lithium) + fluidInputs(Fluorine.getFluid(1000)) + output(dust, LithiumFluoride, 2) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // K + F -> KF - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Potassium) - .fluidInputs(Fluorine.getFluid(1000)) - .output(dust, PotassiumFluoride, 2) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Potassium) + fluidInputs(Fluorine.getFluid(1000)) + output(dust, PotassiumFluoride, 2) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // LiF + NaF + KF -> F3LiNaK - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, LithiumFluoride, 2) - .input(dust, SodiumFluoride, 2) - .input(dust, PotassiumFluoride, 2) - .output(dust, LithiumSodiumPotassiumFluorides, 6) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, LithiumFluoride, 2) + input(dust, SodiumFluoride, 2) + input(dust, PotassiumFluoride, 2) + output(dust, LithiumSodiumPotassiumFluorides, 6) + EUt(VA[MV]) + duration(10 * SECOND) + } // Be + 2F -> BeF2 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Beryllium) - .fluidInputs(Fluorine.getFluid(2000)) - .output(dust, BerylliumDifluoride, 3) - .EUt(VA[MV]) - .duration(1 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Beryllium) + fluidInputs(Fluorine.getFluid(2000)) + output(dust, BerylliumDifluoride, 3) + EUt(VA[MV]) + duration(1 * SECOND + 10 * TICK) + } // LiF + BeF2 -> F3LiBe - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, LithiumFluoride, 2) - .input(dust, BerylliumDifluoride, 3) - .output(dust, LithiumBerylliumFluorides, 5) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() - + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, LithiumFluoride, 2) + input(dust, BerylliumDifluoride, 3) + output(dust, LithiumBerylliumFluorides, 5) + EUt(VA[MV]) + duration(15 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RocketFuelsChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RocketFuelsChain.kt index 5a02131cd..a2d9e1d12 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RocketFuelsChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RocketFuelsChain.kt @@ -6,7 +6,6 @@ import gregtech.api.GTValues.MV import gregtech.api.GTValues.V import gregtech.api.GTValues.VA import gregtech.api.fluids.store.FluidStorageKeys -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.COMBUSTION_GENERATOR_FUELS import gregtech.api.recipes.RecipeMaps.MIXER_RECIPES import gregtech.api.unification.material.Materials.CoalTar @@ -17,6 +16,8 @@ import gregtech.api.unification.material.Materials.RocketFuel import gregtech.api.unification.material.Materials.Tetranitromethane import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROCKET_ENGINE_FUELS import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.DenseHydrazineRocketFuel import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Methylhydrazine @@ -31,61 +32,62 @@ internal object RocketFuelsChain fun init() { // Deleted rocket fuel combustion generator recipe. - GTRecipeHandler.removeRecipesByInputs(COMBUSTION_GENERATOR_FUELS, - RocketFuel.getFluid(16)) + COMBUSTION_GENERATOR_FUELS.removeRecipe(RocketFuel.getFluid(16)) // RP-1 Rocket Fuel - MIXER_RECIPES.recipeBuilder() - .fluidInputs(CoalTar.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(FluidStorageKeys.LIQUID, 1000)) - .fluidOutputs(RP1RocketFuel.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(CoalTar.getFluid(1000)) + fluidInputs(Oxygen.getFluid(FluidStorageKeys.LIQUID, 1000)) + fluidOutputs(RP1RocketFuel.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // Dense Hydrazine Rocket Fuel - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Dimethylhydrazine.getFluid(1000)) - .fluidInputs(Methanol.getFluid(1000)) - .fluidOutputs(DenseHydrazineRocketFuel.getFluid(1000)) - .EUt(VA[EV]) - .duration(6 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Dimethylhydrazine.getFluid(1000)) + fluidInputs(Methanol.getFluid(1000)) + fluidOutputs(DenseHydrazineRocketFuel.getFluid(1000)) + EUt(VA[EV]) + duration(6 * SECOND) + } // Methylhydrazine Nitrate Rocket Fuel - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Methylhydrazine.getFluid(1000)) - .fluidInputs(Tetranitromethane.getFluid(1000)) - .fluidOutputs(MethylhydrazineNitrateRocketFuel.getFluid(1000)) - .EUt(VA[EV]) - .duration(2 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Methylhydrazine.getFluid(1000)) + fluidInputs(Tetranitromethane.getFluid(1000)) + fluidOutputs(MethylhydrazineNitrateRocketFuel.getFluid(1000)) + EUt(VA[EV]) + duration(2 * SECOND) + } - // Rocket Fuels - ROCKET_ENGINE_FUELS.recipeBuilder() - .fluidInputs(RocketFuel.getFluid(16)) - .EUt(V[HV]) - .duration(2 * SECOND) - .buildAndRegister() + // region Rocket Fuels - ROCKET_ENGINE_FUELS.recipeBuilder() - .fluidInputs(RP1RocketFuel.getFluid(12)) - .EUt(V[HV]) - .duration(1 * SECOND) - .buildAndRegister() + ROCKET_ENGINE_FUELS.addRecipe { + fluidInputs(RocketFuel.getFluid(16)) + EUt(V[HV]) + duration(2 * SECOND) + } - ROCKET_ENGINE_FUELS.recipeBuilder() - .fluidInputs(DenseHydrazineRocketFuel.getFluid(9)) - .EUt(V[EV]) - .duration(4 * SECOND) - .buildAndRegister() + ROCKET_ENGINE_FUELS.addRecipe { + fluidInputs(RP1RocketFuel.getFluid(12)) + EUt(V[HV]) + duration(1 * SECOND) + } - ROCKET_ENGINE_FUELS.recipeBuilder() - .fluidInputs(MethylhydrazineNitrateRocketFuel.getFluid(6)) - .EUt(V[EV]) - .duration(6 * SECOND) - .buildAndRegister() + ROCKET_ENGINE_FUELS.addRecipe { + fluidInputs(DenseHydrazineRocketFuel.getFluid(9)) + EUt(V[EV]) + duration(4 * SECOND) + } + ROCKET_ENGINE_FUELS.addRecipe { + fluidInputs(MethylhydrazineNitrateRocketFuel.getFluid(6)) + EUt(V[EV]) + duration(6 * SECOND) + } + + // endregion } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RubbersChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RubbersChain.kt index 3d5c4cf08..4c7368d3f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RubbersChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RubbersChain.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.ULV import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ALLOY_SMELTER_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.EXTRACTOR_RECIPES @@ -72,6 +71,8 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.COAGULATION_RECIPES @@ -115,54 +116,53 @@ internal object RubbersChain private fun rubberProcess() { // Extraction latex from a rubber planks, used sap collector with water. - SAP_COLLECTOR_RECIPES.recipeBuilder() - .notConsumable(Water.getFluid(10)) - .fluidOutputs(Latex.getFluid(100)) - .EUt(VA[ULV]) - .duration(1 * SECOND) - .blockStates("rubber", arrayListOf((MetaBlocks.RUBBER_LOG as? BlockLog)!!.defaultState)) - .buildAndRegister() + SAP_COLLECTOR_RECIPES.addRecipe { + notConsumable(Water.getFluid(10)) + fluidOutputs(Latex.getFluid(100)) + EUt(VA[ULV]) + duration(1 * SECOND) + blockStates("rubber", arrayListOf((MetaBlocks.RUBBER_LOG as? BlockLog)!!.defaultState)) + } // Coagulation processing of liquid latex. - GTRecipeHandler.removeRecipesByInputs(EXTRACTOR_RECIPES, - OreDictUnifier.get(dust, Latex)) - - COAGULATION_RECIPES.recipeBuilder() - .circuitMeta(1) - .notConsumable(stick, Iron) - .fluidInputs(Latex.getFluid(1000)) - .output(dust, Latex) - .duration(5 * SECOND) - .buildAndRegister() - - COAGULATION_RECIPES.recipeBuilder() - .notConsumable(stick, Iron) - .notConsumable(dust, CalciumChloride) - .fluidInputs(Latex.getFluid(1000)) - .output(dust, Latex) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() - - COAGULATION_RECIPES.recipeBuilder() - .notConsumable(stick, Iron) - .notConsumable(SulfuricAcid.getFluid(1)) - .fluidInputs(Latex.getFluid(1000)) - .output(dust, Latex) - .duration(1 * SECOND) - .buildAndRegister() - - COAGULATION_RECIPES.recipeBuilder() - .notConsumable(stick, Iron) - .notConsumable(AceticAcid.getFluid(1)) - .fluidInputs(Latex.getFluid(1000)) - .output(dust, Latex) - .duration(5 * TICK) - .buildAndRegister() + EXTRACTOR_RECIPES.removeRecipe(OreDictUnifier.get(dust, Latex)) + + COAGULATION_RECIPES.addRecipe { + circuitMeta(1) + notConsumable(stick, Iron) + fluidInputs(Latex.getFluid(1000)) + output(dust, Latex) + duration(5 * SECOND) + } + + COAGULATION_RECIPES.addRecipe { + notConsumable(stick, Iron) + notConsumable(dust, CalciumChloride) + fluidInputs(Latex.getFluid(1000)) + output(dust, Latex) + duration(2 * SECOND + 5 * TICK) + } + + COAGULATION_RECIPES.addRecipe { + notConsumable(stick, Iron) + notConsumable(SulfuricAcid.getFluid(1)) + fluidInputs(Latex.getFluid(1000)) + output(dust, Latex) + duration(1 * SECOND) + } + + COAGULATION_RECIPES.addRecipe { + notConsumable(stick, Iron) + notConsumable(AceticAcid.getFluid(1)) + fluidInputs(Latex.getFluid(1000)) + output(dust, Latex) + duration(5 * TICK) + } // Disabled vanilla Alloy Smelter recipes of Rubber ingot, only allowed used // vulcanization processing to get rubbers, same as this, chemical reactor is // also not allowed yet. - GTRecipeHandler.removeRecipesByInputs(ALLOY_SMELTER_RECIPES, + ALLOY_SMELTER_RECIPES.removeRecipe( OreDictUnifier.get(dust, Sulfur), OreDictUnifier.get(dust, RawRubber, 3)) GTLiteRecipeHandler.removeChemicalRecipes(arrayOf( @@ -174,152 +174,152 @@ internal object RubbersChain // Add rubber component recipes. for (catalyst in arrayOf(Zincite, Magnesia)) { - // Rubber Ingot - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_INGOT) - .input(dust, Latex, 4) - .input(dust, Sulfur) - .output(ingot, Rubber, 4) - .EUt(VA[ULV]) - .duration(20 * SECOND) - .buildAndRegister() - - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_INGOT) - .input(dust, Polyisoprene, 2) - .input(dust, Sulfur) - .output(ingot, Rubber, 8) - .EUt(VA[ULV]) - .duration(10 * SECOND) - .buildAndRegister() - - // Rubber Plate - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_PLATE) - .input(dust, Latex, 4) - .input(dust, Sulfur) - .output(plate, Rubber, 4) - .EUt(VA[ULV]) - .duration(20 * SECOND) - .buildAndRegister() - - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_PLATE) - .input(dust, Polyisoprene, 2) - .input(dust, Sulfur) - .output(plate, Rubber, 8) - .EUt(VA[ULV]) - .duration(10 * SECOND) - .buildAndRegister() - - // Rubber Rod - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_ROD) - .input(dust, Latex, 4) - .input(dust, Sulfur) - .output(stick, Rubber, 8) - .EUt(VA[ULV]) - .duration(20 * SECOND) - .buildAndRegister() - - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_ROD) - .input(dust, Polyisoprene, 2) - .input(dust, Sulfur) - .output(stick, Rubber, 16) - .EUt(VA[ULV]) - .duration(10 * SECOND) - .buildAndRegister() - - // Rubber Ring - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_RING) - .input(dust, Latex, 4) - .input(dust, Sulfur) - .output(ring, Rubber, 16) - .EUt(VA[ULV]) - .duration(20 * SECOND) - .buildAndRegister() - - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_RING) - .input(dust, Polyisoprene, 2) - .input(dust, Sulfur) - .output(ring, Rubber, 32) - .EUt(VA[ULV]) - .duration(10 * SECOND) - .buildAndRegister() - - // Rubber Foil - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_FOIL) - .input(dust, Latex, 4) - .input(dust, Sulfur) - .output(foil, Rubber, 16) - .EUt(VA[ULV]) - .duration(20 * SECOND) - .buildAndRegister() - - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_FOIL) - .input(dust, Polyisoprene, 2) - .input(dust, Sulfur) - .output(foil, Rubber, 32) - .EUt(VA[ULV]) - .duration(10 * SECOND) - .buildAndRegister() - - // Rubber Bolt - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_BOLT) - .input(dust, Latex, 4) - .input(dust, Sulfur) - .output(bolt, Rubber, 32) - .EUt(VA[ULV]) - .duration(20 * SECOND) - .buildAndRegister() - - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_BOLT) - .input(dust, Polyisoprene, 2) - .input(dust, Sulfur) - .output(bolt, Rubber, 64) - .EUt(VA[ULV]) - .duration(10 * SECOND) - .buildAndRegister() - - // Rubber Gear - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_GEAR) - .input(dust, Latex, 4) - .input(dust, Sulfur) - .output(gear, Rubber, 4) - .EUt(VA[ULV]) - .duration(20 * SECOND) - .buildAndRegister() - - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_GEAR) - .input(dust, Polyisoprene, 2) - .input(dust, Sulfur) - .output(gear, Rubber, 8) - .EUt(VA[ULV]) - .duration(10 * SECOND) - .buildAndRegister() + // Ingot + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_INGOT) + input(dust, Latex, 4) + input(dust, Sulfur) + output(ingot, Rubber, 4) + EUt(VA[ULV]) + duration(20 * SECOND) + } + + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_INGOT) + input(dust, Polyisoprene, 2) + input(dust, Sulfur) + output(ingot, Rubber, 8) + EUt(VA[ULV]) + duration(10 * SECOND) + } + + // Plate + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_PLATE) + input(dust, Latex, 4) + input(dust, Sulfur) + output(plate, Rubber, 4) + EUt(VA[ULV]) + duration(20 * SECOND) + } + + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_PLATE) + input(dust, Polyisoprene, 2) + input(dust, Sulfur) + output(plate, Rubber, 8) + EUt(VA[ULV]) + duration(10 * SECOND) + } + + // Stick + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_ROD) + input(dust, Latex, 4) + input(dust, Sulfur) + output(stick, Rubber, 8) + EUt(VA[ULV]) + duration(20 * SECOND) + } + + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_ROD) + input(dust, Polyisoprene, 2) + input(dust, Sulfur) + output(stick, Rubber, 16) + EUt(VA[ULV]) + duration(10 * SECOND) + } + + // Ring + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_RING) + input(dust, Latex, 4) + input(dust, Sulfur) + output(ring, Rubber, 16) + EUt(VA[ULV]) + duration(20 * SECOND) + } + + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_RING) + input(dust, Polyisoprene, 2) + input(dust, Sulfur) + output(ring, Rubber, 32) + EUt(VA[ULV]) + duration(10 * SECOND) + } + + // Foil + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_FOIL) + input(dust, Latex, 4) + input(dust, Sulfur) + output(foil, Rubber, 16) + EUt(VA[ULV]) + duration(20 * SECOND) + } + + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_FOIL) + input(dust, Polyisoprene, 2) + input(dust, Sulfur) + output(foil, Rubber, 32) + EUt(VA[ULV]) + duration(10 * SECOND) + } + + // Bolt + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_BOLT) + input(dust, Latex, 4) + input(dust, Sulfur) + output(bolt, Rubber, 32) + EUt(VA[ULV]) + duration(20 * SECOND) + } + + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_BOLT) + input(dust, Polyisoprene, 2) + input(dust, Sulfur) + output(bolt, Rubber, 64) + EUt(VA[ULV]) + duration(10 * SECOND) + } + + // Gear + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_GEAR) + input(dust, Latex, 4) + input(dust, Sulfur) + output(gear, Rubber, 4) + EUt(VA[ULV]) + duration(20 * SECOND) + } + + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_GEAR) + input(dust, Polyisoprene, 2) + input(dust, Sulfur) + output(gear, Rubber, 8) + EUt(VA[ULV]) + duration(10 * SECOND) + } } } @@ -329,435 +329,437 @@ internal object RubbersChain // Deleted raw styrene butadiene rubber to styrene butadiene rubber chemistry reaction recipes. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, RawStyreneButadieneRubber, 9), - OreDictUnifier.get(dust, Sulfur))) + OreDictUnifier.get(dust, Sulfur))) // Add styrene butadiene rubber component recipes. for (catalyst in arrayOf(Zincite, Magnesia)) { - // Styrene Butadiene Rubber Ingot - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_INGOT) - .input(dust, RawStyreneButadieneRubber, 4) - .input(dust, Sulfur) - .output(ingot, StyreneButadieneRubber, 4) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Styrene Butadiene Rubber Plate - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_PLATE) - .input(dust, RawStyreneButadieneRubber, 4) - .input(dust, Sulfur) - .output(plate, StyreneButadieneRubber, 4) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Styrene Butadiene Rubber Rod - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_ROD) - .input(dust, RawStyreneButadieneRubber, 4) - .input(dust, Sulfur) - .output(stick, StyreneButadieneRubber, 8) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Styrene Butadiene Rubber Ring - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_RING) - .input(dust, RawStyreneButadieneRubber, 4) - .input(dust, Sulfur) - .output(ring, StyreneButadieneRubber, 16) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Styrene Butadiene Rubber Foil - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_FOIL) - .input(dust, RawStyreneButadieneRubber, 4) - .input(dust, Sulfur) - .output(foil, StyreneButadieneRubber, 16) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() + // Ingot + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_INGOT) + input(dust, RawStyreneButadieneRubber, 4) + input(dust, Sulfur) + output(ingot, StyreneButadieneRubber, 4) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Plate + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_PLATE) + input(dust, RawStyreneButadieneRubber, 4) + input(dust, Sulfur) + output(plate, StyreneButadieneRubber, 4) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Stick + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_ROD) + input(dust, RawStyreneButadieneRubber, 4) + input(dust, Sulfur) + output(stick, StyreneButadieneRubber, 8) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Ring + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_RING) + input(dust, RawStyreneButadieneRubber, 4) + input(dust, Sulfur) + output(ring, StyreneButadieneRubber, 16) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Foil + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_FOIL) + input(dust, RawStyreneButadieneRubber, 4) + input(dust, Sulfur) + output(foil, StyreneButadieneRubber, 16) + EUt(VA[LV]) + duration(30 * SECOND) + } } // Deleted raw silicone rubber (polydimethylsiloxane) to silicone rubber chemistry reaction recipes. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Polydimethylsiloxane, 9), - OreDictUnifier.get(dust, Sulfur))) + OreDictUnifier.get(dust, Sulfur))) // Add silicone rubber component recipes. for (catalyst in arrayOf(Zincite, Magnesia)) { - // Silicone Rubber Ingot - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_INGOT) - .input(dust, Polydimethylsiloxane, 4) - .input(dust, Sulfur) - .output(ingot, SiliconeRubber, 4) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Silicone Rubber Plate - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_PLATE) - .input(dust, Polydimethylsiloxane, 4) - .input(dust, Sulfur) - .output(plate, SiliconeRubber, 4) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Silicone Rubber Rod - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_ROD) - .input(dust, Polydimethylsiloxane, 4) - .input(dust, Sulfur) - .output(stick, SiliconeRubber, 8) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Silicone Rubber Ring - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_RING) - .input(dust, Polydimethylsiloxane, 4) - .input(dust, Sulfur) - .output(ring, SiliconeRubber, 16) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Silicone Rubber Foil - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_FOIL) - .input(dust, Polydimethylsiloxane, 4) - .input(dust, Sulfur) - .output(foil, SiliconeRubber, 16) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() - - // Silicone Rubber Gear - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_GEAR) - .input(dust, Polydimethylsiloxane, 4) - .input(dust, Sulfur) - .output(gear, SiliconeRubber, 4) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() + // Ingot + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_INGOT) + input(dust, Polydimethylsiloxane, 4) + input(dust, Sulfur) + output(ingot, SiliconeRubber, 4) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Plate + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_PLATE) + input(dust, Polydimethylsiloxane, 4) + input(dust, Sulfur) + output(plate, SiliconeRubber, 4) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Stick + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_ROD) + input(dust, Polydimethylsiloxane, 4) + input(dust, Sulfur) + output(stick, SiliconeRubber, 8) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Ring + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_RING) + input(dust, Polydimethylsiloxane, 4) + input(dust, Sulfur) + output(ring, SiliconeRubber, 16) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Foil + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_FOIL) + input(dust, Polydimethylsiloxane, 4) + input(dust, Sulfur) + output(foil, SiliconeRubber, 16) + EUt(VA[LV]) + duration(30 * SECOND) + } + + // Gear + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_GEAR) + input(dust, Polydimethylsiloxane, 4) + input(dust, Sulfur) + output(gear, SiliconeRubber, 4) + EUt(VA[LV]) + duration(30 * SECOND) + } } } private fun advancedSyntheticRubberProcess() { - // PPF Rubber chain. + // region PPF Rubber Processing // 6C + 3POCl3 + 3NH4Cl -> Cl6N3P3 + 6HCl + 3H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Carbon, 6) - .input(dust, AmmoniumChloride, 6) // Special chemistry which with x2 as 1x amount, not 6 as 1x amount. - .fluidInputs(PhosphorylChloride.getFluid(3000)) - .fluidOutputs(PhosphonitrilicChlorideTrimer.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(6000)) - .fluidOutputs(Steam.getFluid(3 * SU)) - .EUt(VA[EV]) - .duration(4 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Carbon, 6) + input(dust, AmmoniumChloride, 6) + fluidInputs(PhosphorylChloride.getFluid(3000)) + fluidOutputs(PhosphonitrilicChlorideTrimer.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(6000)) + fluidOutputs(Steam.getFluid(3 * SU)) + EUt(VA[EV]) + duration(4 * SECOND) + } // Na + F -> NaF - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Sodium) - .fluidInputs(Fluorine.getFluid(1000)) - .output(dust, SodiumFluoride, 2) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Sodium) + fluidInputs(Fluorine.getFluid(1000)) + output(dust, SodiumFluoride, 2) + EUt(VA[LV]) + duration(4 * SECOND) + } // NaF + C2H6O + 2F -> NaC2H4OF3 + 2H - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, SodiumFluoride, 2) - .fluidInputs(Ethanol.getFluid(1000)) - .fluidInputs(Fluorine.getFluid(2000)) - .output(dust, SodiumTrifluoroethanolate, 11) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[EV]) - .duration(8 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, SodiumFluoride, 2) + fluidInputs(Ethanol.getFluid(1000)) + fluidInputs(Fluorine.getFluid(2000)) + output(dust, SodiumTrifluoroethanolate, 11) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[EV]) + duration(8 * SECOND) + } // C6H6 + 2F -> C6H5F + HF - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Benzene.getFluid(1000)) - .fluidInputs(Fluorine.getFluid(2000)) - .fluidOutputs(Fluorobenzene.getFluid(1000)) - .fluidOutputs(HydrofluoricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Benzene.getFluid(1000)) + fluidInputs(Fluorine.getFluid(2000)) + fluidOutputs(Fluorobenzene.getFluid(1000)) + fluidOutputs(HydrofluoricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(3 * SECOND) + } // 2C6H5F + 6HF + O -> C5H4F8O + 2C3H6 - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(BLACKLIGHT) - .fluidInputs(Fluorobenzene.getFluid(2000)) - .fluidInputs(HydrofluoricAcid.getFluid(6000)) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(OctafluoroPentanol.getFluid(1000)) - .fluidOutputs(Propene.getFluid(2000)) - .EUt(VA[ZPM]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(BLACKLIGHT) + fluidInputs(Fluorobenzene.getFluid(2000)) + fluidInputs(HydrofluoricAcid.getFluid(6000)) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(OctafluoroPentanol.getFluid(1000)) + fluidOutputs(Propene.getFluid(2000)) + EUt(VA[ZPM]) + duration(15 * SECOND) + } // NaC2H4OF3 + Cl6N3P3 + 4C5H4F8O -> (CH2CF3)6(CH2C3F7)2(C2F4)2(NPO)4O4 + NaF (cycle) + 3POCl3 (cycle) - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumTrifluoroethanolate, 11) - .fluidInputs(PhosphonitrilicChlorideTrimer.getFluid(1000)) - .fluidInputs(OctafluoroPentanol.getFluid(4000)) - .output(dust, RawPolyphosphonitrileFluoroRubber, 64) - .output(dust, RawPolyphosphonitrileFluoroRubber, 32) - .output(dust, SodiumFluoride, 2) - .fluidOutputs(PhosphorylChloride.getFluid(3000)) - .EUt(VA[UV]) - .duration(20 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumTrifluoroethanolate, 11) + fluidInputs(PhosphonitrilicChlorideTrimer.getFluid(1000)) + fluidInputs(OctafluoroPentanol.getFluid(4000)) + output(dust, RawPolyphosphonitrileFluoroRubber, 64) + output(dust, RawPolyphosphonitrileFluoroRubber, 32) + output(dust, SodiumFluoride, 2) + fluidOutputs(PhosphorylChloride.getFluid(3000)) + EUt(VA[UV]) + duration(20 * SECOND) + } // Add polyphosphonitrile fluoro rubber component recipes. for (catalyst in arrayOf(Zincite, Magnesia)) { - // Polyphosphonitrile Fluoro Rubber Ingot - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_INGOT) - .input(dust, RawPolyphosphonitrileFluoroRubber, 4) - .input(dust, Sulfur) - .output(ingot, PolyphosphonitrileFluoroRubber, 4) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - - // Polyphosphonitrile Fluoro Rubber Plate - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_PLATE) - .input(dust, RawPolyphosphonitrileFluoroRubber, 4) - .input(dust, Sulfur) - .output(plate, PolyphosphonitrileFluoroRubber, 4) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - - // Polyphosphonitrile Fluoro Rubber Rod - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_ROD) - .input(dust, RawPolyphosphonitrileFluoroRubber, 4) - .input(dust, Sulfur) - .output(stick, PolyphosphonitrileFluoroRubber, 8) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - - // Polyphosphonitrile Fluoro Rubber Ring - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_RING) - .input(dust, RawPolyphosphonitrileFluoroRubber, 4) - .input(dust, Sulfur) - .output(ring, PolyphosphonitrileFluoroRubber, 16) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - - // Polyphosphonitrile Fluoro Rubber Foil - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_FOIL) - .input(dust, RawPolyphosphonitrileFluoroRubber, 4) - .input(dust, Sulfur) - .output(foil, PolyphosphonitrileFluoroRubber, 16) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() + // Ingot + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_INGOT) + input(dust, RawPolyphosphonitrileFluoroRubber, 4) + input(dust, Sulfur) + output(ingot, PolyphosphonitrileFluoroRubber, 4) + EUt(VA[HV]) + duration(40 * SECOND) + } + + // Plate + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_PLATE) + input(dust, RawPolyphosphonitrileFluoroRubber, 4) + input(dust, Sulfur) + output(plate, PolyphosphonitrileFluoroRubber, 4) + EUt(VA[HV]) + duration(40 * SECOND) + } + + // Stick + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_ROD) + input(dust, RawPolyphosphonitrileFluoroRubber, 4) + input(dust, Sulfur) + output(stick, PolyphosphonitrileFluoroRubber, 8) + EUt(VA[HV]) + duration(40 * SECOND) + } + + // Ring + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_RING) + input(dust, RawPolyphosphonitrileFluoroRubber, 4) + input(dust, Sulfur) + output(ring, PolyphosphonitrileFluoroRubber, 16) + EUt(VA[HV]) + duration(40 * SECOND) + } + + // Foil + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_FOIL) + input(dust, RawPolyphosphonitrileFluoroRubber, 4) + input(dust, Sulfur) + output(foil, PolyphosphonitrileFluoroRubber, 16) + EUt(VA[HV]) + duration(40 * SECOND) + } } - // PTMEG rubber chain. + // endregion + + // region PTMEG Rubber Processing // C7H8 + 2HNO3 -> C7H6N2O4 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Toluene.getFluid(1000)) - .fluidInputs(NitricAcid.getFluid(2000)) - .fluidOutputs(Dinitrotoluene.getFluid(1000)) - .EUt(VA[HV]) - .duration(25 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Toluene.getFluid(1000)) + fluidInputs(NitricAcid.getFluid(2000)) + fluidOutputs(Dinitrotoluene.getFluid(1000)) + EUt(VA[HV]) + duration(25 * SECOND) + } // C7H6N2O4 + 4H -> C6H3(NH2)2CH3 - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Dinitrotoluene.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(4000)) - .fluidOutputs(Diaminotoluene.getFluid(1000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Dinitrotoluene.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(4000)) + fluidOutputs(Diaminotoluene.getFluid(1000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // CO + 2Cl -> COCl2 - MIXER_RECIPES.recipeBuilder() - .fluidInputs(CarbonMonoxide.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(2000)) - .fluidOutputs(Phosgene.getFluid(1000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(CarbonMonoxide.getFluid(1000)) + fluidInputs(Chlorine.getFluid(2000)) + fluidOutputs(Phosgene.getFluid(1000)) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } // C6H3(NH2)2CH3 + 2COCl2 -> CH3C6H3(NCO)2 - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Diaminotoluene.getFluid(1000)) - .fluidInputs(Phosgene.getFluid(2000)) - .fluidOutputs(TolueneDiisocyanate.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(4000)) - .EUt(VA[HV]) - .duration(45 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Diaminotoluene.getFluid(1000)) + fluidInputs(Phosgene.getFluid(2000)) + fluidOutputs(TolueneDiisocyanate.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(4000)) + EUt(VA[HV]) + duration(45 * SECOND) + } // (CH2)4O + H2O -> (C4H8O)OH2 - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, SodiumBisulfate) // as initiator. - .fluidInputs(Tetrahydrofuran.getFluid(L)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(Polytetrahydrofuran.getFluid(L)) - .EUt(VA[MV]) - .duration(16 * SECOND) - .buildAndRegister() - - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, SodiumBisulfate) // as initiator. - .fluidInputs(Tetrahydrofuran.getFluid(L)) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(Polytetrahydrofuran.getFluid(216)) // 1.5L - .EUt(VA[MV]) - .duration(16 * SECOND) - .buildAndRegister() - - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .notConsumable(dust, SodiumBisulfate) - .fluidInputs(Tetrahydrofuran.getFluid(2160)) - .fluidInputs(Water.getFluid(7500)) - .fluidInputs(TitaniumTetrachloride.getFluid(100)) - .fluidOutputs(Polytetrahydrofuran.getFluid(3240)) - .EUt(VA[MV]) - .duration(1 * MINUTE + 20 * SECOND) - .buildAndRegister() - - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .notConsumable(dust, SodiumBisulfate) - .fluidInputs(Tetrahydrofuran.getFluid(2160)) - .fluidInputs(DistilledWater.getFluid(7500)) - .fluidInputs(TitaniumTetrachloride.getFluid(100)) - .fluidOutputs(Polytetrahydrofuran.getFluid(4320)) - .EUt(VA[MV]) - .duration(1 * MINUTE + 20 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, SodiumBisulfate) // as initiator. + fluidInputs(Tetrahydrofuran.getFluid(L)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(Polytetrahydrofuran.getFluid(L)) + EUt(VA[MV]) + duration(16 * SECOND) + } + + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, SodiumBisulfate) // as initiator. + fluidInputs(Tetrahydrofuran.getFluid(L)) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(Polytetrahydrofuran.getFluid(216)) // 1.5L + EUt(VA[MV]) + duration(16 * SECOND) + } + + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + notConsumable(dust, SodiumBisulfate) + fluidInputs(Tetrahydrofuran.getFluid(2160)) + fluidInputs(Water.getFluid(7500)) + fluidInputs(TitaniumTetrachloride.getFluid(100)) + fluidOutputs(Polytetrahydrofuran.getFluid(3240)) + EUt(VA[MV]) + duration(1 * MINUTE + 20 * SECOND) + } + + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + notConsumable(dust, SodiumBisulfate) + fluidInputs(Tetrahydrofuran.getFluid(2160)) + fluidInputs(DistilledWater.getFluid(7500)) + fluidInputs(TitaniumTetrachloride.getFluid(100)) + fluidOutputs(Polytetrahydrofuran.getFluid(4320)) + EUt(VA[MV]) + duration(1 * MINUTE + 20 * SECOND) + } // (C4H8O)OH2 + 3CH3C6H3(NCO)2 + 2H -> (CONH)2(C6H4)2CH2(C4O) - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Polytetrahydrofuran.getFluid(1000)) - .fluidInputs(TolueneDiisocyanate.getFluid(3000)) - .fluidInputs(Hydrogen.getFluid(2000)) - .fluidOutputs(TolueneTetramethylDiisocyanate.getFluid(2000)) - .EUt(VA[IV]) - .duration(1 * MINUTE) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Polytetrahydrofuran.getFluid(1000)) + fluidInputs(TolueneDiisocyanate.getFluid(3000)) + fluidInputs(Hydrogen.getFluid(2000)) + fluidOutputs(TolueneTetramethylDiisocyanate.getFluid(2000)) + EUt(VA[IV]) + duration(1 * MINUTE) + } // (CONH)2(C6H4)2CH2(C4O) + C4H8(OH)2 -> (CONH)2(C6H4)2CH2(C4O)HO(CH2)4OH - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(TolueneTetramethylDiisocyanate.getFluid(4000)) - .fluidInputs(Butanediol.getFluid(1000)) - .output(dust, RawPolytetramethyleneGlycolRubber, 53) - .EUt(VA[UV]) - .duration(30 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(TolueneTetramethylDiisocyanate.getFluid(4000)) + fluidInputs(Butanediol.getFluid(1000)) + output(dust, RawPolytetramethyleneGlycolRubber, 53) + EUt(VA[UV]) + duration(30 * SECOND) + } // Add polytetramethylene glycol rubber component recipes. for (catalyst in arrayOf(Zincite, Magnesia)) { - // Polytetramethylene Glycol Rubber Ingot - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_INGOT) - .input(dust, RawPolytetramethyleneGlycolRubber, 4) - .input(dust, Sulfur) - .output(ingot, PolytetramethyleneGlycolRubber, 4) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - - // Polytetramethylene Glycol Rubber Plate - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_PLATE) - .input(dust, RawPolytetramethyleneGlycolRubber, 4) - .input(dust, Sulfur) - .output(plate, PolytetramethyleneGlycolRubber, 4) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - - // Polytetramethylene Glycol Rubber Rod - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_ROD) - .input(dust, RawPolytetramethyleneGlycolRubber, 4) - .input(dust, Sulfur) - .output(stick, PolytetramethyleneGlycolRubber, 8) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - - // Polytetramethylene Glycol Rubber Ring - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_RING) - .input(dust, RawPolytetramethyleneGlycolRubber, 4) - .input(dust, Sulfur) - .output(ring, PolytetramethyleneGlycolRubber, 16) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - - // Polytetramethylene Glycol Rubber Foil - VULCANIZATION_RECIPES.recipeBuilder() - .notConsumable(dust, catalyst) - .notConsumable(SHAPE_EXTRUDER_FOIL) - .input(dust, RawPolytetramethyleneGlycolRubber, 4) - .input(dust, Sulfur) - .output(foil, PolytetramethyleneGlycolRubber, 16) - .EUt(VA[HV]) - .duration(40 * SECOND) - .buildAndRegister() - + // Ingot + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_INGOT) + input(dust, RawPolytetramethyleneGlycolRubber, 4) + input(dust, Sulfur) + output(ingot, PolytetramethyleneGlycolRubber, 4) + EUt(VA[HV]) + duration(40 * SECOND) + } + + // Plate + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_PLATE) + input(dust, RawPolytetramethyleneGlycolRubber, 4) + input(dust, Sulfur) + output(plate, PolytetramethyleneGlycolRubber, 4) + EUt(VA[HV]) + duration(40 * SECOND) + } + + // Stick + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_ROD) + input(dust, RawPolytetramethyleneGlycolRubber, 4) + input(dust, Sulfur) + output(stick, PolytetramethyleneGlycolRubber, 8) + EUt(VA[HV]) + duration(40 * SECOND) + } + + // Ring + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_RING) + input(dust, RawPolytetramethyleneGlycolRubber, 4) + input(dust, Sulfur) + output(ring, PolytetramethyleneGlycolRubber, 16) + EUt(VA[HV]) + duration(40 * SECOND) + } + + // Foil + VULCANIZATION_RECIPES.addRecipe { + notConsumable(dust, catalyst) + notConsumable(SHAPE_EXTRUDER_FOIL) + input(dust, RawPolytetramethyleneGlycolRubber, 4) + input(dust, Sulfur) + output(foil, PolytetramethyleneGlycolRubber, 16) + EUt(VA[HV]) + duration(40 * SECOND) + } } + // endregion } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RubidiumTitanateChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RubidiumTitanateChain.kt index 7b735f03c..7e02f5d8b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RubidiumTitanateChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/RubidiumTitanateChain.kt @@ -15,6 +15,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.RubidiumChloride @@ -29,35 +30,34 @@ internal object RubidiumTitanateChain fun init() { // Rb + Cl -> RbCl - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Rubidium) - .fluidInputs(Chlorine.getFluid(1000)) - .output(dust, RubidiumChloride, 2) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Rubidium) + fluidInputs(Chlorine.getFluid(1000)) + output(dust, RubidiumChloride, 2) + EUt(VA[LV]) + duration(2 * SECOND) + } // 2NaOH + TiO2 -> Na2TiO3 + H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, Rutile, 3) - .input(dust, SodiumHydroxide, 6) - .output(dust, SodiumTitanate, 6) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[EV]) - .duration(16 * TICK) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, Rutile, 3) + input(dust, SodiumHydroxide, 6) + output(dust, SodiumTitanate, 6) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[EV]) + duration(16 * TICK) + } // 2Na2TiO3 + 4RbCl -> Rb2TiO3 + 4NaCl - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, SodiumTitanate, 12) - .input(dust, RubidiumChloride, 8) - .output(dust, RubidiumTitanate, 6) - .output(dust, Salt, 8) - .EUt(VA[LuV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, SodiumTitanate, 12) + input(dust, RubidiumChloride, 8) + output(dust, RubidiumTitanate, 6) + output(dust, Salt, 8) + EUt(VA[LuV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ShirabonChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ShirabonChain.kt index d0dc6f8b2..70bb9da08 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ShirabonChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ShirabonChain.kt @@ -11,6 +11,8 @@ import gregtech.api.unification.ore.OrePrefix.block import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HighEnergyQuarkGluonPlasma @@ -20,7 +22,6 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.QuarkGluonPlasma import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Shirabon import gregtechlite.gtlitecore.common.block.GTLiteBlocks.LEPTONIC_CHARGE import gregtechlite.gtlitecore.common.block.GTLiteBlocks.QUANTUM_CHROMODYNAMIC_CHARGE -import net.minecraft.item.ItemStack internal object ShirabonChain { @@ -30,108 +31,107 @@ internal object ShirabonChain fun init() { // Tier 1 - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(block, Iron, 8) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidInputs(CosmicNeutronium.getFluid(L * 2)) - .fluidInputs(MetastableOganesson.getFluid(L * 8)) - .fluidInputs(PreciousMetalAlloy.getFluid(L * 16)) - .fluidInputs(QuarkGluonPlasma.getFluid(5000)) - .output(block, Neutronium, 8) - .fluidOutputs(Shirabon.getFluid(L * 4)) - .EUt(VA[UEV]) - .duration(1 * MINUTE) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(block, Iron, 8) + inputs(LEPTONIC_CHARGE) + fluidInputs(CosmicNeutronium.getFluid(L * 2)) + fluidInputs(MetastableOganesson.getFluid(L * 8)) + fluidInputs(PreciousMetalAlloy.getFluid(L * 16)) + fluidInputs(QuarkGluonPlasma.getFluid(5000)) + output(block, Neutronium, 8) + fluidOutputs(Shirabon.getFluid(L * 4)) + EUt(VA[UEV]) + duration(1 * MINUTE) + } - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(block, Iron, 8) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidInputs(CosmicNeutronium.getFluid(L * 2)) - .fluidInputs(MetastableOganesson.getFluid(L * 8)) - .fluidInputs(PreciousMetalAlloy.getFluid(L * 16)) - .fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(500)) - .output(block, Neutronium, 8) - .fluidOutputs(Shirabon.getFluid(L * 4)) - .EUt(VA[UEV]) - .duration(1 * MINUTE) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(block, Iron, 8) + inputs(LEPTONIC_CHARGE) + fluidInputs(CosmicNeutronium.getFluid(L * 2)) + fluidInputs(MetastableOganesson.getFluid(L * 8)) + fluidInputs(PreciousMetalAlloy.getFluid(L * 16)) + fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(500)) + output(block, Neutronium, 8) + fluidOutputs(Shirabon.getFluid(L * 4)) + EUt(VA[UEV]) + duration(1 * MINUTE) + } // Tier 2 - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(block, Iron, 64) - .input(block, Iron, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(CosmicNeutronium.getFluid(L * 2 * 16)) - .fluidInputs(MetastableOganesson.getFluid(L * 8 * 16)) - .fluidInputs(PreciousMetalAlloy.getFluid(L * 16 * 16)) - .fluidInputs(QuarkGluonPlasma.getFluid(5000 * 16)) - .output(block, Neutronium, 64) - .output(block, Neutronium, 64) - .fluidOutputs(Shirabon.getFluid(L * 4 * 16)) - .EUt(VA[UIV]) - .duration(15 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(block, Iron, 64) + input(block, Iron, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(CosmicNeutronium.getFluid(L * 2 * 16)) + fluidInputs(MetastableOganesson.getFluid(L * 8 * 16)) + fluidInputs(PreciousMetalAlloy.getFluid(L * 16 * 16)) + fluidInputs(QuarkGluonPlasma.getFluid(5000 * 16)) + output(block, Neutronium, 64) + output(block, Neutronium, 64) + fluidOutputs(Shirabon.getFluid(L * 4 * 16)) + EUt(VA[UIV]) + duration(15 * SECOND) + } - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(block, Iron, 64) - .input(block, Iron, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(CosmicNeutronium.getFluid(L * 2 * 16)) - .fluidInputs(MetastableOganesson.getFluid(L * 8 * 16)) - .fluidInputs(PreciousMetalAlloy.getFluid(L * 16 * 16)) - .fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(500 * 16)) - .output(block, Neutronium, 64) - .output(block, Neutronium, 64) - .fluidOutputs(Shirabon.getFluid(L * 4 * 16)) - .EUt(VA[UIV]) - .duration(15 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(block, Iron, 64) + input(block, Iron, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(CosmicNeutronium.getFluid(L * 2 * 16)) + fluidInputs(MetastableOganesson.getFluid(L * 8 * 16)) + fluidInputs(PreciousMetalAlloy.getFluid(L * 16 * 16)) + fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(500 * 16)) + output(block, Neutronium, 64) + output(block, Neutronium, 64) + fluidOutputs(Shirabon.getFluid(L * 4 * 16)) + EUt(VA[UIV]) + duration(15 * SECOND) + } // Tier 3 - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(block, Iron, 64) - .input(block, Iron, 64) - .input(block, Iron, 64) - .input(block, Iron, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(CosmicNeutronium.getFluid(L * 2 * 32)) - .fluidInputs(MetastableOganesson.getFluid(L * 8 * 32)) - .fluidInputs(PreciousMetalAlloy.getFluid(L * 16 * 32)) - .fluidInputs(QuarkGluonPlasma.getFluid(5000 * 32)) - .output(block, Neutronium, 64) - .output(block, Neutronium, 64) - .output(block, Neutronium, 64) - .output(block, Neutronium, 64) - .fluidOutputs(Shirabon.getFluid(L * 4 * 32)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(block, Iron, 64) - .input(block, Iron, 64) - .input(block, Iron, 64) - .input(block, Iron, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(CosmicNeutronium.getFluid(L * 2 * 32)) - .fluidInputs(MetastableOganesson.getFluid(L * 8 * 32)) - .fluidInputs(PreciousMetalAlloy.getFluid(L * 16 * 32)) - .fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(500 * 32)) - .output(block, Neutronium, 64) - .output(block, Neutronium, 64) - .output(block, Neutronium, 64) - .output(block, Neutronium, 64) - .fluidOutputs(Shirabon.getFluid(L * 4 * 32)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + input(block, Iron, 64) + input(block, Iron, 64) + input(block, Iron, 64) + input(block, Iron, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(CosmicNeutronium.getFluid(L * 2 * 32)) + fluidInputs(MetastableOganesson.getFluid(L * 8 * 32)) + fluidInputs(PreciousMetalAlloy.getFluid(L * 16 * 32)) + fluidInputs(QuarkGluonPlasma.getFluid(5000 * 32)) + output(block, Neutronium, 64) + output(block, Neutronium, 64) + output(block, Neutronium, 64) + output(block, Neutronium, 64) + fluidOutputs(Shirabon.getFluid(L * 4 * 32)) + EUt(VA[UXV]) + duration(5 * SECOND) + } + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + input(block, Iron, 64) + input(block, Iron, 64) + input(block, Iron, 64) + input(block, Iron, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(CosmicNeutronium.getFluid(L * 2 * 32)) + fluidInputs(MetastableOganesson.getFluid(L * 8 * 32)) + fluidInputs(PreciousMetalAlloy.getFluid(L * 16 * 32)) + fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(500 * 32)) + output(block, Neutronium, 64) + output(block, Neutronium, 64) + output(block, Neutronium, 64) + output(block, Neutronium, 64) + fluidOutputs(Shirabon.getFluid(L * 4 * 32)) + EUt(VA[UXV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SilicaGelChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SilicaGelChain.kt index 775a46a15..e69d6eec6 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SilicaGelChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SilicaGelChain.kt @@ -14,6 +14,8 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SilicaGel import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SilicaGelBase @@ -26,27 +28,27 @@ internal object SilicaGelChain fun init() { // SiO2 + NaOH + HCl + H2O -> (SiNa(OH)O2)(HCl)(H2O) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, SiliconDioxide, 3) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .fluidInputs(Steam.getFluid(1000)) - .fluidOutputs(SilicaGelBase.getFluid(1000)) - .EUt(VA[MV]) - .duration(3 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, SiliconDioxide, 3) + input(dust, SodiumHydroxide, 3) + fluidInputs(HydrochloricAcid.getFluid(1000)) + fluidInputs(Steam.getFluid(1000)) + fluidOutputs(SilicaGelBase.getFluid(1000)) + EUt(VA[MV]) + duration(3 * SECOND) + } // (SiNa(OH)O2)(HCl)(H2O) -> SiO2 + NaCl + 2H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(SilicaGelBase.getFluid(1000)) - .output(dust, SilicaGel, 3) - .output(dust, Salt, 2) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[HV]) - .duration(6 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(SilicaGelBase.getFluid(1000)) + output(dust, SilicaGel, 3) + output(dust, Salt, 2) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[HV]) + duration(6 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SiliconNitrideChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SiliconNitrideChain.kt index f56d9e0c1..e7cc26d11 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SiliconNitrideChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SiliconNitrideChain.kt @@ -18,6 +18,7 @@ import gregtech.api.unification.ore.OrePrefix.plate import gregtech.common.items.MetaItems.SHAPE_MOLD_PLATE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.PLASMA_CVD_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CubicSiliconNitride @@ -33,40 +34,40 @@ internal object SiliconNitrideChain fun init() { // Si + 3CH3Cl-> Si(CH3)Cl3 + C2H6 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Silicon) - .fluidInputs(Chloromethane.getFluid(3000)) - .fluidOutputs(Methyltrichlorosilane.getFluid(1000)) - .fluidOutputs(Ethane.getFluid(1000)) - .EUt(96) // MV - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Silicon) + fluidInputs(Chloromethane.getFluid(3000)) + fluidOutputs(Methyltrichlorosilane.getFluid(1000)) + fluidOutputs(Ethane.getFluid(1000)) + EUt(96) // MV + duration(12 * SECOND) + } // 3Si(CH3)Cl3 + 4HNO3 -> h-Si3N4 + 9HCl + C3H4O4 + 8O - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plate, Thallium) - .notConsumable(SHAPE_MOLD_PLATE) - .fluidInputs(Methyltrichlorosilane.getFluid(3000)) - .fluidInputs(NitricAcid.getFluid(4000)) - .fluidInputs(Argon.getPlasma(10000)) - .output(plate, HexagonalSiliconNitride) - .output(dust, MalonicAcid, 11) - .fluidOutputs(HydrochloricAcid.getFluid(9000)) - .fluidOutputs(Oxygen.getFluid(8000)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .temperature(1250) - .buildAndRegister() + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plate, Thallium) + notConsumable(SHAPE_MOLD_PLATE) + fluidInputs(Methyltrichlorosilane.getFluid(3000)) + fluidInputs(NitricAcid.getFluid(4000)) + fluidInputs(Argon.getPlasma(10000)) + output(plate, HexagonalSiliconNitride) + output(dust, MalonicAcid, 11) + fluidOutputs(HydrochloricAcid.getFluid(9000)) + fluidOutputs(Oxygen.getFluid(8000)) + EUt(VA[UV]) + duration(10 * SECOND) + temperature(1250) + } // h-Si3N4 -> c-Si3N4 - CVD_RECIPES.recipeBuilder() - .input(dust, HexagonalSiliconNitride) - .output(gem, CubicSiliconNitride) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .temperature(3501) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, HexagonalSiliconNitride) + output(gem, CubicSiliconNitride) + EUt(VA[UHV]) + duration(5 * SECOND) + temperature(3501) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SolarPanelChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SolarPanelChain.kt index 121bb74ac..f0309ae93 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SolarPanelChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SolarPanelChain.kt @@ -5,8 +5,6 @@ import gregtech.api.GTValues.IV import gregtech.api.GTValues.L import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.AUTOCLAVE_RECIPES import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES @@ -36,6 +34,9 @@ import gregtech.common.items.MetaItems.COVER_SOLAR_PANEL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EthyleneVinylAcetatePolymer @@ -55,80 +56,80 @@ object SolarPanelChain fun init() { // Si(CH3)Cl3 + 4H -> SiH4 + 3HCl + C - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Methyltrichlorosilane.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(4000)) - .output(dust, Carbon) - .fluidOutputs(Silane.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(3000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Methyltrichlorosilane.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(4000)) + output(dust, Carbon) + fluidOutputs(Silane.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(3000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // SiH4 + Na2O2 + 2Cl -> Si + 2NaCl + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, SodiumPeroxide, 4) - .fluidInputs(Silane.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, SolarGradeSilicon) - .output(dust, Salt, 4) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, SodiumPeroxide, 4) + fluidInputs(Silane.getFluid(1000)) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, SolarGradeSilicon) + output(dust, Salt, 4) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[HV]) + duration(8 * SECOND) + } // 3C2H4 + 2C4H6O2 -> (C2H4)3(C4H6O2)2 - AUTOCLAVE_RECIPES.recipeBuilder() - .input(round, Polyethylene, 27) - .fluidInputs(PolyvinylAcetate.getFluid(2000)) - .fluidOutputs(EthyleneVinylAcetatePolymer.getFluid(1000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + AUTOCLAVE_RECIPES.addRecipe { + input(round, Polyethylene, 27) + fluidInputs(PolyvinylAcetate.getFluid(2000)) + fluidOutputs(EthyleneVinylAcetatePolymer.getFluid(1000)) + EUt(VA[MV]) + duration(10 * SECOND) + cleanroom() + } // Deleted Solar-Grade Silicon EBF gas protective recipe. - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2), OreDictUnifier.get(dust, SolarGradeSilicon)), - arrayOf(Nitrogen.getFluid(1000))) + arrayOf(Nitrogen.getFluid(1000))) // Solar Panel ModHandler.removeRecipeByName("gregtech:solar_panel_basic") - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, SolarGradeSilicon, 4) - .input(circuit, Tier.ULV, 2) - .input(foil, Aluminium, 24) - .input(MICA_INSULATOR_FOIL, 32) - .input(dust, SilicaGel, 6) - .fluidInputs(Glue.getFluid(1000)) - .fluidInputs(AnnealedCopper.getFluid(L * 4)) - .fluidInputs(Polytetrafluoroethylene.getFluid(1000)) - .fluidInputs(EthyleneVinylAcetatePolymer.getFluid(500)) - .output(COVER_SOLAR_PANEL) - .EUt(VA[IV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(1) + input(plate, SolarGradeSilicon, 4) + input(circuit, Tier.ULV, 2) + input(foil, Aluminium, 24) + input(MICA_INSULATOR_FOIL, 32) + input(dust, SilicaGel, 6) + fluidInputs(Glue.getFluid(1000)) + fluidInputs(AnnealedCopper.getFluid(L * 4)) + fluidInputs(Polytetrafluoroethylene.getFluid(1000)) + fluidInputs(EthyleneVinylAcetatePolymer.getFluid(500)) + output(COVER_SOLAR_PANEL) + EUt(VA[IV]) + duration(10 * SECOND) + cleanroom() + } - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(plate, SolarGradeSilicon, 4) - .input(circuit, Tier.ULV, 2) - .input(foil, Aluminium, 24) - .input(POLYMER_INSULATOR_FOIL, 8) - .input(dust, SilicaGel, 6) - .fluidInputs(Glue.getFluid(1000)) - .fluidInputs(AnnealedCopper.getFluid(L * 4)) - .fluidInputs(Polytetrafluoroethylene.getFluid(1000)) - .fluidInputs(EthyleneVinylAcetatePolymer.getFluid(500)) - .output(COVER_SOLAR_PANEL) - .EUt(VA[IV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(2) + input(plate, SolarGradeSilicon, 4) + input(circuit, Tier.ULV, 2) + input(foil, Aluminium, 24) + input(POLYMER_INSULATOR_FOIL, 8) + input(dust, SilicaGel, 6) + fluidInputs(Glue.getFluid(1000)) + fluidInputs(AnnealedCopper.getFluid(L * 4)) + fluidInputs(Polytetrafluoroethylene.getFluid(1000)) + fluidInputs(EthyleneVinylAcetatePolymer.getFluid(500)) + output(COVER_SOLAR_PANEL) + EUt(VA[IV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // Remove all existed solar panel recipes yet. ModHandler.removeRecipeByName("gregtech:solar_panel_ulv") diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SuperheavyElementsChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SuperheavyElementsChain.kt index 0b70b620d..f9e41ab39 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SuperheavyElementsChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/SuperheavyElementsChain.kt @@ -5,7 +5,6 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.FLUID_SOLIDFICATION_RECIPES @@ -28,6 +27,8 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_INGOT import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.FleroviumYtterbiumPlasma import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MetastableFlerovium @@ -53,117 +54,115 @@ internal object SuperheavyElementsChain private fun hassiumProcess() { // Sc + Ti -> ScTi - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Scandium.getFluid(L)) - .fluidInputs(Titanium.getFluid(L)) - .fluidOutputs(ScandiumTitaniumMixture.getFluid(L * 2)) - .EUt(VA[ZPM]) - .duration(12 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Scandium.getFluid(L)) + fluidInputs(Titanium.getFluid(L)) + fluidOutputs(ScandiumTitaniumMixture.getFluid(L * 2)) + EUt(VA[ZPM]) + duration(12 * SECOND) + } // Ra + Rn -> RaRn - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Radium.getFluid(L)) - .fluidInputs(Radon.getFluid(125)) - .fluidOutputs(RadiumRadonMixture.getFluid(L * 2)) - .EUt(VA[ZPM]) - .duration(12 * SECOND) - .buildAndRegister() - - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + MIXER_RECIPES.addRecipe { + fluidInputs(Radium.getFluid(L)) + fluidInputs(Radon.getFluid(125)) + fluidOutputs(RadiumRadonMixture.getFluid(L * 2)) + EUt(VA[ZPM]) + duration(12 * SECOND) + } + + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, MetastableHassium), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, MetastableHassium), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Krypton.getFluid(10))) - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(MetastableHassium.getPlasma(L)) - .output(ingotHot, MetastableHassium) - .EUt(VA[UV]) - .duration(14 * SECOND) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(MetastableHassium.getPlasma(L)) + output(ingotHot, MetastableHassium) + EUt(VA[UV]) + duration(14 * SECOND) + } } private fun fleroviumProcess() { // U235 + U238 -> U235U238? - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Uranium235.getFluid(L)) - .fluidInputs(Uranium238.getFluid(L)) - .fluidOutputs(QuasifissioningPlasma.getPlasma(L * 2)) - .EUt(VA[ZPM]) - .duration(5 * SECOND) - .EUToStart(325_000_000L) // 325M EU, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Uranium235.getFluid(L)) + fluidInputs(Uranium238.getFluid(L)) + fluidOutputs(QuasifissioningPlasma.getPlasma(L * 2)) + EUt(VA[ZPM]) + duration(5 * SECOND) + EUToStart(325_000_000L) // 325M EU (MK3) + } // U235U238? -> FlYb? - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .fluidInputs(QuasifissioningPlasma.getPlasma(L * 4)) - .fluidOutputs(FleroviumYtterbiumPlasma.getPlasma(L * 4)) - .EUt(VA[ZPM]) - .duration(4 * SECOND) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + fluidInputs(QuasifissioningPlasma.getPlasma(L * 4)) + fluidOutputs(FleroviumYtterbiumPlasma.getPlasma(L * 4)) + EUt(VA[ZPM]) + duration(4 * SECOND) + } // FlYb? -> Fl + Yb - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(FleroviumYtterbiumPlasma.getPlasma(L * 4)) - .output(dust, Ytterbium, 2) - .fluidOutputs(MetastableFlerovium.getPlasma(L * 2)) - .EUt(VA[UV]) - .duration(2 * SECOND) - .buildAndRegister() - - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(FleroviumYtterbiumPlasma.getPlasma(L * 4)) + output(dust, Ytterbium, 2) + fluidOutputs(MetastableFlerovium.getPlasma(L * 2)) + EUt(VA[UV]) + duration(2 * SECOND) + } + + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, MetastableFlerovium), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, MetastableFlerovium), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Krypton.getFluid(10))) - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(MetastableFlerovium.getPlasma(L)) - .output(ingotHot, MetastableFlerovium) - .EUt(VA[IV]) - .duration(7 * SECOND + 15 * TICK) - .buildAndRegister() - + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(MetastableFlerovium.getPlasma(L)) + output(ingotHot, MetastableFlerovium) + EUt(VA[IV]) + duration(7 * SECOND + 15 * TICK) + } } private fun oganessonProcess() { // 2Ti + 2Cf -> TiCf (Og Breeding Base) - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Titanium.getFluid(L * 2)) - .fluidInputs(Californium.getFluid(L * 2)) - .fluidOutputs(OganessonBreedingBase.getFluid(L * 4)) - .EUt(VA[IV]) - .duration(6 * SECOND) - .buildAndRegister() - - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + MIXER_RECIPES.addRecipe { + fluidInputs(Titanium.getFluid(L * 2)) + fluidInputs(Californium.getFluid(L * 2)) + fluidOutputs(OganessonBreedingBase.getFluid(L * 4)) + EUt(VA[IV]) + duration(6 * SECOND) + } + + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, MetastableOganesson), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, MetastableOganesson), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Krypton.getFluid(10))) - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(MetastableOganesson.getPlasma(L)) - .output(ingotHot, MetastableOganesson) - .EUt(VA[ZPM]) - .duration(12 * SECOND + 15 * TICK) - .buildAndRegister() - + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(MetastableOganesson.getPlasma(L)) + output(ingotHot, MetastableOganesson) + EUt(VA[ZPM]) + duration(12 * SECOND + 15 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/TesseractsChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/TesseractsChain.kt index 7d08cf9ee..91ef3c204 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/TesseractsChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/TesseractsChain.kt @@ -6,14 +6,12 @@ import gregtech.api.GTValues.OpV import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.LASER_ENGRAVER_RECIPES import gregtech.api.recipes.RecipeMaps.MACERATOR_RECIPES import gregtech.api.recipes.ingredients.IntCircuitIngredient import gregtech.api.unification.OreDictUnifier -import gregtech.api.unification.material.MarkerMaterials +import gregtech.api.unification.material.MarkerMaterials.Tier import gregtech.api.unification.material.Materials.Duranium import gregtech.api.unification.material.Materials.Krypton import gregtech.api.unification.material.Materials.Technetium @@ -30,6 +28,10 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MATTER_RESHAPING_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.TOPOLOGICAL_ORDER_CHANGING_RECIPES @@ -63,7 +65,6 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ENERGISED_TESSERACT import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.QUANTUM_ANOMALY import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.RAW_TESSERACT import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.TIMEPIECE -import net.minecraft.item.ItemStack internal object TesseractsChain { @@ -80,262 +81,260 @@ internal object TesseractsChain private fun tesseractProcess() { - // Advanced recipes for Quantum Anomaly. - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(QUANTUM_ANOMALY) - .inputs(ItemStack(LEPTONIC_CHARGE)) - .fluidInputs(Duranium.getFluid(L)) - .fluidInputs(ResonantStrangeMeson.getFluid(250)) - .output(QUANTUM_ANOMALY, 4) - .EUt(VA[UIV]) - .duration(1 * MINUTE) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(QUANTUM_ANOMALY) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Tritanium.getFluid(L)) - .fluidInputs(ResonantStrangeMeson.getFluid(500)) - .output(QUANTUM_ANOMALY, 16) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(QUANTUM_ANOMALY) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Taranium.getFluid(L)) - .fluidInputs(ResonantStrangeMeson.getFluid(1000)) - .output(QUANTUM_ANOMALY, 64) - .EUt(VA[OpV]) - .duration(5 * SECOND) - .buildAndRegister() + // Copying recipes for Quantum Anomaly. + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(QUANTUM_ANOMALY) + inputs(LEPTONIC_CHARGE) + fluidInputs(Duranium.getFluid(L)) + fluidInputs(ResonantStrangeMeson.getFluid(250)) + output(QUANTUM_ANOMALY, 4) + EUt(VA[UIV]) + duration(1 * MINUTE) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(QUANTUM_ANOMALY) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Tritanium.getFluid(L)) + fluidInputs(ResonantStrangeMeson.getFluid(500)) + output(QUANTUM_ANOMALY, 16) + EUt(VA[UXV]) + duration(20 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + input(QUANTUM_ANOMALY) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Taranium.getFluid(L)) + fluidInputs(ResonantStrangeMeson.getFluid(1000)) + output(QUANTUM_ANOMALY, 64) + EUt(VA[OpV]) + duration(5 * SECOND) + } // Raw Tesseract - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stick, CosmicNeutronium, 8) - .input(stick, TantalumHafniumSeaborgiumCarbide, 8) - .input(stick, Tairitsium, 8) - .input(stick, ArceusAlloy2B, 8) - .input(plate, Abyssalloy, 24) - .input(screw, HastelloyK243, 16) - .input(circuit, MarkerMaterials.Tier.ZPM) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .output(RAW_TESSERACT, 4) - .EUt(VA[UXV]) - .duration(40 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stick, CosmicNeutronium, 12) - .input(stick, Tairitsium, 12) - .input(stick, TranscendentMetal, 8) - .input(plate, HastelloyK243, 24) - .input(screw, IncoloyMA813, 16) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .output(RAW_TESSERACT, 8) - .EUt(VA[OpV]) - .duration(10 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(stick, TranscendentMetal, 32) - .input(plate, Pikyonium64B, 24) - .input(screw, Zeron100, 16) - .input(QUANTUM_ANOMALY) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .output(RAW_TESSERACT, 16) - .EUt(VA[MAX]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(stick, CosmicNeutronium, 8) + input(stick, TantalumHafniumSeaborgiumCarbide, 8) + input(stick, Tairitsium, 8) + input(stick, ArceusAlloy2B, 8) + input(plate, Abyssalloy, 24) + input(screw, HastelloyK243, 16) + input(circuit, Tier.ZPM) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + output(RAW_TESSERACT, 4) + EUt(VA[UXV]) + duration(40 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(stick, CosmicNeutronium, 12) + input(stick, Tairitsium, 12) + input(stick, TranscendentMetal, 8) + input(plate, HastelloyK243, 24) + input(screw, IncoloyMA813, 16) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + output(RAW_TESSERACT, 8) + EUt(VA[OpV]) + duration(10 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + input(stick, TranscendentMetal, 32) + input(plate, Pikyonium64B, 24) + input(screw, Zeron100, 16) + input(QUANTUM_ANOMALY) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + output(RAW_TESSERACT, 16) + EUt(VA[MAX]) + duration(2 * SECOND + 10 * TICK) + } // Energised Tesseract - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(QUANTUM_ANOMALY) - .input(RAW_TESSERACT) - .output(ENERGISED_TESSERACT) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(QUANTUM_ANOMALY) + input(RAW_TESSERACT) + output(ENERGISED_TESSERACT) + EUt(VA[UXV]) + duration(30 * SECOND) + cleanroom() + } } private fun transcendentMetalProcess() { // Raw Tesseract -> Transcendent Metal dust - MACERATOR_RECIPES.recipeBuilder() - .input(RAW_TESSERACT) - .output(dust, TranscendentMetal, 8) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + input(RAW_TESSERACT) + output(dust, TranscendentMetal, 8) + EUt(VA[UXV]) + duration(5 * SECOND) + } // Transcendent Metal dust -> Transcendent Metal ingot - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, TranscendentMetal), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, TranscendentMetal), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Krypton.getFluid(10))) - GTRecipeHandler.removeRecipesByInputs(TOPOLOGICAL_ORDER_CHANGING_RECIPES, + TOPOLOGICAL_ORDER_CHANGING_RECIPES.removeRecipe( OreDictUnifier.get(dust, TranscendentMetal), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(TOPOLOGICAL_ORDER_CHANGING_RECIPES, + TOPOLOGICAL_ORDER_CHANGING_RECIPES.removeRecipe( OreDictUnifier.get(dust, TranscendentMetal), IntCircuitIngredient.getIntegratedCircuit(2)) - GTRecipeHandler.removeRecipesByInputs(TOPOLOGICAL_ORDER_CHANGING_RECIPES, + TOPOLOGICAL_ORDER_CHANGING_RECIPES.removeRecipe( OreDictUnifier.get(ingot, TranscendentMetal), IntCircuitIngredient.getIntegratedCircuit(4)) - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, TranscendentMetal) - .fluidInputs(Technetium.getPlasma(L * 4)) - .output(ingot, TranscendentMetal) - .fluidOutputs(Technetium.getFluid(L * 4)) - .EUt(VA[UXV]) - .duration(1 * MINUTE) - .blastFurnaceTemp(23500) - .buildAndRegister() - + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(dust, TranscendentMetal) + fluidInputs(Technetium.getPlasma(L * 4)) + output(ingot, TranscendentMetal) + fluidOutputs(Technetium.getFluid(L * 4)) + EUt(VA[UXV]) + duration(1 * MINUTE) + blastFurnaceTemp(23500) + } } private fun spaceTimeProcess() { // Space Time - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ENERGISED_TESSERACT) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Hypogen.getFluid(L * 8)) - .fluidInputs(Infinity.getFluid(L * 16)) - .fluidOutputs(SpaceTime.getFluid(L)) - .EUt(VA[UXV]) - .duration(40 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ENERGISED_TESSERACT) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Infinity.getFluid(L * 8)) - .fluidOutputs(SpaceTime.getFluid(L * 4)) - .EUt(VA[OpV]) - .duration(10 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ENERGISED_TESSERACT, 64) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(Infinity.getFluid(L * 8 * 64)) - .fluidOutputs(SpaceTime.getFluid(L * 4 * 64)) - .EUt(VA[MAX]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(4) + input(ENERGISED_TESSERACT) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Hypogen.getFluid(L * 8)) + fluidInputs(Infinity.getFluid(L * 16)) + fluidOutputs(SpaceTime.getFluid(L)) + EUt(VA[UXV]) + duration(40 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(5) + input(ENERGISED_TESSERACT) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Infinity.getFluid(L * 8)) + fluidOutputs(SpaceTime.getFluid(L * 4)) + EUt(VA[OpV]) + duration(10 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(6) + input(ENERGISED_TESSERACT, 64) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(Infinity.getFluid(L * 8 * 64)) + fluidOutputs(SpaceTime.getFluid(L * 4 * 64)) + EUt(VA[MAX]) + duration(2 * SECOND + 10 * TICK) + } } private fun primordialMatterProcess() { // Spatially Enlarged Fluid/Tachyon Rich Temporal Fluid - MATTER_RESHAPING_RECIPES.recipeBuilder() - .input(RAW_TESSERACT) - .input(QUANTUM_ANOMALY) - .fluidInputs(SpaceTime.getFluid(L * 20)) - .fluidOutputs(SpatiallyEnlargedFluid.getFluid(L * 10)) - .fluidOutputs(TachyonRichTemporalFluid.getFluid(L * 10)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + MATTER_RESHAPING_RECIPES.addRecipe { + input(RAW_TESSERACT) + input(QUANTUM_ANOMALY) + fluidInputs(SpaceTime.getFluid(L * 20)) + fluidOutputs(SpatiallyEnlargedFluid.getFluid(L * 10)) + fluidOutputs(TachyonRichTemporalFluid.getFluid(L * 10)) + EUt(VA[UXV]) + duration(10 * SECOND) + } // Spatially Enlarged Fluid/Tachyon Rich Temporal Fluid converting. - STELLAR_FORGE_RECIPES.recipeBuilder() - .notConsumable(ShieldingCore.SPACETIME_BENDING_CORE.stack) - .input(plateDense, Taranium) - .input(gem, CubicZirconia, 32) - .input(nanite, Universium) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 1024)) - .output(TIMEPIECE, 3) - .fluidOutputs(SpatiallyEnlargedFluid.getFluid(L * 1024)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .notConsumable(Manipulator.SPACETIME_CONTINUUM_RIPPER.stack) - .input(ENERGISED_TESSERACT, 2) - .input(TIMEPIECE, 16) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 4096)) - .fluidInputs(SpaceTime.getFluid(L * 1024)) - .output(RAW_TESSERACT) - .fluidOutputs(TachyonRichTemporalFluid.getFluid(L * 4096)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .notConsumable(Manipulator.SPACETIME_CONTINUUM_RIPPER.stack) - .input(ENERGISED_TESSERACT, 2) - .input(QUANTUM_ANOMALY, 16) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 4096)) - .fluidInputs(SpaceTime.getFluid(L * 1024)) - .output(RAW_TESSERACT) - .fluidOutputs(SpatiallyEnlargedFluid.getFluid(L * 4096)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + notConsumable(ShieldingCore.SPACETIME_BENDING_CORE.stack) + input(plateDense, Taranium) + input(gem, CubicZirconia, 32) + input(nanite, Universium) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 1024)) + output(TIMEPIECE, 3) + fluidOutputs(SpatiallyEnlargedFluid.getFluid(L * 1024)) + EUt(VA[UXV]) + duration(10 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + notConsumable(Manipulator.SPACETIME_CONTINUUM_RIPPER.stack) + input(ENERGISED_TESSERACT, 2) + input(TIMEPIECE, 16) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 4096)) + fluidInputs(SpaceTime.getFluid(L * 1024)) + output(RAW_TESSERACT) + fluidOutputs(TachyonRichTemporalFluid.getFluid(L * 4096)) + EUt(VA[UXV]) + duration(10 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + notConsumable(Manipulator.SPACETIME_CONTINUUM_RIPPER.stack) + input(ENERGISED_TESSERACT, 2) + input(QUANTUM_ANOMALY, 16) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 4096)) + fluidInputs(SpaceTime.getFluid(L * 1024)) + output(RAW_TESSERACT) + fluidOutputs(SpatiallyEnlargedFluid.getFluid(L * 4096)) + EUt(VA[UXV]) + duration(10 * SECOND) + } // Primordial Matter - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(1000)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(1000)) - .fluidInputs(Antimatter.getFluid(1000)) - .fluidInputs(ResonantStrangeMeson.getFluid(1000)) - .fluidOutputs(PrimordialMatter.getFluid(1000)) - .EUt(VA[UXV]) - .duration(40 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(1000 * 64)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(1000 * 64)) - .fluidInputs(Antimatter.getFluid(1000 * 64)) - .fluidInputs(ResonantStrangeMeson.getFluid(1000 * 64)) - .fluidOutputs(PrimordialMatter.getFluid(1000 * 64)) - .EUt(VA[OpV]) - .duration(10 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .inputs(ItemStack(QUANTUM_CHROMODYNAMIC_CHARGE)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(1000 * 256)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(1000 * 256)) - .fluidInputs(Antimatter.getFluid(1000 * 256)) - .fluidInputs(ResonantStrangeMeson.getFluid(1000 * 256)) - .fluidOutputs(PrimordialMatter.getFluid(1000 * 256)) - .EUt(VA[MAX]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(SpatiallyEnlargedFluid.getFluid(1000)) + fluidInputs(TachyonRichTemporalFluid.getFluid(1000)) + fluidInputs(Antimatter.getFluid(1000)) + fluidInputs(ResonantStrangeMeson.getFluid(1000)) + fluidOutputs(PrimordialMatter.getFluid(1000)) + EUt(VA[UXV]) + duration(40 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(SpatiallyEnlargedFluid.getFluid(1000 * 64)) + fluidInputs(TachyonRichTemporalFluid.getFluid(1000 * 64)) + fluidInputs(Antimatter.getFluid(1000 * 64)) + fluidInputs(ResonantStrangeMeson.getFluid(1000 * 64)) + fluidOutputs(PrimordialMatter.getFluid(1000 * 64)) + EUt(VA[OpV]) + duration(10 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + inputs(QUANTUM_CHROMODYNAMIC_CHARGE) + fluidInputs(SpatiallyEnlargedFluid.getFluid(1000 * 256)) + fluidInputs(TachyonRichTemporalFluid.getFluid(1000 * 256)) + fluidInputs(Antimatter.getFluid(1000 * 256)) + fluidInputs(ResonantStrangeMeson.getFluid(1000 * 256)) + fluidOutputs(PrimordialMatter.getFluid(1000 * 256)) + EUt(VA[MAX]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ThoriumYttriumGlassChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ThoriumYttriumGlassChain.kt index 59abbf8f1..340321836 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ThoriumYttriumGlassChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ThoriumYttriumGlassChain.kt @@ -8,6 +8,7 @@ import gregtech.api.unification.ore.OrePrefix.dustSmall import gregtech.common.items.MetaItems.SHAPE_MOLD_BLOCK import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ThoriumDioxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.YttriumOxide @@ -21,15 +22,15 @@ internal object ThoriumYttriumGlassChain fun init() { // Y2O3 + ThO2 -> Th-Y Glass - ROASTER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BLOCK) - .input(dustSmall, YttriumOxide, 2) - .input(dustSmall, ThoriumDioxide, 2) - .fluidInputs(Glass.getFluid(L)) - .outputs(GlassCasing.THORIUM_YTTRIUM.stack) - .EUt(VA[IV]) - .duration(40 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BLOCK) + input(dustSmall, YttriumOxide, 2) + input(dustSmall, ThoriumDioxide, 2) + fluidInputs(Glass.getFluid(L)) + outputs(GlassCasing.THORIUM_YTTRIUM.stack) + EUt(VA[IV]) + duration(40 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/YBCOChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/YBCOChain.kt index e99d3ce93..8bfc0937c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/YBCOChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/YBCOChain.kt @@ -6,7 +6,6 @@ import gregtech.api.GTValues.IV import gregtech.api.GTValues.LV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ARC_FURNACE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES @@ -33,6 +32,8 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES @@ -54,97 +55,96 @@ internal object YBCOChain { // Remove original YBCO dust recipe. GTLiteRecipeHandler.removeMixerRecipes( - arrayOf( - OreDictUnifier.get(dust, Yttrium), - OreDictUnifier.get(dust, Barium, 2), - OreDictUnifier.get(dust, Copper, 3), - IntCircuitIngredient.getIntegratedCircuit(2)), + arrayOf(OreDictUnifier.get(dust, Yttrium), + OreDictUnifier.get(dust, Barium, 2), + OreDictUnifier.get(dust, Copper, 3), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Oxygen.getFluid(7000))) // Y2O3 + 6HNO3 -> 2Y(NO3)3 + 3H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, YttriumOxide, 5) - .fluidInputs(NitricAcid.getFluid(6000)) - .output(dust, YttriumNitrate, 26) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[EV]) - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, YttriumOxide, 5) + fluidInputs(NitricAcid.getFluid(6000)) + output(dust, YttriumNitrate, 26) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[EV]) + duration(12 * SECOND) + } // Add another recipe of BaS because it is the semi-products of Naquadah Processing. // Ba + S -> BaS - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Barium) - .input(dust, Sulfur) - .output(dust, BariumSulfide, 2) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Barium) + input(dust, Sulfur) + output(dust, BariumSulfide, 2) + EUt(VA[LV]) + duration(4 * SECOND) + } // BaS + 2HNO3 -> Ba(NO3)2 + H2S - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, BariumSulfide, 2) - .fluidInputs(NitricAcid.getFluid(2000)) - .output(dust, BariumNitrate, 9) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, BariumSulfide, 2) + fluidInputs(NitricAcid.getFluid(2000)) + output(dust, BariumNitrate, 9) + EUt(VA[HV]) + duration(10 * SECOND) + } // Cu + 2HNO3 -> Cu(NO3)2 + 2H - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Copper) - .fluidInputs(NitricAcid.getFluid(2000)) - .output(dust, CopperNitrate, 9) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Copper) + fluidInputs(NitricAcid.getFluid(2000)) + output(dust, CopperNitrate, 9) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[MV]) + duration(8 * SECOND) + } // CuO + 2HNO3 -> Cu(NO3)2 + H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Tenorite, 2) - .fluidInputs(NitricAcid.getFluid(2000)) - .output(dust, CopperNitrate, 9) - .fluidOutputs(Steam.getFluid(1 * SU)) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Tenorite, 2) + fluidInputs(NitricAcid.getFluid(2000)) + output(dust, CopperNitrate, 9) + fluidOutputs(Steam.getFluid(1 * SU)) + EUt(VA[MV]) + duration(8 * SECOND) + } // Cu2O + 4HNO3 -> 2Cu(NO3)2 + H2O + 2H (drop) - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Cuprite, 3) - .fluidInputs(NitricAcid.getFluid(4000)) - .output(dust, CopperNitrate, 18) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Cuprite, 3) + fluidInputs(NitricAcid.getFluid(4000)) + output(dust, CopperNitrate, 18) + EUt(VA[MV]) + duration(8 * SECOND) + } // Y(NO3)3 + 2Ba(NO3)2 + 3Cu(NO3)2 + 2NH3 + C6H8O7 -> YBa2Cu3O6 + 15NO2 + 6CO + 4H2O + 6H - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, YttriumNitrate, 13) - .input(dust, BariumNitrate, 18) - .input(dust, CopperNitrate, 27) - .fluidInputs(Ammonia.getFluid(2000)) - .fluidInputs(CitricAcid.getFluid(1000)) - .output(dust, YttriumBariumCopperOxidesMixture, 12) - .fluidOutputs(NitrogenDioxide.getFluid(15000)) - .fluidOutputs(CarbonMonoxide.getFluid(6000)) - .fluidOutputs(Water.getFluid(4000)) - .fluidOutputs(Hydrogen.getFluid(6000)) - .EUt(VA[IV]) - .duration(12 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, YttriumNitrate, 13) + input(dust, BariumNitrate, 18) + input(dust, CopperNitrate, 27) + fluidInputs(Ammonia.getFluid(2000)) + fluidInputs(CitricAcid.getFluid(1000)) + output(dust, YttriumBariumCopperOxidesMixture, 12) + fluidOutputs(NitrogenDioxide.getFluid(15000)) + fluidOutputs(CarbonMonoxide.getFluid(6000)) + fluidOutputs(Water.getFluid(4000)) + fluidOutputs(Hydrogen.getFluid(6000)) + EUt(VA[IV]) + duration(12 * SECOND) + cleanroom() + } // YBa2Cu3O6 + O -> YBa2Cu3O7 - ARC_FURNACE_RECIPES.recipeBuilder() - .input(dust, YttriumBariumCopperOxidesMixture, 12) - .fluidInputs(Oxygen.getFluid(1000)) - .output(ingotHot, YttriumBariumCuprate, 13) - .EUt(VA[IV]) - .duration(2 * MINUTE + 5 * SECOND) - .buildAndRegister() + ARC_FURNACE_RECIPES.addRecipe { + input(dust, YttriumBariumCopperOxidesMixture, 12) + fluidInputs(Oxygen.getFluid(1000)) + output(ingotHot, YttriumBariumCuprate, 13) + EUt(VA[IV]) + duration(2 * MINUTE + 5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ZylonChain.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ZylonChain.kt index eb7f72f74..d2ebbbfdb 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ZylonChain.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/chain/ZylonChain.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.LARGE_CHEMICAL_RECIPES import gregtech.api.unification.material.Materials.AceticAcid @@ -32,6 +31,8 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -58,118 +59,118 @@ internal object ZylonChain fun init() { // C3H6 + HCl -> CH3CHClCH3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Propene.getFluid(1000)) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .fluidOutputs(Isochloropropane.getFluid(1000)) - .EUt(VA[HV]) - .duration(24 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Propene.getFluid(1000)) + fluidInputs(HydrochloricAcid.getFluid(1000)) + fluidOutputs(Isochloropropane.getFluid(1000)) + EUt(VA[HV]) + duration(24 * SECOND) + } // 2C2H4O2 -> C4H6O3 + H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(AceticAcid.getFluid(2000)) - .fluidOutputs(AceticAnhydride.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[MV]) - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(AceticAcid.getFluid(2000)) + fluidOutputs(AceticAnhydride.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[MV]) + duration(12 * SECOND) + } // Na2O + C6H6O2 + CH3CHClCH3 + C4H6O3 + 2HNO3 + C3H6 -> C12H16O2(NO2)2 + NaCl + 2H2O + C2H4O2 + C2H3NaO2 - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, SodiumOxide, 3) - .fluidInputs(Resorcinol.getFluid(1000)) - .fluidInputs(Isochloropropane.getFluid(1000)) - .fluidInputs(AceticAnhydride.getFluid(1000)) - .fluidInputs(NitricAcid.getFluid(2000)) - .fluidInputs(Propene.getFluid(1000)) - .output(dust, Salt, 2) - .fluidOutputs(Dinitrodipropanyloxybenzene.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .fluidOutputs(AceticAcid.getFluid(1000)) - .fluidOutputs(SodiumAcetate.getFluid(1000)) - .EUt(VA[UV]) - .duration(25 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, SodiumOxide, 3) + fluidInputs(Resorcinol.getFluid(1000)) + fluidInputs(Isochloropropane.getFluid(1000)) + fluidInputs(AceticAnhydride.getFluid(1000)) + fluidInputs(NitricAcid.getFluid(2000)) + fluidInputs(Propene.getFluid(1000)) + output(dust, Salt, 2) + fluidOutputs(Dinitrodipropanyloxybenzene.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + fluidOutputs(AceticAcid.getFluid(1000)) + fluidOutputs(SodiumAcetate.getFluid(1000)) + EUt(VA[UV]) + duration(25 * SECOND) + } // C2H3NaO2 -> NaOH + C2H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(SodiumAcetate.getFluid(1000)) - .output(dust, SodiumHydroxide, 3) - .fluidOutputs(Ethenone.getFluid(1000)) - .EUt(VA[LV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(SodiumAcetate.getFluid(1000)) + output(dust, SodiumHydroxide, 3) + fluidOutputs(Ethenone.getFluid(1000)) + EUt(VA[LV]) + duration(4 * SECOND + 5 * TICK) + } // C6H4(CH3)2 + 2Br + 2O -> C7H6Br2 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(ParaXylene.getFluid(1000)) - .fluidInputs(Bromine.getFluid(2000)) - .fluidInputs(Oxygen.getFluid(2000)) - .fluidOutputs(Dibromomethylbenzene.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[IV]) - .duration(21 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(ParaXylene.getFluid(1000)) + fluidInputs(Bromine.getFluid(2000)) + fluidInputs(Oxygen.getFluid(2000)) + fluidOutputs(Dibromomethylbenzene.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[IV]) + duration(21 * SECOND + 10 * TICK) + } // C7H8 + 2Br -> C7H6Br2 - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .fluidInputs(Toluene.getFluid(1000)) - .fluidInputs(Bromine.getFluid(2000)) - .fluidOutputs(Dibromomethylbenzene.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(10 * SECOND + 15 * TICK) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + fluidInputs(Toluene.getFluid(1000)) + fluidInputs(Bromine.getFluid(2000)) + fluidOutputs(Dibromomethylbenzene.getFluid(1000)) + EUt(VA[ZPM]) + duration(10 * SECOND + 15 * TICK) + } // C7H6Br2 + H2SO4 -> C8H6O2 + 2Br + HS + H2O2 - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Dibromomethylbenzene.getFluid(1000)) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .output(dust, Terephthalaldehyde, 16) - .fluidOutputs(Bromine.getFluid(2000)) - .fluidOutputs(HydrogenSulfide.getFluid(1000)) - .fluidOutputs(HydrogenPeroxide.getFluid(1000)) - .EUt(VA[LuV]) - .duration(6 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(Dibromomethylbenzene.getFluid(1000)) + fluidInputs(SulfuricAcid.getFluid(1000)) + output(dust, Terephthalaldehyde, 16) + fluidOutputs(Bromine.getFluid(2000)) + fluidOutputs(HydrogenSulfide.getFluid(1000)) + fluidOutputs(HydrogenPeroxide.getFluid(1000)) + EUt(VA[LuV]) + duration(6 * SECOND) + } // C8H6O2 + C12H16O2(NO2)2 -> C20H22N2O2 + 6O - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Palladium) - .input(dust, Terephthalaldehyde, 16) - .fluidInputs(Dinitrodipropanyloxybenzene.getFluid(1000)) - .output(dust, PretreatedZylon, 46) - .fluidOutputs(Oxygen.getFluid(6000)) - .EUt(VA[UHV]) - .duration(25 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Palladium) + input(dust, Terephthalaldehyde, 16) + fluidInputs(Dinitrodipropanyloxybenzene.getFluid(1000)) + output(dust, PretreatedZylon, 46) + fluidOutputs(Oxygen.getFluid(6000)) + EUt(VA[UHV]) + duration(25 * SECOND + 10 * TICK) + cleanroom() + } // C20H22N2O2 -> C14H6N2O2 + 2C3H6 - ROASTER_RECIPES.recipeBuilder() - .input(dust, PretreatedZylon, 46) - .output(dust, Zylon, 24) - .fluidOutputs(Propane.getFluid(2000)) - .EUt(VA[IV]) - .duration(35 * SECOND) - .buildAndRegister() // Smelting to ingot or extracting to fluid. + ROASTER_RECIPES.addRecipe { + input(dust, PretreatedZylon, 46) + output(dust, Zylon, 24) + fluidOutputs(Propane.getFluid(2000)) + EUt(VA[IV]) + duration(35 * SECOND) + } // Smelting to ingot or extracting to fluid. // Advanced recipes for C14H6N2O2 // C6H6O2 + C6H4(CH3)2 + 2HNO3 -> C14H6N2O2 + 6H2O - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .notConsumable(dust, PalladiumLoadedRutileNanoparticles) - .fluidInputs(Resorcinol.getFluid(1000)) - .fluidInputs(ParaXylene.getFluid(1000)) - .fluidInputs(NitricAcid.getFluid(2000)) - .output(dust, Zylon, 24) - .fluidOutputs(Water.getFluid(6000)) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + notConsumable(dust, PalladiumLoadedRutileNanoparticles) + fluidInputs(Resorcinol.getFluid(1000)) + fluidInputs(ParaXylene.getFluid(1000)) + fluidInputs(NitricAcid.getFluid(2000)) + output(dust, Zylon, 24) + fluidOutputs(Water.getFluid(6000)) + EUt(VA[UIV]) + duration(10 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/CosmicCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/CosmicCircuits.kt index 4ddef60f4..33a295d95 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/CosmicCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/CosmicCircuits.kt @@ -11,8 +11,8 @@ import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES @@ -73,6 +73,7 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MOLECULAR_BEAM_RECIPES @@ -199,549 +200,545 @@ internal object CosmicCircuits private fun circuitBoardRecipes() { // Cosmic Information Module - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(INFINITE_CIRCUIT_BOARD) - .input(plate, DegenerateRhenium, 2) - .input(plate, HeavyQuarkDegenerateMatter, 4) - .input(wireFine, Abyssalloy, 8) - .fluidInputs(UUMatter.getFluid(4000)) - .output(COSMIC_INFORMATION_MODULE) - .EUt(VA[UHV]) - .duration(2 * SECOND + 10 * TICK) - .tier(3) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(INFINITE_CIRCUIT_BOARD) + input(plate, DegenerateRhenium, 2) + input(plate, HeavyQuarkDegenerateMatter, 4) + input(wireFine, Abyssalloy, 8) + fluidInputs(UUMatter.getFluid(4000)) + output(COSMIC_INFORMATION_MODULE) + EUt(VA[UHV]) + duration(2 * SECOND + 10 * TICK) + tier(3) + } // Cs + I -> CsI - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Caesium) - .input(dust, Iodine) - .output(dust, CaesiumIodide, 2) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Caesium) + input(dust, Iodine) + output(dust, CaesiumIodide, 2) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // CsI + Tl + Tm -> Tl/Tm:CsI - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, CaesiumIodide, 2) - .input(dust, Thallium) - .input(dust, Thulium) - .output(dust, ThalliumThuliumDopedCaesiumIodide, 4) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, CaesiumIodide, 2) + input(dust, Thallium) + input(dust, Thulium) + output(dust, ThalliumThuliumDopedCaesiumIodide, 4) + EUt(VA[IV]) + duration(5 * SECOND) + } // C4H6O4 + 2C6H4(CO)2O + 20H -> C18H12 + C2H2 + 10H2O - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, MagnetoResonatic) - .input(dust, SuccinicAcid, 14) - .input(dust, PhthalicAnhydride, 30) - .fluidInputs(Hydrogen.getFluid(20000)) - .output(dust, Tetracene, 30) - .fluidOutputs(Acetylene.getFluid(1000)) - .fluidOutputs(Steam.getFluid(10 * SU)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, MagnetoResonatic) + input(dust, SuccinicAcid, 14) + input(dust, PhthalicAnhydride, 30) + fluidInputs(Hydrogen.getFluid(20000)) + output(dust, Tetracene, 30) + fluidOutputs(Acetylene.getFluid(1000)) + fluidOutputs(Steam.getFluid(10 * SU)) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // CdS + WO3 + 3O -> CdWO4 + SO2 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, CadmiumSulfide, 2) - .input(dust, TungstenTrioxide, 4) - .fluidOutputs(Oxygen.getFluid(3000)) - .output(dust, CadmiumTungstate, 6) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[LuV]) - .duration(6 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, CadmiumSulfide, 2) + input(dust, TungstenTrioxide, 4) + fluidOutputs(Oxygen.getFluid(3000)) + output(dust, CadmiumTungstate, 6) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[LuV]) + duration(6 * SECOND) + } // 3GeO2 + 2Bi2O3 -> Bi4Ge3O12 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, GermaniumDioxide, 9) - .input(dust, BismuthTrioxide, 10) - .output(dust, BismuthGermanate, 19) - .EUt(VA[LuV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, GermaniumDioxide, 9) + input(dust, BismuthTrioxide, 10) + output(dust, BismuthGermanate, 19) + EUt(VA[LuV]) + duration(4 * SECOND) + } // Scintillator Crystal - FORMING_PRESS_RECIPES.recipeBuilder() - .input(plate, Vibranium, 2) - .input(dust, ThalliumThuliumDopedCaesiumIodide) - .input(dust, Tetracene) - .input(dust, CadmiumTungstate) - .input(dust, BismuthGermanate) - .output(SCINTILLATOR_CRYSTAL, 2) - .EUt(VA[UHV]) - .duration(14 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(plate, Vibranium, 2) + input(dust, ThalliumThuliumDopedCaesiumIodide) + input(dust, Tetracene) + input(dust, CadmiumTungstate) + input(dust, BismuthGermanate) + output(SCINTILLATOR_CRYSTAL, 2) + EUt(VA[UHV]) + duration(14 * SECOND) + } // 2C6H4(CO)2O + 2C6H7NO + C2H4(NH2)2 + HCl -> C28H31ClN2O3 + N2O4 + CO + C - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, PhthalicAnhydride, 30) - .input(dust, Aminophenol, 30) - .fluidInputs(Ethylenediamine.getFluid(1000)) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .output(dust, RhodamineB, 64) - .output(dust, RhodamineB) - .output(dust, Carbon) - .fluidOutputs(DinitrogenTetroxide.getFluid(1000)) - .fluidOutputs(CarbonMonoxide.getFluid(1000)) - .EUt(VA[UHV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, PhthalicAnhydride, 30) + input(dust, Aminophenol, 30) + fluidInputs(Ethylenediamine.getFluid(1000)) + fluidInputs(HydrochloricAcid.getFluid(1000)) + output(dust, RhodamineB, 64) + output(dust, RhodamineB) + output(dust, Carbon) + fluidOutputs(DinitrogenTetroxide.getFluid(1000)) + fluidOutputs(CarbonMonoxide.getFluid(1000)) + EUt(VA[UHV]) + duration(4 * SECOND + 10 * TICK) + } // Scintillator - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, CinobiteA243, 4) - .input(SCINTILLATOR_CRYSTAL) - .input(dust, RhodamineB, 10) - .input(MAGNETRON, 2) - .input(spring, HDCS, 4) - .input(foil, Lafium, 16) - .input(screw, ArceusAlloy2B, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 2)) - .fluidInputs(Trinaquadalloy.getFluid(L)) - .output(SCINTILLATOR) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .tier(4) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(plate, CinobiteA243, 4) + input(SCINTILLATOR_CRYSTAL) + input(dust, RhodamineB, 10) + input(MAGNETRON, 2) + input(spring, HDCS, 4) + input(foil, Lafium, 16) + input(screw, ArceusAlloy2B, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 2)) + fluidInputs(Trinaquadalloy.getFluid(L)) + output(SCINTILLATOR) + EUt(VA[UEV]) + duration(8 * SECOND) + tier(4) + } // Nuclear Clock - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(SCINTILLATOR) - .input(SENSOR_UHV) - .input(ND_YAG_LASER, 2) - .input(lens, PrHoYLF) - .fluidInputs(Fullerene.getFluid(L * 4)) - .fluidInputs(Thorium.getPlasma(L)) - .output(NUCLEAR_CLOCK) - .EUt(VA[UEV]) - .duration(2 * SECOND + 10 * TICK) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(SCINTILLATOR) + input(SENSOR_UHV) + input(ND_YAG_LASER, 2) + input(lens, PrHoYLF) + fluidInputs(Fullerene.getFluid(L * 4)) + fluidInputs(Thorium.getPlasma(L)) + output(NUCLEAR_CLOCK) + EUt(VA[UEV]) + duration(2 * SECOND + 10 * TICK) + stationResearch { it.researchStack(ND_YAG_LASER) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() + } // Closed Timelike Curve Guidance Unit - ASSEMBLER_RECIPES.recipeBuilder() - .input(NUCLEAR_CLOCK) - .input(TOOL_DATA_MODULE, 2) - .input(plate, ActiniumGroupAlloyA, 4) - .input(foil, QuantumchromodynamicallyConfinedMatter, 16) - .input(screw, LanthanumFullereneNanotube, 8) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CLOSED_TIMELIKE_CURVE_GUIDANCE_UNIT) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(NUCLEAR_CLOCK) + input(TOOL_DATA_MODULE, 2) + input(plate, ActiniumGroupAlloyA, 4) + input(foil, QuantumchromodynamicallyConfinedMatter, 16) + input(screw, LanthanumFullereneNanotube, 8) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CLOSED_TIMELIKE_CURVE_GUIDANCE_UNIT) + EUt(VA[UEV]) + duration(5 * SECOND) + cleanroom() + } // Manifold Oscillatory Power Cell - SONICATION_RECIPES.recipeBuilder() - .input(CONDENSATE_CONTAINMENT_UNIT) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 4)) - .fluidInputs(HadronicResonantGas.getFluid(2000)) - .output(MANIFOLD_OSCILLATORY_POWER_CELL) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .buildAndRegister() + SONICATION_RECIPES.addRecipe { + input(CONDENSATE_CONTAINMENT_UNIT) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 4)) + fluidInputs(HadronicResonantGas.getFluid(2000)) + output(MANIFOLD_OSCILLATORY_POWER_CELL) + EUt(VA[UEV]) + duration(5 * SECOND) + } // Closed Timelike Curve Computational Unit - ASSEMBLER_RECIPES.recipeBuilder() - .input(CLOSED_TIMELIKE_CURVE_GUIDANCE_UNIT) - .input(MANIFOLD_OSCILLATORY_POWER_CELL, 4) - .input(plate, SuperheavyAlloyA, 2) - .input(wireFine, Infinity, 8) - .fluidInputs(NeutronProtonFermiSuperfluid.getFluid(4000)) - .output(CLOSED_TIMELIKE_CURVE_COMPUTATIONAL_UNIT, 2) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(CLOSED_TIMELIKE_CURVE_GUIDANCE_UNIT) + input(MANIFOLD_OSCILLATORY_POWER_CELL, 4) + input(plate, SuperheavyAlloyA, 2) + input(wireFine, Infinity, 8) + fluidInputs(NeutronProtonFermiSuperfluid.getFluid(4000)) + output(CLOSED_TIMELIKE_CURVE_COMPUTATIONAL_UNIT, 2) + EUt(VA[UIV]) + duration(10 * SECOND) + cleanroom() + } // Holographic Information IMC - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, HastelloyK243) - .input(COSMIC_INFORMATION_MODULE) - .input(CLOSED_TIMELIKE_CURVE_COMPUTATIONAL_UNIT) - .input(BOSE_EINSTEIN_CONDENSATE, 4) - .input(OPTICAL_FIBER, 8) - .input(foil, SeaborgiumDopedCarbonNanotube, 16) - .fluidInputs(Gluons.getFluid(8000)) - .fluidInputs(Protomatter.getFluid(4000)) - .output(HOLOGRAPHIC_INFORMATION_IMC, 2) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .tier(4) - .buildAndRegister() - + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(frameGt, HastelloyK243) + input(COSMIC_INFORMATION_MODULE) + input(CLOSED_TIMELIKE_CURVE_COMPUTATIONAL_UNIT) + input(BOSE_EINSTEIN_CONDENSATE, 4) + input(OPTICAL_FIBER, 8) + input(foil, SeaborgiumDopedCarbonNanotube, 16) + fluidInputs(Gluons.getFluid(8000)) + fluidInputs(Protomatter.getFluid(4000)) + output(HOLOGRAPHIC_INFORMATION_IMC, 2) + EUt(VA[UEV]) + duration(5 * SECOND) + tier(4) + } } private fun smdRecipes() { // La2O3 + 2ZrCl4 + 4Na2O -> La2Zr2O7 + 8NaCl - MOLECULAR_BEAM_RECIPES.recipeBuilder() - .notConsumable(foil, Cadmium) - .input(dust, LanthanumOxide, 5) - .input(dust, ZirconiumTetrachloride, 10) - .input(dust, SodiumOxide, 12) - .output(dust, LanthanumZirconate, 11) - .output(dust, Salt, 16) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .temperature(5225) - .buildAndRegister() + MOLECULAR_BEAM_RECIPES.addRecipe { + notConsumable(foil, Cadmium) + input(dust, LanthanumOxide, 5) + input(dust, ZirconiumTetrachloride, 10) + input(dust, SodiumOxide, 12) + output(dust, LanthanumZirconate, 11) + output(dust, Salt, 16) + EUt(VA[UHV]) + duration(10 * SECOND) + temperature(5225) + } // Cosmic SMD Transistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(foil, MetastableHassium) - .input(wireFine, LanthanumZirconate, 16) - .input(wireFine, Rhugnor, 16) - .fluidInputs(FullerenePolymerMatrix.getFluid(L)) - .output(COSMIC_SMD_TRANSISTOR, 64) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(foil, MetastableHassium) + input(wireFine, LanthanumZirconate, 16) + input(wireFine, Rhugnor, 16) + fluidInputs(FullerenePolymerMatrix.getFluid(L)) + output(COSMIC_SMD_TRANSISTOR, 64) + EUt(VA[UEV]) + duration(8 * SECOND) + cleanroom() + } // Mc + KMnO4 + H2O -> HMcO4 + KOH + Mn - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Moscovium) - .input(dust, PotassiumPermanganate, 6) - .fluidInputs(Water.getFluid(1000)) - .output(dust, PotassiumHydroxide, 3) - .output(dust, Manganese) - .fluidOutputs(HydromoscovicAcid.getFluid(1000)) - .EUt(VA[UV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Moscovium) + input(dust, PotassiumPermanganate, 6) + fluidInputs(Water.getFluid(1000)) + output(dust, PotassiumHydroxide, 3) + output(dust, Manganese) + fluidOutputs(HydromoscovicAcid.getFluid(1000)) + EUt(VA[UV]) + duration(5 * SECOND) + } // Ir + 3Cl -> IrCl3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Iridium) - .fluidInputs(Chlorine.getFluid(3000)) - .output(dust, IridiumChloride, 4) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Iridium) + fluidInputs(Chlorine.getFluid(3000)) + output(dust, IridiumChloride, 4) + EUt(VA[LV]) + duration(8 * SECOND) + } // 2HMcO4 + 2IrCl3 + 6Na -> Mc2Ir2O7 + 2HCl + 4NaCl + Na2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, IridiumChloride, 8) - .input(dust, Sodium, 6) - .fluidInputs(HydromoscovicAcid.getFluid(2000)) - .output(dust, MoscoviumIridiate, 11) - .output(dust, Salt, 8) - .output(dust, SodiumOxide, 3) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[UEV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, IridiumChloride, 8) + input(dust, Sodium, 6) + fluidInputs(HydromoscovicAcid.getFluid(2000)) + output(dust, MoscoviumIridiate, 11) + output(dust, Salt, 8) + output(dust, SodiumOxide, 3) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[UEV]) + duration(4 * SECOND + 10 * TICK) + } // Cosmic SMD Resistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Shirabon) - .input(wireFine, MoscoviumIridiate, 8) - .input(wireFine, MetastableOganesson, 8) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) - .output(COSMIC_SMD_RESISTOR, 64) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Shirabon) + input(wireFine, MoscoviumIridiate, 8) + input(wireFine, MetastableOganesson, 8) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) + output(COSMIC_SMD_RESISTOR, 64) + EUt(VA[UEV]) + duration(8 * SECOND) + cleanroom() + } // Cosmic SMD Capacitor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(NANOSILICON_CATHODE) - .input(foil, HeavyQuarkDegenerateMatter, 4) - .input(foil, Infinity, 4) - .fluidInputs(FullerenePolymerMatrix.getFluid(L / 2)) - .output(COSMIC_SMD_CAPACITOR, 64) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(NANOSILICON_CATHODE) + input(foil, HeavyQuarkDegenerateMatter, 4) + input(foil, Infinity, 4) + fluidInputs(FullerenePolymerMatrix.getFluid(L / 2)) + output(COSMIC_SMD_CAPACITOR, 64) + EUt(VA[UEV]) + duration(8 * SECOND) + cleanroom() + } // 2SrO + Eu2O3 + 4Nh + 3O -> 2SrEuNh2O4 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, StrontiumOxide, 4) - .input(dust, EuropiumOxide, 5) - .input(dust, Nihonium, 4) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, StrontiumEuropiumNihonate, 16) - .EUt(VA[UEV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, StrontiumOxide, 4) + input(dust, EuropiumOxide, 5) + input(dust, Nihonium, 4) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, StrontiumEuropiumNihonate, 16) + EUt(VA[UEV]) + duration(2 * SECOND + 10 * TICK) + } // Cosmic SMD Diode - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, CubicSiliconNitride) - .input(foil, StrontiumEuropiumNihonate, 8) - .input(foil, HalkoniteSteel, 8) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) - .output(COSMIC_SMD_DIODE, 64) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, CubicSiliconNitride) + input(foil, StrontiumEuropiumNihonate, 8) + input(foil, HalkoniteSteel, 8) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) + output(COSMIC_SMD_DIODE, 64) + EUt(VA[UEV]) + duration(8 * SECOND) + cleanroom() + } // Cosmic SMD Inductor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(ring, Magnetium) - .input(wireFine, CosmicNeutronium, 8) - .input(wireFine, SuperheavyAlloyA, 8) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) - .output(COSMIC_SMD_INDUCTOR, 64) - .EUt(VA[UEV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(ring, Magnetium) + input(wireFine, CosmicNeutronium, 8) + input(wireFine, SuperheavyAlloyA, 8) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) + output(COSMIC_SMD_INDUCTOR, 64) + EUt(VA[UEV]) + duration(8 * SECOND) + cleanroom() + } } private fun circuitComponentsRecipes() { // Exotic Atom Restrict Central Processing Unit - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, PrHoYLF) - .notConsumable(RYDBERG_SPINOR_ARRAY) - .notConsumable(QUANTUM_ANOMALY) - .input(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER) - .fluidInputs(ResonantStrangeMeson.getFluid(1000)) - .fluidInputs(Rubidium.getPlasma(L)) - .output(EXOTIC_ATOM_RESTRICT_CPU_WAFER) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, PrHoYLF) + notConsumable(RYDBERG_SPINOR_ARRAY) + notConsumable(QUANTUM_ANOMALY) + input(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER) + fluidInputs(ResonantStrangeMeson.getFluid(1000)) + fluidInputs(Rubidium.getPlasma(L)) + output(EXOTIC_ATOM_RESTRICT_CPU_WAFER) + EUt(VA[UIV]) + duration(5 * SECOND) + cleanroom() + } // Excited Exotic Atom Restrict Central Processing Unit - POLARIZER_RECIPES.recipeBuilder() - .input(EXOTIC_ATOM_RESTRICT_CPU_WAFER) - .fluidInputs(NaquadriaEnergetic.getFluid(1000)) - .output(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_WAFER) - .EUt(VA[UIV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + POLARIZER_RECIPES.addRecipe { + input(EXOTIC_ATOM_RESTRICT_CPU_WAFER) + fluidInputs(NaquadriaEnergetic.getFluid(1000)) + output(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_WAFER) + EUt(VA[UIV]) + duration(2 * SECOND + 10 * TICK) + } // Excited Exotic Atom Restrict Central Processing Unit Chip - CUTTER_RECIPES.recipeBuilder() - .input(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_WAFER) - .output(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_CHIP, 2) - .EUt(VA[UIV]) - .duration(1 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_WAFER) + output(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_CHIP, 2) + EUt(VA[UIV]) + duration(1 * SECOND) + cleanroom() + } // Amplitude Duality Disturbance RAM - FORMING_PRESS_RECIPES.recipeBuilder() - .input(ADVANCED_RAM_CHIP) - .input(plate, LanthanumFullereneNanotube, 4) - .input(plate, Copernicium, 4) - .input(foil, ThalliumRoentgeniumChloride, 8) - .input(springSmall, CarbonNanotube, 2) - .input(wireFine, HeavyQuarkDegenerateMatter, 16) - .output(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 4) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(ADVANCED_RAM_CHIP) + input(plate, LanthanumFullereneNanotube, 4) + input(plate, Copernicium, 4) + input(foil, ThalliumRoentgeniumChloride, 8) + input(springSmall, CarbonNanotube, 2) + input(wireFine, HeavyQuarkDegenerateMatter, 16) + output(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 4) + EUt(VA[UIV]) + duration(10 * SECOND) + cleanroom() + } // Excitation Spectrum Composite Logical Gate - FORMING_PRESS_RECIPES.recipeBuilder() - .input(NOR_MEMORY_CHIP) - .input(NAND_MEMORY_CHIP) - .input(foil, Polymethylmethacrylate, 16) - .input(foil, SuperheavyAlloyA, 16) - .input(springSmall, LutetiumManganeseGermanium, 4) - .input(wireFine, HastelloyX78, 24) - .output(EXCITATION_SPECTRUM_COMPOSITE_LOGICAL_GATE_CHIP, 4) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - + FORMING_PRESS_RECIPES.addRecipe { + input(NOR_MEMORY_CHIP) + input(NAND_MEMORY_CHIP) + input(foil, Polymethylmethacrylate, 16) + input(foil, SuperheavyAlloyA, 16) + input(springSmall, LutetiumManganeseGermanium, 4) + input(wireFine, HastelloyX78, 24) + output(EXCITATION_SPECTRUM_COMPOSITE_LOGICAL_GATE_CHIP, 4) + EUt(VA[UIV]) + duration(10 * SECOND) + cleanroom() + } } private fun circuitRecipes() { // Cosmic Processor - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(HOLOGRAPHIC_INFORMATION_IMC) - .input(CRYSTAL_SYSTEM_ON_CHIP) - .input(COSMIC_SMD_RESISTOR, 32) - .input(COSMIC_SMD_CAPACITOR, 32) - .input(COSMIC_SMD_TRANSISTOR, 32) - .input(wireFine, Infinity, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(COSMIC_PROCESSOR_UEV, 4) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(HOLOGRAPHIC_INFORMATION_IMC) - .input(CRYSTAL_SYSTEM_ON_CHIP) - .input(SUPRACAUSAL_SMD_RESISTOR, 8) - .input(SUPRACAUSAL_SMD_CAPACITOR, 8) - .input(SUPRACAUSAL_SMD_TRANSISTOR, 8) - .input(wireFine, Infinity, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(COSMIC_PROCESSOR_UEV, 4) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(HOLOGRAPHIC_INFORMATION_IMC) + input(CRYSTAL_SYSTEM_ON_CHIP) + input(COSMIC_SMD_RESISTOR, 32) + input(COSMIC_SMD_CAPACITOR, 32) + input(COSMIC_SMD_TRANSISTOR, 32) + input(wireFine, Infinity, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(COSMIC_PROCESSOR_UEV, 4) + EUt(VA[UIV]) + duration(10 * SECOND) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(HOLOGRAPHIC_INFORMATION_IMC) + input(CRYSTAL_SYSTEM_ON_CHIP) + input(SUPRACAUSAL_SMD_RESISTOR, 8) + input(SUPRACAUSAL_SMD_CAPACITOR, 8) + input(SUPRACAUSAL_SMD_TRANSISTOR, 8) + input(wireFine, Infinity, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(COSMIC_PROCESSOR_UEV, 4) + EUt(VA[UIV]) + duration(5 * SECOND) + cleanroom() + } // Cosmic Assembly - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(COSMIC_INFORMATION_MODULE) - .input(COSMIC_PROCESSOR_UEV, 4) - .input(COSMIC_SMD_CAPACITOR, 32) - .input(COSMIC_SMD_INDUCTOR, 32) - .input(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_CHIP, 16) - .input(wireFine, Infinity, 16) - .input("foilAnyAdvancedSyntheticRubber", 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4)) - .output(COSMIC_ASSEMBLY_UIV, 3) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(COSMIC_INFORMATION_MODULE) + input(COSMIC_PROCESSOR_UEV, 4) + input(COSMIC_SMD_CAPACITOR, 32) + input(COSMIC_SMD_INDUCTOR, 32) + input(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_CHIP, 16) + input(wireFine, Infinity, 16) + input("foilAnyAdvancedSyntheticRubber", 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 4)) + output(COSMIC_ASSEMBLY_UIV, 3) + EUt(VA[UIV]) + duration(20 * SECOND) + stationResearch { it.researchStack(COSMIC_PROCESSOR_UEV) .EUt(VA[UIV]) .CWUt(48) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(COSMIC_INFORMATION_MODULE) - .input(COSMIC_PROCESSOR_UEV, 4) - .input(SUPRACAUSAL_SMD_CAPACITOR, 8) - .input(SUPRACAUSAL_SMD_INDUCTOR, 8) - .input(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_CHIP, 16) - .input(wireFine, Infinity, 16) - .input("foilAnyAdvancedSyntheticRubber", 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4)) - .output(COSMIC_ASSEMBLY_UIV, 3) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(COSMIC_INFORMATION_MODULE) + input(COSMIC_PROCESSOR_UEV, 4) + input(SUPRACAUSAL_SMD_CAPACITOR, 8) + input(SUPRACAUSAL_SMD_INDUCTOR, 8) + input(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_CHIP, 16) + input(wireFine, Infinity, 16) + input("foilAnyAdvancedSyntheticRubber", 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 4)) + output(COSMIC_ASSEMBLY_UIV, 3) + EUt(VA[UIV]) + duration(10 * SECOND) + stationResearch { it.researchStack(COSMIC_PROCESSOR_UEV) .EUt(VA[UIV]) .CWUt(48) } - .buildAndRegister() + } // Cosmic Computer - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(COSMIC_INFORMATION_MODULE) - .input(COSMIC_ASSEMBLY_UIV, 3) - .input(COSMIC_SMD_DIODE, 16) - .input(EXCITATION_SPECTRUM_COMPOSITE_LOGICAL_GATE_CHIP, 32) - .input(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 64) - .input(wireFine, Infinity, 32) - .input(foil, FullerenePolymerMatrix, 64) - .input(plate, Livermorium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(Fullerene.getFluid(L * 12)) - .fluidInputs(CosmicNeutronium.getFluid(L * 8)) - .output(COSMIC_COMPUTER_UXV, 2) - .EUt(VA[UIV]) - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(COSMIC_INFORMATION_MODULE) + input(COSMIC_ASSEMBLY_UIV, 3) + input(COSMIC_SMD_DIODE, 16) + input(EXCITATION_SPECTRUM_COMPOSITE_LOGICAL_GATE_CHIP, 32) + input(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 64) + input(wireFine, Infinity, 32) + input(foil, FullerenePolymerMatrix, 64) + input(plate, Livermorium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(Fullerene.getFluid(L * 12)) + fluidInputs(CosmicNeutronium.getFluid(L * 8)) + output(COSMIC_COMPUTER_UXV, 2) + EUt(VA[UIV]) + duration(40 * SECOND) + stationResearch { it.researchStack(COSMIC_ASSEMBLY_UIV) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(COSMIC_INFORMATION_MODULE) - .input(COSMIC_ASSEMBLY_UIV, 3) - .input(SUPRACAUSAL_SMD_DIODE, 4) - .input(EXCITATION_SPECTRUM_COMPOSITE_LOGICAL_GATE_CHIP, 32) - .input(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 64) - .input(wireFine, Infinity, 32) - .input(foil, FullerenePolymerMatrix, 64) - .input(plate, Livermorium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(Fullerene.getFluid(L * 12)) - .fluidInputs(CosmicNeutronium.getFluid(L * 8)) - .output(COSMIC_COMPUTER_UXV, 2) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(COSMIC_INFORMATION_MODULE) + input(COSMIC_ASSEMBLY_UIV, 3) + input(SUPRACAUSAL_SMD_DIODE, 4) + input(EXCITATION_SPECTRUM_COMPOSITE_LOGICAL_GATE_CHIP, 32) + input(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 64) + input(wireFine, Infinity, 32) + input(foil, FullerenePolymerMatrix, 64) + input(plate, Livermorium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(Fullerene.getFluid(L * 12)) + fluidInputs(CosmicNeutronium.getFluid(L * 8)) + output(COSMIC_COMPUTER_UXV, 2) + EUt(VA[UIV]) + duration(20 * SECOND) + stationResearch { it.researchStack(COSMIC_ASSEMBLY_UIV) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() + } // Cosmic Mainframe - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Shirabon) - .input(COSMIC_COMPUTER_UXV, 2) - .input(COSMIC_SMD_DIODE, 64) - .input(COSMIC_SMD_CAPACITOR, 64) - .input(COSMIC_SMD_TRANSISTOR, 64) - .input(COSMIC_SMD_RESISTOR, 64) - .input(COSMIC_SMD_INDUCTOR, 64) - .input(foil, FullerenePolymerMatrix, 64) - .input(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 64) - .input(wireGtDouble, BoronFranciumCarbideSuperconductor, 16) - .input(plate, Meitnerium, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(CosmicFabric.getFluid(L * 32)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16)) - .fluidInputs(Vibranium.getFluid(L * 8)) - .output(COSMIC_MAINFRAME_OpV) - .EUt(VA[UXV]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Shirabon) + input(COSMIC_COMPUTER_UXV, 2) + input(COSMIC_SMD_DIODE, 64) + input(COSMIC_SMD_CAPACITOR, 64) + input(COSMIC_SMD_TRANSISTOR, 64) + input(COSMIC_SMD_RESISTOR, 64) + input(COSMIC_SMD_INDUCTOR, 64) + input(foil, FullerenePolymerMatrix, 64) + input(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 64) + input(wireGtDouble, BoronFranciumCarbideSuperconductor, 16) + input(plate, Meitnerium, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(CosmicFabric.getFluid(L * 32)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16)) + fluidInputs(Vibranium.getFluid(L * 8)) + output(COSMIC_MAINFRAME_OpV) + EUt(VA[UXV]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(COSMIC_COMPUTER_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Shirabon) - .input(COSMIC_COMPUTER_UXV, 2) - .input(SUPRACAUSAL_SMD_DIODE, 16) - .input(SUPRACAUSAL_SMD_CAPACITOR, 16) - .input(SUPRACAUSAL_SMD_TRANSISTOR, 16) - .input(SUPRACAUSAL_SMD_RESISTOR, 16) - .input(SUPRACAUSAL_SMD_INDUCTOR, 16) - .input(foil, FullerenePolymerMatrix, 64) - .input(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 64) - .input(wireGtDouble, BoronFranciumCarbideSuperconductor, 16) - .input(plate, Meitnerium, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(CosmicFabric.getFluid(L * 32)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16)) - .fluidInputs(Vibranium.getFluid(L * 8)) - .output(COSMIC_MAINFRAME_OpV) - .EUt(VA[UXV]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Shirabon) + input(COSMIC_COMPUTER_UXV, 2) + input(SUPRACAUSAL_SMD_DIODE, 16) + input(SUPRACAUSAL_SMD_CAPACITOR, 16) + input(SUPRACAUSAL_SMD_TRANSISTOR, 16) + input(SUPRACAUSAL_SMD_RESISTOR, 16) + input(SUPRACAUSAL_SMD_INDUCTOR, 16) + input(foil, FullerenePolymerMatrix, 64) + input(AMPLITUDE_DUALITY_DISTURBANCE_RAM_CHIP, 64) + input(wireGtDouble, BoronFranciumCarbideSuperconductor, 16) + input(plate, Meitnerium, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(CosmicFabric.getFluid(L * 32)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16)) + fluidInputs(Vibranium.getFluid(L * 8)) + output(COSMIC_MAINFRAME_OpV) + EUt(VA[UXV]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(COSMIC_COMPUTER_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/CrystalCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/CrystalCircuits.kt index 1cb6bc2c0..b1f66e9a7 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/CrystalCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/CrystalCircuits.kt @@ -7,8 +7,6 @@ import gregtech.api.GTValues.LuV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES @@ -17,7 +15,7 @@ import gregtech.api.recipes.RecipeMaps.CUTTER_RECIPES import gregtech.api.recipes.RecipeMaps.FORMING_PRESS_RECIPES import gregtech.api.recipes.RecipeMaps.LASER_ENGRAVER_RECIPES import gregtech.api.unification.OreDictUnifier -import gregtech.api.unification.material.MarkerMaterials +import gregtech.api.unification.material.MarkerMaterials.Color import gregtech.api.unification.material.Materials.Europium import gregtech.api.unification.material.Materials.HSSE import gregtech.api.unification.material.Materials.Helium @@ -66,6 +64,9 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYSTALLIZATION_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MOLECULAR_BEAM_RECIPES @@ -118,12 +119,12 @@ internal object CrystalCircuits // other circuit boards. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(MULTILAYER_FIBER_BOARD.stackForm, - OreDictUnifier.get(foil, Platinum, 8)), + OreDictUnifier.get(foil, Platinum, 8)), arrayOf(SodiumPersulfate.getFluid(4000))) GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(MULTILAYER_FIBER_BOARD.stackForm, - OreDictUnifier.get(foil, Platinum, 8)), + OreDictUnifier.get(foil, Platinum, 8)), arrayOf(Iron3Chloride.getFluid(2000))) // Advanced etching liquids recipe addition. @@ -133,358 +134,357 @@ internal object CrystalCircuits TetramethylammoniumHydroxide.getFluid(1000), EthylenediaminePyrocatechol.getFluid(500))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(MULTILAYER_FIBER_BOARD) - .input(foil, Platinum, 16) - .fluidInputs(etchingLiquid) - .output(ELITE_CIRCUIT_BOARD) - .EUt(VA[MV]) - .duration(1 * MINUTE + 15 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(MULTILAYER_FIBER_BOARD) + input(foil, Platinum, 16) + fluidInputs(etchingLiquid) + output(ELITE_CIRCUIT_BOARD) + EUt(VA[MV]) + duration(1 * MINUTE + 15 * SECOND) + cleanroom() + } } } private fun circuitComponentsRecipes() { // Gem addition of engraved crystal chip. - BLAST_RECIPES.recipeBuilder() - .input(plate, Forsterite) - .input(RAW_CRYSTAL_CHIP) - .fluidInputs(Helium.getFluid(1000)) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(45 * SECOND) - .blastFurnaceTemp(5000) // HSSG - .buildAndRegister() - - BLAST_RECIPES.recipeBuilder() - .input(plate, Aegirine) - .input(RAW_CRYSTAL_CHIP) - .fluidInputs(Helium.getFluid(1000)) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(45 * SECOND) - .blastFurnaceTemp(5000) // HSSG - .buildAndRegister() - - BLAST_RECIPES.recipeBuilder() - .input(plate, Jade) - .input(RAW_CRYSTAL_CHIP) - .fluidInputs(Helium.getFluid(1000)) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(45 * SECOND) - .blastFurnaceTemp(5000) // HSSG - .buildAndRegister() - - BLAST_RECIPES.recipeBuilder() - .input(plate, Prasiolite) - .input(RAW_CRYSTAL_CHIP) - .fluidInputs(Helium.getFluid(1000)) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(45 * SECOND) - .blastFurnaceTemp(5000) // HSSG - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(plate, Forsterite) + input(RAW_CRYSTAL_CHIP) + fluidInputs(Helium.getFluid(1000)) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(45 * SECOND) + blastFurnaceTemp(5000) // HSSG + } + + BLAST_RECIPES.addRecipe { + input(plate, Aegirine) + input(RAW_CRYSTAL_CHIP) + fluidInputs(Helium.getFluid(1000)) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(45 * SECOND) + blastFurnaceTemp(5000) // HSSG + } + + BLAST_RECIPES.addRecipe { + input(plate, Jade) + input(RAW_CRYSTAL_CHIP) + fluidInputs(Helium.getFluid(1000)) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(45 * SECOND) + blastFurnaceTemp(5000) // HSSG + } + + BLAST_RECIPES.addRecipe { + input(plate, Prasiolite) + input(RAW_CRYSTAL_CHIP) + fluidInputs(Helium.getFluid(1000)) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(45 * SECOND) + blastFurnaceTemp(5000) // HSSG + } // Dielectric Mirror - MOLECULAR_BEAM_RECIPES.recipeBuilder() - .input(foil, PolyvinylButyral) - .input(dust, ErbiumDopedZBLANGlass, 2) - .input(dust, PraseodymiumDopedZBLANGlass, 2) - .input(dust, TantalumPentoxide, 7) - .output(DIELECTRIC_MIRROR) - .EUt(VA[LuV]) - .duration(30 * SECOND) - .temperature(2820) - .buildAndRegister() + MOLECULAR_BEAM_RECIPES.addRecipe { + input(foil, PolyvinylButyral) + input(dust, ErbiumDopedZBLANGlass, 2) + input(dust, PraseodymiumDopedZBLANGlass, 2) + input(dust, TantalumPentoxide, 7) + output(DIELECTRIC_MIRROR) + EUt(VA[LuV]) + duration(30 * SECOND) + temperature(2820) + } // Crystal Central Processing Unit (Crystal CPU) - GTRecipeHandler.removeRecipesByInputs(LASER_ENGRAVER_RECIPES, - OreDictUnifier.get(craftingLens, MarkerMaterials.Color.Lime), + LASER_ENGRAVER_RECIPES.removeRecipe( + OreDictUnifier.get(craftingLens, Color.Lime), ENGRAVED_CRYSTAL_CHIP.stackForm) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(DIELECTRIC_MIRROR) - .notConsumable(craftingLens, MarkerMaterials.Color.Lime) - .input(ENGRAVED_CRYSTAL_CHIP) - .output(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .EUt(10000) // LuV - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(DIELECTRIC_MIRROR) + notConsumable(craftingLens, Color.Lime) + input(ENGRAVED_CRYSTAL_CHIP) + output(CRYSTAL_CENTRAL_PROCESSING_UNIT) + EUt(10000) // LuV + duration(5 * SECOND) + cleanroom() + } } private fun systemOnChipRecipes() { // Deleted original SoC recipes. - GTRecipeHandler.removeRecipesByInputs(LASER_ENGRAVER_RECIPES, + LASER_ENGRAVER_RECIPES.removeRecipe( CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, - OreDictUnifier.get(craftingLens, MarkerMaterials.Color.Blue)) + OreDictUnifier.get(craftingLens, Color.Blue)) // c-ZrO2 + Eu -> Eu-doped c-ZrO2 Boule - CRYSTALLIZATION_RECIPES.recipeBuilder() - .input(dust, CubicZirconia, 64) - .input(dust, Europium, 8) - .output(EUROPIUM_DOPED_CUBIC_ZIRCONIA_BOULE) - .EUt(VA[MV]) - .duration(6 * SECOND) - .blastFurnaceTemp(3000) // Nichrome - .buildAndRegister() + CRYSTALLIZATION_RECIPES.addRecipe { + input(dust, CubicZirconia, 64) + input(dust, Europium, 8) + output(EUROPIUM_DOPED_CUBIC_ZIRCONIA_BOULE) + EUt(VA[MV]) + duration(6 * SECOND) + blastFurnaceTemp(3000) // Nichrome + } // Eu-doped c-ZrO2 Boule -> Eu-doped c-ZrO2 Wafer - CUTTER_RECIPES.recipeBuilder() - .input(EUROPIUM_DOPED_CUBIC_ZIRCONIA_BOULE) - .fluidInputs(Lubricant.getFluid(100)) - .output(EUROPIUM_DOPED_CUBIC_ZIRCONIA_WAFER, 8) - .EUt(VA[HV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(EUROPIUM_DOPED_CUBIC_ZIRCONIA_BOULE) + fluidInputs(Lubricant.getFluid(100)) + output(EUROPIUM_DOPED_CUBIC_ZIRCONIA_WAFER, 8) + EUt(VA[HV]) + duration(5 * SECOND) + cleanroom() + } // Eu-doped c-ZrO2 Wafer -> Crystal Interface Wafer - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, NetherStar) - .input(EUROPIUM_DOPED_CUBIC_ZIRCONIA_WAFER) - .output(CRYSTAL_INTERFACE_WAFER) - .EUt(VA[LuV]) - .duration(1 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, NetherStar) + input(EUROPIUM_DOPED_CUBIC_ZIRCONIA_WAFER) + output(CRYSTAL_INTERFACE_WAFER) + EUt(VA[LuV]) + duration(1 * SECOND) + cleanroom() + } // Crystal Interface Wafer -> Crystal Interface Chip - CUTTER_RECIPES.recipeBuilder() - .input(CRYSTAL_INTERFACE_WAFER) - .fluidInputs(Lubricant.getFluid(100)) - .output(CRYSTAL_INTERFACE_CHIP, 8) - .EUt(VA[HV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(CRYSTAL_INTERFACE_WAFER) + fluidInputs(Lubricant.getFluid(100)) + output(CRYSTAL_INTERFACE_CHIP, 8) + EUt(VA[HV]) + duration(5 * SECOND) + cleanroom() + } // Diamond Modulator - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ENGRAVED_DIAMOND_CHIP) - .input(PLASTIC_CIRCUIT_BOARD) - .input(wireFine, Palladium, 8) - .input(bolt, Platinum, 4) - .output(DIAMOND_MODULATOR, 8) - .EUt(VA[IV]) - .duration(10 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ENGRAVED_DIAMOND_CHIP) + input(PLASTIC_CIRCUIT_BOARD) + input(wireFine, Palladium, 8) + input(bolt, Platinum, 4) + output(DIAMOND_MODULATOR, 8) + EUt(VA[IV]) + duration(10 * SECOND) + solderMultiplier(1) + cleanroom() + } // Ruby Modulator - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ENGRAVED_RUBY_CHIP) - .input(PLASTIC_CIRCUIT_BOARD) - .input(wireFine, Palladium, 8) - .input(bolt, Platinum, 4) - .output(RUBY_MODULATOR, 8) - .EUt(VA[IV]) - .duration(10 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ENGRAVED_RUBY_CHIP) + input(PLASTIC_CIRCUIT_BOARD) + input(wireFine, Palladium, 8) + input(bolt, Platinum, 4) + output(RUBY_MODULATOR, 8) + EUt(VA[IV]) + duration(10 * SECOND) + solderMultiplier(1) + cleanroom() + } // Sapphire Modulator - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ENGRAVED_SAPPHIRE_CHIP) - .input(PLASTIC_CIRCUIT_BOARD) - .input(wireFine, Palladium, 8) - .input(bolt, Platinum, 4) - .output(SAPPHIRE_MODULATOR, 8) - .EUt(VA[IV]) - .duration(10 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ENGRAVED_SAPPHIRE_CHIP) + input(PLASTIC_CIRCUIT_BOARD) + input(wireFine, Palladium, 8) + input(bolt, Platinum, 4) + output(SAPPHIRE_MODULATOR, 8) + EUt(VA[IV]) + duration(10 * SECOND) + solderMultiplier(1) + cleanroom() + } // Crystal SoC Socket - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(CRYSTAL_INTERFACE_CHIP) - .input(DIAMOND_MODULATOR) - .input(RUBY_MODULATOR) - .input(SAPPHIRE_MODULATOR) - .input(wireFine, Europium, 4) - .output(CRYSTAL_SOC_SOCKET) - .EUt(VA[LuV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(CRYSTAL_INTERFACE_CHIP) + input(DIAMOND_MODULATOR) + input(RUBY_MODULATOR) + input(SAPPHIRE_MODULATOR) + input(wireFine, Europium, 4) + output(CRYSTAL_SOC_SOCKET) + EUt(VA[LuV]) + duration(5 * SECOND) + cleanroom() + } // Crystal SoC - FORMING_PRESS_RECIPES.recipeBuilder() - .input(CRYSTAL_SOC_SOCKET) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .output(CRYSTAL_SYSTEM_ON_CHIP) - .EUt(VA[ZPM]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - + FORMING_PRESS_RECIPES.addRecipe { + input(CRYSTAL_SOC_SOCKET) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + output(CRYSTAL_SYSTEM_ON_CHIP) + EUt(VA[ZPM]) + duration(5 * SECOND) + cleanroom() + } } private fun circuitRecipes() { // IV Crystal Processor - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ELITE_CIRCUIT_BOARD.stackForm, - CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.getStackForm(2), - ADVANCED_SMD_CAPACITOR.getStackForm(6), - ADVANCED_SMD_TRANSISTOR.getStackForm(6), - OreDictUnifier.get(wireFine, NiobiumTitanium, 8)), + CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, + NANO_CENTRAL_PROCESSING_UNIT.getStackForm(2), + ADVANCED_SMD_CAPACITOR.getStackForm(6), + ADVANCED_SMD_TRANSISTOR.getStackForm(6), + OreDictUnifier.get(wireFine, NiobiumTitanium, 8)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ELITE_CIRCUIT_BOARD.stackForm, - CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.getStackForm(2), - ADVANCED_SMD_CAPACITOR.getStackForm(6), - ADVANCED_SMD_TRANSISTOR.getStackForm(6), - OreDictUnifier.get(wireFine, NiobiumTitanium, 8)), + CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, + NANO_CENTRAL_PROCESSING_UNIT.getStackForm(2), + ADVANCED_SMD_CAPACITOR.getStackForm(6), + ADVANCED_SMD_TRANSISTOR.getStackForm(6), + OreDictUnifier.get(wireFine, NiobiumTitanium, 8)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ELITE_CIRCUIT_BOARD.stackForm, - CRYSTAL_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, NiobiumTitanium, 8), - OreDictUnifier.get(bolt, YttriumBariumCuprate, 8)), + CRYSTAL_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, NiobiumTitanium, 8), + OreDictUnifier.get(bolt, YttriumBariumCuprate, 8)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ELITE_CIRCUIT_BOARD.stackForm, - CRYSTAL_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, NiobiumTitanium, 8), - OreDictUnifier.get(bolt, YttriumBariumCuprate, 8)), + CRYSTAL_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, NiobiumTitanium, 8), + OreDictUnifier.get(bolt, YttriumBariumCuprate, 8)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(NANO_CENTRAL_PROCESSING_UNIT, 2) - .input(ADVANCED_SMD_CAPACITOR, 4) - .input(ADVANCED_SMD_TRANSISTOR, 4) - .input(wireFine, NiobiumTitanium, 8) - .output(CRYSTAL_PROCESSOR_IV, 4) - .EUt(9600) // LuV - .duration(10 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(NANO_CENTRAL_PROCESSING_UNIT, 2) - .input(GOOWARE_SMD_CAPACITOR) - .input(GOOWARE_SMD_TRANSISTOR) - .input(wireFine, NiobiumTitanium, 8) - .output(CRYSTAL_PROCESSOR_IV, 4) - .EUt(9600) // LuV - .duration(5 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_SYSTEM_ON_CHIP) - .input(wireFine, NiobiumTitanium, 8) - .input(bolt, YttriumBariumCuprate, 8) - .output(CRYSTAL_PROCESSOR_IV, 8) - .EUt(86000) // ZPM - .duration(2 * SECOND + 10 * TICK) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ELITE_CIRCUIT_BOARD) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(NANO_CENTRAL_PROCESSING_UNIT, 2) + input(ADVANCED_SMD_CAPACITOR, 4) + input(ADVANCED_SMD_TRANSISTOR, 4) + input(wireFine, NiobiumTitanium, 8) + output(CRYSTAL_PROCESSOR_IV, 4) + EUt(9600) // LuV + duration(10 * SECOND) + solderMultiplier(1) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ELITE_CIRCUIT_BOARD) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(NANO_CENTRAL_PROCESSING_UNIT, 2) + input(GOOWARE_SMD_CAPACITOR) + input(GOOWARE_SMD_TRANSISTOR) + input(wireFine, NiobiumTitanium, 8) + output(CRYSTAL_PROCESSOR_IV, 4) + EUt(9600) // LuV + duration(5 * SECOND) + solderMultiplier(1) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ELITE_CIRCUIT_BOARD) + input(CRYSTAL_SYSTEM_ON_CHIP) + input(wireFine, NiobiumTitanium, 8) + input(bolt, YttriumBariumCuprate, 8) + output(CRYSTAL_PROCESSOR_IV, 8) + EUt(86000) // ZPM + duration(2 * SECOND + 10 * TICK) + solderMultiplier(1) + cleanroom() + } // LuV Crystal Processor Assembly - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ELITE_CIRCUIT_BOARD.stackForm, - CRYSTAL_PROCESSOR_IV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.getStackForm(4), - ADVANCED_SMD_CAPACITOR.getStackForm(8), - RANDOM_ACCESS_MEMORY.getStackForm(24), - OreDictUnifier.get(wireFine, NiobiumTitanium, 16)), + CRYSTAL_PROCESSOR_IV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.getStackForm(4), + ADVANCED_SMD_CAPACITOR.getStackForm(8), + RANDOM_ACCESS_MEMORY.getStackForm(24), + OreDictUnifier.get(wireFine, NiobiumTitanium, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ELITE_CIRCUIT_BOARD.stackForm, - CRYSTAL_PROCESSOR_IV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.getStackForm(4), - ADVANCED_SMD_CAPACITOR.getStackForm(8), - RANDOM_ACCESS_MEMORY.getStackForm(24), - OreDictUnifier.get(wireFine, NiobiumTitanium, 16)), + CRYSTAL_PROCESSOR_IV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.getStackForm(4), + ADVANCED_SMD_CAPACITOR.getStackForm(8), + RANDOM_ACCESS_MEMORY.getStackForm(24), + OreDictUnifier.get(wireFine, NiobiumTitanium, 16)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_PROCESSOR_IV, 4) - .input(ADVANCED_SMD_INDUCTOR, 4) - .input(ADVANCED_SMD_CAPACITOR, 8) - .input(RANDOM_ACCESS_MEMORY, 24) - .input(wireFine, NiobiumTitanium, 16) - .output(CRYSTAL_ASSEMBLY_LUV, 3) - .EUt(9600) // LuV - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_PROCESSOR_IV, 4) - .input(GOOWARE_SMD_INDUCTOR) - .input(GOOWARE_SMD_CAPACITOR, 2) - .input(RANDOM_ACCESS_MEMORY, 24) - .input(wireFine, NiobiumTitanium, 16) - .output(CRYSTAL_ASSEMBLY_LUV, 3) - .EUt(9600) // LuV - .duration(10 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ELITE_CIRCUIT_BOARD) + input(CRYSTAL_PROCESSOR_IV, 4) + input(ADVANCED_SMD_INDUCTOR, 4) + input(ADVANCED_SMD_CAPACITOR, 8) + input(RANDOM_ACCESS_MEMORY, 24) + input(wireFine, NiobiumTitanium, 16) + output(CRYSTAL_ASSEMBLY_LUV, 3) + EUt(9600) // LuV + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ELITE_CIRCUIT_BOARD) + input(CRYSTAL_PROCESSOR_IV, 4) + input(GOOWARE_SMD_INDUCTOR) + input(GOOWARE_SMD_CAPACITOR, 2) + input(RANDOM_ACCESS_MEMORY, 24) + input(wireFine, NiobiumTitanium, 16) + output(CRYSTAL_ASSEMBLY_LUV, 3) + EUt(9600) // LuV + duration(10 * SECOND) + solderMultiplier(2) + cleanroom() + } // ZPM Crystal Supercomputer - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ELITE_CIRCUIT_BOARD.stackForm, - CRYSTAL_ASSEMBLY_LUV.getStackForm(2), - RANDOM_ACCESS_MEMORY.getStackForm(4), - NOR_MEMORY_CHIP.getStackForm(32), - NAND_MEMORY_CHIP.getStackForm(64), - OreDictUnifier.get(wireFine, NiobiumTitanium, 32)), + CRYSTAL_ASSEMBLY_LUV.getStackForm(2), + RANDOM_ACCESS_MEMORY.getStackForm(4), + NOR_MEMORY_CHIP.getStackForm(32), + NAND_MEMORY_CHIP.getStackForm(64), + OreDictUnifier.get(wireFine, NiobiumTitanium, 32)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ELITE_CIRCUIT_BOARD.stackForm, - CRYSTAL_ASSEMBLY_LUV.getStackForm(2), - RANDOM_ACCESS_MEMORY.getStackForm(4), - NOR_MEMORY_CHIP.getStackForm(32), - NAND_MEMORY_CHIP.getStackForm(64), - OreDictUnifier.get(wireFine, NiobiumTitanium, 32)), + CRYSTAL_ASSEMBLY_LUV.getStackForm(2), + RANDOM_ACCESS_MEMORY.getStackForm(4), + NOR_MEMORY_CHIP.getStackForm(32), + NAND_MEMORY_CHIP.getStackForm(64), + OreDictUnifier.get(wireFine, NiobiumTitanium, 32)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_ASSEMBLY_LUV, 3) - .input(RANDOM_ACCESS_MEMORY, 4) - .input(NOR_MEMORY_CHIP, 32) - .input(NAND_MEMORY_CHIP, 64) - .input(wireFine, NiobiumTitanium, 32) - .output(CRYSTAL_COMPUTER_ZPM, 2) - .EUt(9600) // LuV - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ELITE_CIRCUIT_BOARD) + input(CRYSTAL_ASSEMBLY_LUV, 3) + input(RANDOM_ACCESS_MEMORY, 4) + input(NOR_MEMORY_CHIP, 32) + input(NAND_MEMORY_CHIP, 64) + input(wireFine, NiobiumTitanium, 32) + output(CRYSTAL_COMPUTER_ZPM, 2) + EUt(9600) // LuV + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } // UV Crystal Mainframe - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, HSSE, 2), CRYSTAL_COMPUTER_ZPM.getStackForm(2), RANDOM_ACCESS_MEMORY.getStackForm(32), @@ -495,66 +495,65 @@ internal object CrystalCircuits ADVANCED_SMD_DIODE.getStackForm(8)), arrayOf(SolderingAlloy.getFluid(L * 10))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HSSE) - .input(CRYSTAL_COMPUTER_ZPM, 2) - .input(ADVANCED_SMD_INDUCTOR, 16) - .input(ADVANCED_SMD_CAPACITOR, 16) - .input(ADVANCED_SMD_DIODE, 16) - .input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(RANDOM_ACCESS_MEMORY, 32) - .input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(CRYSTAL_MAINFRAME_UV) - .EUt(VA[LuV]) - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HSSE) + input(CRYSTAL_COMPUTER_ZPM, 2) + input(ADVANCED_SMD_INDUCTOR, 16) + input(ADVANCED_SMD_CAPACITOR, 16) + input(ADVANCED_SMD_DIODE, 16) + input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(RANDOM_ACCESS_MEMORY, 32) + input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 8) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(CRYSTAL_MAINFRAME_UV) + EUt(VA[LuV]) + duration(40 * SECOND) + stationResearch { it.researchStack(CRYSTAL_COMPUTER_ZPM) .EUt(VA[LuV]) .CWUt(16) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HSSE) - .input(CRYSTAL_COMPUTER_ZPM, 2) - .input(GOOWARE_SMD_INDUCTOR, 4) - .input(GOOWARE_SMD_CAPACITOR, 4) - .input(GOOWARE_SMD_DIODE, 4) - .input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(RANDOM_ACCESS_MEMORY, 32) - .input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(CRYSTAL_MAINFRAME_UV) - .EUt(VA[LuV]) - .duration(20 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HSSE) + input(CRYSTAL_COMPUTER_ZPM, 2) + input(GOOWARE_SMD_INDUCTOR, 4) + input(GOOWARE_SMD_CAPACITOR, 4) + input(GOOWARE_SMD_DIODE, 4) + input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(RANDOM_ACCESS_MEMORY, 32) + input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 8) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(CRYSTAL_MAINFRAME_UV) + EUt(VA[LuV]) + duration(20 * SECOND) + stationResearch { it.researchStack(CRYSTAL_COMPUTER_ZPM) .EUt(VA[LuV]) .CWUt(16) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HSSE) - .input(CRYSTAL_COMPUTER_ZPM, 2) - .input(OPTICAL_SMD_INDUCTOR) - .input(OPTICAL_SMD_CAPACITOR) - .input(OPTICAL_SMD_DIODE) - .input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(RANDOM_ACCESS_MEMORY, 32) - .input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(CRYSTAL_MAINFRAME_UV) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HSSE) + input(CRYSTAL_COMPUTER_ZPM, 2) + input(OPTICAL_SMD_INDUCTOR) + input(OPTICAL_SMD_CAPACITOR) + input(OPTICAL_SMD_DIODE) + input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(RANDOM_ACCESS_MEMORY, 32) + input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 8) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(CRYSTAL_MAINFRAME_UV) + EUt(VA[LuV]) + duration(10 * SECOND) + stationResearch { it.researchStack(CRYSTAL_COMPUTER_ZPM) .EUt(VA[LuV]) .CWUt(16) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/ElectronicCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/ElectronicCircuits.kt index a8c55a415..2c1123abe 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/ElectronicCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/ElectronicCircuits.kt @@ -6,7 +6,6 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.ULV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES @@ -14,7 +13,8 @@ import gregtech.api.recipes.RecipeMaps.CIRCUIT_ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.EXTRACTOR_RECIPES import gregtech.api.recipes.ingredients.IntCircuitIngredient import gregtech.api.unification.OreDictUnifier -import gregtech.api.unification.material.MarkerMaterials +import gregtech.api.unification.material.MarkerMaterials.Component +import gregtech.api.unification.material.MarkerMaterials.Tier import gregtech.api.unification.material.Materials.AceticAcid import gregtech.api.unification.material.Materials.AnnealedCopper import gregtech.api.unification.material.Materials.CalciumChloride @@ -59,6 +59,8 @@ import gregtech.common.items.MetaItems.VACUUM_TUBE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.COAGULATION_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EthylenediaminePyrocatechol @@ -82,108 +84,107 @@ internal object ElectronicCircuits private fun circuitBoardRecipes() { // Deleted vanilla recipes of Phenolic board. - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1), OreDictUnifier.get(dust, Wood)), arrayOf(Glue.getFluid(50))) - GTRecipeHandler.removeRecipesByInputs(EXTRACTOR_RECIPES, - OreDictUnifier.get(dust, Resin)) + EXTRACTOR_RECIPES.removeRecipe(OreDictUnifier.get(dust, Resin)) // Coagulate resin liquid to dust. - COAGULATION_RECIPES.recipeBuilder() - .circuitMeta(1) - .notConsumable(stick, Iron) - .fluidInputs(Resin.getFluid(1000)) - .output(dust, Resin) - .duration(5 * SECOND) - .buildAndRegister() - - COAGULATION_RECIPES.recipeBuilder() - .notConsumable(stick, Iron) - .notConsumable(dust, CalciumChloride) - .fluidInputs(Resin.getFluid(1000)) - .output(dust, Resin) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() - - COAGULATION_RECIPES.recipeBuilder() - .notConsumable(stick, Iron) - .notConsumable(SulfuricAcid.getFluid(1)) - .fluidInputs(Resin.getFluid(1000)) - .output(dust, Resin) - .duration(1 * SECOND) - .buildAndRegister() - - COAGULATION_RECIPES.recipeBuilder() - .notConsumable(stick, Iron) - .notConsumable(AceticAcid.getFluid(1)) - .fluidInputs(Resin.getFluid(1000)) - .output(dust, Resin) - .duration(5 * TICK) - .buildAndRegister() + COAGULATION_RECIPES.addRecipe { + circuitMeta(1) + notConsumable(stick, Iron) + fluidInputs(Resin.getFluid(1000)) + output(dust, Resin) + duration(5 * SECOND) + } + + COAGULATION_RECIPES.addRecipe { + notConsumable(stick, Iron) + notConsumable(dust, CalciumChloride) + fluidInputs(Resin.getFluid(1000)) + output(dust, Resin) + duration(2 * SECOND + 5 * TICK) + } + + COAGULATION_RECIPES.addRecipe { + notConsumable(stick, Iron) + notConsumable(SulfuricAcid.getFluid(1)) + fluidInputs(Resin.getFluid(1000)) + output(dust, Resin) + duration(1 * SECOND) + } + + COAGULATION_RECIPES.addRecipe { + notConsumable(stick, Iron) + notConsumable(AceticAcid.getFluid(1)) + fluidInputs(Resin.getFluid(1000)) + output(dust, Resin) + duration(5 * TICK) + } // New phenolic board recipes. - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Resin) - .fluidInputs(Glue.getFluid(50)) - .output(PHENOLIC_BOARD) - .EUt(VA[LV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Resin) + fluidInputs(Glue.getFluid(50)) + output(PHENOLIC_BOARD) + EUt(VA[LV]) + duration(7 * SECOND + 10 * TICK) + } // Add advanced recipes of phenolic board. - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Epoxy) - .fluidInputs(Glue.getFluid(50)) - .output(PHENOLIC_BOARD, 8) - .EUt(VA[LV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, ReinforcedEpoxyResin) - .fluidInputs(Glue.getFluid(50)) - .output(PHENOLIC_BOARD, 16) - .EUt(VA[LV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Epoxy) + fluidInputs(Glue.getFluid(50)) + output(PHENOLIC_BOARD, 8) + EUt(VA[LV]) + duration(7 * SECOND + 10 * TICK) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, ReinforcedEpoxyResin) + fluidInputs(Glue.getFluid(50)) + output(PHENOLIC_BOARD, 16) + EUt(VA[LV]) + duration(7 * SECOND + 10 * TICK) + } // Advanced recipes of basic circuit board. - ASSEMBLER_RECIPES.recipeBuilder() - .input(foil, AnnealedCopper, 4) - .input(plate, Wood) - .fluidInputs(Glue.getFluid(100)) - .output(BASIC_CIRCUIT_BOARD, 4) - .EUt(7) // ULV - .duration(10 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .input(foil, Cupronickel, 4) - .input(plate, Wood) - .fluidInputs(Glue.getFluid(100)) - .output(BASIC_CIRCUIT_BOARD, 16) - .EUt(7) // ULV - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(foil, AnnealedCopper, 4) + input(plate, Wood) + fluidInputs(Glue.getFluid(100)) + output(BASIC_CIRCUIT_BOARD, 4) + EUt(7) // ULV + duration(10 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + input(foil, Cupronickel, 4) + input(plate, Wood) + fluidInputs(Glue.getFluid(100)) + output(BASIC_CIRCUIT_BOARD, 16) + EUt(7) // ULV + duration(10 * SECOND) + } // Advanced etching liquids recipe addition. for (etchingLiquid in arrayOf( TetramethylammoniumHydroxide.getFluid(50), EthylenediaminePyrocatechol.getFluid(25))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(foil, Silver, 4) - .input(PHENOLIC_BOARD) - .fluidInputs(etchingLiquid) - .output(GOOD_CIRCUIT_BOARD) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(foil, Silver, 4) + input(PHENOLIC_BOARD) + fluidInputs(etchingLiquid) + output(GOOD_CIRCUIT_BOARD) + EUt(VA[LV]) + duration(15 * SECOND) + } } } @@ -217,78 +218,77 @@ internal object ElectronicCircuits 'B', UnificationEntry(bolt, Steel), 'D', UnificationEntry(dustSmall, Quicklime)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(wireFine, Cupronickel) - .input(foil, Nickel, 2) - .input(bolt, Steel, 4) - .output(VACUUM_TUBE_COMPONENT, 6) - .EUt(VA[LV]) - .duration(20 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(wireFine, Cupronickel) - .input(foil, Molybdenum, 2) - .input(bolt, Steel, 4) - .output(VACUUM_TUBE_COMPONENT, 12) - .EUt(VA[LV]) - .duration(20 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(wireFine, Cupronickel) - .input(foil, Nickel, 2) - .input(bolt, Steel, 4) - .input(dustSmall, Quicklime) - .output(VACUUM_TUBE_COMPONENT, 8) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(wireFine, Cupronickel) - .input(foil, Molybdenum, 2) - .input(bolt, Steel, 4) - .input(dustSmall, Quicklime) - .output(VACUUM_TUBE_COMPONENT, 16) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(wireFine, Cupronickel) + input(foil, Nickel, 2) + input(bolt, Steel, 4) + output(VACUUM_TUBE_COMPONENT, 6) + EUt(VA[LV]) + duration(20 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(wireFine, Cupronickel) + input(foil, Molybdenum, 2) + input(bolt, Steel, 4) + output(VACUUM_TUBE_COMPONENT, 12) + EUt(VA[LV]) + duration(20 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(wireFine, Cupronickel) + input(foil, Nickel, 2) + input(bolt, Steel, 4) + input(dustSmall, Quicklime) + output(VACUUM_TUBE_COMPONENT, 8) + EUt(VA[LV]) + duration(10 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(wireFine, Cupronickel) + input(foil, Molybdenum, 2) + input(bolt, Steel, 4) + input(dustSmall, Quicklime) + output(VACUUM_TUBE_COMPONENT, 16) + EUt(VA[LV]) + duration(10 * SECOND) + } // Vacuum Tube ModHandler.removeRecipeByName("${GTValues.MODID}:vacuum_tube") - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( GLASS_TUBE.stackForm, OreDictUnifier.get(bolt, Steel, 2), OreDictUnifier.get(wireGtSingle, Copper, 2), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(GLASS_TUBE.stackForm, OreDictUnifier.get(bolt, Steel, 2), OreDictUnifier.get(wireGtSingle, Copper, 2)), arrayOf(RedAlloy.getFluid(L / 8))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(GLASS_TUBE.stackForm, OreDictUnifier.get(bolt, Steel, 2), OreDictUnifier.get(wireGtSingle, AnnealedCopper, 2)), arrayOf(RedAlloy.getFluid(L / 8))) // Vacuum Tube - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .input(GLASS_TUBE) - .input(VACUUM_TUBE_COMPONENT) - .input(ring, Kovar) - .output(VACUUM_TUBE, 2) - .EUt(VA[ULV]) - .duration(5 * SECOND) - .buildAndRegister() - + VACUUM_CHAMBER_RECIPES.addRecipe { + input(GLASS_TUBE) + input(VACUUM_TUBE_COMPONENT) + input(ring, Kovar) + output(VACUUM_TUBE, 2) + EUt(VA[ULV]) + duration(5 * SECOND) + } } private fun circuitRecipes() @@ -303,28 +303,28 @@ internal object ElectronicCircuits 'C', BASIC_CIRCUIT_BOARD, 'W', UnificationEntry(cableGtSingle, RedAlloy)) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(BASIC_CIRCUIT_BOARD.stackForm, - OreDictUnifier.get(component, MarkerMaterials.Component.Resistor, 2), + OreDictUnifier.get(component, Component.Resistor, 2), OreDictUnifier.get(wireGtSingle, RedAlloy, 2), VACUUM_TUBE.getStackForm(2)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(BASIC_CIRCUIT_BOARD.stackForm, - OreDictUnifier.get(component, MarkerMaterials.Component.Resistor, 2), - OreDictUnifier.get(wireGtSingle, RedAlloy, 2), - VACUUM_TUBE.getStackForm(2)), + OreDictUnifier.get(component, Component.Resistor, 2), + OreDictUnifier.get(wireGtSingle, RedAlloy, 2), + VACUUM_TUBE.getStackForm(2)), arrayOf(SolderingAlloy.getFluid(L / 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(BASIC_CIRCUIT_BOARD) - .input(component, MarkerMaterials.Component.Resistor, 2) - .input(VACUUM_TUBE, 2) - .input(wireGtSingle, RedAlloy, 2) - .output(ELECTRONIC_CIRCUIT_LV, 4) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(BASIC_CIRCUIT_BOARD) + input(component, Component.Resistor, 2) + input(VACUUM_TUBE, 2) + input(wireGtSingle, RedAlloy, 2) + output(ELECTRONIC_CIRCUIT_LV, 4) + EUt(VH[LV]) + duration(10 * SECOND) + } // Deleted original recipes for Electronic Circuit MV (player do not // need steel plate to make it yet and x2 product). @@ -336,29 +336,28 @@ internal object ElectronicCircuits 'C', GOOD_CIRCUIT_BOARD, 'W', UnificationEntry(wireGtSingle, Copper)) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(GOOD_CIRCUIT_BOARD.stackForm, - OreDictUnifier.get(circuit, MarkerMaterials.Tier.LV, 2), - OreDictUnifier.get(component, MarkerMaterials.Component.Diode, 2), + OreDictUnifier.get(circuit, Tier.LV, 2), + OreDictUnifier.get(component, Component.Diode, 2), OreDictUnifier.get(wireGtSingle, Copper, 2)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(GOOD_CIRCUIT_BOARD.stackForm, - OreDictUnifier.get(circuit, MarkerMaterials.Tier.LV, 2), - OreDictUnifier.get(component, MarkerMaterials.Component.Diode, 2), - OreDictUnifier.get(wireGtSingle, Copper, 2)), + OreDictUnifier.get(circuit, Tier.LV, 2), + OreDictUnifier.get(component, Component.Diode, 2), + OreDictUnifier.get(wireGtSingle, Copper, 2)), arrayOf(SolderingAlloy.getFluid(L / 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(GOOD_CIRCUIT_BOARD) - .input(ELECTRONIC_CIRCUIT_LV, 2) // Make sure this input circuit cannot be other circuits. - .input(component, MarkerMaterials.Component.Diode, 2) - .input(wireGtSingle, Copper, 2) - .output(ELECTRONIC_CIRCUIT_MV, 2) - .EUt(VH[LV]) - .duration(15 * SECOND) - .buildAndRegister() - + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(GOOD_CIRCUIT_BOARD) + input(ELECTRONIC_CIRCUIT_LV, 2) // Make sure this input circuit cannot be other circuits. + input(component, Component.Diode, 2) + input(wireGtSingle, Copper, 2) + output(ELECTRONIC_CIRCUIT_MV, 2) + EUt(VH[LV]) + duration(15 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/GoowareCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/GoowareCircuits.kt index 83dff83e8..2a8811551 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/GoowareCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/GoowareCircuits.kt @@ -11,7 +11,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VHA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.CANNER_RECIPES @@ -63,6 +62,8 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES @@ -136,15 +137,15 @@ internal object GoowareCircuits private fun circuitBoardRecipes() { // Gooware Board - CVD_RECIPES.recipeBuilder() - .input(plate, KaptonE) - .input(foil, YttriumBariumCuprate, 24) - .fluidInputs(FluorinatedEthylenePropylene.getFluid(L)) - .output(GOOWARE_BOARD) - .EUt(VA[UV]) - .duration(2 * SECOND) - .temperature(493) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(plate, KaptonE) + input(foil, YttriumBariumCuprate, 24) + fluidInputs(FluorinatedEthylenePropylene.getFluid(L)) + output(GOOWARE_BOARD) + EUt(VA[UV]) + duration(2 * SECOND) + temperature(493) + } // Gooware Circuit Board for (etchingLiquid in arrayOf( @@ -153,422 +154,421 @@ internal object GoowareCircuits TetramethylammoniumHydroxide.getFluid(16000), EthylenediaminePyrocatechol.getFluid(8000))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(GOOWARE_BOARD) - .input(foil, Europium, 32) - .fluidInputs(etchingLiquid) - .output(ULTIMATE_CIRCUIT_BOARD) - .EUt(VA[EV]) - .duration(1 * MINUTE + 45 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(GOOWARE_BOARD) + input(foil, Europium, 32) + fluidInputs(etchingLiquid) + output(ULTIMATE_CIRCUIT_BOARD) + EUt(VA[EV]) + duration(1 * MINUTE + 45 * SECOND) + cleanroom() + } } } private fun smdRecipes() { // C6H4(OH)(NH2) + C3H8O3 + O -> C9H7NO + 4H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Aminophenol, 15) - .notConsumable(Nitrobenzene.getFluid(1)) - .fluidInputs(Glycerol.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, Hydroxyquinoline, 18) - .fluidOutputs(Water.getFluid(4000)) - .EUt(VA[IV]) - .duration(13 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Aminophenol, 15) + notConsumable(Nitrobenzene.getFluid(1)) + fluidInputs(Glycerol.getFluid(1000)) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, Hydroxyquinoline, 18) + fluidOutputs(Water.getFluid(4000)) + EUt(VA[IV]) + duration(13 * SECOND) + } // Al + C9H7NO -> Al(C9H7NO) - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, Aluminium, 1) - .input(dust, Hydroxyquinoline, 18) - .output(dust, HydroxyquinolineAluminium, 19) - .EUt(VA[ZPM]) - .duration(8 * SECOND + 10 * TICK) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, Aluminium, 1) + input(dust, Hydroxyquinoline, 18) + output(dust, HydroxyquinolineAluminium, 19) + EUt(VA[ZPM]) + duration(8 * SECOND + 10 * TICK) + } // Another recipe for H2SeO3 for these chemistry processing. // Se + H2O + 2O -> H2SeO3 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Selenium) - .fluidInputs(Water.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, SelenousAcid, 6) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Selenium) + fluidInputs(Water.getFluid(1000)) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, SelenousAcid, 6) + EUt(VA[HV]) + duration(5 * SECOND) + } // H2SeO3 + O -> H2SeO4 - ROASTER_RECIPES.recipeBuilder() - .input(dust, SelenousAcid, 6) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(HydroselenicAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, SelenousAcid, 6) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(HydroselenicAcid.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND) + } // Cu + Ga + In + 2H2SeO4 -> CuGaInSe2 + 2H2O + 6O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Copper) - .input(dust, Gallium) - .input(dust, Indium) - .fluidInputs(HydroselenicAcid.getFluid(2000)) - .output(dust, CopperGalliumIndiumSelenide, 5) - .fluidOutputs(Oxygen.getFluid(6000)) - .fluidOutputs(Steam.getFluid(2 * SU)) - .EUt(VA[LuV]) - .duration(5 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Copper) + input(dust, Gallium) + input(dust, Indium) + fluidInputs(HydroselenicAcid.getFluid(2000)) + output(dust, CopperGalliumIndiumSelenide, 5) + fluidOutputs(Oxygen.getFluid(6000)) + fluidOutputs(Steam.getFluid(2 * SU)) + EUt(VA[LuV]) + duration(5 * SECOND) + } // Gooware SMD Transistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(foil, HydroxyquinolineAluminium) - .input(wireFine, CopperGalliumIndiumSelenide, 8) - .fluidInputs(KaptonK.getFluid(L)) - .output(GOOWARE_SMD_TRANSISTOR, 16) - .EUt(VA[ZPM]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(foil, HydroxyquinolineAluminium) + input(wireFine, CopperGalliumIndiumSelenide, 8) + fluidInputs(KaptonK.getFluid(L)) + output(GOOWARE_SMD_TRANSISTOR, 16) + EUt(VA[ZPM]) + duration(8 * SECOND) + cleanroom() + } // Gooware SMD Resistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, ZBLANGlass) - .input(wireFine, Osmiridium, 4) - .fluidInputs(KaptonK.getFluid(L * 2)) - .output(GOOWARE_SMD_RESISTOR, 16) - .EUt(VA[ZPM]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, ZBLANGlass) + input(wireFine, Osmiridium, 4) + fluidInputs(KaptonK.getFluid(L * 2)) + output(GOOWARE_SMD_RESISTOR, 16) + EUt(VA[ZPM]) + duration(8 * SECOND) + cleanroom() + } // Ba + 2H2O -> Ba(OH)2 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Barium) - .fluidInputs(Water.getFluid(2000)) - .output(dust, BariumHydroxide, 5) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[MV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Barium) + fluidInputs(Water.getFluid(2000)) + output(dust, BariumHydroxide, 5) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[MV]) + duration(4 * SECOND + 10 * TICK) + } // Ba(OH)2 + TiCl4 + H2O -> BaTiO3 + 4HCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, BariumHydroxide, 5) - .fluidInputs(TitaniumTetrachloride.getFluid(1000)) - .fluidInputs(Water.getFluid(1000)) - .output(dust, BariumTitanate, 5) - .fluidOutputs(HydrochloricAcid.getFluid(4000)) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, BariumHydroxide, 5) + fluidInputs(TitaniumTetrachloride.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + output(dust, BariumTitanate, 5) + fluidOutputs(HydrochloricAcid.getFluid(4000)) + EUt(VA[IV]) + duration(5 * SECOND) + } // Gooware SMD Capacitor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(foil, PedotPSS) - .input(foil, BariumTitanate) - .fluidInputs(KaptonK.getFluid(L / 2)) - .output(GOOWARE_SMD_CAPACITOR, 16) - .EUt(VA[ZPM]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(foil, PedotPSS) + input(foil, BariumTitanate) + fluidInputs(KaptonK.getFluid(L / 2)) + output(GOOWARE_SMD_CAPACITOR, 16) + EUt(VA[ZPM]) + duration(8 * SECOND) + cleanroom() + } // Gooware SMD Diode - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, CubicZirconia) - .input(wireFine, PedotTMA, 8) - .fluidInputs(KaptonK.getFluid(L * 2)) - .output(GOOWARE_SMD_DIODE, 64) - .EUt(VA[ZPM]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, CubicZirconia) + input(wireFine, PedotTMA, 8) + fluidInputs(KaptonK.getFluid(L * 2)) + output(GOOWARE_SMD_DIODE, 64) + EUt(VA[ZPM]) + duration(8 * SECOND) + cleanroom() + } // Gooware SMD Inductor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ring, SamariumCobalt) - .input(wireFine, Europium, 4) - .fluidInputs(KaptonK.getFluid(L)) - .output(GOOWARE_SMD_INDUCTOR, 16) - .EUt(VA[ZPM]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(ring, SamariumCobalt) + input(wireFine, Europium, 4) + fluidInputs(KaptonK.getFluid(L)) + output(GOOWARE_SMD_INDUCTOR, 16) + EUt(VA[ZPM]) + duration(8 * SECOND) + cleanroom() + } } private fun circuitComponentsRecipes() { // BZ Reaction Chamber - ASSEMBLER_RECIPES.recipeBuilder() - .input(FLUID_CELL_LARGE_STAINLESS_STEEL) - .input(plate, Naquadah, 4) - .input(plate, Ruridit, 2) - .input(bolt, Trinium, 12) - .input(stick, SamariumMagnetic) - .input(rotor, Iridium) - .input(ELECTRIC_MOTOR_LuV) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(BZ_REACTION_CHAMBER) - .EUt(VA[UV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(FLUID_CELL_LARGE_STAINLESS_STEEL) + input(plate, Naquadah, 4) + input(plate, Ruridit, 2) + input(bolt, Trinium, 12) + input(stick, SamariumMagnetic) + input(rotor, Iridium) + input(ELECTRIC_MOTOR_LuV) + fluidInputs(SolderingAlloy.getFluid(L)) + output(BZ_REACTION_CHAMBER) + EUt(VA[UV]) + duration(30 * SECOND) + } // Non-linear Chemical Oscillator - CANNER_RECIPES.recipeBuilder() - .input(BZ_REACTION_CHAMBER) - .fluidInputs(BZMedium.getFluid(500)) - .output(NONLINEAR_CHEMICAL_OSCILLATOR) - .EUt(VA[IV]) - .duration(3 * SECOND) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(BZ_REACTION_CHAMBER) + fluidInputs(BZMedium.getFluid(500)) + output(NONLINEAR_CHEMICAL_OSCILLATOR) + EUt(VA[IV]) + duration(3 * SECOND) + } } private fun circuitRecipes() { // Gooware Processor - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(NONLINEAR_CHEMICAL_OSCILLATOR) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(GOOWARE_SMD_CAPACITOR, 16) - .input(GOOWARE_SMD_TRANSISTOR, 16) - .input(wireFine, Europium, 8) - .output(GOOWARE_PROCESSOR_ZPM, 4) - .EUt(VHA[UV]) - .duration(10 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(NONLINEAR_CHEMICAL_OSCILLATOR) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(OPTICAL_SMD_CAPACITOR, 4) - .input(OPTICAL_SMD_TRANSISTOR, 4) - .input(wireFine, Europium, 8) - .output(GOOWARE_PROCESSOR_ZPM, 4) - .EUt(VHA[UV]) - .duration(5 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(NONLINEAR_CHEMICAL_OSCILLATOR) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(SPINTRONIC_SMD_CAPACITOR) - .input(SPINTRONIC_SMD_TRANSISTOR) - .input(wireFine, Europium, 8) - .output(GOOWARE_PROCESSOR_ZPM, 4) - .EUt(VHA[UV]) - .duration(2 * SECOND + 10 * TICK) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(NONLINEAR_CHEMICAL_OSCILLATOR) - .input(ULTRA_HIGHLY_ADVANCED_SOC_CHIP) - .input(wireFine, Europium, 8) - .input(bolt, Neutronium, 8) - .output(GOOWARE_PROCESSOR_ZPM, 8) - .EUt(VHA[UHV]) - .duration(2 * SECOND + 10 * TICK) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(NONLINEAR_CHEMICAL_OSCILLATOR) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(GOOWARE_SMD_CAPACITOR, 16) + input(GOOWARE_SMD_TRANSISTOR, 16) + input(wireFine, Europium, 8) + output(GOOWARE_PROCESSOR_ZPM, 4) + EUt(VHA[UV]) + duration(10 * SECOND) + solderMultiplier(1) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(NONLINEAR_CHEMICAL_OSCILLATOR) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(OPTICAL_SMD_CAPACITOR, 4) + input(OPTICAL_SMD_TRANSISTOR, 4) + input(wireFine, Europium, 8) + output(GOOWARE_PROCESSOR_ZPM, 4) + EUt(VHA[UV]) + duration(5 * SECOND) + solderMultiplier(1) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(NONLINEAR_CHEMICAL_OSCILLATOR) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(SPINTRONIC_SMD_CAPACITOR) + input(SPINTRONIC_SMD_TRANSISTOR) + input(wireFine, Europium, 8) + output(GOOWARE_PROCESSOR_ZPM, 4) + EUt(VHA[UV]) + duration(2 * SECOND + 10 * TICK) + solderMultiplier(1) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(NONLINEAR_CHEMICAL_OSCILLATOR) + input(ULTRA_HIGHLY_ADVANCED_SOC_CHIP) + input(wireFine, Europium, 8) + input(bolt, Neutronium, 8) + output(GOOWARE_PROCESSOR_ZPM, 8) + EUt(VHA[UHV]) + duration(2 * SECOND + 10 * TICK) + solderMultiplier(1) + cleanroom() + } // Gooware Assembly - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_PROCESSOR_ZPM, 4) - .input(GOOWARE_SMD_INDUCTOR, 16) - .input(GOOWARE_SMD_CAPACITOR, 32) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireFine, Europium, 16) - .output(GOOWARE_ASSEMBLY_UV, 3) - .EUt(VHA[UV]) - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_PROCESSOR_ZPM, 4) - .input(OPTICAL_SMD_INDUCTOR, 4) - .input(OPTICAL_SMD_CAPACITOR, 8) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireFine, Europium, 16) - .output(GOOWARE_ASSEMBLY_UV, 3) - .EUt(VHA[UV]) - .duration(10 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_PROCESSOR_ZPM, 4) - .input(SPINTRONIC_SMD_INDUCTOR) - .input(SPINTRONIC_SMD_CAPACITOR, 2) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireFine, Europium, 16) - .output(GOOWARE_ASSEMBLY_UV, 3) - .EUt(VHA[UV]) - .duration(5 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_PROCESSOR_ZPM, 4) + input(GOOWARE_SMD_INDUCTOR, 16) + input(GOOWARE_SMD_CAPACITOR, 32) + input(ADVANCED_RAM_CHIP, 32) + input(wireFine, Europium, 16) + output(GOOWARE_ASSEMBLY_UV, 3) + EUt(VHA[UV]) + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_PROCESSOR_ZPM, 4) + input(OPTICAL_SMD_INDUCTOR, 4) + input(OPTICAL_SMD_CAPACITOR, 8) + input(ADVANCED_RAM_CHIP, 32) + input(wireFine, Europium, 16) + output(GOOWARE_ASSEMBLY_UV, 3) + EUt(VHA[UV]) + duration(10 * SECOND) + solderMultiplier(2) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_PROCESSOR_ZPM, 4) + input(SPINTRONIC_SMD_INDUCTOR) + input(SPINTRONIC_SMD_CAPACITOR, 2) + input(ADVANCED_RAM_CHIP, 32) + input(wireFine, Europium, 16) + output(GOOWARE_ASSEMBLY_UV, 3) + EUt(VHA[UV]) + duration(5 * SECOND) + solderMultiplier(2) + cleanroom() + } // Gooware Supercomputer - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_ASSEMBLY_UV, 3) - .input(GOOWARE_SMD_DIODE, 8) - .input(NOR_MEMORY_CHIP, 16) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireFine, Europium, 16) - .input(foil, KaptonK, 32) - .input(plate, Americium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .output(GOOWARE_COMPUTER_UHV, 2) - .EUt(VA[UV]) - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_ASSEMBLY_UV, 3) + input(GOOWARE_SMD_DIODE, 8) + input(NOR_MEMORY_CHIP, 16) + input(ADVANCED_RAM_CHIP, 32) + input(wireFine, Europium, 16) + input(foil, KaptonK, 32) + input(plate, Americium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + output(GOOWARE_COMPUTER_UHV, 2) + EUt(VA[UV]) + duration(40 * SECOND) + stationResearch { it.researchStack(GOOWARE_ASSEMBLY_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_ASSEMBLY_UV, 3) - .input(OPTICAL_SMD_DIODE, 2) - .input(NOR_MEMORY_CHIP, 16) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireFine, Europium, 16) - .input(foil, KaptonK, 32) - .input(plate, Americium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .output(GOOWARE_COMPUTER_UHV, 2) - .EUt(VA[UV]) - .duration(20 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_ASSEMBLY_UV, 3) + input(OPTICAL_SMD_DIODE, 2) + input(NOR_MEMORY_CHIP, 16) + input(ADVANCED_RAM_CHIP, 32) + input(wireFine, Europium, 16) + input(foil, KaptonK, 32) + input(plate, Americium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + output(GOOWARE_COMPUTER_UHV, 2) + EUt(VA[UV]) + duration(20 * SECOND) + stationResearch { it.researchStack(GOOWARE_ASSEMBLY_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // Gooware Mainframe - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Darmstadtium) - .input(GOOWARE_COMPUTER_UHV, 2) - .input(GOOWARE_SMD_DIODE, 64) - .input(GOOWARE_SMD_CAPACITOR, 64) - .input(GOOWARE_SMD_TRANSISTOR, 64) - .input(GOOWARE_SMD_RESISTOR, 64) - .input(GOOWARE_SMD_INDUCTOR, 64) - .input(foil, KaptonK, 64) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 16) - .input(plate, Americium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(KaptonE.getFluid(L * 16)) - .output(GOOWARE_MAINFRAME_UEV) - .EUt(VA[UHV]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Darmstadtium) + input(GOOWARE_COMPUTER_UHV, 2) + input(GOOWARE_SMD_DIODE, 64) + input(GOOWARE_SMD_CAPACITOR, 64) + input(GOOWARE_SMD_TRANSISTOR, 64) + input(GOOWARE_SMD_RESISTOR, 64) + input(GOOWARE_SMD_INDUCTOR, 64) + input(foil, KaptonK, 64) + input(ADVANCED_RAM_CHIP, 32) + input(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 16) + input(plate, Americium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(KaptonE.getFluid(L * 16)) + output(GOOWARE_MAINFRAME_UEV) + EUt(VA[UHV]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(GOOWARE_COMPUTER_UHV) .EUt(VA[UHV]) .CWUt(48) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Darmstadtium) - .input(GOOWARE_COMPUTER_UHV, 2) - .input(OPTICAL_SMD_DIODE, 16) - .input(OPTICAL_SMD_CAPACITOR, 16) - .input(OPTICAL_SMD_TRANSISTOR, 16) - .input(OPTICAL_SMD_RESISTOR, 16) - .input(OPTICAL_SMD_INDUCTOR, 16) - .input(foil, KaptonK, 64) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 16) - .input(plate, Americium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(KaptonE.getFluid(L * 16)) - .output(GOOWARE_MAINFRAME_UEV) - .EUt(VA[UHV]) - .duration(45 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Darmstadtium) + input(GOOWARE_COMPUTER_UHV, 2) + input(OPTICAL_SMD_DIODE, 16) + input(OPTICAL_SMD_CAPACITOR, 16) + input(OPTICAL_SMD_TRANSISTOR, 16) + input(OPTICAL_SMD_RESISTOR, 16) + input(OPTICAL_SMD_INDUCTOR, 16) + input(foil, KaptonK, 64) + input(ADVANCED_RAM_CHIP, 32) + input(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 16) + input(plate, Americium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(KaptonE.getFluid(L * 16)) + output(GOOWARE_MAINFRAME_UEV) + EUt(VA[UHV]) + duration(45 * SECOND) + stationResearch { it.researchStack(GOOWARE_COMPUTER_UHV) .EUt(VA[UHV]) .CWUt(48) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Darmstadtium) - .input(GOOWARE_COMPUTER_UHV, 2) - .input(SPINTRONIC_SMD_DIODE, 4) - .input(SPINTRONIC_SMD_CAPACITOR, 4) - .input(SPINTRONIC_SMD_TRANSISTOR, 4) - .input(SPINTRONIC_SMD_RESISTOR, 4) - .input(SPINTRONIC_SMD_INDUCTOR, 4) - .input(foil, KaptonK, 64) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 16) - .input(plate, Americium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(KaptonE.getFluid(L * 16)) - .output(GOOWARE_MAINFRAME_UEV) - .EUt(VA[UHV]) - .duration(25 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Darmstadtium) + input(GOOWARE_COMPUTER_UHV, 2) + input(SPINTRONIC_SMD_DIODE, 4) + input(SPINTRONIC_SMD_CAPACITOR, 4) + input(SPINTRONIC_SMD_TRANSISTOR, 4) + input(SPINTRONIC_SMD_RESISTOR, 4) + input(SPINTRONIC_SMD_INDUCTOR, 4) + input(foil, KaptonK, 64) + input(ADVANCED_RAM_CHIP, 32) + input(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 16) + input(plate, Americium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(KaptonE.getFluid(L * 16)) + output(GOOWARE_MAINFRAME_UEV) + EUt(VA[UHV]) + duration(25 * SECOND) + stationResearch { it.researchStack(GOOWARE_COMPUTER_UHV) .EUt(VA[UHV]) .CWUt(48) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Darmstadtium) - .input(GOOWARE_COMPUTER_UHV, 2) - .input(COSMIC_SMD_DIODE) - .input(COSMIC_SMD_CAPACITOR) - .input(COSMIC_SMD_TRANSISTOR) - .input(COSMIC_SMD_RESISTOR) - .input(COSMIC_SMD_INDUCTOR) - .input(foil, KaptonK, 64) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 16) - .input(plate, Americium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(KaptonE.getFluid(L * 16)) - .output(GOOWARE_MAINFRAME_UEV) - .EUt(VA[UHV]) - .duration(15 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Darmstadtium) + input(GOOWARE_COMPUTER_UHV, 2) + input(COSMIC_SMD_DIODE) + input(COSMIC_SMD_CAPACITOR) + input(COSMIC_SMD_TRANSISTOR) + input(COSMIC_SMD_RESISTOR) + input(COSMIC_SMD_INDUCTOR) + input(foil, KaptonK, 64) + input(ADVANCED_RAM_CHIP, 32) + input(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 16) + input(plate, Americium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(KaptonE.getFluid(L * 16)) + output(GOOWARE_MAINFRAME_UEV) + EUt(VA[UHV]) + duration(15 * SECOND) + stationResearch { it.researchStack(GOOWARE_COMPUTER_UHV) .EUt(VA[UHV]) .CWUt(48) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/IntegratedCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/IntegratedCircuits.kt index 393514dcd..087b87417 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/IntegratedCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/IntegratedCircuits.kt @@ -5,10 +5,11 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.CIRCUIT_ASSEMBLER_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.MarkerMaterials.Component.Diode import gregtech.api.unification.material.MarkerMaterials.Component.Resistor @@ -59,6 +60,7 @@ import gregtech.common.items.MetaItems.STICKY_RESIN import gregtech.common.items.MetaItems.TRANSISTOR import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.getStack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Lignite import net.minecraft.init.Items import net.minecraft.item.ItemStack @@ -77,362 +79,362 @@ internal object IntegratedCircuits private fun smdRecipes() { // Transistor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(plate, Silicon), - OreDictUnifier.get(wireFine, Tin, 6)), + OreDictUnifier.get(wireFine, Tin, 6)), arrayOf(Polyethylene.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(plate, Silicon) - .input(wireFine, Tin, 6) - .fluidInputs(Polyethylene.getFluid(L)) - .output(TRANSISTOR, 8) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(plate, Silicon) - .input(wireFine, Kanthal, 6) - .fluidInputs(Polyethylene.getFluid(L)) - .output(TRANSISTOR, 16) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(plate, Silicon) + input(wireFine, Tin, 6) + fluidInputs(Polyethylene.getFluid(L)) + output(TRANSISTOR, 8) + EUt(VA[MV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(plate, Silicon) + input(wireFine, Kanthal, 6) + fluidInputs(Polyethylene.getFluid(L)) + output(TRANSISTOR, 16) + EUt(VA[MV]) + duration(4 * SECOND) + } // Resistor - ModHandler.addShapedRecipe(true, "resistor_wire_lignite", RESISTOR.getStackForm(2), + ModHandler.addShapedRecipe(true, "resistor_wire_lignite", RESISTOR.getStack(2), "RPR", "CDC", " P ", 'R', STICKY_RESIN, 'P', ItemStack(Items.PAPER), 'C', UnificationEntry(wireGtSingle, Copper), 'D', UnificationEntry(dust, Lignite)) - ModHandler.addShapedRecipe(true, "resistor_wire_fine_lignite", RESISTOR.getStackForm(2), + ModHandler.addShapedRecipe(true, "resistor_wire_fine_lignite", RESISTOR.getStack(2), "RPR", "CDC", " P ", 'R', STICKY_RESIN, 'P', ItemStack(Items.PAPER), 'C', UnificationEntry(wireFine, Copper), 'D', UnificationEntry(dust, Lignite)) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Coal), - OreDictUnifier.get(wireFine, Copper, 4)), + OreDictUnifier.get(wireFine, Copper, 4)), arrayOf(Glue.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Charcoal), - OreDictUnifier.get(wireFine, Copper, 4)), + OreDictUnifier.get(wireFine, Copper, 4)), arrayOf(Glue.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Carbon), - OreDictUnifier.get(wireFine, Copper, 4)), + OreDictUnifier.get(wireFine, Copper, 4)), arrayOf(Glue.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Coal), - OreDictUnifier.get(wireFine, AnnealedCopper, 4)), + OreDictUnifier.get(wireFine, AnnealedCopper, 4)), arrayOf(Glue.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Charcoal), - OreDictUnifier.get(wireFine, AnnealedCopper, 4)), + OreDictUnifier.get(wireFine, AnnealedCopper, 4)), arrayOf(Glue.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Carbon), - OreDictUnifier.get(wireFine, AnnealedCopper, 4)), + OreDictUnifier.get(wireFine, AnnealedCopper, 4)), arrayOf(Glue.getFluid(100))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Coal) - .input(wireFine, Copper, 4) - .output(RESISTOR, 4) - .EUt(6) // ULV - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Charcoal) - .input(wireFine, Copper, 4) - .output(RESISTOR, 4) - .EUt(6) // ULV - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Lignite) - .input(wireFine, Copper, 4) - .output(RESISTOR, 4) - .EUt(6) // ULV - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Carbon) - .input(wireFine, Copper, 4) - .output(RESISTOR, 4) - .EUt(6) // ULV - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Coal) - .input(wireFine, AnnealedCopper, 4) - .output(RESISTOR, 8) - .EUt(6) // ULV - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Charcoal) - .input(wireFine, AnnealedCopper, 4) - .output(RESISTOR, 8) - .EUt(6) // ULV - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Lignite) - .input(wireFine, AnnealedCopper, 4) - .output(RESISTOR, 8) - .EUt(6) // ULV - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Carbon) - .input(wireFine, AnnealedCopper, 4) - .output(RESISTOR, 8) - .EUt(6) // ULV - .duration(4 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Coal) + input(wireFine, Copper, 4) + output(RESISTOR, 4) + EUt(6) // ULV + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Charcoal) + input(wireFine, Copper, 4) + output(RESISTOR, 4) + EUt(6) // ULV + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Lignite) + input(wireFine, Copper, 4) + output(RESISTOR, 4) + EUt(6) // ULV + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Carbon) + input(wireFine, Copper, 4) + output(RESISTOR, 4) + EUt(6) // ULV + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Coal) + input(wireFine, AnnealedCopper, 4) + output(RESISTOR, 8) + EUt(6) // ULV + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Charcoal) + input(wireFine, AnnealedCopper, 4) + output(RESISTOR, 8) + EUt(6) // ULV + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Lignite) + input(wireFine, AnnealedCopper, 4) + output(RESISTOR, 8) + EUt(6) // ULV + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Carbon) + input(wireFine, AnnealedCopper, 4) + output(RESISTOR, 8) + EUt(6) // ULV + duration(4 * SECOND) + } // Capacitor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, Polyethylene), - OreDictUnifier.get(foil, Aluminium, 2)), + OreDictUnifier.get(foil, Aluminium, 2)), arrayOf(Polyethylene.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(foil, Polyethylene) - .input(foil, Aluminium) - .fluidInputs(Polyethylene.getFluid(L)) - .output(CAPACITOR, 8) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(foil, Polyethylene) - .input(foil, Tantalum) - .fluidInputs(Polyethylene.getFluid(L)) - .output(CAPACITOR, 16) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(foil, Polyethylene) + input(foil, Aluminium) + fluidInputs(Polyethylene.getFluid(L)) + output(CAPACITOR, 8) + EUt(VA[MV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(foil, Polyethylene) + input(foil, Tantalum) + fluidInputs(Polyethylene.getFluid(L)) + output(CAPACITOR, 16) + EUt(VA[MV]) + duration(4 * SECOND) + } // Diode - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireFine, Copper, 4), - OreDictUnifier.get(dustSmall, GalliumArsenide)), + OreDictUnifier.get(dustSmall, GalliumArsenide)), arrayOf(Glass.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireFine, AnnealedCopper, 4), - OreDictUnifier.get(dustSmall, GalliumArsenide)), + OreDictUnifier.get(dustSmall, GalliumArsenide)), arrayOf(Glass.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireFine, Copper, 4), - OreDictUnifier.get(dustSmall, GalliumArsenide)), + OreDictUnifier.get(dustSmall, GalliumArsenide)), arrayOf(Polyethylene.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireFine, AnnealedCopper, 4), - OreDictUnifier.get(dustSmall, GalliumArsenide)), + OreDictUnifier.get(dustSmall, GalliumArsenide)), arrayOf(Polyethylene.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireFine, Copper, 4), - SILICON_WAFER.stackForm), + SILICON_WAFER.stackForm), arrayOf(Polyethylene.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireFine, AnnealedCopper, 4), - SILICON_WAFER.stackForm), + SILICON_WAFER.stackForm), arrayOf(Polyethylene.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, Copper, 4) - .input(dustSmall, GalliumArsenide) - .fluidInputs(Glass.getFluid(L)) - .output(DIODE, 2) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, Copper, 4) - .input(dustSmall, GalliumArsenide) - .fluidInputs(Polyethylene.getFluid(L)) - .output(DIODE, 2) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, AnnealedCopper, 4) - .input(dustSmall, GalliumArsenide) - .fluidInputs(Glass.getFluid(L)) - .output(DIODE, 4) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, AnnealedCopper, 4) - .input(dustSmall, GalliumArsenide) - .fluidInputs(Polyethylene.getFluid(L)) - .output(DIODE, 4) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, Tantalum, 4) - .input(dustSmall, GalliumArsenide) - .fluidInputs(Glass.getFluid(L)) - .output(DIODE, 8) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, Tantalum, 4) - .input(dustSmall, GalliumArsenide) - .fluidInputs(Polyethylene.getFluid(L)) - .output(DIODE, 8) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, Copper, 4) - .input(SILICON_WAFER) - .fluidInputs(Polyethylene.getFluid(L)) - .output(DIODE, 8) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, AnnealedCopper, 4) - .input(SILICON_WAFER) - .fluidInputs(Polyethylene.getFluid(L)) - .output(DIODE, 8) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(wireFine, Tantalum, 4) - .input(SILICON_WAFER) - .fluidInputs(Polyethylene.getFluid(L)) - .output(DIODE, 16) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, Copper, 4) + input(dustSmall, GalliumArsenide) + fluidInputs(Glass.getFluid(L)) + output(DIODE, 2) + EUt(VA[LV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, Copper, 4) + input(dustSmall, GalliumArsenide) + fluidInputs(Polyethylene.getFluid(L)) + output(DIODE, 2) + EUt(VA[LV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, AnnealedCopper, 4) + input(dustSmall, GalliumArsenide) + fluidInputs(Glass.getFluid(L)) + output(DIODE, 4) + EUt(VA[LV]) + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, AnnealedCopper, 4) + input(dustSmall, GalliumArsenide) + fluidInputs(Polyethylene.getFluid(L)) + output(DIODE, 4) + EUt(VA[LV]) + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, Tantalum, 4) + input(dustSmall, GalliumArsenide) + fluidInputs(Glass.getFluid(L)) + output(DIODE, 8) + EUt(VA[LV]) + duration(2 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, Tantalum, 4) + input(dustSmall, GalliumArsenide) + fluidInputs(Polyethylene.getFluid(L)) + output(DIODE, 8) + EUt(VA[LV]) + duration(2 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, Copper, 4) + input(SILICON_WAFER) + fluidInputs(Polyethylene.getFluid(L)) + output(DIODE, 8) + EUt(VA[LV]) + duration(2 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, AnnealedCopper, 4) + input(SILICON_WAFER) + fluidInputs(Polyethylene.getFluid(L)) + output(DIODE, 8) + EUt(VA[LV]) + duration(2 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(wireFine, Tantalum, 4) + input(SILICON_WAFER) + fluidInputs(Polyethylene.getFluid(L)) + output(DIODE, 16) + EUt(VA[LV]) + duration(2 * SECOND) + } // Inductor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ring, Steel), - OreDictUnifier.get(wireFine, Copper, 2)), + OreDictUnifier.get(wireFine, Copper, 2)), arrayOf(Polyethylene.getFluid(L / 4))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ring, Steel), - OreDictUnifier.get(wireFine, AnnealedCopper, 2)), + OreDictUnifier.get(wireFine, AnnealedCopper, 2)), arrayOf(Polyethylene.getFluid(L / 4))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ring, NickelZincFerrite), - OreDictUnifier.get(wireFine, Copper, 2)), + OreDictUnifier.get(wireFine, Copper, 2)), arrayOf(Polyethylene.getFluid(L / 4))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ring, NickelZincFerrite), - OreDictUnifier.get(wireFine, AnnealedCopper, 2)), + OreDictUnifier.get(wireFine, AnnealedCopper, 2)), arrayOf(Polyethylene.getFluid(L / 4))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ring, Steel) - .input(wireFine, Copper, 2) - .fluidInputs(Polyethylene.getFluid(L / 4)) - .output(INDUCTOR, 2) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ring, Steel) - .input(wireFine, AnnealedCopper, 2) - .fluidInputs(Polyethylene.getFluid(L / 4)) - .output(INDUCTOR, 4) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ring, NickelZincFerrite) - .input(wireFine, Copper, 2) - .fluidInputs(Polyethylene.getFluid(L / 4)) - .output(INDUCTOR, 4) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ring, NickelZincFerrite) - .input(wireFine, AnnealedCopper, 2) - .fluidInputs(Polyethylene.getFluid(L / 4)) - .output(INDUCTOR, 8) - .EUt(VA[MV]) - .duration(8 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(ring, Steel) + input(wireFine, Copper, 2) + fluidInputs(Polyethylene.getFluid(L / 4)) + output(INDUCTOR, 2) + EUt(VA[MV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(ring, Steel) + input(wireFine, AnnealedCopper, 2) + fluidInputs(Polyethylene.getFluid(L / 4)) + output(INDUCTOR, 4) + EUt(VA[MV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(ring, NickelZincFerrite) + input(wireFine, Copper, 2) + fluidInputs(Polyethylene.getFluid(L / 4)) + output(INDUCTOR, 4) + EUt(VA[MV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(ring, NickelZincFerrite) + input(wireFine, AnnealedCopper, 2) + fluidInputs(Polyethylene.getFluid(L / 4)) + output(INDUCTOR, 8) + EUt(VA[MV]) + duration(8 * SECOND) + } } private fun circuitRecipes() { // LV Integrated Circuit - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(BASIC_CIRCUIT_BOARD.stackForm, INTEGRATED_LOGIC_CIRCUIT.stackForm, OreDictUnifier.get(component, Resistor, 2), @@ -441,89 +443,88 @@ internal object IntegratedCircuits OreDictUnifier.get(bolt, Tin, 2)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(BASIC_CIRCUIT_BOARD.stackForm, - INTEGRATED_LOGIC_CIRCUIT.stackForm, - OreDictUnifier.get(component, Resistor, 2), - OreDictUnifier.get(component, Diode, 2), - OreDictUnifier.get(wireFine, Copper, 2), - OreDictUnifier.get(bolt, Tin, 2)), + INTEGRATED_LOGIC_CIRCUIT.stackForm, + OreDictUnifier.get(component, Resistor, 2), + OreDictUnifier.get(component, Diode, 2), + OreDictUnifier.get(wireFine, Copper, 2), + OreDictUnifier.get(bolt, Tin, 2)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(BASIC_CIRCUIT_BOARD) - .input(INTEGRATED_LOGIC_CIRCUIT) - .input(component, Resistor, 2) - .input(component, Diode, 2) - .input(wireFine, Copper, 2) - .input(bolt, Tin, 2) - .output(INTEGRATED_CIRCUIT_LV, 4) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(BASIC_CIRCUIT_BOARD) + input(INTEGRATED_LOGIC_CIRCUIT) + input(component, Resistor, 2) + input(component, Diode, 2) + input(wireFine, Copper, 2) + input(bolt, Tin, 2) + output(INTEGRATED_CIRCUIT_LV, 4) + EUt(VH[LV]) + duration(10 * SECOND) + } // MV Integrated Circuit - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(GOOD_CIRCUIT_BOARD.stackForm, - INTEGRATED_CIRCUIT_LV.getStackForm(2), - OreDictUnifier.get(component, Resistor, 2), - OreDictUnifier.get(component, Diode, 2), - OreDictUnifier.get(wireFine, Gold, 4), - OreDictUnifier.get(bolt, Silver, 4)), + INTEGRATED_CIRCUIT_LV.getStackForm(2), + OreDictUnifier.get(component, Resistor, 2), + OreDictUnifier.get(component, Diode, 2), + OreDictUnifier.get(wireFine, Gold, 4), + OreDictUnifier.get(bolt, Silver, 4)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(GOOD_CIRCUIT_BOARD.stackForm, - INTEGRATED_CIRCUIT_LV.getStackForm(2), - OreDictUnifier.get(component, Resistor, 2), - OreDictUnifier.get(component, Diode, 2), - OreDictUnifier.get(wireFine, Gold, 4), - OreDictUnifier.get(bolt, Silver, 4)), + INTEGRATED_CIRCUIT_LV.getStackForm(2), + OreDictUnifier.get(component, Resistor, 2), + OreDictUnifier.get(component, Diode, 2), + OreDictUnifier.get(wireFine, Gold, 4), + OreDictUnifier.get(bolt, Silver, 4)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(GOOD_CIRCUIT_BOARD) - .input(INTEGRATED_CIRCUIT_LV, 4) - .input(component, Resistor, 2) - .input(component, Diode, 2) - .input(wireFine, Gold, 4) - .input(bolt, Silver, 4) - .output(INTEGRATED_CIRCUIT_MV, 3) - .EUt(24) // LV - .duration(20 * SECOND) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(GOOD_CIRCUIT_BOARD) + input(INTEGRATED_CIRCUIT_LV, 4) + input(component, Resistor, 2) + input(component, Diode, 2) + input(wireFine, Gold, 4) + input(bolt, Silver, 4) + output(INTEGRATED_CIRCUIT_MV, 3) + EUt(24) // LV + duration(20 * SECOND) + } // HV Integrated Circuit - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(INTEGRATED_CIRCUIT_MV.getStackForm(2), - INTEGRATED_LOGIC_CIRCUIT.getStackForm(2), - RANDOM_ACCESS_MEMORY.getStackForm(2), - OreDictUnifier.get(component, Transistor, 4), - OreDictUnifier.get(wireFine, Electrum, 8), - OreDictUnifier.get(bolt, AnnealedCopper, 8)), + INTEGRATED_LOGIC_CIRCUIT.getStackForm(2), + RANDOM_ACCESS_MEMORY.getStackForm(2), + OreDictUnifier.get(component, Transistor, 4), + OreDictUnifier.get(wireFine, Electrum, 8), + OreDictUnifier.get(bolt, AnnealedCopper, 8)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(INTEGRATED_CIRCUIT_MV.getStackForm(2), - INTEGRATED_LOGIC_CIRCUIT.getStackForm(2), - RANDOM_ACCESS_MEMORY.getStackForm(2), - OreDictUnifier.get(component, Transistor, 4), - OreDictUnifier.get(wireFine, Electrum, 8), - OreDictUnifier.get(bolt, AnnealedCopper, 8)), + INTEGRATED_LOGIC_CIRCUIT.getStackForm(2), + RANDOM_ACCESS_MEMORY.getStackForm(2), + OreDictUnifier.get(component, Transistor, 4), + OreDictUnifier.get(wireFine, Electrum, 8), + OreDictUnifier.get(bolt, AnnealedCopper, 8)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(INTEGRATED_CIRCUIT_MV, 3) - .input(INTEGRATED_LOGIC_CIRCUIT, 2) - .input(RANDOM_ACCESS_MEMORY, 2) - .input(component, Transistor, 4) - .input(wireFine, Electrum, 8) - .input(bolt, AnnealedCopper, 8) - .output(INTEGRATED_CIRCUIT_HV, 2) - .EUt(VA[LV]) - .duration(40 * SECOND) - .buildAndRegister() - + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(INTEGRATED_CIRCUIT_MV, 3) + input(INTEGRATED_LOGIC_CIRCUIT, 2) + input(RANDOM_ACCESS_MEMORY, 2) + input(component, Transistor, 4) + input(wireFine, Electrum, 8) + input(bolt, AnnealedCopper, 8) + output(INTEGRATED_CIRCUIT_HV, 2) + EUt(VA[LV]) + duration(40 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/NanoCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/NanoCircuits.kt index df571c2c7..581dce444 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/NanoCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/NanoCircuits.kt @@ -6,8 +6,6 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VHA -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.CIRCUIT_ASSEMBLER_RECIPES @@ -75,6 +73,9 @@ import gregtech.common.items.MetaItems.SMD_TRANSISTOR import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EthylenediaminePyrocatechol @@ -104,203 +105,202 @@ internal object NanoCircuits TetramethylammoniumHydroxide.getFluid(250), EthylenediaminePyrocatechol.getFluid(125))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(EPOXY_BOARD) - .input(foil, Electrum, 8) - .fluidInputs(etchingLiquid) - .output(ADVANCED_CIRCUIT_BOARD) - .EUt(VA[LV]) - .duration(45 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(EPOXY_BOARD) + input(foil, Electrum, 8) + fluidInputs(etchingLiquid) + output(ADVANCED_CIRCUIT_BOARD) + EUt(VA[LV]) + duration(45 * SECOND) + } } } private fun smdRecipes() { // Advanced SMD Transistor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, VanadiumGallium), - OreDictUnifier.get(wireFine, HSSG, 8)), + OreDictUnifier.get(wireFine, HSSG, 8)), arrayOf(Polybenzimidazole.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(foil, VanadiumGallium) - .input(wireFine, TungstenSteel, 8) - .fluidInputs(Polybenzimidazole.getFluid(L)) - .output(ADVANCED_SMD_TRANSISTOR, 16) - .EUt(VHA[IV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(foil, VanadiumGallium) - .input(wireFine, HSSG, 8) - .fluidInputs(Polybenzimidazole.getFluid(L)) - .output(ADVANCED_SMD_TRANSISTOR, 32) - .EUt(VHA[IV]) - .duration(4 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(foil, VanadiumGallium) - .input(wireFine, HSSS, 8) - .fluidInputs(Polybenzimidazole.getFluid(L)) - .output(ADVANCED_SMD_TRANSISTOR, 64) - .EUt(VHA[IV]) - .duration(2 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(foil, VanadiumGallium) + input(wireFine, TungstenSteel, 8) + fluidInputs(Polybenzimidazole.getFluid(L)) + output(ADVANCED_SMD_TRANSISTOR, 16) + EUt(VHA[IV]) + duration(8 * SECOND) + cleanroom() + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(foil, VanadiumGallium) + input(wireFine, HSSG, 8) + fluidInputs(Polybenzimidazole.getFluid(L)) + output(ADVANCED_SMD_TRANSISTOR, 32) + EUt(VHA[IV]) + duration(4 * SECOND) + cleanroom() + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(foil, VanadiumGallium) + input(wireFine, HSSS, 8) + fluidInputs(Polybenzimidazole.getFluid(L)) + output(ADVANCED_SMD_TRANSISTOR, 64) + EUt(VHA[IV]) + duration(2 * SECOND) + cleanroom() + } // Advanced SMD Resistor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Graphene), - OreDictUnifier.get(wireFine, Platinum, 4)), + OreDictUnifier.get(wireFine, Platinum, 4)), arrayOf(Polybenzimidazole.getFluid(L * 2))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Graphene) - .input(wireFine, Molybdenum, 4) - .fluidInputs(Polybenzimidazole.getFluid(L * 2)) - .output(ADVANCED_SMD_RESISTOR, 16) - .EUt(VHA[IV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Graphene) - .input(wireFine, Ultimet, 4) - .fluidInputs(Polybenzimidazole.getFluid(L * 2)) - .output(ADVANCED_SMD_RESISTOR, 32) - .EUt(VHA[IV]) - .duration(4 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Graphene) - .input(wireFine, RTMAlloy, 4) - .fluidInputs(Polybenzimidazole.getFluid(L * 2)) - .output(ADVANCED_SMD_RESISTOR, 64) - .EUt(VHA[IV]) - .duration(2 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Graphene) + input(wireFine, Molybdenum, 4) + fluidInputs(Polybenzimidazole.getFluid(L * 2)) + output(ADVANCED_SMD_RESISTOR, 16) + EUt(VHA[IV]) + duration(8 * SECOND) + cleanroom() + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Graphene) + input(wireFine, Ultimet, 4) + fluidInputs(Polybenzimidazole.getFluid(L * 2)) + output(ADVANCED_SMD_RESISTOR, 32) + EUt(VHA[IV]) + duration(4 * SECOND) + cleanroom() + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Graphene) + input(wireFine, RTMAlloy, 4) + fluidInputs(Polybenzimidazole.getFluid(L * 2)) + output(ADVANCED_SMD_RESISTOR, 64) + EUt(VHA[IV]) + duration(2 * SECOND) + cleanroom() + } // Advanced SMD Capacitor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, Polybenzimidazole, 2), - OreDictUnifier.get(foil, HSSS)), + OreDictUnifier.get(foil, HSSS)), arrayOf(Polybenzimidazole.getFluid(L / 4))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(foil, Polybenzimidazole) - .input(foil, Iridium) - .fluidInputs(Polybenzimidazole.getFluid(L / 2)) - .output(ADVANCED_SMD_CAPACITOR, 16) - .EUt(VHA[IV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(foil, Polybenzimidazole) - .input(foil, Ruridit) - .fluidInputs(Polybenzimidazole.getFluid(L / 2)) - .output(ADVANCED_SMD_CAPACITOR, 32) - .EUt(VHA[IV]) - .duration(4 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(foil, Polybenzimidazole) - .input(foil, Osmiridium) - .fluidInputs(Polybenzimidazole.getFluid(L / 2)) - .output(ADVANCED_SMD_CAPACITOR, 64) - .EUt(VHA[IV]) - .duration(2 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(foil, Polybenzimidazole) + input(foil, Iridium) + fluidInputs(Polybenzimidazole.getFluid(L / 2)) + output(ADVANCED_SMD_CAPACITOR, 16) + EUt(VHA[IV]) + duration(8 * SECOND) + cleanroom() + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(foil, Polybenzimidazole) + input(foil, Ruridit) + fluidInputs(Polybenzimidazole.getFluid(L / 2)) + output(ADVANCED_SMD_CAPACITOR, 32) + EUt(VHA[IV]) + duration(4 * SECOND) + cleanroom() + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(foil, Polybenzimidazole) + input(foil, Osmiridium) + fluidInputs(Polybenzimidazole.getFluid(L / 2)) + output(ADVANCED_SMD_CAPACITOR, 64) + EUt(VHA[IV]) + duration(2 * SECOND) + cleanroom() + } // Advanced SMD Diode - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, IndiumGalliumPhosphide), - OreDictUnifier.get(wireFine, NiobiumTitanium, 16)), + OreDictUnifier.get(wireFine, NiobiumTitanium, 16)), arrayOf(Polybenzimidazole.getFluid(L * 2))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, IndiumGalliumPhosphide) - .input(wireFine, NiobiumNitride, 8) - .fluidInputs(Polybenzimidazole.getFluid(L * 2)) - .output(ADVANCED_SMD_DIODE, 64) - .EUt(VHA[IV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, IndiumGalliumPhosphide) - .input(wireFine, YttriumBariumCuprate, 4) - .fluidInputs(Polybenzimidazole.getFluid(L * 2)) - .output(ADVANCED_SMD_DIODE, 64) - .EUt(VHA[IV]) - .duration(4 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, IndiumGalliumPhosphide) + input(wireFine, NiobiumNitride, 8) + fluidInputs(Polybenzimidazole.getFluid(L * 2)) + output(ADVANCED_SMD_DIODE, 64) + EUt(VHA[IV]) + duration(8 * SECOND) + cleanroom() + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, IndiumGalliumPhosphide) + input(wireFine, YttriumBariumCuprate, 4) + fluidInputs(Polybenzimidazole.getFluid(L * 2)) + output(ADVANCED_SMD_DIODE, 64) + EUt(VHA[IV]) + duration(4 * SECOND) + cleanroom() + } // Advanced SMD Inductor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ring, HSSE), - OreDictUnifier.get(wireFine, Palladium, 4)), + OreDictUnifier.get(wireFine, Palladium, 4)), arrayOf(Polybenzimidazole.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ring, StrontiumFerrite) - .input(wireFine, Palladium, 4) - .fluidInputs(Polybenzimidazole.getFluid(L)) - .output(ADVANCED_SMD_INDUCTOR, 16) - .EUt(VHA[IV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ring, StrontiumFerrite) - .input(wireFine, Trinium, 4) - .fluidInputs(Polybenzimidazole.getFluid(L)) - .output(ADVANCED_SMD_INDUCTOR, 32) - .EUt(VHA[IV]) - .duration(4 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ring, StrontiumFerrite) - .input(wireFine, NaquadahAlloy, 4) - .fluidInputs(Polybenzimidazole.getFluid(L)) - .output(ADVANCED_SMD_INDUCTOR, 64) - .EUt(VHA[IV]) - .duration(4 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(ring, StrontiumFerrite) + input(wireFine, Palladium, 4) + fluidInputs(Polybenzimidazole.getFluid(L)) + output(ADVANCED_SMD_INDUCTOR, 16) + EUt(VHA[IV]) + duration(8 * SECOND) + cleanroom() + } + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(ring, StrontiumFerrite) + input(wireFine, Trinium, 4) + fluidInputs(Polybenzimidazole.getFluid(L)) + output(ADVANCED_SMD_INDUCTOR, 32) + EUt(VHA[IV]) + duration(4 * SECOND) + cleanroom() + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(ring, StrontiumFerrite) + input(wireFine, NaquadahAlloy, 4) + fluidInputs(Polybenzimidazole.getFluid(L)) + output(ADVANCED_SMD_INDUCTOR, 64) + EUt(VHA[IV]) + duration(4 * SECOND) + cleanroom() + } } private fun circuitComponentsRecipes() @@ -308,344 +308,344 @@ internal object NanoCircuits // Nano Central Processing Unit (NanoCPU) Wafer GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(CENTRAL_PROCESSING_UNIT_WAFER.stackForm, - CARBON_FIBERS.getStackForm(16)), + CARBON_FIBERS.getStackForm(16)), arrayOf(Glowstone.getFluid(L * 4))) - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(CENTRAL_PROCESSING_UNIT_WAFER) - .input(dustTiny, PalladiumLoadedRutileNanoparticles) - .input(CARBON_FIBERS, 8) - .fluidInputs(Glowstone.getFluid(L * 4)) - .output(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 4) - .EUt(VA[EV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(CENTRAL_PROCESSING_UNIT_WAFER, 4) - .input(dustSmall, PalladiumLoadedRutileNanoparticles) - .input(CARBON_FIBERS, 32) - .fluidInputs(Glowstone.getFluid(L * 16)) - .output(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 16) - .EUt(VA[EV]) - .duration(15 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(CENTRAL_PROCESSING_UNIT_WAFER, 9) - .input(dust, PalladiumLoadedRutileNanoparticles) - .input(CARBON_FIBERS, 64) - .fluidInputs(Glowstone.getFluid(L * 64)) - .output(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 36) - .EUt(VA[EV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(1) + input(CENTRAL_PROCESSING_UNIT_WAFER) + input(dustTiny, PalladiumLoadedRutileNanoparticles) + input(CARBON_FIBERS, 8) + fluidInputs(Glowstone.getFluid(L * 4)) + output(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 4) + EUt(VA[EV]) + duration(10 * SECOND) + cleanroom() + } + + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(4) + input(CENTRAL_PROCESSING_UNIT_WAFER, 4) + input(dustSmall, PalladiumLoadedRutileNanoparticles) + input(CARBON_FIBERS, 32) + fluidInputs(Glowstone.getFluid(L * 16)) + output(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 16) + EUt(VA[EV]) + duration(15 * SECOND) + cleanroom() + } + + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(9) + input(CENTRAL_PROCESSING_UNIT_WAFER, 9) + input(dust, PalladiumLoadedRutileNanoparticles) + input(CARBON_FIBERS, 64) + fluidInputs(Glowstone.getFluid(L * 64)) + output(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 36) + EUt(VA[EV]) + duration(20 * SECOND) + cleanroom() + } } private fun circuitRecipes() { // HV Nano Processor - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - SMD_RESISTOR.getStackForm(8), - SMD_CAPACITOR.getStackForm(8), - SMD_TRANSISTOR.getStackForm(8), - OreDictUnifier.get(wireFine, Electrum, 8)), + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + SMD_RESISTOR.getStackForm(8), + SMD_CAPACITOR.getStackForm(8), + SMD_TRANSISTOR.getStackForm(8), + OreDictUnifier.get(wireFine, Electrum, 8)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - SMD_RESISTOR.getStackForm(8), - SMD_CAPACITOR.getStackForm(8), - SMD_TRANSISTOR.getStackForm(8), - OreDictUnifier.get(wireFine, Electrum, 8)), + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + SMD_RESISTOR.getStackForm(8), + SMD_CAPACITOR.getStackForm(8), + SMD_TRANSISTOR.getStackForm(8), + OreDictUnifier.get(wireFine, Electrum, 8)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - ADVANCED_SMD_RESISTOR.getStackForm(2), - ADVANCED_SMD_CAPACITOR.getStackForm(2), - ADVANCED_SMD_TRANSISTOR.getStackForm(2), - OreDictUnifier.get(wireFine, Electrum, 8)), + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + ADVANCED_SMD_RESISTOR.getStackForm(2), + ADVANCED_SMD_CAPACITOR.getStackForm(2), + ADVANCED_SMD_TRANSISTOR.getStackForm(2), + OreDictUnifier.get(wireFine, Electrum, 8)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - ADVANCED_SMD_RESISTOR.getStackForm(2), - ADVANCED_SMD_CAPACITOR.getStackForm(2), - ADVANCED_SMD_TRANSISTOR.getStackForm(2), - OreDictUnifier.get(wireFine, Electrum, 8)), + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + ADVANCED_SMD_RESISTOR.getStackForm(2), + ADVANCED_SMD_CAPACITOR.getStackForm(2), + ADVANCED_SMD_TRANSISTOR.getStackForm(2), + OreDictUnifier.get(wireFine, Electrum, 8)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - ADVANCED_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, Electrum, 4), - OreDictUnifier.get(bolt, Platinum, 4)), + ADVANCED_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, Electrum, 4), + OreDictUnifier.get(bolt, Platinum, 4)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - ADVANCED_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, Electrum, 4), - OreDictUnifier.get(bolt, Platinum, 4)), + ADVANCED_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, Electrum, 4), + OreDictUnifier.get(bolt, Platinum, 4)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ADVANCED_CIRCUIT_BOARD) - .input(NANO_CENTRAL_PROCESSING_UNIT) - .input(SMD_RESISTOR, 8) - .input(SMD_CAPACITOR, 8) - .input(SMD_TRANSISTOR, 8) - .input(wireFine, Electrum, 8) - .output(NANO_PROCESSOR_HV, 4) - .EUt(600) // EV - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ADVANCED_CIRCUIT_BOARD) - .input(NANO_CENTRAL_PROCESSING_UNIT) - .input(ADVANCED_SMD_RESISTOR, 2) - .input(ADVANCED_SMD_CAPACITOR, 2) - .input(ADVANCED_SMD_TRANSISTOR, 2) - .input(wireFine, Electrum, 8) - .output(NANO_PROCESSOR_HV, 4) - .EUt(600) // EV - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ADVANCED_CIRCUIT_BOARD) - .input(ADVANCED_SYSTEM_ON_CHIP) - .input(wireFine, Electrum, 4) - .input(bolt, Platinum, 4) - .output(NANO_PROCESSOR_HV, 8) - .EUt(9600) // LuV - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ADVANCED_CIRCUIT_BOARD) + input(NANO_CENTRAL_PROCESSING_UNIT) + input(SMD_RESISTOR, 8) + input(SMD_CAPACITOR, 8) + input(SMD_TRANSISTOR, 8) + input(wireFine, Electrum, 8) + output(NANO_PROCESSOR_HV, 4) + EUt(600) // EV + duration(10 * SECOND) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ADVANCED_CIRCUIT_BOARD) + input(NANO_CENTRAL_PROCESSING_UNIT) + input(ADVANCED_SMD_RESISTOR, 2) + input(ADVANCED_SMD_CAPACITOR, 2) + input(ADVANCED_SMD_TRANSISTOR, 2) + input(wireFine, Electrum, 8) + output(NANO_PROCESSOR_HV, 4) + EUt(600) // EV + duration(5 * SECOND) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ADVANCED_CIRCUIT_BOARD) + input(ADVANCED_SYSTEM_ON_CHIP) + input(wireFine, Electrum, 4) + input(bolt, Platinum, 4) + output(NANO_PROCESSOR_HV, 8) + EUt(9600) // LuV + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // EV Nano Assembly - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_PROCESSOR_HV.getStackForm(2), - SMD_INDUCTOR.getStackForm(4), - SMD_CAPACITOR.getStackForm(8), - RANDOM_ACCESS_MEMORY.getStackForm(8), - OreDictUnifier.get(wireFine, Electrum, 16)), + NANO_PROCESSOR_HV.getStackForm(2), + SMD_INDUCTOR.getStackForm(4), + SMD_CAPACITOR.getStackForm(8), + RANDOM_ACCESS_MEMORY.getStackForm(8), + OreDictUnifier.get(wireFine, Electrum, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_PROCESSOR_HV.getStackForm(2), - SMD_INDUCTOR.getStackForm(4), - SMD_CAPACITOR.getStackForm(8), - RANDOM_ACCESS_MEMORY.getStackForm(8), - OreDictUnifier.get(wireFine, Electrum, 16)), + NANO_PROCESSOR_HV.getStackForm(2), + SMD_INDUCTOR.getStackForm(4), + SMD_CAPACITOR.getStackForm(8), + RANDOM_ACCESS_MEMORY.getStackForm(8), + OreDictUnifier.get(wireFine, Electrum, 16)), arrayOf(Tin.getFluid(L * 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_PROCESSOR_HV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.stackForm, - ADVANCED_SMD_CAPACITOR.getStackForm(2), - RANDOM_ACCESS_MEMORY.getStackForm(8), - OreDictUnifier.get(wireFine, Electrum, 16)), + NANO_PROCESSOR_HV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.stackForm, + ADVANCED_SMD_CAPACITOR.getStackForm(2), + RANDOM_ACCESS_MEMORY.getStackForm(8), + OreDictUnifier.get(wireFine, Electrum, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_PROCESSOR_HV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.stackForm, - ADVANCED_SMD_CAPACITOR.getStackForm(2), - RANDOM_ACCESS_MEMORY.getStackForm(8), - OreDictUnifier.get(wireFine, Electrum, 16)), + NANO_PROCESSOR_HV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.stackForm, + ADVANCED_SMD_CAPACITOR.getStackForm(2), + RANDOM_ACCESS_MEMORY.getStackForm(8), + OreDictUnifier.get(wireFine, Electrum, 16)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ADVANCED_CIRCUIT_BOARD) - .input(NANO_PROCESSOR_HV, 4) - .input(SMD_INDUCTOR, 4) - .input(SMD_CAPACITOR, 8) - .input(RANDOM_ACCESS_MEMORY, 8) - .input(wireFine, Electrum, 16) - .output(NANO_PROCESSOR_ASSEMBLY_EV, 3) - .EUt(600) // EV - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ADVANCED_CIRCUIT_BOARD) - .input(NANO_PROCESSOR_HV, 4) - .input(ADVANCED_SMD_INDUCTOR) - .input(ADVANCED_SMD_CAPACITOR, 2) - .input(RANDOM_ACCESS_MEMORY, 8) - .input(wireFine, Electrum, 16) - .output(NANO_PROCESSOR_ASSEMBLY_EV, 3) - .EUt(600) // EV - .duration(10 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ADVANCED_CIRCUIT_BOARD) + input(NANO_PROCESSOR_HV, 4) + input(SMD_INDUCTOR, 4) + input(SMD_CAPACITOR, 8) + input(RANDOM_ACCESS_MEMORY, 8) + input(wireFine, Electrum, 16) + output(NANO_PROCESSOR_ASSEMBLY_EV, 3) + EUt(600) // EV + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ADVANCED_CIRCUIT_BOARD) + input(NANO_PROCESSOR_HV, 4) + input(ADVANCED_SMD_INDUCTOR) + input(ADVANCED_SMD_CAPACITOR, 2) + input(RANDOM_ACCESS_MEMORY, 8) + input(wireFine, Electrum, 16) + output(NANO_PROCESSOR_ASSEMBLY_EV, 3) + EUt(600) // EV + duration(10 * SECOND) + solderMultiplier(2) + cleanroom() + } // IV Nano Supercomputer - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_PROCESSOR_ASSEMBLY_EV.getStackForm(2), - SMD_DIODE.getStackForm(8), - NOR_MEMORY_CHIP.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireFine, Electrum, 16)), + NANO_PROCESSOR_ASSEMBLY_EV.getStackForm(2), + SMD_DIODE.getStackForm(8), + NOR_MEMORY_CHIP.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireFine, Electrum, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_PROCESSOR_ASSEMBLY_EV.getStackForm(2), - SMD_DIODE.getStackForm(8), - NOR_MEMORY_CHIP.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireFine, Electrum, 16)), + NANO_PROCESSOR_ASSEMBLY_EV.getStackForm(2), + SMD_DIODE.getStackForm(8), + NOR_MEMORY_CHIP.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireFine, Electrum, 16)), arrayOf(Tin.getFluid(L * 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_PROCESSOR_ASSEMBLY_EV.getStackForm(2), - ADVANCED_SMD_DIODE.getStackForm(2), - NOR_MEMORY_CHIP.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireFine, Electrum, 16)), + NANO_PROCESSOR_ASSEMBLY_EV.getStackForm(2), + ADVANCED_SMD_DIODE.getStackForm(2), + NOR_MEMORY_CHIP.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireFine, Electrum, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(ADVANCED_CIRCUIT_BOARD.stackForm, - NANO_PROCESSOR_ASSEMBLY_EV.getStackForm(2), - ADVANCED_SMD_DIODE.getStackForm(2), - NOR_MEMORY_CHIP.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireFine, Electrum, 16)), + NANO_PROCESSOR_ASSEMBLY_EV.getStackForm(2), + ADVANCED_SMD_DIODE.getStackForm(2), + NOR_MEMORY_CHIP.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireFine, Electrum, 16)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ADVANCED_CIRCUIT_BOARD) - .input(NANO_PROCESSOR_ASSEMBLY_EV, 3) - .input(SMD_DIODE, 8) - .input(NOR_MEMORY_CHIP, 4) - .input(RANDOM_ACCESS_MEMORY, 16) - .input(wireFine, Electrum, 16) - .output(NANO_COMPUTER_IV, 2) - .EUt(600) // EV - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ADVANCED_CIRCUIT_BOARD) - .input(NANO_PROCESSOR_ASSEMBLY_EV, 3) - .input(ADVANCED_SMD_DIODE, 2) - .input(NOR_MEMORY_CHIP, 4) - .input(RANDOM_ACCESS_MEMORY, 16) - .input(wireFine, Electrum, 16) - .output(NANO_COMPUTER_IV, 2) - .EUt(600) // EV - .duration(10 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ADVANCED_CIRCUIT_BOARD) + input(NANO_PROCESSOR_ASSEMBLY_EV, 3) + input(SMD_DIODE, 8) + input(NOR_MEMORY_CHIP, 4) + input(RANDOM_ACCESS_MEMORY, 16) + input(wireFine, Electrum, 16) + output(NANO_COMPUTER_IV, 2) + EUt(600) // EV + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ADVANCED_CIRCUIT_BOARD) + input(NANO_PROCESSOR_ASSEMBLY_EV, 3) + input(ADVANCED_SMD_DIODE, 2) + input(NOR_MEMORY_CHIP, 4) + input(RANDOM_ACCESS_MEMORY, 16) + input(wireFine, Electrum, 16) + output(NANO_COMPUTER_IV, 2) + EUt(600) // EV + duration(10 * SECOND) + solderMultiplier(2) + cleanroom() + } // LuV Nano Mainframe - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Aluminium, 2), - NANO_COMPUTER_IV.getStackForm(2), - SMD_INDUCTOR.getStackForm(16), - SMD_CAPACITOR.getStackForm(32), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireGtSingle, AnnealedCopper, 32)), + NANO_COMPUTER_IV.getStackForm(2), + SMD_INDUCTOR.getStackForm(16), + SMD_CAPACITOR.getStackForm(32), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireGtSingle, AnnealedCopper, 32)), arrayOf(SolderingAlloy.getFluid(L * 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Aluminium, 2), - NANO_COMPUTER_IV.getStackForm(2), - SMD_INDUCTOR.getStackForm(16), - SMD_CAPACITOR.getStackForm(32), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireGtSingle, AnnealedCopper, 32)), + NANO_COMPUTER_IV.getStackForm(2), + SMD_INDUCTOR.getStackForm(16), + SMD_CAPACITOR.getStackForm(32), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireGtSingle, AnnealedCopper, 32)), arrayOf(Tin.getFluid(L * 4))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Aluminium, 2), - NANO_COMPUTER_IV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.getStackForm(4), - ADVANCED_SMD_CAPACITOR.getStackForm(8), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireGtSingle, AnnealedCopper, 32)), + NANO_COMPUTER_IV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.getStackForm(4), + ADVANCED_SMD_CAPACITOR.getStackForm(8), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireGtSingle, AnnealedCopper, 32)), arrayOf(SolderingAlloy.getFluid(L * 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Aluminium, 2), - NANO_COMPUTER_IV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.getStackForm(4), - ADVANCED_SMD_CAPACITOR.getStackForm(8), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireGtSingle, AnnealedCopper, 32)), + NANO_COMPUTER_IV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.getStackForm(4), + ADVANCED_SMD_CAPACITOR.getStackForm(8), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireGtSingle, AnnealedCopper, 32)), arrayOf(Tin.getFluid(L * 4))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, VanadiumSteel, 2) - .input(NANO_COMPUTER_IV, 2) - .input(SMD_INDUCTOR, 16) - .input(SMD_CAPACITOR, 32) - .input(RANDOM_ACCESS_MEMORY, 16) - .input(wireGtSingle, AnnealedCopper, 32) - .output(NANO_MAINFRAME_LUV) - .EUt(VA[EV]) - .duration(40 * SECOND) - .solderMultiplier(4) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, VanadiumSteel, 2) - .input(NANO_COMPUTER_IV, 2) - .input(ADVANCED_SMD_INDUCTOR, 4) - .input(ADVANCED_SMD_CAPACITOR, 8) - .input(RANDOM_ACCESS_MEMORY, 16) - .input(wireGtSingle, AnnealedCopper, 32) - .output(NANO_MAINFRAME_LUV) - .EUt(VA[EV]) - .duration(20 * SECOND) - .solderMultiplier(4) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, VanadiumSteel, 2) - .input(NANO_COMPUTER_IV, 2) - .input(GOOWARE_SMD_INDUCTOR) - .input(GOOWARE_SMD_CAPACITOR, 2) - .input(RANDOM_ACCESS_MEMORY, 16) - .input(wireGtSingle, AnnealedCopper, 32) - .output(NANO_MAINFRAME_LUV) - .EUt(VA[EV]) - .duration(10 * SECOND) - .solderMultiplier(4) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(frameGt, VanadiumSteel, 2) + input(NANO_COMPUTER_IV, 2) + input(SMD_INDUCTOR, 16) + input(SMD_CAPACITOR, 32) + input(RANDOM_ACCESS_MEMORY, 16) + input(wireGtSingle, AnnealedCopper, 32) + output(NANO_MAINFRAME_LUV) + EUt(VA[EV]) + duration(40 * SECOND) + solderMultiplier(4) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(frameGt, VanadiumSteel, 2) + input(NANO_COMPUTER_IV, 2) + input(ADVANCED_SMD_INDUCTOR, 4) + input(ADVANCED_SMD_CAPACITOR, 8) + input(RANDOM_ACCESS_MEMORY, 16) + input(wireGtSingle, AnnealedCopper, 32) + output(NANO_MAINFRAME_LUV) + EUt(VA[EV]) + duration(20 * SECOND) + solderMultiplier(4) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(frameGt, VanadiumSteel, 2) + input(NANO_COMPUTER_IV, 2) + input(GOOWARE_SMD_INDUCTOR) + input(GOOWARE_SMD_CAPACITOR, 2) + input(RANDOM_ACCESS_MEMORY, 16) + input(wireGtSingle, AnnealedCopper, 32) + output(NANO_MAINFRAME_LUV) + EUt(VA[EV]) + duration(10 * SECOND) + solderMultiplier(4) + cleanroom() + } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/OpticalCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/OpticalCircuits.kt index 95aaaf000..b9f30da64 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/OpticalCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/OpticalCircuits.kt @@ -11,13 +11,13 @@ import gregtech.api.GTValues.UHV import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ARC_FURNACE_RECIPES import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.CANNER_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.recipes.RecipeMaps.CIRCUIT_ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.CUTTER_RECIPES import gregtech.api.recipes.RecipeMaps.FORMING_PRESS_RECIPES @@ -86,6 +86,7 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -201,15 +202,15 @@ internal object OpticalCircuits private fun circuitBoardRecipes() { // Optical Board - CVD_RECIPES.recipeBuilder() - .input(plate, GalliumNitride) - .input(foil, ThalliumBariumCalciumCuprate, 32) - .fluidInputs(PolyethyleneTerephthalate.getFluid(L * 2)) - .output(OPTICAL_BOARD) - .EUt(VA[UHV]) - .duration(2 * SECOND) - .temperature(980) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(plate, GalliumNitride) + input(foil, ThalliumBariumCalciumCuprate, 32) + fluidInputs(PolyethyleneTerephthalate.getFluid(L * 2)) + output(OPTICAL_BOARD) + EUt(VA[UHV]) + duration(2 * SECOND) + temperature(980) + } // Optical Circuit Board for (etchingLiquid in arrayOf( @@ -218,686 +219,685 @@ internal object OpticalCircuits TetramethylammoniumHydroxide.getFluid(32000), EthylenediaminePyrocatechol.getFluid(16000))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(OPTICAL_BOARD) - .input(foil, Americium, 48) - .fluidInputs(etchingLiquid) - .output(PERFECT_CIRCUIT_BOARD) - .EUt(VA[EV]) - .duration(1 * MINUTE + 45 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(OPTICAL_BOARD) + input(foil, Americium, 48) + fluidInputs(etchingLiquid) + output(PERFECT_CIRCUIT_BOARD) + EUt(VA[EV]) + duration(1 * MINUTE + 45 * SECOND) + cleanroom() + } } } private fun smdRecipes() { // La2O3 + 2K2MnO4 + 2GaO2 -> 2LaGaMnO4 + 2K2O + 5O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, LanthanumOxide, 5) - .input(dust, PotassiumManganate, 14) - .input(dust, GalliumDioxide, 6) - .output(dust, LanthanumGalliumManganate, 14) - .output(dust, Potash, 6) - .fluidOutputs(Oxygen.getFluid(5000)) - .EUt(VA[ZPM]) - .duration(14 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, LanthanumOxide, 5) + input(dust, PotassiumManganate, 14) + input(dust, GalliumDioxide, 6) + output(dust, LanthanumGalliumManganate, 14) + output(dust, Potash, 6) + fluidOutputs(Oxygen.getFluid(5000)) + EUt(VA[ZPM]) + duration(14 * SECOND) + } // La2O3 + 2K2MnO4 + Ga2O3 -> 2LaGaMnO4 + 2K2O + 4O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, LanthanumOxide, 5) - .input(dust, PotassiumManganate, 14) - .input(dust, GalliumTrioxide, 5) - .output(dust, LanthanumGalliumManganate, 14) - .output(dust, Potash, 6) - .fluidOutputs(Oxygen.getFluid(4000)) - .EUt(VA[ZPM]) - .duration(7 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, LanthanumOxide, 5) + input(dust, PotassiumManganate, 14) + input(dust, GalliumTrioxide, 5) + output(dust, LanthanumGalliumManganate, 14) + output(dust, Potash, 6) + fluidOutputs(Oxygen.getFluid(4000)) + EUt(VA[ZPM]) + duration(7 * SECOND) + } // BaTiO3 + SrO -> BaSrTiO4 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, BariumTitanate, 5) - .input(dust, StrontiumOxide, 2) - .output(dust, BariumStrontiumTitanate, 7) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, BariumTitanate, 5) + input(dust, StrontiumOxide, 2) + output(dust, BariumStrontiumTitanate, 7) + EUt(VA[ZPM]) + duration(10 * SECOND) + } // Optical SMD Transistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(foil, LanthanumGalliumManganate) - .input(wireFine, BariumStrontiumTitanate, 8) - .fluidInputs(KaptonE.getFluid(L)) - .output(OPTICAL_SMD_TRANSISTOR, 32) - .EUt(VA[UV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(foil, LanthanumGalliumManganate) + input(wireFine, BariumStrontiumTitanate, 8) + fluidInputs(KaptonE.getFluid(L)) + output(OPTICAL_SMD_TRANSISTOR, 32) + EUt(VA[UV]) + duration(8 * SECOND) + cleanroom() + } // Optical SMD Resistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Mendelevium) - .input(wireFine, BismuthStrontiumCalciumCuprate, 4) - .fluidInputs(KaptonE.getFluid(L * 2)) - .output(OPTICAL_SMD_RESISTOR, 32) - .EUt(VA[UV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Mendelevium) + input(wireFine, BismuthStrontiumCalciumCuprate, 4) + fluidInputs(KaptonE.getFluid(L * 2)) + output(OPTICAL_SMD_RESISTOR, 32) + EUt(VA[UV]) + duration(8 * SECOND) + cleanroom() + } // Cs + Br -> CsBr - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Caesium) - .fluidInputs(Bromine.getFluid(1000)) - .output(dust, CaesiumBromide, 2) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Caesium) + fluidInputs(Bromine.getFluid(1000)) + output(dust, CaesiumBromide, 2) + EUt(VA[HV]) + duration(4 * SECOND) + } // Fr + HBr -> FrBr + H - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Francium) - .fluidInputs(HydrobromicAcid.getFluid(1000)) - .output(dust, FranciumBromide, 2) - .fluidOutputs(Hydrogen.getFluid(1000)) - .EUt(VA[EV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Francium) + fluidInputs(HydrobromicAcid.getFluid(1000)) + output(dust, FranciumBromide, 2) + fluidOutputs(Hydrogen.getFluid(1000)) + EUt(VA[EV]) + duration(4 * SECOND) + } // FrBr + CsBr + 2CdBr2 -> FrCsCd2Br6 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, FranciumBromide, 2) - .input(dust, CaesiumBromide, 2) - .input(dust, CadmiumBromide, 6) - .output(dust, FranciumCaesiumCadmiumBromide, 10) - .EUt(VA[UV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, FranciumBromide, 2) + input(dust, CaesiumBromide, 2) + input(dust, CadmiumBromide, 6) + output(dust, FranciumCaesiumCadmiumBromide, 10) + EUt(VA[UV]) + duration(7 * SECOND + 10 * TICK) + } // Optical SMD Capacitor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(foil, FranciumCaesiumCadmiumBromide) - .input(foil, RubidiumTitanate) - .fluidInputs(KaptonE.getFluid(L / 2)) - .output(OPTICAL_SMD_CAPACITOR, 32) - .EUt(VA[UV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(foil, FranciumCaesiumCadmiumBromide) + input(foil, RubidiumTitanate) + fluidInputs(KaptonE.getFluid(L / 2)) + output(OPTICAL_SMD_CAPACITOR, 32) + EUt(VA[UV]) + duration(8 * SECOND) + cleanroom() + } // Ta2O5 + Sc2O3 + 2Pb(NO3)2 -> 2PbScTaO3 + 2N2O4 + 6O - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, TantalumPentoxide, 7) - .input(dust, ScandiumOxide, 5) - .input(dust, LeadNitrate, 18) - .output(dust, LeadScandiumTantalate, 12) - .fluidOutputs(DinitrogenTetroxide.getFluid(2000)) - .fluidOutputs(Oxygen.getFluid(6000)) - .EUt(VA[ZPM]) - .duration(7 * SECOND + 15 * TICK) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, TantalumPentoxide, 7) + input(dust, ScandiumOxide, 5) + input(dust, LeadNitrate, 18) + output(dust, LeadScandiumTantalate, 12) + fluidOutputs(DinitrogenTetroxide.getFluid(2000)) + fluidOutputs(Oxygen.getFluid(6000)) + EUt(VA[ZPM]) + duration(7 * SECOND + 15 * TICK) + } // TlCl + 2BaO + 2CaO + 3CuO + 3O -> TlBa2Ca2Cu3O10 + Cl - ARC_FURNACE_RECIPES.recipeBuilder() - .input(dust, ThalliumChloride, 2) - .input(dust, BariumOxide, 4) - .input(dust, Quicklime, 4) - .input(dust, Tenorite, 6) - .fluidInputs(Oxygen.getFluid(3000)) - .output(ingotHot, ThalliumBariumCalciumCuprate, 18) - .fluidOutputs(Chlorine.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(8 * SECOND) - .buildAndRegister() + ARC_FURNACE_RECIPES.addRecipe { + input(dust, ThalliumChloride, 2) + input(dust, BariumOxide, 4) + input(dust, Quicklime, 4) + input(dust, Tenorite, 6) + fluidInputs(Oxygen.getFluid(3000)) + output(ingotHot, ThalliumBariumCalciumCuprate, 18) + fluidOutputs(Chlorine.getFluid(1000)) + EUt(VA[ZPM]) + duration(8 * SECOND) + } // Optical SMD Diode - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, LeadScandiumTantalate) - .input(wireFine, ThalliumBariumCalciumCuprate, 4) - .fluidInputs(KaptonE.getFluid(288)) - .output(OPTICAL_SMD_DIODE, 64) - .EUt(VA[UV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, LeadScandiumTantalate) + input(wireFine, ThalliumBariumCalciumCuprate, 4) + fluidInputs(KaptonE.getFluid(288)) + output(OPTICAL_SMD_DIODE, 64) + EUt(VA[UV]) + duration(8 * SECOND) + cleanroom() + } // Optical SMD Inductor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ring, LutetiumManganeseGermanium) - .input(wireFine, Curium, 4) - .fluidInputs(KaptonE.getFluid(L)) - .output(OPTICAL_SMD_INDUCTOR, 32) - .EUt(VA[UV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(ring, LutetiumManganeseGermanium) + input(wireFine, Curium, 4) + fluidInputs(KaptonE.getFluid(L)) + output(OPTICAL_SMD_INDUCTOR, 32) + EUt(VA[UV]) + duration(8 * SECOND) + cleanroom() + } // Ge + 4Cl -> GeCl4 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Germanium) - .fluidInputs(Chlorine.getFluid(4000)) - .fluidOutputs(GermaniumTetrachloride.getFluid(1000)) - .EUt(VA[HV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Germanium) + fluidInputs(Chlorine.getFluid(4000)) + fluidOutputs(GermaniumTetrachloride.getFluid(1000)) + EUt(VA[HV]) + duration(4 * SECOND + 10 * TICK) + } // GeO2 + 4HCl -> GeCl4 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, GermaniumDioxide, 3) - .fluidInputs(HydrochloricAcid.getFluid(4000)) - .fluidOutputs(GermaniumTetrachloride.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(4) + input(dust, GermaniumDioxide, 3) + fluidInputs(HydrochloricAcid.getFluid(4000)) + fluidOutputs(GermaniumTetrachloride.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[HV]) + duration(2 * SECOND + 5 * TICK) + } // Si + 4Cl -> SiCl4 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Silicon) - .fluidInputs(Chlorine.getFluid(4000)) - .fluidOutputs(SiliconTetrachloride.getFluid(1000)) - .EUt(VA[MV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Silicon) + fluidInputs(Chlorine.getFluid(4000)) + fluidOutputs(SiliconTetrachloride.getFluid(1000)) + EUt(VA[MV]) + duration(4 * SECOND + 10 * TICK) + } // SiO2 + 4HCl -> SiCl4 + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, SiliconDioxide, 3) - .fluidInputs(HydrochloricAcid.getFluid(4000)) - .fluidOutputs(SiliconTetrachloride.getFluid(1000)) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(4) + input(dust, SiliconDioxide, 3) + fluidInputs(HydrochloricAcid.getFluid(4000)) + fluidOutputs(SiliconTetrachloride.getFluid(1000)) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[HV]) + duration(2 * SECOND + 5 * TICK) + } // Optical Fiber - LASER_CVD_RECIPES.recipeBuilder() - .circuitMeta(1) - .notConsumable(SHAPE_EXTRUDER_WIRE) - .fluidInputs(GermaniumTetrachloride.getFluid(250)) - .fluidInputs(PhosphorylChloride.getFluid(250)) - .fluidInputs(SiliconTetrachloride.getFluid(1000)) - .output(OPTICAL_FIBER, 8) - .EUt(VA[UV]) - .duration(20 * SECOND) - .temperature(1800) - .buildAndRegister() - - LASER_CVD_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(SHAPE_EXTRUDER_WIRE) - .fluidInputs(GermaniumTetrachloride.getFluid(2000)) - .fluidInputs(PhosphorylChloride.getFluid(2000)) - .fluidInputs(SiliconTetrachloride.getFluid(8000)) - .output(OPTICAL_FIBER, 64) - .EUt(VA[UV]) - .duration(2 * MINUTE) - .temperature(1800) - .buildAndRegister() - - PLASMA_CVD_RECIPES.recipeBuilder() - .notConsumable(plate, Selenium) - .notConsumable(SHAPE_EXTRUDER_WIRE) - .fluidInputs(GermaniumTetrachloride.getFluid(4000)) - .fluidInputs(PhosphorylChloride.getFluid(4000)) - .fluidInputs(SiliconTetrachloride.getFluid(16000)) - .output(OPTICAL_FIBER, 64) - .output(OPTICAL_FIBER, 64) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .temperature(900) - .buildAndRegister() + LASER_CVD_RECIPES.addRecipe { + circuitMeta(1) + notConsumable(SHAPE_EXTRUDER_WIRE) + fluidInputs(GermaniumTetrachloride.getFluid(250)) + fluidInputs(PhosphorylChloride.getFluid(250)) + fluidInputs(SiliconTetrachloride.getFluid(1000)) + output(OPTICAL_FIBER, 8) + EUt(VA[UV]) + duration(20 * SECOND) + temperature(1800) + } + + LASER_CVD_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(SHAPE_EXTRUDER_WIRE) + fluidInputs(GermaniumTetrachloride.getFluid(2000)) + fluidInputs(PhosphorylChloride.getFluid(2000)) + fluidInputs(SiliconTetrachloride.getFluid(8000)) + output(OPTICAL_FIBER, 64) + EUt(VA[UV]) + duration(2 * MINUTE) + temperature(1800) + } + + PLASMA_CVD_RECIPES.addRecipe { + notConsumable(plate, Selenium) + notConsumable(SHAPE_EXTRUDER_WIRE) + fluidInputs(GermaniumTetrachloride.getFluid(4000)) + fluidInputs(PhosphorylChloride.getFluid(4000)) + fluidInputs(SiliconTetrachloride.getFluid(16000)) + output(OPTICAL_FIBER, 64) + output(OPTICAL_FIBER, 64) + EUt(VA[UHV]) + duration(30 * SECOND) + temperature(900) + } } private fun circuitComponentsRecipes() { // Empty Laser - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .input(DIELECTRIC_MIRROR) - .input(plate, SterlingSilver, 2) - .input(ring, TungstenSteel, 2) - .input(cableGtSingle, Platinum, 2) - .fluidInputs(GSTGlass.getFluid(L * 2)) - .output(EMPTY_LASER) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + input(DIELECTRIC_MIRROR) + input(plate, SterlingSilver, 2) + input(ring, TungstenSteel, 2) + input(cableGtSingle, Platinum, 2) + fluidInputs(GSTGlass.getFluid(L * 2)) + output(EMPTY_LASER) + EUt(VA[IV]) + duration(5 * SECOND) + } // Helium-Neon Laser - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Helium.getFluid(1000)) - .fluidInputs(Neon.getFluid(1000)) - .fluidOutputs(HeliumNeon.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() - - CANNER_RECIPES.recipeBuilder() - .input(EMPTY_LASER) - .fluidInputs(HeliumNeon.getFluid(1000)) - .output(HELIUM_NEON_LASER) - .EUt(VA[HV]) - .duration(6 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Helium.getFluid(1000)) + fluidInputs(Neon.getFluid(1000)) + fluidOutputs(HeliumNeon.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND) + } + + CANNER_RECIPES.addRecipe { + input(EMPTY_LASER) + fluidInputs(HeliumNeon.getFluid(1000)) + output(HELIUM_NEON_LASER) + EUt(VA[HV]) + duration(6 * SECOND) + cleanroom() + } // Nd:YAG Laser - CANNER_RECIPES.recipeBuilder() - .input(EMPTY_LASER) - .input(gem, NdYAG) - .output(ND_YAG_LASER) - .EUt(VA[HV]) - .duration(6 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(EMPTY_LASER) + input(gem, NdYAG) + output(ND_YAG_LASER) + EUt(VA[HV]) + duration(6 * SECOND) + cleanroom() + } // Optical Laser Control Unit - ASSEMBLER_RECIPES.recipeBuilder() - .input(PERFECT_CIRCUIT_BOARD) - .input(HELIUM_NEON_LASER) - .input(ND_YAG_LASER) - .input(lens, Diamond, 2) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(OPTICAL_LASER_CONTROL_UNIT) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(PERFECT_CIRCUIT_BOARD) + input(HELIUM_NEON_LASER) + input(ND_YAG_LASER) + input(lens, Diamond, 2) + fluidInputs(SolderingAlloy.getFluid(L)) + output(OPTICAL_LASER_CONTROL_UNIT) + EUt(VA[UHV]) + duration(30 * SECOND) + cleanroom() + } // PRAM - FORMING_PRESS_RECIPES.recipeBuilder() - .input(ADVANCED_RAM_CHIP) - .input(plate, GSTGlass, 2) - .input(foil, Einsteinium, 8) - .output(PHASE_CHANGE_RAM_CHIP, 4) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(ADVANCED_RAM_CHIP) + input(plate, GSTGlass, 2) + input(foil, Einsteinium, 8) + output(PHASE_CHANGE_RAM_CHIP, 4) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // ACNOR - FORMING_PRESS_RECIPES.recipeBuilder() - .input(NOR_MEMORY_CHIP) - .input(foil, LithiumNiobate, 4) - .input(wireFine, WoodsGlass, 4) - .output(ALL_OPTICAL_CASCADE_NOR_CHIP, 4) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(NOR_MEMORY_CHIP) + input(foil, LithiumNiobate, 4) + input(wireFine, WoodsGlass, 4) + output(ALL_OPTICAL_CASCADE_NOR_CHIP, 4) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } } private fun systemOnChipRecipes() { // 2CeO2 + 3NaHCO3 -> Ce2(CO3)3 + 3NaOH + O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, CeriumOxide, 6) - .input(dust, SodiumBicarbonate, 18) - .output(dust, CeriumCarbonate, 14) - .output(dust, SodiumHydroxide, 9) - .fluidOutputs(Oxygen.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, CeriumOxide, 6) + input(dust, SodiumBicarbonate, 18) + output(dust, CeriumCarbonate, 14) + output(dust, SodiumHydroxide, 9) + fluidOutputs(Oxygen.getFluid(1000)) + EUt(VA[ZPM]) + duration(10 * SECOND) + } // Ce2(CO3)3 + Bh -> Bh-doped Ce2(CO3)3 Boule - CRYSTALLIZATION_RECIPES.recipeBuilder() - .input(dust, CeriumCarbonate, 64) - .input(dust, Bohrium, 8) - .output(BOHRIUM_DOPED_CERIUM_CARBONATE_BOULE) - .EUt(VA[EV]) - .duration(6 * SECOND) - .blastFurnaceTemp(6000) // Naquadah - .buildAndRegister() + CRYSTALLIZATION_RECIPES.addRecipe { + input(dust, CeriumCarbonate, 64) + input(dust, Bohrium, 8) + output(BOHRIUM_DOPED_CERIUM_CARBONATE_BOULE) + EUt(VA[EV]) + duration(6 * SECOND) + blastFurnaceTemp(6000) // Naquadah + } // Bh-doped Ce2(CO3)3 Boule -> Bh-doped Ce2(CO3)3 Wafer - CUTTER_RECIPES.recipeBuilder() - .input(BOHRIUM_DOPED_CERIUM_CARBONATE_BOULE) - .fluidInputs(Lubricant.getFluid(100)) - .output(BOHRIUM_DOPED_CERIUM_CARBONATE_WAFER, 4) - .EUt(VA[IV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(BOHRIUM_DOPED_CERIUM_CARBONATE_BOULE) + fluidInputs(Lubricant.getFluid(100)) + output(BOHRIUM_DOPED_CERIUM_CARBONATE_WAFER, 4) + EUt(VA[IV]) + duration(5 * SECOND) + cleanroom() + } // Zn + S -> ZnS - ROASTER_RECIPES.recipeBuilder() - .input(dust, Zinc) - .input(dust, Sulfur) - .output(dust, ZincSulfide, 2) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Zinc) + input(dust, Sulfur) + output(dust, ZincSulfide, 2) + EUt(VA[LV]) + duration(5 * SECOND) + } // Mn + 2F -> MnF2 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Manganese) - .fluidInputs(Fluorine.getFluid(2000)) - .output(dust, ManganeseDifluoride, 3) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Manganese) + fluidInputs(Fluorine.getFluid(2000)) + output(dust, ManganeseDifluoride, 3) + EUt(VA[LV]) + duration(4 * SECOND) + } // MnF2 + ZnS + Ta2O5 + TiO2 + C2H6O -> (MnF2)(ZnS)(Ta2O5)(TiO2)(C2H6O) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, ManganeseDifluoride, 3) - .input(dust, ZincSulfide, 2) - .input(dust, TantalumPentoxide, 7) - .input(dust, Rutile, 3) - .fluidInputs(Ethanol.getFluid(1000)) - .fluidOutputs(DielectricFormationMixture.getFluid(8000)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, ManganeseDifluoride, 3) + input(dust, ZincSulfide, 2) + input(dust, TantalumPentoxide, 7) + input(dust, Rutile, 3) + fluidInputs(Ethanol.getFluid(1000)) + fluidOutputs(DielectricFormationMixture.getFluid(8000)) + EUt(VA[UV]) + duration(10 * SECOND) + } // (MnF2)(ZnS)(Ta2O5)(TiO2)(C2H6O) -> MnF2 + ZnS + Ta2O5 + TiO2 + C2H6O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(DielectricFormationMixture.getFluid(8000)) - .output(dust, ManganeseDifluoride, 3) - .output(dust, ZincSulfide, 2) - .output(dust, TantalumPentoxide, 7) - .output(dust, Rutile, 3) - .fluidOutputs(Ethanol.getFluid(1000)) - .EUt(VA[MV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(DielectricFormationMixture.getFluid(8000)) + output(dust, ManganeseDifluoride, 3) + output(dust, ZincSulfide, 2) + output(dust, TantalumPentoxide, 7) + output(dust, Rutile, 3) + fluidOutputs(Ethanol.getFluid(1000)) + EUt(VA[MV]) + duration(4 * SECOND + 5 * TICK) + } // Bh-doped Ce2(CO3)3 Wafer -> Periodically Poled Optical Chip - CUTTER_RECIPES.recipeBuilder() - .input(BOHRIUM_DOPED_CERIUM_CARBONATE_WAFER) - .fluidInputs(DielectricFormationMixture.getFluid(200)) - .output(PERIODICALLY_POLED_OPTICAL_CHIP, 2) - .EUt(VA[IV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(BOHRIUM_DOPED_CERIUM_CARBONATE_WAFER) + fluidInputs(DielectricFormationMixture.getFluid(200)) + output(PERIODICALLY_POLED_OPTICAL_CHIP, 2) + EUt(VA[IV]) + duration(5 * SECOND) + cleanroom() + } // Optical IMC Unit - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, CubicSiliconNitride) - .input(ENGRAVED_LAPOTRON_CHIP) - .input(nanite, Glowstone) - .input(PHASE_CHANGE_RAM_CHIP, 2) - .fluidInputs(LightQuarks.getFluid(500)) - .output(OPTICAL_IMC_UNIT, 4) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, CubicSiliconNitride) + input(ENGRAVED_LAPOTRON_CHIP) + input(nanite, Glowstone) + input(PHASE_CHANGE_RAM_CHIP, 2) + fluidInputs(LightQuarks.getFluid(500)) + output(OPTICAL_IMC_UNIT, 4) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Optoelectronic System on Chip - FORMING_PRESS_RECIPES.recipeBuilder() - .input(OPTICAL_IMC_UNIT, 2) - .input(PERIODICALLY_POLED_OPTICAL_CHIP, 2) - .input(ALL_OPTICAL_CASCADE_NOR_CHIP, 4) - .input(springSmall, Moscovium) - .input(OPTICAL_FIBER, 8) - .output(OPTOELECTRONIC_SYSTEM_ON_CHIP, 2) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(OPTICAL_IMC_UNIT, 2) + input(PERIODICALLY_POLED_OPTICAL_CHIP, 2) + input(ALL_OPTICAL_CASCADE_NOR_CHIP, 4) + input(springSmall, Moscovium) + input(OPTICAL_FIBER, 8) + output(OPTOELECTRONIC_SYSTEM_ON_CHIP, 2) + EUt(VA[UEV]) + duration(5 * SECOND) + cleanroom() + } } private fun circuitRecipes() { // Optical Processor - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(OPTICAL_LASER_CONTROL_UNIT) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(OPTICAL_SMD_RESISTOR, 16) - .input(OPTICAL_SMD_CAPACITOR, 16) - .input(OPTICAL_SMD_TRANSISTOR, 16) - .input(OPTICAL_FIBER, 8) - .output(OPTICAL_PROCESSOR_UV, 4) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(1) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(OPTICAL_LASER_CONTROL_UNIT) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(SPINTRONIC_SMD_RESISTOR, 4) - .input(SPINTRONIC_SMD_CAPACITOR, 4) - .input(SPINTRONIC_SMD_TRANSISTOR, 4) - .input(OPTICAL_FIBER, 8) - .output(OPTICAL_PROCESSOR_UV, 4) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(1) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(OPTICAL_LASER_CONTROL_UNIT) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(COSMIC_SMD_RESISTOR) - .input(COSMIC_SMD_CAPACITOR) - .input(COSMIC_SMD_TRANSISTOR) - .input(OPTICAL_FIBER, 8) - .output(OPTICAL_PROCESSOR_UV, 4) - .EUt(VA[UHV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(1) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(OPTICAL_LASER_CONTROL_UNIT) - .input(OPTOELECTRONIC_SYSTEM_ON_CHIP) - .input(OPTICAL_FIBER, 8) - .input(bolt, Bedrockium, 8) - .output(OPTICAL_PROCESSOR_UV, 8) - .EUt(VA[UEV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(1) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(OPTICAL_LASER_CONTROL_UNIT) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(OPTICAL_SMD_RESISTOR, 16) + input(OPTICAL_SMD_CAPACITOR, 16) + input(OPTICAL_SMD_TRANSISTOR, 16) + input(OPTICAL_FIBER, 8) + output(OPTICAL_PROCESSOR_UV, 4) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + solderMultiplier(1) + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(OPTICAL_LASER_CONTROL_UNIT) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(SPINTRONIC_SMD_RESISTOR, 4) + input(SPINTRONIC_SMD_CAPACITOR, 4) + input(SPINTRONIC_SMD_TRANSISTOR, 4) + input(OPTICAL_FIBER, 8) + output(OPTICAL_PROCESSOR_UV, 4) + EUt(VA[UHV]) + duration(5 * SECOND) + cleanroom() + solderMultiplier(1) + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(OPTICAL_LASER_CONTROL_UNIT) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(COSMIC_SMD_RESISTOR) + input(COSMIC_SMD_CAPACITOR) + input(COSMIC_SMD_TRANSISTOR) + input(OPTICAL_FIBER, 8) + output(OPTICAL_PROCESSOR_UV, 4) + EUt(VA[UHV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + solderMultiplier(1) + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(OPTICAL_LASER_CONTROL_UNIT) + input(OPTOELECTRONIC_SYSTEM_ON_CHIP) + input(OPTICAL_FIBER, 8) + input(bolt, Bedrockium, 8) + output(OPTICAL_PROCESSOR_UV, 8) + EUt(VA[UEV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + solderMultiplier(1) + } // Optical Assembly - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_PROCESSOR_UV, 4) - .input(OPTICAL_SMD_INDUCTOR, 16) - .input(OPTICAL_SMD_CAPACITOR, 32) - .input(HIGHLY_ADVANCED_SOC, 32) - .input(OPTICAL_FIBER, 16) - .output(OPTICAL_ASSEMBLY_UHV, 3) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(2) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_PROCESSOR_UV, 4) - .input(SPINTRONIC_SMD_INDUCTOR, 4) - .input(SPINTRONIC_SMD_CAPACITOR, 8) - .input(HIGHLY_ADVANCED_SOC, 32) - .input(OPTICAL_FIBER, 16) - .output(OPTICAL_ASSEMBLY_UHV, 3) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(2) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_PROCESSOR_UV, 4) - .input(COSMIC_SMD_INDUCTOR) - .input(COSMIC_SMD_CAPACITOR, 2) - .input(HIGHLY_ADVANCED_SOC, 32) - .input(OPTICAL_FIBER, 16) - .output(OPTICAL_ASSEMBLY_UHV, 3) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(2) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PERFECT_CIRCUIT_BOARD) + input(OPTICAL_PROCESSOR_UV, 4) + input(OPTICAL_SMD_INDUCTOR, 16) + input(OPTICAL_SMD_CAPACITOR, 32) + input(HIGHLY_ADVANCED_SOC, 32) + input(OPTICAL_FIBER, 16) + output(OPTICAL_ASSEMBLY_UHV, 3) + EUt(VA[UHV]) + duration(20 * SECOND) + cleanroom() + solderMultiplier(2) + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PERFECT_CIRCUIT_BOARD) + input(OPTICAL_PROCESSOR_UV, 4) + input(SPINTRONIC_SMD_INDUCTOR, 4) + input(SPINTRONIC_SMD_CAPACITOR, 8) + input(HIGHLY_ADVANCED_SOC, 32) + input(OPTICAL_FIBER, 16) + output(OPTICAL_ASSEMBLY_UHV, 3) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + solderMultiplier(2) + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PERFECT_CIRCUIT_BOARD) + input(OPTICAL_PROCESSOR_UV, 4) + input(COSMIC_SMD_INDUCTOR) + input(COSMIC_SMD_CAPACITOR, 2) + input(HIGHLY_ADVANCED_SOC, 32) + input(OPTICAL_FIBER, 16) + output(OPTICAL_ASSEMBLY_UHV, 3) + EUt(VA[UHV]) + duration(5 * SECOND) + cleanroom() + solderMultiplier(2) + } // Optical Computer - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_ASSEMBLY_UHV, 3) - .input(OPTICAL_SMD_DIODE, 8) - .input(ALL_OPTICAL_CASCADE_NOR_CHIP, 16) - .input(PHASE_CHANGE_RAM_CHIP, 32) - .input(OPTICAL_FIBER, 24) - .input(foil, KaptonE, 32) - .input(plate, Dubnium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .fluidInputs(Polyetheretherketone.getFluid(L * 4)) - .output(OPTICAL_COMPUTER_UEV, 2) - .EUt(VA[UHV]) - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(PERFECT_CIRCUIT_BOARD) + input(OPTICAL_ASSEMBLY_UHV, 3) + input(OPTICAL_SMD_DIODE, 8) + input(ALL_OPTICAL_CASCADE_NOR_CHIP, 16) + input(PHASE_CHANGE_RAM_CHIP, 32) + input(OPTICAL_FIBER, 24) + input(foil, KaptonE, 32) + input(plate, Dubnium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + fluidInputs(Polyetheretherketone.getFluid(L * 4)) + output(OPTICAL_COMPUTER_UEV, 2) + EUt(VA[UHV]) + duration(40 * SECOND) + stationResearch { it.researchStack(OPTICAL_ASSEMBLY_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_ASSEMBLY_UHV, 3) - .input(SPINTRONIC_SMD_DIODE, 2) - .input(ALL_OPTICAL_CASCADE_NOR_CHIP, 16) - .input(PHASE_CHANGE_RAM_CHIP, 32) - .input(OPTICAL_FIBER, 24) - .input(foil, KaptonE, 32) - .input(plate, Dubnium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .fluidInputs(Polyetheretherketone.getFluid(L * 4)) - .output(OPTICAL_COMPUTER_UEV, 2) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(PERFECT_CIRCUIT_BOARD) + input(OPTICAL_ASSEMBLY_UHV, 3) + input(SPINTRONIC_SMD_DIODE, 2) + input(ALL_OPTICAL_CASCADE_NOR_CHIP, 16) + input(PHASE_CHANGE_RAM_CHIP, 32) + input(OPTICAL_FIBER, 24) + input(foil, KaptonE, 32) + input(plate, Dubnium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + fluidInputs(Polyetheretherketone.getFluid(L * 4)) + output(OPTICAL_COMPUTER_UEV, 2) + EUt(VA[UHV]) + duration(20 * SECOND) + stationResearch { it.researchStack(OPTICAL_ASSEMBLY_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Optical Mainframe - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium) - .input(OPTICAL_COMPUTER_UEV, 2) - .input(OPTICAL_SMD_DIODE, 64) - .input(OPTICAL_SMD_CAPACITOR, 64) - .input(OPTICAL_SMD_TRANSISTOR, 64) - .input(OPTICAL_SMD_RESISTOR, 64) - .input(OPTICAL_SMD_INDUCTOR, 64) - .input(foil, KaptonE, 64) - .input(PHASE_CHANGE_RAM_CHIP, 32) - .input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 16) - .input(plate, Dubnium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(KaptonE.getFluid(L * 32)) - .fluidInputs(Polyetheretherketone.getFluid(L * 8)) - .output(OPTICAL_MAINFRAME_UIV) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium) + input(OPTICAL_COMPUTER_UEV, 2) + input(OPTICAL_SMD_DIODE, 64) + input(OPTICAL_SMD_CAPACITOR, 64) + input(OPTICAL_SMD_TRANSISTOR, 64) + input(OPTICAL_SMD_RESISTOR, 64) + input(OPTICAL_SMD_INDUCTOR, 64) + input(foil, KaptonE, 64) + input(PHASE_CHANGE_RAM_CHIP, 32) + input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 16) + input(plate, Dubnium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(KaptonE.getFluid(L * 32)) + fluidInputs(Polyetheretherketone.getFluid(L * 8)) + output(OPTICAL_MAINFRAME_UIV) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(OPTICAL_COMPUTER_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium) - .input(OPTICAL_COMPUTER_UEV, 2) - .input(SPINTRONIC_SMD_DIODE, 16) - .input(SPINTRONIC_SMD_CAPACITOR, 16) - .input(SPINTRONIC_SMD_TRANSISTOR, 16) - .input(SPINTRONIC_SMD_RESISTOR, 16) - .input(SPINTRONIC_SMD_INDUCTOR, 16) - .input(foil, KaptonE, 64) - .input(PHASE_CHANGE_RAM_CHIP, 32) - .input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 16) - .input(plate, Dubnium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(KaptonE.getFluid(L * 32)) - .fluidInputs(Polyetheretherketone.getFluid(L * 8)) - .output(OPTICAL_MAINFRAME_UIV) - .EUt(VA[UEV]) - .duration(45 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium) + input(OPTICAL_COMPUTER_UEV, 2) + input(SPINTRONIC_SMD_DIODE, 16) + input(SPINTRONIC_SMD_CAPACITOR, 16) + input(SPINTRONIC_SMD_TRANSISTOR, 16) + input(SPINTRONIC_SMD_RESISTOR, 16) + input(SPINTRONIC_SMD_INDUCTOR, 16) + input(foil, KaptonE, 64) + input(PHASE_CHANGE_RAM_CHIP, 32) + input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 16) + input(plate, Dubnium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(KaptonE.getFluid(L * 32)) + fluidInputs(Polyetheretherketone.getFluid(L * 8)) + output(OPTICAL_MAINFRAME_UIV) + EUt(VA[UEV]) + duration(45 * SECOND) + stationResearch { it.researchStack(OPTICAL_COMPUTER_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium) - .input(OPTICAL_COMPUTER_UEV, 2) - .input(COSMIC_SMD_DIODE, 4) - .input(COSMIC_SMD_CAPACITOR, 4) - .input(COSMIC_SMD_TRANSISTOR, 4) - .input(COSMIC_SMD_RESISTOR, 4) - .input(COSMIC_SMD_INDUCTOR, 4) - .input(foil, KaptonE, 64) - .input(PHASE_CHANGE_RAM_CHIP, 32) - .input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 16) - .input(plate, Dubnium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(KaptonE.getFluid(L * 32)) - .fluidInputs(Polyetheretherketone.getFluid(L * 8)) - .output(OPTICAL_MAINFRAME_UIV) - .EUt(VA[UEV]) - .duration(25 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium) + input(OPTICAL_COMPUTER_UEV, 2) + input(COSMIC_SMD_DIODE, 4) + input(COSMIC_SMD_CAPACITOR, 4) + input(COSMIC_SMD_TRANSISTOR, 4) + input(COSMIC_SMD_RESISTOR, 4) + input(COSMIC_SMD_INDUCTOR, 4) + input(foil, KaptonE, 64) + input(PHASE_CHANGE_RAM_CHIP, 32) + input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 16) + input(plate, Dubnium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(KaptonE.getFluid(L * 32)) + fluidInputs(Polyetheretherketone.getFluid(L * 8)) + output(OPTICAL_MAINFRAME_UIV) + EUt(VA[UEV]) + duration(25 * SECOND) + stationResearch { it.researchStack(OPTICAL_COMPUTER_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium) - .input(OPTICAL_COMPUTER_UEV, 2) - .input(SUPRACAUSAL_SMD_DIODE) - .input(SUPRACAUSAL_SMD_CAPACITOR) - .input(SUPRACAUSAL_SMD_TRANSISTOR) - .input(SUPRACAUSAL_SMD_RESISTOR) - .input(SUPRACAUSAL_SMD_INDUCTOR) - .input(foil, KaptonE, 64) - .input(PHASE_CHANGE_RAM_CHIP, 32) - .input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 16) - .input(plate, Dubnium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(KaptonE.getFluid(L * 32)) - .fluidInputs(Polyetheretherketone.getFluid(L * 8)) - .output(OPTICAL_MAINFRAME_UIV) - .EUt(VA[UEV]) - .duration(15 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium) + input(OPTICAL_COMPUTER_UEV, 2) + input(SUPRACAUSAL_SMD_DIODE) + input(SUPRACAUSAL_SMD_CAPACITOR) + input(SUPRACAUSAL_SMD_TRANSISTOR) + input(SUPRACAUSAL_SMD_RESISTOR) + input(SUPRACAUSAL_SMD_INDUCTOR) + input(foil, KaptonE, 64) + input(PHASE_CHANGE_RAM_CHIP, 32) + input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 16) + input(plate, Dubnium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(KaptonE.getFluid(L * 32)) + fluidInputs(Polyetheretherketone.getFluid(L * 8)) + output(OPTICAL_MAINFRAME_UIV) + EUt(VA[UEV]) + duration(15 * SECOND) + stationResearch { it.researchStack(OPTICAL_COMPUTER_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/ProcessorCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/ProcessorCircuits.kt index abc431b57..b852bd225 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/ProcessorCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/ProcessorCircuits.kt @@ -6,8 +6,6 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VHA -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.CIRCUIT_ASSEMBLER_RECIPES @@ -68,6 +66,9 @@ import gregtech.common.items.MetaItems.WORKSTATION_EV import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EthylenediaminePyrocatechol import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.TetramethylammoniumHydroxide @@ -90,14 +91,14 @@ internal object ProcessorCircuits TetramethylammoniumHydroxide.getFluid(125), EthylenediaminePyrocatechol.getFluid(50))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(PLASTIC_BOARD) - .input(foil, Copper, 6) - .fluidInputs(etchingLiquid) - .output(PLASTIC_CIRCUIT_BOARD) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(PLASTIC_BOARD) + input(foil, Copper, 6) + fluidInputs(etchingLiquid) + output(PLASTIC_CIRCUIT_BOARD) + EUt(VA[LV]) + duration(30 * SECOND) + } } } @@ -106,435 +107,433 @@ internal object ProcessorCircuits // Add more advanced recipes for common SMDs. // SMD Transistor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, Gallium), - OreDictUnifier.get(wireFine, AnnealedCopper, 8)), + OreDictUnifier.get(wireFine, AnnealedCopper, 8)), arrayOf(Polyethylene.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, Gallium), - OreDictUnifier.get(wireFine, Tantalum, 8)), + OreDictUnifier.get(wireFine, Tantalum, 8)), arrayOf(Polyethylene.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(foil, Gallium) - .input(wireFine, AnnealedCopper, 8) - .fluidInputs(Polyethylene.getFluid(L)) - .output(SMD_TRANSISTOR, 16) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(foil, Gallium) - .input(wireFine, Tantalum, 4) - .fluidInputs(Polyethylene.getFluid(L)) - .output(SMD_TRANSISTOR, 32) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(foil, Gallium) - .input(wireFine, Titanium, 2) - .fluidInputs(Polyethylene.getFluid(L)) - .output(SMD_TRANSISTOR, 64) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(foil, Gallium) + input(wireFine, AnnealedCopper, 8) + fluidInputs(Polyethylene.getFluid(L)) + output(SMD_TRANSISTOR, 16) + EUt(VA[HV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(foil, Gallium) + input(wireFine, Tantalum, 4) + fluidInputs(Polyethylene.getFluid(L)) + output(SMD_TRANSISTOR, 32) + EUt(VA[HV]) + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(foil, Gallium) + input(wireFine, Titanium, 2) + fluidInputs(Polyethylene.getFluid(L)) + output(SMD_TRANSISTOR, 64) + EUt(VA[HV]) + duration(2 * SECOND) + } // SMD Resistor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Carbon), - OreDictUnifier.get(wireFine, Electrum, 4)), + OreDictUnifier.get(wireFine, Electrum, 4)), arrayOf(Polyethylene.getFluid(L * 2))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Carbon), - OreDictUnifier.get(wireFine, Tantalum, 4)), + OreDictUnifier.get(wireFine, Tantalum, 4)), arrayOf(Polyethylene.getFluid(L * 2))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Carbon) - .input(wireFine, Electrum, 4) - .fluidInputs(Polyethylene.getFluid(L * 2)) - .output(SMD_RESISTOR, 16) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Carbon) - .input(wireFine, Niobium, 4) - .fluidInputs(Polyethylene.getFluid(L * 2)) - .output(SMD_RESISTOR, 32) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Carbon) - .input(wireFine, Tungsten, 4) - .fluidInputs(Polyethylene.getFluid(L * 2)) - .output(SMD_RESISTOR, 64) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Carbon) + input(wireFine, Electrum, 4) + fluidInputs(Polyethylene.getFluid(L * 2)) + output(SMD_RESISTOR, 16) + EUt(VA[HV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Carbon) + input(wireFine, Niobium, 4) + fluidInputs(Polyethylene.getFluid(L * 2)) + output(SMD_RESISTOR, 32) + EUt(VA[HV]) + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Carbon) + input(wireFine, Tungsten, 4) + fluidInputs(Polyethylene.getFluid(L * 2)) + output(SMD_RESISTOR, 64) + EUt(VA[HV]) + duration(2 * SECOND) + } // SMD Capacitor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, SiliconeRubber), - OreDictUnifier.get(foil, Aluminium)), + OreDictUnifier.get(foil, Aluminium)), arrayOf(Polyethylene.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, PolyvinylChloride, 2), - OreDictUnifier.get(foil, Aluminium)), + OreDictUnifier.get(foil, Aluminium)), arrayOf(Polyethylene.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, SiliconeRubber), - OreDictUnifier.get(foil, Tantalum)), + OreDictUnifier.get(foil, Tantalum)), arrayOf(Polyethylene.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(foil, PolyvinylChloride, 2), - OreDictUnifier.get(foil, Tantalum)), + OreDictUnifier.get(foil, Tantalum)), arrayOf(Polyethylene.getFluid(L / 2))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(foil, PolyvinylChloride) - .input(foil, Aluminium) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(SMD_CAPACITOR, 16) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(foil, PolyvinylChloride) - .input(foil, Tantalum) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(SMD_CAPACITOR, 32) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(foil, PolyvinylChloride) - .input(foil, Zirconium) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(SMD_CAPACITOR, 64) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(foil, PolyvinylChloride) + input(foil, Aluminium) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(SMD_CAPACITOR, 16) + EUt(VA[HV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(foil, PolyvinylChloride) + input(foil, Tantalum) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(SMD_CAPACITOR, 32) + EUt(VA[HV]) + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(foil, PolyvinylChloride) + input(foil, Zirconium) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(SMD_CAPACITOR, 64) + EUt(VA[HV]) + duration(2 * SECOND) + } // SMD Diode - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, GalliumArsenide), - OreDictUnifier.get(wireFine, Platinum, 8)), + OreDictUnifier.get(wireFine, Platinum, 8)), arrayOf(Polyethylene.getFluid(L * 2))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, GalliumArsenide) - .input(wireFine, Platinum, 8) - .fluidInputs(Polyethylene.getFluid(L * 2)) - .output(SMD_DIODE, 32) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, GalliumArsenide) - .input(wireFine, Ruthenium, 8) - .fluidInputs(Polyethylene.getFluid(L * 2)) - .output(SMD_DIODE, 64) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, GalliumArsenide) + input(wireFine, Platinum, 8) + fluidInputs(Polyethylene.getFluid(L * 2)) + output(SMD_DIODE, 32) + EUt(VA[HV]) + duration(8 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, GalliumArsenide) + input(wireFine, Ruthenium, 8) + fluidInputs(Polyethylene.getFluid(L * 2)) + output(SMD_DIODE, 64) + EUt(VA[HV]) + duration(4 * SECOND) + } // SMD Inductor - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ring, NickelZincFerrite), - OreDictUnifier.get(wireFine, Cupronickel, 4)), + OreDictUnifier.get(wireFine, Cupronickel, 4)), arrayOf(Polyethylene.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ring, NickelZincFerrite), - OreDictUnifier.get(wireFine, Tantalum, 4)), + OreDictUnifier.get(wireFine, Tantalum, 4)), arrayOf(Polyethylene.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ring, NickelZincFerrite) - .input(wireFine, Cobalt, 4) - .fluidInputs(Polyethylene.getFluid(L)) - .output(SMD_INDUCTOR, 16) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ring, NickelZincFerrite) - .input(wireFine, Cupronickel, 4) - .fluidInputs(Polyethylene.getFluid(L)) - .output(SMD_INDUCTOR, 32) - .EUt(VA[HV]) - .duration(4 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ring, NickelZincFerrite) - .input(wireFine, Hafnium, 4) - .fluidInputs(Polyethylene.getFluid(L)) - .output(SMD_INDUCTOR, 64) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(ring, NickelZincFerrite) + input(wireFine, Cobalt, 4) + fluidInputs(Polyethylene.getFluid(L)) + output(SMD_INDUCTOR, 16) + EUt(VA[HV]) + duration(8 * SECOND) + } + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(ring, NickelZincFerrite) + input(wireFine, Cupronickel, 4) + fluidInputs(Polyethylene.getFluid(L)) + output(SMD_INDUCTOR, 32) + EUt(VA[HV]) + duration(4 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(ring, NickelZincFerrite) + input(wireFine, Hafnium, 4) + fluidInputs(Polyethylene.getFluid(L)) + output(SMD_INDUCTOR, 64) + EUt(VA[HV]) + duration(2 * SECOND) + } } private fun circuitRecipes() { // ULV NAND Chip - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(GOOD_CIRCUIT_BOARD.stackForm, - SIMPLE_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(bolt, RedAlloy, 2), - OreDictUnifier.get(wireFine, Tin, 2)), + SIMPLE_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(bolt, RedAlloy, 2), + OreDictUnifier.get(wireFine, Tin, 2)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(GOOD_CIRCUIT_BOARD.stackForm, - SIMPLE_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(bolt, RedAlloy, 2), - OreDictUnifier.get(wireFine, Tin, 2)), + SIMPLE_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(bolt, RedAlloy, 2), + OreDictUnifier.get(wireFine, Tin, 2)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - SIMPLE_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(bolt, RedAlloy, 2), - OreDictUnifier.get(wireFine, Tin, 2)), + SIMPLE_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(bolt, RedAlloy, 2), + OreDictUnifier.get(wireFine, Tin, 2)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - SIMPLE_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(bolt, RedAlloy, 2), - OreDictUnifier.get(wireFine, Tin, 2)), + SIMPLE_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(bolt, RedAlloy, 2), + OreDictUnifier.get(wireFine, Tin, 2)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(GOOD_CIRCUIT_BOARD) - .input(SIMPLE_SYSTEM_ON_CHIP) - .input(wireFine, Tin, 2) - .input(bolt, RedAlloy, 2) - .output(NAND_CHIP_ULV, 8) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PLASTIC_CIRCUIT_BOARD) - .input(SIMPLE_SYSTEM_ON_CHIP) - .input(wireFine, Tin, 2) - .input(bolt, RedAlloy, 2) - .output(NAND_CHIP_ULV, 16) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(GOOD_CIRCUIT_BOARD) + input(SIMPLE_SYSTEM_ON_CHIP) + input(wireFine, Tin, 2) + input(bolt, RedAlloy, 2) + output(NAND_CHIP_ULV, 8) + EUt(VA[MV]) + duration(15 * SECOND) + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PLASTIC_CIRCUIT_BOARD) + input(SIMPLE_SYSTEM_ON_CHIP) + input(wireFine, Tin, 2) + input(bolt, RedAlloy, 2) + output(NAND_CHIP_ULV, 16) + EUt(VA[MV]) + duration(15 * SECOND) + } // LV Microprocessor - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - CENTRAL_PROCESSING_UNIT.stackForm, - OreDictUnifier.get(component, Resistor, 2), - OreDictUnifier.get(component, Capacitor, 2), - OreDictUnifier.get(component, Transistor, 2), - OreDictUnifier.get(wireFine, Copper, 2)), + CENTRAL_PROCESSING_UNIT.stackForm, + OreDictUnifier.get(component, Resistor, 2), + OreDictUnifier.get(component, Capacitor, 2), + OreDictUnifier.get(component, Transistor, 2), + OreDictUnifier.get(wireFine, Copper, 2)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - CENTRAL_PROCESSING_UNIT.stackForm, - OreDictUnifier.get(component, Resistor, 2), - OreDictUnifier.get(component, Capacitor, 2), - OreDictUnifier.get(component, Transistor, 2), - OreDictUnifier.get(wireFine, Copper, 2)), + CENTRAL_PROCESSING_UNIT.stackForm, + OreDictUnifier.get(component, Resistor, 2), + OreDictUnifier.get(component, Capacitor, 2), + OreDictUnifier.get(component, Transistor, 2), + OreDictUnifier.get(wireFine, Copper, 2)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, Copper, 2), - OreDictUnifier.get(bolt, Tin, 2)), + SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, Copper, 2), + OreDictUnifier.get(bolt, Tin, 2)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, Copper, 2), - OreDictUnifier.get(bolt, Tin, 2)), + SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, Copper, 2), + OreDictUnifier.get(bolt, Tin, 2)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PLASTIC_CIRCUIT_BOARD) - .input(CENTRAL_PROCESSING_UNIT) - .input(component, Resistor, 2) - .input(component, Capacitor, 2) - .input(component, Transistor, 2) - .input(wireFine, Copper) - .output(MICROPROCESSOR_LV, 4) - .EUt(VHA[MV]) - .duration(10 * SECOND) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PLASTIC_CIRCUIT_BOARD) - .input(SYSTEM_ON_CHIP) - .input(wireFine, Copper, 2) - .input(bolt, Tin, 2) - .output(MICROPROCESSOR_LV, 8) - .EUt(600) // EV - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PLASTIC_CIRCUIT_BOARD) + input(CENTRAL_PROCESSING_UNIT) + input(component, Resistor, 2) + input(component, Capacitor, 2) + input(component, Transistor, 2) + input(wireFine, Copper) + output(MICROPROCESSOR_LV, 4) + EUt(VHA[MV]) + duration(10 * SECOND) + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PLASTIC_CIRCUIT_BOARD) + input(SYSTEM_ON_CHIP) + input(wireFine, Copper, 2) + input(bolt, Tin, 2) + output(MICROPROCESSOR_LV, 8) + EUt(600) // EV + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // MV Processor - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - CENTRAL_PROCESSING_UNIT.stackForm, - OreDictUnifier.get(component, Resistor, 4), - OreDictUnifier.get(component, Capacitor, 4), - OreDictUnifier.get(component, Transistor, 4), - OreDictUnifier.get(wireFine, RedAlloy, 4)), + CENTRAL_PROCESSING_UNIT.stackForm, + OreDictUnifier.get(component, Resistor, 4), + OreDictUnifier.get(component, Capacitor, 4), + OreDictUnifier.get(component, Transistor, 4), + OreDictUnifier.get(wireFine, RedAlloy, 4)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - CENTRAL_PROCESSING_UNIT.stackForm, - OreDictUnifier.get(component, Resistor, 4), - OreDictUnifier.get(component, Capacitor, 4), - OreDictUnifier.get(component, Transistor, 4), - OreDictUnifier.get(wireFine, RedAlloy, 4)), + CENTRAL_PROCESSING_UNIT.stackForm, + OreDictUnifier.get(component, Resistor, 4), + OreDictUnifier.get(component, Capacitor, 4), + OreDictUnifier.get(component, Transistor, 4), + OreDictUnifier.get(wireFine, RedAlloy, 4)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, RedAlloy, 4), - OreDictUnifier.get(bolt, AnnealedCopper, 4)), + SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, RedAlloy, 4), + OreDictUnifier.get(bolt, AnnealedCopper, 4)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, RedAlloy, 4), - OreDictUnifier.get(bolt, AnnealedCopper, 4)), + SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, RedAlloy, 4), + OreDictUnifier.get(bolt, AnnealedCopper, 4)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PLASTIC_CIRCUIT_BOARD) - .input(CENTRAL_PROCESSING_UNIT) - .input(component, Resistor, 4) - .input(component, Capacitor, 4) - .input(component, Transistor, 4) - .input(wireFine, RedAlloy, 4) - .output(PROCESSOR_MV, 4) - .EUt(VHA[MV]) - .duration(10 * SECOND) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PLASTIC_CIRCUIT_BOARD) - .input(SYSTEM_ON_CHIP) - .input(wireFine, RedAlloy, 4) - .input(bolt, AnnealedCopper, 4) - .output(PROCESSOR_MV, 8) - .EUt(2400) // IV - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PLASTIC_CIRCUIT_BOARD) + input(CENTRAL_PROCESSING_UNIT) + input(component, Resistor, 4) + input(component, Capacitor, 4) + input(component, Transistor, 4) + input(wireFine, RedAlloy, 4) + output(PROCESSOR_MV, 4) + EUt(VHA[MV]) + duration(10 * SECOND) + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PLASTIC_CIRCUIT_BOARD) + input(SYSTEM_ON_CHIP) + input(wireFine, RedAlloy, 4) + input(bolt, AnnealedCopper, 4) + output(PROCESSOR_MV, 8) + EUt(2400) // IV + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // HV Processor Assembly - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - PROCESSOR_MV.getStackForm(2), - OreDictUnifier.get(component, Inductor, 4), - OreDictUnifier.get(component, Capacitor, 8), - RANDOM_ACCESS_MEMORY.getStackForm(4), - OreDictUnifier.get(wireFine, RedAlloy, 8)), + PROCESSOR_MV.getStackForm(2), + OreDictUnifier.get(component, Inductor, 4), + OreDictUnifier.get(component, Capacitor, 8), + RANDOM_ACCESS_MEMORY.getStackForm(4), + OreDictUnifier.get(wireFine, RedAlloy, 8)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - PROCESSOR_MV.getStackForm(2), - OreDictUnifier.get(component, Inductor, 4), - OreDictUnifier.get(component, Capacitor, 8), - RANDOM_ACCESS_MEMORY.getStackForm(4), - OreDictUnifier.get(wireFine, RedAlloy, 8)), + PROCESSOR_MV.getStackForm(2), + OreDictUnifier.get(component, Inductor, 4), + OreDictUnifier.get(component, Capacitor, 8), + RANDOM_ACCESS_MEMORY.getStackForm(4), + OreDictUnifier.get(wireFine, RedAlloy, 8)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PLASTIC_CIRCUIT_BOARD) - .input(PROCESSOR_MV, 4) - .input(component, Inductor, 4) - .input(component, Capacitor, 8) - .input(RANDOM_ACCESS_MEMORY, 4) - .input(wireFine, RedAlloy, 8) - .output(PROCESSOR_ASSEMBLY_HV, 3) - .EUt(90) // MV - .duration(20 * SECOND) - .solderMultiplier(2) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PLASTIC_CIRCUIT_BOARD) + input(PROCESSOR_MV, 4) + input(component, Inductor, 4) + input(component, Capacitor, 8) + input(RANDOM_ACCESS_MEMORY, 4) + input(wireFine, RedAlloy, 8) + output(PROCESSOR_ASSEMBLY_HV, 3) + EUt(90) // MV + duration(20 * SECOND) + solderMultiplier(2) + } // EV Workstation - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - PROCESSOR_ASSEMBLY_HV.getStackForm(2), - OreDictUnifier.get(component, Diode, 4), - RANDOM_ACCESS_MEMORY.getStackForm(4), - OreDictUnifier.get(wireFine, Electrum, 16), - OreDictUnifier.get(bolt, BlueAlloy, 16)), + PROCESSOR_ASSEMBLY_HV.getStackForm(2), + OreDictUnifier.get(component, Diode, 4), + RANDOM_ACCESS_MEMORY.getStackForm(4), + OreDictUnifier.get(wireFine, Electrum, 16), + OreDictUnifier.get(bolt, BlueAlloy, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(PLASTIC_CIRCUIT_BOARD.stackForm, - PROCESSOR_ASSEMBLY_HV.getStackForm(2), - OreDictUnifier.get(component, Diode, 4), - RANDOM_ACCESS_MEMORY.getStackForm(4), - OreDictUnifier.get(wireFine, Electrum, 16), - OreDictUnifier.get(bolt, BlueAlloy, 16)), + PROCESSOR_ASSEMBLY_HV.getStackForm(2), + OreDictUnifier.get(component, Diode, 4), + RANDOM_ACCESS_MEMORY.getStackForm(4), + OreDictUnifier.get(wireFine, Electrum, 16), + OreDictUnifier.get(bolt, BlueAlloy, 16)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(PLASTIC_CIRCUIT_BOARD) - .input(PROCESSOR_ASSEMBLY_HV, 3) - .input(component, Diode, 4) - .input(RANDOM_ACCESS_MEMORY, 4) - .input(wireFine, Electrum, 16) - .input(bolt, BlueAlloy, 16) - .output(WORKSTATION_EV, 2) - .EUt(VA[MV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(2) - .buildAndRegister() - + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(PLASTIC_CIRCUIT_BOARD) + input(PROCESSOR_ASSEMBLY_HV, 3) + input(component, Diode, 4) + input(RANDOM_ACCESS_MEMORY, 4) + input(wireFine, Electrum, 16) + input(bolt, BlueAlloy, 16) + output(WORKSTATION_EV, 2) + EUt(VA[MV]) + duration(20 * SECOND) + cleanroom() + solderMultiplier(2) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/QuantumCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/QuantumCircuits.kt index 7db50597b..900783d1b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/QuantumCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/QuantumCircuits.kt @@ -4,8 +4,6 @@ import gregtech.api.GTValues.IV import gregtech.api.GTValues.L import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.CIRCUIT_ASSEMBLER_RECIPES import gregtech.api.unification.OreDictUnifier @@ -48,6 +46,9 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CadmiumSelenide @@ -73,15 +74,15 @@ internal object QuantumCircuits TetramethylammoniumHydroxide.getFluid(500), EthylenediaminePyrocatechol.getFluid(250))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(FIBER_BOARD) - .input(foil, AnnealedCopper, 12) - .fluidInputs(etchingLiquid) - .output(EXTREME_CIRCUIT_BOARD) - .EUt(VA[LV]) - .duration(1 * MINUTE) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(FIBER_BOARD) + input(foil, AnnealedCopper, 12) + fluidInputs(etchingLiquid) + output(EXTREME_CIRCUIT_BOARD) + EUt(VA[LV]) + duration(1 * MINUTE) + cleanroom() + } } } @@ -90,306 +91,306 @@ internal object QuantumCircuits // QuBit Central Processing Unit (QuBit CPU) GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(NANO_CENTRAL_PROCESSING_UNIT_WAFER.stackForm, - QUANTUM_EYE.getStackForm(2)), + QUANTUM_EYE.getStackForm(2)), arrayOf(GalliumArsenide.getFluid(L * 2))) GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(NANO_CENTRAL_PROCESSING_UNIT_WAFER.stackForm, - OreDictUnifier.get(dust, IndiumGalliumPhosphide)), + OreDictUnifier.get(dust, IndiumGalliumPhosphide)), arrayOf(Radon.getFluid(50))) - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(NANO_CENTRAL_PROCESSING_UNIT_WAFER) - .input(dustTiny, CadmiumSelenide) - .input(QUANTUM_EYE) - .fluidInputs(GalliumArsenide.getFluid(L)) - .output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 2) - .EUt(VA[IV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(NANO_CENTRAL_PROCESSING_UNIT_WAFER) - .input(dustTiny, CadmiumSelenide) - .input(dust, IndiumGalliumPhosphide) - .fluidInputs(Radon.getFluid(50)) - .output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 2) - .EUt(VA[IV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 4) - .input(dustSmall, CadmiumSelenide) - .input(QUANTUM_EYE, 4) - .fluidInputs(GalliumArsenide.getFluid(L * 4)) - .output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 8) - .EUt(VA[IV]) - .duration(15 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 4) - .input(dustSmall, CadmiumSelenide) - .input(dust, IndiumGalliumPhosphide, 4) - .fluidInputs(Radon.getFluid(200)) - .output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 8) - .EUt(VA[IV]) - .duration(25 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 9) - .input(dust, CadmiumSelenide) - .input(QUANTUM_EYE, 9) - .fluidInputs(GalliumArsenide.getFluid(L * 9)) - .output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 18) - .EUt(VA[IV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .circuitMeta(10) - .input(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 9) - .input(dust, CadmiumSelenide) - .input(dust, IndiumGalliumPhosphide, 9) - .fluidInputs(Radon.getFluid(450)) - .output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 18) - .EUt(VA[IV]) - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(1) + input(NANO_CENTRAL_PROCESSING_UNIT_WAFER) + input(dustTiny, CadmiumSelenide) + input(QUANTUM_EYE) + fluidInputs(GalliumArsenide.getFluid(L)) + output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 2) + EUt(VA[IV]) + duration(10 * SECOND) + cleanroom() + } + + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(2) + input(NANO_CENTRAL_PROCESSING_UNIT_WAFER) + input(dustTiny, CadmiumSelenide) + input(dust, IndiumGalliumPhosphide) + fluidInputs(Radon.getFluid(50)) + output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 2) + EUt(VA[IV]) + duration(20 * SECOND) + cleanroom() + } + + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(4) + input(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 4) + input(dustSmall, CadmiumSelenide) + input(QUANTUM_EYE, 4) + fluidInputs(GalliumArsenide.getFluid(L * 4)) + output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 8) + EUt(VA[IV]) + duration(15 * SECOND) + cleanroom() + } + + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(5) + input(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 4) + input(dustSmall, CadmiumSelenide) + input(dust, IndiumGalliumPhosphide, 4) + fluidInputs(Radon.getFluid(200)) + output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 8) + EUt(VA[IV]) + duration(25 * SECOND) + cleanroom() + } + + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(9) + input(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 9) + input(dust, CadmiumSelenide) + input(QUANTUM_EYE, 9) + fluidInputs(GalliumArsenide.getFluid(L * 9)) + output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 18) + EUt(VA[IV]) + duration(20 * SECOND) + cleanroom() + } + + VACUUM_CHAMBER_RECIPES.addRecipe { + circuitMeta(10) + input(NANO_CENTRAL_PROCESSING_UNIT_WAFER, 9) + input(dust, CadmiumSelenide) + input(dust, IndiumGalliumPhosphide, 9) + fluidInputs(Radon.getFluid(450)) + output(QUBIT_CENTRAL_PROCESSING_UNIT_WAFER, 18) + EUt(VA[IV]) + duration(30 * SECOND) + cleanroom() + } } private fun circuitRecipes() { // EV Quantum Processor - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUBIT_CENTRAL_PROCESSING_UNIT.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - SMD_CAPACITOR.getStackForm(12), - SMD_TRANSISTOR.getStackForm(12), - OreDictUnifier.get(wireFine, Platinum, 12)), + QUBIT_CENTRAL_PROCESSING_UNIT.stackForm, + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + SMD_CAPACITOR.getStackForm(12), + SMD_TRANSISTOR.getStackForm(12), + OreDictUnifier.get(wireFine, Platinum, 12)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUBIT_CENTRAL_PROCESSING_UNIT.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - SMD_CAPACITOR.getStackForm(12), - SMD_TRANSISTOR.getStackForm(12), - OreDictUnifier.get(wireFine, Platinum, 12)), + QUBIT_CENTRAL_PROCESSING_UNIT.stackForm, + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + SMD_CAPACITOR.getStackForm(12), + SMD_TRANSISTOR.getStackForm(12), + OreDictUnifier.get(wireFine, Platinum, 12)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUBIT_CENTRAL_PROCESSING_UNIT.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - ADVANCED_SMD_CAPACITOR.getStackForm(3), - ADVANCED_SMD_TRANSISTOR.getStackForm(3), - OreDictUnifier.get(wireFine, Platinum, 12)), + QUBIT_CENTRAL_PROCESSING_UNIT.stackForm, + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + ADVANCED_SMD_CAPACITOR.getStackForm(3), + ADVANCED_SMD_TRANSISTOR.getStackForm(3), + OreDictUnifier.get(wireFine, Platinum, 12)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUBIT_CENTRAL_PROCESSING_UNIT.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - ADVANCED_SMD_CAPACITOR.getStackForm(3), - ADVANCED_SMD_TRANSISTOR.getStackForm(3), - OreDictUnifier.get(wireFine, Platinum, 12)), + QUBIT_CENTRAL_PROCESSING_UNIT.stackForm, + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + ADVANCED_SMD_CAPACITOR.getStackForm(3), + ADVANCED_SMD_TRANSISTOR.getStackForm(3), + OreDictUnifier.get(wireFine, Platinum, 12)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - ADVANCED_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, Platinum, 12), - OreDictUnifier.get(bolt, NiobiumTitanium, 8)), + ADVANCED_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, Platinum, 12), + OreDictUnifier.get(bolt, NiobiumTitanium, 8)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - ADVANCED_SYSTEM_ON_CHIP.stackForm, - OreDictUnifier.get(wireFine, Platinum, 12), - OreDictUnifier.get(bolt, NiobiumTitanium, 8)), + ADVANCED_SYSTEM_ON_CHIP.stackForm, + OreDictUnifier.get(wireFine, Platinum, 12), + OreDictUnifier.get(bolt, NiobiumTitanium, 8)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(EXTREME_CIRCUIT_BOARD) - .input(QUBIT_CENTRAL_PROCESSING_UNIT) - .input(NANO_CENTRAL_PROCESSING_UNIT) - .input(SMD_CAPACITOR, 12) - .input(SMD_TRANSISTOR, 12) - .input(wireFine, Platinum, 12) - .output(QUANTUM_PROCESSOR_EV, 4) - .EUt(2400) // IV - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(EXTREME_CIRCUIT_BOARD) - .input(QUBIT_CENTRAL_PROCESSING_UNIT) - .input(NANO_CENTRAL_PROCESSING_UNIT) - .input(ADVANCED_SMD_CAPACITOR, 3) - .input(ADVANCED_SMD_TRANSISTOR, 3) - .input(wireFine, Platinum, 12) - .output(QUANTUM_PROCESSOR_EV, 4) - .EUt(2400) // IV - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(EXTREME_CIRCUIT_BOARD) - .input(ADVANCED_SYSTEM_ON_CHIP) - .input(wireFine, Platinum, 12) - .input(bolt, NiobiumTitanium, 8) - .output(QUANTUM_PROCESSOR_EV, 8) - .EUt(38400) // ZPM - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(EXTREME_CIRCUIT_BOARD) + input(QUBIT_CENTRAL_PROCESSING_UNIT) + input(NANO_CENTRAL_PROCESSING_UNIT) + input(SMD_CAPACITOR, 12) + input(SMD_TRANSISTOR, 12) + input(wireFine, Platinum, 12) + output(QUANTUM_PROCESSOR_EV, 4) + EUt(2400) // IV + duration(10 * SECOND) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(EXTREME_CIRCUIT_BOARD) + input(QUBIT_CENTRAL_PROCESSING_UNIT) + input(NANO_CENTRAL_PROCESSING_UNIT) + input(ADVANCED_SMD_CAPACITOR, 3) + input(ADVANCED_SMD_TRANSISTOR, 3) + input(wireFine, Platinum, 12) + output(QUANTUM_PROCESSOR_EV, 4) + EUt(2400) // IV + duration(5 * SECOND) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(EXTREME_CIRCUIT_BOARD) + input(ADVANCED_SYSTEM_ON_CHIP) + input(wireFine, Platinum, 12) + input(bolt, NiobiumTitanium, 8) + output(QUANTUM_PROCESSOR_EV, 8) + EUt(38400) // ZPM + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // IV Quantum Assembly - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUANTUM_PROCESSOR_EV.getStackForm(2), - SMD_INDUCTOR.getStackForm(8), - SMD_CAPACITOR.getStackForm(16), - RANDOM_ACCESS_MEMORY.getStackForm(4), - OreDictUnifier.get(wireFine, Platinum, 16)), + QUANTUM_PROCESSOR_EV.getStackForm(2), + SMD_INDUCTOR.getStackForm(8), + SMD_CAPACITOR.getStackForm(16), + RANDOM_ACCESS_MEMORY.getStackForm(4), + OreDictUnifier.get(wireFine, Platinum, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUANTUM_PROCESSOR_EV.getStackForm(2), - SMD_INDUCTOR.getStackForm(8), - SMD_CAPACITOR.getStackForm(16), - RANDOM_ACCESS_MEMORY.getStackForm(4), - OreDictUnifier.get(wireFine, Platinum, 16)), + QUANTUM_PROCESSOR_EV.getStackForm(2), + SMD_INDUCTOR.getStackForm(8), + SMD_CAPACITOR.getStackForm(16), + RANDOM_ACCESS_MEMORY.getStackForm(4), + OreDictUnifier.get(wireFine, Platinum, 16)), arrayOf(Tin.getFluid(L * 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUANTUM_PROCESSOR_EV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.getStackForm(2), - ADVANCED_SMD_CAPACITOR.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(4), - OreDictUnifier.get(wireFine, Platinum, 16)), + QUANTUM_PROCESSOR_EV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.getStackForm(2), + ADVANCED_SMD_CAPACITOR.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(4), + OreDictUnifier.get(wireFine, Platinum, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUANTUM_PROCESSOR_EV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.getStackForm(2), - ADVANCED_SMD_CAPACITOR.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(4), - OreDictUnifier.get(wireFine, Platinum, 16)), + QUANTUM_PROCESSOR_EV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.getStackForm(2), + ADVANCED_SMD_CAPACITOR.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(4), + OreDictUnifier.get(wireFine, Platinum, 16)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(EXTREME_CIRCUIT_BOARD) - .input(QUANTUM_PROCESSOR_EV, 4) - .input(SMD_INDUCTOR, 8) - .input(SMD_CAPACITOR, 16) - .input(RANDOM_ACCESS_MEMORY, 4) - .input(wireFine, Platinum, 16) - .output(QUANTUM_ASSEMBLY_IV, 3) - .EUt(2400) // IV - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(EXTREME_CIRCUIT_BOARD) - .input(QUANTUM_PROCESSOR_EV, 4) - .input(ADVANCED_SMD_INDUCTOR, 2) - .input(ADVANCED_SMD_CAPACITOR, 4) - .input(RANDOM_ACCESS_MEMORY, 4) - .input(wireFine, Platinum, 16) - .output(QUANTUM_ASSEMBLY_IV, 3) - .EUt(2400) // IV - .duration(10 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(EXTREME_CIRCUIT_BOARD) + input(QUANTUM_PROCESSOR_EV, 4) + input(SMD_INDUCTOR, 8) + input(SMD_CAPACITOR, 16) + input(RANDOM_ACCESS_MEMORY, 4) + input(wireFine, Platinum, 16) + output(QUANTUM_ASSEMBLY_IV, 3) + EUt(2400) // IV + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(EXTREME_CIRCUIT_BOARD) + input(QUANTUM_PROCESSOR_EV, 4) + input(ADVANCED_SMD_INDUCTOR, 2) + input(ADVANCED_SMD_CAPACITOR, 4) + input(RANDOM_ACCESS_MEMORY, 4) + input(wireFine, Platinum, 16) + output(QUANTUM_ASSEMBLY_IV, 3) + EUt(2400) // IV + duration(10 * SECOND) + solderMultiplier(2) + cleanroom() + } // LuV Quantum Supercomputer - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUANTUM_ASSEMBLY_IV.getStackForm(2), - SMD_DIODE.getStackForm(8), - NOR_MEMORY_CHIP.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireFine, Platinum, 32)), + QUANTUM_ASSEMBLY_IV.getStackForm(2), + SMD_DIODE.getStackForm(8), + NOR_MEMORY_CHIP.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireFine, Platinum, 32)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUANTUM_ASSEMBLY_IV.getStackForm(2), - SMD_DIODE.getStackForm(8), - NOR_MEMORY_CHIP.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireFine, Platinum, 32)), + QUANTUM_ASSEMBLY_IV.getStackForm(2), + SMD_DIODE.getStackForm(8), + NOR_MEMORY_CHIP.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireFine, Platinum, 32)), arrayOf(Tin.getFluid(L * 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUANTUM_ASSEMBLY_IV.getStackForm(2), - ADVANCED_SMD_DIODE.getStackForm(2), - NOR_MEMORY_CHIP.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireFine, Platinum, 32)), + QUANTUM_ASSEMBLY_IV.getStackForm(2), + ADVANCED_SMD_DIODE.getStackForm(2), + NOR_MEMORY_CHIP.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireFine, Platinum, 32)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(EXTREME_CIRCUIT_BOARD.stackForm, - QUANTUM_ASSEMBLY_IV.getStackForm(2), - ADVANCED_SMD_DIODE.getStackForm(2), - NOR_MEMORY_CHIP.getStackForm(4), - RANDOM_ACCESS_MEMORY.getStackForm(16), - OreDictUnifier.get(wireFine, Platinum, 32)), + QUANTUM_ASSEMBLY_IV.getStackForm(2), + ADVANCED_SMD_DIODE.getStackForm(2), + NOR_MEMORY_CHIP.getStackForm(4), + RANDOM_ACCESS_MEMORY.getStackForm(16), + OreDictUnifier.get(wireFine, Platinum, 32)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(EXTREME_CIRCUIT_BOARD) - .input(QUANTUM_ASSEMBLY_IV, 3) - .input(SMD_DIODE, 8) - .input(NOR_MEMORY_CHIP, 4) - .input(RANDOM_ACCESS_MEMORY, 16) - .input(wireFine, Platinum, 32) - .output(QUANTUM_COMPUTER_LUV, 2) - .EUt(2400) // IV - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(EXTREME_CIRCUIT_BOARD) - .input(QUANTUM_ASSEMBLY_IV, 3) - .input(ADVANCED_SMD_DIODE, 2) - .input(NOR_MEMORY_CHIP, 4) - .input(RANDOM_ACCESS_MEMORY, 16) - .input(wireFine, Platinum, 32) - .output(QUANTUM_COMPUTER_LUV, 2) - .EUt(2400) // IV - .duration(10 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(EXTREME_CIRCUIT_BOARD) + input(QUANTUM_ASSEMBLY_IV, 3) + input(SMD_DIODE, 8) + input(NOR_MEMORY_CHIP, 4) + input(RANDOM_ACCESS_MEMORY, 16) + input(wireFine, Platinum, 32) + output(QUANTUM_COMPUTER_LUV, 2) + EUt(2400) // IV + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(EXTREME_CIRCUIT_BOARD) + input(QUANTUM_ASSEMBLY_IV, 3) + input(ADVANCED_SMD_DIODE, 2) + input(NOR_MEMORY_CHIP, 4) + input(RANDOM_ACCESS_MEMORY, 16) + input(wireFine, Platinum, 32) + output(QUANTUM_COMPUTER_LUV, 2) + EUt(2400) // IV + duration(10 * SECOND) + solderMultiplier(2) + cleanroom() + } // ZPM Quantum Mainframe } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/SpintronicCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/SpintronicCircuits.kt index 08d3d6222..053e96a22 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/SpintronicCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/SpintronicCircuits.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.UHV import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ARC_FURNACE_RECIPES import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES @@ -82,6 +81,8 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -214,711 +215,707 @@ internal object SpintronicCircuits private fun circuitBoardRecipes() { // Spintronic Board - CVD_RECIPES.recipeBuilder() - .input(plate, CarbonNanotube) - .input(foil, Phosphorene, 64) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(SPINTRONIC_BOARD) - .EUt(VA[UEV]) - .duration(2 * SECOND) - .temperature(3580) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(plate, CarbonNanotube) + input(foil, Phosphorene, 64) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(SPINTRONIC_BOARD) + EUt(VA[UEV]) + duration(2 * SECOND) + temperature(3580) + } // Infinite Circuit Board for (etchingLiquid in arrayOf( // SodiumPersulfate.getFluid(64000), // Iron3Chloride.getFluid(32000), 16000, 8000 TetramethylammoniumHydroxide.getFluid(64000), - EthylenediaminePyrocatechol.getFluid(32000) - )) + EthylenediaminePyrocatechol.getFluid(32000))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(SPINTRONIC_BOARD) - .input(foil, Dubnium, 64) - .fluidInputs(etchingLiquid) - .output(INFINITE_CIRCUIT_BOARD) - .EUt(VA[IV]) - .duration(2 * MINUTE) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(SPINTRONIC_BOARD) + input(foil, Dubnium, 64) + fluidInputs(etchingLiquid) + output(INFINITE_CIRCUIT_BOARD) + EUt(VA[IV]) + duration(2 * MINUTE) + cleanroom() + } } } private fun smdRecipes() { // Cd + 2Te + 2Hg -> Hg2CdTe2 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Cadmium) - .input(dust, Tellurium, 2) - .fluidInputs(Mercury.getFluid(2000)) - .output(dust, MercuryCadmiumTelluride, 5) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Cadmium) + input(dust, Tellurium, 2) + fluidInputs(Mercury.getFluid(2000)) + output(dust, MercuryCadmiumTelluride, 5) + EUt(VA[UHV]) + duration(20 * SECOND) + cleanroom() + } // Spintronic SMD Transistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(foil, AmorphousBoronNitride) - .input(wireFine, MercuryCadmiumTelluride, 16) - .fluidInputs(Kevlar.getFluid(L)) - .output(SPINTRONIC_SMD_TRANSISTOR, 32) - .EUt(VA[UHV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(foil, AmorphousBoronNitride) + input(wireFine, MercuryCadmiumTelluride, 16) + fluidInputs(Kevlar.getFluid(L)) + output(SPINTRONIC_SMD_TRANSISTOR, 32) + EUt(VA[UHV]) + duration(8 * SECOND) + cleanroom() + } // Add another recipes for InPO4 because this is a byproduct in Nq processing. // In + H3PO4 -> InPO4 + 3H - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Indium) - .fluidInputs(PhosphoricAcid.getFluid(1000)) - .output(dust, IndiumPhosphate, 6) - .fluidOutputs(Hydrogen.getFluid(3000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 16 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Indium) + fluidInputs(PhosphoricAcid.getFluid(1000)) + output(dust, IndiumPhosphate, 6) + fluidOutputs(Hydrogen.getFluid(3000)) + EUt(VA[HV]) + duration(2 * SECOND + 16 * TICK) + } // CsOH + CeO2 + 2CoAl2O4 + 10InPO4 + 9H -> CsCeCo2In10 + 2Al2O3 + 10PO4 + 5H2O - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, CaesiumHydroxide, 3) - .input(dust, CeriumOxide, 3) - .input(dust, CobaltAluminate, 14) - .input(dust, IndiumPhosphate, 60) - .fluidInputs(Hydrogen.getFluid(9000)) - .output(dust, CaesiumCeriumCobaltIndium, 14) - .output(dust, Alumina, 10) - .output(dust, Phosphorus, 10) - .fluidOutputs(Oxygen.getFluid(40000)) - .fluidOutputs(Water.getFluid(5000)) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, CaesiumHydroxide, 3) + input(dust, CeriumOxide, 3) + input(dust, CobaltAluminate, 14) + input(dust, IndiumPhosphate, 60) + fluidInputs(Hydrogen.getFluid(9000)) + output(dust, CaesiumCeriumCobaltIndium, 14) + output(dust, Alumina, 10) + output(dust, Phosphorus, 10) + fluidOutputs(Oxygen.getFluid(40000)) + fluidOutputs(Water.getFluid(5000)) + EUt(VA[UHV]) + duration(20 * SECOND) + cleanroom() + } // Spintronic SMD Resistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(dust, DegenerateRhenium) - .input(wireFine, CaesiumCeriumCobaltIndium, 8) - .fluidInputs(Kevlar.getFluid(L * 2)) - .output(SPINTRONIC_SMD_RESISTOR, 32) - .EUt(VA[UHV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(dust, DegenerateRhenium) + input(wireFine, CaesiumCeriumCobaltIndium, 8) + fluidInputs(Kevlar.getFluid(L * 2)) + output(SPINTRONIC_SMD_RESISTOR, 32) + EUt(VA[UHV]) + duration(8 * SECOND) + cleanroom() + } // 12TaC + 3HfC + SgC -> Ta12Hf3SgC16 - ARC_FURNACE_RECIPES.recipeBuilder() - .input(dust, TantalumCarbide, 24) - .input(dust, HafniumCarbide, 6) - .input(dust, SeaborgiumCarbide, 2) - .output(ingotHot, TantalumHafniumSeaborgiumCarbide, 32) - .EUt(VA[UHV]) - .duration(1 * MINUTE + 12 * SECOND) - .buildAndRegister() + ARC_FURNACE_RECIPES.addRecipe { + input(dust, TantalumCarbide, 24) + input(dust, HafniumCarbide, 6) + input(dust, SeaborgiumCarbide, 2) + output(ingotHot, TantalumHafniumSeaborgiumCarbide, 32) + EUt(VA[UHV]) + duration(1 * MINUTE + 12 * SECOND) + } // Spintronic SMD Capacitor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(foil, TantalumHafniumSeaborgiumCarbide) - .input(foil, MetastableFlerovium, 2) - .fluidInputs(Kevlar.getFluid(L / 2)) - .output(SPINTRONIC_SMD_CAPACITOR, 32) - .EUt(VA[UHV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(foil, TantalumHafniumSeaborgiumCarbide) + input(foil, MetastableFlerovium, 2) + fluidInputs(Kevlar.getFluid(L / 2)) + output(SPINTRONIC_SMD_CAPACITOR, 32) + EUt(VA[UHV]) + duration(8 * SECOND) + cleanroom() + } // 2NaOH + Sg + 6F + 2H2O -> Na2SgO4 + 6HF - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, SodiumHydroxide, 6) - .input(dust, Seaborgium) - .fluidInputs(Fluorine.getFluid(6000)) - .fluidInputs(Water.getFluid(2000)) - .output(dust, SodiumSeaborgate, 7) - .fluidOutputs(HydrofluoricAcid.getFluid(6000)) - .EUt(VA[UV]) - .duration(12 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, SodiumHydroxide, 6) + input(dust, Seaborgium) + fluidInputs(Fluorine.getFluid(6000)) + fluidInputs(Water.getFluid(2000)) + output(dust, SodiumSeaborgate, 7) + fluidOutputs(HydrofluoricAcid.getFluid(6000)) + EUt(VA[UV]) + duration(12 * SECOND) + } // Spintronic SMD Diode - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(dust, ActiniumSuperhydride) - .input(wireFine, SodiumSeaborgate, 8) - .fluidInputs(Kevlar.getFluid(L * 2)) - .output(SPINTRONIC_SMD_DIODE, 64) - .EUt(VA[UHV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(dust, ActiniumSuperhydride) + input(wireFine, SodiumSeaborgate, 8) + fluidInputs(Kevlar.getFluid(L * 2)) + output(SPINTRONIC_SMD_DIODE, 64) + EUt(VA[UHV]) + duration(8 * SECOND) + cleanroom() + } // Tl + Rg + 3Cl -> TlRgCl3 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Thallium) - .input(dust, Roentgenium) - .fluidInputs(Chlorine.getFluid(3000)) - .output(dust, ThalliumRoentgeniumChloride, 5) - .EUt(VA[UHV]) - .duration(24 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Thallium) + input(dust, Roentgenium) + fluidInputs(Chlorine.getFluid(3000)) + output(dust, ThalliumRoentgeniumChloride, 5) + EUt(VA[UHV]) + duration(24 * SECOND) + } // Spintronic SMD Inductor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(ring, ThalliumRoentgeniumChloride) - .input(wireFine, Moscovium, 8) - .fluidInputs(Kevlar.getFluid(L)) - .output(SPINTRONIC_SMD_INDUCTOR, 32) - .EUt(VA[UHV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(ring, ThalliumRoentgeniumChloride) + input(wireFine, Moscovium, 8) + fluidInputs(Kevlar.getFluid(L)) + output(SPINTRONIC_SMD_INDUCTOR, 32) + EUt(VA[UHV]) + duration(8 * SECOND) + cleanroom() + } } private fun circuitComponentsRecipes() { // Topological Insulator Tube - CANNER_RECIPES.recipeBuilder() - .input(wireFine, MercuryCadmiumTelluride, 16) - .input(spring, CarbonNanotube) - .output(TOPOLOGICAL_INSULATOR_TUBE) - .EUt(VA[IV]) - .duration(1 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(wireFine, MercuryCadmiumTelluride, 16) + input(spring, CarbonNanotube) + output(TOPOLOGICAL_INSULATOR_TUBE) + EUt(VA[IV]) + duration(1 * SECOND) + cleanroom() + } // Condensate Containment Unit - ASSEMBLER_RECIPES.recipeBuilder() - .input(FIELD_GENERATOR_IV) - .input(HELIUM_NEON_LASER) - .input(plate, Trinium, 2) - .input(cableGtSingle, Europium, 2) - .inputs(GlassCasing.PMMA.getStack(2)) - .output(CONDENSATE_CONTAINMENT_UNIT) - .EUt(VA[UV]) - .duration(4 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(FIELD_GENERATOR_IV) + input(HELIUM_NEON_LASER) + input(plate, Trinium, 2) + input(cableGtSingle, Europium, 2) + inputs(GlassCasing.PMMA.getStack(2)) + output(CONDENSATE_CONTAINMENT_UNIT) + EUt(VA[UV]) + duration(4 * SECOND) + cleanroom() + } // Bose-Einstein Condensate Containment Unit - CANNER_RECIPES.recipeBuilder() - .input(CONDENSATE_CONTAINMENT_UNIT) - .input(dust, Rubidium, 8) - .output(BOSE_EINSTEIN_CONDENSATE) - .EUt(VA[UV]) - .duration(1 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(CONDENSATE_CONTAINMENT_UNIT) + input(dust, Rubidium, 8) + output(BOSE_EINSTEIN_CONDENSATE) + EUt(VA[UV]) + duration(1 * SECOND) + cleanroom() + } // 2Bi2Te3 + 3Sb + 3S -> 3BiSbTe2S + Bi - MOLECULAR_BEAM_RECIPES.recipeBuilder() - .notConsumable(plate, CadmiumSulfide) - .input(dust, BismuthTelluride, 10) - .input(dust, Antimony, 3) - .input(dust, Sulfur, 3) - .output(dust, BismuthChalcogenide, 15) - .output(dust, Bismuth) - .EUt(VA[UV]) - .duration(4 * SECOND) - .temperature(4876) - .buildAndRegister() + MOLECULAR_BEAM_RECIPES.addRecipe { + notConsumable(plate, CadmiumSulfide) + input(dust, BismuthTelluride, 10) + input(dust, Antimony, 3) + input(dust, Sulfur, 3) + output(dust, BismuthChalcogenide, 15) + output(dust, Bismuth) + EUt(VA[UV]) + duration(4 * SECOND) + temperature(4876) + } // Pu244 + 3H -> PuH3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Plutonium244) - .fluidInputs(Hydrogen.getFluid(3000)) - .output(dust, PlutoniumTrihydride, 4) - .EUt(VA[IV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Plutonium244) + fluidInputs(Hydrogen.getFluid(3000)) + output(dust, PlutoniumTrihydride, 4) + EUt(VA[IV]) + duration(3 * SECOND) + } // Pu + PH3 -> PuP + 6H - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, PlutoniumTrihydride, 4) - .fluidInputs(Phosphine.getFluid(1000)) - .output(dust, PlutoniumPhosphide, 2) - .fluidOutputs(Hydrogen.getFluid(6000)) - .EUt(VA[LuV]) - .duration(3 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, PlutoniumTrihydride, 4) + fluidInputs(Phosphine.getFluid(1000)) + output(dust, PlutoniumPhosphide, 2) + fluidOutputs(Hydrogen.getFluid(6000)) + EUt(VA[LuV]) + duration(3 * SECOND) + } // ESR Computation Unit - ASSEMBLER_RECIPES.recipeBuilder() - .input(INFINITE_CIRCUIT_BOARD) - .input(plate, PlutoniumPhosphide, 2) - .input(plate, LutetiumManganeseGermanium) - .input(foil, BismuthChalcogenide, 4) - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(BOSE_EINSTEIN_CONDENSATE) - .input(wireFine, ThalliumRoentgeniumChloride, 24) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(ESR_COMPUTATION_UNIT) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(INFINITE_CIRCUIT_BOARD) + input(plate, PlutoniumPhosphide, 2) + input(plate, LutetiumManganeseGermanium) + input(foil, BismuthChalcogenide, 4) + input(TOPOLOGICAL_INSULATOR_TUBE) + input(BOSE_EINSTEIN_CONDENSATE) + input(wireFine, ThalliumRoentgeniumChloride, 24) + fluidInputs(SolderingAlloy.getFluid(L)) + output(ESR_COMPUTATION_UNIT) + EUt(VA[UEV]) + duration(30 * SECOND) + cleanroom() + } // STTRAM - FORMING_PRESS_RECIPES.recipeBuilder() - .input(ADVANCED_RAM_CHIP) - .input(plate, ErbiumDopedZBLANGlass, 2) - .input(plate, PraseodymiumDopedZBLANGlass, 2) - .input(foil, CaesiumCeriumCobaltIndium, 8) - .input(wireFine, PedotTMA, 16) - .output(SPIN_TRANSFER_TORQUE_RAM_CHIP, 4) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(ADVANCED_RAM_CHIP) + input(plate, ErbiumDopedZBLANGlass, 2) + input(plate, PraseodymiumDopedZBLANGlass, 2) + input(foil, CaesiumCeriumCobaltIndium, 8) + input(wireFine, PedotTMA, 16) + output(SPIN_TRANSFER_TORQUE_RAM_CHIP, 4) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // MINAND - FORMING_PRESS_RECIPES.recipeBuilder() - .input(NAND_MEMORY_CHIP) - .input(foil, SeaborgiumCarbide, 4) - .input(foil, ThalliumBariumCalciumCuprate, 4) - .input(springSmall, ChromiumGermaniumTellurideMagnetic, 2) - .input(wireFine, FullerenePolymerMatrix, 8) - .output(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 4) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - + FORMING_PRESS_RECIPES.addRecipe { + input(NAND_MEMORY_CHIP) + input(foil, SeaborgiumCarbide, 4) + input(foil, ThalliumBariumCalciumCuprate, 4) + input(springSmall, ChromiumGermaniumTellurideMagnetic, 2) + input(wireFine, FullerenePolymerMatrix, 8) + output(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 4) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } } private fun systemOnChipRecipes() { // Excitation Maintainer - ASSEMBLER_RECIPES.recipeBuilder() - .input(CONDENSATE_CONTAINMENT_UNIT) - .input(plate, MetastableHassium) - .input(lens, LithiumNiobate) - .input(screw, VanadiumGallium, 4) - .fluidInputs(FreeElectronGas.getFluid(16000)) - .output(EXCITATION_MAINTAINER) - .EUt(VA[UHV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(CONDENSATE_CONTAINMENT_UNIT) + input(plate, MetastableHassium) + input(lens, LithiumNiobate) + input(screw, VanadiumGallium, 4) + fluidInputs(FreeElectronGas.getFluid(16000)) + output(EXCITATION_MAINTAINER) + EUt(VA[UHV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // TiO2 + C2HCl3 + C8H12 -> (C5H5)2Cl3Ti + H2O2 + H (drop) - CVD_RECIPES.recipeBuilder() - .input(dust, Rutile, 3) - .fluidInputs(Trichloroethylene.getFluid(1000)) - .fluidInputs(Cyclooctadiene.getFluid(1000)) - .output(dust, TrichlorocyclopentadienylTitanium, 24) - .fluidOutputs(HydrogenPeroxide.getFluid(1000)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .temperature(1442) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, Rutile, 3) + fluidInputs(Trichloroethylene.getFluid(1000)) + fluidInputs(Cyclooctadiene.getFluid(1000)) + output(dust, TrichlorocyclopentadienylTitanium, 24) + fluidOutputs(HydrogenPeroxide.getFluid(1000)) + EUt(VA[LuV]) + duration(10 * SECOND) + temperature(1442) + } // 2NaClO4 + Ag2O -> 2AgClO4 + Na2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, SodiumPerchlorate, 12) - .input(dust, SilverOxide, 3) - .output(dust, SilverPerchlorate, 12) - .output(dust, SodiumOxide, 3) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, SodiumPerchlorate, 12) + input(dust, SilverOxide, 3) + output(dust, SilverPerchlorate, 12) + output(dust, SodiumOxide, 3) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // C4H6O2 + C6H5NH2 + 2HF -> C10H7F2N + 2H2O + 4H - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, SuccinicAcid, 12) - .fluidInputs(Aniline.getFluid(1000)) - .fluidInputs(HydrofluoricAcid.getFluid(2000)) - .fluidOutputs(NDifluorophenylpyrrole.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(4000)) - .fluidOutputs(Ice.getFluid(2000)) - .EUt(VA[IV]) - .duration(4 * SECOND + 5 * TICK) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, SuccinicAcid, 12) + fluidInputs(Aniline.getFluid(1000)) + fluidInputs(HydrofluoricAcid.getFluid(2000)) + fluidOutputs(NDifluorophenylpyrrole.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(4000)) + fluidOutputs(Ice.getFluid(2000)) + EUt(VA[IV]) + duration(4 * SECOND + 5 * TICK) + } // HBr + NH3 + 4C2H4 -> N(CH2CH3)4Br - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(HydrobromicAcid.getFluid(1000)) - .fluidInputs(Ammonia.getFluid(1000)) - .fluidInputs(Ethylene.getFluid(4000)) - .fluidOutputs(TetraethylammoniumBromide.getFluid(1000)) - .EUt(VA[IV]) - .duration(2 * SECOND + 15 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(HydrobromicAcid.getFluid(1000)) + fluidInputs(Ammonia.getFluid(1000)) + fluidInputs(Ethylene.getFluid(4000)) + fluidOutputs(TetraethylammoniumBromide.getFluid(1000)) + EUt(VA[IV]) + duration(2 * SECOND + 15 * TICK) + } // Na + C6H5F -> C6H5Na + NaF - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Sodium) - .fluidInputs(Fluorobenzene.getFluid(1000)) - .output(dust, SodiumFluoride, 2) - .fluidOutputs(Phenylsodium.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Sodium) + fluidInputs(Fluorobenzene.getFluid(1000)) + output(dust, SodiumFluoride, 2) + fluidOutputs(Phenylsodium.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // 3(C5H5)2Cl3Ti + 2AgBF4 + 2AgClO4 + 6C10H7F2N + 2N(CH2CH3)4Br + 8C6H5Na // + 2HCl + 42H2O -> C149H97N10O2(TiBF20) + 4AgCl + 2NaBr + 6(NaCl)(H2O) - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .input(dust, TrichlorocyclopentadienylTitanium, 64) - .input(dust, TrichlorocyclopentadienylTitanium, 8) - .input(dust, SilverTetrafluoroborate, 12) - .input(dust, SilverPerchlorate, 12) - .fluidInputs(NDifluorophenylpyrrole.getFluid(6000)) - .fluidInputs(TetraethylammoniumBromide.getFluid(2000)) - .fluidInputs(Phenylsodium.getFluid(8000)) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .fluidInputs(Ice.getFluid(42000)) - .output(dust, SilverChloride, 8) - .output(dust, SodiumBromide, 4) - .fluidOutputs(PhotopolymerSolution.getFluid(4000)) - .fluidOutputs(SaltWater.getFluid(6000)) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + input(dust, TrichlorocyclopentadienylTitanium, 64) + input(dust, TrichlorocyclopentadienylTitanium, 8) + input(dust, SilverTetrafluoroborate, 12) + input(dust, SilverPerchlorate, 12) + fluidInputs(NDifluorophenylpyrrole.getFluid(6000)) + fluidInputs(TetraethylammoniumBromide.getFluid(2000)) + fluidInputs(Phenylsodium.getFluid(8000)) + fluidInputs(HydrochloricAcid.getFluid(2000)) + fluidInputs(Ice.getFluid(42000)) + output(dust, SilverChloride, 8) + output(dust, SodiumBromide, 4) + fluidOutputs(PhotopolymerSolution.getFluid(4000)) + fluidOutputs(SaltWater.getFluid(6000)) + EUt(VA[UIV]) + duration(20 * SECOND) + } // X-Ray Waveguide - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(wireFine, FullerenePolymerMatrix) - .fluidInputs(PhotopolymerSolution.getFluid(100)) - .output(X_RAY_WAVEGUIDE) - .EUt(VA[UHV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(wireFine, FullerenePolymerMatrix) + fluidInputs(PhotopolymerSolution.getFluid(100)) + output(X_RAY_WAVEGUIDE) + EUt(VA[UHV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // Rydberg Spinor Array - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, Graphene) - .input(EXCITATION_MAINTAINER) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 2) - .input(X_RAY_WAVEGUIDE) - .input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 8) - .input(screw, Neutronium, 4) - .fluidInputs(Zylon.getFluid(L)) - .fluidInputs(Xenon.getFluid(250)) - .fluidInputs(CadmiumSelenide.getFluid(L)) - .output(RYDBERG_SPINOR_ARRAY) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .tier(3) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(plate, Graphene) + input(EXCITATION_MAINTAINER) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 2) + input(X_RAY_WAVEGUIDE) + input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 8) + input(screw, Neutronium, 4) + fluidInputs(Zylon.getFluid(L)) + fluidInputs(Xenon.getFluid(250)) + fluidInputs(CadmiumSelenide.getFluid(L)) + output(RYDBERG_SPINOR_ARRAY) + EUt(VA[UEV]) + duration(10 * SECOND) + tier(3) + } // Advanced recipes for Rydberg Spinor Array - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, SeaborgiumDopedCarbonNanotube) - .input(EXCITATION_MAINTAINER, 2) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 4) - .input(X_RAY_WAVEGUIDE, 2) - .input(wireGtSingle, RutheniumTriniumAmericiumNeutronate, 16) - .input(screw, CosmicNeutronium, 8) - .fluidInputs(Zylon.getFluid(L * 4)) - .fluidInputs(Xenon.getPlasma(250)) - .fluidInputs(CadmiumSelenide.getFluid(L * 2)) - .output(RYDBERG_SPINOR_ARRAY, 4) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .tier(4) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(plate, SeaborgiumDopedCarbonNanotube) + input(EXCITATION_MAINTAINER, 2) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 4) + input(X_RAY_WAVEGUIDE, 2) + input(wireGtSingle, RutheniumTriniumAmericiumNeutronate, 16) + input(screw, CosmicNeutronium, 8) + fluidInputs(Zylon.getFluid(L * 4)) + fluidInputs(Xenon.getPlasma(250)) + fluidInputs(CadmiumSelenide.getFluid(L * 2)) + output(RYDBERG_SPINOR_ARRAY, 4) + EUt(VA[UIV]) + duration(5 * SECOND) + tier(4) + } // Ultimate recipes for Rydberg Spinor Array - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, FullereneSuperconductor) - .input(EXCITATION_MAINTAINER, 4) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 8) - .input(X_RAY_WAVEGUIDE, 4) - .input(wireGtSingle, VibraniumTritaniumActiniumIronSuperhydride, 32) - .input(screw, Infinity, 16) - .fluidInputs(Zylon.getFluid(L * 8)) - .fluidInputs(Xenon.getPlasma(500)) - .fluidInputs(CadmiumSelenide.getFluid(L * 4)) - .output(RYDBERG_SPINOR_ARRAY, 16) - .EUt(VA[UIV]) - .duration(2 * SECOND + 10 * TICK) - .tier(5) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(plate, FullereneSuperconductor) + input(EXCITATION_MAINTAINER, 4) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 8) + input(X_RAY_WAVEGUIDE, 4) + input(wireGtSingle, VibraniumTritaniumActiniumIronSuperhydride, 32) + input(screw, Infinity, 16) + fluidInputs(Zylon.getFluid(L * 8)) + fluidInputs(Xenon.getPlasma(500)) + fluidInputs(CadmiumSelenide.getFluid(L * 4)) + output(RYDBERG_SPINOR_ARRAY, 16) + EUt(VA[UIV]) + duration(2 * SECOND + 10 * TICK) + tier(5) + } // Exotic System On Chip - FORMING_PRESS_RECIPES.recipeBuilder() - .input(RYDBERG_SPINOR_ARRAY) - .input(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 2) - .input(FEMTO_PIC_CHIP, 4) - .input(springSmall, HeavyQuarkDegenerateMatter, 2) - .input(foil, Tennessine, 8) - .input(bolt, Rhugnor, 4) - .output(EXOTIC_SYSTEM_ON_CHIP, 2) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + input(RYDBERG_SPINOR_ARRAY) + input(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 2) + input(FEMTO_PIC_CHIP, 4) + input(springSmall, HeavyQuarkDegenerateMatter, 2) + input(foil, Tennessine, 8) + input(bolt, Rhugnor, 4) + output(EXOTIC_SYSTEM_ON_CHIP, 2) + EUt(VA[UIV]) + duration(5 * SECOND) + cleanroom() + } } private fun circuitRecipes() { // Spintronic Processor - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ESR_COMPUTATION_UNIT) - .input(CRYSTAL_SYSTEM_ON_CHIP) - .input(SPINTRONIC_SMD_RESISTOR, 16) - .input(SPINTRONIC_SMD_CAPACITOR, 16) - .input(SPINTRONIC_SMD_TRANSISTOR, 16) - .input(wireFine, CarbonNanotube, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(SPINTRONIC_PROCESSOR_UHV, 4) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ESR_COMPUTATION_UNIT) - .input(CRYSTAL_SYSTEM_ON_CHIP) - .input(COSMIC_SMD_RESISTOR, 4) - .input(COSMIC_SMD_CAPACITOR, 4) - .input(COSMIC_SMD_TRANSISTOR, 4) - .input(wireFine, CarbonNanotube, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(SPINTRONIC_PROCESSOR_UHV, 4) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ESR_COMPUTATION_UNIT) - .input(CRYSTAL_SYSTEM_ON_CHIP) - .input(SUPRACAUSAL_SMD_RESISTOR) - .input(SUPRACAUSAL_SMD_CAPACITOR) - .input(SUPRACAUSAL_SMD_TRANSISTOR) - .input(wireFine, CarbonNanotube, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(SPINTRONIC_PROCESSOR_UHV, 4) - .EUt(VA[UEV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(ESR_COMPUTATION_UNIT) - .input(EXOTIC_SYSTEM_ON_CHIP) - .input(wireFine, CarbonNanotube, 8) - .input(bolt, Vibranium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(SPINTRONIC_PROCESSOR_UHV, 8) - .EUt(VA[UIV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ESR_COMPUTATION_UNIT) + input(CRYSTAL_SYSTEM_ON_CHIP) + input(SPINTRONIC_SMD_RESISTOR, 16) + input(SPINTRONIC_SMD_CAPACITOR, 16) + input(SPINTRONIC_SMD_TRANSISTOR, 16) + input(wireFine, CarbonNanotube, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(SPINTRONIC_PROCESSOR_UHV, 4) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ESR_COMPUTATION_UNIT) + input(CRYSTAL_SYSTEM_ON_CHIP) + input(COSMIC_SMD_RESISTOR, 4) + input(COSMIC_SMD_CAPACITOR, 4) + input(COSMIC_SMD_TRANSISTOR, 4) + input(wireFine, CarbonNanotube, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(SPINTRONIC_PROCESSOR_UHV, 4) + EUt(VA[UEV]) + duration(5 * SECOND) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ESR_COMPUTATION_UNIT) + input(CRYSTAL_SYSTEM_ON_CHIP) + input(SUPRACAUSAL_SMD_RESISTOR) + input(SUPRACAUSAL_SMD_CAPACITOR) + input(SUPRACAUSAL_SMD_TRANSISTOR) + input(wireFine, CarbonNanotube, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(SPINTRONIC_PROCESSOR_UHV, 4) + EUt(VA[UEV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(ESR_COMPUTATION_UNIT) + input(EXOTIC_SYSTEM_ON_CHIP) + input(wireFine, CarbonNanotube, 8) + input(bolt, Vibranium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(SPINTRONIC_PROCESSOR_UHV, 8) + EUt(VA[UIV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // Spintronic Assembly - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_PROCESSOR_UHV, 4) - .input(SPINTRONIC_SMD_CAPACITOR, 16) - .input(SPINTRONIC_SMD_INDUCTOR, 16) - .input(ULTRA_HIGHLY_ADVANCED_SOC_CHIP, 32) - .input(wireFine, CarbonNanotube, 16) - .input("foilAnyAdvancedSyntheticRubber", 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4)) - .output(SPINTRONIC_ASSEMBLY_UEV, 3) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_PROCESSOR_UHV, 4) + input(SPINTRONIC_SMD_CAPACITOR, 16) + input(SPINTRONIC_SMD_INDUCTOR, 16) + input(ULTRA_HIGHLY_ADVANCED_SOC_CHIP, 32) + input(wireFine, CarbonNanotube, 16) + input("foilAnyAdvancedSyntheticRubber", 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 4)) + output(SPINTRONIC_ASSEMBLY_UEV, 3) + EUt(VA[UEV]) + duration(20 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_PROCESSOR_UHV) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_PROCESSOR_UHV, 4) - .input(COSMIC_SMD_CAPACITOR, 4) - .input(COSMIC_SMD_INDUCTOR, 4) - .input(ULTRA_HIGHLY_ADVANCED_SOC_CHIP, 32) - .input(wireFine, CarbonNanotube, 16) - .input("foilAnyAdvancedSyntheticRubber", 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4)) - .output(SPINTRONIC_ASSEMBLY_UEV, 3) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_PROCESSOR_UHV, 4) + input(COSMIC_SMD_CAPACITOR, 4) + input(COSMIC_SMD_INDUCTOR, 4) + input(ULTRA_HIGHLY_ADVANCED_SOC_CHIP, 32) + input(wireFine, CarbonNanotube, 16) + input("foilAnyAdvancedSyntheticRubber", 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 4)) + output(SPINTRONIC_ASSEMBLY_UEV, 3) + EUt(VA[UEV]) + duration(10 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_PROCESSOR_UHV) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_PROCESSOR_UHV, 4) - .input(SUPRACAUSAL_SMD_CAPACITOR) - .input(SUPRACAUSAL_SMD_INDUCTOR) - .input(ULTRA_HIGHLY_ADVANCED_SOC_CHIP, 32) - .input(wireFine, CarbonNanotube, 16) - .input("foilAnyAdvancedSyntheticRubber", 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 8)) - .output(SPINTRONIC_ASSEMBLY_UEV, 3) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_PROCESSOR_UHV, 4) + input(SUPRACAUSAL_SMD_CAPACITOR) + input(SUPRACAUSAL_SMD_INDUCTOR) + input(ULTRA_HIGHLY_ADVANCED_SOC_CHIP, 32) + input(wireFine, CarbonNanotube, 16) + input("foilAnyAdvancedSyntheticRubber", 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 8)) + output(SPINTRONIC_ASSEMBLY_UEV, 3) + EUt(VA[UEV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_PROCESSOR_UHV) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() + } // Spintronic Computer - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_ASSEMBLY_UEV, 3) - .input(SPINTRONIC_SMD_DIODE, 16) - .input(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 32) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 64) - .input(wireFine, CarbonNanotube, 32) - .input(foil, Fullerene, 48) - .input(plate, Bohrium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(Zylon.getFluid(L * 8)) - .fluidInputs(Adamantium.getFluid(L * 4)) - .output(SPINTRONIC_COMPUTER_UIV, 2) - .EUt(VA[UEV]) - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_ASSEMBLY_UEV, 3) + input(SPINTRONIC_SMD_DIODE, 16) + input(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 32) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 64) + input(wireFine, CarbonNanotube, 32) + input(foil, Fullerene, 48) + input(plate, Bohrium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(Zylon.getFluid(L * 8)) + fluidInputs(Adamantium.getFluid(L * 4)) + output(SPINTRONIC_COMPUTER_UIV, 2) + EUt(VA[UEV]) + duration(40 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_ASSEMBLY_UEV) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_ASSEMBLY_UEV, 3) - .input(COSMIC_SMD_DIODE, 4) - .input(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 32) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 64) - .input(wireFine, CarbonNanotube, 32) - .input(foil, Fullerene, 48) - .input(plate, Bohrium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(Zylon.getFluid(L * 8)) - .fluidInputs(Adamantium.getFluid(L * 4)) - .output(SPINTRONIC_COMPUTER_UIV, 2) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_ASSEMBLY_UEV, 3) + input(COSMIC_SMD_DIODE, 4) + input(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 32) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 64) + input(wireFine, CarbonNanotube, 32) + input(foil, Fullerene, 48) + input(plate, Bohrium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(Zylon.getFluid(L * 8)) + fluidInputs(Adamantium.getFluid(L * 4)) + output(SPINTRONIC_COMPUTER_UIV, 2) + EUt(VA[UEV]) + duration(20 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_ASSEMBLY_UEV) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_ASSEMBLY_UEV, 3) - .input(SUPRACAUSAL_SMD_DIODE) - .input(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 32) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 64) - .input(wireFine, CarbonNanotube, 32) - .input(foil, Fullerene, 48) - .input(plate, Bohrium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(Zylon.getFluid(L * 8)) - .fluidInputs(Adamantium.getFluid(L * 4)) - .output(SPINTRONIC_COMPUTER_UIV, 2) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_ASSEMBLY_UEV, 3) + input(SUPRACAUSAL_SMD_DIODE) + input(MAGNETIC_DOMAIN_WALL_INVERSION_NAND_CHIP, 32) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 64) + input(wireFine, CarbonNanotube, 32) + input(foil, Fullerene, 48) + input(plate, Bohrium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(Zylon.getFluid(L * 8)) + fluidInputs(Adamantium.getFluid(L * 4)) + output(SPINTRONIC_COMPUTER_UIV, 2) + EUt(VA[UEV]) + duration(10 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_ASSEMBLY_UEV) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() + } // Spintronic Mainframe - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Vibranium) - .input(SPINTRONIC_COMPUTER_UIV, 2) - .input(SPINTRONIC_SMD_DIODE, 64) - .input(SPINTRONIC_SMD_CAPACITOR, 64) - .input(SPINTRONIC_SMD_TRANSISTOR, 64) - .input(SPINTRONIC_SMD_RESISTOR, 64) - .input(SPINTRONIC_SMD_INDUCTOR, 64) - .input(foil, Fullerene, 64) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 48) - .input(wireGtDouble, FullereneSuperconductor, 16) - .input(plate, Bohrium, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(Fullerene.getFluid(L * 32)) - .fluidInputs(Zylon.getFluid(L * 16)) - .fluidInputs(Adamantium.getFluid(L * 8)) - .output(SPINTRONIC_MAINFRAME_UXV) - .EUt(VA[UIV]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Vibranium) + input(SPINTRONIC_COMPUTER_UIV, 2) + input(SPINTRONIC_SMD_DIODE, 64) + input(SPINTRONIC_SMD_CAPACITOR, 64) + input(SPINTRONIC_SMD_TRANSISTOR, 64) + input(SPINTRONIC_SMD_RESISTOR, 64) + input(SPINTRONIC_SMD_INDUCTOR, 64) + input(foil, Fullerene, 64) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 48) + input(wireGtDouble, FullereneSuperconductor, 16) + input(plate, Bohrium, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(Fullerene.getFluid(L * 32)) + fluidInputs(Zylon.getFluid(L * 16)) + fluidInputs(Adamantium.getFluid(L * 8)) + output(SPINTRONIC_MAINFRAME_UXV) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_COMPUTER_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Vibranium) - .input(SPINTRONIC_COMPUTER_UIV, 2) - .input(COSMIC_SMD_DIODE, 16) - .input(COSMIC_SMD_CAPACITOR, 16) - .input(COSMIC_SMD_TRANSISTOR, 16) - .input(COSMIC_SMD_RESISTOR, 16) - .input(COSMIC_SMD_INDUCTOR, 16) - .input(foil, Fullerene, 64) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 48) - .input(wireGtDouble, FullereneSuperconductor, 16) - .input(plate, Bohrium, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(Fullerene.getFluid(L * 32)) - .fluidInputs(Zylon.getFluid(L * 16)) - .fluidInputs(Adamantium.getFluid(L * 8)) - .output(SPINTRONIC_MAINFRAME_UXV) - .EUt(VA[UIV]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Vibranium) + input(SPINTRONIC_COMPUTER_UIV, 2) + input(COSMIC_SMD_DIODE, 16) + input(COSMIC_SMD_CAPACITOR, 16) + input(COSMIC_SMD_TRANSISTOR, 16) + input(COSMIC_SMD_RESISTOR, 16) + input(COSMIC_SMD_INDUCTOR, 16) + input(foil, Fullerene, 64) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 48) + input(wireGtDouble, FullereneSuperconductor, 16) + input(plate, Bohrium, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(Fullerene.getFluid(L * 32)) + fluidInputs(Zylon.getFluid(L * 16)) + fluidInputs(Adamantium.getFluid(L * 8)) + output(SPINTRONIC_MAINFRAME_UXV) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_COMPUTER_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Vibranium) - .input(SPINTRONIC_COMPUTER_UIV, 2) - .input(SUPRACAUSAL_SMD_DIODE, 4) - .input(SUPRACAUSAL_SMD_CAPACITOR, 4) - .input(SUPRACAUSAL_SMD_TRANSISTOR, 4) - .input(SUPRACAUSAL_SMD_RESISTOR, 4) - .input(SUPRACAUSAL_SMD_INDUCTOR, 4) - .input(foil, Fullerene, 64) - .input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 48) - .input(wireGtDouble, FullereneSuperconductor, 16) - .input(plate, Bohrium, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(Fullerene.getFluid(L * 32)) - .fluidInputs(Zylon.getFluid(L * 16)) - .fluidInputs(Adamantium.getFluid(L * 8)) - .output(SPINTRONIC_MAINFRAME_UXV) - .EUt(VA[UIV]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Vibranium) + input(SPINTRONIC_COMPUTER_UIV, 2) + input(SUPRACAUSAL_SMD_DIODE, 4) + input(SUPRACAUSAL_SMD_CAPACITOR, 4) + input(SUPRACAUSAL_SMD_TRANSISTOR, 4) + input(SUPRACAUSAL_SMD_RESISTOR, 4) + input(SUPRACAUSAL_SMD_INDUCTOR, 4) + input(foil, Fullerene, 64) + input(SPIN_TRANSFER_TORQUE_RAM_CHIP, 48) + input(wireGtDouble, FullereneSuperconductor, 16) + input(plate, Bohrium, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(Fullerene.getFluid(L * 32)) + fluidInputs(Zylon.getFluid(L * 16)) + fluidInputs(Adamantium.getFluid(L * 8)) + output(SPINTRONIC_MAINFRAME_UXV) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(SPINTRONIC_COMPUTER_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/SupracausalCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/SupracausalCircuits.kt index 31e404c41..92f098b4e 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/SupracausalCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/SupracausalCircuits.kt @@ -8,7 +8,6 @@ import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.fluids.store.FluidStorageKeys -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.unification.material.Materials.Ammonia @@ -36,6 +35,8 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CVD_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.NANO_ASSEMBLY_MATRIX_RECIPES @@ -131,295 +132,294 @@ internal object SupracausalCircuits private fun circuitBoardRecipes() { // 4B3H6N3 + La2O3 -> 2LaB6 + 8NH3 + 3NO - CVD_RECIPES.recipeBuilder() - .input(dust, LanthanumOxide, 5) - .fluidInputs(Borazine.getFluid(4000)) - .output(gem, LanthanumHexaboride, 14) - .fluidOutputs(Ammonia.getFluid(8000)) - .fluidOutputs(NitrousOxide.getFluid(3000)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .temperature(2073) - .buildAndRegister() + CVD_RECIPES.addRecipe { + input(dust, LanthanumOxide, 5) + fluidInputs(Borazine.getFluid(4000)) + output(gem, LanthanumHexaboride, 14) + fluidOutputs(Ammonia.getFluid(8000)) + fluidOutputs(NitrousOxide.getFluid(3000)) + EUt(VA[UEV]) + duration(10 * SECOND) + temperature(2073) + } // Relativistic Heat Capacity - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(pipeTinyFluid, HarmonicPhononMatter) - .input(dust, LanthanumHexaboride, 64) - .input(foil, NeutroniumDopedCarbonNanotube, 32) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 8000)) - .output(RELATIVISTIC_HEAT_CAPACITY, 8) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(pipeTinyFluid, HarmonicPhononMatter) + input(dust, LanthanumHexaboride, 64) + input(foil, NeutroniumDopedCarbonNanotube, 32) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 8000)) + output(RELATIVISTIC_HEAT_CAPACITY, 8) + EUt(VA[UEV]) + duration(5 * SECOND) + } // Supracausal Spacetime Condenser - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(COSMIC_INFORMATION_MODULE) - .input(plate, Periodicium, 4) - .input(plate, SpaceTime, 8) - .input(STABILIZED_WORMHOLE_GENERATOR) - .input(RELATIVISTIC_HEAT_CAPACITY, 2) - .input(foil, Eternity, 24) - .input(wireFine, Creon, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(TranscendentMetal.getFluid(L * 16)) - .fluidInputs(UUMatter.getFluid(8000)) - .output(SUPRACAUSAL_SPACETIME_CONDENSER) - .EUt(VA[UEV]) - .duration(2 * SECOND + 10 * TICK) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(COSMIC_INFORMATION_MODULE) + input(plate, Periodicium, 4) + input(plate, SpaceTime, 8) + input(STABILIZED_WORMHOLE_GENERATOR) + input(RELATIVISTIC_HEAT_CAPACITY, 2) + input(foil, Eternity, 24) + input(wireFine, Creon, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(TranscendentMetal.getFluid(L * 16)) + fluidInputs(UUMatter.getFluid(8000)) + output(SUPRACAUSAL_SPACETIME_CONDENSER) + EUt(VA[UEV]) + duration(2 * SECOND + 10 * TICK) + stationResearch { it.researchStack(STABILIZED_WORMHOLE_GENERATOR) .EUt(VA[UHV]) .CWUt(96) } - .buildAndRegister() + } // Topological Manipulator Unit - ASSEMBLER_RECIPES.recipeBuilder() - .input(TOPOLOGICAL_INSULATOR_TUBE) - .input(plate, QuantumchromodynamicallyConfinedMatter, 2) - .input(CONTAINED_KN_SINGULARITY) - .input(EMITTER_UIV) - .input(screw, SpaceTime, 8) - .fluidInputs(TachyonRichTemporalFluid.getFluid(1000)) - .output(TOPOLOGICAL_MANIPULATOR_UNIT, 2) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(TOPOLOGICAL_INSULATOR_TUBE) + input(plate, QuantumchromodynamicallyConfinedMatter, 2) + input(CONTAINED_KN_SINGULARITY) + input(EMITTER_UIV) + input(screw, SpaceTime, 8) + fluidInputs(TachyonRichTemporalFluid.getFluid(1000)) + output(TOPOLOGICAL_MANIPULATOR_UNIT, 2) + EUt(VA[UXV]) + duration(5 * SECOND) + } // Graviton Transducer - ASSEMBLER_RECIPES.recipeBuilder() - .input(MICROWORMHOLE_GENERATOR) - .input(MAGNETRON, 2) - .input(CONTAINED_RN_SINGULARITY) - .input(SENSOR_UIV) - .input(foil, MagMatter, 8) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(1000)) - .output(GRAVITON_TRANSDUCER, 2) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(MICROWORMHOLE_GENERATOR) + input(MAGNETRON, 2) + input(CONTAINED_RN_SINGULARITY) + input(SENSOR_UIV) + input(foil, MagMatter, 8) + fluidInputs(SpatiallyEnlargedFluid.getFluid(1000)) + output(GRAVITON_TRANSDUCER, 2) + EUt(VA[UXV]) + duration(5 * SECOND) + } // Quantum Spinorial Memory System - ASSEMBLER_RECIPES.recipeBuilder() - .input(RYDBERG_SPINOR_ARRAY) - .input(gear, WhiteDwarfMatter, 2) - .input(CONTAINED_HIGH_DENSITY_PROTONIC_MATTER) - .input(ELECTRIC_PUMP_UIV) - .input(wireFine, Eternity, 8) - .fluidInputs(PrimordialMatter.getFluid(500)) - .output(QUANTUM_SPINORIAL_MEMORY_SYSTEM, 2) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(RYDBERG_SPINOR_ARRAY) + input(gear, WhiteDwarfMatter, 2) + input(CONTAINED_HIGH_DENSITY_PROTONIC_MATTER) + input(ELECTRIC_PUMP_UIV) + input(wireFine, Eternity, 8) + fluidInputs(PrimordialMatter.getFluid(500)) + output(QUANTUM_SPINORIAL_MEMORY_SYSTEM, 2) + EUt(VA[UXV]) + duration(5 * SECOND) + } // Spacetime Light Cone Stabilization Module - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) - .input(SUPRACAUSAL_SPACETIME_CONDENSER) - .input(plate, CosmicFabric, 4) - .input(NUCLEAR_CLOCK) - .input(TOPOLOGICAL_MANIPULATOR_UNIT) - .input(GRAVITON_TRANSDUCER) - .input(EIGENFOLDED_SPACETIME_MANIFOLD) - .input(QUANTUM_SPINORIAL_MEMORY_SYSTEM) - .input(RECURSIVELY_FOLDED_NEGATIVE_SPACE, 2) - .input(MANIFOLD_OSCILLATORY_POWER_CELL, 4) - .input(wireGtSingle, SpaceTime, 16) - .input(screw, BlackDwarfMatter, 8) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) - .fluidInputs(Infinity.getFluid(L * 40)) - .fluidInputs(HarmonicPhononMatter.getFluid(L * 20)) - .fluidInputs(Eternity.getFluid(L * 4)) - .output(SPACETIME_LIGHT_CONE_STABILIZATION_MODULE, 2) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .tier(5) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) + input(SUPRACAUSAL_SPACETIME_CONDENSER) + input(plate, CosmicFabric, 4) + input(NUCLEAR_CLOCK) + input(TOPOLOGICAL_MANIPULATOR_UNIT) + input(GRAVITON_TRANSDUCER) + input(EIGENFOLDED_SPACETIME_MANIFOLD) + input(QUANTUM_SPINORIAL_MEMORY_SYSTEM) + input(RECURSIVELY_FOLDED_NEGATIVE_SPACE, 2) + input(MANIFOLD_OSCILLATORY_POWER_CELL, 4) + input(wireGtSingle, SpaceTime, 16) + input(screw, BlackDwarfMatter, 8) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) + fluidInputs(Infinity.getFluid(L * 40)) + fluidInputs(HarmonicPhononMatter.getFluid(L * 20)) + fluidInputs(Eternity.getFluid(L * 4)) + output(SPACETIME_LIGHT_CONE_STABILIZATION_MODULE, 2) + EUt(VA[UIV]) + duration(5 * SECOND) + tier(5) + } } private fun smdRecipes() { // Supracausal SMD Transistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(foil, QuantumchromodynamicallyConfinedMatter, 4) - .input(foil, Mellion, 4) - .input(wireFine, TranscendentMetal, 16) - .input(wireFine, Hypogen, 16) - .fluidInputs(CosmicFabric.getFluid(L)) - .output(SUPRACAUSAL_SMD_TRANSISTOR, 64) - .EUt(VA[UIV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(foil, QuantumchromodynamicallyConfinedMatter, 4) + input(foil, Mellion, 4) + input(wireFine, TranscendentMetal, 16) + input(wireFine, Hypogen, 16) + fluidInputs(CosmicFabric.getFluid(L)) + output(SUPRACAUSAL_SMD_TRANSISTOR, 64) + EUt(VA[UIV]) + duration(8 * SECOND) + cleanroom() + } // Supracausal SMD Resistor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(dust, Creon, 4) - .input(wireFine, HarmonicPhononMatter, 16) - .input(wireFine, HeavyQuarkDegenerateMatter, 16) - .input(wireFine, ChromaticGlass, 16) - .fluidInputs(CosmicFabric.getFluid(L * 2)) - .output(SUPRACAUSAL_SMD_RESISTOR, 64) - .EUt(VA[UIV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(dust, Creon, 4) + input(wireFine, HarmonicPhononMatter, 16) + input(wireFine, HeavyQuarkDegenerateMatter, 16) + input(wireFine, ChromaticGlass, 16) + fluidInputs(CosmicFabric.getFluid(L * 2)) + output(SUPRACAUSAL_SMD_RESISTOR, 64) + EUt(VA[UIV]) + duration(8 * SECOND) + cleanroom() + } // Supracausal SMD Capacitor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(foil, Abyssalloy, 4) - .input(NANOSILICON_CATHODE, 4) - .input(foil, Legendarium, 4) - .input(foil, SuperheavyAlloyB, 4) - .fluidInputs(CosmicFabric.getFluid(L / 2)) - .output(SUPRACAUSAL_SMD_CAPACITOR, 64) - .EUt(VA[UIV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(foil, Abyssalloy, 4) + input(NANOSILICON_CATHODE, 4) + input(foil, Legendarium, 4) + input(foil, SuperheavyAlloyB, 4) + fluidInputs(CosmicFabric.getFluid(L / 2)) + output(SUPRACAUSAL_SMD_CAPACITOR, 64) + EUt(VA[UIV]) + duration(8 * SECOND) + cleanroom() + } // Supracausal SMD Diode - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(dust, BlackDwarfMatter, 4) - .input(foil, Eternity, 16) - .input(foil, WhiteDwarfMatter, 16) - .input(foil, SpaceTime, 16) - .fluidInputs(CosmicFabric.getFluid(L * 2)) - .output(SUPRACAUSAL_SMD_DIODE, 64) - .EUt(VA[UIV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(dust, BlackDwarfMatter, 4) + input(foil, Eternity, 16) + input(foil, WhiteDwarfMatter, 16) + input(foil, SpaceTime, 16) + fluidInputs(CosmicFabric.getFluid(L * 2)) + output(SUPRACAUSAL_SMD_DIODE, 64) + EUt(VA[UIV]) + duration(8 * SECOND) + cleanroom() + } // Supracausal SMD Inductor - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ring, MagMatter, 4) - .input(wireFine, Universium, 16) - .input(wireFine, MagnetohydrodynamicallyConstrainedStarMatter, 16) - .input(wireFine, Periodicium , 16) - .fluidInputs(CosmicFabric.getFluid(L * 2)) - .output(SUPRACAUSAL_SMD_INDUCTOR, 64) - .EUt(VA[UIV]) - .duration(8 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ring, MagMatter, 4) + input(wireFine, Universium, 16) + input(wireFine, MagnetohydrodynamicallyConstrainedStarMatter, 16) + input(wireFine, Periodicium , 16) + fluidInputs(CosmicFabric.getFluid(L * 2)) + output(SUPRACAUSAL_SMD_INDUCTOR, 64) + EUt(VA[UIV]) + duration(8 * SECOND) + cleanroom() + } } private fun circuitComponentsRecipes() { // Spin Foam Annihilated RAM Chip - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ADVANCED_RAM_CHIP, 8) - .input(nanite, Shirabon) - .input(spring, HalkoniteSteel, 4) - .input(foil, TranscendentMetal, 8) - .input(wireFine, SpaceTime, 16) - .fluidInputs(Eternity.getFluid(L * 4)) - .output(SPIN_FOAM_ANNIHILATED_RAM_CHIP, 64) - .EUt(VA[OpV]) - .duration(5 * SECOND) - .blastFurnaceTemp(48000) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(ADVANCED_RAM_CHIP, 8) + input(nanite, Shirabon) + input(spring, HalkoniteSteel, 4) + input(foil, TranscendentMetal, 8) + input(wireFine, SpaceTime, 16) + fluidInputs(Eternity.getFluid(L * 4)) + output(SPIN_FOAM_ANNIHILATED_RAM_CHIP, 64) + EUt(VA[OpV]) + duration(5 * SECOND) + blastFurnaceTemp(48000) + } // Temporal-Scale Worldsheet Logical Side Chip - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(EXCITATION_SPECTRUM_COMPOSITE_LOGICAL_GATE_CHIP, 8) - .input(nanite, Mellion) - .input(plate, HarmonicPhononMatter, 4) - .input(gearSmall, MagMatter, 8) - .input(wireFine, SuperheavyAlloyB, 16) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 4)) - .output(TEMPORAL_SCALE_WORLDSHEET_LOGICAL_GATE_CHIP, 64) - .EUt(VA[OpV]) - .duration(5 * SECOND) - .blastFurnaceTemp(48000) - .buildAndRegister() - + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(EXCITATION_SPECTRUM_COMPOSITE_LOGICAL_GATE_CHIP, 8) + input(nanite, Mellion) + input(plate, HarmonicPhononMatter, 4) + input(gearSmall, MagMatter, 8) + input(wireFine, SuperheavyAlloyB, 16) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 4)) + output(TEMPORAL_SCALE_WORLDSHEET_LOGICAL_GATE_CHIP, 64) + EUt(VA[OpV]) + duration(5 * SECOND) + blastFurnaceTemp(48000) + } } private fun circuitRecipes() { // Supracausal Processor - NANO_ASSEMBLY_MATRIX_RECIPES.recipeBuilder() - .input(SPACETIME_LIGHT_CONE_STABILIZATION_MODULE) - .input(OPTOELECTRONIC_SYSTEM_ON_CHIP) - .input(SUPRACAUSAL_SMD_RESISTOR, 32) - .input(SUPRACAUSAL_SMD_CAPACITOR, 32) - .input(SUPRACAUSAL_SMD_TRANSISTOR, 32) - .input(wireFine, Creon, 8) - .input(foil, Zylon, 64) - .fluidInputs(MutatedLivingSolder.getFluid(L)) - .output(SUPRACAUSAL_PROCESSOR_UIV, 4) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + NANO_ASSEMBLY_MATRIX_RECIPES.addRecipe { + input(SPACETIME_LIGHT_CONE_STABILIZATION_MODULE) + input(OPTOELECTRONIC_SYSTEM_ON_CHIP) + input(SUPRACAUSAL_SMD_RESISTOR, 32) + input(SUPRACAUSAL_SMD_CAPACITOR, 32) + input(SUPRACAUSAL_SMD_TRANSISTOR, 32) + input(wireFine, Creon, 8) + input(foil, Zylon, 64) + fluidInputs(MutatedLivingSolder.getFluid(L)) + output(SUPRACAUSAL_PROCESSOR_UIV, 4) + EUt(VA[UXV]) + duration(10 * SECOND) + } // Supracausal Assembly - NANO_ASSEMBLY_MATRIX_RECIPES.recipeBuilder() - .input(SUPRACAUSAL_SPACETIME_CONDENSER) - .input(SUPRACAUSAL_PROCESSOR_UIV, 4) - .input(SUPRACAUSAL_SMD_CAPACITOR, 64) - .input(SUPRACAUSAL_SMD_TRANSISTOR, 64) - .input(SUPRACAUSAL_SMD_INDUCTOR, 64) - .input(ATTO_PIC_CHIP, 32) - .input(wireFine, Creon, 16) - .input("foilAnyAdvancedSyntheticRubber", 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 8)) - .output(SUPRACAUSAL_ASSEMBLY_UXV, 3) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .buildAndRegister() + NANO_ASSEMBLY_MATRIX_RECIPES.addRecipe { + input(SUPRACAUSAL_SPACETIME_CONDENSER) + input(SUPRACAUSAL_PROCESSOR_UIV, 4) + input(SUPRACAUSAL_SMD_CAPACITOR, 64) + input(SUPRACAUSAL_SMD_TRANSISTOR, 64) + input(SUPRACAUSAL_SMD_INDUCTOR, 64) + input(ATTO_PIC_CHIP, 32) + input(wireFine, Creon, 16) + input("foilAnyAdvancedSyntheticRubber", 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 8)) + output(SUPRACAUSAL_ASSEMBLY_UXV, 3) + EUt(VA[UXV]) + duration(20 * SECOND) + } // Supracausal Computer - NANO_ASSEMBLY_MATRIX_RECIPES.recipeBuilder() - .input(SUPRACAUSAL_SPACETIME_CONDENSER) - .input(SUPRACAUSAL_ASSEMBLY_UXV, 3) - .input(SUPRACAUSAL_SMD_DIODE, 32) - .input(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_CHIP, 32) - .input(TEMPORAL_SCALE_WORLDSHEET_LOGICAL_GATE_CHIP, 64) - .input(SPIN_FOAM_ANNIHILATED_RAM_CHIP, 64) - .input(wireFine, Creon, 32) - .input(foil, CosmicFabric, 64) - .input(POLYMER_INSULATOR_FOIL, 64) - .input(plate, QuantumchromodynamicallyConfinedMatter, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(CarbonNanotube.getFluid(L * 24)) - .fluidInputs(TranscendentMetal.getFluid(L * 16)) - .output(SUPRACAUSAL_COMPUTER_OpV, 2) - .EUt(VA[UXV]) - .duration(40 * SECOND) - .buildAndRegister() + NANO_ASSEMBLY_MATRIX_RECIPES.addRecipe { + input(SUPRACAUSAL_SPACETIME_CONDENSER) + input(SUPRACAUSAL_ASSEMBLY_UXV, 3) + input(SUPRACAUSAL_SMD_DIODE, 32) + input(EXCITED_EXOTIC_ATOM_RESTRICT_CPU_CHIP, 32) + input(TEMPORAL_SCALE_WORLDSHEET_LOGICAL_GATE_CHIP, 64) + input(SPIN_FOAM_ANNIHILATED_RAM_CHIP, 64) + input(wireFine, Creon, 32) + input(foil, CosmicFabric, 64) + input(POLYMER_INSULATOR_FOIL, 64) + input(plate, QuantumchromodynamicallyConfinedMatter, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(CarbonNanotube.getFluid(L * 24)) + fluidInputs(TranscendentMetal.getFluid(L * 16)) + output(SUPRACAUSAL_COMPUTER_OpV, 2) + EUt(VA[UXV]) + duration(40 * SECOND) + } // Supracausal Mainframe - NANO_ASSEMBLY_MATRIX_RECIPES.recipeBuilder() - .input(frameGt, WhiteDwarfMatter) - .input(SUPRACAUSAL_COMPUTER_OpV, 2) - .input(SUPRACAUSAL_SMD_DIODE, 64) - .input(SUPRACAUSAL_SMD_CAPACITOR, 64) - .input(SUPRACAUSAL_SMD_TRANSISTOR, 64) - .input(SUPRACAUSAL_SMD_RESISTOR, 64) - .input(SUPRACAUSAL_SMD_INDUCTOR, 64) - .input(foil, CosmicFabric, 64) - .input(SPIN_FOAM_ANNIHILATED_RAM_CHIP, 64) - .input(wireGtDouble, NeutroniumSuperconductor, 16) - .input(plate, Mellion, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 160)) - .fluidInputs(CosmicFabric.getFluid(L * 64)) - .fluidInputs(SpaceTime.getFluid(L * 32)) - .fluidInputs(Shirabon.getFluid(L * 16)) - .output(SUPRACAUSAL_MAINFRAME_MAX) - .EUt(VA[OpV]) - .duration(1 * MINUTE + 30 * SECOND) - .buildAndRegister() + NANO_ASSEMBLY_MATRIX_RECIPES.addRecipe { + input(frameGt, WhiteDwarfMatter) + input(SUPRACAUSAL_COMPUTER_OpV, 2) + input(SUPRACAUSAL_SMD_DIODE, 64) + input(SUPRACAUSAL_SMD_CAPACITOR, 64) + input(SUPRACAUSAL_SMD_TRANSISTOR, 64) + input(SUPRACAUSAL_SMD_RESISTOR, 64) + input(SUPRACAUSAL_SMD_INDUCTOR, 64) + input(foil, CosmicFabric, 64) + input(SPIN_FOAM_ANNIHILATED_RAM_CHIP, 64) + input(wireGtDouble, NeutroniumSuperconductor, 16) + input(plate, Mellion, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 160)) + fluidInputs(CosmicFabric.getFluid(L * 64)) + fluidInputs(SpaceTime.getFluid(L * 32)) + fluidInputs(Shirabon.getFluid(L * 16)) + output(SUPRACAUSAL_MAINFRAME_MAX) + EUt(VA[OpV]) + duration(1 * MINUTE + 30 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/WetwareCircuits.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/WetwareCircuits.kt index 8f85e4bc9..8af2a67a9 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/WetwareCircuits.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/circuit/WetwareCircuits.kt @@ -6,15 +6,15 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.LuV import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.CIRCUIT_ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.unification.OreDictUnifier -import gregtech.api.unification.material.MarkerMaterials +import gregtech.api.unification.material.MarkerMaterials.Tier import gregtech.api.unification.material.Materials.Bacteria import gregtech.api.unification.material.Materials.BacterialSludge import gregtech.api.unification.material.Materials.Electrum @@ -75,6 +75,7 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EthylenediaminePyrocatechol @@ -109,50 +110,50 @@ internal object WetwareCircuits private fun circuitBoardRecipes() { // Wetware Circuit Board - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(MULTILAYER_FIBER_BOARD.getStackForm(16), - PETRI_DISH.stackForm, - ELECTRIC_PUMP_LuV.stackForm, - SENSOR_IV.stackForm, - OreDictUnifier.get(circuit, MarkerMaterials.Tier.IV), - OreDictUnifier.get(foil, NiobiumTitanium, 16)), + PETRI_DISH.stackForm, + ELECTRIC_PUMP_LuV.stackForm, + SENSOR_IV.stackForm, + OreDictUnifier.get(circuit, Tier.IV), + OreDictUnifier.get(foil, NiobiumTitanium, 16)), arrayOf(SterileGrowthMedium.getFluid(4000))) // Electric Signal Petri Dish - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(PETRI_DISH) - .input(wireFine, Germanium, 4) - .fluidInputs(FreeElectronGas.getFluid(200)) - .output(ELECTRIC_SIGNAL_PETRI_DISH) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(PETRI_DISH) + input(wireFine, Germanium, 4) + fluidInputs(FreeElectronGas.getFluid(200)) + output(ELECTRIC_SIGNAL_PETRI_DISH) + EUt(VA[IV]) + duration(10 * SECOND) + } // Wetware Board - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, KaptonK, 16) - .input(ELECTRIC_SIGNAL_PETRI_DISH) - .input(ELECTRIC_PUMP_IV) - .input(SENSOR_IV) - .input(circuit, MarkerMaterials.Tier.IV) - .input(foil, NiobiumTitanium, 16) - .fluidInputs(SterileGrowthMedium.getFluid(1000)) - .output(WETWARE_BOARD, 16) - .EUt(VA[LuV]) - .duration(1 * MINUTE) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(plate, KaptonK, 16) + input(ELECTRIC_SIGNAL_PETRI_DISH) + input(ELECTRIC_PUMP_IV) + input(SENSOR_IV) + input(circuit, Tier.IV) + input(foil, NiobiumTitanium, 16) + fluidInputs(SterileGrowthMedium.getFluid(1000)) + output(WETWARE_BOARD, 16) + EUt(VA[LuV]) + duration(1 * MINUTE) + cleanroom() + } // Down consumed of etching liquids and foils. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(WETWARE_BOARD.stackForm, - OreDictUnifier.get(foil, NiobiumTitanium, 32)), + OreDictUnifier.get(foil, NiobiumTitanium, 32)), arrayOf(SodiumPersulfate.getFluid(10000))) GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(WETWARE_BOARD.stackForm, - OreDictUnifier.get(foil, NiobiumTitanium, 32)), + OreDictUnifier.get(foil, NiobiumTitanium, 32)), arrayOf(Iron3Chloride.getFluid(5000))) // Advanced etching liquids recipe addition. @@ -160,20 +161,18 @@ internal object WetwareCircuits SodiumPersulfate.getFluid(8000), Iron3Chloride.getFluid(4000), TetramethylammoniumHydroxide.getFluid(2000), - EthylenediaminePyrocatechol.getFluid(1000) - )) + EthylenediaminePyrocatechol.getFluid(1000))) { - CHEMICAL_RECIPES.recipeBuilder() - .input(WETWARE_BOARD) - .input(foil, NiobiumTitanium, 24) - .fluidInputs(etchingLiquid) - .output(WETWARE_CIRCUIT_BOARD) - .EUt(VA[HV]) - .duration(1 * MINUTE + 30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(WETWARE_BOARD) + input(foil, NiobiumTitanium, 24) + fluidInputs(etchingLiquid) + output(WETWARE_CIRCUIT_BOARD) + EUt(VA[HV]) + duration(1 * MINUTE + 30 * SECOND) + cleanroom() + } } - } private fun circuitComponentsRecipes() @@ -182,284 +181,281 @@ internal object WetwareCircuits GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, Osmiridium)), arrayOf(SterileGrowthMedium.getFluid(500), - Bacteria.getFluid(500))) - - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input("dustBacterial") - .fluidInputs(SterileGrowthMedium.getFluid(100)) - .fluidInputs(Bacteria.getFluid(500)) - .output(STEM_CELLS, 64) - .fluidOutputs(BacterialSludge.getFluid(500)) - .EUt(VA[LuV]) - .duration(15 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + Bacteria.getFluid(500))) + + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input("dustBacterial") + fluidInputs(SterileGrowthMedium.getFluid(100)) + fluidInputs(Bacteria.getFluid(500)) + output(STEM_CELLS, 64) + fluidOutputs(BacterialSludge.getFluid(500)) + EUt(VA[LuV]) + duration(15 * SECOND) + cleanroom() + } // Neuro Process - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(WETWARE_CIRCUIT_BOARD.stackForm, - STEM_CELLS.getStackForm(16), - OreDictUnifier.get(pipeSmallFluid, Polybenzimidazole, 8), - OreDictUnifier.get(plate, Electrum, 8), - OreDictUnifier.get(foil, SiliconeRubber, 16), - OreDictUnifier.get(bolt, HSSE, 8)), + STEM_CELLS.getStackForm(16), + OreDictUnifier.get(pipeSmallFluid, Polybenzimidazole, 8), + OreDictUnifier.get(plate, Electrum, 8), + OreDictUnifier.get(foil, SiliconeRubber, 16), + OreDictUnifier.get(bolt, HSSE, 8)), arrayOf(SterileGrowthMedium.getFluid(250))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(WETWARE_CIRCUIT_BOARD) - .input(STEM_CELLS, 8) - .input(pipeTinyFluid, Polybenzimidazole, 2) - .input(plate, Electrum, 4) - .input(foil, SiliconeRubber, 16) - .input(bolt, HSSE, 8) - .fluidInputs(SterileGrowthMedium.getFluid(250)) - .output(NEURO_PROCESSOR, 2) - .EUt(80000) // ZPM - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(WETWARE_CIRCUIT_BOARD) + input(STEM_CELLS, 8) + input(pipeTinyFluid, Polybenzimidazole, 2) + input(plate, Electrum, 4) + input(foil, SiliconeRubber, 16) + input(bolt, HSSE, 8) + fluidInputs(SterileGrowthMedium.getFluid(250)) + output(NEURO_PROCESSOR, 2) + EUt(80000) // ZPM + duration(30 * SECOND) + cleanroom() + } } private fun circuitRecipes() { // LuV Wetware Processor - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(NEURO_PROCESSOR.stackForm, - CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - ADVANCED_SMD_CAPACITOR.getStackForm(8), - ADVANCED_SMD_TRANSISTOR.getStackForm(8), - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 8)), + CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + ADVANCED_SMD_CAPACITOR.getStackForm(8), + ADVANCED_SMD_TRANSISTOR.getStackForm(8), + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 8)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(NEURO_PROCESSOR.stackForm, - CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, - NANO_CENTRAL_PROCESSING_UNIT.stackForm, - ADVANCED_SMD_CAPACITOR.getStackForm(8), - ADVANCED_SMD_TRANSISTOR.getStackForm(8), - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 8)), + CRYSTAL_CENTRAL_PROCESSING_UNIT.stackForm, + NANO_CENTRAL_PROCESSING_UNIT.stackForm, + ADVANCED_SMD_CAPACITOR.getStackForm(8), + ADVANCED_SMD_TRANSISTOR.getStackForm(8), + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 8)), arrayOf(Tin.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(NEURO_PROCESSOR.stackForm, - HIGHLY_ADVANCED_SOC.stackForm, - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 8), - OreDictUnifier.get(bolt, Naquadah, 8)), + HIGHLY_ADVANCED_SOC.stackForm, + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 8), + OreDictUnifier.get(bolt, Naquadah, 8)), arrayOf(SolderingAlloy.getFluid(L / 2))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(NEURO_PROCESSOR.stackForm, - HIGHLY_ADVANCED_SOC.stackForm, - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 8), - OreDictUnifier.get(bolt, Naquadah, 8)), + HIGHLY_ADVANCED_SOC.stackForm, + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 8), + OreDictUnifier.get(bolt, Naquadah, 8)), arrayOf(Tin.getFluid(L))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(NEURO_PROCESSOR) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(QUBIT_CENTRAL_PROCESSING_UNIT) - .input(ADVANCED_SMD_CAPACITOR, 8) - .input(ADVANCED_SMD_TRANSISTOR, 8) - .input(wireFine, YttriumBariumCuprate, 8) - .output(WETWARE_PROCESSOR_LUV, 4) - .EUt(38400) // ZPM - .duration(10 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(NEURO_PROCESSOR) - .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) - .input(QUBIT_CENTRAL_PROCESSING_UNIT) - .input(GOOWARE_SMD_CAPACITOR, 2) - .input(GOOWARE_SMD_TRANSISTOR, 2) - .input(wireFine, YttriumBariumCuprate, 8) - .output(WETWARE_PROCESSOR_LUV, 4) - .EUt(38400) // ZPM - .duration(5 * SECOND) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(NEURO_PROCESSOR) - .input(HIGHLY_ADVANCED_SOC) - .input(wireFine, YttriumBariumCuprate, 8) - .input(bolt, Naquadah, 8) - .output(WETWARE_PROCESSOR_LUV, 8) - .EUt(150_000) // UV - .duration(2 * SECOND + 10 * TICK) - .solderMultiplier(1) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(NEURO_PROCESSOR) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(QUBIT_CENTRAL_PROCESSING_UNIT) + input(ADVANCED_SMD_CAPACITOR, 8) + input(ADVANCED_SMD_TRANSISTOR, 8) + input(wireFine, YttriumBariumCuprate, 8) + output(WETWARE_PROCESSOR_LUV, 4) + EUt(38400) // ZPM + duration(10 * SECOND) + solderMultiplier(1) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(NEURO_PROCESSOR) + input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + input(QUBIT_CENTRAL_PROCESSING_UNIT) + input(GOOWARE_SMD_CAPACITOR, 2) + input(GOOWARE_SMD_TRANSISTOR, 2) + input(wireFine, YttriumBariumCuprate, 8) + output(WETWARE_PROCESSOR_LUV, 4) + EUt(38400) // ZPM + duration(5 * SECOND) + solderMultiplier(1) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(NEURO_PROCESSOR) + input(HIGHLY_ADVANCED_SOC) + input(wireFine, YttriumBariumCuprate, 8) + input(bolt, Naquadah, 8) + output(WETWARE_PROCESSOR_LUV, 8) + EUt(150_000) // UV + duration(2 * SECOND + 10 * TICK) + solderMultiplier(1) + cleanroom() + } // ZPM Wetware Assembler - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(WETWARE_CIRCUIT_BOARD.stackForm, - WETWARE_PROCESSOR_LUV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.getStackForm(6), - ADVANCED_SMD_CAPACITOR.getStackForm(12), - RANDOM_ACCESS_MEMORY.getStackForm(24), - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 16)), + WETWARE_PROCESSOR_LUV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.getStackForm(6), + ADVANCED_SMD_CAPACITOR.getStackForm(12), + RANDOM_ACCESS_MEMORY.getStackForm(24), + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 16)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( arrayOf(WETWARE_CIRCUIT_BOARD.stackForm, - WETWARE_PROCESSOR_LUV.getStackForm(2), - ADVANCED_SMD_INDUCTOR.getStackForm(6), - ADVANCED_SMD_CAPACITOR.getStackForm(12), - RANDOM_ACCESS_MEMORY.getStackForm(24), - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 16)), + WETWARE_PROCESSOR_LUV.getStackForm(2), + ADVANCED_SMD_INDUCTOR.getStackForm(6), + ADVANCED_SMD_CAPACITOR.getStackForm(12), + RANDOM_ACCESS_MEMORY.getStackForm(24), + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 16)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(WETWARE_CIRCUIT_BOARD) - .input(WETWARE_PROCESSOR_LUV, 4) - .input(ADVANCED_SMD_INDUCTOR, 8) - .input(ADVANCED_SMD_CAPACITOR, 16) - .input(ADVANCED_RAM_CHIP, 24) - .input(wireFine, YttriumBariumCuprate, 16) - .output(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 3) - .EUt(38400) // ZPM - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(WETWARE_CIRCUIT_BOARD) - .input(WETWARE_PROCESSOR_LUV, 4) - .input(GOOWARE_SMD_INDUCTOR, 2) - .input(GOOWARE_SMD_CAPACITOR, 4) - .input(ADVANCED_RAM_CHIP, 24) - .input(wireFine, YttriumBariumCuprate, 16) - .output(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 3) - .EUt(38400) // ZPM - .duration(10 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(WETWARE_CIRCUIT_BOARD) + input(WETWARE_PROCESSOR_LUV, 4) + input(ADVANCED_SMD_INDUCTOR, 8) + input(ADVANCED_SMD_CAPACITOR, 16) + input(ADVANCED_RAM_CHIP, 24) + input(wireFine, YttriumBariumCuprate, 16) + output(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 3) + EUt(38400) // ZPM + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } + + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(WETWARE_CIRCUIT_BOARD) + input(WETWARE_PROCESSOR_LUV, 4) + input(GOOWARE_SMD_INDUCTOR, 2) + input(GOOWARE_SMD_CAPACITOR, 4) + input(ADVANCED_RAM_CHIP, 24) + input(wireFine, YttriumBariumCuprate, 16) + output(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 3) + EUt(38400) // ZPM + duration(10 * SECOND) + solderMultiplier(2) + cleanroom() + } // UV Wetware Computer - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(WETWARE_CIRCUIT_BOARD.stackForm, - WETWARE_PROCESSOR_ASSEMBLY_ZPM.getStackForm(2), - ADVANCED_SMD_DIODE.getStackForm(8), - NOR_MEMORY_CHIP.getStackForm(16), - RANDOM_ACCESS_MEMORY.getStackForm(32), - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 24), - OreDictUnifier.get(foil, Polybenzimidazole, 32), - OreDictUnifier.get(plate, Europium, 4)), + WETWARE_PROCESSOR_ASSEMBLY_ZPM.getStackForm(2), + ADVANCED_SMD_DIODE.getStackForm(8), + NOR_MEMORY_CHIP.getStackForm(16), + RANDOM_ACCESS_MEMORY.getStackForm(32), + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 24), + OreDictUnifier.get(foil, Polybenzimidazole, 32), + OreDictUnifier.get(plate, Europium, 4)), arrayOf(SolderingAlloy.getFluid(L * 8))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(WETWARE_CIRCUIT_BOARD) - .input(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 3) - .input(ADVANCED_RAM_CHIP, 8) - .input(NOR_MEMORY_CHIP, 64) - .input(NAND_MEMORY_CHIP, 64) - .input(wireFine, YttriumBariumCuprate, 32) - .output(WETWARE_SUPER_COMPUTER_UV, 2) - .EUt(38400) // ZPM - .duration(20 * SECOND) - .solderMultiplier(2) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(WETWARE_CIRCUIT_BOARD) + input(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 3) + input(ADVANCED_RAM_CHIP, 8) + input(NOR_MEMORY_CHIP, 64) + input(NAND_MEMORY_CHIP, 64) + input(wireFine, YttriumBariumCuprate, 32) + output(WETWARE_SUPER_COMPUTER_UV, 2) + EUt(38400) // ZPM + duration(20 * SECOND) + solderMultiplier(2) + cleanroom() + } // UHV Wetware Mainframe - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_MODULE.stackForm, WETWARE_SUPER_COMPUTER_UV.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_MODULE.stackForm, WETWARE_SUPER_COMPUTER_UV.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Tritanium, 2), - WETWARE_SUPER_COMPUTER_UV.getStackForm(2), - ADVANCED_SMD_DIODE.getStackForm(32), - ADVANCED_SMD_CAPACITOR.getStackForm(32), - ADVANCED_SMD_TRANSISTOR.getStackForm(32), - ADVANCED_SMD_RESISTOR.getStackForm(32), - ADVANCED_SMD_INDUCTOR.getStackForm(32), - OreDictUnifier.get(foil, Polybenzimidazole, 64), - RANDOM_ACCESS_MEMORY.getStackForm(32), - OreDictUnifier.get(wireGtDouble, EnrichedNaquadahTriniumEuropiumDuranide, 16), - OreDictUnifier.get(plate, Europium, 8)), + WETWARE_SUPER_COMPUTER_UV.getStackForm(2), + ADVANCED_SMD_DIODE.getStackForm(32), + ADVANCED_SMD_CAPACITOR.getStackForm(32), + ADVANCED_SMD_TRANSISTOR.getStackForm(32), + ADVANCED_SMD_RESISTOR.getStackForm(32), + ADVANCED_SMD_INDUCTOR.getStackForm(32), + OreDictUnifier.get(foil, Polybenzimidazole, 64), + RANDOM_ACCESS_MEMORY.getStackForm(32), + OreDictUnifier.get(wireGtDouble, EnrichedNaquadahTriniumEuropiumDuranide, 16), + OreDictUnifier.get(plate, Europium, 8)), arrayOf(SolderingAlloy.getFluid(L * 20), - Polybenzimidazole.getFluid(L * 8))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Tritanium) - .input(WETWARE_SUPER_COMPUTER_UV, 2) - .input(ADVANCED_SMD_DIODE, 32) - .input(ADVANCED_SMD_CAPACITOR, 32) - .input(ADVANCED_SMD_TRANSISTOR, 32) - .input(ADVANCED_SMD_RESISTOR, 32) - .input(ADVANCED_SMD_INDUCTOR, 32) - .input(foil, Polybenzimidazole, 64) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 16) - .input(plate, Europium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(Polybenzimidazole.getFluid(L * 8)) - .output(WETWARE_MAINFRAME_UHV) - .EUt(300_000) // UV - .duration(1 * MINUTE) - .stationResearch { + Polybenzimidazole.getFluid(L * 8))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Tritanium) + input(WETWARE_SUPER_COMPUTER_UV, 2) + input(ADVANCED_SMD_DIODE, 32) + input(ADVANCED_SMD_CAPACITOR, 32) + input(ADVANCED_SMD_TRANSISTOR, 32) + input(ADVANCED_SMD_RESISTOR, 32) + input(ADVANCED_SMD_INDUCTOR, 32) + input(foil, Polybenzimidazole, 64) + input(ADVANCED_RAM_CHIP, 32) + input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 16) + input(plate, Europium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(Polybenzimidazole.getFluid(L * 8)) + output(WETWARE_MAINFRAME_UHV) + EUt(300_000) // UV + duration(1 * MINUTE) + stationResearch { it.researchStack(WETWARE_SUPER_COMPUTER_UV) .EUt(VA[UV]) .CWUt(32) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Tritanium) - .input(WETWARE_SUPER_COMPUTER_UV, 2) - .input(GOOWARE_SMD_DIODE, 8) - .input(GOOWARE_SMD_CAPACITOR, 8) - .input(GOOWARE_SMD_TRANSISTOR, 8) - .input(GOOWARE_SMD_RESISTOR, 8) - .input(GOOWARE_SMD_INDUCTOR, 8) - .input(foil, Polybenzimidazole, 64) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 16) - .input(plate, Europium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(Polybenzimidazole.getFluid(L * 8)) - .output(WETWARE_MAINFRAME_UHV) - .EUt(300_000) // UV - .duration(30 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Tritanium) + input(WETWARE_SUPER_COMPUTER_UV, 2) + input(GOOWARE_SMD_DIODE, 8) + input(GOOWARE_SMD_CAPACITOR, 8) + input(GOOWARE_SMD_TRANSISTOR, 8) + input(GOOWARE_SMD_RESISTOR, 8) + input(GOOWARE_SMD_INDUCTOR, 8) + input(foil, Polybenzimidazole, 64) + input(ADVANCED_RAM_CHIP, 32) + input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 16) + input(plate, Europium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(Polybenzimidazole.getFluid(L * 8)) + output(WETWARE_MAINFRAME_UHV) + EUt(300_000) // UV + duration(30 * SECOND) + stationResearch { it.researchStack(WETWARE_SUPER_COMPUTER_UV) .EUt(VA[UV]) .CWUt(32) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Tritanium) - .input(WETWARE_SUPER_COMPUTER_UV, 2) - .input(OPTICAL_SMD_DIODE, 2) - .input(OPTICAL_SMD_CAPACITOR, 2) - .input(OPTICAL_SMD_TRANSISTOR, 2) - .input(OPTICAL_SMD_RESISTOR, 2) - .input(OPTICAL_SMD_INDUCTOR, 2) - .input(foil, Polybenzimidazole, 64) - .input(ADVANCED_RAM_CHIP, 32) - .input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 16) - .input(plate, Europium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(Polybenzimidazole.getFluid(L * 8)) - .output(WETWARE_MAINFRAME_UHV) - .EUt(300_000) // UV - .duration(15 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Tritanium) + input(WETWARE_SUPER_COMPUTER_UV, 2) + input(OPTICAL_SMD_DIODE, 2) + input(OPTICAL_SMD_CAPACITOR, 2) + input(OPTICAL_SMD_TRANSISTOR, 2) + input(OPTICAL_SMD_RESISTOR, 2) + input(OPTICAL_SMD_INDUCTOR, 2) + input(foil, Polybenzimidazole, 64) + input(ADVANCED_RAM_CHIP, 32) + input(wireGtSingle, EnrichedNaquadahTriniumEuropiumDuranide, 16) + input(plate, Europium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(Polybenzimidazole.getFluid(L * 8)) + output(WETWARE_MAINFRAME_UHV) + EUt(300_000) // UV + duration(15 * SECOND) + stationResearch { it.researchStack(WETWARE_SUPER_COMPUTER_UV) .EUt(VA[UV]) .CWUt(32) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/ConveyorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/ConveyorRecipes.kt index 3cf36edc6..8d6dba3f4 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/ConveyorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/ConveyorRecipes.kt @@ -11,7 +11,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.unification.OreDictUnifier @@ -55,6 +54,8 @@ import gregtech.common.items.MetaItems.TOOL_DATA_ORB import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CarbonNanotube @@ -93,248 +94,251 @@ internal object ConveyorRecipes fun init() { // LuV - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_LuV.getStackForm(2), - OreDictUnifier.get(plate, HSSS, 2), - OreDictUnifier.get(ring, HSSS, 4), - OreDictUnifier.get(round, HSSS, 16), - OreDictUnifier.get(screw, HSSS, 4), - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 2)), - arrayOf(SolderingAlloy.getFluid(L), Lubricant.getFluid(250), - StyreneButadieneRubber.getFluid(L * 8))) + OreDictUnifier.get(plate, HSSS, 2), + OreDictUnifier.get(ring, HSSS, 4), + OreDictUnifier.get(round, HSSS, 16), + OreDictUnifier.get(screw, HSSS, 4), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 2)), + arrayOf(SolderingAlloy.getFluid(L), + Lubricant.getFluid(250), + StyreneButadieneRubber.getFluid(L * 8))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_LuV, 2) - .input(plate, HSSS) - .input(ring, HSSS, 4) - .input(round, HSSS, 8) - .input(screw, HSSS, 4) - .input(cableGtSingle, NiobiumTitanium, 2) - .input("plateAnySyntheticRubber", 8) - .fluidInputs(SolderingAlloy.getFluid(L)) - .fluidInputs(Lubricant.getFluid(250)) - .output(CONVEYOR_MODULE_LuV) - .EUt(6000) // IV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_LuV, 2) + input(plate, HSSS) + input(ring, HSSS, 4) + input(round, HSSS, 8) + input(screw, HSSS, 4) + input(cableGtSingle, NiobiumTitanium, 2) + input("plateAnySyntheticRubber", 8) + fluidInputs(SolderingAlloy.getFluid(L)) + fluidInputs(Lubricant.getFluid(250)) + output(CONVEYOR_MODULE_LuV) + EUt(6000) // IV + duration(20 * SECOND) + scannerResearch { it.researchStack(CONVEYOR_MODULE_IV) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_ZPM.getStackForm(2), - OreDictUnifier.get(plate, Osmiridium, 2), - OreDictUnifier.get(ring, Osmiridium, 4), - OreDictUnifier.get(round, Osmiridium, 16), - OreDictUnifier.get(screw, Osmiridium, 4), - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 2)), - arrayOf(SolderingAlloy.getFluid(L * 2), Lubricant.getFluid(500), StyreneButadieneRubber.getFluid(L * 16))) + OreDictUnifier.get(plate, Osmiridium, 2), + OreDictUnifier.get(ring, Osmiridium, 4), + OreDictUnifier.get(round, Osmiridium, 16), + OreDictUnifier.get(screw, Osmiridium, 4), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 2)), + arrayOf(SolderingAlloy.getFluid(L * 2), + Lubricant.getFluid(500), + StyreneButadieneRubber.getFluid(L * 16))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_ZPM, 2) - .input(plate, Osmiridium) - .input(ring, Osmiridium, 4) - .input(round, Osmiridium, 8) - .input(screw, Osmiridium, 4) - .input(cableGtSingle, VanadiumGallium, 2) - .input("plateAnySyntheticRubber", 10) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .fluidInputs(Lubricant.getFluid(500)) - .output(CONVEYOR_MODULE_ZPM) - .EUt(24000) // LuV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_ZPM, 2) + input(plate, Osmiridium) + input(ring, Osmiridium, 4) + input(round, Osmiridium, 8) + input(screw, Osmiridium, 4) + input(cableGtSingle, VanadiumGallium, 2) + input("plateAnySyntheticRubber", 10) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + fluidInputs(Lubricant.getFluid(500)) + output(CONVEYOR_MODULE_ZPM) + EUt(24000) // LuV + duration(20 * SECOND) + scannerResearch { it.researchStack(CONVEYOR_MODULE_LuV) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // UV - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - CONVEYOR_MODULE_ZPM.stackForm, TOOL_DATA_ORB.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(CONVEYOR_MODULE_ZPM.stackForm, TOOL_DATA_ORB.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_UV.getStackForm(2), - OreDictUnifier.get(plate, Tritanium, 2), - OreDictUnifier.get(ring, Tritanium, 4), - OreDictUnifier.get(round, Tritanium, 16), - OreDictUnifier.get(screw, Tritanium, 4), - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 2)), - arrayOf(SolderingAlloy.getFluid(L * 4), Lubricant.getFluid(1000), - StyreneButadieneRubber.getFluid(L * 24), Naquadria.getFluid(L * 4))) + OreDictUnifier.get(plate, Tritanium, 2), + OreDictUnifier.get(ring, Tritanium, 4), + OreDictUnifier.get(round, Tritanium, 16), + OreDictUnifier.get(screw, Tritanium, 4), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 2)), + arrayOf(SolderingAlloy.getFluid(L * 4), + Lubricant.getFluid(1000), + StyreneButadieneRubber.getFluid(L * 24), + Naquadria.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UV, 2) - .input(plate, Tritanium, 2) - .input(ring, Tritanium, 8) - .input(round, Tritanium, 16) - .input(screw, Tritanium, 8) - .input(cableGtSingle, YttriumBariumCuprate, 2) - .input("plateAnySyntheticRubber", 12) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .fluidInputs(Lubricant.getFluid(1000)) - .fluidInputs(Naquadria.getFluid(L)) - .output(CONVEYOR_MODULE_UV) - .EUt(100_000) // ZPM - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UV, 2) + input(plate, Tritanium, 2) + input(ring, Tritanium, 8) + input(round, Tritanium, 16) + input(screw, Tritanium, 8) + input(cableGtSingle, YttriumBariumCuprate, 2) + input("plateAnySyntheticRubber", 12) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + fluidInputs(Lubricant.getFluid(1000)) + fluidInputs(Naquadria.getFluid(L)) + output(CONVEYOR_MODULE_UV) + EUt(100_000) // ZPM + duration(20 * SECOND) + stationResearch { it.researchStack(CONVEYOR_MODULE_ZPM) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UHV, 2) - .input(plate, Adamantium, 2) - .input(ring, Adamantium, 8) - .input(round, Adamantium, 16) - .input(screw, Adamantium, 8) - .input(cableGtSingle, Europium, 2) - .input("plateAnyAdvancedSyntheticRubber", 16) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(Lubricant.getFluid(2000)) - .fluidInputs(Taranium.getFluid(L * 2)) - .output(CONVEYOR_MODULE_UHV) - .EUt(400_000) // UV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UHV, 2) + input(plate, Adamantium, 2) + input(ring, Adamantium, 8) + input(round, Adamantium, 16) + input(screw, Adamantium, 8) + input(cableGtSingle, Europium, 2) + input("plateAnyAdvancedSyntheticRubber", 16) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(Lubricant.getFluid(2000)) + fluidInputs(Taranium.getFluid(L * 2)) + output(CONVEYOR_MODULE_UHV) + EUt(400_000) // UV + duration(20 * SECOND) + stationResearch { it.researchStack(CONVEYOR_MODULE_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UEV, 2) - .input(plate, CosmicNeutronium, 4) - .input(ring, CosmicNeutronium, 16) - .input(round, CosmicNeutronium, 32) - .input(screw, CosmicNeutronium, 8) - .input(cableGtSingle, Seaborgium, 2) - .input("plateAnyAdvancedSyntheticRubber", 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .fluidInputs(Fullerene.getFluid(L)) - .output(CONVEYOR_MODULE_UEV) - .EUt(1_800_000) // UHV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UEV, 2) + input(plate, CosmicNeutronium, 4) + input(ring, CosmicNeutronium, 16) + input(round, CosmicNeutronium, 32) + input(screw, CosmicNeutronium, 8) + input(cableGtSingle, Seaborgium, 2) + input("plateAnyAdvancedSyntheticRubber", 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + fluidInputs(Fullerene.getFluid(L)) + output(CONVEYOR_MODULE_UEV) + EUt(1_800_000) // UHV + duration(40 * SECOND) + stationResearch { it.researchStack(CONVEYOR_MODULE_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UIV, 2) - .input(plate, HeavyQuarkDegenerateMatter, 4) - .input(ring, HeavyQuarkDegenerateMatter, 16) - .input(round, HeavyQuarkDegenerateMatter, 32) - .input(screw, HeavyQuarkDegenerateMatter, 8) - .input(cableGtSingle, SuperheavyAlloyA, 2) - .input("plateAnyAdvancedSyntheticRubber", 48) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) - .fluidInputs(CarbonNanotube.getFluid(L * 2)) - .output(CONVEYOR_MODULE_UIV) - .EUt(6_000_000) // UEV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UIV, 2) + input(plate, HeavyQuarkDegenerateMatter, 4) + input(ring, HeavyQuarkDegenerateMatter, 16) + input(round, HeavyQuarkDegenerateMatter, 32) + input(screw, HeavyQuarkDegenerateMatter, 8) + input(cableGtSingle, SuperheavyAlloyA, 2) + input("plateAnyAdvancedSyntheticRubber", 48) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) + fluidInputs(CarbonNanotube.getFluid(L * 2)) + output(CONVEYOR_MODULE_UIV) + EUt(6_000_000) // UEV + duration(40 * SECOND) + stationResearch { it.researchStack(CONVEYOR_MODULE_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UXV, 2) - .input(plate, TranscendentMetal, 8) - .input(ring, TranscendentMetal, 32) - .input(round, TranscendentMetal, 64) - .input(screw, TranscendentMetal, 16) - .input(cableGtSingle, SuperheavyAlloyB, 2) - .input("plateAnyAdvancedSyntheticRubber", 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .fluidInputs(PrimordialMatter.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(CONVEYOR_MODULE_UXV) - .EUt(20_000_000) // UIV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UXV, 2) + input(plate, TranscendentMetal, 8) + input(ring, TranscendentMetal, 32) + input(round, TranscendentMetal, 64) + input(screw, TranscendentMetal, 16) + input(cableGtSingle, SuperheavyAlloyB, 2) + input("plateAnyAdvancedSyntheticRubber", 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + fluidInputs(PrimordialMatter.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(CONVEYOR_MODULE_UXV) + EUt(20_000_000) // UIV + duration(1 * MINUTE) + stationResearch { it.researchStack(CONVEYOR_MODULE_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_OpV, 2) - .input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .input(ring, MagnetohydrodynamicallyConstrainedStarMatter, 32) - .input(round, MagnetohydrodynamicallyConstrainedStarMatter, 64) - .input(screw, MagnetohydrodynamicallyConstrainedStarMatter, 16) - .input(cableGtSingle, Periodicium, 2) - .input("plateAnyAdvancedSyntheticRubber", 64) - .input("plateAnyAdvancedSyntheticRubber", 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) - .fluidInputs(CosmicFabric.getFluid(L * 8)) - .output(CONVEYOR_MODULE_OpV) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_OpV, 2) + input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 8) + input(ring, MagnetohydrodynamicallyConstrainedStarMatter, 32) + input(round, MagnetohydrodynamicallyConstrainedStarMatter, 64) + input(screw, MagnetohydrodynamicallyConstrainedStarMatter, 16) + input(cableGtSingle, Periodicium, 2) + input("plateAnyAdvancedSyntheticRubber", 64) + input("plateAnyAdvancedSyntheticRubber", 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) + fluidInputs(CosmicFabric.getFluid(L * 8)) + output(CONVEYOR_MODULE_OpV) + EUt(50_000_000) // UXV + duration(1 * MINUTE) + stationResearch { it.researchStack(CONVEYOR_MODULE_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // MAX - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_MAX, 2) - .input(plateDouble, Omnium, 16) - .input(plateDouble, Eternity, 16) - .input(plateDouble, Universium, 16) - .input(plateDouble, SpaceTime, 16) - .input(ring, Omnium, 64) - .input(ring, WhiteDwarfMatter, 64) - .input(round, Omnium, 64) - .input(round, BlackDwarfMatter, 64) - .input(screw, Omnium, 32) - .input(cableGtHex, RealizedQuantumFoamShard, 2) - .input(nanite, MagMatter, 4) - .input("plateAnyAdvancedSyntheticRubber", 64) - .input("plateAnyAdvancedSyntheticRubber", 64) - .input("plateAnyAdvancedSyntheticRubber", 64) - .input("plateAnyAdvancedSyntheticRubber", 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) - .fluidInputs(CosmicFabric.getFluid(L * 16)) - .output(CONVEYOR_MODULE_MAX) - .EUt(300_000_000) // OpV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_MAX, 2) + input(plateDouble, Omnium, 16) + input(plateDouble, Eternity, 16) + input(plateDouble, Universium, 16) + input(plateDouble, SpaceTime, 16) + input(ring, Omnium, 64) + input(ring, WhiteDwarfMatter, 64) + input(round, Omnium, 64) + input(round, BlackDwarfMatter, 64) + input(screw, Omnium, 32) + input(cableGtHex, RealizedQuantumFoamShard, 2) + input(nanite, MagMatter, 4) + input("plateAnyAdvancedSyntheticRubber", 64) + input("plateAnyAdvancedSyntheticRubber", 64) + input("plateAnyAdvancedSyntheticRubber", 64) + input("plateAnyAdvancedSyntheticRubber", 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) + fluidInputs(CosmicFabric.getFluid(L * 16)) + output(CONVEYOR_MODULE_MAX) + EUt(300_000_000) // OpV + duration(1 * MINUTE) + stationResearch { it.researchStack(CONVEYOR_MODULE_OpV) .EUt(VA[OpV]) .CWUt(256) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/EmitterRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/EmitterRecipes.kt index 5212b474b..49e29d385 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/EmitterRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/EmitterRecipes.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.unification.OreDictUnifier @@ -61,6 +60,8 @@ import gregtech.common.items.MetaItems.TOOL_DATA_ORB import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CarbonNanotube @@ -97,231 +98,230 @@ internal object EmitterRecipes fun init() { // LuV - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, HSSS), - ELECTRIC_MOTOR_LuV.stackForm, - OreDictUnifier.get(stickLong, Ruridit, 4), - QUANTUM_STAR.stackForm, - OreDictUnifier.get(circuit, Tier.LuV, 2), - OreDictUnifier.get(foil, Palladium, 64), - OreDictUnifier.get(foil, Palladium, 32), - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4)), + ELECTRIC_MOTOR_LuV.stackForm, + OreDictUnifier.get(stickLong, Ruridit, 4), + QUANTUM_STAR.stackForm, + OreDictUnifier.get(circuit, Tier.LuV, 2), + OreDictUnifier.get(foil, Palladium, 64), + OreDictUnifier.get(foil, Palladium, 32), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4)), arrayOf(SolderingAlloy.getFluid(L * 2))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HSSS) - .input(ELECTRIC_MOTOR_LuV) - .input(stickLong, Ruridit, 2) - .input(QUANTUM_STAR) - .input(circuit, Tier.LuV, 2) - .input(foil, Osmium, 64) - .input(cableGtSingle, NiobiumTitanium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .output(EMITTER_LuV) - .EUt(6000) // IV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HSSS) + input(ELECTRIC_MOTOR_LuV) + input(stickLong, Ruridit, 2) + input(QUANTUM_STAR) + input(circuit, Tier.LuV, 2) + input(foil, Osmium, 64) + input(cableGtSingle, NiobiumTitanium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + output(EMITTER_LuV) + EUt(6000) // IV + duration(20 * SECOND) + scannerResearch { it.researchStack(EMITTER_IV) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - EMITTER_LuV.stackForm, TOOL_DATA_ORB.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(EMITTER_LuV.stackForm, TOOL_DATA_ORB.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, NaquadahAlloy), - ELECTRIC_MOTOR_ZPM.stackForm, - OreDictUnifier.get(stickLong, Osmiridium, 4), - QUANTUM_STAR.getStackForm(2), - OreDictUnifier.get(circuit, Tier.ZPM, 2), - OreDictUnifier.get(foil, Trinium, 64), - OreDictUnifier.get(foil, Trinium, 32), - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4)), + ELECTRIC_MOTOR_ZPM.stackForm, + OreDictUnifier.get(stickLong, Osmiridium, 4), + QUANTUM_STAR.getStackForm(2), + OreDictUnifier.get(circuit, Tier.ZPM, 2), + OreDictUnifier.get(foil, Trinium, 64), + OreDictUnifier.get(foil, Trinium, 32), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4)), arrayOf(SolderingAlloy.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Osmiridium) - .input(ELECTRIC_MOTOR_ZPM) - .input(stickLong, NaquadahAlloy, 2) - .input(QUANTUM_STAR, 2) - .input(circuit, Tier.ZPM, 2) - .input(foil, Trinium, 64) - .input(foil, Trinium, 32) - .input(cableGtSingle, VanadiumGallium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .output(EMITTER_ZPM) - .EUt(24000) // LuV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Osmiridium) + input(ELECTRIC_MOTOR_ZPM) + input(stickLong, NaquadahAlloy, 2) + input(QUANTUM_STAR, 2) + input(circuit, Tier.ZPM, 2) + input(foil, Trinium, 64) + input(foil, Trinium, 32) + input(cableGtSingle, VanadiumGallium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + output(EMITTER_ZPM) + EUt(24000) // LuV + duration(20 * SECOND) + stationResearch { it.researchStack(EMITTER_LuV) .EUt(VA[LuV]) .CWUt(4) } - .buildAndRegister() + } // UV - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - EMITTER_ZPM.stackForm, TOOL_DATA_MODULE.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(EMITTER_ZPM.stackForm, TOOL_DATA_MODULE.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Tritanium), - ELECTRIC_MOTOR_UV.stackForm, - OreDictUnifier.get(stickLong, Tritanium, 4), - GRAVI_STAR.stackForm, - OreDictUnifier.get(circuit, Tier.UV, 2), - OreDictUnifier.get(foil, Naquadria, 64), - OreDictUnifier.get(foil, Naquadria, 32), - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4)), - arrayOf(SolderingAlloy.getFluid(L * 8), Naquadria.getFluid(L * 4))) + ELECTRIC_MOTOR_UV.stackForm, + OreDictUnifier.get(stickLong, Tritanium, 4), + GRAVI_STAR.stackForm, + OreDictUnifier.get(circuit, Tier.UV, 2), + OreDictUnifier.get(foil, Naquadria, 64), + OreDictUnifier.get(foil, Naquadria, 32), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4)), + arrayOf(SolderingAlloy.getFluid(L * 8), + Naquadria.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Tritanium) - .input(ELECTRIC_MOTOR_UV) - .input(stickLong, EnrichedNaquadahAlloy, 4) - .input(QUANTUM_STAR, 4) - .input(circuit, Tier.UV, 2) - .input(foil, Naquadria, 64) - .input(foil, Naquadria, 64) - .input(cableGtSingle, YttriumBariumCuprate, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(Naquadria.getFluid(L)) - .output(EMITTER_UV) - .EUt(100_000) // ZPM - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Tritanium) + input(ELECTRIC_MOTOR_UV) + input(stickLong, EnrichedNaquadahAlloy, 4) + input(QUANTUM_STAR, 4) + input(circuit, Tier.UV, 2) + input(foil, Naquadria, 64) + input(foil, Naquadria, 64) + input(cableGtSingle, YttriumBariumCuprate, 4) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(Naquadria.getFluid(L)) + output(EMITTER_UV) + EUt(100_000) // ZPM + duration(20 * SECOND) + stationResearch { it.researchStack(EMITTER_ZPM) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Adamantium) - .input(ELECTRIC_MOTOR_UHV) - .input(stickLong, Dubnium, 4) - .input(GRAVI_STAR) - .input(circuit, Tier.UHV, 2) - .input(foil, Vibranium, 64) - .input(foil, Vibranium, 64) - .input(foil, Vibranium, 32) - .input(cableGtSingle, Europium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 12)) - .fluidInputs(Taranium.getFluid(L * 2)) - .output(EMITTER_UHV) - .EUt(400_000) // UV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Adamantium) + input(ELECTRIC_MOTOR_UHV) + input(stickLong, Dubnium, 4) + input(GRAVI_STAR) + input(circuit, Tier.UHV, 2) + input(foil, Vibranium, 64) + input(foil, Vibranium, 64) + input(foil, Vibranium, 32) + input(cableGtSingle, Europium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 12)) + fluidInputs(Taranium.getFluid(L * 2)) + output(EMITTER_UHV) + EUt(400_000) // UV + duration(20 * SECOND) + stationResearch { it.researchStack(EMITTER_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, CosmicNeutronium) - .input(ELECTRIC_MOTOR_UEV) - .input(stickLong, Bohrium, 8) - .input(GRAVI_STAR, 2) - .input(circuit, Tier.UEV, 2) - .input(foil, MetastableFlerovium, 64) - .input(foil, MetastableFlerovium, 64) - .input(foil, MetastableFlerovium, 64) - .input(cableGtSingle, Seaborgium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .fluidInputs(Fullerene.getFluid(L)) - .output(EMITTER_UEV) - .EUt(1_800_000) // UHV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, CosmicNeutronium) + input(ELECTRIC_MOTOR_UEV) + input(stickLong, Bohrium, 8) + input(GRAVI_STAR, 2) + input(circuit, Tier.UEV, 2) + input(foil, MetastableFlerovium, 64) + input(foil, MetastableFlerovium, 64) + input(foil, MetastableFlerovium, 64) + input(cableGtSingle, Seaborgium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + fluidInputs(Fullerene.getFluid(L)) + output(EMITTER_UEV) + EUt(1_800_000) // UHV + duration(40 * SECOND) + stationResearch { it.researchStack(EMITTER_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HeavyQuarkDegenerateMatter) - .input(ELECTRIC_MOTOR_UIV) - .input(stickLong, Shirabon, 8) - .input(GRAVI_STAR, 4) - .input(circuit, Tier.UIV, 2) - .input(foil, Rhugnor, 64) - .input(foil, Rhugnor, 64) - .input(foil, Rhugnor, 64) - .input(foil, Rhugnor, 32) - .input(cableGtSingle, SuperheavyAlloyA, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) - .fluidInputs(CarbonNanotube.getFluid(L * 2)) - .output(EMITTER_UIV) - .EUt(6_000_000) // UEV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HeavyQuarkDegenerateMatter) + input(ELECTRIC_MOTOR_UIV) + input(stickLong, Shirabon, 8) + input(GRAVI_STAR, 4) + input(circuit, Tier.UIV, 2) + input(foil, Rhugnor, 64) + input(foil, Rhugnor, 64) + input(foil, Rhugnor, 64) + input(foil, Rhugnor, 32) + input(cableGtSingle, SuperheavyAlloyA, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) + fluidInputs(CarbonNanotube.getFluid(L * 2)) + output(EMITTER_UIV) + EUt(6_000_000) // UEV + duration(40 * SECOND) + stationResearch { it.researchStack(EMITTER_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, TranscendentMetal) - .input(ELECTRIC_MOTOR_UXV) - .input(stickLong, Mellion, 16) - .input(ZENITH_STAR) - .input(circuit, Tier.UXV, 2) - .input(foil, SpaceTime, 64) - .input(foil, SpaceTime, 64) - .input(foil, SpaceTime, 64) - .input(foil, SpaceTime, 64) - .input(cableGtSingle, SuperheavyAlloyB, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(PrimordialMatter.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(EMITTER_UXV) - .EUt(20_000_000) // UIV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, TranscendentMetal) + input(ELECTRIC_MOTOR_UXV) + input(stickLong, Mellion, 16) + input(ZENITH_STAR) + input(circuit, Tier.UXV, 2) + input(foil, SpaceTime, 64) + input(foil, SpaceTime, 64) + input(foil, SpaceTime, 64) + input(foil, SpaceTime, 64) + input(cableGtSingle, SuperheavyAlloyB, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(PrimordialMatter.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(EMITTER_UXV) + EUt(20_000_000) // UIV + duration(1 * MINUTE) + stationResearch { it.researchStack(EMITTER_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) - .input(ELECTRIC_MOTOR_OpV) - .input(stickLong, BlackDwarfMatter, 16) - .input(ZENITH_STAR, 2) - .input(circuit, Tier.OpV, 2) - .input(foil, WhiteDwarfMatter, 64) - .input(foil, WhiteDwarfMatter, 64) - .input(foil, WhiteDwarfMatter, 64) - .input(foil, WhiteDwarfMatter, 64) - .input(foil, WhiteDwarfMatter, 32) - .input(cableGtSingle, Periodicium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) - .fluidInputs(CosmicFabric.getFluid(L * 8)) - .output(EMITTER_OpV) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) + input(ELECTRIC_MOTOR_OpV) + input(stickLong, BlackDwarfMatter, 16) + input(ZENITH_STAR, 2) + input(circuit, Tier.OpV, 2) + input(foil, WhiteDwarfMatter, 64) + input(foil, WhiteDwarfMatter, 64) + input(foil, WhiteDwarfMatter, 64) + input(foil, WhiteDwarfMatter, 64) + input(foil, WhiteDwarfMatter, 32) + input(cableGtSingle, Periodicium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) + fluidInputs(CosmicFabric.getFluid(L * 8)) + output(EMITTER_OpV) + EUt(50_000_000) // UXV + duration(1 * MINUTE) + stationResearch { it.researchStack(EMITTER_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } - // TODO MAX + // TODO: MAX Emitter } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/FieldGenRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/FieldGenRecipes.kt index 2f2e008f1..ebf900b2d 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/FieldGenRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/FieldGenRecipes.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.unification.OreDictUnifier @@ -59,6 +58,8 @@ import gregtech.common.items.MetaItems.TOOL_DATA_MODULE import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BoronFranciumCarbideSuperconductor import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CarbonNanotube @@ -91,228 +92,228 @@ internal object FieldGenRecipes fun init() { // LuV - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, HSSS), - OreDictUnifier.get(plate, HSSS, 6), - QUANTUM_STAR.stackForm, - EMITTER_LuV.getStackForm(2), - OreDictUnifier.get(circuit, Tier.LuV, 2), - OreDictUnifier.get(wireFine, IndiumTinBariumTitaniumCuprate, 64), - OreDictUnifier.get(wireFine, IndiumTinBariumTitaniumCuprate, 64), - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4)), + OreDictUnifier.get(plate, HSSS, 6), + QUANTUM_STAR.stackForm, + EMITTER_LuV.getStackForm(2), + OreDictUnifier.get(circuit, Tier.LuV, 2), + OreDictUnifier.get(wireFine, IndiumTinBariumTitaniumCuprate, 64), + OreDictUnifier.get(wireFine, IndiumTinBariumTitaniumCuprate, 64), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4)), arrayOf(SolderingAlloy.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HSSS) - .input(plateDouble, HSSS, 4) - .input(QUANTUM_STAR) - .input(EMITTER_LuV, 2) - .input(circuit, Tier.LuV, 2) - .input(wireFine, IndiumTinBariumTitaniumCuprate, 64) - .input(cableGtSingle, NiobiumTitanium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .output(FIELD_GENERATOR_LuV) - .EUt(6000) // IV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HSSS) + input(plateDouble, HSSS, 4) + input(QUANTUM_STAR) + input(EMITTER_LuV, 2) + input(circuit, Tier.LuV, 2) + input(wireFine, IndiumTinBariumTitaniumCuprate, 64) + input(cableGtSingle, NiobiumTitanium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + output(FIELD_GENERATOR_LuV) + EUt(6000) // IV + duration(20 * SECOND) + scannerResearch { it.researchStack(FIELD_GENERATOR_IV) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, NaquadahAlloy), - OreDictUnifier.get(plate, NaquadahAlloy, 6), - QUANTUM_STAR.stackForm, - EMITTER_ZPM.getStackForm(2), - OreDictUnifier.get(circuit, Tier.ZPM, 2), - OreDictUnifier.get(wireFine, UraniumRhodiumDinaquadide, 64), - OreDictUnifier.get(wireFine, UraniumRhodiumDinaquadide, 64), - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4)), + OreDictUnifier.get(plate, NaquadahAlloy, 6), + QUANTUM_STAR.stackForm, + EMITTER_ZPM.getStackForm(2), + OreDictUnifier.get(circuit, Tier.ZPM, 2), + OreDictUnifier.get(wireFine, UraniumRhodiumDinaquadide, 64), + OreDictUnifier.get(wireFine, UraniumRhodiumDinaquadide, 64), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4)), arrayOf(SolderingAlloy.getFluid(L * 8))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Osmiridium) - .input(plateDouble, Osmiridium, 4) - .input(QUANTUM_STAR, 2) - .input(EMITTER_ZPM, 2) - .input(circuit, Tier.ZPM, 2) - .input(wireFine, UraniumRhodiumDinaquadide, 64) - .input(wireFine, UraniumRhodiumDinaquadide, 32) - .input(cableGtSingle, VanadiumGallium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .output(FIELD_GENERATOR_ZPM) - .EUt(24000) // LuV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Osmiridium) + input(plateDouble, Osmiridium, 4) + input(QUANTUM_STAR, 2) + input(EMITTER_ZPM, 2) + input(circuit, Tier.ZPM, 2) + input(wireFine, UraniumRhodiumDinaquadide, 64) + input(wireFine, UraniumRhodiumDinaquadide, 32) + input(cableGtSingle, VanadiumGallium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + output(FIELD_GENERATOR_ZPM) + EUt(24000) // LuV + duration(20 * SECOND) + stationResearch { it.researchStack(FIELD_GENERATOR_LuV) .EUt(VA[LuV]) .CWUt(8) } - .buildAndRegister() + } // UV - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - FIELD_GENERATOR_ZPM.stackForm, TOOL_DATA_MODULE.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(FIELD_GENERATOR_ZPM.stackForm, TOOL_DATA_MODULE.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Tritanium), - OreDictUnifier.get(plate, Tritanium, 6), - GRAVI_STAR.stackForm, - EMITTER_UV.getStackForm(2), - OreDictUnifier.get(circuit, Tier.UV, 2), - OreDictUnifier.get(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64), - OreDictUnifier.get(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64), - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4)), - arrayOf(SolderingAlloy.getFluid(L * 12), Naquadria.getFluid(L * 4))) + OreDictUnifier.get(plate, Tritanium, 6), + GRAVI_STAR.stackForm, + EMITTER_UV.getStackForm(2), + OreDictUnifier.get(circuit, Tier.UV, 2), + OreDictUnifier.get(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64), + OreDictUnifier.get(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4)), + arrayOf(SolderingAlloy.getFluid(L * 12), + Naquadria.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Tritanium) - .input(plateDouble, Tritanium, 4) - .input(QUANTUM_STAR, 4) - .input(EMITTER_UV, 2) - .input(circuit, Tier.UV, 2) - .input(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64) - .input(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64) - .input(cableGtSingle, YttriumBariumCuprate, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 12)) - .fluidInputs(Naquadria.getFluid(L)) - .output(FIELD_GENERATOR_UV) - .EUt(100_000) // ZPM - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Tritanium) + input(plateDouble, Tritanium, 4) + input(QUANTUM_STAR, 4) + input(EMITTER_UV, 2) + input(circuit, Tier.UV, 2) + input(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64) + input(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64) + input(cableGtSingle, YttriumBariumCuprate, 4) + fluidInputs(SolderingAlloy.getFluid(L * 12)) + fluidInputs(Naquadria.getFluid(L)) + output(FIELD_GENERATOR_UV) + EUt(100_000) // ZPM + duration(20 * SECOND) + stationResearch { it.researchStack(FIELD_GENERATOR_ZPM) .EUt(VA[ZPM]) .CWUt(48) } - .buildAndRegister() + } // UHV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Adamantium) - .input(plateDouble, Adamantium, 4) - .input(GRAVI_STAR) - .input(EMITTER_UHV, 2) - .input(circuit, Tier.UHV, 2) - .input(wireFine, RutheniumTriniumAmericiumNeutronate, 64) - .input(wireFine, RutheniumTriniumAmericiumNeutronate, 64) - .input(wireFine, RutheniumTriniumAmericiumNeutronate, 32) - .input(cableGtSingle, Europium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .fluidInputs(Taranium.getFluid(L * 2)) - .output(FIELD_GENERATOR_UHV) - .EUt(400_000) // UV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Adamantium) + input(plateDouble, Adamantium, 4) + input(GRAVI_STAR) + input(EMITTER_UHV, 2) + input(circuit, Tier.UHV, 2) + input(wireFine, RutheniumTriniumAmericiumNeutronate, 64) + input(wireFine, RutheniumTriniumAmericiumNeutronate, 64) + input(wireFine, RutheniumTriniumAmericiumNeutronate, 32) + input(cableGtSingle, Europium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + fluidInputs(Taranium.getFluid(L * 2)) + output(FIELD_GENERATOR_UHV) + EUt(400_000) // UV + duration(20 * SECOND) + stationResearch { it.researchStack(FIELD_GENERATOR_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, CosmicNeutronium) - .input(plateDouble, CosmicNeutronium, 8) - .input(GRAVI_STAR, 2) - .input(EMITTER_UEV, 2) - .input(circuit, Tier.UEV, 2) - .input(wireFine, VibraniumTritaniumActiniumIronSuperhydride, 64) - .input(wireFine, VibraniumTritaniumActiniumIronSuperhydride, 64) - .input(wireFine, VibraniumTritaniumActiniumIronSuperhydride, 64) - .input(cableGtSingle, Seaborgium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .fluidInputs(Fullerene.getFluid(L)) - .output(FIELD_GENERATOR_UEV) - .EUt(1_800_000) // UHV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, CosmicNeutronium) + input(plateDouble, CosmicNeutronium, 8) + input(GRAVI_STAR, 2) + input(EMITTER_UEV, 2) + input(circuit, Tier.UEV, 2) + input(wireFine, VibraniumTritaniumActiniumIronSuperhydride, 64) + input(wireFine, VibraniumTritaniumActiniumIronSuperhydride, 64) + input(wireFine, VibraniumTritaniumActiniumIronSuperhydride, 64) + input(cableGtSingle, Seaborgium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + fluidInputs(Fullerene.getFluid(L)) + output(FIELD_GENERATOR_UEV) + EUt(1_800_000) // UHV + duration(40 * SECOND) + stationResearch { it.researchStack(FIELD_GENERATOR_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HeavyQuarkDegenerateMatter) - .input(plateDouble, HeavyQuarkDegenerateMatter, 8) - .input(GRAVI_STAR, 4) - .input(EMITTER_UIV, 2) - .input(circuit, Tier.UIV, 2) - .input(wireFine, FullereneSuperconductor, 64) - .input(wireFine, FullereneSuperconductor, 64) - .input(wireFine, FullereneSuperconductor, 64) - .input(wireFine, FullereneSuperconductor, 32) - .input(cableGtSingle, SuperheavyAlloyA, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) - .fluidInputs(CarbonNanotube.getFluid(L * 2)) - .output(FIELD_GENERATOR_UIV) - .EUt(6_000_000) // UEV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HeavyQuarkDegenerateMatter) + input(plateDouble, HeavyQuarkDegenerateMatter, 8) + input(GRAVI_STAR, 4) + input(EMITTER_UIV, 2) + input(circuit, Tier.UIV, 2) + input(wireFine, FullereneSuperconductor, 64) + input(wireFine, FullereneSuperconductor, 64) + input(wireFine, FullereneSuperconductor, 64) + input(wireFine, FullereneSuperconductor, 32) + input(cableGtSingle, SuperheavyAlloyA, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) + fluidInputs(CarbonNanotube.getFluid(L * 2)) + output(FIELD_GENERATOR_UIV) + EUt(6_000_000) // UEV + duration(40 * SECOND) + stationResearch { it.researchStack(FIELD_GENERATOR_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, TranscendentMetal) - .input(plateDouble, TranscendentMetal, 16) - .input(ZENITH_STAR) - .input(EMITTER_UXV, 2) - .input(circuit, Tier.UXV, 2) - .input(wireFine, BoronFranciumCarbideSuperconductor, 64) - .input(wireFine, BoronFranciumCarbideSuperconductor, 64) - .input(wireFine, BoronFranciumCarbideSuperconductor, 64) - .input(wireFine, BoronFranciumCarbideSuperconductor, 64) - .input(cableGtSingle, SuperheavyAlloyB, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(PrimordialMatter.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(FIELD_GENERATOR_UXV) - .EUt(20_000_000) // UIV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, TranscendentMetal) + input(plateDouble, TranscendentMetal, 16) + input(ZENITH_STAR) + input(EMITTER_UXV, 2) + input(circuit, Tier.UXV, 2) + input(wireFine, BoronFranciumCarbideSuperconductor, 64) + input(wireFine, BoronFranciumCarbideSuperconductor, 64) + input(wireFine, BoronFranciumCarbideSuperconductor, 64) + input(wireFine, BoronFranciumCarbideSuperconductor, 64) + input(cableGtSingle, SuperheavyAlloyB, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(PrimordialMatter.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(FIELD_GENERATOR_UXV) + EUt(20_000_000) // UIV + duration(1 * MINUTE) + stationResearch { it.researchStack(FIELD_GENERATOR_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) - .input(plateDouble, MagnetohydrodynamicallyConstrainedStarMatter, 16) - .input(ZENITH_STAR, 2) - .input(EMITTER_OpV, 2) - .input(circuit, Tier.OpV, 2) - .input(wireFine, NeutroniumSuperconductor, 64) - .input(wireFine, NeutroniumSuperconductor, 64) - .input(wireFine, NeutroniumSuperconductor, 64) - .input(wireFine, NeutroniumSuperconductor, 64) - .input(wireFine, NeutroniumSuperconductor, 32) - .input(cableGtSingle, Periodicium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) - .fluidInputs(CosmicFabric.getFluid(L * 8)) - .output(FIELD_GENERATOR_OpV) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) + input(plateDouble, MagnetohydrodynamicallyConstrainedStarMatter, 16) + input(ZENITH_STAR, 2) + input(EMITTER_OpV, 2) + input(circuit, Tier.OpV, 2) + input(wireFine, NeutroniumSuperconductor, 64) + input(wireFine, NeutroniumSuperconductor, 64) + input(wireFine, NeutroniumSuperconductor, 64) + input(wireFine, NeutroniumSuperconductor, 64) + input(wireFine, NeutroniumSuperconductor, 32) + input(cableGtSingle, Periodicium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) + fluidInputs(CosmicFabric.getFluid(L * 8)) + output(FIELD_GENERATOR_OpV) + EUt(50_000_000) // UXV + duration(1 * MINUTE) + stationResearch { it.researchStack(FIELD_GENERATOR_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } - // TODO MAX + // TODO: MAX Field Generator } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/MotorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/MotorRecipes.kt index 3ede6c2b4..7ec1fa836 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/MotorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/MotorRecipes.kt @@ -11,7 +11,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.unification.OreDictUnifier @@ -50,6 +49,8 @@ import gregtech.common.items.MetaItems.TOOL_DATA_ORB import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter @@ -93,262 +94,262 @@ internal object MotorRecipes fun init() { - // LuV - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(stickLong, SamariumMagnetic), - OreDictUnifier.get(stickLong, HSSS, 2), - OreDictUnifier.get(ring, HSSS, 2), - OreDictUnifier.get(round, HSSS, 4), - OreDictUnifier.get(wireFine, Ruridit, 64), - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 2)), + OreDictUnifier.get(stickLong, HSSS, 2), + OreDictUnifier.get(ring, HSSS, 2), + OreDictUnifier.get(round, HSSS, 4), + OreDictUnifier.get(wireFine, Ruridit, 64), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 2)), arrayOf(SolderingAlloy.getFluid(L), - Lubricant.getFluid(250))) + Lubricant.getFluid(250))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, SamariumMagnetic) - .input(stickLong, HSSS) - .input(ring, HSSS, 2) - .input(round, HSSS, 4) - .input(wireFine, Ruridit, 64) - .input(cableGtSingle, NiobiumTitanium, 2) - .fluidInputs(SolderingAlloy.getFluid(L)) - .fluidInputs(Lubricant.getFluid(250)) - .output(ELECTRIC_MOTOR_LuV) - .EUt(6000) // IV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, SamariumMagnetic) + input(stickLong, HSSS) + input(ring, HSSS, 2) + input(round, HSSS, 4) + input(wireFine, Ruridit, 64) + input(cableGtSingle, NiobiumTitanium, 2) + fluidInputs(SolderingAlloy.getFluid(L)) + fluidInputs(Lubricant.getFluid(250)) + output(ELECTRIC_MOTOR_LuV) + EUt(6000) // IV + duration(20 * SECOND) + scannerResearch { it.researchStack(ELECTRIC_MOTOR_IV) .EUt(VA[HV]) .duration(30 * SECOND) } - .buildAndRegister() + } // ZPM - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(stickLong, SamariumMagnetic), - OreDictUnifier.get(stickLong, Osmiridium, 4), - OreDictUnifier.get(ring, Osmiridium, 4), - OreDictUnifier.get(round, Osmiridium, 8), - OreDictUnifier.get(wireFine, Europium, 64), - OreDictUnifier.get(wireFine, Europium, 32), - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 2)), - arrayOf(SolderingAlloy.getFluid(L * 2), Lubricant.getFluid(500))) + OreDictUnifier.get(stickLong, Osmiridium, 4), + OreDictUnifier.get(ring, Osmiridium, 4), + OreDictUnifier.get(round, Osmiridium, 8), + OreDictUnifier.get(wireFine, Europium, 64), + OreDictUnifier.get(wireFine, Europium, 32), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 2)), + arrayOf(SolderingAlloy.getFluid(L * 2), + Lubricant.getFluid(500))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, SamariumMagnetic) - .input(stickLong, Osmiridium) - .input(ring, Osmiridium, 2) - .input(round, Osmiridium, 4) - .input(wireFine, Europium, 64) - .input(wireFine, Europium, 32) - .input(cableGtSingle, VanadiumGallium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .fluidInputs(Lubricant.getFluid(500)) - .output(ELECTRIC_MOTOR_ZPM) - .EUt(24000) // LuV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, SamariumMagnetic) + input(stickLong, Osmiridium) + input(ring, Osmiridium, 2) + input(round, Osmiridium, 4) + input(wireFine, Europium, 64) + input(wireFine, Europium, 32) + input(cableGtSingle, VanadiumGallium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + fluidInputs(Lubricant.getFluid(500)) + output(ELECTRIC_MOTOR_ZPM) + EUt(24000) // LuV + duration(20 * SECOND) + scannerResearch { it.researchStack(ELECTRIC_MOTOR_LuV) .EUt(VA[IV]) - .duration(MINUTE) + .duration(1 * MINUTE) } - .buildAndRegister() + } // UV - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - ELECTRIC_MOTOR_ZPM.stackForm, TOOL_DATA_ORB.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(ELECTRIC_MOTOR_ZPM.stackForm, TOOL_DATA_ORB.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(stickLong, SamariumMagnetic), - OreDictUnifier.get(stickLong, Tritanium, 4), - OreDictUnifier.get(ring, Tritanium, 4), - OreDictUnifier.get(round, Tritanium, 8), - OreDictUnifier.get(wireFine, Americium, 64), - OreDictUnifier.get(wireFine, Americium, 64), - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 2)), + OreDictUnifier.get(stickLong, Tritanium, 4), + OreDictUnifier.get(ring, Tritanium, 4), + OreDictUnifier.get(round, Tritanium, 8), + OreDictUnifier.get(wireFine, Americium, 64), + OreDictUnifier.get(wireFine, Americium, 64), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 2)), arrayOf(SolderingAlloy.getFluid(L * 4), - Lubricant.getFluid(1000), Naquadria.getFluid(L * 4))) + Lubricant.getFluid(1000), + Naquadria.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, SamariumMagnetic) - .input(stickLong, Tritanium, 2) - .input(ring, Tritanium, 4) - .input(round, Tritanium, 8) - .input(wireFine, Americium, 64) - .input(wireFine, Americium, 64) - .input(cableGtSingle, YttriumBariumCuprate, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .fluidInputs(Lubricant.getFluid(1000)) - .fluidInputs(Naquadria.getFluid(L)) - .output(ELECTRIC_MOTOR_UV) - .EUt(100_000) // ZPM - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, SamariumMagnetic) + input(stickLong, Tritanium, 2) + input(ring, Tritanium, 4) + input(round, Tritanium, 8) + input(wireFine, Americium, 64) + input(wireFine, Americium, 64) + input(cableGtSingle, YttriumBariumCuprate, 2) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + fluidInputs(Lubricant.getFluid(1000)) + fluidInputs(Naquadria.getFluid(L)) + output(ELECTRIC_MOTOR_UV) + EUt(100_000) // ZPM + duration(20 * SECOND) + stationResearch { it.researchStack(ELECTRIC_MOTOR_ZPM) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, ChromiumGermaniumTellurideMagnetic) - .input(stickLong, Adamantium, 2) - .input(ring, Adamantium, 4) - .input(round, Adamantium, 8) - .input(wireFine, Bedrockium, 64) - .input(wireFine, Bedrockium, 64) - .input(wireFine, Bedrockium, 32) - .input(cableGtSingle, Europium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(Lubricant.getFluid(2000)) - .fluidInputs(Taranium.getFluid(L * 2)) - .output(ELECTRIC_MOTOR_UHV) - .EUt(400_000) // UV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, ChromiumGermaniumTellurideMagnetic) + input(stickLong, Adamantium, 2) + input(ring, Adamantium, 4) + input(round, Adamantium, 8) + input(wireFine, Bedrockium, 64) + input(wireFine, Bedrockium, 64) + input(wireFine, Bedrockium, 32) + input(cableGtSingle, Europium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(Lubricant.getFluid(2000)) + fluidInputs(Taranium.getFluid(L * 2)) + output(ELECTRIC_MOTOR_UHV) + EUt(400_000) // UV + duration(20 * SECOND) + stationResearch { it.researchStack(ELECTRIC_MOTOR_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, ChromiumGermaniumTellurideMagnetic) - .input(stickLong, CosmicNeutronium, 4) - .input(ring, CosmicNeutronium, 8) - .input(round, CosmicNeutronium, 16) - .input(wireFine, MetastableHassium, 64) - .input(wireFine, MetastableHassium, 64) - .input(wireFine, MetastableHassium, 64) - .input(cableGtSingle, Seaborgium, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .fluidInputs(Fullerene.getFluid(L)) - .output(ELECTRIC_MOTOR_UEV) - .EUt(1_800_000) // UHV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, ChromiumGermaniumTellurideMagnetic) + input(stickLong, CosmicNeutronium, 4) + input(ring, CosmicNeutronium, 8) + input(round, CosmicNeutronium, 16) + input(wireFine, MetastableHassium, 64) + input(wireFine, MetastableHassium, 64) + input(wireFine, MetastableHassium, 64) + input(cableGtSingle, Seaborgium, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + fluidInputs(Fullerene.getFluid(L)) + output(ELECTRIC_MOTOR_UEV) + EUt(1_800_000) // UHV + duration(40 * SECOND) + stationResearch { it.researchStack(ELECTRIC_MOTOR_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, Magnetium) - .input(stickLong, HeavyQuarkDegenerateMatter, 4) - .input(ring, HeavyQuarkDegenerateMatter, 8) - .input(round, HeavyQuarkDegenerateMatter, 16) - .input(wireFine, Hypogen, 64) - .input(wireFine, Hypogen, 64) - .input(wireFine, Hypogen, 64) - .input(wireFine, Hypogen, 32) - .input(cableGtSingle, SuperheavyAlloyA, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) - .fluidInputs(CarbonNanotube.getFluid(L * 2)) - .output(ELECTRIC_MOTOR_UIV) - .EUt(6_000_000) // UEV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, Magnetium) + input(stickLong, HeavyQuarkDegenerateMatter, 4) + input(ring, HeavyQuarkDegenerateMatter, 8) + input(round, HeavyQuarkDegenerateMatter, 16) + input(wireFine, Hypogen, 64) + input(wireFine, Hypogen, 64) + input(wireFine, Hypogen, 64) + input(wireFine, Hypogen, 32) + input(cableGtSingle, SuperheavyAlloyA, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) + fluidInputs(CarbonNanotube.getFluid(L * 2)) + output(ELECTRIC_MOTOR_UIV) + EUt(6_000_000) // UEV + duration(40 * SECOND) + stationResearch { it.researchStack(ELECTRIC_MOTOR_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ENERGISED_TESSERACT) - .input(stickLong, Magnetium, 2) - .input(stickLong, TranscendentMetal, 8) - .input(ring, TranscendentMetal, 16) - .input(round, TranscendentMetal, 32) - .input(wireFine, MagMatter, 64) - .input(wireFine, MagMatter, 64) - .input(wireFine, MagMatter, 64) - .input(wireFine, MagMatter, 64) - .input(cableGtSingle, SuperheavyAlloyB, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .fluidInputs(PrimordialMatter.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(ELECTRIC_MOTOR_UXV) - .EUt(20_000_000) // UIV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ENERGISED_TESSERACT) + input(stickLong, Magnetium, 2) + input(stickLong, TranscendentMetal, 8) + input(ring, TranscendentMetal, 16) + input(round, TranscendentMetal, 32) + input(wireFine, MagMatter, 64) + input(wireFine, MagMatter, 64) + input(wireFine, MagMatter, 64) + input(wireFine, MagMatter, 64) + input(cableGtSingle, SuperheavyAlloyB, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + fluidInputs(PrimordialMatter.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(ELECTRIC_MOTOR_UXV) + EUt(20_000_000) // UIV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_MOTOR_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ENERGISED_TESSERACT) - .input(stickLong, Magnetium, 2) - .input(stickLong, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .input(ring, MagnetohydrodynamicallyConstrainedStarMatter, 16) - .input(round, MagnetohydrodynamicallyConstrainedStarMatter, 32) - .input(wireFine, Universium, 64) - .input(wireFine, Universium, 64) - .input(wireFine, Universium, 64) - .input(wireFine, Universium, 64) - .input(wireFine, Universium, 64) - .input(wireFine, Universium, 64) - .input(cableGtSingle, Periodicium, 2) - .input(nanite, Neutronium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) - .fluidInputs(CosmicFabric.getFluid(L * 8)) - .output(ELECTRIC_MOTOR_OpV) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ENERGISED_TESSERACT) + input(stickLong, Magnetium, 2) + input(stickLong, MagnetohydrodynamicallyConstrainedStarMatter, 8) + input(ring, MagnetohydrodynamicallyConstrainedStarMatter, 16) + input(round, MagnetohydrodynamicallyConstrainedStarMatter, 32) + input(wireFine, Universium, 64) + input(wireFine, Universium, 64) + input(wireFine, Universium, 64) + input(wireFine, Universium, 64) + input(wireFine, Universium, 64) + input(wireFine, Universium, 64) + input(cableGtSingle, Periodicium, 2) + input(nanite, Neutronium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) + fluidInputs(CosmicFabric.getFluid(L * 8)) + output(ELECTRIC_MOTOR_OpV) + EUt(50_000_000) // UXV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_MOTOR_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // MAX - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ENERGISED_TESSERACT, 4) - .input(frameGt, Magnetium, 64) - .input(frameGt, Eternity, 64) - .input(frameGt, BlackDwarfMatter, 64) - .input(ring, Omnium, 32) - .input(round, Omnium, 48) - .input(wireFine, SpaceTime, 64) - .input(wireFine, SpaceTime, 64) - .input(wireFine, Universium, 64) - .input(wireFine, Universium, 64) - .input(wireFine, SelfInteractingDarkMatter, 64) - .input(wireFine, SelfInteractingDarkMatter, 64) - .input(wireFine, WhiteDwarfMatter, 64) - .input(wireFine, WhiteDwarfMatter, 64) - .input(cableGtHex, RealizedQuantumFoamShard, 2) - .input(nanite, MagMatter, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) - .fluidInputs(CosmicFabric.getFluid(L * 16)) - .output(ELECTRIC_MOTOR_MAX) - .EUt(300_000_000) // OpV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ENERGISED_TESSERACT, 4) + input(frameGt, Magnetium, 64) + input(frameGt, Eternity, 64) + input(frameGt, BlackDwarfMatter, 64) + input(ring, Omnium, 32) + input(round, Omnium, 48) + input(wireFine, SpaceTime, 64) + input(wireFine, SpaceTime, 64) + input(wireFine, Universium, 64) + input(wireFine, Universium, 64) + input(wireFine, SelfInteractingDarkMatter, 64) + input(wireFine, SelfInteractingDarkMatter, 64) + input(wireFine, WhiteDwarfMatter, 64) + input(wireFine, WhiteDwarfMatter, 64) + input(cableGtHex, RealizedQuantumFoamShard, 2) + input(nanite, MagMatter, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) + fluidInputs(CosmicFabric.getFluid(L * 16)) + output(ELECTRIC_MOTOR_MAX) + EUt(300_000_000) // OpV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_MOTOR_OpV) .EUt(VA[OpV]) .CWUt(256) } - .buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/PistonRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/PistonRecipes.kt index 79f2225e4..839cb8e2c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/PistonRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/PistonRecipes.kt @@ -11,7 +11,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.unification.OreDictUnifier @@ -58,6 +57,8 @@ import gregtech.common.items.MetaItems.TOOL_DATA_ORB import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CarbonNanotube @@ -95,259 +96,261 @@ internal object PistonRecipes fun init() { // LuV - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_LuV.stackForm, - OreDictUnifier.get(plate, HSSS, 4), - OreDictUnifier.get(ring, HSSS, 4), - OreDictUnifier.get(round, HSSS, 16), - OreDictUnifier.get(stick, HSSS, 4), - OreDictUnifier.get(gear, HSSS, 1), - OreDictUnifier.get(gearSmall, HSSS, 2), - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 2)), - arrayOf(SolderingAlloy.getFluid(L), Lubricant.getFluid(250))) + OreDictUnifier.get(plate, HSSS, 4), + OreDictUnifier.get(ring, HSSS, 4), + OreDictUnifier.get(round, HSSS, 16), + OreDictUnifier.get(stick, HSSS, 4), + OreDictUnifier.get(gear, HSSS, 1), + OreDictUnifier.get(gearSmall, HSSS, 2), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 2)), + arrayOf(SolderingAlloy.getFluid(L), + Lubricant.getFluid(250))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_LuV) - .input(plate, HSSS) - .input(ring, HSSS, 2) - .input(round, HSSS, 4) - .input(stick, HSSS, 2) - .input(gear, HSSS) - .input(gearSmall, HSSS, 2) - .input(cableGtSingle, NiobiumTitanium, 2) - .fluidInputs(SolderingAlloy.getFluid(L)) - .fluidInputs(Lubricant.getFluid(250)) - .output(ELECTRIC_PISTON_LUV) - .EUt(6000) // IV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_LuV) + input(plate, HSSS) + input(ring, HSSS, 2) + input(round, HSSS, 4) + input(stick, HSSS, 2) + input(gear, HSSS) + input(gearSmall, HSSS, 2) + input(cableGtSingle, NiobiumTitanium, 2) + fluidInputs(SolderingAlloy.getFluid(L)) + fluidInputs(Lubricant.getFluid(250)) + output(ELECTRIC_PISTON_LUV) + EUt(6000) // IV + duration(20 * SECOND) + scannerResearch { it.researchStack(ELECTRIC_PISTON_IV) .EUt(VA[HV]) .duration(30 * SECOND) } - .buildAndRegister() + } // ZPM - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_ZPM.stackForm, - OreDictUnifier.get(plate, Osmiridium, 4), - OreDictUnifier.get(ring, Osmiridium, 4), - OreDictUnifier.get(round, Osmiridium, 16), - OreDictUnifier.get(stick, Osmiridium, 4), - OreDictUnifier.get(gear, Osmiridium, 1), - OreDictUnifier.get(gearSmall, Osmiridium, 2), - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 2)), - arrayOf(SolderingAlloy.getFluid(L * 2), Lubricant.getFluid(500))) + OreDictUnifier.get(plate, Osmiridium, 4), + OreDictUnifier.get(ring, Osmiridium, 4), + OreDictUnifier.get(round, Osmiridium, 16), + OreDictUnifier.get(stick, Osmiridium, 4), + OreDictUnifier.get(gear, Osmiridium, 1), + OreDictUnifier.get(gearSmall, Osmiridium, 2), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 2)), + arrayOf(SolderingAlloy.getFluid(L * 2), + Lubricant.getFluid(500))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_ZPM) - .input(plate, Osmiridium) - .input(ring, Osmiridium, 2) - .input(round, Osmiridium, 4) - .input(stick, Osmiridium, 2) - .input(gear, Osmiridium) - .input(gearSmall, Osmiridium, 2) - .input(cableGtSingle, VanadiumGallium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .fluidInputs(Lubricant.getFluid(500)) - .output(ELECTRIC_PISTON_ZPM) - .EUt(24000) // LuV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_ZPM) + input(plate, Osmiridium) + input(ring, Osmiridium, 2) + input(round, Osmiridium, 4) + input(stick, Osmiridium, 2) + input(gear, Osmiridium) + input(gearSmall, Osmiridium, 2) + input(cableGtSingle, VanadiumGallium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + fluidInputs(Lubricant.getFluid(500)) + output(ELECTRIC_PISTON_ZPM) + EUt(24000) // LuV + duration(20 * SECOND) + scannerResearch { it.researchStack(ELECTRIC_PISTON_LUV) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // UV - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - ELECTRIC_PISTON_ZPM.stackForm, TOOL_DATA_ORB.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(ELECTRIC_PISTON_ZPM.stackForm, TOOL_DATA_ORB.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_UV.stackForm, - OreDictUnifier.get(plate, Tritanium, 4), - OreDictUnifier.get(ring, Tritanium, 4), - OreDictUnifier.get(round, Tritanium, 16), - OreDictUnifier.get(stick, Tritanium, 4), - OreDictUnifier.get(gear, NaquadahAlloy, 1), - OreDictUnifier.get(gearSmall, NaquadahAlloy, 2), - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 2)), - arrayOf(SolderingAlloy.getFluid(L * 4), Lubricant.getFluid(1000), - Naquadria.getFluid(L * 4))) + OreDictUnifier.get(plate, Tritanium, 4), + OreDictUnifier.get(ring, Tritanium, 4), + OreDictUnifier.get(round, Tritanium, 16), + OreDictUnifier.get(stick, Tritanium, 4), + OreDictUnifier.get(gear, NaquadahAlloy, 1), + OreDictUnifier.get(gearSmall, NaquadahAlloy, 2), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 2)), + arrayOf(SolderingAlloy.getFluid(L * 4), + Lubricant.getFluid(1000), + Naquadria.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UV) - .input(plate, Tritanium, 2) - .input(ring, Tritanium, 4) - .input(round, Tritanium, 8) - .input(stick, Tritanium, 4) - .input(gear, Tritanium) - .input(gearSmall, Tritanium, 2) - .input(cableGtSingle, YttriumBariumCuprate, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .fluidInputs(Lubricant.getFluid(1000)) - .fluidInputs(Naquadria.getFluid(L)) - .output(ELECTRIC_PISTON_UV) - .EUt(100_000) // ZPM - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UV) + input(plate, Tritanium, 2) + input(ring, Tritanium, 4) + input(round, Tritanium, 8) + input(stick, Tritanium, 4) + input(gear, Tritanium) + input(gearSmall, Tritanium, 2) + input(cableGtSingle, YttriumBariumCuprate, 2) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + fluidInputs(Lubricant.getFluid(1000)) + fluidInputs(Naquadria.getFluid(L)) + output(ELECTRIC_PISTON_UV) + EUt(100_000) // ZPM + duration(20 * SECOND) + stationResearch { it.researchStack(ELECTRIC_PISTON_ZPM) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UHV) - .input(plate, Adamantium, 2) - .input(ring, Adamantium, 4) - .input(round, Adamantium, 8) - .input(stick, Adamantium, 4) - .input(gear, Adamantium) - .input(gearSmall, Adamantium, 2) - .input(cableGtSingle, Europium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(Lubricant.getFluid(2000)) - .fluidInputs(Taranium.getFluid(L * 2)) - .output(ELECTRIC_PISTON_UHV) - .EUt(400_000) // UV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UHV) + input(plate, Adamantium, 2) + input(ring, Adamantium, 4) + input(round, Adamantium, 8) + input(stick, Adamantium, 4) + input(gear, Adamantium) + input(gearSmall, Adamantium, 2) + input(cableGtSingle, Europium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(Lubricant.getFluid(2000)) + fluidInputs(Taranium.getFluid(L * 2)) + output(ELECTRIC_PISTON_UHV) + EUt(400_000) // UV + duration(20 * SECOND) + stationResearch { it.researchStack(ELECTRIC_PISTON_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UEV) - .input(plate, CosmicNeutronium, 4) - .input(ring, CosmicNeutronium, 8) - .input(round, CosmicNeutronium, 16) - .input(stick, CosmicNeutronium, 4) - .input(gear, CosmicNeutronium) - .input(gearSmall, CosmicNeutronium, 2) - .input(cableGtSingle, Seaborgium, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .fluidInputs(Fullerene.getFluid(L)) - .output(ELECTRIC_PISTON_UEV) - .EUt(1_800_000) // UHV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UEV) + input(plate, CosmicNeutronium, 4) + input(ring, CosmicNeutronium, 8) + input(round, CosmicNeutronium, 16) + input(stick, CosmicNeutronium, 4) + input(gear, CosmicNeutronium) + input(gearSmall, CosmicNeutronium, 2) + input(cableGtSingle, Seaborgium, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + fluidInputs(Fullerene.getFluid(L)) + output(ELECTRIC_PISTON_UEV) + EUt(1_800_000) // UHV + duration(40 * SECOND) + stationResearch { it.researchStack(ELECTRIC_PISTON_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UIV) - .input(plate, HeavyQuarkDegenerateMatter, 4) - .input(ring, HeavyQuarkDegenerateMatter, 8) - .input(round, HeavyQuarkDegenerateMatter, 16) - .input(stick, HeavyQuarkDegenerateMatter, 4) - .input(gear, HeavyQuarkDegenerateMatter) - .input(gearSmall, HeavyQuarkDegenerateMatter, 2) - .input(cableGtSingle, SuperheavyAlloyA, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) - .fluidInputs(CarbonNanotube.getFluid(L * 2)) - .output(ELECTRIC_PISTON_UIV) - .EUt(6_000_000) // UEV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UIV) + input(plate, HeavyQuarkDegenerateMatter, 4) + input(ring, HeavyQuarkDegenerateMatter, 8) + input(round, HeavyQuarkDegenerateMatter, 16) + input(stick, HeavyQuarkDegenerateMatter, 4) + input(gear, HeavyQuarkDegenerateMatter) + input(gearSmall, HeavyQuarkDegenerateMatter, 2) + input(cableGtSingle, SuperheavyAlloyA, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) + fluidInputs(CarbonNanotube.getFluid(L * 2)) + output(ELECTRIC_PISTON_UIV) + EUt(6_000_000) // UEV + duration(40 * SECOND) + stationResearch { it.researchStack(ELECTRIC_PISTON_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UXV) - .input(plate, TranscendentMetal, 8) - .input(ring, TranscendentMetal, 16) - .input(round, TranscendentMetal, 32) - .input(stick, TranscendentMetal, 8) - .input(gear, TranscendentMetal, 2) - .input(gearSmall, TranscendentMetal, 4) - .input(cableGtSingle, SuperheavyAlloyB, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .fluidInputs(PrimordialMatter.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(ELECTRIC_PISTON_UXV) - .EUt(20_000_000) // UIV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UXV) + input(plate, TranscendentMetal, 8) + input(ring, TranscendentMetal, 16) + input(round, TranscendentMetal, 32) + input(stick, TranscendentMetal, 8) + input(gear, TranscendentMetal, 2) + input(gearSmall, TranscendentMetal, 4) + input(cableGtSingle, SuperheavyAlloyB, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + fluidInputs(PrimordialMatter.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(ELECTRIC_PISTON_UXV) + EUt(20_000_000) // UIV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_PISTON_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_OpV) - .input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .input(ring, MagnetohydrodynamicallyConstrainedStarMatter, 16) - .input(round, MagnetohydrodynamicallyConstrainedStarMatter, 32) - .input(stick, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .input(gear, MagnetohydrodynamicallyConstrainedStarMatter, 2) - .input(gearSmall, MagnetohydrodynamicallyConstrainedStarMatter, 4) - .input(cableGtSingle, Periodicium, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) - .fluidInputs(CosmicFabric.getFluid(L * 8)) - .output(ELECTRIC_PISTON_OpV) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_OpV) + input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 8) + input(ring, MagnetohydrodynamicallyConstrainedStarMatter, 16) + input(round, MagnetohydrodynamicallyConstrainedStarMatter, 32) + input(stick, MagnetohydrodynamicallyConstrainedStarMatter, 8) + input(gear, MagnetohydrodynamicallyConstrainedStarMatter, 2) + input(gearSmall, MagnetohydrodynamicallyConstrainedStarMatter, 4) + input(cableGtSingle, Periodicium, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) + fluidInputs(CosmicFabric.getFluid(L * 8)) + output(ELECTRIC_PISTON_OpV) + EUt(50_000_000) // UXV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_PISTON_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // MAX - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_MAX) - .input(plateDouble, Eternity, 16) - .input(plateDouble, BlackDwarfMatter, 16) - .input(plateDouble, Omnium, 16) - .input(ring, Omnium, 32) - .input(round, Omnium, 64) - .input(frameGt, Omnium, 16) - .input(frameGt, SpaceTime, 16) - .input(gear, Omnium, 4) - .input(gear, BlackDwarfMatter, 4) - .input(gear, WhiteDwarfMatter, 4) - .input(gearSmall, Omnium, 8) - .input(gearSmall, Eternity, 8) - .input(gearSmall, TranscendentMetal, 8) - .input(cableGtHex, RealizedQuantumFoamShard, 2) - .input(nanite, MagMatter, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) - .fluidInputs(CosmicFabric.getFluid(L * 16)) - .output(ELECTRIC_PISTON_MAX) - .EUt(300_000_000) // OpV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_MAX) + input(plateDouble, Eternity, 16) + input(plateDouble, BlackDwarfMatter, 16) + input(plateDouble, Omnium, 16) + input(ring, Omnium, 32) + input(round, Omnium, 64) + input(frameGt, Omnium, 16) + input(frameGt, SpaceTime, 16) + input(gear, Omnium, 4) + input(gear, BlackDwarfMatter, 4) + input(gear, WhiteDwarfMatter, 4) + input(gearSmall, Omnium, 8) + input(gearSmall, Eternity, 8) + input(gearSmall, TranscendentMetal, 8) + input(cableGtHex, RealizedQuantumFoamShard, 2) + input(nanite, MagMatter, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) + fluidInputs(CosmicFabric.getFluid(L * 16)) + output(ELECTRIC_PISTON_MAX) + EUt(300_000_000) // OpV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_PISTON_OpV) .EUt(VA[OpV]) .CWUt(256) } - .buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/PumpRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/PumpRecipes.kt index 736886bc9..f00354c0b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/PumpRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/PumpRecipes.kt @@ -11,7 +11,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.unification.OreDictUnifier @@ -65,6 +64,8 @@ import gregtech.common.items.MetaItems.TOOL_DATA_ORB import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CarbonNanotube @@ -104,248 +105,251 @@ internal object PumpRecipes fun init() { // LuV - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_LuV.stackForm, - OreDictUnifier.get(pipeSmallFluid, NiobiumTitanium), - OreDictUnifier.get(plate, HSSS, 2), - OreDictUnifier.get(screw, HSSS, 8), - OreDictUnifier.get(ring, SiliconeRubber, 4), - OreDictUnifier.get(rotor, HSSS), - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 2)), - arrayOf(SolderingAlloy.getFluid(L), Lubricant.getFluid(250))) + OreDictUnifier.get(pipeSmallFluid, NiobiumTitanium), + OreDictUnifier.get(plate, HSSS, 2), + OreDictUnifier.get(screw, HSSS, 8), + OreDictUnifier.get(ring, SiliconeRubber, 4), + OreDictUnifier.get(rotor, HSSS), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 2)), + arrayOf(SolderingAlloy.getFluid(L), + Lubricant.getFluid(250))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_LuV) - .input(pipeNormalFluid, NiobiumTitanium) - .input(plate, HSSS) - .input(screw, HSSS, 4) - .input("ringAnySyntheticRubber", 4) - .input(rotor, HSSS) - .input(cableGtSingle, NiobiumTitanium, 2) - .fluidInputs(SolderingAlloy.getFluid(L)) - .fluidInputs(Lubricant.getFluid(250)) - .output(ELECTRIC_PUMP_LuV) - .EUt(6000) // IV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_LuV) + input(pipeNormalFluid, NiobiumTitanium) + input(plate, HSSS) + input(screw, HSSS, 4) + input("ringAnySyntheticRubber", 4) + input(rotor, HSSS) + input(cableGtSingle, NiobiumTitanium, 2) + fluidInputs(SolderingAlloy.getFluid(L)) + fluidInputs(Lubricant.getFluid(250)) + output(ELECTRIC_PUMP_LuV) + EUt(6000) // IV + duration(20 * SECOND) + scannerResearch { it.researchStack(ELECTRIC_PUMP_IV) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_ZPM.stackForm, - OreDictUnifier.get(pipeNormalFluid, Polybenzimidazole), - OreDictUnifier.get(plate, Osmiridium, 2), - OreDictUnifier.get(screw, Osmiridium, 8), - OreDictUnifier.get(ring, SiliconeRubber, 8), - OreDictUnifier.get(rotor, Osmiridium), - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 2)), - arrayOf(SolderingAlloy.getFluid(L * 2), Lubricant.getFluid(500))) + OreDictUnifier.get(pipeNormalFluid, Polybenzimidazole), + OreDictUnifier.get(plate, Osmiridium, 2), + OreDictUnifier.get(screw, Osmiridium, 8), + OreDictUnifier.get(ring, SiliconeRubber, 8), + OreDictUnifier.get(rotor, Osmiridium), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 2)), + arrayOf(SolderingAlloy.getFluid(L * 2), + Lubricant.getFluid(500))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_ZPM) - .input(pipeNormalFluid, Iridium) - .input(plate, Osmiridium) - .input(screw, Osmiridium, 4) - .input("ringAnySyntheticRubber", 6) - .input(rotor, Osmiridium) - .input(cableGtSingle, VanadiumGallium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .fluidInputs(Lubricant.getFluid(500)) - .output(ELECTRIC_PUMP_ZPM) - .EUt(24000) // LuV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_ZPM) + input(pipeNormalFluid, Iridium) + input(plate, Osmiridium) + input(screw, Osmiridium, 4) + input("ringAnySyntheticRubber", 6) + input(rotor, Osmiridium) + input(cableGtSingle, VanadiumGallium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + fluidInputs(Lubricant.getFluid(500)) + output(ELECTRIC_PUMP_ZPM) + EUt(24000) // LuV + duration(20 * SECOND) + scannerResearch { it.researchStack(ELECTRIC_PUMP_LuV) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // UV - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - ELECTRIC_PUMP_ZPM.stackForm, TOOL_DATA_ORB.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(ELECTRIC_PUMP_ZPM.stackForm, TOOL_DATA_ORB.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(ELECTRIC_MOTOR_UV.stackForm, - OreDictUnifier.get(pipeLargeFluid, Naquadah), - OreDictUnifier.get(plate, Tritanium, 2), - OreDictUnifier.get(screw, Tritanium, 8), - OreDictUnifier.get(ring, SiliconeRubber, 16), - OreDictUnifier.get(rotor, NaquadahAlloy), - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 2)), - arrayOf(SolderingAlloy.getFluid(L * 4), Lubricant.getFluid(1000), Naquadria.getFluid(L * 4))) + OreDictUnifier.get(pipeLargeFluid, Naquadah), + OreDictUnifier.get(plate, Tritanium, 2), + OreDictUnifier.get(screw, Tritanium, 8), + OreDictUnifier.get(ring, SiliconeRubber, 16), + OreDictUnifier.get(rotor, NaquadahAlloy), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 2)), + arrayOf(SolderingAlloy.getFluid(L * 4), + Lubricant.getFluid(1000), + Naquadria.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UV) - .input(pipeLargeFluid, Naquadah) - .input(plate, Tritanium, 2) - .input(screw, Tritanium, 8) - .input("ringAnySyntheticRubber", 8) - .input(rotor, Tritanium) - .input(cableGtSingle, YttriumBariumCuprate, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .fluidInputs(Lubricant.getFluid(1000)) - .fluidInputs(Naquadria.getFluid(L)) - .output(ELECTRIC_PUMP_UV) - .EUt(100_000) // ZPM - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UV) + input(pipeLargeFluid, Naquadah) + input(plate, Tritanium, 2) + input(screw, Tritanium, 8) + input("ringAnySyntheticRubber", 8) + input(rotor, Tritanium) + input(cableGtSingle, YttriumBariumCuprate, 2) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + fluidInputs(Lubricant.getFluid(1000)) + fluidInputs(Naquadria.getFluid(L)) + output(ELECTRIC_PUMP_UV) + EUt(100_000) // ZPM + duration(20 * SECOND) + stationResearch { it.researchStack(ELECTRIC_PUMP_ZPM) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UHV) - .input(pipeLargeFluid, Europium) - .input(plate, Adamantium, 2) - .input(screw, Adamantium, 8) - .input("ringAnyAdvancedSyntheticRubber", 12) - .input(rotor, Adamantium) - .input(cableGtSingle, Europium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(Lubricant.getFluid(2000)) - .fluidInputs(Taranium.getFluid(L * 2)) - .output(ELECTRIC_PUMP_UHV) - .EUt(400_000) // UV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UHV) + input(pipeLargeFluid, Europium) + input(plate, Adamantium, 2) + input(screw, Adamantium, 8) + input("ringAnyAdvancedSyntheticRubber", 12) + input(rotor, Adamantium) + input(cableGtSingle, Europium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(Lubricant.getFluid(2000)) + fluidInputs(Taranium.getFluid(L * 2)) + output(ELECTRIC_PUMP_UHV) + EUt(400_000) // UV + duration(20 * SECOND) + stationResearch { it.researchStack(ELECTRIC_PUMP_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UEV) - .input(pipeLargeFluid, Duranium, 2) - .input(plate, CosmicNeutronium, 4) - .input(screw, CosmicNeutronium, 8) - .input("ringAnyAdvancedSyntheticRubber", 24) - .input(rotor, CosmicNeutronium) - .input(cableGtSingle, Seaborgium, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .fluidInputs(Fullerene.getFluid(L)) - .output(ELECTRIC_PUMP_UEV) - .EUt(1_800_000) // UHV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UEV) + input(pipeLargeFluid, Duranium, 2) + input(plate, CosmicNeutronium, 4) + input(screw, CosmicNeutronium, 8) + input("ringAnyAdvancedSyntheticRubber", 24) + input(rotor, CosmicNeutronium) + input(cableGtSingle, Seaborgium, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + fluidInputs(Fullerene.getFluid(L)) + output(ELECTRIC_PUMP_UEV) + EUt(1_800_000) // UHV + duration(40 * SECOND) + stationResearch { it.researchStack(ELECTRIC_PUMP_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UIV) - .input(pipeLargeFluid, Neutronium, 2) - .input(plate, HeavyQuarkDegenerateMatter, 4) - .input(screw, HeavyQuarkDegenerateMatter, 8) - .input("ringAnyAdvancedSyntheticRubber", 32) - .input(rotor, HeavyQuarkDegenerateMatter) - .input(cableGtSingle, SuperheavyAlloyA, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) - .fluidInputs(CarbonNanotube.getFluid(L * 2)) - .output(ELECTRIC_PUMP_UIV) - .EUt(6_000_000) // UEV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UIV) + input(pipeLargeFluid, Neutronium, 2) + input(plate, HeavyQuarkDegenerateMatter, 4) + input(screw, HeavyQuarkDegenerateMatter, 8) + input("ringAnyAdvancedSyntheticRubber", 32) + input(rotor, HeavyQuarkDegenerateMatter) + input(cableGtSingle, SuperheavyAlloyA, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) + fluidInputs(CarbonNanotube.getFluid(L * 2)) + output(ELECTRIC_PUMP_UIV) + EUt(6_000_000) // UEV + duration(40 * SECOND) + stationResearch { it.researchStack(ELECTRIC_PUMP_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_UXV) - .input(pipeLargeFluid, HeavyQuarkDegenerateMatter, 4) - .input(plate, TranscendentMetal, 8) - .input(screw, TranscendentMetal, 16) - .input("ringAnyAdvancedSyntheticRubber", 64) - .input(rotor, TranscendentMetal, 2) - .input(cableGtSingle, SuperheavyAlloyB, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .fluidInputs(PrimordialMatter.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(ELECTRIC_PUMP_UXV) - .EUt(20_000_000) // UIV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_UXV) + input(pipeLargeFluid, HeavyQuarkDegenerateMatter, 4) + input(plate, TranscendentMetal, 8) + input(screw, TranscendentMetal, 16) + input("ringAnyAdvancedSyntheticRubber", 64) + input(rotor, TranscendentMetal, 2) + input(cableGtSingle, SuperheavyAlloyB, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + fluidInputs(PrimordialMatter.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(ELECTRIC_PUMP_UXV) + EUt(20_000_000) // UIV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_PUMP_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_OpV) - .input(pipeLargeFluid, QuantumchromodynamicallyConfinedMatter, 4) - .input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .input(screw, MagnetohydrodynamicallyConstrainedStarMatter, 16) - .input("ringAnyAdvancedSyntheticRubber", 64) - .input("ringAnyAdvancedSyntheticRubber", 64) - .input(rotor, MagnetohydrodynamicallyConstrainedStarMatter, 2) - .input(cableGtSingle, Periodicium, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) - .fluidInputs(CosmicFabric.getFluid(L * 8)) - .output(ELECTRIC_PUMP_OpV) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_OpV) + input(pipeLargeFluid, QuantumchromodynamicallyConfinedMatter, 4) + input(plate, MagnetohydrodynamicallyConstrainedStarMatter, 8) + input(screw, MagnetohydrodynamicallyConstrainedStarMatter, 16) + input("ringAnyAdvancedSyntheticRubber", 64) + input("ringAnyAdvancedSyntheticRubber", 64) + input(rotor, MagnetohydrodynamicallyConstrainedStarMatter, 2) + input(cableGtSingle, Periodicium, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) + fluidInputs(CosmicFabric.getFluid(L * 8)) + output(ELECTRIC_PUMP_OpV) + EUt(50_000_000) // UXV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_PUMP_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // MAX - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ELECTRIC_MOTOR_MAX) - .input(pipeHugeFluid, TranscendentMetal, 8) - .input(pipeHugeFluid, HarmonicPhononMatter, 8) - .input(pipeHugeFluid, SpaceTime, 8) - .input(pipeHugeFluid, Infinity, 8) - .input(plateDouble, Omnium, 16) - .input(plateDouble, Eternity, 16) - .input(screw, Omnium, 32) - .input("ringAnyAdvancedSyntheticRubber", 64) - .input("ringAnyAdvancedSyntheticRubber", 64) - .input("ringAnyAdvancedSyntheticRubber", 64) - .input("ringAnyAdvancedSyntheticRubber", 64) - .input(rotor, BlackDwarfMatter, 4) - .input(rotor, WhiteDwarfMatter, 4) - .input(cableGtHex, RealizedQuantumFoamShard, 2) - .input(nanite, MagMatter, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) - .fluidInputs(CosmicFabric.getFluid(L * 16)) - .output(ELECTRIC_PUMP_MAX) - .EUt(300_000_000) // OpV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ELECTRIC_MOTOR_MAX) + input(pipeHugeFluid, TranscendentMetal, 8) + input(pipeHugeFluid, HarmonicPhononMatter, 8) + input(pipeHugeFluid, SpaceTime, 8) + input(pipeHugeFluid, Infinity, 8) + input(plateDouble, Omnium, 16) + input(plateDouble, Eternity, 16) + input(screw, Omnium, 32) + input("ringAnyAdvancedSyntheticRubber", 64) + input("ringAnyAdvancedSyntheticRubber", 64) + input("ringAnyAdvancedSyntheticRubber", 64) + input("ringAnyAdvancedSyntheticRubber", 64) + input(rotor, BlackDwarfMatter, 4) + input(rotor, WhiteDwarfMatter, 4) + input(cableGtHex, RealizedQuantumFoamShard, 2) + input(nanite, MagMatter, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) + fluidInputs(CosmicFabric.getFluid(L * 16)) + output(ELECTRIC_PUMP_MAX) + EUt(300_000_000) // OpV + duration(1 * MINUTE) + stationResearch { it.researchStack(ELECTRIC_PUMP_OpV) .EUt(VA[OpV]) .CWUt(256) } - .buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/RobotArmRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/RobotArmRecipes.kt index 596e139e8..08d263155 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/RobotArmRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/RobotArmRecipes.kt @@ -11,7 +11,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.unification.OreDictUnifier @@ -63,6 +62,8 @@ import gregtech.common.items.MetaItems.TOOL_DATA_ORB import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CarbonNanotube @@ -101,270 +102,272 @@ internal object RobotArmRecipes fun init() { // LuV - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(stickLong, HSSS, 4), - OreDictUnifier.get(gear, HSSS), - OreDictUnifier.get(gearSmall, HSSS, 3), - ELECTRIC_MOTOR_LuV.getStackForm(2), - ELECTRIC_PISTON_LUV.stackForm, - OreDictUnifier.get(circuit, Tier.LuV), - OreDictUnifier.get(circuit, Tier.IV, 2), - OreDictUnifier.get(circuit, Tier.EV, 4), - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4)), - arrayOf(SolderingAlloy.getFluid(L * 4), Lubricant.getFluid(250))) + OreDictUnifier.get(gear, HSSS), + OreDictUnifier.get(gearSmall, HSSS, 3), + ELECTRIC_MOTOR_LuV.getStackForm(2), + ELECTRIC_PISTON_LUV.stackForm, + OreDictUnifier.get(circuit, Tier.LuV), + OreDictUnifier.get(circuit, Tier.IV, 2), + OreDictUnifier.get(circuit, Tier.EV, 4), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4)), + arrayOf(SolderingAlloy.getFluid(L * 4), + Lubricant.getFluid(250))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, HSSS, 2) - .input(gear, HSSS) - .input(gearSmall, HSSS, 2) - .input(ELECTRIC_MOTOR_LuV, 2) - .input(ELECTRIC_PISTON_LUV) - .input(circuit, Tier.LuV) - .input(circuit, Tier.IV, 2) - .input(circuit, Tier.EV, 4) - .input(cableGtSingle, NiobiumTitanium, 3) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .fluidInputs(Lubricant.getFluid(250)) - .output(ROBOT_ARM_LuV) - .EUt(6000) // IV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, HSSS, 2) + input(gear, HSSS) + input(gearSmall, HSSS, 2) + input(ELECTRIC_MOTOR_LuV, 2) + input(ELECTRIC_PISTON_LUV) + input(circuit, Tier.LuV) + input(circuit, Tier.IV, 2) + input(circuit, Tier.EV, 4) + input(cableGtSingle, NiobiumTitanium, 3) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + fluidInputs(Lubricant.getFluid(250)) + output(ROBOT_ARM_LuV) + EUt(6000) // IV + duration(20 * SECOND) + scannerResearch { it.researchStack(ROBOT_ARM_IV) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(stickLong, Osmiridium, 4), - OreDictUnifier.get(gear, Osmiridium), - OreDictUnifier.get(gearSmall, Osmiridium, 3), - ELECTRIC_MOTOR_ZPM.getStackForm(2), - ELECTRIC_PISTON_ZPM.stackForm, - OreDictUnifier.get(circuit, Tier.ZPM), - OreDictUnifier.get(circuit, Tier.LuV, 2), - OreDictUnifier.get(circuit, Tier.IV, 4), - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4)), - arrayOf(SolderingAlloy.getFluid(L * 8), Lubricant.getFluid(500))) + OreDictUnifier.get(gear, Osmiridium), + OreDictUnifier.get(gearSmall, Osmiridium, 3), + ELECTRIC_MOTOR_ZPM.getStackForm(2), + ELECTRIC_PISTON_ZPM.stackForm, + OreDictUnifier.get(circuit, Tier.ZPM), + OreDictUnifier.get(circuit, Tier.LuV, 2), + OreDictUnifier.get(circuit, Tier.IV, 4), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4)), + arrayOf(SolderingAlloy.getFluid(L * 8), + Lubricant.getFluid(500))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, Osmiridium, 2) - .input(gear, Osmiridium) - .input(gearSmall, Osmiridium, 2) - .input(ELECTRIC_MOTOR_ZPM, 2) - .input(ELECTRIC_PISTON_ZPM) - .input(circuit, Tier.ZPM) - .input(circuit, Tier.LuV, 2) - .input(circuit, Tier.IV, 4) - .input(cableGtSingle, VanadiumGallium, 3) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(Lubricant.getFluid(500)) - .output(ROBOT_ARM_ZPM) - .EUt(24000) // LuV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, Osmiridium, 2) + input(gear, Osmiridium) + input(gearSmall, Osmiridium, 2) + input(ELECTRIC_MOTOR_ZPM, 2) + input(ELECTRIC_PISTON_ZPM) + input(circuit, Tier.ZPM) + input(circuit, Tier.LuV, 2) + input(circuit, Tier.IV, 4) + input(cableGtSingle, VanadiumGallium, 3) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(Lubricant.getFluid(500)) + output(ROBOT_ARM_ZPM) + EUt(24000) // LuV + duration(20 * SECOND) + scannerResearch { it.researchStack(ROBOT_ARM_LuV) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // UV - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - ROBOT_ARM_ZPM.stackForm, TOOL_DATA_ORB.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(ROBOT_ARM_ZPM.stackForm, TOOL_DATA_ORB.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(stickLong, Tritanium, 4), - OreDictUnifier.get(gear, Tritanium), - OreDictUnifier.get(gearSmall, Tritanium, 3), - ELECTRIC_MOTOR_UV.getStackForm(2), - ELECTRIC_PISTON_UV.stackForm, - OreDictUnifier.get(circuit, Tier.UV), - OreDictUnifier.get(circuit, Tier.ZPM, 2), - OreDictUnifier.get(circuit, Tier.LuV, 4), - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4)), - arrayOf(SolderingAlloy.getFluid(L * 12), Lubricant.getFluid(1000), - Naquadria.getFluid(L * 4))) + OreDictUnifier.get(gear, Tritanium), + OreDictUnifier.get(gearSmall, Tritanium, 3), + ELECTRIC_MOTOR_UV.getStackForm(2), + ELECTRIC_PISTON_UV.stackForm, + OreDictUnifier.get(circuit, Tier.UV), + OreDictUnifier.get(circuit, Tier.ZPM, 2), + OreDictUnifier.get(circuit, Tier.LuV, 4), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4)), + arrayOf(SolderingAlloy.getFluid(L * 12), + Lubricant.getFluid(1000), + Naquadria.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, Tritanium, 4) - .input(gear, Tritanium) - .input(gearSmall, Tritanium, 3) - .input(ELECTRIC_MOTOR_UV, 2) - .input(ELECTRIC_PISTON_UV) - .input(circuit, Tier.UV) - .input(circuit, Tier.ZPM, 2) - .input(circuit, Tier.LuV, 4) - .input(cableGtSingle, YttriumBariumCuprate, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 12)) - .fluidInputs(Lubricant.getFluid(1000)) - .fluidInputs(Naquadria.getFluid(L)) - .output(ROBOT_ARM_UV) - .EUt(100_000) // ZPM - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, Tritanium, 4) + input(gear, Tritanium) + input(gearSmall, Tritanium, 3) + input(ELECTRIC_MOTOR_UV, 2) + input(ELECTRIC_PISTON_UV) + input(circuit, Tier.UV) + input(circuit, Tier.ZPM, 2) + input(circuit, Tier.LuV, 4) + input(cableGtSingle, YttriumBariumCuprate, 4) + fluidInputs(SolderingAlloy.getFluid(L * 12)) + fluidInputs(Lubricant.getFluid(1000)) + fluidInputs(Naquadria.getFluid(L)) + output(ROBOT_ARM_UV) + EUt(100_000) // ZPM + duration(20 * SECOND) + stationResearch { it.researchStack(ROBOT_ARM_ZPM) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, Adamantium, 4) - .input(gear, Adamantium) - .input(gearSmall, Adamantium, 3) - .input(ELECTRIC_MOTOR_UHV, 2) - .input(ELECTRIC_PISTON_UHV) - .input(circuit, Tier.UHV) - .input(circuit, Tier.UV, 2) - .input(circuit, Tier.ZPM, 4) - .input(cableGtSingle, Europium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .fluidInputs(Lubricant.getFluid(2000)) - .fluidInputs(Taranium.getFluid(L * 2)) - .output(ROBOT_ARM_UHV) - .EUt(400_000) // UV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, Adamantium, 4) + input(gear, Adamantium) + input(gearSmall, Adamantium, 3) + input(ELECTRIC_MOTOR_UHV, 2) + input(ELECTRIC_PISTON_UHV) + input(circuit, Tier.UHV) + input(circuit, Tier.UV, 2) + input(circuit, Tier.ZPM, 4) + input(cableGtSingle, Europium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + fluidInputs(Lubricant.getFluid(2000)) + fluidInputs(Taranium.getFluid(L * 2)) + output(ROBOT_ARM_UHV) + EUt(400_000) // UV + duration(20 * SECOND) + stationResearch { it.researchStack(ROBOT_ARM_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, CosmicNeutronium, 4) - .input(gear, CosmicNeutronium, 2) - .input(gearSmall, CosmicNeutronium, 6) - .input(ELECTRIC_MOTOR_UEV, 2) - .input(ELECTRIC_PISTON_UEV) - .input(circuit, Tier.UEV) - .input(circuit, Tier.UHV, 2) - .input(circuit, Tier.UV, 4) - .input(cableGtSingle, Seaborgium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .fluidInputs(Fullerene.getFluid(L)) - .output(ROBOT_ARM_UEV) - .EUt(1_800_000) // UHV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, CosmicNeutronium, 4) + input(gear, CosmicNeutronium, 2) + input(gearSmall, CosmicNeutronium, 6) + input(ELECTRIC_MOTOR_UEV, 2) + input(ELECTRIC_PISTON_UEV) + input(circuit, Tier.UEV) + input(circuit, Tier.UHV, 2) + input(circuit, Tier.UV, 4) + input(cableGtSingle, Seaborgium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + fluidInputs(Fullerene.getFluid(L)) + output(ROBOT_ARM_UEV) + EUt(1_800_000) // UHV + duration(40 * SECOND) + stationResearch { it.researchStack(ROBOT_ARM_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, HeavyQuarkDegenerateMatter, 4) - .input(gear, HeavyQuarkDegenerateMatter, 2) - .input(gearSmall, HeavyQuarkDegenerateMatter, 6) - .input(ELECTRIC_MOTOR_UIV, 2) - .input(ELECTRIC_PISTON_UIV) - .input(circuit, Tier.UIV) - .input(circuit, Tier.UEV, 2) - .input(circuit, Tier.UHV, 4) - .input(cableGtSingle, SuperheavyAlloyA, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) - .fluidInputs(CarbonNanotube.getFluid(L * 2)) - .output(ROBOT_ARM_UIV) - .EUt(6_000_000) // UIV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, HeavyQuarkDegenerateMatter, 4) + input(gear, HeavyQuarkDegenerateMatter, 2) + input(gearSmall, HeavyQuarkDegenerateMatter, 6) + input(ELECTRIC_MOTOR_UIV, 2) + input(ELECTRIC_PISTON_UIV) + input(circuit, Tier.UIV) + input(circuit, Tier.UEV, 2) + input(circuit, Tier.UHV, 4) + input(cableGtSingle, SuperheavyAlloyA, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) + fluidInputs(CarbonNanotube.getFluid(L * 2)) + output(ROBOT_ARM_UIV) + EUt(6_000_000) // UIV + duration(40 * SECOND) + stationResearch { it.researchStack(ROBOT_ARM_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, TranscendentMetal, 8) - .input(gear, TranscendentMetal, 2) - .input(gearSmall, TranscendentMetal, 6) - .input(ELECTRIC_MOTOR_UXV, 2) - .input(ELECTRIC_PISTON_UXV) - .input(circuit, Tier.UXV) - .input(circuit, Tier.UIV, 2) - .input(circuit, Tier.UEV, 4) - .input(cableGtSingle, SuperheavyAlloyB, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .fluidInputs(PrimordialMatter.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(ROBOT_ARM_UXV) - .EUt(20_000_000) // UIV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, TranscendentMetal, 8) + input(gear, TranscendentMetal, 2) + input(gearSmall, TranscendentMetal, 6) + input(ELECTRIC_MOTOR_UXV, 2) + input(ELECTRIC_PISTON_UXV) + input(circuit, Tier.UXV) + input(circuit, Tier.UIV, 2) + input(circuit, Tier.UEV, 4) + input(cableGtSingle, SuperheavyAlloyB, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + fluidInputs(PrimordialMatter.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(ROBOT_ARM_UXV) + EUt(20_000_000) // UIV + duration(1 * MINUTE) + stationResearch { it.researchStack(ROBOT_ARM_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(stickLong, MagnetohydrodynamicallyConstrainedStarMatter, 8) - .input(gear, MagnetohydrodynamicallyConstrainedStarMatter, 2) - .input(gearSmall, MagnetohydrodynamicallyConstrainedStarMatter, 6) - .input(ELECTRIC_MOTOR_OpV, 2) - .input(ELECTRIC_PISTON_OpV) - .input(circuit, Tier.OpV) - .input(circuit, Tier.UXV, 2) - .input(circuit, Tier.UIV, 4) - .input(cableGtSingle, Periodicium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) - .fluidInputs(CosmicFabric.getFluid(L * 8)) - .output(ROBOT_ARM_OpV) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(stickLong, MagnetohydrodynamicallyConstrainedStarMatter, 8) + input(gear, MagnetohydrodynamicallyConstrainedStarMatter, 2) + input(gearSmall, MagnetohydrodynamicallyConstrainedStarMatter, 6) + input(ELECTRIC_MOTOR_OpV, 2) + input(ELECTRIC_PISTON_OpV) + input(circuit, Tier.OpV) + input(circuit, Tier.UXV, 2) + input(circuit, Tier.UIV, 4) + input(cableGtSingle, Periodicium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(32000)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) + fluidInputs(CosmicFabric.getFluid(L * 8)) + output(ROBOT_ARM_OpV) + EUt(50_000_000) // UXV + duration(1 * MINUTE) + stationResearch { it.researchStack(ROBOT_ARM_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // MAX - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Omnium, 16) - .input(frameGt, Universium, 16) - .input(frameGt, BlackDwarfMatter, 16) - .input(frameGt, WhiteDwarfMatter, 16) - .input(gear, Omnium, 4) - .input(gear, SpaceTime, 4) - .input(gearSmall, Omnium, 12) - .input(gearSmall, TranscendentMetal, 12) - .input(ELECTRIC_MOTOR_MAX, 2) - .input(ELECTRIC_PISTON_MAX) - .input(circuit, Tier.MAX) - .input(circuit, Tier.OpV, 2) - .input(circuit, Tier.UXV, 4) - .input(circuit, Tier.UIV, 8) - .input(cableGtHex, RealizedQuantumFoamShard, 4) - .input(nanite, MagMatter, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 512)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) - .fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) - .fluidInputs(CosmicFabric.getFluid(L * 16)) - .output(ROBOT_ARM_MAX) - .EUt(300_000_000) // OpV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Omnium, 16) + input(frameGt, Universium, 16) + input(frameGt, BlackDwarfMatter, 16) + input(frameGt, WhiteDwarfMatter, 16) + input(gear, Omnium, 4) + input(gear, SpaceTime, 4) + input(gearSmall, Omnium, 12) + input(gearSmall, TranscendentMetal, 12) + input(ELECTRIC_MOTOR_MAX, 2) + input(ELECTRIC_PISTON_MAX) + input(circuit, Tier.MAX) + input(circuit, Tier.OpV, 2) + input(circuit, Tier.UXV, 4) + input(circuit, Tier.UIV, 8) + input(cableGtHex, RealizedQuantumFoamShard, 4) + input(nanite, MagMatter, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 512)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(64000)) + fluidInputs(MagnetohydrodynamicallyConstrainedStarMatter.getFluid(L * 64)) + fluidInputs(CosmicFabric.getFluid(L * 16)) + output(ROBOT_ARM_MAX) + EUt(300_000_000) // OpV + duration(1 * MINUTE) + stationResearch { it.researchStack(ROBOT_ARM_OpV) .EUt(VA[OpV]) .CWUt(256) } - .buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/SensorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/SensorRecipes.kt index 4aaa6ae90..17be1bdf4 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/SensorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/component/SensorRecipes.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.unification.OreDictUnifier @@ -62,6 +61,8 @@ import gregtech.common.items.MetaItems.TOOL_DATA_MODULE import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CarbonNanotube @@ -98,228 +99,228 @@ internal object SensorRecipes fun init() { // LuV - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, HSSS), - ELECTRIC_MOTOR_LuV.stackForm, - OreDictUnifier.get(plate, Ruridit, 4), - QUANTUM_STAR.stackForm, - OreDictUnifier.get(circuit, Tier.LuV, 2), - OreDictUnifier.get(foil, Palladium, 64), - OreDictUnifier.get(foil, Palladium, 32), - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4)), + ELECTRIC_MOTOR_LuV.stackForm, + OreDictUnifier.get(plate, Ruridit, 4), + QUANTUM_STAR.stackForm, + OreDictUnifier.get(circuit, Tier.LuV, 2), + OreDictUnifier.get(foil, Palladium, 64), + OreDictUnifier.get(foil, Palladium, 32), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4)), arrayOf(SolderingAlloy.getFluid(L * 2))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HSSS) - .input(ELECTRIC_MOTOR_LuV) - .input(plate, Ruridit, 2) - .input(QUANTUM_STAR) - .input(circuit, Tier.LuV, 2) - .input(foil, Palladium, 64) - .input(cableGtSingle, NiobiumTitanium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .output(SENSOR_LuV) - .EUt(6000) // IV - .duration(20 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HSSS) + input(ELECTRIC_MOTOR_LuV) + input(plate, Ruridit, 2) + input(QUANTUM_STAR) + input(circuit, Tier.LuV, 2) + input(foil, Palladium, 64) + input(cableGtSingle, NiobiumTitanium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + output(SENSOR_LuV) + EUt(6000) // IV + duration(20 * SECOND) + scannerResearch { it.researchStack(SENSOR_IV) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, NaquadahAlloy), - ELECTRIC_MOTOR_ZPM.stackForm, - OreDictUnifier.get(plate, Osmiridium, 4), - QUANTUM_STAR.getStackForm(2), - OreDictUnifier.get(circuit, Tier.ZPM, 2), - OreDictUnifier.get(foil, Trinium, 64), - OreDictUnifier.get(foil, Trinium, 32), - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4)), + ELECTRIC_MOTOR_ZPM.stackForm, + OreDictUnifier.get(plate, Osmiridium, 4), + QUANTUM_STAR.getStackForm(2), + OreDictUnifier.get(circuit, Tier.ZPM, 2), + OreDictUnifier.get(foil, Trinium, 64), + OreDictUnifier.get(foil, Trinium, 32), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4)), arrayOf(SolderingAlloy.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Osmiridium) - .input(ELECTRIC_MOTOR_ZPM) - .input(plate, NaquadahAlloy, 2) - .input(QUANTUM_STAR, 2) - .input(circuit, Tier.ZPM, 2) - .input(foil, NaquadahEnriched, 64) - .input(foil, NaquadahEnriched, 32) - .input(cableGtSingle, VanadiumGallium, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .output(SENSOR_ZPM) - .EUt(24000) // LuV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Osmiridium) + input(ELECTRIC_MOTOR_ZPM) + input(plate, NaquadahAlloy, 2) + input(QUANTUM_STAR, 2) + input(circuit, Tier.ZPM, 2) + input(foil, NaquadahEnriched, 64) + input(foil, NaquadahEnriched, 32) + input(cableGtSingle, VanadiumGallium, 2) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + output(SENSOR_ZPM) + EUt(24000) // LuV + duration(20 * SECOND) + stationResearch { it.researchStack(SENSOR_LuV) .EUt(VA[LuV]) .CWUt(4) } - .buildAndRegister() + } // UV - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - SENSOR_ZPM.stackForm, TOOL_DATA_MODULE.stackForm) + RESEARCH_STATION_RECIPES.removeRecipe(SENSOR_ZPM.stackForm, TOOL_DATA_MODULE.stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, + ASSEMBLY_LINE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(frameGt, Tritanium), - ELECTRIC_MOTOR_UV.stackForm, - OreDictUnifier.get(plate, Tritanium, 4), - GRAVI_STAR.stackForm, - OreDictUnifier.get(circuit, Tier.UV, 2), - OreDictUnifier.get(foil, Naquadria, 64), - OreDictUnifier.get(foil, Naquadria, 32), - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4)), - arrayOf(SolderingAlloy.getFluid(L * 8), Naquadria.getFluid(L * 4))) + ELECTRIC_MOTOR_UV.stackForm, + OreDictUnifier.get(plate, Tritanium, 4), + GRAVI_STAR.stackForm, + OreDictUnifier.get(circuit, Tier.UV, 2), + OreDictUnifier.get(foil, Naquadria, 64), + OreDictUnifier.get(foil, Naquadria, 32), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4)), + arrayOf(SolderingAlloy.getFluid(L * 8), + Naquadria.getFluid(L * 4))) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Tritanium) - .input(ELECTRIC_MOTOR_UV) - .input(plate, EnrichedNaquadahAlloy, 4) - .input(QUANTUM_STAR, 4) - .input(circuit, Tier.UV, 2) - .input(foil, Rutherfordium, 64) - .input(foil, Rutherfordium, 64) - .input(cableGtSingle, YttriumBariumCuprate, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(Naquadria.getFluid(L)) - .output(SENSOR_UV) - .EUt(100_000) // ZPM - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Tritanium) + input(ELECTRIC_MOTOR_UV) + input(plate, EnrichedNaquadahAlloy, 4) + input(QUANTUM_STAR, 4) + input(circuit, Tier.UV, 2) + input(foil, Rutherfordium, 64) + input(foil, Rutherfordium, 64) + input(cableGtSingle, YttriumBariumCuprate, 4) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(Naquadria.getFluid(L)) + output(SENSOR_UV) + EUt(100_000) // ZPM + duration(20 * SECOND) + stationResearch { it.researchStack(SENSOR_ZPM) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Adamantium) - .input(ELECTRIC_MOTOR_UHV) - .input(plate, Dubnium, 4) - .input(GRAVI_STAR) - .input(circuit, Tier.UHV, 2) - .input(foil, Neutronium, 64) - .input(foil, Neutronium, 64) - .input(foil, Neutronium, 32) - .input(cableGtSingle, Europium, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 12)) - .fluidInputs(Taranium.getFluid(L * 2)) - .output(SENSOR_UHV) - .EUt(400_000) // UV - .duration(20 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Adamantium) + input(ELECTRIC_MOTOR_UHV) + input(plate, Dubnium, 4) + input(GRAVI_STAR) + input(circuit, Tier.UHV, 2) + input(foil, Neutronium, 64) + input(foil, Neutronium, 64) + input(foil, Neutronium, 32) + input(cableGtSingle, Europium, 4) + fluidInputs(SolderingAlloy.getFluid(L * 12)) + fluidInputs(Taranium.getFluid(L * 2)) + output(SENSOR_UHV) + EUt(400_000) // UV + duration(20 * SECOND) + stationResearch { it.researchStack(SENSOR_UV) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, CosmicNeutronium) - .input(ELECTRIC_MOTOR_UEV) - .input(plate, Bohrium, 8) - .input(GRAVI_STAR, 2) - .input(circuit, Tier.UEV, 2) - .input(foil, Infinity, 64) - .input(foil, Infinity, 64) - .input(foil, Infinity, 64) - .input(cableGtSingle, Seaborgium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .fluidInputs(Fullerene.getFluid(L)) - .output(SENSOR_UEV) - .EUt(1_800_000) // UHV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, CosmicNeutronium) + input(ELECTRIC_MOTOR_UEV) + input(plate, Bohrium, 8) + input(GRAVI_STAR, 2) + input(circuit, Tier.UEV, 2) + input(foil, Infinity, 64) + input(foil, Infinity, 64) + input(foil, Infinity, 64) + input(cableGtSingle, Seaborgium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + fluidInputs(Fullerene.getFluid(L)) + output(SENSOR_UEV) + EUt(1_800_000) // UHV + duration(40 * SECOND) + stationResearch { it.researchStack(SENSOR_UHV) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HeavyQuarkDegenerateMatter) - .input(ELECTRIC_MOTOR_UIV) - .input(plate, Shirabon, 8) - .input(GRAVI_STAR, 4) - .input(circuit, Tier.UIV, 2) - .input(foil, HalkoniteSteel, 64) - .input(foil, HalkoniteSteel, 64) - .input(foil, HalkoniteSteel, 64) - .input(foil, HalkoniteSteel, 32) - .input(cableGtSingle, SuperheavyAlloyA, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 32)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) - .fluidInputs(CarbonNanotube.getFluid(L * 2)) - .output(SENSOR_UIV) - .EUt(6_000_000) // UEV - .duration(40 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HeavyQuarkDegenerateMatter) + input(ELECTRIC_MOTOR_UIV) + input(plate, Shirabon, 8) + input(GRAVI_STAR, 4) + input(circuit, Tier.UIV, 2) + input(foil, HalkoniteSteel, 64) + input(foil, HalkoniteSteel, 64) + input(foil, HalkoniteSteel, 64) + input(foil, HalkoniteSteel, 32) + input(cableGtSingle, SuperheavyAlloyA, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 32)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8)) + fluidInputs(CarbonNanotube.getFluid(L * 2)) + output(SENSOR_UIV) + EUt(6_000_000) // UEV + duration(40 * SECOND) + stationResearch { it.researchStack(SENSOR_UEV) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, TranscendentMetal) - .input(ELECTRIC_MOTOR_UXV) - .input(plate, Mellion, 16) - .input(ZENITH_STAR) - .input(circuit, Tier.UXV, 2) - .input(foil, HarmonicPhononMatter, 64) - .input(foil, HarmonicPhononMatter, 64) - .input(foil, HarmonicPhononMatter, 64) - .input(foil, HarmonicPhononMatter, 64) - .input(cableGtSingle, SuperheavyAlloyB, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(PrimordialMatter.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .output(SENSOR_UXV) - .EUt(20_000_000) // UIV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, TranscendentMetal) + input(ELECTRIC_MOTOR_UXV) + input(plate, Mellion, 16) + input(ZENITH_STAR) + input(circuit, Tier.UXV, 2) + input(foil, HarmonicPhononMatter, 64) + input(foil, HarmonicPhononMatter, 64) + input(foil, HarmonicPhononMatter, 64) + input(foil, HarmonicPhononMatter, 64) + input(cableGtSingle, SuperheavyAlloyB, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(PrimordialMatter.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + output(SENSOR_UXV) + EUt(20_000_000) // UIV + duration(1 * MINUTE) + stationResearch { it.researchStack(SENSOR_UIV) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) - .input(ELECTRIC_MOTOR_OpV) - .input(plate, BlackDwarfMatter, 16) - .input(ZENITH_STAR, 2) - .input(circuit, Tier.OpV, 2) - .input(foil, Eternity, 64) - .input(foil, Eternity, 64) - .input(foil, Eternity, 64) - .input(foil, Eternity, 64) - .input(foil, Eternity, 32) - .input(cableGtSingle, Periodicium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) - .fluidInputs(CosmicFabric.getFluid(L * 8)) - .output(SENSOR_OpV) - .EUt(50_000_000) // UXV - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, MagnetohydrodynamicallyConstrainedStarMatter) + input(ELECTRIC_MOTOR_OpV) + input(plate, BlackDwarfMatter, 16) + input(ZENITH_STAR, 2) + input(circuit, Tier.OpV, 2) + input(foil, Eternity, 64) + input(foil, Eternity, 64) + input(foil, Eternity, 64) + input(foil, Eternity, 64) + input(foil, Eternity, 32) + input(cableGtSingle, Periodicium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(WhiteDwarfMatter.getFluid(L * 32)) + fluidInputs(CosmicFabric.getFluid(L * 8)) + output(SENSOR_OpV) + EUt(50_000_000) // UXV + duration(1 * MINUTE) + stationResearch { it.researchStack(SENSOR_UXV) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } - // TODO MAX + // TODO: MAX Sensor } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/AdditivesProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/AdditivesProcessing.kt index a9b6dd43f..b186f5d44 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/AdditivesProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/AdditivesProcessing.kt @@ -8,6 +8,7 @@ import gregtech.api.unification.material.Materials.NitricAcid import gregtech.api.unification.material.Materials.Oxygen import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AminooxyaceticAcid internal object AdditivesProcessing @@ -23,14 +24,14 @@ internal object AdditivesProcessing private fun aminooxyaceticAcidProcess() { // C2H4O2 + HNO3 -> C2H5NO3 + 2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(AceticAcid.getFluid(1000)) - .fluidInputs(NitricAcid.getFluid(1000)) - .fluidOutputs(AminooxyaceticAcid.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(AceticAcid.getFluid(1000)) + fluidInputs(NitricAcid.getFluid(1000)) + fluidOutputs(AminooxyaceticAcid.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[HV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/AnimalFatProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/AnimalFatProcessing.kt index 781e828df..dc014ec02 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/AnimalFatProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/AnimalFatProcessing.kt @@ -4,7 +4,6 @@ import gregtech.api.GTValues.HV import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.AUTOCLAVE_RECIPES import gregtech.api.recipes.RecipeMaps.DISTILLATION_RECIPES import gregtech.api.recipes.RecipeMaps.EXTRACTOR_RECIPES @@ -29,7 +28,11 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_INGOT import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.getStack +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Fat import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Mud @@ -37,8 +40,12 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.OliveOil import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.MUD_BALL import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.OLIVE import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.ANIMAL_FAT -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.BEEF +import net.minecraft.init.Items.CHICKEN +import net.minecraft.init.Items.DYE +import net.minecraft.init.Items.MUTTON +import net.minecraft.init.Items.PORKCHOP +import net.minecraft.init.Items.RABBIT internal object AnimalFatProcessing { @@ -48,217 +55,211 @@ internal object AnimalFatProcessing fun init() { // Olive oil - EXTRACTOR_RECIPES.recipeBuilder() - .input(OLIVE) - .fluidOutputs(OliveOil.getFluid(10)) - .EUt(2) // ULV - .duration(1 * SECOND + 12 * TICK) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + input(OLIVE) + fluidOutputs(OliveOil.getFluid(10)) + EUt(2) // ULV + duration(1 * SECOND + 12 * TICK) + } - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(OliveOil.getFluid(24)) - .fluidOutputs(Lubricant.getFluid(12)) - .EUt(96) // MV - .duration(16 * TICK) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(OliveOil.getFluid(24)) + fluidOutputs(Lubricant.getFluid(12)) + EUt(96) // MV + duration(16 * TICK) + } // Fat - MIXER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, SodaAsh) - .fluidInputs(OliveOil.getFluid(8000)) - .fluidOutputs(Fat.getFluid(4000)) - .EUt(VA[LV]) - .duration(20 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, SodaAsh) + fluidInputs(OliveOil.getFluid(8000)) + fluidOutputs(Fat.getFluid(4000)) + EUt(VA[LV]) + duration(20 * SECOND) + } - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(Fat.getFluid(100)) - .outputs(ANIMAL_FAT.stack()) - .EUt(VH[LV]) - .duration(4 * SECOND) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(Fat.getFluid(100)) + outputs(ANIMAL_FAT.stack()) + EUt(VH[LV]) + duration(4 * SECOND) + } - EXTRACTOR_RECIPES.recipeBuilder() - .inputs(ANIMAL_FAT.stack()) - .fluidOutputs(Fat.getFluid(100)) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + inputs(ANIMAL_FAT.stack()) + fluidOutputs(Fat.getFluid(100)) + EUt(VA[LV]) + duration(8 * SECOND) + } // Redo all meats macerating, add animal fats to outputs. - GTRecipeHandler.removeRecipesByInputs(MACERATOR_RECIPES, - ItemStack(Items.PORKCHOP)) + MACERATOR_RECIPES.removeRecipe(PORKCHOP) - MACERATOR_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.PORKCHOP)) - .output(dust, Meat, 2) - .outputs(ANIMAL_FAT.getStack(2)) - .output(dustTiny, Bone) - .EUt(2) // ULV - .duration(5 * SECOND + 2 * TICK) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + inputs(PORKCHOP) + output(dust, Meat, 2) + outputs(ANIMAL_FAT.getStack(2)) + output(dustTiny, Bone) + EUt(2) // ULV + duration(5 * SECOND + 2 * TICK) + } - GTRecipeHandler.removeRecipesByInputs(MACERATOR_RECIPES, - ItemStack(Items.BEEF)) + MACERATOR_RECIPES.removeRecipe(BEEF) - MACERATOR_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.BEEF)) - .output(dust, Meat, 2) - .outputs(ANIMAL_FAT.stack()) - .output(dustTiny, Bone) - .chancedOutput(dust, Meat, 5000, 0) - .EUt(2) // ULV - .duration(5 * SECOND + 2 * TICK) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + inputs(BEEF) + output(dust, Meat, 2) + outputs(ANIMAL_FAT.stack()) + output(dustTiny, Bone) + chancedOutput(dust, Meat, 5000, 0) + EUt(2) // ULV + duration(5 * SECOND + 2 * TICK) + } - GTRecipeHandler.removeRecipesByInputs(MACERATOR_RECIPES, - ItemStack(Items.CHICKEN)) + MACERATOR_RECIPES.removeRecipe(CHICKEN) - MACERATOR_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.CHICKEN)) - .output(dust, Meat) - .output(dustTiny, Bone) - .outputs(ANIMAL_FAT.stack()) - .EUt(2) // ULV - .duration(5 * SECOND + 2 * TICK) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + inputs(CHICKEN) + output(dust, Meat) + output(dustTiny, Bone) + outputs(ANIMAL_FAT.stack()) + EUt(2) // ULV + duration(5 * SECOND + 2 * TICK) + } - GTRecipeHandler.removeRecipesByInputs(MACERATOR_RECIPES, - ItemStack(Items.RABBIT)) + MACERATOR_RECIPES.removeRecipe(RABBIT) - MACERATOR_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.RABBIT)) - .output(dust, Meat) - .output(dustTiny, Bone) - .outputs(ANIMAL_FAT.stack()) - .chancedOutput(dust, Meat, 5000, 0) - .EUt(2) // ULV - .duration(5 * SECOND + 2 * TICK) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + inputs(RABBIT) + output(dust, Meat) + output(dustTiny, Bone) + outputs(ANIMAL_FAT.stack()) + chancedOutput(dust, Meat, 5000, 0) + EUt(2) // ULV + duration(5 * SECOND + 2 * TICK) + } - GTRecipeHandler.removeRecipesByInputs(MACERATOR_RECIPES, - ItemStack(Items.MUTTON)) + MACERATOR_RECIPES.removeRecipe(MUTTON) - MACERATOR_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.MUTTON)) - .output(dust, Meat, 2) - .output(dustTiny, Bone) - .outputs(ANIMAL_FAT.stack()) - .EUt(2) // ULV - .duration(5 * SECOND + 2 * TICK) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + inputs(MUTTON) + output(dust, Meat, 2) + output(dustTiny, Bone) + outputs(ANIMAL_FAT.stack()) + EUt(2) // ULV + duration(5 * SECOND + 2 * TICK) + } // Advanced recipes for Animal Fat. - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .inputs(ItemStack(Items.PORKCHOP, 32)) - .fluidInputs(Methanol.getFluid(4000)) - .fluidInputs(Chloroform.getFluid(4000)) - .output(dust, Meat, 40) - .outputs(ItemStack(Items.DYE, 16, 15)) - .fluidOutputs(Fat.getFluid(3200)) - .fluidOutputs(Mud.getFluid(12000)) - .EUt(VH[HV]) - .duration(50 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + inputs(PORKCHOP, 32) + fluidInputs(Methanol.getFluid(4000)) + fluidInputs(Chloroform.getFluid(4000)) + output(dust, Meat, 40) + outputs(DYE, 16, 15) + fluidOutputs(Fat.getFluid(3200)) + fluidOutputs(Mud.getFluid(12000)) + EUt(VH[HV]) + duration(50 * SECOND) + } - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .inputs(ItemStack(Items.BEEF, 32)) - .fluidInputs(Methanol.getFluid(4000)) - .fluidInputs(Chloroform.getFluid(4000)) - .output(dust, Meat, 40) - .outputs(ItemStack(Items.DYE, 16, 15)) - .fluidOutputs(Fat.getFluid(3200)) - .fluidOutputs(Mud.getFluid(12000)) - .EUt(VH[HV]) - .duration(50 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + inputs(BEEF, 32) + fluidInputs(Methanol.getFluid(4000)) + fluidInputs(Chloroform.getFluid(4000)) + output(dust, Meat, 40) + outputs(DYE, 16, 15) + fluidOutputs(Fat.getFluid(3200)) + fluidOutputs(Mud.getFluid(12000)) + EUt(VH[HV]) + duration(50 * SECOND) + } - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .inputs(ItemStack(Items.CHICKEN, 32)) - .fluidInputs(Methanol.getFluid(4000)) - .fluidInputs(Chloroform.getFluid(4000)) - .output(dust, Meat, 40) - .outputs(ItemStack(Items.DYE, 16, 15)) - .fluidOutputs(Fat.getFluid(3200)) - .fluidOutputs(Mud.getFluid(12000)) - .EUt(VH[HV]) - .duration(50 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + inputs(CHICKEN, 32) + fluidInputs(Methanol.getFluid(4000)) + fluidInputs(Chloroform.getFluid(4000)) + output(dust, Meat, 40) + outputs(DYE, 16, 15) + fluidOutputs(Fat.getFluid(3200)) + fluidOutputs(Mud.getFluid(12000)) + EUt(VH[HV]) + duration(50 * SECOND) + } - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .inputs(ItemStack(Items.RABBIT, 32)) - .fluidInputs(Methanol.getFluid(4000)) - .fluidInputs(Chloroform.getFluid(4000)) - .output(dust, Meat, 40) - .outputs(ItemStack(Items.DYE, 16, 15)) - .fluidOutputs(Fat.getFluid(3200)) - .fluidOutputs(Mud.getFluid(12000)) - .EUt(VH[HV]) - .duration(50 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + inputs(RABBIT, 32) + fluidInputs(Methanol.getFluid(4000)) + fluidInputs(Chloroform.getFluid(4000)) + output(dust, Meat, 40) + outputs(DYE, 16, 15) + fluidOutputs(Fat.getFluid(3200)) + fluidOutputs(Mud.getFluid(12000)) + EUt(VH[HV]) + duration(50 * SECOND) + } - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .inputs(ItemStack(Items.MUTTON, 32)) - .fluidInputs(Methanol.getFluid(4000)) - .fluidInputs(Chloroform.getFluid(4000)) - .output(dust, Meat, 40) - .outputs(ItemStack(Items.DYE, 16, 15)) - .fluidOutputs(Fat.getFluid(3200)) - .fluidOutputs(Mud.getFluid(12000)) - .EUt(VH[HV]) - .duration(50 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + inputs(MUTTON, 32) + fluidInputs(Methanol.getFluid(4000)) + fluidInputs(Chloroform.getFluid(4000)) + output(dust, Meat, 40) + outputs(DYE, 16, 15) + fluidOutputs(Fat.getFluid(3200)) + fluidOutputs(Mud.getFluid(12000)) + EUt(VH[HV]) + duration(50 * SECOND) + } // Get animal fat with bone. - AUTOCLAVE_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.DYE, 1, 15)) - .fluidInputs(Water.getFluid(250)) - .outputs(ANIMAL_FAT.stack()) - .output(dust, TricalciumPhosphate, 13) - .EUt(VA[LV]) - .duration(6 * SECOND) - .buildAndRegister() + AUTOCLAVE_RECIPES.addRecipe { + inputs(DYE, 1, 15) + fluidInputs(Water.getFluid(250)) + outputs(ANIMAL_FAT.stack()) + output(dust, TricalciumPhosphate, 13) + EUt(VA[LV]) + duration(6 * SECOND) + } - // Mud -> Biomass. - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Mud.getFluid(500)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(Biomass.getFluid(1000)) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + // Mud -> Biomass + MIXER_RECIPES.addRecipe { + fluidInputs(Mud.getFluid(500)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(Biomass.getFluid(1000)) + EUt(VA[LV]) + duration(4 * SECOND) + } - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Mud.getFluid(500)) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(Biomass.getFluid(1000)) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Mud.getFluid(500)) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(Biomass.getFluid(1000)) + EUt(VA[LV]) + duration(4 * SECOND) + } // Mud and Mud ball converts. - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BALL) - .fluidInputs(Mud.getFluid(100)) - .output(MUD_BALL) - .EUt(VA[LV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() - - EXTRACTOR_RECIPES.recipeBuilder() - .input(MUD_BALL) - .fluidOutputs(Mud.getFluid(100)) - .EUt(7) // ULV - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BALL) + fluidInputs(Mud.getFluid(100)) + output(MUD_BALL) + EUt(VA[LV]) + duration(4 * SECOND + 10 * TICK) + } + EXTRACTOR_RECIPES.addRecipe { + input(MUD_BALL) + fluidOutputs(Mud.getFluid(100)) + EUt(7) // ULV + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CoffeeProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CoffeeProcessing.kt index a6223599a..b6968d2ee 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CoffeeProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CoffeeProcessing.kt @@ -18,7 +18,9 @@ import gregtech.common.items.MetaItems.PLANT_BALL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.getStack +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES @@ -38,7 +40,7 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.LARGE_GREEN_CO import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.ROASTED_LARGE_COFFEE import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.ROASTED_SMALL_COFFEE import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.SMALL_GREEN_COFFEE -import net.minecraft.init.Items +import net.minecraft.init.Items.PAPER import net.minecraft.item.ItemStack internal object CoffeeProcessing @@ -49,133 +51,133 @@ internal object CoffeeProcessing fun init() { // Coffee cherry -> Coffee seed - ModHandler.addShapelessRecipe("coffee_seed", COFFEE_SEED.stackForm, - COFFEE_CHERRY.getStackForm(6)) - - MACERATOR_RECIPES.recipeBuilder() - .input(COFFEE_CHERRY) - .output(COFFEE_SEED, 6) - .chancedOutput(COFFEE_SEED, 2, 5000, 1500) - .chancedOutput(COFFEE_SEED, 7500, 2000) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + ModHandler.addShapelessRecipe("coffee_seed", + COFFEE_SEED.stack(), + COFFEE_CHERRY.getStack(6)) // Coffee cherry decomposition. + MACERATOR_RECIPES.addRecipe { + input(COFFEE_CHERRY) + output(COFFEE_SEED, 6) + chancedOutput(COFFEE_SEED, 2, 5000, 1500) + chancedOutput(COFFEE_SEED, 7500, 2000) + EUt(VA[LV]) + duration(2 * SECOND) + } + // Corn cob decomposition. - COMPRESSOR_RECIPES.recipeBuilder() - .inputs(COFFEE_CHERRY.getStackForm(8)) - .output(PLANT_BALL) - .EUt(2) // ULV - .duration(15 * SECOND) - .buildAndRegister() + COMPRESSOR_RECIPES.addRecipe { + inputs(COFFEE_CHERRY.getStack(8)) + output(PLANT_BALL) + EUt(2) // ULV + duration(15 * SECOND) + } // Coffee seed -> Large Green Coffee, Small Green Coffee - SIFTER_RECIPES.recipeBuilder() - .input(COFFEE_SEED, 32) - .outputs(LARGE_GREEN_COFFEE.getStack(8)) - .outputs(SMALL_GREEN_COFFEE.getStack(16)) - .chancedOutput(LARGE_GREEN_COFFEE.getStack(2), 4500, 1250) - .chancedOutput(SMALL_GREEN_COFFEE.getStack(6), 6500, 2500) - .EUt(VA[LV]) - .duration(25 * SECOND) - .buildAndRegister() + SIFTER_RECIPES.addRecipe { + input(COFFEE_SEED, 32) + outputs(LARGE_GREEN_COFFEE.getStack(8)) + outputs(SMALL_GREEN_COFFEE.getStack(16)) + chancedOutput(LARGE_GREEN_COFFEE.getStack(2), 4500, 1250) + chancedOutput(SMALL_GREEN_COFFEE.getStack(6), 6500, 2500) + EUt(VA[LV]) + duration(25 * SECOND) + } // Large/Small Green Coffee -> Fermented Large/Small Coffee - FERMENTING_RECIPES.recipeBuilder() - .inputs(LARGE_GREEN_COFFEE.stack()) - .fluidInputs(Water.getFluid(500)) - .outputs(FERMENTED_LARGE_COFFEE.stack()) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - FERMENTING_RECIPES.recipeBuilder() - .inputs(SMALL_GREEN_COFFEE.stack()) - .fluidInputs(Water.getFluid(250)) - .outputs(FERMENTED_SMALL_COFFEE.stack()) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + inputs(LARGE_GREEN_COFFEE.stack()) + fluidInputs(Water.getFluid(500)) + outputs(FERMENTED_LARGE_COFFEE.stack()) + EUt(VA[LV]) + duration(5 * SECOND) + } + + FERMENTING_RECIPES.addRecipe { + inputs(SMALL_GREEN_COFFEE.stack()) + fluidInputs(Water.getFluid(250)) + outputs(FERMENTED_SMALL_COFFEE.stack()) + EUt(VA[LV]) + duration(5 * SECOND) + } // Fermented Large/Small Coffee -> Dried Large/Small Coffee - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .inputs(FERMENTED_LARGE_COFFEE.getStack(8)) - .outputs(DRIED_LARGE_COFFEE.getStack(8)) - .fluidOutputs(Water.getFluid(4000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() - - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .inputs(FERMENTED_SMALL_COFFEE.getStack(16)) - .outputs(DRIED_SMALL_COFFEE.getStack(16)) - .fluidOutputs(Water.getFluid(4000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + inputs(FERMENTED_LARGE_COFFEE.getStack(8)) + outputs(DRIED_LARGE_COFFEE.getStack(8)) + fluidOutputs(Water.getFluid(4000)) + EUt(VA[LV]) + duration(15 * SECOND) + } + + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + inputs(FERMENTED_SMALL_COFFEE.getStack(16)) + outputs(DRIED_SMALL_COFFEE.getStack(16)) + fluidOutputs(Water.getFluid(4000)) + EUt(VA[LV]) + duration(15 * SECOND) + } // Dried Large/Small Coffee -> Roasted Large/Small Coffee - ROASTER_RECIPES.recipeBuilder() - .inputs(DRIED_LARGE_COFFEE.getStack(8)) - .outputs(ROASTED_LARGE_COFFEE.getStack(8)) - .EUt(VA[LV]) - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() - - ROASTER_RECIPES.recipeBuilder() - .inputs(DRIED_SMALL_COFFEE.getStack(16)) - .outputs(ROASTED_SMALL_COFFEE.getStack(16)) - .EUt(VA[LV]) - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + inputs(DRIED_LARGE_COFFEE.getStack(8)) + outputs(ROASTED_LARGE_COFFEE.getStack(8)) + EUt(VA[LV]) + duration(12 * SECOND + 10 * TICK) + } + + ROASTER_RECIPES.addRecipe { + inputs(DRIED_SMALL_COFFEE.getStack(16)) + outputs(ROASTED_SMALL_COFFEE.getStack(16)) + EUt(VA[LV]) + duration(12 * SECOND + 10 * TICK) + } // Roasted Large/Small Coffee -> Ground Coffee - MACERATOR_RECIPES.recipeBuilder() - .inputs(ROASTED_LARGE_COFFEE.stack()) - .outputs(GROUND_COFFEE.getStack(2)) - .EUt(7) // ULV - .duration(10 * TICK) - .buildAndRegister() - - MACERATOR_RECIPES.recipeBuilder() - .inputs(ROASTED_SMALL_COFFEE.stack()) - .outputs(GROUND_COFFEE.stack()) - .EUt(7) // ULV - .duration(10 * TICK) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + inputs(ROASTED_LARGE_COFFEE.stack()) + outputs(GROUND_COFFEE.getStack(2)) + EUt(7) // ULV + duration(10 * TICK) + } + + MACERATOR_RECIPES.addRecipe { + inputs(ROASTED_SMALL_COFFEE.stack()) + outputs(GROUND_COFFEE.stack()) + EUt(7) // ULV + duration(10 * TICK) + } // Paper Cone - ModHandler.addShapedRecipe(true, "paper_cone", PAPER_CONE.getStackForm(4), + ModHandler.addShapedRecipe(true, "paper_cone", PAPER_CONE.getStack(4), " ", "pPr", " k ", - 'P', ItemStack(Items.PAPER)) - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .inputs(ItemStack(Items.PAPER)) - .output(PAPER_CONE, 4) - .EUt(7) // ULV - .duration(5 * SECOND) - .buildAndRegister() - - BURNER_REACTOR_RECIPES.recipeBuilder() - .inputs(GROUND_COFFEE.stack()) - .input(PAPER_CONE) - .fluidInputs(DistilledWater.getFluid(1000)) - .output(dust, Paper) - .fluidOutputs(Coffee.getFluid(100)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - CANNER_RECIPES.recipeBuilder() - .input(CERAMIC_CUP) - .fluidInputs(Coffee.getFluid(100)) - .output(COFFEE_CUP) - .EUt(VH[LV]) - .duration(4 * SECOND) - .buildAndRegister() - + 'P', ItemStack(PAPER)) + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + inputs(PAPER) + output(PAPER_CONE, 4) + EUt(7) // ULV + duration(5 * SECOND) + } + + BURNER_REACTOR_RECIPES.addRecipe { + inputs(GROUND_COFFEE.stack()) + input(PAPER_CONE) + fluidInputs(DistilledWater.getFluid(1000)) + output(dust, Paper) + fluidOutputs(Coffee.getFluid(100)) + EUt(VA[LV]) + duration(5 * SECOND) + } + + CANNER_RECIPES.addRecipe { + input(CERAMIC_CUP) + fluidInputs(Coffee.getFluid(100)) + output(COFFEE_CUP) + EUt(VH[LV]) + duration(4 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CornProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CornProcessing.kt index 2a1e1047a..76d04611a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CornProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CornProcessing.kt @@ -14,6 +14,7 @@ import gregtech.common.items.MetaItems.PLANT_BALL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.getStack import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MULTICOOKER_RECIPES @@ -43,58 +44,58 @@ internal object CornProcessing 'A', CORN) // Corn -> Corn Cob + Corn Kernel - CENTRIFUGE_RECIPES.recipeBuilder() - .input(CORN) - .outputs(CORN_KERNEL.getStack(16)) - .outputs(CORN_COB.stack()) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(CORN) + outputs(CORN_KERNEL.getStack(16)) + outputs(CORN_COB.stack()) + EUt(VA[LV]) + duration(2 * SECOND) + } // Corn Kernel -> Bare Corn Kernel - ModHandler.addShapelessRecipe("bare_corn_kernel", BARE_CORN_KERNEL.stack(), + ModHandler.addShapelessRecipe("bare_corn_kernel", + BARE_CORN_KERNEL.stack(), CORN_KERNEL.stack()) - EXTRACTOR_RECIPES.recipeBuilder() - .inputs(CORN_KERNEL.stack()) - .outputs(BARE_CORN_KERNEL.stack()) - .EUt(7) // ULV - .duration(3 * SECOND) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + inputs(CORN_KERNEL.stack()) + outputs(BARE_CORN_KERNEL.stack()) + EUt(7) // ULV + duration(3 * SECOND) + } // Bare Corn Kernel decomposition. - EXTRACTOR_RECIPES.recipeBuilder() - .inputs(BARE_CORN_KERNEL.stack()) - .fluidOutputs(SeedOil.getFluid(8)) - .EUt(2) // ULV - .duration(1 * SECOND + 12 * TICK) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + inputs(BARE_CORN_KERNEL.stack()) + fluidOutputs(SeedOil.getFluid(8)) + EUt(2) // ULV + duration(1 * SECOND + 12 * TICK) + } // Corn cob decomposition. - COMPRESSOR_RECIPES.recipeBuilder() - .inputs(CORN_COB.getStack(8)) - .output(PLANT_BALL) - .EUt(2) // ULV - .duration(15 * SECOND) - .buildAndRegister() + COMPRESSOR_RECIPES.addRecipe { + inputs(CORN_COB.getStack(8)) + output(PLANT_BALL) + EUt(2) // ULV + duration(15 * SECOND) + } // Bare Corn Kernel + H2O -> Polenta - MULTICOOKER_RECIPES.recipeBuilder() - .inputs(BARE_CORN_KERNEL.getStack(8)) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(Polenta.getFluid(250)) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() - - CANNER_RECIPES.recipeBuilder() - .input(CERAMIC_BOWL) - .fluidInputs(Polenta.getFluid(250)) - .output(POLENTA) - .EUt(VH[LV]) - .duration(4 * SECOND) - .buildAndRegister() + MULTICOOKER_RECIPES.addRecipe { + inputs(BARE_CORN_KERNEL.getStack(8)) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(Polenta.getFluid(250)) + EUt(VA[LV]) + duration(2 * SECOND) + } + CANNER_RECIPES.addRecipe { + input(CERAMIC_BOWL) + fluidInputs(Polenta.getFluid(250)) + output(POLENTA) + EUt(VH[LV]) + duration(4 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CreosoteProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CreosoteProcessing.kt index 9f21cf52f..feedc1d31 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CreosoteProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/CreosoteProcessing.kt @@ -4,7 +4,6 @@ import gregtech.api.GTValues.HV import gregtech.api.GTValues.IV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.DISTILLATION_RECIPES @@ -22,6 +21,8 @@ import gregtech.api.unification.ore.OrePrefix.dustTiny import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bitumen import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Creosol import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Guaiacol @@ -38,54 +39,53 @@ internal object CreosoteProcessing fun init() { // Redo creosote distillations. - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, Creosote.getFluid(24)) + DISTILLATION_RECIPES.removeRecipe(Creosote.getFluid(24)) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Creosote.getFluid(24))) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(Creosote.getFluid(1000)) - .chancedOutput(dustTiny, Bitumen, 1500, 0) - .fluidOutputs(Xylenol.getFluid(600)) // C8H10O - .fluidOutputs(Creosol.getFluid(400)) // C7H8O - .fluidOutputs(Phenol.getFluid(200)) // C6H6O - .fluidOutputs(Methoxycreosol.getFluid(350)) // C8H10O2 - .fluidOutputs(Guaiacol.getFluid(150)) // C7H8O2 - .fluidOutputs(Lubricant.getFluid(100)) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(Creosote.getFluid(1000)) + chancedOutput(dustTiny, Bitumen, 1500, 0) + fluidOutputs(Xylenol.getFluid(600)) // C8H10O + fluidOutputs(Creosol.getFluid(400)) // C7H8O + fluidOutputs(Phenol.getFluid(200)) // C6H6O + fluidOutputs(Methoxycreosol.getFluid(350)) // C8H10O2 + fluidOutputs(Guaiacol.getFluid(150)) // C7H8O2 + fluidOutputs(Lubricant.getFluid(100)) + EUt(VA[MV]) + duration(4 * SECOND) + } // C8H10O + C7H8O2 -> C15H16O2 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Xylenol.getFluid(1000)) - .fluidInputs(Guaiacol.getFluid(1000)) - .fluidOutputs(BisphenolA.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(16 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Xylenol.getFluid(1000)) + fluidInputs(Guaiacol.getFluid(1000)) + fluidOutputs(BisphenolA.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(16 * SECOND) + } // C7H8O + C2H6 + 3CO -> 2C6H6O2 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Creosol.getFluid(1000)) - .fluidInputs(Ethane.getFluid(1000)) - .fluidOutputs(Resorcinol.getFluid(2000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[IV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Creosol.getFluid(1000)) + fluidInputs(Ethane.getFluid(1000)) + fluidOutputs(Resorcinol.getFluid(2000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[IV]) + duration(2 * SECOND + 5 * TICK) + } // C8H10O2 -> C6H4(OH)2 + C2H4 - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(Methoxycreosol.getFluid(1000)) - .fluidOutputs(Hydroquinone.getFluid(1000)) - .fluidOutputs(Ethylene.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() - + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(Methoxycreosol.getFluid(1000)) + fluidOutputs(Hydroquinone.getFluid(1000)) + fluidOutputs(Ethylene.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/EtirpsProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/EtirpsProcessing.kt index 929729de4..827b11b99 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/EtirpsProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/EtirpsProcessing.kt @@ -12,6 +12,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CranberryEtirps import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CranberryExtract import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CranberrySodaSyrup @@ -33,75 +34,75 @@ internal object EtirpsProcessing fun init() { // Sparkling Water - CANNER_RECIPES.recipeBuilder() - .input(PLASTIC_BOTTLE) - .fluidInputs(SodiumCarbonateSolution.getFluid(250)) - .output(SPARKLING_WATER) - .EUt(4) // ULV - .duration(10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(PLASTIC_BOTTLE) + fluidInputs(SodiumCarbonateSolution.getFluid(250)) + output(SPARKLING_WATER) + EUt(4) // ULV + duration(10 * TICK) + } // Lemon-Lime Soda Syrup - MIXER_RECIPES.recipeBuilder() - .input(dust, Sugar, 9) - .fluidInputs(LemonLimeMixture.getFluid(500)) - .fluidInputs(SodiumCarbonateSolution.getFluid(1000)) - .fluidOutputs(LemonLimeSodaSyrup.getFluid(2000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + input(dust, Sugar, 9) + fluidInputs(LemonLimeMixture.getFluid(500)) + fluidInputs(SodiumCarbonateSolution.getFluid(1000)) + fluidOutputs(LemonLimeSodaSyrup.getFluid(2000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // Etirpsâ„¢ - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(LemonLimeSodaSyrup.getFluid(100)) - .fluidOutputs(Etirps.getFluid(100)) - .EUt(VA[LV]) - .duration(15 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(LemonLimeSodaSyrup.getFluid(100)) + fluidOutputs(Etirps.getFluid(100)) + EUt(VA[LV]) + duration(15 * TICK) + } - CANNER_RECIPES.recipeBuilder() - .input(PLASTIC_BOTTLE) - .fluidInputs(Etirps.getFluid(250)) - .output(ETIRPS) - .EUt(4) // ULV - .duration(10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(PLASTIC_BOTTLE) + fluidInputs(Etirps.getFluid(250)) + output(ETIRPS) + EUt(4) // ULV + duration(10 * TICK) + } // Cranberry Extract - EXTRACTOR_RECIPES.recipeBuilder() - .input(CRANBERRY) - .fluidOutputs(CranberryExtract.getFluid(25)) - .EUt(5) // ULV - .duration(5 * SECOND) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + input(CRANBERRY) + fluidOutputs(CranberryExtract.getFluid(25)) + EUt(5) // ULV + duration(5 * SECOND) + } // Cranberry Soda Syrup - MIXER_RECIPES.recipeBuilder() - .input(dust, Sugar, 9) - .fluidInputs(CranberryExtract.getFluid(500)) - .fluidInputs(SodiumCarbonateSolution.getFluid(1000)) - .fluidOutputs(CranberrySodaSyrup.getFluid(2000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + input(dust, Sugar, 9) + fluidInputs(CranberryExtract.getFluid(500)) + fluidInputs(SodiumCarbonateSolution.getFluid(1000)) + fluidOutputs(CranberrySodaSyrup.getFluid(2000)) + EUt(VA[MV]) + duration(10 * SECOND) + } - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(CranberrySodaSyrup.getFluid(100)) - .fluidOutputs(CranberryEtirps.getFluid(100)) - .EUt(VA[LV]) - .duration(15 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(CranberrySodaSyrup.getFluid(100)) + fluidOutputs(CranberryEtirps.getFluid(100)) + EUt(VA[LV]) + duration(15 * TICK) + } // Cranberry Etirpsâ„¢ - CANNER_RECIPES.recipeBuilder() - .input(PLASTIC_BOTTLE) - .fluidInputs(CranberryEtirps.getFluid(250)) - .output(CRANBERRY_ETIRPS) - .EUt(4) // ULV - .duration(10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(PLASTIC_BOTTLE) + fluidInputs(CranberryEtirps.getFluid(250)) + output(CRANBERRY_ETIRPS) + EUt(4) // ULV + duration(10 * TICK) + } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/GoldenFruitsProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/GoldenFruitsProcessing.kt index e9b494ea2..1bc6c74c1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/GoldenFruitsProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/GoldenFruitsProcessing.kt @@ -29,6 +29,9 @@ import gregtech.api.unification.ore.OrePrefix.springSmall import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.SU import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.STELLAR_FORGE_RECIPES @@ -48,7 +51,10 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.RAINBOW_BERRY import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.SILVER_APPLE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.SILVER_STRAWBERRY import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.STRAWBERRY -import net.minecraft.init.Items +import net.minecraft.init.Items.APPLE +import net.minecraft.init.Items.CARROT +import net.minecraft.init.Items.GOLDEN_APPLE +import net.minecraft.init.Items.GOLDEN_CARROT import net.minecraft.item.ItemStack internal object GoldenFruitsProcessing @@ -59,142 +65,142 @@ internal object GoldenFruitsProcessing fun init() { // Au + (HNO3)(HCl)2 + 2HCl -> HAuCl4 + NO + 2H2O - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Gold) - .fluidInputs(AquaRegia.getFluid(1000)) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .fluidOutputs(ChloroauricAcid.getFluid(1000)) - .fluidOutputs(NitricOxide.getFluid(1000)) - .fluidOutputs(Steam.getFluid(2 * SU)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Gold) + fluidInputs(AquaRegia.getFluid(1000)) + fluidInputs(HydrochloricAcid.getFluid(2000)) + fluidOutputs(ChloroauricAcid.getFluid(1000)) + fluidOutputs(NitricOxide.getFluid(1000)) + fluidOutputs(Steam.getFluid(2 * SU)) + EUt(VA[LV]) + duration(10 * SECOND) + } // Golden Carrot - ModHandler.removeRecipeByOutput(ItemStack(Items.GOLDEN_CARROT)) + ModHandler.removeRecipeByOutput(ItemStack(GOLDEN_CARROT)) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(ItemStack(Items.CARROT), - OreDictUnifier.get(nugget, Gold, 8))) + arrayOf(ItemStack(CARROT), + OreDictUnifier.get(nugget, Gold, 8))) - CHEMICAL_BATH_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.CARROT)) - .fluidInputs(ChloroauricAcid.getFluid(250)) - .outputs(ItemStack(Items.GOLDEN_CARROT)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + inputs(CARROT) + fluidInputs(ChloroauricAcid.getFluid(250)) + outputs(GOLDEN_CARROT) + EUt(VA[LV]) + duration(5 * SECOND) + } // Silver Apple - CHEMICAL_BATH_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.APPLE)) - .fluidInputs(Silver.getFluid(L)) - .output(SILVER_APPLE) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + inputs(APPLE) + fluidInputs(Silver.getFluid(L)) + output(SILVER_APPLE) + EUt(VA[LV]) + duration(5 * SECOND) + } // Golden Apple - ModHandler.removeRecipeByOutput(ItemStack(Items.GOLDEN_APPLE, 1, 0)) + ModHandler.removeRecipeByOutput(ItemStack(GOLDEN_APPLE, 1, 0)) GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(ItemStack(Items.APPLE), - OreDictUnifier.get(ingot, Gold, 8))) + arrayOf(ItemStack(APPLE), + OreDictUnifier.get(ingot, Gold, 8))) - CHEMICAL_BATH_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.APPLE)) - .fluidInputs(ChloroauricAcid.getFluid(1000)) - .outputs(ItemStack(Items.GOLDEN_APPLE, 1, 0)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + inputs(APPLE) + fluidInputs(ChloroauricAcid.getFluid(1000)) + outputs(GOLDEN_APPLE) + EUt(VA[MV]) + duration(5 * SECOND) + } // Enchanted Golden Apple GTLiteRecipeHandler.removeChemicalRecipes( - arrayOf(ItemStack(Items.APPLE), - OreDictUnifier.get(block, Gold, 8))) + arrayOf(ItemStack(APPLE), + OreDictUnifier.get(block, Gold, 8))) - POLARIZER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.GOLDEN_APPLE, 1, 0)) - .fluidInputs(ChloroauricAcid.getFluid(4000)) - .outputs(ItemStack(Items.GOLDEN_APPLE, 1, 1)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + POLARIZER_RECIPES.addRecipe { + inputs(GOLDEN_APPLE) + fluidInputs(ChloroauricAcid.getFluid(4000)) + outputs(GOLDEN_APPLE, meta = 1) + EUt(VA[HV]) + duration(5 * SECOND) + } // Silver Strawberry - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(STRAWBERRY) - .fluidInputs(Silver.getFluid(L)) - .output(SILVER_STRAWBERRY) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(STRAWBERRY) + fluidInputs(Silver.getFluid(L)) + output(SILVER_STRAWBERRY) + EUt(VA[EV]) + duration(5 * SECOND) + } // Golden Strawberry - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(STRAWBERRY) - .fluidInputs(ChloroauricAcid.getFluid(16000)) - .output(GOLDEN_STRAWBERRY) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(STRAWBERRY) + fluidInputs(ChloroauricAcid.getFluid(16000)) + output(GOLDEN_STRAWBERRY) + EUt(VA[IV]) + duration(5 * SECOND) + } // Rainbow Berry - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(GOLDEN_STRAWBERRY) - .input(springSmall, Infinity, 2) - .fluidInputs(TitanSteel.getFluid(L)) - .fluidInputs(LithiumNiobate.getFluid(L)) - .fluidInputs(HastelloyX78.getFluid(L)) - .fluidInputs(IncoloyMA813.getFluid(L)) - .fluidInputs(ActiniumGroupAlloyB.getFluid(L)) - .fluidInputs(Pikyonium64B.getFluid(L)) - .fluidInputs(AlkaliEarthGroupAlloy.getFluid(L)) - .output(RAINBOW_BERRY) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(GOLDEN_STRAWBERRY, 16) - .input(springSmall, Infinity, 32) - .fluidInputs(TitanSteel.getFluid(L * 16)) - .fluidInputs(LithiumNiobate.getFluid(L * 16)) - .fluidInputs(HastelloyX78.getFluid(L * 16)) - .fluidInputs(IncoloyMA813.getFluid(L * 16)) - .fluidInputs(ActiniumGroupAlloyB.getFluid(L * 16)) - .fluidInputs(Pikyonium64B.getFluid(L * 16)) - .fluidInputs(AlkaliEarthGroupAlloy.getFluid(L * 16)) - .output(RAINBOW_BERRY, 16) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .buildAndRegister() - - STELLAR_FORGE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(GOLDEN_STRAWBERRY, 64) - .input(springSmall, Infinity, 64) - .fluidInputs(TitanSteel.getFluid(L * 64)) - .fluidInputs(LithiumNiobate.getFluid(L * 64)) - .fluidInputs(HastelloyX78.getFluid(L * 64)) - .fluidInputs(IncoloyMA813.getFluid(L * 64)) - .fluidInputs(ActiniumGroupAlloyB.getFluid(L * 64)) - .fluidInputs(Pikyonium64B.getFluid(L * 64)) - .fluidInputs(AlkaliEarthGroupAlloy.getFluid(L * 64)) - .output(RAINBOW_BERRY, 64) - .EUt(VA[UXV]) - .duration(1 * SECOND) - .buildAndRegister() + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(1) + input(GOLDEN_STRAWBERRY) + input(springSmall, Infinity, 2) + fluidInputs(TitanSteel.getFluid(L)) + fluidInputs(LithiumNiobate.getFluid(L)) + fluidInputs(HastelloyX78.getFluid(L)) + fluidInputs(IncoloyMA813.getFluid(L)) + fluidInputs(ActiniumGroupAlloyB.getFluid(L)) + fluidInputs(Pikyonium64B.getFluid(L)) + fluidInputs(AlkaliEarthGroupAlloy.getFluid(L)) + output(RAINBOW_BERRY) + EUt(VA[UEV]) + duration(10 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(2) + input(GOLDEN_STRAWBERRY, 16) + input(springSmall, Infinity, 32) + fluidInputs(TitanSteel.getFluid(L * 16)) + fluidInputs(LithiumNiobate.getFluid(L * 16)) + fluidInputs(HastelloyX78.getFluid(L * 16)) + fluidInputs(IncoloyMA813.getFluid(L * 16)) + fluidInputs(ActiniumGroupAlloyB.getFluid(L * 16)) + fluidInputs(Pikyonium64B.getFluid(L * 16)) + fluidInputs(AlkaliEarthGroupAlloy.getFluid(L * 16)) + output(RAINBOW_BERRY, 16) + EUt(VA[UIV]) + duration(5 * SECOND) + } + + STELLAR_FORGE_RECIPES.addRecipe { + circuitMeta(3) + input(GOLDEN_STRAWBERRY, 64) + input(springSmall, Infinity, 64) + fluidInputs(TitanSteel.getFluid(L * 64)) + fluidInputs(LithiumNiobate.getFluid(L * 64)) + fluidInputs(HastelloyX78.getFluid(L * 64)) + fluidInputs(IncoloyMA813.getFluid(L * 64)) + fluidInputs(ActiniumGroupAlloyB.getFluid(L * 64)) + fluidInputs(Pikyonium64B.getFluid(L * 64)) + fluidInputs(AlkaliEarthGroupAlloy.getFluid(L * 64)) + output(RAINBOW_BERRY, 64) + EUt(VA[UXV]) + duration(1 * SECOND) + } // Moon Berry - AUTOCLAVE_RECIPES.recipeBuilder() - .input(RAINBOW_BERRY) - .fluidInputs(Eternity.getFluid(L)) - .output(MOON_BERRY) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + AUTOCLAVE_RECIPES.addRecipe { + input(RAINBOW_BERRY) + fluidInputs(Eternity.getFluid(L)) + output(MOON_BERRY) + EUt(VA[UXV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/GrahamCrackersProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/GrahamCrackersProcessing.kt index be401b547..f458271cf 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/GrahamCrackersProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/GrahamCrackersProcessing.kt @@ -12,6 +12,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.ore.OrePrefix.dustSmall import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.getStack import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MULTICOOKER_RECIPES @@ -31,33 +32,35 @@ internal object GrahamCrackersProcessing fun init() { // Graham Cracker Dough - MULTICOOKER_RECIPES.recipeBuilder() - .input(dust, Sugar) - .input(dust, Wheat, 3) - .input(dustSmall, SodiumBicarbonate) - .fluidInputs(Butter.getFluid(2000)) - .fluidInputs(Milk.getFluid(500)) - .outputs(GRAHAM_CRACKER_DOUGH.getStack(6)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + MULTICOOKER_RECIPES.addRecipe { + input(dust, Sugar) + input(dust, Wheat, 3) + input(dustSmall, SodiumBicarbonate) + fluidInputs(Butter.getFluid(2000)) + fluidInputs(Milk.getFluid(500)) + outputs(GRAHAM_CRACKER_DOUGH.getStack(6)) + EUt(VA[MV]) + duration(10 * SECOND) + } // Graham Cracker Dough -> Graham Cracker Chunk - ModHandler.addSmeltingRecipe(GRAHAM_CRACKER_DOUGH.stack(), + ModHandler.addSmeltingRecipe( + GRAHAM_CRACKER_DOUGH.stack(), GRAHAM_CRACKER_CHUNK.stack()) // Graham Cracker Chunk -> Graham Cracker Slice - SLICER_RECIPES.recipeBuilder() - .notConsumable(SLICER_BLADE_FLAT) - .inputs(GRAHAM_CRACKER_CHUNK.stack()) - .outputs(GRAHAM_CRACKER_SLICE.getStack(9)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + SLICER_RECIPES.addRecipe { + notConsumable(SLICER_BLADE_FLAT) + inputs(GRAHAM_CRACKER_CHUNK.stack()) + outputs(GRAHAM_CRACKER_SLICE.getStack(9)) + EUt(VA[LV]) + duration(5 * SECOND) + } // Graham Cracker Slice -> Graham Cracker - ModHandler.addSmeltingRecipe(GRAHAM_CRACKER_SLICE.stack(), GRAHAM_CRACKER.stackForm) - + ModHandler.addSmeltingRecipe( + GRAHAM_CRACKER_SLICE.stack(), + GRAHAM_CRACKER.stack()) } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/MilkProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/MilkProcessing.kt index c88c3fec6..e19343ff9 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/MilkProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/MilkProcessing.kt @@ -6,6 +6,7 @@ import gregtech.api.recipes.RecipeMaps.FERMENTING_RECIPES import gregtech.api.unification.material.Materials.Milk import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Butter internal object MilkProcessing @@ -16,12 +17,12 @@ internal object MilkProcessing fun init() { // Milk -> Butter - FERMENTING_RECIPES.recipeBuilder() - .fluidInputs(Milk.getFluid(100)) - .fluidOutputs(Butter.getFluid(90)) - .EUt(VH[LV]) - .duration(1 * MINUTE) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + fluidInputs(Milk.getFluid(100)) + fluidOutputs(Butter.getFluid(90)) + EUt(VH[LV]) + duration(1 * MINUTE) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/OrangesProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/OrangesProcessing.kt index 464c11885..a39f86205 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/OrangesProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/OrangesProcessing.kt @@ -11,6 +11,8 @@ import gregtech.api.recipes.RecipeMaps.MIXER_RECIPES import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CitricAcid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LemonExtract @@ -22,8 +24,7 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.LIME import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ORANGE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ORANGE_JUICE import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.ZEST_DUST -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.GLASS_BOTTLE internal object OrangesProcessing { @@ -37,64 +38,63 @@ internal object OrangesProcessing "mA ", 'A', LEMON) - EXTRACTOR_RECIPES.recipeBuilder() - .input(LEMON) - .outputs(ZEST_DUST.stack()) - .fluidOutputs(LemonExtract.getFluid(100)) - .EUt(5) // ULV - .duration(5 * SECOND) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + input(LEMON) + outputs(ZEST_DUST.stack()) + fluidOutputs(LemonExtract.getFluid(100)) + EUt(5) // ULV + duration(5 * SECOND) + } ModHandler.addShapedRecipe(false, "zest_dust_lime", ZEST_DUST.stack(), "mA ", 'A', LIME) - EXTRACTOR_RECIPES.recipeBuilder() - .input(LIME) - .outputs(ZEST_DUST.stack()) - .fluidOutputs(LimeExtract.getFluid(100)) - .EUt(5) // ULV - .duration(5 * SECOND) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + input(LIME) + outputs(ZEST_DUST.stack()) + fluidOutputs(LimeExtract.getFluid(100)) + EUt(5) // ULV + duration(5 * SECOND) + } ModHandler.addShapedRecipe(false, "zest_dust_orange", ZEST_DUST.stack(), "mA ", 'A', ORANGE) - EXTRACTOR_RECIPES.recipeBuilder() - .input(ORANGE) - .outputs(ZEST_DUST.stack()) - .fluidOutputs(OrangeExtract.getFluid(100)) - .EUt(5) // ULV - .duration(5 * SECOND) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + input(ORANGE) + outputs(ZEST_DUST.stack()) + fluidOutputs(OrangeExtract.getFluid(100)) + EUt(5) // ULV + duration(5 * SECOND) + } // Orange Juice - CANNER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.GLASS_BOTTLE)) - .fluidInputs(OrangeExtract.getFluid(250)) - .output(ORANGE_JUICE) - .EUt(4) // ULV - .duration(10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + inputs(GLASS_BOTTLE) + fluidInputs(OrangeExtract.getFluid(250)) + output(ORANGE_JUICE) + EUt(4) // ULV + duration(10 * TICK) + } // Lemon Extract -> Citric Acid - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(LemonExtract.getFluid(1000)) - .fluidOutputs(CitricAcid.getFluid(100)) - .EUt(VA[MV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(LemonExtract.getFluid(1000)) + fluidOutputs(CitricAcid.getFluid(100)) + EUt(VA[MV]) + duration(4 * SECOND + 10 * TICK) + } // Lemon Extract + Lime Extract -> Lemon-Lime Mixture - MIXER_RECIPES.recipeBuilder() - .fluidInputs(LemonExtract.getFluid(500)) - .fluidInputs(LimeExtract.getFluid(500)) - .fluidOutputs(LemonLimeMixture.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - + MIXER_RECIPES.addRecipe { + fluidInputs(LemonExtract.getFluid(500)) + fluidInputs(LimeExtract.getFluid(500)) + fluidOutputs(LemonLimeMixture.getFluid(1000)) + EUt(VA[LV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/PurpleDrinkProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/PurpleDrinkProcessing.kt index f9aa27f7b..8a807ab0f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/PurpleDrinkProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/PurpleDrinkProcessing.kt @@ -25,7 +25,9 @@ import gregtech.common.items.MetaItems.BOTTLE_PURPLE_DRINK import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.getStack +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -40,9 +42,8 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Promethazine import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PurpleDrink import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.HARD_APPLE_CANDY_DUST import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.POPPY_DUST -import net.minecraft.init.Blocks -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Blocks.RED_FLOWER +import net.minecraft.init.Items.GLASS_BOTTLE internal object PurpleDrinkProcessing { @@ -52,102 +53,101 @@ internal object PurpleDrinkProcessing fun init() { // C6H5NH2 + H2S + 6O -> C12H9NS + 6CO - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(Aniline.getFluid(1000)) - .fluidInputs(HydrogenSulfide.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(6000)) - .output(dust, Phenothiazine, 23) - .fluidOutputs(CarbonMonoxide.getFluid(6000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(Aniline.getFluid(1000)) + fluidInputs(HydrogenSulfide.getFluid(1000)) + fluidInputs(Oxygen.getFluid(6000)) + output(dust, Phenothiazine, 23) + fluidOutputs(CarbonMonoxide.getFluid(6000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // C3H6 + HCl -> (CH3)2CHCl - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Propene.getFluid(1000)) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .fluidOutputs(IsopropylChloride.getFluid(1000)) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Propene.getFluid(1000)) + fluidInputs(HydrochloricAcid.getFluid(1000)) + fluidOutputs(IsopropylChloride.getFluid(1000)) + EUt(VA[LV]) + duration(8 * SECOND) + } // C12H9NS + (CH3)2CHCl -> C15H14NSCl + 2H - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, Phenothiazine, 23) - .fluidInputs(IsopropylChloride.getFluid(1000)) - .fluidOutputs(PhenothiazinePropylChloride.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VH[HV]) - .duration(6 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, Phenothiazine, 23) + fluidInputs(IsopropylChloride.getFluid(1000)) + fluidOutputs(PhenothiazinePropylChloride.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VH[HV]) + duration(6 * SECOND) + } // C15H14HSCl + C2H7N -> C17H20N2S + HCl - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, Copper) - .fluidInputs(PhenothiazinePropylChloride.getFluid(1000)) - .fluidInputs(Dimethylamine.getFluid(1000)) - .output(dust, Promethazine, 40) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, Copper) + fluidInputs(PhenothiazinePropylChloride.getFluid(1000)) + fluidInputs(Dimethylamine.getFluid(1000)) + output(dust, Promethazine, 40) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(12 * SECOND) + } // Poppy dust. - MACERATOR_RECIPES.recipeBuilder() - .inputs(ItemStack(Blocks.RED_FLOWER)) - .outputs(POPPY_DUST.stack()) - .EUt(4) // ULV - .duration(1 * SECOND) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + inputs(RED_FLOWER) + outputs(POPPY_DUST.stack()) + EUt(4) // ULV + duration(1 * SECOND) + } // Poppy dust -> C18H21NO3 - EXTRACTOR_RECIPES.recipeBuilder() - .inputs(POPPY_DUST.getStack(64)) - .output(dust, Codeine, 43) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + EXTRACTOR_RECIPES.addRecipe { + inputs(POPPY_DUST.getStack(64)) + output(dust, Codeine, 43) + EUt(VA[HV]) + duration(10 * SECOND) + } // C17H20N2S + C18H21NO3 + H2O -> (C17H20N2S)(C18H21NO3)(H2O) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Promethazine, 40) - .input(dust, Codeine, 43) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(CoughSyrup.getFluid(1000)) - .EUt(VA[MV]) - .duration(3 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Promethazine, 40) - .input(dust, Codeine, 43) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(CoughSyrup.getFluid(1000)) - .EUt(VA[MV]) - .duration(3 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Promethazine, 40) + input(dust, Codeine, 43) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(CoughSyrup.getFluid(1000)) + EUt(VA[MV]) + duration(3 * SECOND) + } + + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Promethazine, 40) + input(dust, Codeine, 43) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(CoughSyrup.getFluid(1000)) + EUt(VA[MV]) + duration(3 * SECOND) + } // Purple Drink - MIXER_RECIPES.recipeBuilder() - .inputs(HARD_APPLE_CANDY_DUST.stack()) - .fluidInputs(CoughSyrup.getFluid(500)) - .fluidInputs(Etirps.getFluid(1000)) - .fluidOutputs(PurpleDrink.getFluid(1000)) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() - - CANNER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.GLASS_BOTTLE)) - .fluidInputs(PurpleDrink.getFluid(250)) - .output(BOTTLE_PURPLE_DRINK) - .EUt(4) // ULV - .duration(10 * TICK) - .buildAndRegister() - + MIXER_RECIPES.addRecipe { + inputs(HARD_APPLE_CANDY_DUST.stack()) + fluidInputs(CoughSyrup.getFluid(500)) + fluidInputs(Etirps.getFluid(1000)) + fluidOutputs(PurpleDrink.getFluid(1000)) + EUt(VA[HV]) + duration(2 * SECOND) + } + + CANNER_RECIPES.addRecipe { + inputs(GLASS_BOTTLE) + fluidInputs(PurpleDrink.getFluid(250)) + output(BOTTLE_PURPLE_DRINK) + EUt(4) // ULV + duration(10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/SugarProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/SugarProcessing.kt index 6e297e51c..805e2a15b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/SugarProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/SugarProcessing.kt @@ -21,7 +21,9 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_PLATE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.getStack +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.SLICER_RECIPES @@ -40,8 +42,8 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.APPLE_PULP import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.HARD_APPLE_CANDY_CHUNK import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.HARD_APPLE_CANDY_DUST import gregtechlite.gtlitecore.common.item.GTLiteMetaOreDictItems.HARD_APPLE_CANDY_PLATE -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.APPLE +import net.minecraft.init.Items.REEDS internal object SugarProcessing { @@ -51,141 +53,142 @@ internal object SugarProcessing fun init() { // Sugar (C2(H2O)5O25) -> Glucose (C6H12O6) + Fructose (C6H12O6) - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Sugar, 48) - .fluidInputs(Water.getFluid(1000)) - .output(dust, Glucose, 24) - .output(dust, Fructose, 24) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Sugar, 48) + fluidInputs(Water.getFluid(1000)) + output(dust, Glucose, 24) + output(dust, Fructose, 24) + EUt(VA[HV]) + duration(15 * SECOND) + } // C6H12O6 + 9O -> 3C2H2O4 + 3H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Glucose, 24) - .fluidInputs(Oxygen.getFluid(9000)) - .fluidOutputs(OxalicAcid.getFluid(3000)) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Glucose, 24) + fluidInputs(Oxygen.getFluid(9000)) + fluidOutputs(OxalicAcid.getFluid(3000)) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // C6H12O6 + 3O -> C6H10O8 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Glucose, 24) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, SacchariaAcid, 24) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Glucose, 24) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, SacchariaAcid, 24) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // C6H12O6 + H2O -> C6H14O2 + 5O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Fructose, 24) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(Hexanediol.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(5000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Fructose, 24) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(Hexanediol.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(5000)) + EUt(VA[HV]) + duration(5 * SECOND) + } - // Apple sugar chain. + // region Apple Sugar Processing // Apple -> Apple Pulp - MACERATOR_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.APPLE)) - .outputs(APPLE_PULP.getStack(2)) - .chancedOutput(APPLE_PULP.stack(), 3000, 0) - .chancedOutput(APPLE_PULP.stack(), 1500, 0) - .EUt(4) // ULV - .duration(4 * SECOND) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + inputs(APPLE) + outputs(APPLE_PULP.getStack(2)) + chancedOutput(APPLE_PULP.stack(), 3000, 0) + chancedOutput(APPLE_PULP.stack(), 1500, 0) + EUt(4) // ULV + duration(4 * SECOND) + } // Apple Pulp -> Apple Syrup - MIXER_RECIPES.recipeBuilder() - .inputs(APPLE_PULP.getStack(4)) - .input(dust, Sugar, 9) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(AppleSyrup.getFluid(2000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .inputs(APPLE_PULP.getStack(4)) - .input(dust, Sugar, 9) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(AppleSyrup.getFluid(2000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + inputs(APPLE_PULP.getStack(4)) + input(dust, Sugar, 9) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(AppleSyrup.getFluid(2000)) + EUt(VA[MV]) + duration(10 * SECOND) + } + + MIXER_RECIPES.addRecipe { + inputs(APPLE_PULP.getStack(4)) + input(dust, Sugar, 9) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(AppleSyrup.getFluid(2000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // Cane Syrup - FERMENTING_RECIPES.recipeBuilder() - .circuitMeta(1) - .inputs(ItemStack(Items.REEDS)) - .fluidInputs(Water.getFluid(250)) - .fluidOutputs(CaneSyrup.getFluid(100)) - .EUt(VA[LV]) - .duration(8 * SECOND) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + circuitMeta(1) + inputs(REEDS) + fluidInputs(Water.getFluid(250)) + fluidOutputs(CaneSyrup.getFluid(100)) + EUt(VA[LV]) + duration(8 * SECOND) + } // Apple-Cane Syrup - MIXER_RECIPES.recipeBuilder() - .fluidInputs(AppleSyrup.getFluid(500)) - .fluidInputs(CaneSyrup.getFluid(500)) - .fluidOutputs(AppleCaneSyrup.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(AppleSyrup.getFluid(500)) + fluidInputs(CaneSyrup.getFluid(500)) + fluidOutputs(AppleCaneSyrup.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // Apple-Cane Syrup -> Hard Apple Candy Syrup - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(AppleCaneSyrup.getFluid(200)) - .fluidOutputs(HardAppleCandySyrup.getFluid(100)) - .EUt(VA[LV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(AppleCaneSyrup.getFluid(200)) + fluidOutputs(HardAppleCandySyrup.getFluid(100)) + EUt(VA[LV]) + duration(4 * SECOND + 10 * TICK) + } // Hard Apple Candy Syrup -> Hard Apple Candy Chunk - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_PLATE) - .fluidInputs(HardAppleCandySyrup.getFluid(1000)) - .outputs(HARD_APPLE_CANDY_CHUNK.stack()) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_PLATE) + fluidInputs(HardAppleCandySyrup.getFluid(1000)) + outputs(HARD_APPLE_CANDY_CHUNK.stack()) + EUt(VA[MV]) + duration(10 * SECOND) + } // Hard Apple Candy Chunk -> Hard Apple Candy Plate - SLICER_RECIPES.recipeBuilder() - .notConsumable(SLICER_BLADE_FLAT) - .inputs(HARD_APPLE_CANDY_CHUNK.stack()) - .outputs(HARD_APPLE_CANDY_PLATE.getStack(9)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + SLICER_RECIPES.addRecipe { + notConsumable(SLICER_BLADE_FLAT) + inputs(HARD_APPLE_CANDY_CHUNK.stack()) + outputs(HARD_APPLE_CANDY_PLATE.getStack(9)) + EUt(VA[LV]) + duration(10 * SECOND) + } // Hard Apple Candy Plate -> Hard Apple Candy - ROASTER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BALL) - .inputs(HARD_APPLE_CANDY_PLATE.stack()) - .output(HARD_APPLE_CANDY) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BALL) + inputs(HARD_APPLE_CANDY_PLATE.stack()) + output(HARD_APPLE_CANDY) + EUt(VA[MV]) + duration(10 * SECOND) + } // Hard Apple Candy -> Hard Apple Candy Dust - MACERATOR_RECIPES.recipeBuilder() - .input(HARD_APPLE_CANDY) - .outputs(HARD_APPLE_CANDY_DUST.getStack(2)) - .EUt(4) // ULV - .duration(12 * TICK) - .buildAndRegister() - + MACERATOR_RECIPES.addRecipe { + input(HARD_APPLE_CANDY) + outputs(HARD_APPLE_CANDY_DUST.getStack(2)) + EUt(4) // ULV + duration(12 * TICK) + } + + // endregion } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/TablewareProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/TablewareProcessing.kt index 142351cc0..f99bd508e 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/TablewareProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/TablewareProcessing.kt @@ -18,6 +18,7 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_BOTTLE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.CERAMIC_BOWL import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.CERAMIC_CUP import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.CLAY_BOWL @@ -52,31 +53,30 @@ internal object TablewareProcessing ModHandler.addSmeltingRecipe(CLAY_CUP.stackForm, CERAMIC_CUP.stackForm) // Dirty Ceramic Bowl -> Ceramic Bowl - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(DIRTY_CERAMIC_BOWL) - .fluidInputs(Water.getFluid(100)) - .output(CERAMIC_BOWL) - .EUt(VA[LV]) - .duration(1 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(DIRTY_CERAMIC_BOWL) + fluidInputs(Water.getFluid(100)) + output(CERAMIC_BOWL) + EUt(VA[LV]) + duration(1 * SECOND + 5 * TICK) + } // Plastic Bottle - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_BOTTLE) - .input(ingot, Polyethylene) - .output(PLASTIC_BOTTLE) - .EUt(VA[LV]) - .duration(1 * SECOND + 12 * TICK) - .buildAndRegister() - - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BOTTLE) - .fluidInputs(Polyethylene.getFluid(L)) - .output(PLASTIC_BOTTLE) - .EUt(4) // ULV - .duration(12 * TICK) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_BOTTLE) + input(ingot, Polyethylene) + output(PLASTIC_BOTTLE) + EUt(VA[LV]) + duration(1 * SECOND + 12 * TICK) + } + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BOTTLE) + fluidInputs(Polyethylene.getFluid(L)) + output(PLASTIC_BOTTLE) + EUt(4) // ULV + duration(12 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/VinegarProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/VinegarProcessing.kt index 35b3dfb5f..4292a30b1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/VinegarProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/VinegarProcessing.kt @@ -17,12 +17,13 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BATH_CONDENSER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AminooxyaceticAcid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Vinegar import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.VINEGAR -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.GLASS_BOTTLE internal object VinegarProcessing { @@ -31,52 +32,50 @@ internal object VinegarProcessing fun init() { - // Vinegar - FERMENTING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Sugar) - .fluidInputs(Ethanol.getFluid(100)) - .fluidOutputs(Vinegar.getFluid(100)) - .EUt(2) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Sugar) + fluidInputs(Ethanol.getFluid(100)) + fluidOutputs(Vinegar.getFluid(100)) + EUt(2) + duration(2 * SECOND + 10 * TICK) + } - FERMENTING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Sugar) - .fluidInputs(Ethanol.getFluid(100)) - .fluidInputs(AminooxyaceticAcid.getFluid(50)) - .fluidOutputs(Vinegar.getFluid(400)) - .EUt(2) - .duration(15 * TICK) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Sugar) + fluidInputs(Ethanol.getFluid(100)) + fluidInputs(AminooxyaceticAcid.getFluid(50)) + fluidOutputs(Vinegar.getFluid(400)) + EUt(2) + duration(15 * TICK) + } - CANNER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.GLASS_BOTTLE)) - .fluidInputs(Vinegar.getFluid(250)) - .output(VINEGAR) - .EUt(4) - .duration(10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + inputs(GLASS_BOTTLE) + fluidInputs(Vinegar.getFluid(250)) + output(VINEGAR) + EUt(4) + duration(10 * TICK) + } // Vinegar -> C2H4O2 (AceticAcid) - for (fluidStack in arrayOf( + for (fluid in arrayOf( Water.getFluid(100), DistilledWater.getFluid(100), Ice.getFluid(50), Oxygen.getFluid(FluidStorageKeys.LIQUID, 25), Helium.getFluid(FluidStorageKeys.LIQUID, 10))) { - BATH_CONDENSER_RECIPES.recipeBuilder() - .fluidInputs(Vinegar.getFluid(100)) - .fluidInputs(fluidStack) - .fluidOutputs(AceticAcid.getFluid(100)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + fluidInputs(Vinegar.getFluid(100)) + fluidInputs(fluid) + fluidOutputs(AceticAcid.getFluid(100)) + EUt(VA[LV]) + duration(5 * SECOND) + } } - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/WinesProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/WinesProcessing.kt index a5ef9832d..b17913651 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/WinesProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/foodprocessing/WinesProcessing.kt @@ -11,6 +11,8 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AminooxyaceticAcid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.GrapeJuice import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PotatoJuice @@ -21,8 +23,8 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.GRAPE_JUICE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.POTATO_JUICE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.RED_WINE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.VODKA -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.GLASS_BOTTLE +import net.minecraft.init.Items.POTATO internal object WinesProcessing { @@ -32,84 +34,83 @@ internal object WinesProcessing fun init() { // Grape Juice - MIXER_RECIPES.recipeBuilder() - .input("fruitGrape") - .fluidInputs(Water.getFluid(750)) - .fluidOutputs(GrapeJuice.getFluid(750)) - .EUt(4) - .duration(6 * SECOND + 8 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + input("fruitGrape") + fluidInputs(Water.getFluid(750)) + fluidOutputs(GrapeJuice.getFluid(750)) + EUt(4) + duration(6 * SECOND + 8 * TICK) + } - CANNER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.GLASS_BOTTLE)) - .fluidInputs(GrapeJuice.getFluid(250)) - .output(GRAPE_JUICE) - .EUt(4) - .duration(10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + inputs(GLASS_BOTTLE) + fluidInputs(GrapeJuice.getFluid(250)) + output(GRAPE_JUICE) + EUt(4) + duration(10 * TICK) + } // Potato Juice - MIXER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.POTATO)) - .fluidInputs(Water.getFluid(750)) - .fluidOutputs(PotatoJuice.getFluid(750)) - .EUt(4) - .duration(6 * SECOND + 8 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + inputs(POTATO) + fluidInputs(Water.getFluid(750)) + fluidOutputs(PotatoJuice.getFluid(750)) + EUt(4) + duration(6 * SECOND + 8 * TICK) + } - CANNER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.GLASS_BOTTLE)) - .fluidInputs(PotatoJuice.getFluid(250)) - .output(POTATO_JUICE) - .EUt(4) - .duration(10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + inputs(GLASS_BOTTLE) + fluidInputs(PotatoJuice.getFluid(250)) + output(POTATO_JUICE) + EUt(4) + duration(10 * TICK) + } // Red Wine - FERMENTING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Yeast) - .fluidInputs(GrapeJuice.getFluid(100)) - .fluidOutputs(RedWine.getFluid(100)) - .EUt(2) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Yeast) + fluidInputs(GrapeJuice.getFluid(100)) + fluidOutputs(RedWine.getFluid(100)) + EUt(2) + duration(2 * SECOND + 10 * TICK) + } - FERMENTING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Yeast) - .fluidInputs(GrapeJuice.getFluid(100)) - .fluidInputs(AminooxyaceticAcid.getFluid(50)) - .fluidOutputs(RedWine.getFluid(400)) - .EUt(2) - .duration(15 * TICK) - .buildAndRegister() + FERMENTING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Yeast) + fluidInputs(GrapeJuice.getFluid(100)) + fluidInputs(AminooxyaceticAcid.getFluid(50)) + fluidOutputs(RedWine.getFluid(400)) + EUt(2) + duration(15 * TICK) + } - CANNER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.GLASS_BOTTLE)) - .fluidInputs(RedWine.getFluid(250)) - .output(RED_WINE) - .EUt(4) - .duration(10 * TICK) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + inputs(GLASS_BOTTLE) + fluidInputs(RedWine.getFluid(250)) + output(RED_WINE) + EUt(4) + duration(10 * TICK) + } // Vodka - DISTILLERY_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(PotatoJuice.getFluid(50)) - .fluidOutputs(Vodka.getFluid(25)) - .EUt(VH[LV]) - .duration(16 * TICK) - .buildAndRegister() - - CANNER_RECIPES.recipeBuilder() - .inputs(ItemStack(Items.GLASS_BOTTLE)) - .fluidInputs(Vodka.getFluid(250)) - .output(VODKA) - .EUt(4) - .duration(10 * TICK) - .buildAndRegister() + DISTILLERY_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(PotatoJuice.getFluid(50)) + fluidOutputs(Vodka.getFluid(25)) + EUt(VH[LV]) + duration(16 * TICK) + } + CANNER_RECIPES.addRecipe { + inputs(GLASS_BOTTLE) + fluidInputs(Vodka.getFluid(250)) + output(VODKA) + EUt(4) + duration(10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/BouleRecipeHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/BouleRecipeHandler.kt index 102106cc0..5f690e457 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/BouleRecipeHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/BouleRecipeHandler.kt @@ -17,6 +17,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.ore.OrePrefix.gem import gregtech.api.unification.ore.OrePrefix.gemExquisite import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.duration import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYSTALLIZATION_RECIPES import gregtechlite.gtlitecore.api.unification.material.info.GTLiteMaterialFlags.DISABLE_CRYSTALLIZATION @@ -118,21 +119,21 @@ object BouleRecipeHandler builder.buildAndRegister() - CUTTER_RECIPES.recipeBuilder() - .input(boule, material) - .output(gemExquisite, material) - .output(seedCrystal, material) - .EUt(VA[LV]) - .duration(material.mass * 4) - .buildAndRegister() - - AUTOCLAVE_RECIPES.recipeBuilder() - .input(gemExquisite, material) - .fluidInputs(DistilledWater.getFluid(8000)) - .output(seedCrystal, material) - .EUt(VA[HV]) - .duration(material.mass * 9) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(boule, material) + output(gemExquisite, material) + output(seedCrystal, material) + EUt(VA[LV]) + duration(material.mass * 4) + } + + AUTOCLAVE_RECIPES.addRecipe { + input(gemExquisite, material) + fluidInputs(DistilledWater.getFluid(8000)) + output(seedCrystal, material) + EUt(VA[HV]) + duration(material.mass * 9) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/MaterialRecipeHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/MaterialRecipeHandler.kt index eb7c539f0..61a4c7396 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/MaterialRecipeHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/MaterialRecipeHandler.kt @@ -63,6 +63,7 @@ import gregtech.common.items.MetaItems.SHAPE_MOLD_NUGGET import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.copy import gregtechlite.gtlitecore.api.extension.duration import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ELECTRIC_IMPLOSION_RECIPES @@ -141,24 +142,24 @@ object MaterialRecipeHandler if (!material.hasFlag(NO_WORKING)) { // Confirm extruder can process any materials. - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_ROD) - .input(ingotPrefix, material) - .output(stick, material, 2) - .EUt(scaleVoltage(6 * getVoltageMultiplier(material), workingTier)) - .duration(material.mass * 2) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_ROD) + input(ingotPrefix, material) + output(stick, material, 2) + EUt(scaleVoltage(6 * getVoltageMultiplier(material), workingTier)) + duration(material.mass * 2) + } // ingotX -> stickX (soft: slicer, hard: cutting machine). if (material.hasFlag(NO_SMASHING)) { - SLICER_RECIPES.recipeBuilder() - .notConsumable(SLICER_BLADE_STRIPES) - .input(ingotPrefix, material) - .output(stick, material, 2) - .EUt(scaleVoltage(6 * getVoltageMultiplier(material), workingTier)) - .duration(material.mass * 2) - .buildAndRegister() + SLICER_RECIPES.addRecipe { + notConsumable(SLICER_BLADE_STRIPES) + input(ingotPrefix, material) + output(stick, material, 2) + EUt(scaleVoltage(6 * getVoltageMultiplier(material), workingTier)) + duration(material.mass * 2) + } } } } @@ -166,51 +167,51 @@ object MaterialRecipeHandler // Fluid solidification. if (material.hasFluid() && !((material.getProperty(PropertyKey.FLUID).solidifiesFrom())!!.equals(null))) { - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L)) - .output(ingotPrefix, material) - .EUt(scaleVoltage(VA[ULV], workingTier)) - .duration(1 * SECOND) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom(L)) + output(ingotPrefix, material) + EUt(scaleVoltage(VA[ULV], workingTier)) + duration(1 * SECOND) + } } // Plastic extruding dustX -> ingotX. if (material.hasFlag(NO_SMASHING)) { - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_INGOT) - .input(dust, material) - .output(ingotPrefix, material) - .EUt(scaleVoltage(4 * getVoltageMultiplier(material), workingTier)) - .duration(10 * TICK) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_INGOT) + input(dust, material) + output(ingotPrefix, material) + EUt(scaleVoltage(4 * getVoltageMultiplier(material), workingTier)) + duration(10 * TICK) + } } // Universal ingotX -> nuggetX alloy smelting. - ALLOY_SMELTER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_NUGGET) - .input(ingotPrefix, material) - .output(nugget, material, 9) - .EUt(scaleVoltage(VA[ULV], workingTier)) - .duration(material.mass) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_NUGGET) + input(ingotPrefix, material) + output(nugget, material, 9) + EUt(scaleVoltage(VA[ULV], workingTier)) + duration(material.mass) + } // Universal blockX <-> ingotX converts. if (!(OreDictUnifier.get(block, material))!!.isEmpty) { - ALLOY_SMELTER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .input(block, material) - .output(ingotPrefix, material, 9) - .EUt(scaleVoltage(VA[ULV], workingTier)) - .duration(material.mass * 9) - .buildAndRegister() - - COMPRESSOR_RECIPES.recipeBuilder() - .input(ingotPrefix, material, (block.getMaterialAmount(material) / M).toInt()) - .output(block, material) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + input(block, material) + output(ingotPrefix, material, 9) + EUt(scaleVoltage(VA[ULV], workingTier)) + duration(material.mass * 9) + } + + COMPRESSOR_RECIPES.addRecipe { + input(ingotPrefix, material, (block.getMaterialAmount(material) / M).toInt()) + output(block, material) + } } // Bending ingotX -> plateX. @@ -225,27 +226,27 @@ object MaterialRecipeHandler // Default hand-crafting recipes. if (workingTier <= HV) { - ModHandler.addShapedRecipe(String.format("plate_%s", material), plateStack, + ModHandler.addShapedRecipe("plate_$material", plateStack, "h", "I", "I", 'I', UnificationEntry(ingotPrefix, material)) } // 1:1 Bending. - BENDER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(ingotPrefix, material) - .outputs(plateStack) - .EUt(scaleVoltage(24, workingTier)) - .duration(material.mass) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(1) + input(ingotPrefix, material) + outputs(plateStack) + EUt(scaleVoltage(24, workingTier)) + duration(material.mass) + } // 3:2 Hamming. - FORGE_HAMMER_RECIPES.recipeBuilder() - .input(ingotPrefix, material, 3) - .outputs(copyFirst(2, plateStack)) - .EUt(scaleVoltage(VH[LV], workingTier)) - .duration(material.mass) - .buildAndRegister() + FORGE_HAMMER_RECIPES.addRecipe { + input(ingotPrefix, material, 3) + outputs(copyFirst(2, plateStack)) + EUt(scaleVoltage(VH[LV], workingTier)) + duration(material.mass) + } } } @@ -255,33 +256,33 @@ object MaterialRecipeHandler if (material.hasFlag(NO_SMASHING)) { // Slicing ingotX -> plateX. - SLICER_RECIPES.recipeBuilder() - .notConsumable(SLICER_BLADE_FLAT) - .input(ingotPrefix, material) - .output(plate, material) - .EUt(scaleVoltage(8 * getVoltageMultiplier(material), workingTier)) - .duration(material.mass) - .buildAndRegister() + SLICER_RECIPES.addRecipe { + notConsumable(SLICER_BLADE_FLAT) + input(ingotPrefix, material) + output(plate, material) + EUt(scaleVoltage(8 * getVoltageMultiplier(material), workingTier)) + duration(material.mass) + } // Special extruding dustX -> plateX. - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_PLATE) - .input(dust, material) - .output(plate, material) - .EUt(scaleVoltage(8 * getVoltageMultiplier(material), workingTier)) - .duration(material.mass) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_PLATE) + input(dust, material) + output(plate, material) + EUt(scaleVoltage(8 * getVoltageMultiplier(material), workingTier)) + duration(material.mass) + } } else { // Hard extruding. - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_PLATE) - .input(ingotPrefix, material) - .output(plate, material) - .EUt(scaleVoltage(8 * getVoltageMultiplier(material), workingTier)) - .duration(material.mass) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_PLATE) + input(ingotPrefix, material) + output(plate, material) + EUt(scaleVoltage(8 * getVoltageMultiplier(material), workingTier)) + duration(material.mass) + } } } } @@ -299,13 +300,14 @@ object MaterialRecipeHandler // Fluid solidification. if (material.hasFluid() && !(material.getProperty(PropertyKey.FLUID).solidifiesFrom())!!.equals(null)) { - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BLOCK) - .fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom((materialAmount * L / M).toInt())) - .outputs(blockStack) - .EUt(scaleVoltage(VA[ULV], workingTier)) - .duration(material.mass) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BLOCK) + fluidInputs(material.getProperty(PropertyKey.FLUID).solidifiesFrom((materialAmount * L / M).toInt())) + outputs(blockStack) + EUt(scaleVoltage(VA[ULV], workingTier)) + duration(material.mass) + buildAndRegister() + } } // blockX -> plateX. @@ -317,22 +319,22 @@ object MaterialRecipeHandler // Plastic blockX -> plateX. if (material.hasFlag(NO_SMASHING) && !material.hasProperty(PropertyKey.GEM)) { - SLICER_RECIPES.recipeBuilder() - .notConsumable(SLICER_BLADE_OCTAGONAL) - .input(blockPrefix, material) - .outputs(copyFirst((materialAmount / M).toInt(), plateStack)) - .EUt(scaleVoltage(VA[LV], workingTier)) - .duration(material.mass * 8) - .buildAndRegister() + SLICER_RECIPES.addRecipe { + notConsumable(SLICER_BLADE_OCTAGONAL) + input(blockPrefix, material) + outputs(copyFirst((materialAmount / M).toInt(), plateStack)) + EUt(scaleVoltage(VA[LV], workingTier)) + duration(material.mass * 8) + } } else // Common cutting. { - CUTTER_RECIPES.recipeBuilder() - .input(blockPrefix, material) - .outputs(copyFirst((materialAmount / M).toInt(), plateStack)) - .EUt(scaleVoltage(VA[LV], workingTier)) - .duration(material.mass * 8) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(blockPrefix, material) + outputs(copyFirst((materialAmount / M).toInt(), plateStack)) + EUt(scaleVoltage(VA[LV], workingTier)) + duration(material.mass * 8) + } } } } @@ -357,10 +359,10 @@ object MaterialRecipeHandler if (!material.hasFlag(EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES) && !ConfigHolder.recipes.disableManualCompression) { - ModHandler.addShapelessRecipe(String.format("block_compress_%s", material), blockStack, + ModHandler.addShapelessRecipe("block_compress_$material", blockStack, *result.toTypedArray()) - ModHandler.addShapelessRecipe(String.format("block_decompress_%s", material), + ModHandler.addShapelessRecipe("block_decompress_$material", copyFirst((materialAmount / M).toInt(), OreDictUnifier.get(blockEntry)), UnificationEntry(blockPrefix, material)) } @@ -368,40 +370,38 @@ object MaterialRecipeHandler // Ingot converts. if (material.hasProperty(PropertyKey.INGOT)) { - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_BLOCK) - .input(ingot, material, (materialAmount / M).toInt()) - .outputs(blockStack) - .EUt(scaleVoltage(8 * getVoltageMultiplier(material), workingTier)) - .duration(10 * TICK) - .buildAndRegister() - - ALLOY_SMELTER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BLOCK) - .input(ingot, material, (materialAmount / M).toInt()) - .outputs(blockStack) - .EUt(scaleVoltage(4 * getVoltageMultiplier(material), workingTier)) - .duration(5 * TICK) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_BLOCK) + input(ingot, material, (materialAmount / M).toInt()) + outputs(blockStack) + EUt(scaleVoltage(8 * getVoltageMultiplier(material), workingTier)) + duration(10 * TICK) + } + + ALLOY_SMELTER_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BLOCK) + input(ingot, material, (materialAmount / M).toInt()) + outputs(blockStack) + EUt(scaleVoltage(4 * getVoltageMultiplier(material), workingTier)) + duration(5 * TICK) + } } else if (material.hasProperty(PropertyKey.GEM)) { - COMPRESSOR_RECIPES.recipeBuilder() - .input(gem, material, (block.getMaterialAmount(material) / M).toInt()) - .outputs(blockStack) - .EUt(scaleVoltage(2, workingTier)) // ULV - .duration(15 * SECOND) - .buildAndRegister() - - FORGE_HAMMER_RECIPES.recipeBuilder() - .input(blockPrefix, material) - .output(gem, material, (block.getMaterialAmount(material) / M).toInt()) - .EUt(scaleVoltage(24, workingTier)) // LV - .duration(5 * SECOND) - .buildAndRegister() + COMPRESSOR_RECIPES.addRecipe { + input(gem, material, (block.getMaterialAmount(material) / M).toInt()) + outputs(blockStack) + EUt(scaleVoltage(2, workingTier)) // ULV + duration(15 * SECOND) + } + FORGE_HAMMER_RECIPES.addRecipe { + input(blockPrefix, material) + output(gem, material, (block.getMaterialAmount(material) / M).toInt()) + EUt(scaleVoltage(24, workingTier)) // LV + duration(5 * SECOND) + } } - } } @@ -417,7 +417,7 @@ object MaterialRecipeHandler // Hand-craft gem grinding. if (material.hasFlag(MORTAR_GRINDABLE) && workingTier <= HV) { - ModHandler.addShapedRecipe(String.format("gem_to_dust_%s_%s", material, gemPrefix), crushedStack, + ModHandler.addShapedRecipe("gem_to_dust_${material}_$gemPrefix", crushedStack, "X", "m", 'X', UnificationEntry(gemPrefix, material)) } @@ -425,25 +425,24 @@ object MaterialRecipeHandler val prevStack = if (prevPrefix == null) ItemStack.EMPTY else OreDictUnifier.get(prevPrefix, material, 2) if (!prevStack.isEmpty) { - ModHandler.addShapelessRecipe(String.format("gem_to_gem_%s_%s", prevPrefix, material), prevStack, + ModHandler.addShapelessRecipe("gem_to_gem_${prevPrefix}_$material", prevStack, "h", UnificationEntry(gemPrefix, material)) - CUTTER_RECIPES.recipeBuilder() - .input(gemPrefix, material) - .outputs(prevStack) - .EUt(VH[LV]) - .duration(1 * SECOND) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.White) - .inputs(prevStack) - .output(gemPrefix, material) - .EUt(scaleVoltage(VHA[HV], workingTier)) - .duration(15 * SECOND) - .buildAndRegister() - } + CUTTER_RECIPES.addRecipe { + input(gemPrefix, material) + outputs(prevStack) + EUt(VH[LV]) + duration(1 * SECOND) + } + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.White) + inputs(prevStack) + output(gemPrefix, material) + EUt(scaleVoltage(VHA[HV], workingTier)) + duration(15 * SECOND) + } + } } private fun generateImplosionRecipes(dustPrefix: OrePrefix, material: Material, property: DustProperty) @@ -456,13 +455,13 @@ object MaterialRecipeHandler val gemStack = OreDictUnifier.get(gem, material) if (!material.hasFlag(EXPLOSIVE) && !material.hasFlag(FLAMMABLE)) { - ELECTRIC_IMPLOSION_RECIPES.recipeBuilder() - .inputs(dustStack.copy(4)) - .outputs(gemStack.copy(3)) - .chancedOutput(dust, DarkAsh, 2500, 0) - .EUt(scaleVoltage(VA[LV], workingTier)) - .duration(1 * SECOND) - .buildAndRegister() + ELECTRIC_IMPLOSION_RECIPES.addRecipe { + inputs(dustStack.copy(4)) + outputs(gemStack.copy(3)) + chancedOutput(dust, DarkAsh, 2500, 0) + EUt(scaleVoltage(VA[LV], workingTier)) + duration(1 * SECOND) + } } } } @@ -499,67 +498,65 @@ object MaterialRecipeHandler if (eut <= 0) eut = VA[MV] // Still output ingotStack now, otherwise ingot has or not ingotHot. - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dustPrefix, material) - .outputs(ingotStack) - .EUt(eut) - .duration(duration * 0.5) - .blastFurnaceTemp(blastTemp) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(dustPrefix, material) + outputs(ingotStack) + EUt(eut) + duration(duration * 0.5) + blastFurnaceTemp(blastTemp) + } if (material.hasFluid()) { // If material has fluid, then allowed to get molten fluid. - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dustPrefix, material) - .fluidOutputs(material.getFluid(L)) - .EUt(eut) - .duration(duration * 0.5) - .blastFurnaceTemp(blastTemp) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dustPrefix, material) + fluidOutputs(material.getFluid(L)) + EUt(eut) + duration(duration * 0.5) + blastFurnaceTemp(blastTemp) + } // Another choice, if player has too many ingotStacks, then MBF can blast material like fluid // extractor, i.e. ingotStack -> fluidStack. - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .inputs(ingotStack) - .fluidOutputs(material.getFluid(L)) - .EUt(eut) - .duration(duration * 0.5) - .blastFurnaceTemp(blastTemp) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + inputs(ingotStack) + fluidOutputs(material.getFluid(L)) + EUt(eut) + duration(duration * 0.5) + blastFurnaceTemp(blastTemp) + } // If material has plasma, then plasma is also. if (material.getFluid(FluidStorageKeys.PLASMA) != null) { - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dustPrefix, material) - .fluidOutputs(material.getPlasma(L)) - .EUt(eut) - .duration(duration * 0.5) - .blastFurnaceTemp(blastTemp) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dustPrefix, material) + fluidOutputs(material.getPlasma(L)) + EUt(eut) + duration(duration * 0.5) + blastFurnaceTemp(blastTemp) + } // Just like fluid secondary choice, plasma is also. - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .inputs(ingotStack) - .fluidOutputs(material.getPlasma(L)) - .EUt(eut) - .duration(duration * 0.5) - .blastFurnaceTemp(blastTemp) - .buildAndRegister() - + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + inputs(ingotStack) + fluidOutputs(material.getPlasma(L)) + EUt(eut) + duration(duration * 0.5) + blastFurnaceTemp(blastTemp) + } } } } } } } - } private fun getVoltageMultiplier(material: Material): Long = if (material.blastTemperature >= 2800) VA[LV].toLong() else VA[ULV].toLong() diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/NuclearFuelRecipeHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/NuclearFuelRecipeHandler.kt index 79a170720..ad7d6280f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/NuclearFuelRecipeHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/NuclearFuelRecipeHandler.kt @@ -4,6 +4,7 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeMaps.CANNER_RECIPES import gregtech.api.recipes.RecipeMaps.PACKER_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.unification.material.Material import gregtech.api.unification.material.properties.DustProperty import gregtech.api.unification.material.properties.PropertyKey @@ -31,73 +32,72 @@ object NuclearFuelRecipeHandler private fun processFuelRod(fuelRodPrefix: OrePrefix, material: Material, property: DustProperty) { // Common Fuel Rod - CANNER_RECIPES.recipeBuilder() - .input(FUEL_ROD_EMPTY) - .input(dust, material, 4) - .output(fuelRod, material) - .EUt(VA[LV]) - .duration(20 * SECOND) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + input(FUEL_ROD_EMPTY) + input(dust, material, 4) + output(fuelRod, material) + EUt(VA[LV]) + duration(20 * SECOND) + } - PACKER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(fuelRod, material) - .output(dust, material) - .output(FUEL_ROD_EMPTY) - .EUt(7) // ULV - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + PACKER_RECIPES.addRecipe { + circuitMeta(1) + input(fuelRod, material) + output(dust, material) + output(FUEL_ROD_EMPTY) + EUt(7) // ULV + duration(7 * SECOND + 10 * TICK) + } // Enriched Fuel Rod - PACKER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(fuelRod, material, 2) - .output(fuelRodEnriched, material) - .EUt(7) // ULV - .duration(5 * SECOND) - .buildAndRegister() + PACKER_RECIPES.addRecipe { + circuitMeta(2) + input(fuelRod, material, 2) + output(fuelRodEnriched, material) + EUt(7) // ULV + duration(5 * SECOND) + } - PACKER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(fuelRodEnriched, material) - .output(fuelRod, material, 2) - .EUt(7) // ULV - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + PACKER_RECIPES.addRecipe { + circuitMeta(1) + input(fuelRodEnriched, material) + output(fuelRod, material, 2) + EUt(7) // ULV + duration(7 * SECOND + 10 * TICK) + } // High Density Fuel Rod - PACKER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(fuelRodEnriched, material, 2) - .output(fuelRodHighDensity, material) - .EUt(7) // ULV - .duration(5 * SECOND) - .buildAndRegister() + PACKER_RECIPES.addRecipe { + circuitMeta(2) + input(fuelRodEnriched, material, 2) + output(fuelRodHighDensity, material) + EUt(7) // ULV + duration(5 * SECOND) + } - PACKER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(fuelRod, material, 4) - .output(fuelRodHighDensity, material) - .EUt(7) // ULV - .duration(10 * SECOND) - .buildAndRegister() + PACKER_RECIPES.addRecipe { + circuitMeta(4) + input(fuelRod, material, 4) + output(fuelRodHighDensity, material) + EUt(7) // ULV + duration(10 * SECOND) + } - PACKER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(fuelRodHighDensity, material) - .output(fuelRod, material, 4) - .EUt(7) // ULV - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() - - PACKER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(fuelRodHighDensity, material) - .output(fuelRodEnriched, material, 2) - .EUt(7) // ULV - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + PACKER_RECIPES.addRecipe { + circuitMeta(3) + input(fuelRodHighDensity, material) + output(fuelRod, material, 4) + EUt(7) // ULV + duration(12 * SECOND + 10 * TICK) + } + PACKER_RECIPES.addRecipe { + circuitMeta(5) + input(fuelRodHighDensity, material) + output(fuelRodEnriched, material, 2) + EUt(7) // ULV + duration(7 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/OreRecipeHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/OreRecipeHandler.kt index 5ffb39354..b77715414 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/OreRecipeHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/OreRecipeHandler.kt @@ -8,6 +8,7 @@ import gregtech.api.recipes.RecipeMaps.MACERATOR_RECIPES import gregtech.api.recipes.RecipeMaps.ORE_WASHER_RECIPES import gregtech.api.recipes.RecipeMaps.SIFTER_RECIPES import gregtech.api.recipes.RecipeMaps.THERMAL_CENTRIFUGE_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.Material import gregtech.api.unification.material.Materials.Stone @@ -77,33 +78,33 @@ object OreRecipeHandler val byproductStack = OreDictUnifier.get(dust, byproductMaterial) // Hamming crushedPurifiedX -> dustPureX. - FORGE_HAMMER_RECIPES.recipeBuilder() - .input(purifiedPrefix, material) - .outputs(dustStack) - .EUt(VH[LV]) - .duration(10 * TICK) - .buildAndRegister() + FORGE_HAMMER_RECIPES.addRecipe { + input(purifiedPrefix, material) + outputs(dustStack) + EUt(VH[LV]) + duration(10 * TICK) + } // Macerating crushedPurifiedX -> dustPureX + (dustX: byproduct). - MACERATOR_RECIPES.recipeBuilder() - .input(purifiedPrefix, material) - .outputs(dustStack) - .chancedOutput(byproductStack, 1400, 850) - .duration(20 * SECOND) - .buildAndRegister() + MACERATOR_RECIPES.addRecipe { + input(purifiedPrefix, material) + outputs(dustStack) + chancedOutput(byproductStack, 1400, 850) + duration(20 * SECOND) + } // Hand-hamming crushedPurifiedX -> dustPureX. - ModHandler.addShapelessRecipe(String.format("purified_ore_to_dust_%s", material), dustStack, + ModHandler.addShapelessRecipe("purified_ore_to_dust_$material", dustStack, 'h', UnificationEntry(purifiedPrefix, material)) // Thermal centrifuging crushedPurifiedX -> crushedCentrifugedX + (dustX: byproduct). if (!crushedCentrifugedStack.isEmpty) { - THERMAL_CENTRIFUGE_RECIPES.recipeBuilder() - .input(purifiedPrefix, material) - .outputs(crushedCentrifugedStack) - .chancedOutput(dust, byproductMaterial, 3333, 0) - .buildAndRegister() + THERMAL_CENTRIFUGE_RECIPES.addRecipe { + input(purifiedPrefix, material) + outputs(crushedCentrifugedStack) + chancedOutput(dust, byproductMaterial, 3333, 0) + } } // Gem sifting, we merged gemSolitary and sort it at this stage. @@ -118,65 +119,65 @@ object OreRecipeHandler if (material.hasFlag(HIGH_SIFTER_OUTPUT)) { - SIFTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(purifiedPrefix, material) - .chancedOutput(solitaryStack, 100, 50) - .chancedOutput(exquisiteStack, 500, 150) - .chancedOutput(flawlessStack, 1500, 200) - .chancedOutput(gemStack, 5000, 1000) - .chancedOutput(flawedStack, 2000, 500) - .chancedOutput(chippedStack, 3000, 350) - .chancedOutput(dustStack, 2500, 500) - .EUt(VH[LV]) - .duration(20 * SECOND) - .buildAndRegister() - - SIFTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(purifiedPrefix, material) - .fluidInputs(ZephyreanAerotheum.getFluid(250)) - .chancedOutput(solitaryStack, 200, 100) - .chancedOutput(exquisiteStack, 1000, 300) - .chancedOutput(flawlessStack, 3000, 400) - .outputs(gemStack) - .chancedOutput(flawedStack, 4000, 1000) - .chancedOutput(chippedStack, 6000, 700) - .chancedOutput(dustStack, 5000, 1000) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + SIFTER_RECIPES.addRecipe { + circuitMeta(1) + input(purifiedPrefix, material) + chancedOutput(solitaryStack, 100, 50) + chancedOutput(exquisiteStack, 500, 150) + chancedOutput(flawlessStack, 1500, 200) + chancedOutput(gemStack, 5000, 1000) + chancedOutput(flawedStack, 2000, 500) + chancedOutput(chippedStack, 3000, 350) + chancedOutput(dustStack, 2500, 500) + EUt(VH[LV]) + duration(20 * SECOND) + } + + SIFTER_RECIPES.addRecipe { + circuitMeta(2) + input(purifiedPrefix, material) + fluidInputs(ZephyreanAerotheum.getFluid(250)) + chancedOutput(solitaryStack, 200, 100) + chancedOutput(exquisiteStack, 1000, 300) + chancedOutput(flawlessStack, 3000, 400) + outputs(gemStack) + chancedOutput(flawedStack, 4000, 1000) + chancedOutput(chippedStack, 6000, 700) + chancedOutput(dustStack, 5000, 1000) + EUt(VH[LV]) + duration(10 * SECOND) + } } else { - SIFTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(purifiedPrefix, material) - .chancedOutput(solitaryStack, 50, 25) - .chancedOutput(exquisiteStack, 300, 100) - .chancedOutput(flawlessStack, 1000, 150) - .chancedOutput(gemStack, 3500, 500) - .chancedOutput(flawedStack, 2500, 300) - .chancedOutput(chippedStack, 3500, 400) - .chancedOutput(dustStack, 5000, 750) - .EUt(VH[LV]) - .duration(20 * SECOND) - .buildAndRegister() - - SIFTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(purifiedPrefix, material) - .fluidInputs(ZephyreanAerotheum.getFluid(250)) - .chancedOutput(solitaryStack, 100, 50) - .chancedOutput(exquisiteStack, 600, 200) - .chancedOutput(flawlessStack, 2000, 300) - .chancedOutput(gemStack, 7000, 1000) - .chancedOutput(flawedStack, 5000, 600) - .chancedOutput(chippedStack, 7000, 800) - .outputs(dustStack) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + SIFTER_RECIPES.addRecipe { + circuitMeta(1) + input(purifiedPrefix, material) + chancedOutput(solitaryStack, 50, 25) + chancedOutput(exquisiteStack, 300, 100) + chancedOutput(flawlessStack, 1000, 150) + chancedOutput(gemStack, 3500, 500) + chancedOutput(flawedStack, 2500, 300) + chancedOutput(chippedStack, 3500, 400) + chancedOutput(dustStack, 5000, 750) + EUt(VH[LV]) + duration(20 * SECOND) + } + + SIFTER_RECIPES.addRecipe { + circuitMeta(2) + input(purifiedPrefix, material) + fluidInputs(ZephyreanAerotheum.getFluid(250)) + chancedOutput(solitaryStack, 100, 50) + chancedOutput(exquisiteStack, 600, 200) + chancedOutput(flawlessStack, 2000, 300) + chancedOutput(gemStack, 7000, 1000) + chancedOutput(flawedStack, 5000, 600) + chancedOutput(chippedStack, 7000, 800) + outputs(dustStack) + EUt(VH[LV]) + duration(10 * SECOND) + } } } @@ -189,15 +190,15 @@ object OreRecipeHandler val crushedPurifiedOre = copyFirst(OreDictUnifier.get(crushedPurified, material), OreDictUnifier.get(dust, material)) - ORE_WASHER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(crushedPrefix, material) - .fluidInputs(TectonicPetrotheum.getFluid(100)) - .outputs(crushedPurifiedOre) - .output(dust, Stone) - .chancedOutput(dust, byproductMaterial, 6666, 0) - .duration(5 * SECOND) - .buildAndRegister() + ORE_WASHER_RECIPES.addRecipe { + circuitMeta(3) + input(crushedPrefix, material) + fluidInputs(TectonicPetrotheum.getFluid(100)) + outputs(crushedPurifiedOre) + output(dust, Stone) + chancedOutput(dust, byproductMaterial, 6666, 0) + duration(5 * SECOND) + } } /** diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/PartsRecipeHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/PartsRecipeHandler.kt index fe14696a8..35f153041 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/PartsRecipeHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/PartsRecipeHandler.kt @@ -29,8 +29,9 @@ import gregtech.api.unification.material.Materials.Ruby import gregtech.api.unification.material.Materials.Rutile import gregtech.api.unification.material.Materials.Spessartine import gregtech.api.unification.material.Materials.Uvarovite -import gregtech.api.unification.material.info.MaterialFlags import gregtech.api.unification.material.info.MaterialFlags.GENERATE_BOLT_SCREW +import gregtech.api.unification.material.info.MaterialFlags.GENERATE_FRAME +import gregtech.api.unification.material.info.MaterialFlags.GENERATE_PLATE import gregtech.api.unification.material.info.MaterialFlags.NO_SMASHING import gregtech.api.unification.material.properties.DustProperty import gregtech.api.unification.material.properties.GemProperty @@ -209,7 +210,7 @@ object PartsRecipeHandler if (workingTier <= HV) { - ModHandler.addShapedRecipe(String.format("bolt_saw_%s", material), boltStack.copy(2), + ModHandler.addShapedRecipe("bolt_saw_$material", boltStack.copy(2), "s ", " X", 'X', UnificationEntry(stick, material)) } @@ -419,10 +420,10 @@ object PartsRecipeHandler fun processSheetedFrame(sheetedFramePrefix: OrePrefix, material: Material, property: DustProperty) { - if (!material.hasFlag(MaterialFlags.GENERATE_FRAME)) + if (!material.hasFlag(GENERATE_FRAME)) return - ModHandler.addShapedRecipe(String.format("%s_sheeted_frame", material), OreDictUnifier.get(sheetedFramePrefix, material, 12), + ModHandler.addShapedRecipe("${material}_sheeted_frame", OreDictUnifier.get(sheetedFramePrefix, material, 12), "PFP", "PhP", "PFP", 'P', UnificationEntry(plate, material), 'F', UnificationEntry(frameGt, material)) @@ -440,10 +441,10 @@ object PartsRecipeHandler fun processWall(wallGtPrefix: OrePrefix, material: Material, property: DustProperty) { - if (!material.hasFlag(MaterialFlags.GENERATE_PLATE) || !material.hasFlag(MaterialFlags.GENERATE_BOLT_SCREW)) + if (!material.hasFlag(GENERATE_PLATE) || !material.hasFlag(GENERATE_BOLT_SCREW)) return - ModHandler.addShapedRecipe(String.format("%s_wall_gt", material), OreDictUnifier.get(wallGtPrefix, material, 6), + ModHandler.addShapedRecipe("${material}_wall_gt", OreDictUnifier.get(wallGtPrefix, material, 6), "hPS", "P P", "SPd", 'P', UnificationEntry(plate, material), 'S', UnificationEntry(screw, material)) diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/ToolRecipeHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/ToolRecipeHandler.kt index 0efb5ddda..b06d3d818 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/ToolRecipeHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/ToolRecipeHandler.kt @@ -124,9 +124,9 @@ object ToolRecipeHandler val toolId = tool.toolId val toolMaterial = tool[material] if (mirrored) - ModHandler.addMirroredShapedRecipe(String.format("%s_%s", toolId, material), toolMaterial, *recipe) + ModHandler.addMirroredShapedRecipe("${toolId}_$material", toolMaterial, *recipe) else - ModHandler.addShapedRecipe(String.format("%s_%s", toolId, material), toolMaterial, *recipe) + ModHandler.addShapedRecipe("${toolId}_$material", toolMaterial, *recipe) } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/WireCombinationHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/WireCombinationHandler.kt index efa202247..059b51b99 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/WireCombinationHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/WireCombinationHandler.kt @@ -5,6 +5,7 @@ import gregtech.api.GTValues.ULV import gregtech.api.GTValues.VA import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.PACKER_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.Material import gregtech.api.unification.material.Materials.Rubber @@ -67,25 +68,25 @@ object WireCombinationHandler { for (i in 1 until 5 - startTier) { - LOOM_RECIPES.recipeBuilder() - .circuitMeta(2.0.pow(i).toInt()) - .inputs(OreDictUnifier.get(WIRE_DOUBLING_ORDER[startTier], material, 1 shl i)) - .outputs(OreDictUnifier.get(WIRE_DOUBLING_ORDER[startTier + i], material, 1)) - .EUt(12) // LV - .duration(10 * TICK) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(2.0.pow(i).toInt()) + inputs(OreDictUnifier.get(WIRE_DOUBLING_ORDER[startTier], material, 1 shl i)) + outputs(OreDictUnifier.get(WIRE_DOUBLING_ORDER[startTier + i], material, 1)) + EUt(12) // LV + duration(10 * TICK) + } } } for (i in 1 until 5) { - LOOM_RECIPES.recipeBuilder() - .circuitMeta(1) - .inputs(OreDictUnifier.get(WIRE_DOUBLING_ORDER[i], material, 1)) - .outputs(OreDictUnifier.get(WIRE_DOUBLING_ORDER[0], material, 2.0.pow(i).toInt())) - .EUt(12) // LV - .duration(10 * TICK) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(1) + inputs(OreDictUnifier.get(WIRE_DOUBLING_ORDER[i], material, 1)) + outputs(OreDictUnifier.get(WIRE_DOUBLING_ORDER[0], material, 2.0.pow(i).toInt())) + EUt(12) // LV + duration(10 * TICK) + } } } @@ -127,13 +128,13 @@ object WireCombinationHandler */ private fun processCableStripping(prefix: OrePrefix, material: Material, property: WireProperties) { - PACKER_RECIPES.recipeBuilder() - .input(prefix, material) - .output(cableToWireMap[prefix], material) - .output(plate, Rubber, (prefix.secondaryMaterials[0].amount / M).toInt()) - .EUt(VA[ULV]) - .duration(5 * SECOND) - .buildAndRegister() + PACKER_RECIPES.addRecipe { + input(prefix, material) + output(cableToWireMap[prefix], material) + output(plate, Rubber, (prefix.secondaryMaterials[0].amount / M).toInt()) + EUt(VA[ULV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/WireRecipeHandler.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/WireRecipeHandler.kt index b25b155b5..52ff5d993 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/WireRecipeHandler.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/handler/WireRecipeHandler.kt @@ -221,7 +221,6 @@ object WireRecipeHandler .duration(5 * SECOND) .buildAndRegister() } - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AcidGeneratorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AcidGeneratorRecipes.kt index dc4b1574a..b257a49d4 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AcidGeneratorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AcidGeneratorRecipes.kt @@ -13,6 +13,7 @@ import gregtech.api.unification.material.Materials.SulfuricAcid import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ACID_GENERATOR_FUELS internal object AcidGeneratorRecipes @@ -22,37 +23,37 @@ internal object AcidGeneratorRecipes fun init() { - ACID_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(Redstone.getFluid(L / 4)) - .EUt(V[LV]) - .duration(1 * SECOND + 15 * TICK) - .buildAndRegister() - - ACID_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(Mercury.getFluid(500)) - .EUt(VA[MV]) - .duration(3 * SECOND + 10 * TICK) - .buildAndRegister() - - ACID_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(SulfuricAcid.getFluid(250)) - .EUt(VA[MV]) - .duration(6 * SECOND + 10 * TICK) - .buildAndRegister() - - ACID_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(HydrochloricAcid.getFluid(500)) - .EUt(VA[MV]) - .duration(4 * SECOND + 15 * TICK) - .buildAndRegister() - - ACID_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(NitricAcid.getFluid(125)) - .EUt(VA[MV]) - .duration(6 * SECOND + 15 * TICK) - .buildAndRegister() - - // TODO Organic Acids and other recipes. + ACID_GENERATOR_FUELS.addRecipe { + fluidInputs(Redstone.getFluid(L / 4)) + EUt(V[LV]) + duration(1 * SECOND + 15 * TICK) + } + + ACID_GENERATOR_FUELS.addRecipe { + fluidInputs(Mercury.getFluid(500)) + EUt(VA[MV]) + duration(3 * SECOND + 10 * TICK) + } + + ACID_GENERATOR_FUELS.addRecipe { + fluidInputs(SulfuricAcid.getFluid(250)) + EUt(VA[MV]) + duration(6 * SECOND + 10 * TICK) + } + + ACID_GENERATOR_FUELS.addRecipe { + fluidInputs(HydrochloricAcid.getFluid(500)) + EUt(VA[MV]) + duration(4 * SECOND + 15 * TICK) + } + + ACID_GENERATOR_FUELS.addRecipe { + fluidInputs(NitricAcid.getFluid(125)) + EUt(VA[MV]) + duration(6 * SECOND + 15 * TICK) + } + + // TODO: Organic Acids and other recipes. } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AlloyBlastSmelterRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AlloyBlastSmelterRecipes.kt index ce9c813de..ce18bcb66 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AlloyBlastSmelterRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AlloyBlastSmelterRecipes.kt @@ -64,6 +64,7 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ALLOY_BLAST_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ActiniumSuperhydride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium @@ -150,7 +151,6 @@ internal object AlloyBlastSmelterRecipes registerBinaryAlloy(LithiumFluoride, 2, BerylliumDifluoride, 3, LithiumBerylliumFluorides, 5, 5 * SECOND) - registerTrinaryAlloy(Brass, 7, Aluminium, 1, Cobalt, 1, CobaltBrass, 9, 45 * SECOND) registerTrinaryAlloy(Tin, 6, Lead, 3, @@ -167,177 +167,175 @@ internal object AlloyBlastSmelterRecipes private fun manualRecipes() { - // One-Step ABS recipe of Eglin Steel - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(dust, Iron, 4) - .input(dust, Kanthal, 1) - .input(dust, Invar, 5) - .input(dust, Sulfur, 1) - .input(dust, Silicon, 1) - .input(dust, Carbon, 1) - .fluidInputs(Nitrogen.getFluid(13000)) - .fluidOutputs(EglinSteel.getFluid(L * 13)) - .EUt(VA[MV]) - .duration(7 * SECOND + 16 * TICK) - .blastFurnaceTemp(1048) // Cupronickel - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(16) + input(dust, Iron, 4) + input(dust, Kanthal, 1) + input(dust, Invar, 5) + input(dust, Sulfur, 1) + input(dust, Silicon, 1) + input(dust, Carbon, 1) + fluidInputs(Nitrogen.getFluid(13000)) + fluidOutputs(EglinSteel.getFluid(L * 13)) + EUt(VA[MV]) + duration(7 * SECOND + 16 * TICK) + blastFurnaceTemp(1048) // Cupronickel + } - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Iron, 4) - .input(dust, Kanthal, 1) - .input(dust, Invar, 5) - .input(dust, Sulfur, 1) - .input(dust, Silicon, 1) - .input(dust, Carbon, 1) - .fluidOutputs(EglinSteel.getFluid(L * 13)) - .EUt(VA[MV]) - .duration(11 * SECOND + 14 * TICK) - .blastFurnaceTemp(1048) // Cupronickel - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Iron, 4) + input(dust, Kanthal, 1) + input(dust, Invar, 5) + input(dust, Sulfur, 1) + input(dust, Silicon, 1) + input(dust, Carbon, 1) + fluidOutputs(EglinSteel.getFluid(L * 13)) + EUt(VA[MV]) + duration(11 * SECOND + 14 * TICK) + blastFurnaceTemp(1048) // Cupronickel + } // ZBLAN Glass - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Zirconium, 5) - .input(dust, Barium, 2) - .input(dust, Lanthanum) - .input(dust, Aluminium) - .input(dust, Sodium, 2) - .fluidInputs(Fluorine.getFluid(6200)) - .fluidOutputs(ZBLANGlass.getFluid(L * 11)) - .EUt(VA[HV]) - .duration(1 * MINUTE + 30 * SECOND) - .blastFurnaceTemp(1073) // Cupronickel - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Zirconium, 5) + input(dust, Barium, 2) + input(dust, Lanthanum) + input(dust, Aluminium) + input(dust, Sodium, 2) + fluidInputs(Fluorine.getFluid(6200)) + fluidOutputs(ZBLANGlass.getFluid(L * 11)) + EUt(VA[HV]) + duration(1 * MINUTE + 30 * SECOND) + blastFurnaceTemp(1073) // Cupronickel + } // GST Glass - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Germanium, 2) - .input(dust, Antimony, 2) - .input(dust, Tellurium, 5) - .fluidOutputs(GSTGlass.getFluid(L * 9)) - .EUt(VA[HV]) - .duration(MINUTE + 20 * SECOND) - .blastFurnaceTemp(873) // Cupronickel - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Germanium, 2) + input(dust, Antimony, 2) + input(dust, Tellurium, 5) + fluidOutputs(GSTGlass.getFluid(L * 9)) + EUt(VA[HV]) + duration(MINUTE + 20 * SECOND) + blastFurnaceTemp(873) // Cupronickel + } // BSCCO - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(14) - .input(dust, BismuthTrioxide, 5) - .input(dust, Strontianite, 10) - .input(dust, Calcite, 5) - .input(dust, Tenorite, 4) - .fluidInputs(Neon.getFluid(150)) - .fluidOutputs(BismuthStrontiumCalciumCuprate.getFluid(L * 15)) - .EUt(VA[UV]) - .duration(2 * MINUTE + 9 * SECOND + 12 * TICK) - .blastFurnaceTemp(7000) // Naquadah - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(14) + input(dust, BismuthTrioxide, 5) + input(dust, Strontianite, 10) + input(dust, Calcite, 5) + input(dust, Tenorite, 4) + fluidInputs(Neon.getFluid(150)) + fluidOutputs(BismuthStrontiumCalciumCuprate.getFluid(L * 15)) + EUt(VA[UV]) + duration(2 * MINUTE + 9 * SECOND + 12 * TICK) + blastFurnaceTemp(7000) // Naquadah + } - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, BismuthTrioxide, 5) - .input(dust, Strontianite, 10) - .input(dust, Calcite, 5) - .input(dust, Tenorite, 4) - .fluidOutputs(BismuthStrontiumCalciumCuprate.getFluid(L * 15)) - .EUt(VA[UV]) - .duration(3 * MINUTE + 13 * SECOND + 10 * TICK) - .blastFurnaceTemp(7000) // Naquadah - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(4) + input(dust, BismuthTrioxide, 5) + input(dust, Strontianite, 10) + input(dust, Calcite, 5) + input(dust, Tenorite, 4) + fluidOutputs(BismuthStrontiumCalciumCuprate.getFluid(L * 15)) + EUt(VA[UV]) + duration(3 * MINUTE + 13 * SECOND + 10 * TICK) + blastFurnaceTemp(7000) // Naquadah + } // Halkonite Steel - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, CosmicNeutronium, 2) - .input(dust, Tairitsium, 2) - .input(dust, RedPhosphorus, 2) - .input(dust, TitanSteel) - .input(dust, Infinity) - .fluidInputs(HeavyLeptonMixture.getFluid(1000)) - .fluidOutputs(HalkoniteSteel.getFluid(L * 8)) - .EUt(VA[UEV]) - .duration(1 * MINUTE) - .blastFurnaceTemp(13801) // Infinity - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(5) + input(dust, CosmicNeutronium, 2) + input(dust, Tairitsium, 2) + input(dust, RedPhosphorus, 2) + input(dust, TitanSteel) + input(dust, Infinity) + fluidInputs(HeavyLeptonMixture.getFluid(1000)) + fluidOutputs(HalkoniteSteel.getFluid(L * 8)) + EUt(VA[UEV]) + duration(1 * MINUTE) + blastFurnaceTemp(13801) // Infinity + } // Vibranium Tritanium Actinium Iron Superhydride - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(15) - .input(dust, Vibranium, 5) - .input(dust, Tritanium, 5) - .input(dust, ActiniumSuperhydride) - .input(dust, BETSPerrhenate) - .fluidInputs(Iron.getPlasma(L)) - .fluidInputs(Krypton.getFluid(130)) - .fluidOutputs(VibraniumTritaniumActiniumIronSuperhydride.getFluid(L * 13)) - .EUt(VA[UEV]) - .duration(195 * SECOND + 19 * TICK) - .blastFurnaceTemp(14400) // Infinity - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(15) + input(dust, Vibranium, 5) + input(dust, Tritanium, 5) + input(dust, ActiniumSuperhydride) + input(dust, BETSPerrhenate) + fluidInputs(Iron.getPlasma(L)) + fluidInputs(Krypton.getFluid(130)) + fluidOutputs(VibraniumTritaniumActiniumIronSuperhydride.getFluid(L * 13)) + EUt(VA[UEV]) + duration(195 * SECOND + 19 * TICK) + blastFurnaceTemp(14400) // Infinity + } - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Vibranium, 5) - .input(dust, Tritanium, 5) - .input(dust, ActiniumSuperhydride) - .input(dust, BETSPerrhenate) - .fluidInputs(Iron.getPlasma(L)) - .fluidOutputs(VibraniumTritaniumActiniumIronSuperhydride.getFluid(L * 13)) - .EUt(VA[UEV]) - .duration(292 * SECOND + 10 * TICK) - .blastFurnaceTemp(14400) // Infinity - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Vibranium, 5) + input(dust, Tritanium, 5) + input(dust, ActiniumSuperhydride) + input(dust, BETSPerrhenate) + fluidInputs(Iron.getPlasma(L)) + fluidOutputs(VibraniumTritaniumActiniumIronSuperhydride.getFluid(L * 13)) + EUt(VA[UEV]) + duration(292 * SECOND + 10 * TICK) + blastFurnaceTemp(14400) // Infinity + } // Mellion - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(dust, Rubidium, 11) - .input(dust, Tritanium, 11) - .input(dust, Adamantium, 7) - .input(dust, Firestone, 13) - .input(dust, MetastableOganesson, 13) - .input(dust, ActiniumSuperhydride, 8) - .fluidInputs(ResonantStrangeMeson.getFluid(1000)) - .fluidOutputs(Mellion.getFluid(L * 64)) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .blastFurnaceTemp(16000) - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(7) + input(dust, Rubidium, 11) + input(dust, Tritanium, 11) + input(dust, Adamantium, 7) + input(dust, Firestone, 13) + input(dust, MetastableOganesson, 13) + input(dust, ActiniumSuperhydride, 8) + fluidInputs(ResonantStrangeMeson.getFluid(1000)) + fluidOutputs(Mellion.getFluid(L * 64)) + EUt(VA[UXV]) + duration(20 * SECOND) + blastFurnaceTemp(16000) + } // Fullerene Superconductor - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(15) - .input(dust, TitanSteel, 16) - .input(dust, LanthanumFullereneNanotube, 4) - .input(dust, SeaborgiumDopedCarbonNanotube, 4) - .input(dust, MetastableOganesson, 3) - .fluidInputs(Xenon.getPlasma(1000)) - .fluidInputs(Krypton.getFluid(280)) - .fluidOutputs(FullereneSuperconductor.getFluid(L * 28)) - .EUt(VA[UIV]) - .duration(2884 * SECOND + 7 * TICK) - .blastFurnaceTemp(15900) // Halkonite Steel - .buildAndRegister() - - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, TitanSteel, 16) - .input(dust, LanthanumFullereneNanotube, 4) - .input(dust, SeaborgiumDopedCarbonNanotube, 4) - .input(dust, MetastableOganesson, 3) - .fluidInputs(Xenon.getPlasma(1000)) - .fluidOutputs(FullereneSuperconductor.getFluid(L * 28)) - .EUt(VA[UIV]) - .duration(4305 * SECOND) - .blastFurnaceTemp(15900) // Halkonite Steel - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(15) + input(dust, TitanSteel, 16) + input(dust, LanthanumFullereneNanotube, 4) + input(dust, SeaborgiumDopedCarbonNanotube, 4) + input(dust, MetastableOganesson, 3) + fluidInputs(Xenon.getPlasma(1000)) + fluidInputs(Krypton.getFluid(280)) + fluidOutputs(FullereneSuperconductor.getFluid(L * 28)) + EUt(VA[UIV]) + duration(2884 * SECOND + 7 * TICK) + blastFurnaceTemp(15900) // Halkonite Steel + } + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(5) + input(dust, TitanSteel, 16) + input(dust, LanthanumFullereneNanotube, 4) + input(dust, SeaborgiumDopedCarbonNanotube, 4) + input(dust, MetastableOganesson, 3) + fluidInputs(Xenon.getPlasma(1000)) + fluidOutputs(FullereneSuperconductor.getFluid(L * 28)) + EUt(VA[UIV]) + duration(4305 * SECOND) + blastFurnaceTemp(15900) // Halkonite Steel + } } private fun registerBinaryAlloy(input1: Material, input1Amount: Int, @@ -345,15 +343,15 @@ internal object AlloyBlastSmelterRecipes output: Material, outputAmount: Int, duration: Int) { - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(input1Amount + input2Amount) - .input(dust, input1, input1Amount) - .input(dust, input2, input2Amount) - .fluidOutputs(output.getFluid(L * outputAmount)) - .EUt(16) - .duration(duration * 3 / 4) - .blastFurnaceTemp((output.fluid as Fluid).temperature) - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(input1Amount + input2Amount) + input(dust, input1, input1Amount) + input(dust, input2, input2Amount) + fluidOutputs(output.getFluid(L * outputAmount)) + EUt(16) + duration(duration * 3 / 4) + blastFurnaceTemp((output.fluid as Fluid).temperature) + } } private fun registerTrinaryAlloy(input1: Material, input1Amount: Int, @@ -362,16 +360,16 @@ internal object AlloyBlastSmelterRecipes output: Material, outputAmount: Int, duration: Int) { - ALLOY_BLAST_RECIPES.recipeBuilder() - .circuitMeta(input1Amount + input2Amount + input3Amount) - .input(dust, input1, input1Amount) - .input(dust, input2, input2Amount) - .input(dust, input3, input3Amount) - .fluidOutputs(output.getFluid(L * outputAmount)) - .EUt(16) - .duration(duration * 3 / 4) - .blastFurnaceTemp((output.fluid as Fluid).temperature) - .buildAndRegister() + ALLOY_BLAST_RECIPES.addRecipe { + circuitMeta(input1Amount + input2Amount + input3Amount) + input(dust, input1, input1Amount) + input(dust, input2, input2Amount) + input(dust, input3, input3Amount) + fluidOutputs(output.getFluid(L * outputAmount)) + EUt(16) + duration(duration * 3 / 4) + blastFurnaceTemp((output.fluid as Fluid).temperature) + } } } \ No newline at end of file diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AlloySmelterRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AlloySmelterRecipes.kt index f09f9c8e3..7601ab87e 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AlloySmelterRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AlloySmelterRecipes.kt @@ -25,6 +25,7 @@ import gregtech.api.unification.ore.OrePrefix.ingot import gregtech.api.unification.ore.OrePrefix.plate import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ErbiumDopedZBLANGlass import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Infinity @@ -41,152 +42,151 @@ internal object AlloySmelterRecipes fun init() { // Er-doped ZBLAN Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(ingot, ZBLANGlass) - .input(ingot, Erbium) - .output(ingot, ErbiumDopedZBLANGlass, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() - - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(ingot, ZBLANGlass) - .input(dust, Erbium) - .output(ingot, ErbiumDopedZBLANGlass, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() - - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(dust, ZBLANGlass) - .input(ingot, Erbium) - .output(ingot, ErbiumDopedZBLANGlass, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() - - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(dust, ZBLANGlass) - .input(dust, Erbium) - .output(ingot, ErbiumDopedZBLANGlass, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + input(ingot, ZBLANGlass) + input(ingot, Erbium) + output(ingot, ErbiumDopedZBLANGlass, 2) + EUt(VA[HV]) + duration(10 * SECOND) + } + + ALLOY_SMELTER_RECIPES.addRecipe { + input(ingot, ZBLANGlass) + input(dust, Erbium) + output(ingot, ErbiumDopedZBLANGlass, 2) + EUt(VA[HV]) + duration(10 * SECOND) + } + + ALLOY_SMELTER_RECIPES.addRecipe { + input(dust, ZBLANGlass) + input(ingot, Erbium) + output(ingot, ErbiumDopedZBLANGlass, 2) + EUt(VA[HV]) + duration(10 * SECOND) + } + + ALLOY_SMELTER_RECIPES.addRecipe { + input(dust, ZBLANGlass) + input(dust, Erbium) + output(ingot, ErbiumDopedZBLANGlass, 2) + EUt(VA[HV]) + duration(10 * SECOND) + } // Pr-doped ZBLAN Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(ingot, ZBLANGlass) - .input(ingot, Praseodymium) - .output(ingot, PraseodymiumDopedZBLANGlass, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() - - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(ingot, ZBLANGlass) - .input(dust, Praseodymium) - .output(ingot, PraseodymiumDopedZBLANGlass, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() - - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(dust, ZBLANGlass) - .input(ingot, Praseodymium) - .output(ingot, PraseodymiumDopedZBLANGlass, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() - - ALLOY_SMELTER_RECIPES.recipeBuilder() - .input(dust, ZBLANGlass) - .input(dust, Praseodymium) - .output(ingot, PraseodymiumDopedZBLANGlass, 2) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + input(ingot, ZBLANGlass) + input(ingot, Praseodymium) + output(ingot, PraseodymiumDopedZBLANGlass, 2) + EUt(VA[HV]) + duration(10 * SECOND) + } + + ALLOY_SMELTER_RECIPES.addRecipe { + input(ingot, ZBLANGlass) + input(dust, Praseodymium) + output(ingot, PraseodymiumDopedZBLANGlass, 2) + EUt(VA[HV]) + duration(10 * SECOND) + } + + ALLOY_SMELTER_RECIPES.addRecipe { + input(dust, ZBLANGlass) + input(ingot, Praseodymium) + output(ingot, PraseodymiumDopedZBLANGlass, 2) + EUt(VA[HV]) + duration(10 * SECOND) + } + + ALLOY_SMELTER_RECIPES.addRecipe { + input(dust, ZBLANGlass) + input(dust, Praseodymium) + output(ingot, PraseodymiumDopedZBLANGlass, 2) + EUt(VA[HV]) + duration(10 * SECOND) + } // Titanium reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, Titanium, 4) - .outputs(GlassCasing.TITANIUM_BOROSILICATE.stack) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, Titanium, 4) + outputs(GlassCasing.TITANIUM_BOROSILICATE.stack) + EUt(VA[EV]) + duration(5 * SECOND) + } // Tungsten Steel reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, TungstenSteel, 4) - .outputs(GlassCasing.TUNGSTEN_STEEL_BOROSILICATE.stack) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, TungstenSteel, 4) + outputs(GlassCasing.TUNGSTEN_STEEL_BOROSILICATE.stack) + EUt(VA[IV]) + duration(5 * SECOND) + } // Rhodium Plated Palladium reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, RhodiumPlatedPalladium, 4) - .outputs(GlassCasing.RHODIUM_PLATED_PALLADIUM_BOROSILICATE.stack) - .EUt(VA[LuV]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, RhodiumPlatedPalladium, 4) + outputs(GlassCasing.RHODIUM_PLATED_PALLADIUM_BOROSILICATE.stack) + EUt(VA[LuV]) + duration(5 * SECOND) + } // Osmiridium reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, Osmiridium, 4) - .outputs(GlassCasing.OSMIRIDIUM_BOROSILICATE.stack) - .EUt(VA[ZPM]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, Osmiridium, 4) + outputs(GlassCasing.OSMIRIDIUM_BOROSILICATE.stack) + EUt(VA[ZPM]) + duration(5 * SECOND) + } // Tritanium reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, Tritanium, 4) - .outputs(GlassCasing.TRITANIUM_BOROSILICATE.stack) - .EUt(VA[UV]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, Tritanium, 4) + outputs(GlassCasing.TRITANIUM_BOROSILICATE.stack) + EUt(VA[UV]) + duration(5 * SECOND) + } // Neutronium reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, Neutronium, 4) - .outputs(GlassCasing.NEUTRONIUM_BOROSILICATE.stack) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, Neutronium, 4) + outputs(GlassCasing.NEUTRONIUM_BOROSILICATE.stack) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Cosmic Neutronium reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, CosmicNeutronium, 4) - .outputs(GlassCasing.COSMIC_NEUTRONIUM_BOROSILICATE.stack) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, CosmicNeutronium, 4) + outputs(GlassCasing.COSMIC_NEUTRONIUM_BOROSILICATE.stack) + EUt(VA[UEV]) + duration(5 * SECOND) + } // Infinity reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, Infinity, 4) - .outputs(GlassCasing.INFINITY_BOROSILICATE.stack) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .buildAndRegister() + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, Infinity, 4) + outputs(GlassCasing.INFINITY_BOROSILICATE.stack) + EUt(VA[UIV]) + duration(5 * SECOND) + } // Transcendent Metal reinforced Borosilicate Glass - ALLOY_SMELTER_RECIPES.recipeBuilder() - .inputs(GlassCasing.BOROSILICATE.stack) - .input(plate, TranscendentMetal, 4) - .outputs(GlassCasing.TRANSCENDENT_METAL_BOROSILICATE.stack) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() - + ALLOY_SMELTER_RECIPES.addRecipe { + inputs(GlassCasing.BOROSILICATE.stack) + input(plate, TranscendentMetal, 4) + outputs(GlassCasing.TRANSCENDENT_METAL_BOROSILICATE.stack) + EUt(VA[UXV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AssemblerRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AssemblerRecipes.kt index ab1b53639..0f197067f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AssemblerRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AssemblerRecipes.kt @@ -22,14 +22,17 @@ import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.ingredients.IntCircuitIngredient import gregtech.api.unification.OreDictUnifier -import gregtech.api.unification.material.MarkerMaterials +import gregtech.api.unification.material.MarkerMaterials.Tier import gregtech.api.unification.material.Materials.Aluminium import gregtech.api.unification.material.Materials.Copper import gregtech.api.unification.material.Materials.Diamond +import gregtech.api.unification.material.Materials.Duranium +import gregtech.api.unification.material.Materials.Europium import gregtech.api.unification.material.Materials.Glue import gregtech.api.unification.material.Materials.Gold import gregtech.api.unification.material.Materials.Kanthal import gregtech.api.unification.material.Materials.Lead +import gregtech.api.unification.material.Materials.Neutronium import gregtech.api.unification.material.Materials.Nichrome import gregtech.api.unification.material.Materials.Osmiridium import gregtech.api.unification.material.Materials.Platinum @@ -108,12 +111,18 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.copy +import gregtechlite.gtlitecore.api.extension.outputs +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler.addIOHatchRecipes +import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler.addMultiFluidHatchRecipes import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BerylliumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ChromiumGermaniumTellurideMagnetic import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HDCS import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HSLASteel +import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HeavyQuarkDegenerateMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Lafium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Magnetium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Mellion @@ -150,7 +159,7 @@ import gregtechlite.gtlitecore.common.metatileentity.GTLiteMetaTileEntities.NONU import gregtechlite.gtlitecore.common.metatileentity.GTLiteMetaTileEntities.QUADRUPLE_FLUID_EXPORT_HATCH import gregtechlite.gtlitecore.common.metatileentity.GTLiteMetaTileEntities.QUADRUPLE_FLUID_IMPORT_HATCH import net.minecraft.init.Blocks -import net.minecraft.init.Items +import net.minecraft.init.Items.ELYTRA import net.minecraft.item.ItemStack internal object AssemblerRecipes @@ -176,239 +185,278 @@ internal object AssemblerRecipes private fun itemHatchesRecipes() { // Remove original recipes for UHV Item Import/Export Bus. - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - arrayOf(HULL[UHV].stackForm, QUANTUM_CHEST[LV].stackForm, - IntCircuitIngredient.getIntegratedCircuit(1)), + ASSEMBLER_RECIPES.removeRecipe( + arrayOf(HULL[UHV].stack(), QUANTUM_CHEST[LV].stack(), + IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Polybenzimidazole.getFluid(L * 5))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - arrayOf(HULL[UHV].stackForm, QUANTUM_CHEST[LV].stackForm, - IntCircuitIngredient.getIntegratedCircuit(2)), + ASSEMBLER_RECIPES.removeRecipe( + arrayOf(HULL[UHV].stack(), QUANTUM_CHEST[LV].stack(), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Polybenzimidazole.getFluid(L * 5))) // Add recipes for UHV-OpV Item Import/Export Bus, and add high-tier plastics recipes for // the original recipes. addIOHatchRecipes(ULV, ITEM_IMPORT_BUS[ULV], ITEM_EXPORT_BUS[ULV], OreDictNames.chestWood.toString()) addIOHatchRecipes(LV, ITEM_IMPORT_BUS[LV], ITEM_EXPORT_BUS[LV], OreDictNames.chestWood.toString()) - addIOHatchRecipes(MV, ITEM_IMPORT_BUS[MV], ITEM_EXPORT_BUS[MV], BRONZE_CRATE.stackForm) - addIOHatchRecipes(HV, ITEM_IMPORT_BUS[HV], ITEM_EXPORT_BUS[HV], STEEL_CRATE.stackForm) - addIOHatchRecipes(EV, ITEM_IMPORT_BUS[EV], ITEM_EXPORT_BUS[EV], ALUMINIUM_CRATE.stackForm) - addIOHatchRecipes(IV, ITEM_IMPORT_BUS[IV], ITEM_EXPORT_BUS[IV], STAINLESS_STEEL_CRATE.stackForm) - addIOHatchRecipes(LuV, ITEM_IMPORT_BUS[LuV], ITEM_EXPORT_BUS[LuV], TITANIUM_CRATE.stackForm) - addIOHatchRecipes(ZPM, ITEM_IMPORT_BUS[ZPM], ITEM_EXPORT_BUS[ZPM], TUNGSTENSTEEL_CRATE.stackForm) - addIOHatchRecipes(UV, ITEM_IMPORT_BUS[UV], ITEM_EXPORT_BUS[UV], QUANTUM_CHEST[ULV].stackForm) - addIOHatchRecipes(UHV, ITEM_IMPORT_BUS[UHV], ITEM_EXPORT_BUS[UHV], QUANTUM_CHEST[LV].stackForm) - addIOHatchRecipes(UEV, ITEM_IMPORT_BUS[UEV], ITEM_EXPORT_BUS[UEV], QUANTUM_CHEST[MV].stackForm) - addIOHatchRecipes(UIV, ITEM_IMPORT_BUS[UIV], ITEM_EXPORT_BUS[UIV], QUANTUM_CHEST[HV].stackForm) - addIOHatchRecipes(UXV, ITEM_IMPORT_BUS[UXV], ITEM_EXPORT_BUS[UXV], QUANTUM_CHEST[EV].stackForm) - addIOHatchRecipes(OpV, ITEM_IMPORT_BUS[OpV], ITEM_EXPORT_BUS[OpV], QUANTUM_CHEST[IV].stackForm) + addIOHatchRecipes(MV, ITEM_IMPORT_BUS[MV], ITEM_EXPORT_BUS[MV], BRONZE_CRATE.stack()) + addIOHatchRecipes(HV, ITEM_IMPORT_BUS[HV], ITEM_EXPORT_BUS[HV], STEEL_CRATE.stack()) + addIOHatchRecipes(EV, ITEM_IMPORT_BUS[EV], ITEM_EXPORT_BUS[EV], ALUMINIUM_CRATE.stack()) + addIOHatchRecipes(IV, ITEM_IMPORT_BUS[IV], ITEM_EXPORT_BUS[IV], STAINLESS_STEEL_CRATE.stack()) + addIOHatchRecipes(LuV, ITEM_IMPORT_BUS[LuV], ITEM_EXPORT_BUS[LuV], TITANIUM_CRATE.stack()) + addIOHatchRecipes(ZPM, ITEM_IMPORT_BUS[ZPM], ITEM_EXPORT_BUS[ZPM], TUNGSTENSTEEL_CRATE.stack()) + addIOHatchRecipes(UV, ITEM_IMPORT_BUS[UV], ITEM_EXPORT_BUS[UV], QUANTUM_CHEST[ULV].stack()) + addIOHatchRecipes(UHV, ITEM_IMPORT_BUS[UHV], ITEM_EXPORT_BUS[UHV], QUANTUM_CHEST[LV].stack()) + addIOHatchRecipes(UEV, ITEM_IMPORT_BUS[UEV], ITEM_EXPORT_BUS[UEV], QUANTUM_CHEST[MV].stack()) + addIOHatchRecipes(UIV, ITEM_IMPORT_BUS[UIV], ITEM_EXPORT_BUS[UIV], QUANTUM_CHEST[HV].stack()) + addIOHatchRecipes(UXV, ITEM_IMPORT_BUS[UXV], ITEM_EXPORT_BUS[UXV], QUANTUM_CHEST[EV].stack()) + addIOHatchRecipes(OpV, ITEM_IMPORT_BUS[OpV], ITEM_EXPORT_BUS[OpV], QUANTUM_CHEST[IV].stack()) } private fun fluidHatchesRecipes() { + // region Fluid Import/Export Hatch + // Remove original recipes for UHV Fluid Import/Export Hatch. - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - arrayOf(HULL[UHV].stackForm, QUANTUM_TANK[LV].stackForm, - IntCircuitIngredient.getIntegratedCircuit(1)), + ASSEMBLER_RECIPES.removeRecipe( + arrayOf(HULL[UHV].stack(), QUANTUM_TANK[LV].stack(), + IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(Polybenzimidazole.getFluid(L * 5))) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - arrayOf(HULL[UHV].stackForm, QUANTUM_TANK[LV].stackForm, - IntCircuitIngredient.getIntegratedCircuit(2)), + ASSEMBLER_RECIPES.removeRecipe( + arrayOf(HULL[UHV].stack(), QUANTUM_TANK[LV].stack(), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Polybenzimidazole.getFluid(L * 5))) // Add recipes for UHV-OpV Fluid Import/Export Hatch, and add high-tier plastics recipes for // the original recipes. addIOHatchRecipes(ULV, FLUID_IMPORT_HATCH[ULV], FLUID_EXPORT_HATCH[ULV], ItemStack(Blocks.GLASS)) addIOHatchRecipes(LV, FLUID_IMPORT_HATCH[LV], FLUID_EXPORT_HATCH[LV], ItemStack(Blocks.GLASS)) - addIOHatchRecipes(MV, FLUID_IMPORT_HATCH[MV], FLUID_EXPORT_HATCH[MV], BRONZE_DRUM.stackForm) - addIOHatchRecipes(HV, FLUID_IMPORT_HATCH[HV], FLUID_EXPORT_HATCH[HV], STEEL_DRUM.stackForm) - addIOHatchRecipes(EV, FLUID_IMPORT_HATCH[EV], FLUID_EXPORT_HATCH[EV], ALUMINIUM_DRUM.stackForm) - addIOHatchRecipes(IV, FLUID_IMPORT_HATCH[IV], FLUID_EXPORT_HATCH[IV], STAINLESS_STEEL_DRUM.stackForm) - addIOHatchRecipes(LuV, FLUID_IMPORT_HATCH[LuV], FLUID_EXPORT_HATCH[LuV], TITANIUM_DRUM.stackForm) - addIOHatchRecipes(ZPM, FLUID_IMPORT_HATCH[ZPM], FLUID_EXPORT_HATCH[ZPM], TUNGSTENSTEEL_DRUM.stackForm) - addIOHatchRecipes(UV, FLUID_IMPORT_HATCH[UV], FLUID_EXPORT_HATCH[UV], QUANTUM_TANK[ULV].stackForm) - addIOHatchRecipes(UHV, FLUID_IMPORT_HATCH[UHV], FLUID_EXPORT_HATCH[UHV], QUANTUM_TANK[LV].stackForm) - addIOHatchRecipes(UEV, FLUID_IMPORT_HATCH[UEV], FLUID_EXPORT_HATCH[UEV], QUANTUM_TANK[MV].stackForm) - addIOHatchRecipes(UIV, FLUID_IMPORT_HATCH[UIV], FLUID_EXPORT_HATCH[UIV], QUANTUM_TANK[HV].stackForm) - addIOHatchRecipes(UXV, FLUID_IMPORT_HATCH[UXV], FLUID_EXPORT_HATCH[UXV], QUANTUM_TANK[EV].stackForm) - addIOHatchRecipes(OpV, FLUID_IMPORT_HATCH[OpV], FLUID_EXPORT_HATCH[OpV], QUANTUM_TANK[IV].stackForm) + addIOHatchRecipes(MV, FLUID_IMPORT_HATCH[MV], FLUID_EXPORT_HATCH[MV], BRONZE_DRUM.stack()) + addIOHatchRecipes(HV, FLUID_IMPORT_HATCH[HV], FLUID_EXPORT_HATCH[HV], STEEL_DRUM.stack()) + addIOHatchRecipes(EV, FLUID_IMPORT_HATCH[EV], FLUID_EXPORT_HATCH[EV], ALUMINIUM_DRUM.stack()) + addIOHatchRecipes(IV, FLUID_IMPORT_HATCH[IV], FLUID_EXPORT_HATCH[IV], STAINLESS_STEEL_DRUM.stack()) + addIOHatchRecipes(LuV, FLUID_IMPORT_HATCH[LuV], FLUID_EXPORT_HATCH[LuV], TITANIUM_DRUM.stack()) + addIOHatchRecipes(ZPM, FLUID_IMPORT_HATCH[ZPM], FLUID_EXPORT_HATCH[ZPM], TUNGSTENSTEEL_DRUM.stack()) + addIOHatchRecipes(UV, FLUID_IMPORT_HATCH[UV], FLUID_EXPORT_HATCH[UV], QUANTUM_TANK[ULV].stack()) + addIOHatchRecipes(UHV, FLUID_IMPORT_HATCH[UHV], FLUID_EXPORT_HATCH[UHV], QUANTUM_TANK[LV].stack()) + addIOHatchRecipes(UEV, FLUID_IMPORT_HATCH[UEV], FLUID_EXPORT_HATCH[UEV], QUANTUM_TANK[MV].stack()) + addIOHatchRecipes(UIV, FLUID_IMPORT_HATCH[UIV], FLUID_EXPORT_HATCH[UIV], QUANTUM_TANK[HV].stack()) + addIOHatchRecipes(UXV, FLUID_IMPORT_HATCH[UXV], FLUID_EXPORT_HATCH[UXV], QUANTUM_TANK[EV].stack()) + addIOHatchRecipes(OpV, FLUID_IMPORT_HATCH[OpV], FLUID_EXPORT_HATCH[OpV], QUANTUM_TANK[IV].stack()) + + // endregion + + // region 4x/9x Fluid Import/Export Hatch // ULV Quadruple Input Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_IMPORT_HATCH[ULV]) - .input(pipeQuadrupleFluid, TinAlloy) - .fluidInputs(Glue.getFluid(1000)) - .output(QUADRUPLE_FLUID_IMPORT_HATCH[0]) - .EUt(VA[ULV]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_IMPORT_HATCH[ULV]) + input(pipeQuadrupleFluid, TinAlloy) + fluidInputs(Glue.getFluid(1000)) + output(QUADRUPLE_FLUID_IMPORT_HATCH[0]) + EUt(VA[ULV]) + duration(15 * SECOND) + } // LV Quadruple Input Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_IMPORT_HATCH[LV]) - .input(pipeQuadrupleFluid, Copper) - .fluidInputs(Glue.getFluid(2000)) - .output(QUADRUPLE_FLUID_IMPORT_HATCH[1]) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_IMPORT_HATCH[LV]) + input(pipeQuadrupleFluid, Copper) + fluidInputs(Glue.getFluid(2000)) + output(QUADRUPLE_FLUID_IMPORT_HATCH[1]) + EUt(VA[LV]) + duration(15 * SECOND) + } // MV Quadruple Input Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_IMPORT_HATCH[MV]) - .input(pipeQuadrupleFluid, Steel) - .fluidInputs(Polyethylene.getFluid(L * 4)) - .output(QUADRUPLE_FLUID_IMPORT_HATCH[2]) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_IMPORT_HATCH[MV]) + input(pipeQuadrupleFluid, Steel) + fluidInputs(Polyethylene.getFluid(L * 4)) + output(QUADRUPLE_FLUID_IMPORT_HATCH[2]) + EUt(VA[MV]) + duration(15 * SECOND) + } // HV Quadruple Input Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_IMPORT_HATCH[HV]) - .input(pipeQuadrupleFluid, StainlessSteel) - .fluidInputs(Polyethylene.getFluid(L * 4)) - .output(QUADRUPLE_FLUID_IMPORT_HATCH[3]) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_IMPORT_HATCH[HV]) + input(pipeQuadrupleFluid, StainlessSteel) + fluidInputs(Polyethylene.getFluid(L * 4)) + output(QUADRUPLE_FLUID_IMPORT_HATCH[3]) + EUt(VA[HV]) + duration(15 * SECOND) + } // ULV Quadruple Output Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_EXPORT_HATCH[ULV]) - .input(pipeQuadrupleFluid, TinAlloy) - .fluidInputs(Glue.getFluid(1000)) - .output(QUADRUPLE_FLUID_EXPORT_HATCH[0]) - .EUt(VA[ULV]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_EXPORT_HATCH[ULV]) + input(pipeQuadrupleFluid, TinAlloy) + fluidInputs(Glue.getFluid(1000)) + output(QUADRUPLE_FLUID_EXPORT_HATCH[0]) + EUt(VA[ULV]) + duration(15 * SECOND) + } // LV Quadruple Output Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_EXPORT_HATCH[LV]) - .input(pipeQuadrupleFluid, Copper) - .fluidInputs(Glue.getFluid(2000)) - .output(QUADRUPLE_FLUID_EXPORT_HATCH[1]) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_EXPORT_HATCH[LV]) + input(pipeQuadrupleFluid, Copper) + fluidInputs(Glue.getFluid(2000)) + output(QUADRUPLE_FLUID_EXPORT_HATCH[1]) + EUt(VA[LV]) + duration(15 * SECOND) + } // MV Quadruple Output Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_EXPORT_HATCH[MV]) - .input(pipeQuadrupleFluid, Steel) - .fluidInputs(Polyethylene.getFluid(L * 4)) - .output(QUADRUPLE_FLUID_EXPORT_HATCH[2]) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_EXPORT_HATCH[MV]) + input(pipeQuadrupleFluid, Steel) + fluidInputs(Polyethylene.getFluid(L * 4)) + output(QUADRUPLE_FLUID_EXPORT_HATCH[2]) + EUt(VA[MV]) + duration(15 * SECOND) + } // HV Quadruple Output Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(FLUID_EXPORT_HATCH[HV]) - .input(pipeQuadrupleFluid, StainlessSteel) - .fluidInputs(Polyethylene.getFluid(L * 4)) - .output(QUADRUPLE_FLUID_EXPORT_HATCH[3]) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(FLUID_EXPORT_HATCH[HV]) + input(pipeQuadrupleFluid, StainlessSteel) + fluidInputs(Polyethylene.getFluid(L * 4)) + output(QUADRUPLE_FLUID_EXPORT_HATCH[3]) + EUt(VA[HV]) + duration(15 * SECOND) + } // ULV Nonuple Input Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_IMPORT_HATCH[ULV]) - .input(pipeNonupleFluid, TinAlloy) - .fluidInputs(Glue.getFluid(2250)) - .output(NONUPLE_FLUID_IMPORT_HATCH[0]) - .EUt(VA[ULV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_IMPORT_HATCH[ULV]) + input(pipeNonupleFluid, TinAlloy) + fluidInputs(Glue.getFluid(2250)) + output(NONUPLE_FLUID_IMPORT_HATCH[0]) + EUt(VA[ULV]) + duration(30 * SECOND) + } // LV Nonuple Input Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_IMPORT_HATCH[LV]) - .input(pipeNonupleFluid, Copper) - .fluidInputs(Glue.getFluid(4500)) - .output(NONUPLE_FLUID_IMPORT_HATCH[1]) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_IMPORT_HATCH[LV]) + input(pipeNonupleFluid, Copper) + fluidInputs(Glue.getFluid(4500)) + output(NONUPLE_FLUID_IMPORT_HATCH[1]) + EUt(VA[LV]) + duration(30 * SECOND) + } // MV Nonuple Input Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_IMPORT_HATCH[MV]) - .input(pipeNonupleFluid, Steel) - .fluidInputs(Polyethylene.getFluid(L * 9)) - .output(NONUPLE_FLUID_IMPORT_HATCH[2]) - .EUt(VA[MV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_IMPORT_HATCH[MV]) + input(pipeNonupleFluid, Steel) + fluidInputs(Polyethylene.getFluid(L * 9)) + output(NONUPLE_FLUID_IMPORT_HATCH[2]) + EUt(VA[MV]) + duration(30 * SECOND) + } // HV Nonuple Input Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_IMPORT_HATCH[HV]) - .input(pipeNonupleFluid, StainlessSteel) - .fluidInputs(Polyethylene.getFluid(L * 9)) - .output(NONUPLE_FLUID_IMPORT_HATCH[3]) - .EUt(VA[HV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_IMPORT_HATCH[HV]) + input(pipeNonupleFluid, StainlessSteel) + fluidInputs(Polyethylene.getFluid(L * 9)) + output(NONUPLE_FLUID_IMPORT_HATCH[3]) + EUt(VA[HV]) + duration(30 * SECOND) + } // ULV Nonuple Export Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_EXPORT_HATCH[ULV]) - .input(pipeNonupleFluid, TinAlloy) - .fluidInputs(Glue.getFluid(2250)) - .output(NONUPLE_FLUID_EXPORT_HATCH[0]) - .EUt(VA[ULV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_EXPORT_HATCH[ULV]) + input(pipeNonupleFluid, TinAlloy) + fluidInputs(Glue.getFluid(2250)) + output(NONUPLE_FLUID_EXPORT_HATCH[0]) + EUt(VA[ULV]) + duration(30 * SECOND) + } // LV Nonuple Export Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_EXPORT_HATCH[LV]) - .input(pipeNonupleFluid, Copper) - .fluidInputs(Glue.getFluid(4500)) - .output(NONUPLE_FLUID_EXPORT_HATCH[1]) - .EUt(VA[LV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_EXPORT_HATCH[LV]) + input(pipeNonupleFluid, Copper) + fluidInputs(Glue.getFluid(4500)) + output(NONUPLE_FLUID_EXPORT_HATCH[1]) + EUt(VA[LV]) + duration(30 * SECOND) + } // MV Nonuple Export Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_EXPORT_HATCH[MV]) - .input(pipeNonupleFluid, Steel) - .fluidInputs(Polyethylene.getFluid(L * 9)) - .output(NONUPLE_FLUID_EXPORT_HATCH[2]) - .EUt(VA[MV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_EXPORT_HATCH[MV]) + input(pipeNonupleFluid, Steel) + fluidInputs(Polyethylene.getFluid(L * 9)) + output(NONUPLE_FLUID_EXPORT_HATCH[2]) + EUt(VA[MV]) + duration(30 * SECOND) + } // HV Nonuple Export Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(FLUID_EXPORT_HATCH[HV]) - .input(pipeNonupleFluid, StainlessSteel) - .fluidInputs(Polyethylene.getFluid(L * 9)) - .output(NONUPLE_FLUID_EXPORT_HATCH[3]) - .EUt(VA[HV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(FLUID_EXPORT_HATCH[HV]) + input(pipeNonupleFluid, StainlessSteel) + fluidInputs(Polyethylene.getFluid(L * 9)) + output(NONUPLE_FLUID_EXPORT_HATCH[3]) + EUt(VA[HV]) + duration(30 * SECOND) + } + + // Modify UHV 4x/9x Hatch to use Kevlar to align the plastic requirement remove original UHV 4x/9x Hatch recipe. + GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + arrayOf(FLUID_IMPORT_HATCH[UHV].stack(), + Neutronium.getItemForm(pipeQuadrupleFluid), + IntCircuitIngredient.getIntegratedCircuit(4)), + arrayOf(Polybenzimidazole.getFluid(L * 5))) + + GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + arrayOf(FLUID_EXPORT_HATCH[UHV].stack(), + Neutronium.getItemForm(pipeQuadrupleFluid), + IntCircuitIngredient.getIntegratedCircuit(4)), + arrayOf(Polybenzimidazole.getFluid(L * 5))) + + GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + arrayOf(FLUID_IMPORT_HATCH[UHV].stack(), + Neutronium.getItemForm(pipeNonupleFluid), + IntCircuitIngredient.getIntegratedCircuit(9)), + arrayOf(Polybenzimidazole.getFluid(L * 9))) + + GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + arrayOf(FLUID_EXPORT_HATCH[UHV].stack(), + Neutronium.getItemForm(pipeNonupleFluid), + IntCircuitIngredient.getIntegratedCircuit(9)), + arrayOf(Polybenzimidazole.getFluid(L * 9))) + + addMultiFluidHatchRecipes(UHV, Europium) + addMultiFluidHatchRecipes(UEV, Duranium) + addMultiFluidHatchRecipes(UIV, Neutronium) + addMultiFluidHatchRecipes(UXV, HeavyQuarkDegenerateMatter) + addMultiFluidHatchRecipes(OpV, QuantumchromodynamicallyConfinedMatter) + + // endregion } private fun energyHatchesRecipes() @@ -418,10 +466,10 @@ internal object AssemblerRecipes private fun dynamoHatchesRecipes() { - // FIXME Delete this bugfix when [GTCEu PR#2910](https://github.com/GregTechCEu/GregTech/pull/2910) merged. - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - TRANSFORMER[ULV].stackForm, - ENERGY_OUTPUT_HATCH_4A[ULV].stackForm, + // TODO: Remove this bugfix when GTCEu PR#2910 merged. + ASSEMBLER_RECIPES.removeRecipe( + TRANSFORMER[ULV].stack(), + ENERGY_OUTPUT_HATCH_4A[ULV].stack(), OreDictUnifier.get(wireGtOctal, Lead, 2), OreDictUnifier.get(plate, WroughtIron, 4)) } @@ -443,395 +491,395 @@ internal object AssemblerRecipes { val actualTier = tier // Because laser hatch start at IV stage. // 256A Laser Target Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(HULL[tier]) - .input(lens, Diamond) - .inputs(CraftingComponent.SENSOR.getIngredient(tier) as ItemStack) - .inputs(CraftingComponent.PUMP.getIngredient(tier) as ItemStack) - .input(cableGtSingle, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_INPUT_HATCH_256[actualTier]) - .EUt(VA[tier].toLong()) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(HULL[tier]) + input(lens, Diamond) + inputs(CraftingComponent.SENSOR.getIngredient(tier) as ItemStack) + inputs(CraftingComponent.PUMP.getIngredient(tier) as ItemStack) + input(cableGtSingle, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_INPUT_HATCH_256[actualTier]) + EUt(VA[tier].toLong()) + duration(15 * SECOND) + } // 256A Laser Source Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(HULL[tier]) - .input(lens, Diamond) - .inputs(CraftingComponent.EMITTER.getIngredient(tier) as ItemStack) - .inputs(CraftingComponent.PUMP.getIngredient(tier) as ItemStack) - .input(cableGtSingle, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_OUTPUT_HATCH_256[actualTier]) - .EUt(VA[tier].toLong()) - .duration(15 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(HULL[tier]) + input(lens, Diamond) + inputs(CraftingComponent.EMITTER.getIngredient(tier) as ItemStack) + inputs(CraftingComponent.PUMP.getIngredient(tier) as ItemStack) + input(cableGtSingle, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_OUTPUT_HATCH_256[actualTier]) + EUt(VA[tier].toLong()) + duration(15 * SECOND) + } // 1024A Laser Target Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(HULL[tier]) - .input(lens, Diamond, 2) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(2)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(2)) - .input(cableGtDouble, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_INPUT_HATCH_1024[actualTier]) - .EUt(VA[tier]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(HULL[tier]) + input(lens, Diamond, 2) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(2)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(2)) + input(cableGtDouble, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_INPUT_HATCH_1024[actualTier]) + EUt(VA[tier]) + duration(30 * SECOND) + } // 1024A Laser Source Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(HULL[tier]) - .input(lens, Diamond, 2) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(2)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(2)) - .input(cableGtDouble, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_OUTPUT_HATCH_1024[actualTier]) - .EUt(VA[tier]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(HULL[tier]) + input(lens, Diamond, 2) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(2)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(2)) + input(cableGtDouble, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_OUTPUT_HATCH_1024[actualTier]) + EUt(VA[tier]) + duration(30 * SECOND) + } // 4096A Laser Target Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(HULL[tier]) - .input(lens, Diamond, 4) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(4)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(4)) - .input(cableGtQuadruple, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_INPUT_HATCH_4096[actualTier]) - .EUt(VA[tier]) - .duration(1 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(HULL[tier]) + input(lens, Diamond, 4) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(4)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(4)) + input(cableGtQuadruple, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_INPUT_HATCH_4096[actualTier]) + EUt(VA[tier]) + duration(1 * MINUTE) + } // 4096A Large Source Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(HULL[tier]) - .input(lens, Diamond, 4) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(4)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(4)) - .input(cableGtQuadruple, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_OUTPUT_HATCH_4096[actualTier]) - .EUt(VA[tier]) - .duration(1 * MINUTE) - .buildAndRegister() - } - // Advanced laser hatches consists of 16384A-1048576A, these recipes is added - // for these parts. + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(HULL[tier]) + input(lens, Diamond, 4) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(4)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(4)) + input(cableGtQuadruple, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_OUTPUT_HATCH_4096[actualTier]) + EUt(VA[tier]) + duration(1 * MINUTE) + } + } + // Advanced laser hatches consists of 16384A-1048576A, these recipes is added for these parts. for (tier in IV..OpV) { val actualTier = tier - IV // Because laser hatch start at IV stage. // 16384A Laser Target Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(HULL[tier]) - .input(lens, Diamond, 8) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(8)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(8)) - .input(cableGtOctal, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_INPUT_HATCH_16384[actualTier]) - .EUt(VA[tier]) - .duration(2 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(HULL[tier]) + input(lens, Diamond, 8) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(8)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(8)) + input(cableGtOctal, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_INPUT_HATCH_16384[actualTier]) + EUt(VA[tier]) + duration(2 * MINUTE) + } // 16384A Laser Source Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(HULL[tier]) - .input(lens, Diamond, 8) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(8)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(8)) - .input(cableGtOctal, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_OUTPUT_HATCH_16384[actualTier]) - .EUt(VA[tier]) - .duration(2 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(HULL[tier]) + input(lens, Diamond, 8) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(8)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(8)) + input(cableGtOctal, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_OUTPUT_HATCH_16384[actualTier]) + EUt(VA[tier]) + duration(2 * MINUTE) + } // 65536A Laser Target Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(HULL[tier]) - .input(lens, Diamond, 16) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(16)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(16)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_INPUT_HATCH_65536[actualTier]) - .EUt(VA[tier]) - .duration(4 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(HULL[tier]) + input(lens, Diamond, 16) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(16)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(16)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_INPUT_HATCH_65536[actualTier]) + EUt(VA[tier]) + duration(4 * MINUTE) + } // 65536A Laser Source Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(HULL[tier]) - .input(lens, Diamond, 16) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(16)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(16)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) - .output(LASER_OUTPUT_HATCH_65536[actualTier]) - .EUt(VA[tier]) - .duration(4 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(HULL[tier]) + input(lens, Diamond, 16) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(16)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(16)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 4) + output(LASER_OUTPUT_HATCH_65536[actualTier]) + EUt(VA[tier]) + duration(4 * MINUTE) + } // 262144A Laser Target Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(HULL[tier]) - .input(lens, Diamond, 32) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(32)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(32)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 8) - .output(LASER_INPUT_HATCH_262144[actualTier]) - .EUt(VA[tier]) - .duration(8 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(HULL[tier]) + input(lens, Diamond, 32) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(32)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(32)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 8) + output(LASER_INPUT_HATCH_262144[actualTier]) + EUt(VA[tier]) + duration(8 * MINUTE) + } // 262144A Laser Source Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(HULL[tier]) - .input(lens, Diamond, 32) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(32)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(32)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 8) - .output(LASER_OUTPUT_HATCH_262144[actualTier]) - .EUt(VA[tier]) - .duration(8 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(HULL[tier]) + input(lens, Diamond, 32) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(32)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(32)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 8) + output(LASER_OUTPUT_HATCH_262144[actualTier]) + EUt(VA[tier]) + duration(8 * MINUTE) + } // 1048576A Laser Target Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(HULL[tier]) - .input(lens, Diamond, 64) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 16) - .output(LASER_INPUT_HATCH_1048576[actualTier]) - .EUt(VA[tier]) - .duration(16 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(HULL[tier]) + input(lens, Diamond, 64) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 16) + output(LASER_INPUT_HATCH_1048576[actualTier]) + EUt(VA[tier]) + duration(16 * MINUTE) + } // 1048576A Laser Source Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(HULL[tier]) - .input(lens, Diamond, 64) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 16) - .output(LASER_OUTPUT_HATCH_1048576[actualTier]) - .EUt(VA[tier]) - .duration(16 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(HULL[tier]) + input(lens, Diamond, 64) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 16) + output(LASER_OUTPUT_HATCH_1048576[actualTier]) + EUt(VA[tier]) + duration(16 * MINUTE) + } } - } private fun voltageCoilRecipes() { // UHV Voltage Coil - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stick, ChromiumGermaniumTellurideMagnetic) - .input(wireFine, Taranium, 16) - .output(VOLTAGE_COIL_UHV) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stick, ChromiumGermaniumTellurideMagnetic) + input(wireFine, Taranium, 16) + output(VOLTAGE_COIL_UHV) + EUt(VA[UHV]) + duration(10 * SECOND) + } // UEV Voltage Coil - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stick, ChromiumGermaniumTellurideMagnetic) - .input(wireFine, MetastableOganesson, 16) - .output(VOLTAGE_COIL_UEV) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stick, ChromiumGermaniumTellurideMagnetic) + input(wireFine, MetastableOganesson, 16) + output(VOLTAGE_COIL_UEV) + EUt(VA[UEV]) + duration(10 * SECOND) + } // UIV Voltage Coil - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stick, Magnetium) - .input(wireFine, QuantumchromodynamicallyConfinedMatter, 16) - .output(VOLTAGE_COIL_UIV) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stick, Magnetium) + input(wireFine, QuantumchromodynamicallyConfinedMatter, 16) + output(VOLTAGE_COIL_UIV) + EUt(VA[UIV]) + duration(10 * SECOND) + } // UXV Voltage Coil - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stick, Magnetium) - .input(wireFine, Mellion, 16) - .output(VOLTAGE_COIL_UXV) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stick, Magnetium) + input(wireFine, Mellion, 16) + output(VOLTAGE_COIL_UXV) + EUt(VA[UXV]) + duration(10 * SECOND) + } // OpV Voltage Coil - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stick, Magnetium) - .input(wireFine, WhiteDwarfMatter, 16) - .output(VOLTAGE_COIL_OpV) - .EUt(VA[OpV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stick, Magnetium) + input(wireFine, WhiteDwarfMatter, 16) + output(VOLTAGE_COIL_OpV) + EUt(VA[OpV]) + duration(10 * SECOND) + } + + // TODO: Max Voltage Coil } private fun miningDroneRecipes() { // LV Mining Drone - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(circuit, MarkerMaterials.Tier.LV) - .input(toolHeadDrill, Steel, 2) - .input(EMITTER_LV) - .input(SENSOR_LV) - .input(rotor, Steel) - .input(cableGtSingle, Tin, 2) - .fluidInputs(TinAlloy.getFluid(L * 4)) - .output(MINING_DRONE_LV) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(12) + input(frameGt, Steel) + input(plate, Steel, 4) + input(circuit, Tier.LV) + input(toolHeadDrill, Steel, 2) + input(EMITTER_LV) + input(SENSOR_LV) + input(rotor, Steel) + input(cableGtSingle, Tin, 2) + fluidInputs(TinAlloy.getFluid(L * 4)) + output(MINING_DRONE_LV) + EUt(VA[LV]) + duration(10 * SECOND) + } // MV Mining Drone - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(frameGt, Aluminium) - .input(plate, Aluminium, 4) - .input(circuit, MarkerMaterials.Tier.MV) - .input(toolHeadDrill, Aluminium, 2) - .input(EMITTER_MV) - .input(SENSOR_MV) - .input(rotor, Aluminium) - .input(cableGtSingle, Copper, 2) - .fluidInputs(Kanthal.getFluid(L * 4)) - .output(MINING_DRONE_MV) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(12) + input(frameGt, Aluminium) + input(plate, Aluminium, 4) + input(circuit, Tier.MV) + input(toolHeadDrill, Aluminium, 2) + input(EMITTER_MV) + input(SENSOR_MV) + input(rotor, Aluminium) + input(cableGtSingle, Copper, 2) + fluidInputs(Kanthal.getFluid(L * 4)) + output(MINING_DRONE_MV) + EUt(VA[MV]) + duration(10 * SECOND) + } // HV Mining Drone - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(frameGt, StainlessSteel) - .input(plate, StainlessSteel, 6) - .input(circuit, MarkerMaterials.Tier.HV) - .input(toolHeadDrill, StainlessSteel, 4) - .input(EMITTER_HV) - .input(SENSOR_HV) - .input(rotor, StainlessSteel, 2) - .input(cableGtSingle, Gold, 2) - .fluidInputs(Nichrome.getFluid(L * 4)) - .output(MINING_DRONE_HV) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(12) + input(frameGt, StainlessSteel) + input(plate, StainlessSteel, 6) + input(circuit, Tier.HV) + input(toolHeadDrill, StainlessSteel, 4) + input(EMITTER_HV) + input(SENSOR_HV) + input(rotor, StainlessSteel, 2) + input(cableGtSingle, Gold, 2) + fluidInputs(Nichrome.getFluid(L * 4)) + output(MINING_DRONE_HV) + EUt(VA[HV]) + duration(10 * SECOND) + } // EV Mining Drone - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(frameGt, Titanium) - .input(plate, Titanium, 6) - .input(circuit, MarkerMaterials.Tier.EV) - .input(toolHeadDrill, Titanium, 4) - .input(EMITTER_EV) - .input(SENSOR_EV) - .input(rotor, Titanium, 2) - .input(cableGtSingle, Aluminium, 2) - .fluidInputs(TungstenCarbide.getFluid(L * 4)) - .output(MINING_DRONE_EV) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(12) + input(frameGt, Titanium) + input(plate, Titanium, 6) + input(circuit, Tier.EV) + input(toolHeadDrill, Titanium, 4) + input(EMITTER_EV) + input(SENSOR_EV) + input(rotor, Titanium, 2) + input(cableGtSingle, Aluminium, 2) + fluidInputs(TungstenCarbide.getFluid(L * 4)) + output(MINING_DRONE_EV) + EUt(VA[EV]) + duration(10 * SECOND) + } // IV Mining Drone - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(frameGt, TungstenSteel) - .input(plate, TungstenSteel, 8) - .input(circuit, MarkerMaterials.Tier.IV) - .input(toolHeadDrill, TungstenSteel, 6) - .input(EMITTER_IV) - .input(SENSOR_IV) - .input(rotor, TungstenSteel, 4) - .input(cableGtSingle, Platinum, 2) - .fluidInputs(Ultimet.getFluid(L * 4)) - .output(MINING_DRONE_IV) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(12) + input(frameGt, TungstenSteel) + input(plate, TungstenSteel, 8) + input(circuit, Tier.IV) + input(toolHeadDrill, TungstenSteel, 6) + input(EMITTER_IV) + input(SENSOR_IV) + input(rotor, TungstenSteel, 4) + input(cableGtSingle, Platinum, 2) + fluidInputs(Ultimet.getFluid(L * 4)) + output(MINING_DRONE_IV) + EUt(VA[IV]) + duration(10 * SECOND) + } } private fun miscItemsRecipes() { // Magnetron - ASSEMBLER_RECIPES.recipeBuilder() - .input(ring, BerylliumOxide, 64) - .input(ring, BerylliumOxide, 64) - .input(plate, HSLASteel, 6) - .input(VACUUM_TUBE) - .output(MAGNETRON) - .EUt(VA[IV]) - .duration(30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ring, BerylliumOxide, 64) + input(ring, BerylliumOxide, 64) + input(plate, HSLASteel, 6) + input(VACUUM_TUBE) + output(MAGNETRON) + EUt(VA[IV]) + duration(30 * SECOND) + } // Advanced recipe for Neutron Reflector. - ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, Osmiridium) - .input(plateDouble, BerylliumOxide, 4) - .input(plateDouble, TitaniumTungstenCarbide, 2) - .fluidInputs(TinAlloy.getFluid(L * 16)) - .output(NEUTRON_REFLECTOR, 4) - .EUt(VA[EV]) - .duration(40 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(plate, Osmiridium) + input(plateDouble, BerylliumOxide, 4) + input(plateDouble, TitaniumTungstenCarbide, 2) + fluidInputs(TinAlloy.getFluid(L * 16)) + output(NEUTRON_REFLECTOR, 4) + EUt(VA[EV]) + duration(40 * SECOND) + } // Ultimate recipe for Neutron Reflector. - ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, Pikyonium64B) - .input(plateDouble, TantalumCarbide, 4) - .input(plateDouble, TitanSteel, 2) - .fluidInputs(TinAlloy.getFluid(L * 8)) - .output(NEUTRON_REFLECTOR, 16) - .EUt(VA[LuV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(plate, Pikyonium64B) + input(plateDouble, TantalumCarbide, 4) + input(plateDouble, TitanSteel, 2) + fluidInputs(TinAlloy.getFluid(L * 8)) + output(NEUTRON_REFLECTOR, 16) + EUt(VA[LuV]) + duration(20 * SECOND) + } // Perfect recipe for Neutron Reflector. - ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, Lafium) - .input(plateDouble, TantalumHafniumSeaborgiumCarbide, 4) - .input(plateDouble, HDCS, 2) - .fluidInputs(TinAlloy.getFluid(L * 4)) - .output(NEUTRON_REFLECTOR, 64) - .EUt(VA[UV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(plate, Lafium) + input(plateDouble, TantalumHafniumSeaborgiumCarbide, 4) + input(plateDouble, HDCS, 2) + fluidInputs(TinAlloy.getFluid(L * 4)) + output(NEUTRON_REFLECTOR, 64) + EUt(VA[UV]) + duration(10 * SECOND) + } } private fun vanillaChangingRecipes() { // Elytra (vanilla) - ASSEMBLER_RECIPES.recipeBuilder() - .input(plate, Polytetrafluoroethylene, 2) - .input(plate, StainlessSteel) - .input(ring, StainlessSteel, 2) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .outputs(ItemStack(Items.ELYTRA)) - .EUt(VH[HV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(plate, Polytetrafluoroethylene, 2) + input(plate, StainlessSteel) + input(ring, StainlessSteel, 2) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + outputs(ELYTRA) + EUt(VH[HV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AssemblyLineRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AssemblyLineRecipes.kt index 1925f6957..d6895f73a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AssemblyLineRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AssemblyLineRecipes.kt @@ -13,7 +13,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.recipes.RecipeMaps.RESEARCH_STATION_RECIPES import gregtech.api.recipes.RecipeMaps.SCANNER_RECIPES @@ -88,7 +87,10 @@ import gregtechlite.gtlitecore.api.HOUR import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.extension.copy +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AxinoFusedRedMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter @@ -150,645 +152,645 @@ internal object AssemblyLineRecipes private fun miningDroneRecipes() { // LuV Mining Drone - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, RhodiumPlatedPalladium) - .input(plateDouble, RhodiumPlatedPalladium, 8) - .input(round, RhodiumPlatedPalladium, 16) - .input(EMITTER_LuV, 2) - .input(SENSOR_LuV, 2) - .input(ROBOT_ARM_LuV, 2) - .input(rotor, RhodiumPlatedPalladium, 4) - .input(toolHeadDrill, HSSE, 8) - .input(cableGtQuadruple, NiobiumTitanium, 2) - .input(circuit, Tier.LuV, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(DrillingFluid.getFluid(2000)) - .output(MINING_DRONE_LuV) - .EUt(VA[LuV]) - .duration(30 * SECOND) - .scannerResearch { - it.researchStack(MINING_DRONE_IV.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, RhodiumPlatedPalladium) + input(plateDouble, RhodiumPlatedPalladium, 8) + input(round, RhodiumPlatedPalladium, 16) + input(EMITTER_LuV, 2) + input(SENSOR_LuV, 2) + input(ROBOT_ARM_LuV, 2) + input(rotor, RhodiumPlatedPalladium, 4) + input(toolHeadDrill, HSSE, 8) + input(cableGtQuadruple, NiobiumTitanium, 2) + input(circuit, Tier.LuV, 4) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(DrillingFluid.getFluid(2000)) + output(MINING_DRONE_LuV) + EUt(VA[LuV]) + duration(30 * SECOND) + scannerResearch { + it.researchStack(MINING_DRONE_IV.stack()) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM Mining Drone - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, NaquadahAlloy) - .input(plateDouble, NaquadahAlloy, 8) - .input(round, NaquadahAlloy, 16) - .input(EMITTER_ZPM, 2) - .input(SENSOR_ZPM, 2) - .input(ROBOT_ARM_ZPM, 2) - .input(rotor, NaquadahAlloy, 4) - .input(toolHeadDrill, NaquadahAlloy, 8) - .input(cableGtQuadruple, VanadiumGallium, 2) - .input(circuit, Tier.ZPM, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(DrillingFluid.getFluid(4000)) - .output(MINING_DRONE_ZPM) - .EUt(VA[ZPM]) - .duration(30 * SECOND) - .stationResearch { - it.researchStack(MINING_DRONE_LuV.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, NaquadahAlloy) + input(plateDouble, NaquadahAlloy, 8) + input(round, NaquadahAlloy, 16) + input(EMITTER_ZPM, 2) + input(SENSOR_ZPM, 2) + input(ROBOT_ARM_ZPM, 2) + input(rotor, NaquadahAlloy, 4) + input(toolHeadDrill, NaquadahAlloy, 8) + input(cableGtQuadruple, VanadiumGallium, 2) + input(circuit, Tier.ZPM, 4) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(DrillingFluid.getFluid(4000)) + output(MINING_DRONE_ZPM) + EUt(VA[ZPM]) + duration(30 * SECOND) + stationResearch { + it.researchStack(MINING_DRONE_LuV.stack()) .EUt(VA[LuV]) .CWUt(4) } - .buildAndRegister() + } // UV Mining Drone - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Darmstadtium) - .input(plateDouble, Darmstadtium, 12) - .input(round, Darmstadtium, 16) - .input(EMITTER_UV, 2) - .input(SENSOR_UV, 2) - .input(ROBOT_ARM_UV, 2) - .input(rotor, Darmstadtium, 4) - .input(toolHeadDrill, Duranium, 16) - .input(cableGtQuadruple, YttriumBariumCuprate, 2) - .input(circuit, Tier.UV, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(DrillingFluid.getFluid(8000)) - .output(MINING_DRONE_UV) - .EUt(VA[UV]) - .duration(30 * SECOND) - .stationResearch { - it.researchStack(MINING_DRONE_ZPM.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Darmstadtium) + input(plateDouble, Darmstadtium, 12) + input(round, Darmstadtium, 16) + input(EMITTER_UV, 2) + input(SENSOR_UV, 2) + input(ROBOT_ARM_UV, 2) + input(rotor, Darmstadtium, 4) + input(toolHeadDrill, Duranium, 16) + input(cableGtQuadruple, YttriumBariumCuprate, 2) + input(circuit, Tier.UV, 4) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(DrillingFluid.getFluid(8000)) + output(MINING_DRONE_UV) + EUt(VA[UV]) + duration(30 * SECOND) + stationResearch { + it.researchStack(MINING_DRONE_ZPM.stack()) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV Mining Drone - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium) - .input(plateDouble, Neutronium, 12) - .input(round, Neutronium, 16) - .input(EMITTER_UHV, 2) - .input(SENSOR_UHV, 2) - .input(ROBOT_ARM_UHV, 2) - .input(rotor, Neutronium, 4) - .input(toolHeadDrill, EnrichedNaquadahAlloy, 16) - .input(cableGtQuadruple, Europium, 2) - .input(circuit, Tier.UHV, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(DrillingFluid.getFluid(16000)) - .output(MINING_DRONE_UHV) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { - it.researchStack(MINING_DRONE_UV.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium) + input(plateDouble, Neutronium, 12) + input(round, Neutronium, 16) + input(EMITTER_UHV, 2) + input(SENSOR_UHV, 2) + input(ROBOT_ARM_UHV, 2) + input(rotor, Neutronium, 4) + input(toolHeadDrill, EnrichedNaquadahAlloy, 16) + input(cableGtQuadruple, Europium, 2) + input(circuit, Tier.UHV, 4) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(DrillingFluid.getFluid(16000)) + output(MINING_DRONE_UHV) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { + it.researchStack(MINING_DRONE_UV.stack()) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV Mining Drone - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Vibranium) - .input(plateDouble, Vibranium, 16) - .input(round, Vibranium, 32) - .input(EMITTER_UEV, 2) - .input(SENSOR_UEV, 2) - .input(ROBOT_ARM_UEV, 2) - .input(rotor, Vibranium, 4) - .input(toolHeadDrill, Adamantium, 16) - .input(cableGtQuadruple, Seaborgium, 2) - .input(circuit, Tier.UEV, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(DrillingFluid.getFluid(32000)) - .output(MINING_DRONE_UEV) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .stationResearch { - it.researchStack(MINING_DRONE_UHV.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Vibranium) + input(plateDouble, Vibranium, 16) + input(round, Vibranium, 32) + input(EMITTER_UEV, 2) + input(SENSOR_UEV, 2) + input(ROBOT_ARM_UEV, 2) + input(rotor, Vibranium, 4) + input(toolHeadDrill, Adamantium, 16) + input(cableGtQuadruple, Seaborgium, 2) + input(circuit, Tier.UEV, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(DrillingFluid.getFluid(32000)) + output(MINING_DRONE_UEV) + EUt(VA[UEV]) + duration(30 * SECOND) + stationResearch { + it.researchStack(MINING_DRONE_UHV.stack()) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV Mining Drone - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Shirabon) - .input(plateDouble, Shirabon, 16) - .input(round, Shirabon, 32) - .input(EMITTER_UIV, 2) - .input(SENSOR_UIV, 2) - .input(ROBOT_ARM_UIV, 2) - .input(rotor, Shirabon, 4) - .input(toolHeadDrill, Rhugnor, 16) - .input(cableGtQuadruple, SuperheavyAlloyA, 2) - .input(circuit, Tier.UIV, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(DrillingFluid.getFluid(64000)) - .output(MINING_DRONE_UIV) - .EUt(VA[UIV]) - .duration(30 * SECOND) - .stationResearch { - it.researchStack(MINING_DRONE_UEV.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Shirabon) + input(plateDouble, Shirabon, 16) + input(round, Shirabon, 32) + input(EMITTER_UIV, 2) + input(SENSOR_UIV, 2) + input(ROBOT_ARM_UIV, 2) + input(rotor, Shirabon, 4) + input(toolHeadDrill, Rhugnor, 16) + input(cableGtQuadruple, SuperheavyAlloyA, 2) + input(circuit, Tier.UIV, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(DrillingFluid.getFluid(64000)) + output(MINING_DRONE_UIV) + EUt(VA[UIV]) + duration(30 * SECOND) + stationResearch { + it.researchStack(MINING_DRONE_UEV.stack()) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // UXV Mining Drone - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Creon) - .input(plateDouble, Creon, 32) - .input(round, Creon, 64) - .input(EMITTER_UXV, 2) - .input(SENSOR_UXV, 2) - .input(ROBOT_ARM_UXV, 2) - .input(rotor, Creon, 8) - .input(toolHeadDrill, Legendarium, 16) - .input(cableGtQuadruple, SuperheavyAlloyB, 2) - .input(circuit, Tier.UXV, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(DrillingFluid.getFluid(128000)) - .output(MINING_DRONE_UXV) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .stationResearch { - it.researchStack(MINING_DRONE_UIV.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Creon) + input(plateDouble, Creon, 32) + input(round, Creon, 64) + input(EMITTER_UXV, 2) + input(SENSOR_UXV, 2) + input(ROBOT_ARM_UXV, 2) + input(rotor, Creon, 8) + input(toolHeadDrill, Legendarium, 16) + input(cableGtQuadruple, SuperheavyAlloyB, 2) + input(circuit, Tier.UXV, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(DrillingFluid.getFluid(128000)) + output(MINING_DRONE_UXV) + EUt(VA[UXV]) + duration(30 * SECOND) + stationResearch { + it.researchStack(MINING_DRONE_UIV.stack()) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // OpV Mining Drone - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, BlackDwarfMatter) - .input(plateDouble, BlackDwarfMatter, 32) - .input(round, BlackDwarfMatter, 64) - .input(EMITTER_OpV, 2) - .input(SENSOR_OpV, 2) - .input(ROBOT_ARM_OpV, 2) - .input(rotor, BlackDwarfMatter, 8) - .input(toolHeadDrill, Creon, 16) - .input(cableGtQuadruple, Periodicium, 2) - .input(circuit, Tier.OpV, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(DrillingFluid.getFluid(256000)) - .output(MINING_DRONE_OpV) - .EUt(VA[OpV]) - .duration(30 * SECOND) - .stationResearch { - it.researchStack(MINING_DRONE_UXV.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, BlackDwarfMatter) + input(plateDouble, BlackDwarfMatter, 32) + input(round, BlackDwarfMatter, 64) + input(EMITTER_OpV, 2) + input(SENSOR_OpV, 2) + input(ROBOT_ARM_OpV, 2) + input(rotor, BlackDwarfMatter, 8) + input(toolHeadDrill, Creon, 16) + input(cableGtQuadruple, Periodicium, 2) + input(circuit, Tier.OpV, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(DrillingFluid.getFluid(256000)) + output(MINING_DRONE_OpV) + EUt(VA[OpV]) + duration(30 * SECOND) + stationResearch { + it.researchStack(MINING_DRONE_UXV.stack()) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // MAX Mining Drones - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, AxinoFusedRedMatter) - .input(plateDouble, AxinoFusedRedMatter, 32) - .input(round, AxinoFusedRedMatter, 64) - .input(EMITTER_MAX, 2) - .input(SENSOR_MAX, 2) - .input(ROBOT_ARM_MAX, 2) - .input(rotor, AxinoFusedRedMatter, 8) - .input(toolHeadDrill, AxinoFusedRedMatter, 16) - .input(cableGtQuadruple, RealizedQuantumFoamShard, 2) - .input(circuit, Tier.MAX, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(DrillingFluid.getFluid(512000)) - .output(MINING_DRONE_MAX) - .EUt(VA[MAX]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, AxinoFusedRedMatter) + input(plateDouble, AxinoFusedRedMatter, 32) + input(round, AxinoFusedRedMatter, 64) + input(EMITTER_MAX, 2) + input(SENSOR_MAX, 2) + input(ROBOT_ARM_MAX, 2) + input(rotor, AxinoFusedRedMatter, 8) + input(toolHeadDrill, AxinoFusedRedMatter, 16) + input(cableGtQuadruple, RealizedQuantumFoamShard, 2) + input(circuit, Tier.MAX, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(DrillingFluid.getFluid(512000)) + output(MINING_DRONE_MAX) + EUt(VA[MAX]) + duration(30 * SECOND) + stationResearch { it.researchStack(MINING_DRONE_OpV) .EUt(VA[OpV]) .CWUt(160) } - .buildAndRegister() + } } private fun energyHatchesRecipes() { // LuV Energy Hatch - GTRecipeHandler.removeRecipesByInputs(SCANNER_RECIPES, - TOOL_DATA_STICK.stackForm, ENERGY_INPUT_HATCH[IV].stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, - arrayOf(HULL[LuV].stackForm, - OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4), - HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), - OreDictUnifier.get(circuit, Tier.LuV), - VOLTAGE_COIL_LuV.getStackForm(2)), - arrayOf(SodiumPotassium.getFluid(6000), SolderingAlloy.getFluid(L * 5))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[LuV]) - .input(cableGtSingle, NiobiumTitanium, 2) - .input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(circuit, Tier.LuV) - .input(VOLTAGE_COIL_LuV, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 5)) - .fluidInputs(SodiumPotassium.getFluid(4000)) - .output(ENERGY_INPUT_HATCH[LuV]) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .scannerResearch { + SCANNER_RECIPES.removeRecipe(TOOL_DATA_STICK.stack(), ENERGY_INPUT_HATCH[IV].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(HULL[LuV].stack(), + OreDictUnifier.get(cableGtSingle, NiobiumTitanium, 4), + HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), + OreDictUnifier.get(circuit, Tier.LuV), + VOLTAGE_COIL_LuV.getStackForm(2)), + arrayOf(SodiumPotassium.getFluid(6000), + SolderingAlloy.getFluid(L * 5))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[LuV]) + input(cableGtSingle, NiobiumTitanium, 2) + input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(circuit, Tier.LuV) + input(VOLTAGE_COIL_LuV, 2) + fluidInputs(SolderingAlloy.getFluid(L * 5)) + fluidInputs(SodiumPotassium.getFluid(4000)) + output(ENERGY_INPUT_HATCH[LuV]) + EUt(VA[LuV]) + duration(10 * SECOND) + scannerResearch { it.researchStack(ENERGY_INPUT_HATCH[IV]) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // LuV Dynamo Hatch - GTRecipeHandler.removeRecipesByInputs(SCANNER_RECIPES, - TOOL_DATA_STICK.stackForm, ENERGY_OUTPUT_HATCH[IV].stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, - arrayOf(HULL[LuV].stackForm, - OreDictUnifier.get(spring, NiobiumTitanium, 4), - HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), - OreDictUnifier.get(circuit, Tier.LuV), - VOLTAGE_COIL_LuV.getStackForm(2)), - arrayOf(SodiumPotassium.getFluid(6000), SolderingAlloy.getFluid(L * 5))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[LuV]) - .input(spring, NiobiumTitanium, 2) - .input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(circuit, Tier.LuV) - .input(VOLTAGE_COIL_LuV, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 5)) - .fluidInputs(SodiumPotassium.getFluid(4000)) - .output(ENERGY_OUTPUT_HATCH[LuV]) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .scannerResearch { + SCANNER_RECIPES.removeRecipe(TOOL_DATA_STICK.stack(), ENERGY_OUTPUT_HATCH[IV].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(HULL[LuV].stack(), + OreDictUnifier.get(spring, NiobiumTitanium, 4), + HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), + OreDictUnifier.get(circuit, Tier.LuV), + VOLTAGE_COIL_LuV.getStackForm(2)), + arrayOf(SodiumPotassium.getFluid(6000), + SolderingAlloy.getFluid(L * 5))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[LuV]) + input(spring, NiobiumTitanium, 2) + input(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(circuit, Tier.LuV) + input(VOLTAGE_COIL_LuV, 2) + fluidInputs(SolderingAlloy.getFluid(L * 5)) + fluidInputs(SodiumPotassium.getFluid(4000)) + output(ENERGY_OUTPUT_HATCH[LuV]) + EUt(VA[LuV]) + duration(10 * SECOND) + scannerResearch { it.researchStack(ENERGY_OUTPUT_HATCH[IV]) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM Energy Hatch - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_ORB.stackForm, ENERGY_INPUT_HATCH[LuV].stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, - arrayOf(HULL[ZPM].stackForm, - OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), - OreDictUnifier.get(circuit, Tier.ZPM), - VOLTAGE_COIL_ZPM.getStackForm(2)), - arrayOf(SodiumPotassium.getFluid(8000), SolderingAlloy.getFluid(L * 10))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[ZPM]) - .input(cableGtSingle, VanadiumGallium, 2) - .input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(circuit, Tier.ZPM) - .input(VOLTAGE_COIL_ZPM, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .fluidInputs(SodiumPotassium.getFluid(8000)) - .output(ENERGY_INPUT_HATCH[ZPM]) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .scannerResearch { + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_ORB.stack(), ENERGY_INPUT_HATCH[LuV].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(HULL[ZPM].stack(), + OreDictUnifier.get(cableGtSingle, VanadiumGallium, 4), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), + OreDictUnifier.get(circuit, Tier.ZPM), + VOLTAGE_COIL_ZPM.getStackForm(2)), + arrayOf(SodiumPotassium.getFluid(8000), + SolderingAlloy.getFluid(L * 10))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[ZPM]) + input(cableGtSingle, VanadiumGallium, 2) + input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(circuit, Tier.ZPM) + input(VOLTAGE_COIL_ZPM, 2) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + fluidInputs(SodiumPotassium.getFluid(8000)) + output(ENERGY_INPUT_HATCH[ZPM]) + EUt(VA[ZPM]) + duration(10 * SECOND) + scannerResearch { it.researchStack(ENERGY_INPUT_HATCH[LuV]) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM Dynamo Hatch - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_ORB.stackForm, ENERGY_OUTPUT_HATCH[LuV].stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, - arrayOf(HULL[ZPM].stackForm, - OreDictUnifier.get(spring, VanadiumGallium, 4), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), - OreDictUnifier.get(circuit, Tier.ZPM), - VOLTAGE_COIL_ZPM.getStackForm(2)), - arrayOf(SodiumPotassium.getFluid(8000), SolderingAlloy.getFluid(L * 10))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[ZPM]) - .input(spring, VanadiumGallium, 2) - .input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(circuit, Tier.ZPM) - .input(VOLTAGE_COIL_ZPM, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .fluidInputs(SodiumPotassium.getFluid(8000)) - .output(ENERGY_OUTPUT_HATCH[ZPM]) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .scannerResearch { + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_ORB.stack(), ENERGY_OUTPUT_HATCH[LuV].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(HULL[ZPM].stack(), + OreDictUnifier.get(spring, VanadiumGallium, 4), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), + OreDictUnifier.get(circuit, Tier.ZPM), + VOLTAGE_COIL_ZPM.getStackForm(2)), + arrayOf(SodiumPotassium.getFluid(8000), + SolderingAlloy.getFluid(L * 10))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[ZPM]) + input(spring, VanadiumGallium, 2) + input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(circuit, Tier.ZPM) + input(VOLTAGE_COIL_ZPM, 2) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + fluidInputs(SodiumPotassium.getFluid(8000)) + output(ENERGY_OUTPUT_HATCH[ZPM]) + EUt(VA[ZPM]) + duration(10 * SECOND) + scannerResearch { it.researchStack(ENERGY_OUTPUT_HATCH[LuV]) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // UV Energy Hatch - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_MODULE.stackForm, ENERGY_INPUT_HATCH[ZPM].stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, - arrayOf(HULL[UV].stackForm, - OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), - OreDictUnifier.get(circuit, Tier.UV), - VOLTAGE_COIL_UV.getStackForm(2)), - arrayOf(SodiumPotassium.getFluid(10000), SolderingAlloy.getFluid(L * 20))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UV]) - .input(cableGtSingle, YttriumBariumCuprate, 4) - .input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(circuit, Tier.UV) - .input(VOLTAGE_COIL_UV, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(SodiumPotassium.getFluid(12000)) - .output(ENERGY_INPUT_HATCH[UV]) - .EUt(VA[UV]) - .duration(10 * SECOND) - .stationResearch { + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_MODULE.stack(), ENERGY_INPUT_HATCH[ZPM].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(HULL[UV].stack(), + OreDictUnifier.get(cableGtSingle, YttriumBariumCuprate, 4), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), + OreDictUnifier.get(circuit, Tier.UV), + VOLTAGE_COIL_UV.getStackForm(2)), + arrayOf(SodiumPotassium.getFluid(10000), + SolderingAlloy.getFluid(L * 20))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UV]) + input(cableGtSingle, YttriumBariumCuprate, 4) + input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(circuit, Tier.UV) + input(VOLTAGE_COIL_UV, 2) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(SodiumPotassium.getFluid(12000)) + output(ENERGY_INPUT_HATCH[UV]) + EUt(VA[UV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_INPUT_HATCH[ZPM]) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UV Dynamo Hatch - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_MODULE.stackForm, ENERGY_OUTPUT_HATCH[ZPM].stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, - arrayOf(HULL[UV].stackForm, - OreDictUnifier.get(spring, YttriumBariumCuprate, 4), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), - OreDictUnifier.get(circuit, Tier.UV), - VOLTAGE_COIL_UV.getStackForm(2)), - arrayOf(SodiumPotassium.getFluid(10000), SolderingAlloy.getFluid(L * 20))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UV]) - .input(spring, YttriumBariumCuprate, 4) - .input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .input(circuit, Tier.UV) - .input(VOLTAGE_COIL_UV, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(SodiumPotassium.getFluid(12000)) - .output(ENERGY_OUTPUT_HATCH[UV]) - .EUt(VA[UV]) - .duration(10 * SECOND) - .stationResearch { + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_MODULE.stack(), ENERGY_OUTPUT_HATCH[ZPM].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(HULL[UV].stack(), + OreDictUnifier.get(spring, YttriumBariumCuprate, 4), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), + OreDictUnifier.get(circuit, Tier.UV), + VOLTAGE_COIL_UV.getStackForm(2)), + arrayOf(SodiumPotassium.getFluid(10000), + SolderingAlloy.getFluid(L * 20))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UV]) + input(spring, YttriumBariumCuprate, 4) + input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + input(circuit, Tier.UV) + input(VOLTAGE_COIL_UV, 2) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(SodiumPotassium.getFluid(12000)) + output(ENERGY_OUTPUT_HATCH[UV]) + EUt(VA[UV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_OUTPUT_HATCH[ZPM]) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // UHV Energy Hatch - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_MODULE.stackForm, ENERGY_INPUT_HATCH[UV].stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, - arrayOf(HULL[UHV].stackForm, - OreDictUnifier.get(cableGtSingle, Europium, 4), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), - OreDictUnifier.get(circuit, Tier.UHV), - OreDictUnifier.get(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 2)), - arrayOf(SodiumPotassium.getFluid(12000), SolderingAlloy.getFluid(L * 40))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UHV]) - .input(cableGtSingle, Europium, 4) - .input(NANO_PIC_CHIP, 2) - .input(circuit, Tier.UHV) - .input(VOLTAGE_COIL_UHV, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(16000)) - .output(ENERGY_INPUT_HATCH[UHV]) - .EUt(VA[UV]) - .duration(10 * SECOND) - .stationResearch { + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_MODULE.stack(), ENERGY_INPUT_HATCH[UV].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(HULL[UHV].stack(), + OreDictUnifier.get(cableGtSingle, Europium, 4), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), + OreDictUnifier.get(circuit, Tier.UHV), + OreDictUnifier.get(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 2)), + arrayOf(SodiumPotassium.getFluid(12000), + SolderingAlloy.getFluid(L * 40))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UHV]) + input(cableGtSingle, Europium, 4) + input(NANO_PIC_CHIP, 2) + input(circuit, Tier.UHV) + input(VOLTAGE_COIL_UHV, 2) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(SodiumPotassiumEutatic.getFluid(16000)) + output(ENERGY_INPUT_HATCH[UHV]) + EUt(VA[UV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_INPUT_HATCH[UV]) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UHV Dynamo Hatch - GTRecipeHandler.removeRecipesByInputs(RESEARCH_STATION_RECIPES, - TOOL_DATA_MODULE.stackForm, ENERGY_OUTPUT_HATCH[UV].stackForm) - GTRecipeHandler.removeRecipesByInputs(ASSEMBLY_LINE_RECIPES, - arrayOf(HULL[UHV].stackForm, - OreDictUnifier.get(spring, Europium, 4), - ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), - OreDictUnifier.get(circuit, Tier.UHV), - OreDictUnifier.get(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 2)), - arrayOf(SodiumPotassium.getFluid(12000), SolderingAlloy.getFluid(L * 40))) - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UHV]) - .input(spring, Europium, 4) - .input(NANO_PIC_CHIP, 2) - .input(circuit, Tier.UHV) - .input(VOLTAGE_COIL_UHV, 2) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(16000)) - .output(ENERGY_OUTPUT_HATCH[UHV]) - .EUt(VA[UV]) - .duration(10 * SECOND) - .stationResearch { + RESEARCH_STATION_RECIPES.removeRecipe(TOOL_DATA_MODULE.stack(), ENERGY_OUTPUT_HATCH[UV].stack()) + ASSEMBLY_LINE_RECIPES.removeRecipe( + arrayOf(HULL[UHV].stack(), + OreDictUnifier.get(spring, Europium, 4), + ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2), + OreDictUnifier.get(circuit, Tier.UHV), + OreDictUnifier.get(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 2)), + arrayOf(SodiumPotassium.getFluid(12000), + SolderingAlloy.getFluid(L * 40))) + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UHV]) + input(spring, Europium, 4) + input(NANO_PIC_CHIP, 2) + input(circuit, Tier.UHV) + input(VOLTAGE_COIL_UHV, 2) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(SodiumPotassiumEutatic.getFluid(16000)) + output(ENERGY_OUTPUT_HATCH[UHV]) + EUt(VA[UV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_OUTPUT_HATCH[UV]) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // UEV Energy Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UEV]) - .input(cableGtSingle, Seaborgium, 4) - .input(NANO_PIC_CHIP, 4) - .input(circuit, Tier.UEV) - .input(VOLTAGE_COIL_UEV, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(18000)) - .output(ENERGY_INPUT_HATCH[UEV]) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UEV]) + input(cableGtSingle, Seaborgium, 4) + input(NANO_PIC_CHIP, 4) + input(circuit, Tier.UEV) + input(VOLTAGE_COIL_UEV, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(SodiumPotassiumEutatic.getFluid(18000)) + output(ENERGY_INPUT_HATCH[UEV]) + EUt(VA[UHV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_INPUT_HATCH[UHV]) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UEV Dynamo Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UEV]) - .input(spring, Seaborgium, 4) - .input(NANO_PIC_CHIP, 4) - .input(circuit, Tier.UEV) - .input(VOLTAGE_COIL_UEV, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(18000)) - .output(ENERGY_OUTPUT_HATCH[UEV]) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UEV]) + input(spring, Seaborgium, 4) + input(NANO_PIC_CHIP, 4) + input(circuit, Tier.UEV) + input(VOLTAGE_COIL_UEV, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(SodiumPotassiumEutatic.getFluid(18000)) + output(ENERGY_OUTPUT_HATCH[UEV]) + EUt(VA[UHV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_OUTPUT_HATCH[UHV]) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // UIV Energy Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UIV]) - .input(cableGtSingle, SuperheavyAlloyA, 4) - .input(PICO_PIC_CHIP, 4) - .input(circuit, Tier.UIV) - .input(VOLTAGE_COIL_UIV, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 160)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(20000)) - .output(ENERGY_INPUT_HATCH[UIV]) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UIV]) + input(cableGtSingle, SuperheavyAlloyA, 4) + input(PICO_PIC_CHIP, 4) + input(circuit, Tier.UIV) + input(VOLTAGE_COIL_UIV, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 160)) + fluidInputs(SodiumPotassiumEutatic.getFluid(20000)) + output(ENERGY_INPUT_HATCH[UIV]) + EUt(VA[UEV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_INPUT_HATCH[UEV]) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() + } // UIV Dynamo Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UIV]) - .input(spring, SuperheavyAlloyA, 4) - .input(PICO_PIC_CHIP, 4) - .input(circuit, Tier.UIV) - .input(VOLTAGE_COIL_UIV, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 160)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(20000)) - .output(ENERGY_OUTPUT_HATCH[UIV]) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UIV]) + input(spring, SuperheavyAlloyA, 4) + input(PICO_PIC_CHIP, 4) + input(circuit, Tier.UIV) + input(VOLTAGE_COIL_UIV, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 160)) + fluidInputs(SodiumPotassiumEutatic.getFluid(20000)) + output(ENERGY_OUTPUT_HATCH[UIV]) + EUt(VA[UEV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_OUTPUT_HATCH[UEV]) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() + } // UXV Energy Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UXV]) - .input(cableGtSingle, SuperheavyAlloyB, 4) - .input(PICO_PIC_CHIP, 4) - .input(circuit, Tier.UXV) - .input(VOLTAGE_COIL_UXV, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 320)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(40000)) - .output(ENERGY_INPUT_HATCH[UXV]) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UXV]) + input(cableGtSingle, SuperheavyAlloyB, 4) + input(PICO_PIC_CHIP, 4) + input(circuit, Tier.UXV) + input(VOLTAGE_COIL_UXV, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 320)) + fluidInputs(SodiumPotassiumEutatic.getFluid(40000)) + output(ENERGY_INPUT_HATCH[UXV]) + EUt(VA[UIV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_INPUT_HATCH[UIV]) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() + } // UXV Dynamo Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UXV]) - .input(spring, SuperheavyAlloyB, 4) - .input(PICO_PIC_CHIP, 4) - .input(circuit, Tier.UXV) - .input(VOLTAGE_COIL_UXV, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 320)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(40000)) - .output(ENERGY_OUTPUT_HATCH[UXV]) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UXV]) + input(spring, SuperheavyAlloyB, 4) + input(PICO_PIC_CHIP, 4) + input(circuit, Tier.UXV) + input(VOLTAGE_COIL_UXV, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 320)) + fluidInputs(SodiumPotassiumEutatic.getFluid(40000)) + output(ENERGY_OUTPUT_HATCH[UXV]) + EUt(VA[UIV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_OUTPUT_HATCH[UIV]) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() + } // OpV Energy Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[OpV]) - .input(cableGtSingle, Periodicium, 4) - .input(FEMTO_PIC_CHIP, 4) - .input(circuit, Tier.OpV) - .input(VOLTAGE_COIL_OpV, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 640)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(80000)) - .output(ENERGY_INPUT_HATCH[OpV]) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[OpV]) + input(cableGtSingle, Periodicium, 4) + input(FEMTO_PIC_CHIP, 4) + input(circuit, Tier.OpV) + input(VOLTAGE_COIL_OpV, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 640)) + fluidInputs(SodiumPotassiumEutatic.getFluid(80000)) + output(ENERGY_INPUT_HATCH[OpV]) + EUt(VA[UXV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_INPUT_HATCH[UXV]) .EUt(VA[UXV]) .CWUt(96) } - .buildAndRegister() + } // OpV Dynamo Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[OpV]) - .input(spring, Periodicium, 4) - .input(FEMTO_PIC_CHIP, 4) - .input(circuit, Tier.OpV) - .input(VOLTAGE_COIL_OpV, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 640)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(80000)) - .output(ENERGY_OUTPUT_HATCH[OpV]) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[OpV]) + input(spring, Periodicium, 4) + input(FEMTO_PIC_CHIP, 4) + input(circuit, Tier.OpV) + input(VOLTAGE_COIL_OpV, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 640)) + fluidInputs(SodiumPotassiumEutatic.getFluid(80000)) + output(ENERGY_OUTPUT_HATCH[OpV]) + EUt(VA[UXV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_OUTPUT_HATCH[UXV]) .EUt(VA[UXV]) .CWUt(96) } - .buildAndRegister() + } // MAX Energy Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[MAX]) - .input(cableGtSingle, RealizedQuantumFoamShard, 4) - .input(FEMTO_PIC_CHIP, 4) - .input(circuit, Tier.MAX) - .input(VOLTAGE_COIL_MAX, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(160000)) - .output(ENERGY_INPUT_HATCH[MAX]) - .EUt(VA[OpV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[MAX]) + input(cableGtSingle, RealizedQuantumFoamShard, 4) + input(FEMTO_PIC_CHIP, 4) + input(circuit, Tier.MAX) + input(VOLTAGE_COIL_MAX, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) + fluidInputs(SodiumPotassiumEutatic.getFluid(160000)) + output(ENERGY_INPUT_HATCH[MAX]) + EUt(VA[OpV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_INPUT_HATCH[OpV]) .EUt(VA[OpV]) .CWUt(128) } - .buildAndRegister() + } // MAX Dynamo Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[MAX]) - .input(spring, RealizedQuantumFoamShard, 4) - .input(FEMTO_PIC_CHIP, 4) - .input(circuit, Tier.MAX) - .input(VOLTAGE_COIL_MAX, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) - .fluidInputs(SodiumPotassiumEutatic.getFluid(160000)) - .output(ENERGY_OUTPUT_HATCH[MAX]) - .EUt(VA[OpV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[MAX]) + input(spring, RealizedQuantumFoamShard, 4) + input(FEMTO_PIC_CHIP, 4) + input(circuit, Tier.MAX) + input(VOLTAGE_COIL_MAX, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) + fluidInputs(SodiumPotassiumEutatic.getFluid(160000)) + output(ENERGY_OUTPUT_HATCH[MAX]) + EUt(VA[OpV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ENERGY_OUTPUT_HATCH[OpV]) .EUt(VA[OpV]) .CWUt(128) } - .buildAndRegister() + } } @@ -799,103 +801,101 @@ internal object AssemblyLineRecipes { val actualTier = tier - IV // Because laser hatch start at IV stage. // 4194304A Laser Target Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[tier]) - .input(lens, Diamond, 64) - .input(lens, Diamond, 64) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 32) - .fluidInputs(Neutronium.getFluid(L * (actualTier + 1))) - .output(LASER_INPUT_HATCH_4194304[actualTier]) - .EUt(VA[tier]) - .duration(32 * MINUTE) - .scannerResearch { - it.researchStack(LASER_INPUT_HATCH_1048576[actualTier].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[tier]) + input(lens, Diamond, 64) + input(lens, Diamond, 64) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 32) + fluidInputs(Neutronium.getFluid(L * (actualTier + 1))) + output(LASER_INPUT_HATCH_4194304[actualTier]) + EUt(VA[tier]) + duration(32 * MINUTE) + scannerResearch { + it.researchStack(LASER_INPUT_HATCH_1048576[actualTier].stack()) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // 4194304A Laser Source Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[tier]) - .input(lens, Diamond, 64) - .input(lens, Diamond, 64) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 32) - .fluidInputs(Neutronium.getFluid(L * (actualTier + 1))) - .output(LASER_OUTPUT_HATCH_4194304[actualTier]) - .EUt(VA[tier]) - .duration(32 * MINUTE) - .scannerResearch { - it.researchStack(LASER_OUTPUT_HATCH_1048576[actualTier].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[tier]) + input(lens, Diamond, 64) + input(lens, Diamond, 64) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 32) + fluidInputs(Neutronium.getFluid(L * (actualTier + 1))) + output(LASER_OUTPUT_HATCH_4194304[actualTier]) + EUt(VA[tier]) + duration(32 * MINUTE) + scannerResearch { + it.researchStack(LASER_OUTPUT_HATCH_1048576[actualTier].stack()) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // 16777216A Laser Target Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[tier]) - .input(lens, Diamond, 64) - .input(lens, Diamond, 64) - .input(lens, Diamond, 64) - .input(lens, Diamond, 64) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 64) - .fluidInputs(SpaceTime.getFluid(L * (actualTier + 1))) - .output(LASER_INPUT_HATCH_16777216[actualTier]) - .EUt(VA[tier]) - .duration(1 * HOUR + 4 * MINUTE) - .stationResearch { - it.researchStack(LASER_INPUT_HATCH_4194304[actualTier].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[tier]) + input(lens, Diamond, 64) + input(lens, Diamond, 64) + input(lens, Diamond, 64) + input(lens, Diamond, 64) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.SENSOR.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 64) + fluidInputs(SpaceTime.getFluid(L * (actualTier + 1))) + output(LASER_INPUT_HATCH_16777216[actualTier]) + EUt(VA[tier]) + duration(1 * HOUR + 4 * MINUTE) + stationResearch { + it.researchStack(LASER_INPUT_HATCH_4194304[actualTier].stack()) .EUt(VA[UV]) .CWUt(32) } - .buildAndRegister() + } // 16777216A Laser Source Hatch - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[tier]) - .input(lens, Diamond, 64) - .input(lens, Diamond, 64) - .input(lens, Diamond, 64) - .input(lens, Diamond, 64) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) - .input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 64) - .fluidInputs(SpaceTime.getFluid(L * (actualTier + 1))) - .output(LASER_OUTPUT_HATCH_16777216[actualTier]) - .EUt(VA[tier]) - .duration(1 * HOUR + 4 * MINUTE) - .stationResearch { - it.researchStack(LASER_OUTPUT_HATCH_4194304[actualTier].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[tier]) + input(lens, Diamond, 64) + input(lens, Diamond, 64) + input(lens, Diamond, 64) + input(lens, Diamond, 64) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.EMITTER.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + inputs((CraftingComponent.PUMP.getIngredient(tier) as ItemStack).copy(64)) + input(cableGtHex, (CraftingComponent.CABLE.getIngredient(tier) as UnificationEntry).material, 64) + fluidInputs(SpaceTime.getFluid(L * (actualTier + 1))) + output(LASER_OUTPUT_HATCH_16777216[actualTier]) + EUt(VA[tier]) + duration(1 * HOUR + 4 * MINUTE) + stationResearch { + it.researchStack(LASER_OUTPUT_HATCH_4194304[actualTier].stack()) .EUt(VA[UV]) .CWUt(32) } - .buildAndRegister() - + } } - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AutoclaveRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AutoclaveRecipes.kt index af6f5151d..1fe1996c1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AutoclaveRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/AutoclaveRecipes.kt @@ -7,6 +7,7 @@ import gregtech.api.recipes.RecipeMaps.AUTOCLAVE_RECIPES import gregtech.common.items.MetaItems.GRAVI_STAR import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Infinity import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ZENITH_STAR @@ -18,13 +19,13 @@ internal object AutoclaveRecipes fun init() { // Zenith Star - AUTOCLAVE_RECIPES.recipeBuilder() - .input(GRAVI_STAR) - .fluidInputs(Infinity.getFluid(L * 2)) - .output(ZENITH_STAR) - .EUt(VA[UV]) - .duration(48 * SECOND) - .buildAndRegister() + AUTOCLAVE_RECIPES.addRecipe { + input(GRAVI_STAR) + fluidInputs(Infinity.getFluid(L * 2)) + output(ZENITH_STAR) + EUt(VA[UV]) + duration(48 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BathCondenserRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BathCondenserRecipes.kt index 02fe49ce9..81eb54034 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BathCondenserRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BathCondenserRecipes.kt @@ -7,7 +7,6 @@ import gregtech.api.GTValues.MV import gregtech.api.GTValues.ULV import gregtech.api.GTValues.VA import gregtech.api.fluids.store.FluidStorageKeys -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.Materials.Air @@ -29,6 +28,8 @@ import gregtech.api.unification.ore.OrePrefix.ingotHot import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BATH_CONDENSER_RECIPES internal object BathCondenserRecipes @@ -39,33 +40,33 @@ internal object BathCondenserRecipes fun init() { // Water -> Ice - BATH_CONDENSER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Water.getFluid(100)) - .fluidOutputs(Ice.getFluid(100)) - .EUt(VA[ULV]) - .duration(2 * TICK) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Water.getFluid(100)) + fluidOutputs(Ice.getFluid(100)) + EUt(VA[ULV]) + duration(2 * TICK) + } // Oxygen -> Liquid Oxygen - BATH_CONDENSER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Oxygen.getFluid(100)) - .fluidOutputs(Oxygen.getFluid(FluidStorageKeys.LIQUID, 100)) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Oxygen.getFluid(100)) + fluidOutputs(Oxygen.getFluid(FluidStorageKeys.LIQUID, 100)) + EUt(VA[MV]) + duration(4 * SECOND) + } // Helium -> Liquid Helium - BATH_CONDENSER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Helium.getFluid(100)) - .fluidOutputs(Helium.getFluid(FluidStorageKeys.LIQUID, 100)) - .EUt(VA[EV]) - .duration(4 * SECOND) - .buildAndRegister() - - for (fluidStack in arrayOf( + BATH_CONDENSER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Helium.getFluid(100)) + fluidOutputs(Helium.getFluid(FluidStorageKeys.LIQUID, 100)) + EUt(VA[EV]) + duration(4 * SECOND) + } + + for (fluid in arrayOf( Water.getFluid(100), DistilledWater.getFluid(100), Ice.getFluid(50), @@ -73,87 +74,86 @@ internal object BathCondenserRecipes Helium.getFluid(FluidStorageKeys.LIQUID, 10))) { // Air -> Liquid Air - BATH_CONDENSER_RECIPES.recipeBuilder() - .fluidInputs(Air.getFluid(500)) - .fluidInputs(fluidStack) - .fluidOutputs(LiquidAir.getFluid(500)) - .EUt(VA[HV]) - .duration(2 * SECOND) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + fluidInputs(Air.getFluid(500)) + fluidInputs(fluid) + fluidOutputs(LiquidAir.getFluid(500)) + EUt(VA[HV]) + duration(2 * SECOND) + } // Nether Air -> Liquid Air - BATH_CONDENSER_RECIPES.recipeBuilder() - .fluidInputs(NetherAir.getFluid(500)) - .fluidInputs(fluidStack) - .fluidOutputs(LiquidNetherAir.getFluid(500)) - .EUt(VA[EV]) - .duration(2 * SECOND) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + fluidInputs(NetherAir.getFluid(500)) + fluidInputs(fluid) + fluidOutputs(LiquidNetherAir.getFluid(500)) + EUt(VA[EV]) + duration(2 * SECOND) + } // Ender Air -> Liquid Ender Air - BATH_CONDENSER_RECIPES.recipeBuilder() - .fluidInputs(EnderAir.getFluid(500)) - .fluidInputs(fluidStack) - .fluidOutputs(LiquidEnderAir.getFluid(500)) - .EUt(VA[IV]) - .duration(2 * SECOND) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + fluidInputs(EnderAir.getFluid(500)) + fluidInputs(fluid) + fluidOutputs(LiquidEnderAir.getFluid(500)) + EUt(VA[IV]) + duration(2 * SECOND) + } } // Hot Silicon, Kanthal and Black Steel ingot coolant. - GTRecipeHandler.removeRecipesByInputs(CHEMICAL_BATH_RECIPES, + CHEMICAL_BATH_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ingotHot, Silicon)), arrayOf(Water.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(CHEMICAL_BATH_RECIPES, + CHEMICAL_BATH_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ingotHot, Silicon)), arrayOf(DistilledWater.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(CHEMICAL_BATH_RECIPES, + CHEMICAL_BATH_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ingotHot, Kanthal)), arrayOf(Water.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(CHEMICAL_BATH_RECIPES, + CHEMICAL_BATH_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ingotHot, Kanthal)), arrayOf(DistilledWater.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(CHEMICAL_BATH_RECIPES, + CHEMICAL_BATH_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ingotHot, BlackSteel)), arrayOf(Water.getFluid(100))) - GTRecipeHandler.removeRecipesByInputs(CHEMICAL_BATH_RECIPES, + CHEMICAL_BATH_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(ingotHot, BlackSteel)), arrayOf(DistilledWater.getFluid(100))) - for (fluidStack in arrayOf( + for (fluid in arrayOf( Water.getFluid(100), DistilledWater.getFluid(100), Ice.getFluid(50), Oxygen.getFluid(FluidStorageKeys.LIQUID, 25), Helium.getFluid(FluidStorageKeys.LIQUID, 10))) { - BATH_CONDENSER_RECIPES.recipeBuilder() - .input(ingotHot, Silicon) - .fluidInputs(fluidStack) - .output(ingot, Silicon) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() - - BATH_CONDENSER_RECIPES.recipeBuilder() - .input(ingotHot, Kanthal) - .fluidInputs(fluidStack) - .output(ingot, Kanthal) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() - - BATH_CONDENSER_RECIPES.recipeBuilder() - .input(ingotHot,BlackSteel) - .fluidInputs(fluidStack) - .output(ingot,BlackSteel) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + BATH_CONDENSER_RECIPES.addRecipe { + input(ingotHot, Silicon) + fluidInputs(fluid) + output(ingot, Silicon) + EUt(VA[MV]) + duration(5 * SECOND) + } + + BATH_CONDENSER_RECIPES.addRecipe { + input(ingotHot, Kanthal) + fluidInputs(fluid) + output(ingot, Kanthal) + EUt(VA[MV]) + duration(10 * SECOND) + } + + BATH_CONDENSER_RECIPES.addRecipe { + input(ingotHot,BlackSteel) + fluidInputs(fluid) + output(ingot,BlackSteel) + EUt(VA[MV]) + duration(10 * SECOND) + } } - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BenderRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BenderRecipes.kt index 7146ba47d..bbaf71783 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BenderRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BenderRecipes.kt @@ -15,6 +15,7 @@ import gregtech.api.unification.ore.OrePrefix.plate import gregtech.api.unification.ore.OrePrefix.plateDouble import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.CASTING_MOLD_EMPTY import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.FUEL_ROD_EMPTY @@ -26,78 +27,78 @@ internal object BenderRecipes fun init() { // Casting Mold (Empty) - BENDER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(plate, VanadiumSteel, 4) - .output(CASTING_MOLD_EMPTY) - .EUt(12) // LV - .duration(9 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(4) + input(plate, VanadiumSteel, 4) + output(CASTING_MOLD_EMPTY) + EUt(12) // LV + duration(9 * SECOND) + } // Empty Fuel Rod - BENDER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(plateDouble, Iron) - .output(FUEL_ROD_EMPTY) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(12) + input(plateDouble, Iron) + output(FUEL_ROD_EMPTY) + EUt(VA[MV]) + duration(5 * SECOND) + } - BENDER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(plateDouble, WroughtIron) - .output(FUEL_ROD_EMPTY) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(12) + input(plateDouble, WroughtIron) + output(FUEL_ROD_EMPTY) + EUt(VA[MV]) + duration(5 * SECOND) + } - BENDER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(plateDouble, Steel) - .output(FUEL_ROD_EMPTY) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(12) + input(plateDouble, Steel) + output(FUEL_ROD_EMPTY) + EUt(VA[MV]) + duration(5 * SECOND) + } - BENDER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(plateDouble, VanadiumSteel) - .output(FUEL_ROD_EMPTY, 4) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(12) + input(plateDouble, VanadiumSteel) + output(FUEL_ROD_EMPTY, 4) + EUt(VA[MV]) + duration(5 * SECOND) + } - BENDER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(plateDouble, BlueSteel) - .output(FUEL_ROD_EMPTY, 8) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(12) + input(plateDouble, BlueSteel) + output(FUEL_ROD_EMPTY, 8) + EUt(VA[MV]) + duration(5 * SECOND) + } - BENDER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(plateDouble, HSSG) - .output(FUEL_ROD_EMPTY, 16) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(12) + input(plateDouble, HSSG) + output(FUEL_ROD_EMPTY, 16) + EUt(VA[MV]) + duration(5 * SECOND) + } - BENDER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(plateDouble, HSSE) - .output(FUEL_ROD_EMPTY, 32) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(12) + input(plateDouble, HSSE) + output(FUEL_ROD_EMPTY, 32) + EUt(VA[MV]) + duration(5 * SECOND) + } - BENDER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(plateDouble, HSSS) - .output(FUEL_ROD_EMPTY, 64) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BENDER_RECIPES.addRecipe { + circuitMeta(12) + input(plateDouble, HSSS) + output(FUEL_ROD_EMPTY, 64) + EUt(VA[MV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BioSimulatorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BioSimulatorRecipes.kt index af2c9bca8..d69ed11e6 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BioSimulatorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/BioSimulatorRecipes.kt @@ -42,6 +42,8 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BIO_SIMULATOR_RECIPES import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.MEMORY_CARD_BASE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.MEMORY_CARD_BLAZE @@ -71,7 +73,7 @@ internal object BioSimulatorRecipes fun init() { // Base - ModHandler.addShapedRecipe(true, "memory_card_base", MEMORY_CARD_BASE.stackForm, + ModHandler.addShapedRecipe(true, "memory_card_base", MEMORY_CARD_BASE.stack(), "wXd", "APA", "WSW", 'X', UnificationEntry(circuit, Tier.LV), 'P', UnificationEntry(plate, Steel), @@ -79,143 +81,143 @@ internal object BioSimulatorRecipes 'S', UnificationEntry(springSmall, Cupronickel), 'W', UnificationEntry(wireFine, Silver)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(plate, Steel) - .input(plate, Lead, 2) - .input(circuit, Tier.LV) - .input(springSmall, Cupronickel) - .input(wireFine, Silver, 2) - .outputs(MEMORY_CARD_BASE.getStackForm(4)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(plate, Steel) + input(plate, Lead, 2) + input(circuit, Tier.LV) + input(springSmall, Cupronickel) + input(wireFine, Silver, 2) + outputs(MEMORY_CARD_BASE.getStackForm(4)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Zombie - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.ROTTEN_FLESH) - .output(MEMORY_CARD_ZOMBIE) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.ROTTEN_FLESH) + output(MEMORY_CARD_ZOMBIE) + EUt(7) // ULV + duration(1 * SECOND) + } // Skeleton - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.BONE) - .output(MEMORY_CARD_SKELETON) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.BONE) + output(MEMORY_CARD_SKELETON) + EUt(7) // ULV + duration(1 * SECOND) + } // Creeper - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.GUNPOWDER) - .output(MEMORY_CARD_CREEPER) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.GUNPOWDER) + output(MEMORY_CARD_CREEPER) + EUt(7) // ULV + duration(1 * SECOND) + } // Slime - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.SLIME_BALL) - .output(MEMORY_CARD_SLIME) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.SLIME_BALL) + output(MEMORY_CARD_SLIME) + EUt(7) // ULV + duration(1 * SECOND) + } // Spider - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.SPIDER_EYE) - .output(MEMORY_CARD_SPIDER) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.SPIDER_EYE) + output(MEMORY_CARD_SPIDER) + EUt(7) // ULV + duration(1 * SECOND) + } // Blaze - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.BLAZE_POWDER) - .output(MEMORY_CARD_BLAZE) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.BLAZE_POWDER) + output(MEMORY_CARD_BLAZE) + EUt(7) // ULV + duration(1 * SECOND) + } // Ghast - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.GHAST_TEAR) - .output(MEMORY_CARD_GHAST) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.GHAST_TEAR) + output(MEMORY_CARD_GHAST) + EUt(7) // ULV + duration(1 * SECOND) + } // Guardian - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.PRISMARINE_SHARD) - .output(MEMORY_CARD_GUARDIAN) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.PRISMARINE_SHARD) + output(MEMORY_CARD_GUARDIAN) + EUt(7) // ULV + duration(1 * SECOND) + } // Wither Skeleton - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.SKULL, 1, 1) - .output(MEMORY_CARD_WITHER_SKELETON) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.SKULL, 1, 1) + output(MEMORY_CARD_WITHER_SKELETON) + EUt(7) // ULV + duration(1 * SECOND) + } // Witch - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.GLASS_BOTTLE) - .output(MEMORY_CARD_WITCH) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.GLASS_BOTTLE) + output(MEMORY_CARD_WITCH) + EUt(7) // ULV + duration(1 * SECOND) + } // Enderman - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.ENDER_EYE) - .output(MEMORY_CARD_ENDERMAN) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.ENDER_EYE) + output(MEMORY_CARD_ENDERMAN) + EUt(7) // ULV + duration(1 * SECOND) + } // Shulker - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.SHULKER_SHELL) - .output(MEMORY_CARD_SHULKER) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.SHULKER_SHELL) + output(MEMORY_CARD_SHULKER) + EUt(7) // ULV + duration(1 * SECOND) + } // Wither - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .input(Items.NETHER_STAR) - .output(MEMORY_CARD_WITHER) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + input(Items.NETHER_STAR) + output(MEMORY_CARD_WITHER) + EUt(7) // ULV + duration(1 * SECOND) + } // Ender Dragon - SCANNER_RECIPES.recipeBuilder() - .input(MEMORY_CARD_BASE) - .inputs(ItemStack(Blocks.DRAGON_EGG)) - .output(MEMORY_CARD_ENDER_DRAGON) - .EUt(7) // ULV - .duration(1 * SECOND) - .buildAndRegister() + SCANNER_RECIPES.addRecipe { + input(MEMORY_CARD_BASE) + inputs(ItemStack(Blocks.DRAGON_EGG)) + output(MEMORY_CARD_ENDER_DRAGON) + EUt(7) // ULV + duration(1 * SECOND) + } // --------------------------------------------------------------------------------------------------------- // LV Simulations. @@ -381,15 +383,15 @@ internal object BioSimulatorRecipes outputs: ItemStack, eut: Int) { - val builder = BIO_SIMULATOR_RECIPES.recipeBuilder() - .circuitMeta(circuitMeta) - .notConsumable(memoryCard) - .chancedOutput(outputs, 1000, 0) - if (Mods.EnderIO.isActive) - builder.fluidOutputs(FluidRegistry.getFluidStack("xpjuice", 250 * getTierByVoltage(eut.toLong()))) - builder.EUt(eut) - .duration(1 * MINUTE) - .buildAndRegister() + BIO_SIMULATOR_RECIPES.addRecipe { + circuitMeta(circuitMeta) + notConsumable(memoryCard) + chancedOutput(outputs, 1000, 0) + if (Mods.EnderIO.isActive) + fluidOutputs(FluidRegistry.getFluidStack("xpjuice", 250 * getTierByVoltage(eut.toLong()))) + EUt(eut) + duration(1 * MINUTE) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CannerRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CannerRecipes.kt index 84edbefdd..6b668c087 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CannerRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CannerRecipes.kt @@ -5,9 +5,12 @@ import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeMaps.CANNER_RECIPES import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt -import net.minecraft.init.Blocks -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs +import net.minecraft.init.Blocks.END_PORTAL_FRAME +import net.minecraft.init.Blocks.END_STONE +import net.minecraft.init.Items.ENDER_EYE internal object CannerRecipes { @@ -17,13 +20,13 @@ internal object CannerRecipes fun init() { // End Portal Frame. - CANNER_RECIPES.recipeBuilder() - .inputs(ItemStack(Blocks.END_STONE)) - .inputs(ItemStack(Items.ENDER_EYE)) - .outputs(ItemStack(Blocks.END_PORTAL_FRAME)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CANNER_RECIPES.addRecipe { + inputs(END_STONE) + inputs(ENDER_EYE) + outputs(END_PORTAL_FRAME) + EUt(VA[HV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CentrifugeRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CentrifugeRecipes.kt index 4941e470e..bd07a134a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CentrifugeRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CentrifugeRecipes.kt @@ -2,7 +2,6 @@ package gregtechlite.gtlitecore.loader.recipe.machine import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.Materials.Air @@ -29,6 +28,8 @@ import gregtech.api.unification.ore.OrePrefix.ore import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Albite import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Augite import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Azurite @@ -59,106 +60,103 @@ internal object CentrifugeRecipes fun init() { - // Limestone decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, Limestone, 6) - .output(dust, Calcite, 4) - .output(dust, Dolomite, 1) - .chancedOutput(dustSmall, Quicklime, 2, 2750, 850) - .EUt(VA[LV]) - .duration(9 * SECOND + 9 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, Limestone, 6) + output(dust, Calcite, 4) + output(dust, Dolomite, 1) + chancedOutput(dustSmall, Quicklime, 2, 2750, 850) + EUt(VA[LV]) + duration(9 * SECOND + 9 * TICK) + } // Komatiite decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, Komatiite, 4) - .output(dust, Olivine, 2) - .output(dust, Magnesite, 1) - .output(dustSmall, Flint, 2) - .output(dustTiny, DarkAsh, 3) - .EUt(VA[LV]) - .duration(6 * SECOND + 18 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, Komatiite, 4) + output(dust, Olivine, 2) + output(dust, Magnesite) + output(dustSmall, Flint, 2) + output(dustTiny, DarkAsh, 3) + EUt(VA[LV]) + duration(6 * SECOND + 18 * TICK) + } // Green Schist decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, GreenSchist, 6) - .output(dust, Tanzanite, 2) - .output(dust, Quartzite, 2) - .output(dust, Talc, 1) - .chancedOutput(dustSmall, Calcite, 3, 750, 250) - .EUt(VA[LV]) - .duration(8 * SECOND + 11 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, GreenSchist, 6) + output(dust, Tanzanite, 2) + output(dust, Quartzite, 2) + output(dust, Talc) + chancedOutput(dustSmall, Calcite, 3, 750, 250) + EUt(VA[LV]) + duration(8 * SECOND + 11 * TICK) + } // Blue Schist decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, BlueSchist, 6) - .output(dust, Azurite, 3) - .output(dust, Sodalite, 2) - .chancedOutput(dustTiny, Iron, 7, 1650, 350) - .EUt(VA[LV]) - .duration(12 * SECOND + 12 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, BlueSchist, 6) + output(dust, Azurite, 3) + output(dust, Sodalite, 2) + chancedOutput(dustTiny, Iron, 7, 1650, 350) + EUt(VA[LV]) + duration(12 * SECOND + 12 * TICK) + } // Kimberlite decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, Kimberlite, 9) - .output(dust, Forsterite, 3) - .output(dust, Augite, 3) - .output(dust, Andradite, 2) - .output(dustSmall, Lizardite, 3) - .EUt(VA[LV]) - .duration(14 * SECOND + 4 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, Kimberlite, 9) + output(dust, Forsterite, 3) + output(dust, Augite, 3) + output(dust, Andradite, 2) + output(dustSmall, Lizardite, 3) + EUt(VA[LV]) + duration(14 * SECOND + 4 * TICK) + } // Slate decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, Slate, 10) - .output(dust, SiliconDioxide, 5) - .output(dust, Muscovite, 2) - .output(dust, Clinochlore, 2) - .output(dustSmall, Albite, 3) - .EUt(VA[LV]) - .duration(12 * SECOND + 15 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, Slate, 10) + output(dust, SiliconDioxide, 5) + output(dust, Muscovite, 2) + output(dust, Clinochlore, 2) + output(dustSmall, Albite, 3) + EUt(VA[LV]) + duration(12 * SECOND + 15 * TICK) + } // Shale decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, Shale, 10) - .output(dust, Calcite, 6) - .output(dust, Clay, 2) - .output(dust, SiliconDioxide, 1) - .output(dustSmall, Fluorite, 3) - .EUt(VA[LV]) - .duration(14 * SECOND + 5 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, Shale, 10) + output(dust, Calcite, 6) + output(dust, Clay, 2) + output(dust, SiliconDioxide, 1) + output(dustSmall, Fluorite, 3) + EUt(VA[LV]) + duration(14 * SECOND + 5 * TICK) + } // Zephyrean Aerotheum decomposition. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, ZephyreanAerotheum, 4) - .output(SAND_DUST, 2) - .output(dust, Saltpeter) - .fluidOutputs(Air.getFluid(1000)) - .EUt(VA[LV]) - .duration(12 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, ZephyreanAerotheum, 4) + output(SAND_DUST, 2) + output(dust, Saltpeter) + fluidOutputs(Air.getFluid(1000)) + EUt(VA[LV]) + duration(12 * SECOND) + } // Oilsands decomposition. - GTRecipeHandler.removeRecipesByInputs(CENTRIFUGE_RECIPES, - OreDictUnifier.get(ore, Oilsands)) - - CENTRIFUGE_RECIPES.recipeBuilder() - .input(ore, Oilsands) - .chancedOutput(ItemStack(Blocks.SAND), 5000, 1000) - .chancedOutput(MUD_BALL, 3250, 750) - .chancedOutput(dustSmall, Clay, 2, 1650, 500) - .fluidOutputs(OilHeavy.getFluid(2000)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() - + CENTRIFUGE_RECIPES.removeRecipe(OreDictUnifier.get(ore, Oilsands)) + + CENTRIFUGE_RECIPES.addRecipe { + input(ore, Oilsands) + chancedOutput(ItemStack(Blocks.SAND), 5000, 1000) + chancedOutput(MUD_BALL, 3250, 750) + chancedOutput(dustSmall, Clay, 2, 1650, 500) + fluidOutputs(OilHeavy.getFluid(2000)) + EUt(VA[LV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ChemicalBathRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ChemicalBathRecipes.kt index 5c695c459..d68ea7cbc 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ChemicalBathRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ChemicalBathRecipes.kt @@ -3,13 +3,13 @@ package gregtechlite.gtlitecore.loader.recipe.machine import gregtech.api.GTValues.HV import gregtech.api.GTValues.L import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES -import gregtech.common.blocks.BlockGlassCasing -import gregtech.common.blocks.MetaBlocks import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ScheelesGreen +import gregtechlite.gtlitecore.common.block.adapter.GTGlassCasing import gregtechlite.gtlitecore.common.block.variant.GlassCasing internal object ChemicalBathRecipes @@ -20,14 +20,14 @@ internal object ChemicalBathRecipes fun init() { // Greenhouse Glass - CHEMICAL_BATH_RECIPES.recipeBuilder() - .inputs(MetaBlocks.TRANSPARENT_CASING.getItemVariant(BlockGlassCasing.CasingType.TEMPERED_GLASS)) - .fluidInputs(ScheelesGreen.getFluid(L * 4)) - .outputs(GlassCasing.GREENHOUSE.stack) - .EUt(VA[HV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + inputs(GTGlassCasing.TEMPERED_GLASS.stack) + fluidInputs(ScheelesGreen.getFluid(L * 4)) + outputs(GlassCasing.GREENHOUSE.stack) + EUt(VA[HV]) + duration(10 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CircuitAssemblerRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CircuitAssemblerRecipes.kt index bdc231a3d..e99241f64 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CircuitAssemblerRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CircuitAssemblerRecipes.kt @@ -1,8 +1,6 @@ package gregtechlite.gtlitecore.loader.recipe.machine import gregtech.api.GTValues.L -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.CIRCUIT_ASSEMBLER_RECIPES import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.MarkerMaterials.Tier @@ -17,6 +15,11 @@ import gregtech.common.items.MetaItems.RANDOM_ACCESS_MEMORY import gregtech.common.items.MetaItems.TOOL_DATA_MODULE import gregtech.common.items.MetaItems.WETWARE_CIRCUIT_BOARD import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.getStack +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ADVANCED_RAM_CHIP internal object CircuitAssemblerRecipes @@ -28,38 +31,37 @@ internal object CircuitAssemblerRecipes { // Data Module - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, - arrayOf(WETWARE_CIRCUIT_BOARD.stackForm, - OreDictUnifier.get(circuit, Tier.ZPM, 2), - RANDOM_ACCESS_MEMORY.getStackForm(32), - NOR_MEMORY_CHIP.getStackForm(64), - NAND_MEMORY_CHIP.getStackForm(64), - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 32)), + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( + arrayOf(WETWARE_CIRCUIT_BOARD.stack(), + OreDictUnifier.get(circuit, Tier.ZPM, 2), + RANDOM_ACCESS_MEMORY.getStack(32), + NOR_MEMORY_CHIP.getStack(64), + NAND_MEMORY_CHIP.getStack(64), + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 32)), arrayOf(SolderingAlloy.getFluid(L))) - GTRecipeHandler.removeRecipesByInputs(CIRCUIT_ASSEMBLER_RECIPES, - arrayOf(WETWARE_CIRCUIT_BOARD.stackForm, - OreDictUnifier.get(circuit, Tier.ZPM, 2), - RANDOM_ACCESS_MEMORY.getStackForm(32), - NOR_MEMORY_CHIP.getStackForm(64), - NAND_MEMORY_CHIP.getStackForm(64), - OreDictUnifier.get(wireFine, YttriumBariumCuprate, 32)), + CIRCUIT_ASSEMBLER_RECIPES.removeRecipe( + arrayOf(WETWARE_CIRCUIT_BOARD.stack(), + OreDictUnifier.get(circuit, Tier.ZPM, 2), + RANDOM_ACCESS_MEMORY.getStack(32), + NOR_MEMORY_CHIP.getStack(64), + NAND_MEMORY_CHIP.getStack(64), + OreDictUnifier.get(wireFine, YttriumBariumCuprate, 32)), arrayOf(Tin.getFluid(L * 2))) - CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder() - .input(WETWARE_CIRCUIT_BOARD) - .input(circuit, Tier.ZPM, 2) - .input(ADVANCED_RAM_CHIP, 32) - .input(NOR_MEMORY_CHIP, 64) - .input(NAND_MEMORY_CHIP, 64) - .input(wireFine, YttriumBariumCuprate, 32) - .output(TOOL_DATA_MODULE) - .EUt(38400) // ZPM - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .solderMultiplier(2) - .buildAndRegister() - + CIRCUIT_ASSEMBLER_RECIPES.addRecipe { + input(WETWARE_CIRCUIT_BOARD) + input(circuit, Tier.ZPM, 2) + input(ADVANCED_RAM_CHIP, 32) + input(NOR_MEMORY_CHIP, 64) + input(NAND_MEMORY_CHIP, 64) + input(wireFine, YttriumBariumCuprate, 32) + output(TOOL_DATA_MODULE) + EUt(38400) // ZPM + duration(20 * SECOND) + cleanroom() + solderMultiplier(2) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CrystallizationCrucibleRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CrystallizationCrucibleRecipes.kt index fcd5382af..b7a6ce179 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CrystallizationCrucibleRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CrystallizationCrucibleRecipes.kt @@ -5,7 +5,7 @@ internal object CrystallizationCrucibleRecipes fun init() { - // TODO check all crystallization recipes, and resolved conflicts at there. + // TODO: Check all crystallization recipes, and resolved conflicts at there. } } \ No newline at end of file diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CutterRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CutterRecipes.kt index ee4af4734..01f2b1c29 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CutterRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/CutterRecipes.kt @@ -3,8 +3,6 @@ package gregtechlite.gtlitecore.loader.recipe.machine import gregtech.api.GTValues.IV import gregtech.api.GTValues.LuV import gregtech.api.GTValues.VA -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.CUTTER_RECIPES import gregtech.api.unification.material.Materials.DistilledWater import gregtech.api.unification.material.Materials.Lubricant @@ -14,6 +12,10 @@ import gregtech.common.items.MetaItems.NEUTRONIUM_WAFER import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.HASSIUM_BOULE import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.HASSIUM_WAFER @@ -24,38 +26,38 @@ internal object CutterRecipes fun init() { // Buff the neutronium-doped boule cutting. - GTRecipeHandler.removeRecipesByInputs(CUTTER_RECIPES, - arrayOf(NEUTRONIUM_BOULE.stackForm), + CUTTER_RECIPES.removeRecipe( + arrayOf(NEUTRONIUM_BOULE.stack()), arrayOf(Water.getFluid(1000))) - GTRecipeHandler.removeRecipesByInputs(CUTTER_RECIPES, - arrayOf(NEUTRONIUM_BOULE.stackForm), + CUTTER_RECIPES.removeRecipe( + arrayOf(NEUTRONIUM_BOULE.stack()), arrayOf(DistilledWater.getFluid(750))) - GTRecipeHandler.removeRecipesByInputs(CUTTER_RECIPES, - arrayOf(NEUTRONIUM_BOULE.stackForm), + CUTTER_RECIPES.removeRecipe( + arrayOf(NEUTRONIUM_BOULE.stack()), arrayOf(Lubricant.getFluid(250))) - CUTTER_RECIPES.recipeBuilder() - .input(NEUTRONIUM_BOULE) - .output(NEUTRONIUM_WAFER, 64) - .output(NEUTRONIUM_WAFER, 64) - .EUt(VA[IV]) - .duration(2 * MINUTE) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(NEUTRONIUM_BOULE) + output(NEUTRONIUM_WAFER, 64) + output(NEUTRONIUM_WAFER, 64) + EUt(VA[IV]) + duration(2 * MINUTE) + cleanroom() + } // Hassium-doped Wafer - CUTTER_RECIPES.recipeBuilder() - .input(HASSIUM_BOULE) - .output(HASSIUM_WAFER, 64) - .output(HASSIUM_WAFER, 64) - .output(HASSIUM_WAFER, 64) - .output(HASSIUM_WAFER, 64) - .EUt(VA[LuV]) - .duration(2 * MINUTE + 40 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(HASSIUM_BOULE) + output(HASSIUM_WAFER, 64) + output(HASSIUM_WAFER, 64) + output(HASSIUM_WAFER, 64) + output(HASSIUM_WAFER, 64) + EUt(VA[LuV]) + duration(2 * MINUTE + 40 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/DistilleryRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/DistilleryRecipes.kt index 3589b5a1b..ef98c59e2 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/DistilleryRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/DistilleryRecipes.kt @@ -6,6 +6,7 @@ import gregtech.api.recipes.RecipeMaps.DISTILLERY_RECIPES import gregtech.api.unification.material.Materials.Glue import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Resin internal object DistilleryRecipes @@ -15,15 +16,13 @@ internal object DistilleryRecipes fun init() { - - DISTILLERY_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Resin.getFluid(100)) - .fluidOutputs(Glue.getFluid(75)) - .EUt(VA[LV]) - .duration(15 * TICK) - .buildAndRegister() - + DISTILLERY_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Resin.getFluid(100)) + fluidOutputs(Glue.getFluid(75)) + EUt(VA[LV]) + duration(15 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ElectricBlastFurnaceRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ElectricBlastFurnaceRecipes.kt index dcc00ad59..3de3a8faa 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ElectricBlastFurnaceRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ElectricBlastFurnaceRecipes.kt @@ -28,6 +28,7 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MetastableHassium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SolarGradeSilicon import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.HASSIUM_BOULE @@ -40,75 +41,74 @@ internal object ElectricBlastFurnaceRecipes fun init() { // Monocrystalline Boule - BLAST_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, SolarGradeSilicon, 32) - .input(dustSmall, GalliumArsenide) - .output(SILICON_BOULE) - .EUt(VA[MV]) - .duration(1 * MINUTE + 52 * SECOND + 10 * TICK) // 450sec / 4 - .blastFurnaceTemp(1784) // Cupronickel - .buildAndRegister() + BLAST_RECIPES.addRecipe { + circuitMeta(2) + input(dust, SolarGradeSilicon, 32) + input(dustSmall, GalliumArsenide) + output(SILICON_BOULE) + EUt(VA[MV]) + duration(1 * MINUTE + 52 * SECOND + 10 * TICK) // 450sec / 4 + blastFurnaceTemp(1784) // Cupronickel + } // Phosphorus-doped Monocrystalline Boule - BLAST_RECIPES.recipeBuilder() - .input(dust, SolarGradeSilicon, 64) - .input(dust, Phosphorus, 8) - .input(dustSmall, GalliumArsenide, 2) - .fluidInputs(Nitrogen.getFluid(8000)) - .output(PHOSPHORUS_BOULE) - .EUt(VA[HV]) - .duration(2 * MINUTE + 30 * SECOND) // 600sec / 4 - .blastFurnaceTemp(2484) // Kanthal - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(dust, SolarGradeSilicon, 64) + input(dust, Phosphorus, 8) + input(dustSmall, GalliumArsenide, 2) + fluidInputs(Nitrogen.getFluid(8000)) + output(PHOSPHORUS_BOULE) + EUt(VA[HV]) + duration(2 * MINUTE + 30 * SECOND) // 600sec / 4 + blastFurnaceTemp(2484) // Kanthal + } // Naquadah-doped Monocrystalline Boule - BLAST_RECIPES.recipeBuilder() - .input(block, SolarGradeSilicon, 16) - .input(ingot, Naquadah) - .input(dust, GalliumArsenide) - .fluidInputs(Argon.getFluid(8000)) - .output(NAQUADAH_BOULE) - .EUt(VA[EV]) - .duration(3 * MINUTE + 7 * SECOND + 10 * TICK) // 750sec / 4 - .blastFurnaceTemp(5400) // HSS-G - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(block, SolarGradeSilicon, 16) + input(ingot, Naquadah) + input(dust, GalliumArsenide) + fluidInputs(Argon.getFluid(8000)) + output(NAQUADAH_BOULE) + EUt(VA[EV]) + duration(3 * MINUTE + 7 * SECOND + 10 * TICK) // 750sec / 4 + blastFurnaceTemp(5400) // HSS-G + } // Neutronium-doped Monocrystalline Boule - BLAST_RECIPES.recipeBuilder() - .input(block, SolarGradeSilicon, 32) - .input(ingot, Neutronium, 4) - .input(dust, GalliumArsenide, 2) - .fluidInputs(Xenon.getFluid(8000)) - .output(NEUTRONIUM_BOULE) - .EUt(VA[IV]) - .duration(3 * MINUTE + 45 * SECOND) // 900sec / 4 - .blastFurnaceTemp(6484) // Naquadah - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(block, SolarGradeSilicon, 32) + input(ingot, Neutronium, 4) + input(dust, GalliumArsenide, 2) + fluidInputs(Xenon.getFluid(8000)) + output(NEUTRONIUM_BOULE) + EUt(VA[IV]) + duration(3 * MINUTE + 45 * SECOND) // 900sec / 4 + blastFurnaceTemp(6484) // Naquadah + } // Hassium-doped Monocrystalline Boule - BLAST_RECIPES.recipeBuilder() - .input(block, Silicon, 64) - .input(ingot, MetastableHassium, 8) - .input(dust, GalliumArsenide, 4) - .fluidInputs(Radon.getFluid(8000)) - .output(HASSIUM_BOULE) - .EUt(VA[LuV]) - .duration(17 * MINUTE + 30 * SECOND) - .blastFurnaceTemp(9400) // Tritanium - .buildAndRegister() - - BLAST_RECIPES.recipeBuilder() - .input(block, SolarGradeSilicon, 64) - .input(ingot, MetastableHassium, 8) - .input(dust, GalliumArsenide, 4) - .fluidInputs(Radon.getFluid(8000)) - .output(HASSIUM_BOULE) - .EUt(VA[LuV]) - .duration(4 * MINUTE + 22 * SECOND + 10 * TICK) // 1050sec / 4 - .blastFurnaceTemp(9400) // Tritanium - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(block, Silicon, 64) + input(ingot, MetastableHassium, 8) + input(dust, GalliumArsenide, 4) + fluidInputs(Radon.getFluid(8000)) + output(HASSIUM_BOULE) + EUt(VA[LuV]) + duration(17 * MINUTE + 30 * SECOND) + blastFurnaceTemp(9400) // Tritanium + } + BLAST_RECIPES.addRecipe { + input(block, SolarGradeSilicon, 64) + input(ingot, MetastableHassium, 8) + input(dust, GalliumArsenide, 4) + fluidInputs(Radon.getFluid(8000)) + output(HASSIUM_BOULE) + EUt(VA[LuV]) + duration(4 * MINUTE + 22 * SECOND + 10 * TICK) // 1050sec / 4 + blastFurnaceTemp(9400) // Tritanium + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/EntrodynamicallyPhaseChangerRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/EntrodynamicallyPhaseChangerRecipes.kt index ff67bf018..08de26f66 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/EntrodynamicallyPhaseChangerRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/EntrodynamicallyPhaseChangerRecipes.kt @@ -53,6 +53,7 @@ import gregtech.common.items.MetaItems.RAW_CRYSTAL_CHIP import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.TOPOLOGICAL_ORDER_CHANGING_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Aegirine import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AminatedFullerene @@ -83,730 +84,728 @@ object EntrodynamicallyPhaseChangerRecipes fun init() { - // region Fusion Reactor Recipes // Argon Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Argon.getFluid(1000)) - .fluidOutputs(Argon.getPlasma(1000)) - .EUt(VA[LuV]) - .duration(18 * TICK) - .blastFurnaceTemp(4600) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Argon.getFluid(1000)) + fluidOutputs(Argon.getPlasma(1000)) + EUt(VA[LuV]) + duration(18 * TICK) + blastFurnaceTemp(4600) + } // Bismuth Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Bismuth) - .fluidOutputs(Bismuth.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Bismuth) - .fluidOutputs(Bismuth.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Bismuth) - .fluidOutputs(Bismuth.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Bismuth) - .fluidOutputs(Bismuth.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Bismuth) + fluidOutputs(Bismuth.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Bismuth) + fluidOutputs(Bismuth.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Bismuth) + fluidOutputs(Bismuth.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Bismuth) + fluidOutputs(Bismuth.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Boron Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Boron) - .fluidOutputs(Boron.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Boron) - .fluidOutputs(Boron.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Boron) + fluidOutputs(Boron.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Boron) + fluidOutputs(Boron.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Calcium Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Calcium) - .fluidOutputs(Calcium.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Calcium) - .fluidOutputs(Calcium.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Calcium) - .fluidOutputs(Calcium.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Calcium) - .fluidOutputs(Calcium.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Calcium) + fluidOutputs(Calcium.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Calcium) + fluidOutputs(Calcium.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Calcium) + fluidOutputs(Calcium.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Calcium) + fluidOutputs(Calcium.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Helium Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Helium.getFluid(1000)) - .fluidOutputs(Helium.getPlasma(1000)) - .EUt(VA[IV]) - .duration(5 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Helium.getFluid(1000)) + fluidOutputs(Helium.getPlasma(1000)) + EUt(VA[IV]) + duration(5 * TICK) + blastFurnaceTemp(1200) + } // Iron Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Iron) - .fluidOutputs(Iron.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Iron) - .fluidOutputs(Iron.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Iron) - .fluidOutputs(Iron.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Iron) - .fluidOutputs(Iron.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Iron) + fluidOutputs(Iron.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Iron) + fluidOutputs(Iron.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Iron) + fluidOutputs(Iron.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Iron) + fluidOutputs(Iron.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Krypton Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Krypton.getFluid(1000)) - .fluidOutputs(Krypton.getPlasma(1000)) - .EUt(VA[ZPM]) - .duration(18 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Krypton.getFluid(1000)) + fluidOutputs(Krypton.getPlasma(1000)) + EUt(VA[ZPM]) + duration(18 * TICK) + blastFurnaceTemp(1200) + } // Lead Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Lead) - .fluidOutputs(Lead.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Lead) - .fluidOutputs(Lead.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Lead) - .fluidOutputs(Lead.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Lead) - .fluidOutputs(Lead.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Lead) + fluidOutputs(Lead.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Lead) + fluidOutputs(Lead.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Lead) + fluidOutputs(Lead.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Lead) + fluidOutputs(Lead.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Neon Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Neon.getFluid(1000)) - .fluidOutputs(Neon.getPlasma(1000)) - .EUt(VA[LuV]) - .duration(1 * SECOND + 12 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Neon.getFluid(1000)) + fluidOutputs(Neon.getPlasma(1000)) + EUt(VA[LuV]) + duration(1 * SECOND + 12 * TICK) + blastFurnaceTemp(1200) + } // Nickel Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Nickel) - .fluidOutputs(Nickel.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Nickel) - .fluidOutputs(Nickel.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Nickel) - .fluidOutputs(Nickel.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Nickel) - .fluidOutputs(Nickel.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Nickel) + fluidOutputs(Nickel.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Nickel) + fluidOutputs(Nickel.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Nickel) + fluidOutputs(Nickel.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Nickel) + fluidOutputs(Nickel.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Nitrogen Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Nitrogen.getFluid(1000)) - .fluidOutputs(Nitrogen.getPlasma(1000)) - .EUt(VA[LuV]) - .duration(8 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Nitrogen.getFluid(1000)) + fluidOutputs(Nitrogen.getPlasma(1000)) + EUt(VA[LuV]) + duration(8 * TICK) + blastFurnaceTemp(1200) + } // Oxygen Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidOutputs(Oxygen.getPlasma(1000)) - .EUt(VA[IV]) - .duration(16 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Oxygen.getFluid(1000)) + fluidOutputs(Oxygen.getPlasma(1000)) + EUt(VA[IV]) + duration(16 * TICK) + blastFurnaceTemp(1200) + } // Radon Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Radon.getFluid(1000)) - .fluidOutputs(Radon.getPlasma(1000)) - .EUt(VA[ZPM]) - .duration(16 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Radon.getFluid(1000)) + fluidOutputs(Radon.getPlasma(1000)) + EUt(VA[ZPM]) + duration(16 * TICK) + blastFurnaceTemp(1200) + } // Rubidium Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Rubidium) - .fluidOutputs(Rubidium.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Rubidium) - .fluidOutputs(Rubidium.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Rubidium) - .fluidOutputs(Rubidium.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Rubidium) - .fluidOutputs(Rubidium.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Rubidium) + fluidOutputs(Rubidium.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Rubidium) + fluidOutputs(Rubidium.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Rubidium) + fluidOutputs(Rubidium.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Rubidium) + fluidOutputs(Rubidium.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Silver Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Silver) - .fluidOutputs(Silver.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1235) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Silver) - .fluidOutputs(Silver.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1235) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Silver) - .fluidOutputs(Silver.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1235) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Silver) - .fluidOutputs(Silver.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1235) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Silver) + fluidOutputs(Silver.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1235) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Silver) + fluidOutputs(Silver.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1235) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Silver) + fluidOutputs(Silver.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1235) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Silver) + fluidOutputs(Silver.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1235) + } // Sulfur Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Sulfur) - .fluidOutputs(Sulfur.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Sulfur) - .fluidOutputs(Sulfur.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Sulfur) - .fluidOutputs(Sulfur.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Sulfur) - .fluidOutputs(Sulfur.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Sulfur) + fluidOutputs(Sulfur.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Sulfur) + fluidOutputs(Sulfur.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Sulfur) + fluidOutputs(Sulfur.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Sulfur) + fluidOutputs(Sulfur.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Thorium - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Thorium) - .fluidOutputs(Thorium.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(2023) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Thorium) - .fluidOutputs(Thorium.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(2023) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Thorium) - .fluidOutputs(Thorium.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(2023) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Thorium) - .fluidOutputs(Thorium.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(2023) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Thorium) + fluidOutputs(Thorium.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(2023) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Thorium) + fluidOutputs(Thorium.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(2023) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Thorium) + fluidOutputs(Thorium.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(2023) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Thorium) + fluidOutputs(Thorium.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(2023) + } // Tin - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Tin) - .fluidOutputs(Tin.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Tin) - .fluidOutputs(Tin.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Tin) - .fluidOutputs(Tin.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Tin) - .fluidOutputs(Tin.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Tin) + fluidOutputs(Tin.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Tin) + fluidOutputs(Tin.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Tin) + fluidOutputs(Tin.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Tin) + fluidOutputs(Tin.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // Xenon Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(Xenon.getFluid(1000)) - .fluidOutputs(Xenon.getPlasma(1000)) - .EUt(VA[UV]) - .duration(8 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(Xenon.getFluid(1000)) + fluidOutputs(Xenon.getPlasma(1000)) + EUt(VA[UV]) + duration(8 * TICK) + blastFurnaceTemp(1200) + } // Zinc Plasma - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Zinc) - .fluidOutputs(Zinc.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Zinc) - .fluidOutputs(Zinc.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ingot, Zinc) - .fluidOutputs(Zinc.getFluid(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ingot, Zinc) - .fluidOutputs(Zinc.getPlasma(L)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Zinc) + fluidOutputs(Zinc.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Zinc) + fluidOutputs(Zinc.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(4) + input(ingot, Zinc) + fluidOutputs(Zinc.getFluid(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(5) + input(ingot, Zinc) + fluidOutputs(Zinc.getPlasma(L)) + EUt(VA[MV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } // endregion // region Fluid Heater Recipes - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Acetone.getFluid(1000)) - .fluidOutputs(Ethenone.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(DissolvedCalciumAcetate.getFluid(2000)) - .fluidOutputs(Acetone.getFluid(2000)) - .EUt(VA[LV]) - .duration(5 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Ice.getFluid(L)) - .fluidOutputs(Water.getFluid(L)) - .EUt(4) // ULV - .duration(16 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(Steam.getFluid(16000)) - .EUt(VA[LV]) - .duration(14 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(Steam.getFluid(16000)) - .EUt(VA[LV]) - .duration(14 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Air.getFluid(1000)) - .fluidOutputs(GreenhouseGas.getFluid(1000)) - .EUt(VA[MV]) - .duration(12 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Carbon5Fraction.getFluid(1000)) - .fluidOutputs(DimerizedCarbon5Fraction.getFluid(870)) - .EUt(VA[LV]) - .duration(6 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Dicyclopentadiene.getFluid(1000)) - .fluidOutputs(Isoprene.getFluid(2000)) - .EUt(VA[LV]) - .duration(1 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Butene.getFluid(2000)) - .fluidOutputs(Octene.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(BacterialSludge.getFluid(2000)) - .fluidOutputs(EnrichedBacterialSludge.getFluid(2000)) - .EUt(VA[EV]) - .duration(3 * SECOND + 4 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(HadronicResonantGas.getFluid(2000)) - .fluidOutputs(ResonantStrangeMeson.getFluid(1000)) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(AminatedFullerene.getFluid(1000)) - .fluidOutputs(Azafullerene.getFluid(1000)) - .EUt(VA[IV]) - .duration(1 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(AppleCaneSyrup.getFluid(2000)) - .fluidOutputs(HardAppleCandySyrup.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 2 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(LemonLimeSodaSyrup.getFluid(1000)) - .fluidOutputs(Etirps.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(CranberrySodaSyrup.getFluid(1000)) - .fluidOutputs(CranberryEtirps.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(FulvicAcid.getFluid(100)) - .fluidOutputs(Kerogen.getFluid(100)) - .EUt(VA[LV]) - .duration(2 * SECOND + 5 * TICK) - .blastFurnaceTemp(1200) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Acetone.getFluid(1000)) + fluidOutputs(Ethenone.getFluid(1000)) + EUt(VA[LV]) + duration(5 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(DissolvedCalciumAcetate.getFluid(2000)) + fluidOutputs(Acetone.getFluid(2000)) + EUt(VA[LV]) + duration(5 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Ice.getFluid(L)) + fluidOutputs(Water.getFluid(L)) + EUt(4) // ULV + duration(16 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(Steam.getFluid(16000)) + EUt(VA[LV]) + duration(14 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(Steam.getFluid(16000)) + EUt(VA[LV]) + duration(14 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Air.getFluid(1000)) + fluidOutputs(GreenhouseGas.getFluid(1000)) + EUt(VA[MV]) + duration(12 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Carbon5Fraction.getFluid(1000)) + fluidOutputs(DimerizedCarbon5Fraction.getFluid(870)) + EUt(VA[LV]) + duration(6 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Dicyclopentadiene.getFluid(1000)) + fluidOutputs(Isoprene.getFluid(2000)) + EUt(VA[LV]) + duration(1 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Butene.getFluid(2000)) + fluidOutputs(Octene.getFluid(1000)) + EUt(VA[MV]) + duration(6 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(BacterialSludge.getFluid(2000)) + fluidOutputs(EnrichedBacterialSludge.getFluid(2000)) + EUt(VA[EV]) + duration(3 * SECOND + 4 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(HadronicResonantGas.getFluid(2000)) + fluidOutputs(ResonantStrangeMeson.getFluid(1000)) + EUt(VA[UEV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(AminatedFullerene.getFluid(1000)) + fluidOutputs(Azafullerene.getFluid(1000)) + EUt(VA[IV]) + duration(1 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(AppleCaneSyrup.getFluid(2000)) + fluidOutputs(HardAppleCandySyrup.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND + 2 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(LemonLimeSodaSyrup.getFluid(1000)) + fluidOutputs(Etirps.getFluid(1000)) + EUt(VA[LV]) + duration(5 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(CranberrySodaSyrup.getFluid(1000)) + fluidOutputs(CranberryEtirps.getFluid(1000)) + EUt(VA[LV]) + duration(5 * TICK) + blastFurnaceTemp(1200) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(FulvicAcid.getFluid(100)) + fluidOutputs(Kerogen.getFluid(100)) + EUt(VA[LV]) + duration(2 * SECOND + 5 * TICK) + blastFurnaceTemp(1200) + } // endregion // region Unduplicated EBF Recipes // Engraved Crystal Chip - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, Emerald) - .input(RAW_CRYSTAL_CHIP) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(22 * SECOND + 10 * TICK) - .blastFurnaceTemp(5000) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, Olivine) - .input(RAW_CRYSTAL_CHIP) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(22 * SECOND + 10 * TICK) - .blastFurnaceTemp(5000) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, Forsterite) - .input(RAW_CRYSTAL_CHIP) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(22 * SECOND + 10 * TICK) - .blastFurnaceTemp(5000) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, Aegirine) - .input(RAW_CRYSTAL_CHIP) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(22 * SECOND + 10 * TICK) - .blastFurnaceTemp(5000) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, Jade) - .input(RAW_CRYSTAL_CHIP) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(22 * SECOND + 10 * TICK) - .blastFurnaceTemp(5000) - .buildAndRegister() - - TOPOLOGICAL_ORDER_CHANGING_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, Prasiolite) - .input(RAW_CRYSTAL_CHIP) - .output(ENGRAVED_CRYSTAL_CHIP) - .EUt(VA[HV]) - .duration(22 * SECOND + 10 * TICK) - .blastFurnaceTemp(5000) - .buildAndRegister() + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(plate, Emerald) + input(RAW_CRYSTAL_CHIP) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(22 * SECOND + 10 * TICK) + blastFurnaceTemp(5000) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(plate, Olivine) + input(RAW_CRYSTAL_CHIP) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(22 * SECOND + 10 * TICK) + blastFurnaceTemp(5000) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(plate, Forsterite) + input(RAW_CRYSTAL_CHIP) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(22 * SECOND + 10 * TICK) + blastFurnaceTemp(5000) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(plate, Aegirine) + input(RAW_CRYSTAL_CHIP) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(22 * SECOND + 10 * TICK) + blastFurnaceTemp(5000) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(plate, Jade) + input(RAW_CRYSTAL_CHIP) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(22 * SECOND + 10 * TICK) + blastFurnaceTemp(5000) + } + + TOPOLOGICAL_ORDER_CHANGING_RECIPES.addRecipe { + circuitMeta(1) + input(plate, Prasiolite) + input(RAW_CRYSTAL_CHIP) + output(ENGRAVED_CRYSTAL_CHIP) + EUt(VA[HV]) + duration(22 * SECOND + 10 * TICK) + blastFurnaceTemp(5000) + } // endregion - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ExtruderRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ExtruderRecipes.kt index 145067251..7a9939f39 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ExtruderRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/ExtruderRecipes.kt @@ -2,7 +2,6 @@ package gregtechlite.gtlitecore.loader.recipe.machine import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.EXTRUDER_RECIPES import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.Materials.Aluminium @@ -18,6 +17,9 @@ import gregtech.common.items.MetaItems.SHAPE_EXTRUDER_CELL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Kevlar import gregtechlite.gtlitecore.common.metatileentity.GTLiteMetaTileEntities.KEVLAR_CAN import gregtechlite.gtlitecore.common.metatileentity.GTLiteMetaTileEntities.PBI_CAN @@ -32,83 +34,82 @@ internal object ExtruderRecipes fun init() { // Deleted original cell recipes which used PE, PTFE and PBI. - GTRecipeHandler.removeRecipesByInputs(EXTRUDER_RECIPES, + EXTRUDER_RECIPES.removeRecipe( OreDictUnifier.get(ingot, Polytetrafluoroethylene), - SHAPE_EXTRUDER_CELL.stackForm) + SHAPE_EXTRUDER_CELL.stack()) - GTRecipeHandler.removeRecipesByInputs(EXTRUDER_RECIPES, + EXTRUDER_RECIPES.removeRecipe( OreDictUnifier.get(ingot, Polybenzimidazole), - SHAPE_EXTRUDER_CELL.stackForm) + SHAPE_EXTRUDER_CELL.stack()) // Add new empty cell buff recipes. - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_CELL) - .input(ingot, Aluminium) - .output(FLUID_CELL, 4) - .EUt(VA[LV]) - .duration(6 * SECOND + 5 * TICK) - .buildAndRegister() - - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_CELL) - .input(ingot, StainlessSteel) - .output(FLUID_CELL, 16) - .EUt(VA[LV]) - .duration(6 * SECOND + 5 * TICK) - .buildAndRegister() - - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_CELL) - .input(ingot, Titanium) - .output(FLUID_CELL, 32) - .EUt(VA[LV]) - .duration(6 * SECOND + 5 * TICK) - .buildAndRegister() - - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_CELL) - .input(ingot, TungstenSteel) - .output(FLUID_CELL, 64) - .EUt(VA[LV]) - .duration(6 * SECOND + 5 * TICK) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_CELL) + input(ingot, Aluminium) + output(FLUID_CELL, 4) + EUt(VA[LV]) + duration(6 * SECOND + 5 * TICK) + } + + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_CELL) + input(ingot, StainlessSteel) + output(FLUID_CELL, 16) + EUt(VA[LV]) + duration(6 * SECOND + 5 * TICK) + } + + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_CELL) + input(ingot, Titanium) + output(FLUID_CELL, 32) + EUt(VA[LV]) + duration(6 * SECOND + 5 * TICK) + } + + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_CELL) + input(ingot, TungstenSteel) + output(FLUID_CELL, 64) + EUt(VA[LV]) + duration(6 * SECOND + 5 * TICK) + } // PE Plastic Can - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_CELL) - .input(ingot, Polyethylene, 6) - .output(PE_CAN) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_CELL) + input(ingot, Polyethylene, 6) + output(PE_CAN) + EUt(VA[LV]) + duration(10 * SECOND) + } // PTFE Plastic Can - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_CELL) - .input(ingot, Polytetrafluoroethylene, 6) - .output(PTFE_CAN) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_CELL) + input(ingot, Polytetrafluoroethylene, 6) + output(PTFE_CAN) + EUt(VA[LV]) + duration(10 * SECOND) + } // PBI Plastic Can - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_CELL) - .input(ingot, Polybenzimidazole, 6) - .output(PBI_CAN) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_CELL) + input(ingot, Polybenzimidazole, 6) + output(PBI_CAN) + EUt(VA[LV]) + duration(10 * SECOND) + } // Kevlar Plastic Can - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_CELL) - .input(ingot, Kevlar, 6) - .output(KEVLAR_CAN) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() - + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_CELL) + input(ingot, Kevlar, 6) + output(KEVLAR_CAN) + EUt(VA[LV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/EyeOfHarmonyRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/EyeOfHarmonyRecipes.kt index 69e116be7..3ff9ccc0a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/EyeOfHarmonyRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/EyeOfHarmonyRecipes.kt @@ -9,12 +9,22 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.block import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium import gregtechlite.gtlitecore.common.block.GTLiteBlocks.DIMENSION_DISPLAY_END import gregtechlite.gtlitecore.common.block.GTLiteBlocks.DIMENSION_DISPLAY_NETHER import gregtechlite.gtlitecore.common.block.GTLiteBlocks.DIMENSION_DISPLAY_OVERWORLD -import net.minecraft.init.Blocks -import net.minecraft.item.ItemStack +import net.minecraft.init.Blocks.END_STONE +import net.minecraft.init.Blocks.GRASS +import net.minecraft.init.Blocks.MAGMA +import net.minecraft.init.Blocks.NETHERRACK +import net.minecraft.init.Blocks.OBSIDIAN +import net.minecraft.init.Blocks.PURPUR_BLOCK +import net.minecraft.init.Blocks.SAPLING +import net.minecraft.init.Blocks.SOUL_SAND +import net.minecraft.init.Blocks.STONE internal object EyeOfHarmonyRecipes { @@ -26,46 +36,45 @@ internal object EyeOfHarmonyRecipes // Dimension Display recipes. // Overworld - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(17) - .input(block, Bedrockium) - .inputs(ItemStack(Blocks.GRASS, 64)) - .inputs(ItemStack(Blocks.STONE, 64)) - .inputs(ItemStack(Blocks.SAPLING, 16)) - .fluidInputs(Water.getFluid(16000)) - .outputs(ItemStack(DIMENSION_DISPLAY_OVERWORLD)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(17) + input(block, Bedrockium) + inputs(GRASS, 64) + inputs(STONE, 64) + inputs(SAPLING, 16) + fluidInputs(Water.getFluid(16000)) + outputs(DIMENSION_DISPLAY_OVERWORLD) + EUt(VA[LV]) + duration(10 * SECOND) + } // Nether - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(17) - .input(block, Bedrockium) - .inputs(ItemStack(Blocks.NETHERRACK, 64)) - .inputs(ItemStack(Blocks.SOUL_SAND, 64)) - .inputs(ItemStack(Blocks.MAGMA, 16)) - .fluidInputs(Lava.getFluid(16000)) - .outputs(ItemStack(DIMENSION_DISPLAY_NETHER)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(17) + input(block, Bedrockium) + inputs(NETHERRACK, 64) + inputs(SOUL_SAND, 64) + inputs(MAGMA, 16) + fluidInputs(Lava.getFluid(16000)) + outputs(DIMENSION_DISPLAY_NETHER) + EUt(VA[LV]) + duration(10 * SECOND) + } // End - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(17) - .input(block, Bedrockium) - .inputs(ItemStack(Blocks.END_STONE, 64)) - .inputs(ItemStack(Blocks.PURPUR_BLOCK, 64)) - .inputs(ItemStack(Blocks.OBSIDIAN, 16)) - .fluidInputs(EnderPearl.getFluid(16000)) - .outputs(ItemStack(DIMENSION_DISPLAY_END)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() - - // EoH recipes. + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(17) + input(block, Bedrockium) + inputs(END_STONE, 64) + inputs(PURPUR_BLOCK, 64) + inputs(OBSIDIAN, 16) + fluidInputs(EnderPearl.getFluid(16000)) + outputs(DIMENSION_DISPLAY_END) + EUt(VA[LV]) + duration(10 * SECOND) + } + // TODO: EoH recipes. } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FluidSolidifierRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FluidSolidifierRecipes.kt index 71621e8da..277a6a564 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FluidSolidifierRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FluidSolidifierRecipes.kt @@ -3,7 +3,6 @@ package gregtechlite.gtlitecore.loader.recipe.machine import gregtech.api.GTValues.L import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.FLUID_SOLIDFICATION_RECIPES import gregtech.api.unification.material.Materials.Blaze import gregtech.api.unification.material.Materials.EnderPearl @@ -14,11 +13,14 @@ import gregtech.common.items.MetaItems.STICKY_RESIN import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt -import gregtechlite.gtlitecore.api.extension.getFluid +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.outputs +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Resin -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.BLAZE_ROD +import net.minecraft.init.Items.ENDER_PEARL +import net.minecraft.init.Items.SLIME_BALL internal object FluidSolidifierRecipes { @@ -28,44 +30,44 @@ internal object FluidSolidifierRecipes fun init() { // Resin Solidification. - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BALL) - .fluidInputs(Resin.getFluid(250)) - .output(STICKY_RESIN) - .EUt(2) // ULV - .duration(1 * SECOND) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BALL) + fluidInputs(Resin.getFluid(250)) + output(STICKY_RESIN) + EUt(2) // ULV + duration(1 * SECOND) + } // Ender Pearl Solidification. - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BALL) - .fluidInputs(EnderPearl.getFluid(L)) - .outputs(ItemStack(Items.ENDER_PEARL)) - .EUt(7) // ULV - .duration(10 * TICK) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BALL) + fluidInputs(EnderPearl.getFluid(L)) + outputs(ENDER_PEARL) + EUt(7) // ULV + duration(10 * TICK) + } // Slime Ball Solidification. - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_BALL) - .fluidInputs(Glue.getFluid(250)) - .outputs(ItemStack(Items.SLIME_BALL)) - .EUt(7) // ULV - .duration(10 * TICK) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_BALL) + fluidInputs(Glue.getFluid(250)) + outputs(SLIME_BALL) + EUt(7) // ULV + duration(10 * TICK) + } // Fix incorrect solidified amount for blaze rod. - GTRecipeHandler.removeRecipesByInputs(FLUID_SOLIDFICATION_RECIPES, - arrayOf(SHAPE_MOLD_ROD.stack()), arrayOf(Blaze.getFluid(L / 2))) - - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_ROD) - .fluidInputs(Blaze.getFluid(L * 4)) - .outputs(ItemStack(Items.BLAZE_ROD)) - .EUt(VA[LV]) - .duration(7 * SECOND + 5 * TICK) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.removeRecipe( + arrayOf(SHAPE_MOLD_ROD.stack()), + arrayOf(Blaze.getFluid(L / 2))) + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_ROD) + fluidInputs(Blaze.getFluid(L * 4)) + outputs(BLAZE_ROD) + EUt(VA[LV]) + duration(7 * SECOND + 5 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FormingPressRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FormingPressRecipes.kt index 5918bc0e2..92f6c3c5b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FormingPressRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FormingPressRecipes.kt @@ -23,6 +23,9 @@ import gregtech.common.items.MetaItems.SHAPE_EMPTY import gregtech.common.items.MetaItems.SHAPE_MOLD_CREDIT import gregtech.common.items.MetaItems.SHAPE_MOLD_PLATE import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.outputs import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Cellulose import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium @@ -48,8 +51,7 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.CREDIT_VIBRANIUM import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.SHAPE_MOLD_DRILL_HEAD import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.SHAPE_MOLD_SCREW import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.SHAPE_MOLD_TURBINE_BLADE -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Items.PAPER internal object FormingPressRecipes { @@ -58,251 +60,248 @@ internal object FormingPressRecipes fun init() { - // Shape Mold (Screw) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_SCREW) - .input(SHAPE_EMPTY) - .output(SHAPE_MOLD_SCREW) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_SCREW) + input(SHAPE_EMPTY) + output(SHAPE_MOLD_SCREW) + EUt(22) // LV + duration(6 * SECOND) + } // Shape Mold (Turbine Blade) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_TURBINE_BLADE) - .input(SHAPE_EMPTY) - .output(SHAPE_MOLD_TURBINE_BLADE) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_TURBINE_BLADE) + input(SHAPE_EMPTY) + output(SHAPE_MOLD_TURBINE_BLADE) + EUt(22) // LV + duration(6 * SECOND) + } // Shape Mold (Drill Head) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_DRILL_HEAD) - .input(SHAPE_EMPTY) - .output(SHAPE_MOLD_DRILL_HEAD) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_DRILL_HEAD) + input(SHAPE_EMPTY) + output(SHAPE_MOLD_DRILL_HEAD) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Saw) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_SAW) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_SAW) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_SAW) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_SAW) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Hard Hammer) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_HARD_HAMMER) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_HARD_HAMMER) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_HARD_HAMMER) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_HARD_HAMMER) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Soft Mallet) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_SOFT_MALLET) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_SOFT_MALLET) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_SOFT_MALLET) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_SOFT_MALLET) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Wrench) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_WRENCH) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_WRENCH) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_WRENCH) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_WRENCH) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (File) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_FILE) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_FILE) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_FILE) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_FILE) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Crowbar) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_CROWBAR) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_CROWBAR) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_CROWBAR) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_CROWBAR) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Screwdriver) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_SCREWDRIVER) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_SCREWDRIVER) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_SCREWDRIVER) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_SCREWDRIVER) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Mortar) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_MORTAR) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_MORTAR) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_MORTAR) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_MORTAR) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Wire Cutter) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_WIRE_CUTTER) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_WIRE_CUTTER) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_WIRE_CUTTER) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_WIRE_CUTTER) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Knife) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_KNIFE) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_KNIFE) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_KNIFE) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_KNIFE) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Butchery Knife) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_BUTCHERY_KNIFE) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_BUTCHERY_KNIFE) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() - + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_BUTCHERY_KNIFE) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_BUTCHERY_KNIFE) + EUt(22) // LV + duration(6 * SECOND) + } // Casting Mold (Rolling Pin) - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_ROLLING_PIN) - .input(CASTING_MOLD_EMPTY) - .output(CASTING_MOLD_ROLLING_PIN) - .EUt(22) // LV - .duration(6 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_ROLLING_PIN) + input(CASTING_MOLD_EMPTY) + output(CASTING_MOLD_ROLLING_PIN) + EUt(22) // LV + duration(6 * SECOND) + } // Copper Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Copper) - .output(CREDIT_COPPER, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Copper) + output(CREDIT_COPPER, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Silver Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Silver) - .output(CREDIT_SILVER, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Silver) + output(CREDIT_SILVER, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Gold Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Gold) - .output(CREDIT_GOLD, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Gold) + output(CREDIT_GOLD, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Platinum Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Platinum) - .output(CREDIT_PLATINUM, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Platinum) + output(CREDIT_PLATINUM, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Osmium Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Osmium) - .output(CREDIT_OSMIUM, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Osmium) + output(CREDIT_OSMIUM, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Naquadah Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Naquadah) - .output(CREDIT_NAQUADAH, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Naquadah) + output(CREDIT_NAQUADAH, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Neutronium Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Neutronium) - .output(CREDIT_NEUTRONIUM, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Neutronium) + output(CREDIT_NEUTRONIUM, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Adamantium Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Adamantium) - .output(CREDIT_ADAMANTIUM, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Adamantium) + output(CREDIT_ADAMANTIUM, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Vibranium Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Vibranium) - .output(CREDIT_VIBRANIUM, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Vibranium) + output(CREDIT_VIBRANIUM, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Cosmic Neutronium Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, CosmicNeutronium) - .output(CREDIT_COSMIC_NEUTRONIUM, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, CosmicNeutronium) + output(CREDIT_COSMIC_NEUTRONIUM, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Infinity Credit - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_CREDIT) - .input(plate, Infinity) - .output(CREDIT_INFINITY, 4) - .EUt(VH[LV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_CREDIT) + input(plate, Infinity) + output(CREDIT_INFINITY, 4) + EUt(VH[LV]) + duration(5 * SECOND) + } // Paper - FORMING_PRESS_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_PLATE) - .input(dust, Cellulose) - .outputs(ItemStack(Items.PAPER)) - .EUt(4) // ULV - .duration(10 * SECOND) - .buildAndRegister() - + FORMING_PRESS_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_PLATE) + input(dust, Cellulose) + outputs(PAPER) + EUt(4) // ULV + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FusionReactorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FusionReactorRecipes.kt index 3a91f9edf..f34270ce1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FusionReactorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/FusionReactorRecipes.kt @@ -87,6 +87,7 @@ import gregtech.api.unification.material.Materials.Zinc import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MetastableHassium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MetastableOganesson import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.OganessonBreedingBase @@ -100,424 +101,430 @@ internal object FusionReactorRecipes fun init() { - // MK1 Fusion Reactions + // region MK1 Fusion // He (plasma) + Li -> B (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Helium.getPlasma(125)) - .fluidInputs(Lithium.getFluid(L)) - .fluidOutputs(Boron.getPlasma(L)) - .EUt(VA[LuV] / 3L) - .duration(12 * SECOND) - .EUToStart(50_000_000L) // 50M EU, MK1 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Helium.getPlasma(125)) + fluidInputs(Lithium.getFluid(L)) + fluidOutputs(Boron.getPlasma(L)) + EUt(VA[LuV] / 3L) + duration(12 * SECOND) + EUToStart(50_000_000L) // 50M EU (MK1) + } addPlasmaFuelRecipe(Boron, 4 * SECOND) addPlasmaCoolantRecipe(Boron,1 * SECOND, true) // Mg + O -> Ca (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Magnesium.getFluid(L)) - .fluidInputs(Oxygen.getFluid(128)) - .fluidOutputs(Calcium.getPlasma(16)) - .EUt(VA[IV].toLong()) - .duration(6 * SECOND + 8 * TICK) - .EUToStart(120_000_000L) // 120M EU, MK1 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Magnesium.getFluid(L)) + fluidInputs(Oxygen.getFluid(128)) + fluidOutputs(Calcium.getPlasma(16)) + EUt(VA[IV].toLong()) + duration(6 * SECOND + 8 * TICK) + EUToStart(120_000_000L) // 120M EU (MK1) + } addPlasmaFuelRecipe(Calcium, 3 * SECOND + 16 * TICK) addPlasmaCoolantRecipe(Calcium, 2 * SECOND, true) // B (plasma) + Ca (plasma) -> Ne (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Boron.getPlasma(L)) - .fluidInputs(Calcium.getPlasma(16)) - .fluidOutputs(Neon.getPlasma(1000)) - .EUt(VA[LuV] / 3L) - .duration(3 * SECOND + 4 * TICK) - .EUToStart(100_000_000L) // 100M EU, MK1 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Boron.getPlasma(L)) + fluidInputs(Calcium.getPlasma(16)) + fluidOutputs(Neon.getPlasma(1000)) + EUt(VA[LuV] / 3L) + duration(3 * SECOND + 4 * TICK) + EUToStart(100_000_000L) // 100M EU (MK1) + } addPlasmaFuelRecipe(Neon, 8 * SECOND + 10 * TICK) addPlasmaCoolantRecipe(Neon, 4 * SECOND + 5 * TICK) - // --------------------------------------------------------------------------------------------------------- - // MK2 Fusion Reactions + // endregion + + // region MK2 Fusion // Al + Li -> S (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Aluminium.getFluid(16)) - .fluidInputs(Lithium.getFluid(16)) - .fluidOutputs(Sulfur.getPlasma(L)) - .EUt(VA[LuV] / 3L) - .duration(SECOND + 12 * TICK) - .EUToStart(240_000_000L) // 240M EU, MK2 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Aluminium.getFluid(16)) + fluidInputs(Lithium.getFluid(16)) + fluidOutputs(Sulfur.getPlasma(L)) + EUt(VA[LuV] / 3L) + duration(SECOND + 12 * TICK) + EUToStart(240_000_000L) // 240M EU (MK2) + } addPlasmaFuelRecipe(Sulfur, 5 * SECOND + 12 * TICK) addPlasmaCoolantRecipe(Sulfur, 2 * SECOND + 18 * TICK, true) // Co + Si -> Nb (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Cobalt.getFluid(L)) - .fluidInputs(Silicon.getFluid(L)) - .fluidOutputs(Niobium.getPlasma(L * 2)) - .EUt(49152) // ZPM - .duration(16 * TICK) - .EUToStart(200_000_000L) // 200M EU, MK2 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Cobalt.getFluid(L)) + fluidInputs(Silicon.getFluid(L)) + fluidOutputs(Niobium.getPlasma(L * 2)) + EUt(49152) // ZPM + duration(16 * TICK) + EUToStart(200_000_000L) // 200M EU (MK2) + } addPlasmaFuelRecipe(Niobium, 5 * SECOND + 4 * TICK) addPlasmaCoolantRecipe(Niobium, 2 * SECOND + 16 * TICK, true) // Cu + T -> Zn (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Copper.getFluid(L / 2)) - .fluidInputs(Tritium.getFluid(250)) - .fluidOutputs(Zinc.getPlasma(L)) - .EUt(49152) // ZPM - .duration(16 * TICK) - .EUToStart(180_000_000L) // 180M EU, MK2 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Copper.getFluid(L / 2)) + fluidInputs(Tritium.getFluid(250)) + fluidOutputs(Zinc.getPlasma(L)) + EUt(49152) // ZPM + duration(16 * TICK) + EUToStart(180_000_000L) // 180M EU (MK2) + } addPlasmaFuelRecipe(Zinc, 4 * SECOND + 18 * TICK) addPlasmaCoolantRecipe(Zinc, 2 * SECOND + 9 * TICK, true) // Al + F -> Ti (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Aluminium.getFluid(L)) - .fluidInputs(Fluorine.getFluid(L)) - .fluidOutputs(Titanium.getPlasma(L)) - .EUt(49152) // ZPM - .duration(8 * SECOND) - .EUToStart(300_000_000L) // 300M EU, MK2 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Aluminium.getFluid(L)) + fluidInputs(Fluorine.getFluid(L)) + fluidOutputs(Titanium.getPlasma(L)) + EUt(49152) // ZPM + duration(8 * SECOND) + EUToStart(300_000_000L) // 300M EU (MK2) + } addPlasmaFuelRecipe(Titanium, 7 * SECOND + 12 * TICK) addPlasmaCoolantRecipe(Titanium, 3 * SECOND + 6 * TICK, true) // Ne (plasma) + Co -> Rb (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Cobalt.getFluid(L)) - .fluidInputs(Neon.getPlasma(100)) - .fluidOutputs(Rubidium.getPlasma(L * 2)) - .EUt(VHA[LuV].toLong()) - .duration(3 * SECOND) - .EUToStart(240_000_000L) // 240M EU, MK2 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Cobalt.getFluid(L)) + fluidInputs(Neon.getPlasma(100)) + fluidOutputs(Rubidium.getPlasma(L * 2)) + EUt(VHA[LuV].toLong()) + duration(3 * SECOND) + EUToStart(240_000_000L) // 240M EU (MK2) + } addPlasmaFuelRecipe(Rubidium, 12 * SECOND + 13 * TICK) addPlasmaCoolantRecipe(Rubidium, 6 * SECOND + 8 * TICK, true) // Nb (plasma) + Zn (plasma) -> Kr (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Niobium.getPlasma(L)) - .fluidInputs(Zinc.getPlasma(L)) - .fluidOutputs(Krypton.getPlasma(500)) - .EUt(V[ZPM]) - .duration(1 * SECOND + 12 * TICK) - .EUToStart(300_000_000L) // 300M EU, MK2 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Niobium.getPlasma(L)) + fluidInputs(Zinc.getPlasma(L)) + fluidOutputs(Krypton.getPlasma(500)) + EUt(V[ZPM]) + duration(1 * SECOND + 12 * TICK) + EUToStart(300_000_000L) // 300M EU (MK2) + } addPlasmaFuelRecipe(Krypton, 7 * SECOND + 4 * TICK) addPlasmaCoolantRecipe(Krypton, 3 * SECOND + 18 * TICK) // Pu241 + Ne -> Rf - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Plutonium241.getFluid(16)) - .fluidInputs(Neon.getFluid(125)) - .fluidOutputs(Rutherfordium.getFluid(L)) - .EUt(VA[LuV].toLong()) - .duration(2 * SECOND) - .EUToStart(250_000_000L) // 250M EU, MK2 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Plutonium241.getFluid(16)) + fluidInputs(Neon.getFluid(125)) + fluidOutputs(Rutherfordium.getFluid(L)) + EUt(VA[LuV].toLong()) + duration(2 * SECOND) + EUToStart(250_000_000L) // 250M EU (MK2) + } // Au + O -> Fr - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Gold.getFluid(L / 4)) - .fluidInputs(Oxygen.getFluid(500)) - .fluidOutputs(Francium.getFluid(L / 2)) - .EUt(VHA[ZPM].toLong()) - .duration(4 * SECOND + 5 * TICK) - .EUToStart(180_000_000L) // 180M EU, MK2 - .buildAndRegister() - - // --------------------------------------------------------------------------------------------------------- - // MK3 Fusion Reactions + FUSION_RECIPES.addRecipe { + fluidInputs(Gold.getFluid(L / 4)) + fluidInputs(Oxygen.getFluid(500)) + fluidOutputs(Francium.getFluid(L / 2)) + EUt(VHA[ZPM].toLong()) + duration(4 * SECOND + 5 * TICK) + EUToStart(180_000_000L) // 180M EU (MK2) + } + + // endregion + + // region MK3 Fusion // Advanced recipe of Ca (plasma), original recipes of Ca (plasma) is MK1, // and this recipe is MK3 recipe. N (plasma) + Al -> Ca (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Nitrogen.getPlasma(125)) - .fluidInputs(Aluminium.getFluid(L)) - .fluidOutputs(Calcium.getPlasma(L * 2)) - .EUt(VA[ZPM] / 2L) - .duration(16 * TICK) - .EUToStart(360_000_000) // 360M, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Nitrogen.getPlasma(125)) + fluidInputs(Aluminium.getFluid(L)) + fluidOutputs(Calcium.getPlasma(L * 2)) + EUt(VA[ZPM] / 2L) + duration(16 * TICK) + EUToStart(360_000_000) // 360M (MK3) + } // Cm + Am (plasma) -> Xe (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Curium.getFluid(L)) - .fluidInputs(Americium.getPlasma(L)) - .fluidOutputs(Xenon.getPlasma(500)) - .EUt(VA[UV].toLong()) - .duration(16 * TICK) - .EUToStart(500_000_000L) // 500M EU, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Curium.getFluid(L)) + fluidInputs(Americium.getPlasma(L)) + fluidOutputs(Xenon.getPlasma(500)) + EUt(VA[UV]) + duration(16 * TICK) + EUToStart(500_000_000L) // 500M EU (MK3) + } addPlasmaFuelRecipe(Xenon, 17 * SECOND + 8 * TICK) addPlasmaCoolantRecipe(Xenon, 10 * SECOND) // Ir + F -> Rn (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Iridium.getFluid(L)) - .fluidInputs(Fluorine.getFluid(500)) - .fluidOutputs(Radon.getPlasma(1000)) - .EUt(98304) // ZPM - .duration(1 * SECOND + 12 * TICK) - .EUToStart(450_000_000L) // 450M EU, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Iridium.getFluid(L)) + fluidInputs(Fluorine.getFluid(500)) + fluidOutputs(Radon.getPlasma(1000)) + EUt(98304) // ZPM + duration(1 * SECOND + 12 * TICK) + EUToStart(450_000_000L) // 450M EU (MK3) + } addPlasmaFuelRecipe(Radon, 16 * SECOND + 4 * TICK) addPlasmaCoolantRecipe(Radon, 12 * SECOND) // Ta + Zn (plasma) -> Bi (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Tantalum.getFluid(L)) - .fluidInputs(Zinc.getPlasma(L / 2)) - .fluidOutputs(Bismuth.getPlasma(L)) - .EUt(98304) // ZPM - .duration(16 * TICK) - .EUToStart(350_000_000L) // MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Tantalum.getFluid(L)) + fluidInputs(Zinc.getPlasma(L / 2)) + fluidOutputs(Bismuth.getPlasma(L)) + EUt(98304) // ZPM + duration(16 * TICK) + EUToStart(350_000_000L) // 350M EU (MK3) + } addPlasmaFuelRecipe(Bismuth, 9 * SECOND + 4 * TICK) addPlasmaCoolantRecipe(Bismuth, 5 * SECOND + 8 * TICK, true) // Au + As -> Ag (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Gold.getFluid(L)) - .fluidInputs(Arsenic.getFluid(L)) - .fluidOutputs(Silver.getPlasma(L)) - .EUt(49152) // ZPM - .duration(16 * TICK) - .EUToStart(350_000_000L) // 360M EU, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Gold.getFluid(L)) + fluidInputs(Arsenic.getFluid(L)) + fluidOutputs(Silver.getPlasma(L)) + EUt(49152) // ZPM + duration(16 * TICK) + EUToStart(350_000_000L) // 360M EU (MK3) + } addPlasmaFuelRecipe(Silver, 8 * SECOND + 8 * TICK) addPlasmaCoolantRecipe(Silver, 4 * SECOND + 4 * TICK, true) // Pu241 + He -> Cm - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Plutonium241.getFluid(L)) - .fluidInputs(Helium.getFluid(1000)) - .fluidOutputs(Curium.getFluid(L)) - .EUt(98304) // ZPM - .duration(4 * SECOND + 16 * TICK) - .EUToStart(500_000_000L) // 500M EU, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Plutonium241.getFluid(L)) + fluidInputs(Helium.getFluid(1000)) + fluidOutputs(Curium.getFluid(L)) + EUt(98304) // ZPM + duration(4 * SECOND + 16 * TICK) + EUToStart(500_000_000L) // 500M EU (MK3) + } // Am + Ne -> Db - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Americium.getFluid(16)) - .fluidInputs(Neon.getFluid(125)) - .fluidOutputs(Dubnium.getFluid(L)) - .EUt(VA[ZPM].toLong()) - .duration(4 * SECOND) - .EUToStart(380_000_000L) // 380M EU, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Americium.getFluid(16)) + fluidInputs(Neon.getFluid(125)) + fluidOutputs(Dubnium.getFluid(L)) + EUt(VA[ZPM]) + duration(4 * SECOND) + EUToStart(380_000_000L) // 380M EU (MK3) + } // Pu239 + Be -> Cf - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Plutonium239.getFluid(48)) - .fluidInputs(Beryllium.getFluid(48)) - .fluidOutputs(Californium.getFluid(48)) - .EUt(49152) // ZPM - .duration(12 * SECOND) - .EUToStart(480_000_000) // 480M EU, MK3 - .buildAndRegister() - - // --------------------------------------------------------------------------------------------------------- - // Mark 4 Fusion Reactions + FUSION_RECIPES.addRecipe { + fluidInputs(Plutonium239.getFluid(48)) + fluidInputs(Beryllium.getFluid(48)) + fluidOutputs(Californium.getFluid(48)) + EUt(49152) // ZPM + duration(12 * SECOND) + EUToStart(480_000_000) // 480M EU (MK3) + } + + // endregion + + // region MK4 Fusion // Rn (plasma) + N (plasma) -> Np (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Radon.getPlasma(100)) - .fluidInputs(Nitrogen.getPlasma(100)) - .fluidOutputs(Neptunium.getPlasma(L)) - .EUt(VA[UHV] / 2L) - .duration(2 * SECOND + 18 * TICK) - .EUToStart(940_000_000L) // 940M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Radon.getPlasma(100)) + fluidInputs(Nitrogen.getPlasma(100)) + fluidOutputs(Neptunium.getPlasma(L)) + EUt(VA[UHV] / 2) + duration(2 * SECOND + 18 * TICK) + EUToStart(940_000_000L) // 940M EU (MK4) + } addPlasmaFuelRecipe(Neptunium, 34 * SECOND) addPlasmaCoolantRecipe(Neptunium, 17 * SECOND, true) // Am (plasma) + B (plasma) -> Fm (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Americium.getPlasma(L / 2)) - .fluidInputs(Boron.getPlasma(L / 2)) - .fluidOutputs(Fermium.getPlasma(L)) - .EUt(VA[UHV] / 2L) - .duration(2 * SECOND + 18 * TICK) - .EUToStart(960_000_000L) // 960M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Americium.getPlasma(L / 2)) + fluidInputs(Boron.getPlasma(L / 2)) + fluidOutputs(Fermium.getPlasma(L)) + EUt(VA[UHV] / 2) + duration(2 * SECOND + 18 * TICK) + EUToStart(960_000_000L) // 960M EU (MK4) + } addPlasmaFuelRecipe(Fermium, 38 * SECOND + 14 * TICK) addPlasmaCoolantRecipe(Fermium, 19 * SECOND, true) // Se + F -> Tc (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Selenium.getFluid(L)) - .fluidInputs(Fluorine.getFluid(250)) - .fluidOutputs(Technetium.getPlasma(L * 2)) - .EUt(VA[UHV].toLong()) - .duration(3 * SECOND + 4 * TICK) - .EUToStart(650_000_000L) // 650M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Selenium.getFluid(L)) + fluidInputs(Fluorine.getFluid(250)) + fluidOutputs(Technetium.getPlasma(L * 2)) + EUt(VA[UHV]) + duration(3 * SECOND + 4 * TICK) + EUToStart(650_000_000L) // 650M EU (MK4) + } addPlasmaFuelRecipe(Technetium, 38 * SECOND + 5 * TICK) addPlasmaCoolantRecipe(Technetium, 19 * SECOND, true) // Ra + V -> Rg - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Radium.getFluid(L * 2)) - .fluidInputs(Vanadium.getFluid(L * 2)) - .fluidOutputs(Roentgenium.getFluid(L * 4)) - .EUt(VA[UHV] / 2L) - .duration(5 * SECOND + 12 * TICK) - .EUToStart(460_000_000L) // 460M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Radium.getFluid(L * 2)) + fluidInputs(Vanadium.getFluid(L * 2)) + fluidOutputs(Roentgenium.getFluid(L * 4)) + EUt(VA[UHV] / 2) + duration(5 * SECOND + 12 * TICK) + EUToStart(460_000_000L) // 460M EU (MK4) + } // Pu239 + Ca -> Sg - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Plutonium239.getFluid(L)) - .fluidInputs(Calcium.getFluid(L)) - .fluidOutputs(Seaborgium.getFluid(L * 2)) - .EUt(VA[UHV].toLong()) - .duration(2 * SECOND + 5 * TICK) - .EUToStart(800_000_000L) // 800M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Plutonium239.getFluid(L)) + fluidInputs(Calcium.getFluid(L)) + fluidOutputs(Seaborgium.getFluid(L * 2)) + EUt(VA[UHV]) + duration(2 * SECOND + 5 * TICK) + EUToStart(800_000_000L) // 800M EU (MK4) + } // Cm + Na -> Bh - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Curium.getFluid(L / 2)) - .fluidInputs(Sodium.getFluid(L * 2)) - .fluidOutputs(Bohrium.getFluid(L * 2)) - .EUt(VA[UHV].toLong()) - .duration(5 * SECOND) - .EUToStart(850_000_000L) // 850M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Curium.getFluid(L / 2)) + fluidInputs(Sodium.getFluid(L * 2)) + fluidOutputs(Bohrium.getFluid(L * 2)) + EUt(VA[UHV]) + duration(5 * SECOND) + EUToStart(850_000_000L) // 850M EU (MK4) + } // ScTi + RaRn -> Hs - FUSION_RECIPES.recipeBuilder() - .fluidInputs(ScandiumTitaniumMixture.getFluid(L)) - .fluidInputs(RadiumRadonMixture.getFluid(L * 2)) - .fluidOutputs(MetastableHassium.getPlasma(L * 4)) - .EUt(VA[UHV].toLong()) - .duration(5 * SECOND) - .EUToStart(1_200_000_000L) // 1200M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(ScandiumTitaniumMixture.getFluid(L)) + fluidInputs(RadiumRadonMixture.getFluid(L * 2)) + fluidOutputs(MetastableHassium.getPlasma(L * 4)) + EUt(VA[UHV]) + duration(5 * SECOND) + EUToStart(1_200_000_000L) // 1,200M EU (MK4) + } // Po + Cr -> Mt - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Polonium.getFluid(L * 2)) - .fluidInputs(Chrome.getFluid(L * 2)) - .fluidOutputs(Meitnerium.getFluid(L * 4)) - .EUt(VA[UHV] / 3L) - .duration(4 * SECOND + 8 * TICK) - .EUToStart(400_000_000L) // 400M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Polonium.getFluid(L * 2)) + fluidInputs(Chrome.getFluid(L * 2)) + fluidOutputs(Meitnerium.getFluid(L * 4)) + EUt(VA[UHV] / 3) + duration(4 * SECOND + 8 * TICK) + EUToStart(400_000_000L) // 400M EU (MK4) + } // Zn + Ni -> Cn - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Zinc.getFluid(L * 4)) - .fluidInputs(Nickel.getFluid(L * 4)) - .fluidOutputs(Copernicium.getFluid(L * 2)) - .EUt(VA[UHV] / 2L) - .duration(5 * SECOND + 6 * TICK) - .EUToStart(850_000_000L) // 850M EU, MK4 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Zinc.getFluid(L * 4)) + fluidInputs(Nickel.getFluid(L * 4)) + fluidOutputs(Copernicium.getFluid(L * 2)) + EUt(VA[UHV] / 2) + duration(5 * SECOND + 6 * TICK) + EUToStart(850_000_000L) // 850M EU (MK4) + } // Cf + Cm -> Og - FUSION_RECIPES.recipeBuilder() - .fluidInputs(OganessonBreedingBase.getFluid(L)) - .fluidInputs(Curium.getFluid(36)) - .fluidOutputs(MetastableOganesson.getPlasma(L)) - .EUt(VA[UHV].toLong()) - .duration(5 * SECOND) - .EUToStart(1_100_000_000L) // 1100M EU, MK4 - .buildAndRegister() - - // --------------------------------------------------------------------------------------------------------- - // Mark 5 Fusion + FUSION_RECIPES.addRecipe { + fluidInputs(OganessonBreedingBase.getFluid(L)) + fluidInputs(Curium.getFluid(36)) + fluidOutputs(MetastableOganesson.getPlasma(L)) + EUt(VA[UHV]) + duration(5 * SECOND) + EUToStart(1_100_000_000L) // 1,100M EU (MK4) + } + + // endregion + + // region MK5 Fusion // Os + Si -> Th (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Osmium.getFluid(L)) - .fluidInputs(Silicon.getFluid(L)) - .fluidOutputs(Thorium.getPlasma(L)) - .EUt(VH[UEV] / 2L) - .duration(13 * SECOND + 10 * TICK) - .EUToStart(1_800_000_000L) // 1800M EU, MK5 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Osmium.getFluid(L)) + fluidInputs(Silicon.getFluid(L)) + fluidOutputs(Thorium.getPlasma(L)) + EUt(VH[UEV] / 2) + duration(13 * SECOND + 10 * TICK) + EUToStart(1_800_000_000L) // 1,800M EU (MK5) + } addPlasmaFuelRecipe(Thorium, 52 * SECOND + 4 * TICK) addPlasmaCoolantRecipe(Thorium, 26 * SECOND + 2 * TICK, true) // Te + Zn -> Pb (plasma) - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Tellurium.getFluid(L)) - .fluidInputs(Zinc.getFluid(L)) - .fluidOutputs(Lead.getPlasma(L)) - .EUt(VA[UEV].toLong()) - .duration(12 * SECOND) - .EUToStart(1_800_000_000L) // 1800M EU, MK5 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Tellurium.getFluid(L)) + fluidInputs(Zinc.getFluid(L)) + fluidOutputs(Lead.getPlasma(L)) + EUt(VA[UEV]) + duration(12 * SECOND) + EUToStart(1_800_000_000L) // 1,800M EU (MK5) + } addPlasmaFuelRecipe(Lead, 46 * SECOND + 8 * TICK) addPlasmaCoolantRecipe(Lead, 18 * SECOND + 4 * TICK, true) // At + Ni -> Nh - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Astatine.getFluid(L)) - .fluidInputs(Nickel.getFluid(L * 2)) - .fluidOutputs(Nihonium.getFluid(L / 2)) - .EUt(VA[UEV] / 3L) - .duration(2 * SECOND + 14 * TICK) - .EUToStart(1_300_000_000L) // 1300M EU, MK5 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Astatine.getFluid(L)) + fluidInputs(Nickel.getFluid(L * 2)) + fluidOutputs(Nihonium.getFluid(L / 2)) + EUt(VA[UEV] / 3) + duration(2 * SECOND + 14 * TICK) + EUToStart(1_300_000_000L) // 1,300M EU (MK5) + } // Np + Ti -> Mc - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Nickel.getFluid(L)) - .fluidInputs(Titanium.getFluid(L)) - .fluidOutputs(Moscovium.getFluid(L / 4)) - .EUt(VA[UEV].toLong()) - .duration(4 * SECOND + 8 * TICK) - .EUToStart(1_600_000_000L) // 1600M EU, MK5 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Nickel.getFluid(L)) + fluidInputs(Titanium.getFluid(L)) + fluidOutputs(Moscovium.getFluid(L / 4)) + EUt(VA[UEV]) + duration(4 * SECOND + 8 * TICK) + EUToStart(1_600_000_000L) // 1,600M EU (MK5) + } // Pa + Mn -> Lv - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Protactinium.getFluid(L)) - .fluidInputs(Manganese.getFluid(L)) - .fluidOutputs(Livermorium.getFluid(L)) - .EUt(VA[UEV] / 2L) - .duration(9 * SECOND + 6 * TICK) - .EUToStart(1_800_000_000L) // 1800M EU, MK5 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Protactinium.getFluid(L)) + fluidInputs(Manganese.getFluid(L)) + fluidOutputs(Livermorium.getFluid(L)) + EUt(VA[UEV] / 2) + duration(9 * SECOND + 6 * TICK) + EUToStart(1_800_000_000L) // 1,800M EU (MK5) + } // Bk + Ca -> Ts - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Berkelium.getFluid(L)) - .fluidInputs(Calcium.getFluid(L * 4)) - .fluidOutputs(Tennessine.getFluid(L)) - .EUt(VA[UEV].toLong()) - .duration(5 * SECOND + 15 * TICK) - .EUToStart(2_000_000_000L) // 2000M EU, MK5 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Berkelium.getFluid(L)) + fluidInputs(Calcium.getFluid(L * 4)) + fluidOutputs(Tennessine.getFluid(L)) + EUt(VA[UEV]) + duration(5 * SECOND + 15 * TICK) + EUToStart(2_000_000_000L) // 2,000M EU (MK5) + } + + // endregion // Add plasma coolant recipes to vacuum freezer for original plasmas. addPlasmaCoolantRecipe(Americium, 8 * SECOND, true) @@ -533,35 +540,34 @@ internal object FusionReactorRecipes private fun addPlasmaFuelRecipe(material: Material, duration: Int) { - PLASMA_GENERATOR_FUELS.recipeBuilder() - .fluidInputs(material.getPlasma(1)) - .fluidOutputs(material.getFluid(1)) - .EUt(V[EV]) - .duration(duration) - .buildAndRegister() + PLASMA_GENERATOR_FUELS.addRecipe { + fluidInputs(material.getPlasma(1)) + fluidOutputs(material.getFluid(1)) + EUt(V[EV]) + duration(duration) + } } private fun addPlasmaCoolantRecipe(material: Material, duration: Int) { - VACUUM_RECIPES.recipeBuilder() - .fluidInputs(material.getPlasma(1000)) - .fluidOutputs(material.getFluid(1000)) - .EUt(VA[MV]) - .duration(duration) - .buildAndRegister() + VACUUM_RECIPES.addRecipe { + fluidInputs(material.getPlasma(1000)) + fluidOutputs(material.getFluid(1000)) + EUt(VA[MV]) + duration(duration) + } } - private fun addPlasmaCoolantRecipe(material: Material, duration: Int, - isMetallic: Boolean) + private fun addPlasmaCoolantRecipe(material: Material, duration: Int, isMetallic: Boolean) { if (isMetallic) { - VACUUM_RECIPES.recipeBuilder() - .fluidInputs(material.getPlasma(L)) - .fluidOutputs(material.getFluid(L)) - .EUt(VA[MV]) - .duration(duration) - .buildAndRegister() + VACUUM_RECIPES.addRecipe { + fluidInputs(material.getPlasma(L)) + fluidOutputs(material.getFluid(L)) + EUt(VA[MV]) + duration(duration) + } } else { diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/GTMetaTileEntityLoader.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/GTMetaTileEntityLoader.kt index 3a472bcb8..3c5331376 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/GTMetaTileEntityLoader.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/GTMetaTileEntityLoader.kt @@ -1,10 +1,8 @@ package gregtechlite.gtlitecore.loader.recipe.machine import gregtech.api.GTValues.* -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES -import gregtech.api.recipes.ingredients.IntCircuitIngredient import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.MarkerMaterials.Tier import gregtech.api.unification.material.Materials.* @@ -19,7 +17,8 @@ import gregtech.loaders.recipe.MetaTileEntityLoader import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt -import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeHandler.addMultiFluidHatchRecipes +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.util.TierBridge import gregtechlite.gtlitecore.api.recipe.util.TieredAdhesiveFluid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Abyssalloy @@ -35,7 +34,6 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Mellion import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MetastableHassium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Periodicium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.QuantumAlloy -import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.QuantumchromodynamicallyConfinedMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.RealizedQuantumFoamShard import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Rhugnor import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SeaborgiumCarbide @@ -458,14 +456,14 @@ internal object GTMetaTileEntityLoader 'H', HULL[LV].stackForm, 'P', UnificationEntry(pipeNormalItem, Nickel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(HULL[LV]) - .input(pipeNormalItem, Nickel, 2) - .output(INVENTORY_BRIDGE) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(HULL[LV]) + input(pipeNormalItem, Nickel, 2) + output(INVENTORY_BRIDGE) + EUt(VH[LV]) + duration(10 * SECOND) + } // Tank Bridge ModHandler.addShapedRecipe(true, "tank_bridge", TANK_BRIDGE.stackForm, @@ -473,14 +471,14 @@ internal object GTMetaTileEntityLoader 'H', HULL[LV].stackForm, 'P', UnificationEntry(pipeNormalFluid, Steel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(HULL[LV]) - .input(pipeNormalFluid, Steel, 2) - .output(TANK_BRIDGE) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(HULL[LV]) + input(pipeNormalFluid, Steel, 2) + output(TANK_BRIDGE) + EUt(VH[LV]) + duration(10 * SECOND) + } // Inventory Tank Bridge ModHandler.addShapedRecipe(true, "inventory_tank_bridge", INVENTORY_TANK_BRIDGE.stackForm, @@ -489,15 +487,15 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(pipeNormalItem, Nickel), 'Q', UnificationEntry(pipeNormalFluid, Steel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(HULL[LV]) - .input(pipeNormalFluid, Steel, 2) - .input(pipeNormalItem, Nickel, 2) - .output(INVENTORY_TANK_BRIDGE) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(HULL[LV]) + input(pipeNormalFluid, Steel, 2) + input(pipeNormalItem, Nickel, 2) + output(INVENTORY_TANK_BRIDGE) + EUt(VH[LV]) + duration(10 * SECOND) + } // Universal Bridge ModHandler.addShapedRecipe(true, "universal_bridge", UNIVERSAL_BRIDGE.stackForm, @@ -510,19 +508,19 @@ internal object GTMetaTileEntityLoader 'G', UnificationEntry(gear, Aluminium), 'X', UnificationEntry(circuit, Tier.LV)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(HULL[MV]) - .input(circuit, Tier.LV) - .input(rotor, Aluminium) - .input(gear, Aluminium) - .input(spring, Aluminium) - .input(pipeNormalFluid, Aluminium, 2) - .input(pipeNormalItem, Electrum, 2) - .output(UNIVERSAL_BRIDGE) - .EUt(VH[MV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(HULL[MV]) + input(circuit, Tier.LV) + input(rotor, Aluminium) + input(gear, Aluminium) + input(spring, Aluminium) + input(pipeNormalFluid, Aluminium, 2) + input(pipeNormalItem, Electrum, 2) + output(UNIVERSAL_BRIDGE) + EUt(VH[MV]) + duration(10 * SECOND) + } // Inventory Extender ModHandler.addShapedRecipe(true, "inventory_extender", INVENTORY_EXTENDER.stackForm, @@ -530,14 +528,14 @@ internal object GTMetaTileEntityLoader 'H', HULL[LV].stackForm, 'P', UnificationEntry(pipeNormalItem, Nickel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(HULL[LV]) - .input(pipeNormalItem, Nickel, 2) - .output(INVENTORY_EXTENDER) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(HULL[LV]) + input(pipeNormalItem, Nickel, 2) + output(INVENTORY_EXTENDER) + EUt(VH[LV]) + duration(10 * SECOND) + } // Tank Extender ModHandler.addShapedRecipe(true, "tank_extender", TANK_EXTENDER.stackForm, @@ -545,14 +543,14 @@ internal object GTMetaTileEntityLoader 'H', HULL[LV].stackForm, 'P', UnificationEntry(pipeNormalFluid, Steel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(HULL[LV]) - .input(pipeNormalFluid, Steel, 2) - .output(TANK_EXTENDER) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(HULL[LV]) + input(pipeNormalFluid, Steel, 2) + output(TANK_EXTENDER) + EUt(VH[LV]) + duration(10 * SECOND) + } // Inventory Tank Extender ModHandler.addShapedRecipe(true, "inventory_tank_extender", INVENTORY_TANK_EXTENDER.stackForm, @@ -561,15 +559,15 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(pipeNormalFluid, Steel), 'Q', UnificationEntry(pipeNormalItem, Nickel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(HULL[LV]) - .input(pipeNormalFluid, Steel, 2) - .input(pipeNormalItem, Nickel, 2) - .output(INVENTORY_TANK_EXTENDER) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(HULL[LV]) + input(pipeNormalFluid, Steel, 2) + input(pipeNormalItem, Nickel, 2) + output(INVENTORY_TANK_EXTENDER) + EUt(VH[LV]) + duration(10 * SECOND) + } // Universal Extender ModHandler.addShapedRecipe(true, "universal_extender", UNIVERSAL_EXTENDER.stackForm, @@ -582,19 +580,19 @@ internal object GTMetaTileEntityLoader 'S', UnificationEntry(spring, Aluminium), 'X', UnificationEntry(circuit, Tier.LV)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(HULL[MV]) - .input(circuit, Tier.LV) - .input(rotor, Aluminium) - .input(gear, Aluminium) - .input(spring, Aluminium) - .input(pipeNormalFluid, Aluminium, 2) - .input(pipeNormalItem, Electrum, 2) - .output(UNIVERSAL_EXTENDER) - .EUt(VH[MV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(3) + input(HULL[MV]) + input(circuit, Tier.LV) + input(rotor, Aluminium) + input(gear, Aluminium) + input(spring, Aluminium) + input(pipeNormalFluid, Aluminium, 2) + input(pipeNormalItem, Electrum, 2) + output(UNIVERSAL_EXTENDER) + EUt(VH[MV]) + duration(10 * SECOND) + } // Iron Drum ModHandler.addShapelessNBTClearingRecipe("drum_nbt_iron", @@ -605,14 +603,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Iron), 'S', UnificationEntry(stickLong, Iron)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Iron, 2) - .input(plate, Iron, 4) - .output(IRON_DRUM) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Iron, 2) + input(plate, Iron, 4) + output(IRON_DRUM) + EUt(VA[LV]) + duration(10 * SECOND) + } // Copper Drum ModHandler.addShapelessNBTClearingRecipe("drum_nbt_copper", @@ -623,14 +621,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Copper), 'S', UnificationEntry(stickLong, Copper)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Copper, 2) - .input(plate, Copper, 4) - .output(COPPER_DRUM) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Copper, 2) + input(plate, Copper, 4) + output(COPPER_DRUM) + EUt(VA[LV]) + duration(10 * SECOND) + } // Lead Drum ModHandler.addShapelessNBTClearingRecipe("drum_nbt_lead", @@ -641,14 +639,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Lead), 'S', UnificationEntry(stickLong, Lead)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Lead, 2) - .input(plate, Lead, 4) - .output(LEAD_DRUM) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Lead, 2) + input(plate, Lead, 4) + output(LEAD_DRUM) + EUt(VA[LV]) + duration(10 * SECOND) + } // Chrome Drum ModHandler.addShapelessNBTClearingRecipe("drum_nbt_chrome", @@ -659,14 +657,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Chrome), 'S', UnificationEntry(stickLong, Chrome)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Chrome, 2) - .input(plate, Chrome, 4) - .output(CHROME_DRUM) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Chrome, 2) + input(plate, Chrome, 4) + output(CHROME_DRUM) + EUt(VA[LV]) + duration(10 * SECOND) + } // Tungsten Drum ModHandler.addShapelessNBTClearingRecipe("drum_nbt_tungsten", @@ -677,14 +675,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Tungsten), 'S', UnificationEntry(stickLong, Tungsten)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Tungsten, 2) - .input(plate, Tungsten, 4) - .output(TUNGSTEN_DRUM) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Tungsten, 2) + input(plate, Tungsten, 4) + output(TUNGSTEN_DRUM) + EUt(VA[LV]) + duration(10 * SECOND) + } // Iridium Drum ModHandler.addShapelessNBTClearingRecipe("drum_nbt_iridium", @@ -695,14 +693,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Iridium), 'S', UnificationEntry(stickLong, Iridium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Iridium, 2) - .input(plate, Iridium, 4) - .output(IRIDIUM_DRUM) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Iridium, 2) + input(plate, Iridium, 4) + output(IRIDIUM_DRUM) + EUt(VA[LV]) + duration(10 * SECOND) + } // Iron Crate ModHandler.addShapedRecipe(true, "iron_crate", IRON_CRATE.stackForm, @@ -710,14 +708,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Iron), 'S', UnificationEntry(stickLong, Iron)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, Iron, 4) - .input(plate, Iron, 4) - .output(IRON_CRATE) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, Iron, 4) + input(plate, Iron, 4) + output(IRON_CRATE) + EUt(VA[LV]) + duration(10 * SECOND) + } // Copper Crate ModHandler.addShapedRecipe(true, "copper_crate", COPPER_CRATE.stackForm, @@ -725,14 +723,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Copper), 'S', UnificationEntry(stickLong, Copper)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, Copper, 4) - .input(plate, Copper, 4) - .output(COPPER_CRATE) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, Copper, 4) + input(plate, Copper, 4) + output(COPPER_CRATE) + EUt(VA[LV]) + duration(10 * SECOND) + } // Silver Crate ModHandler.addShapedRecipe(true, "silver_crate", SILVER_CRATE.stackForm, @@ -740,14 +738,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Silver), 'S', UnificationEntry(stickLong, Silver)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, Silver, 4) - .input(plate, Silver, 4) - .output(SILVER_CRATE) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, Silver, 4) + input(plate, Silver, 4) + output(SILVER_CRATE) + EUt(VA[LV]) + duration(10 * SECOND) + } // Gold Crate ModHandler.addShapedRecipe(true, "gold_crate", GOLD_CRATE.stackForm, @@ -755,14 +753,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Gold), 'S', UnificationEntry(stickLong, Gold)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, Gold, 4) - .input(plate, Gold, 4) - .output(GOLD_CRATE) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, Gold, 4) + input(plate, Gold, 4) + output(GOLD_CRATE) + EUt(VA[LV]) + duration(10 * SECOND) + } // Diamond Crate ModHandler.addShapedRecipe(true, "diamond_crate", DIAMOND_CRATE.stackForm, @@ -770,14 +768,14 @@ internal object GTMetaTileEntityLoader 'P', UnificationEntry(plate, Diamond), 'S', UnificationEntry(stickLong, Diamond)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, Diamond, 4) - .input(plate, Diamond, 4) - .output(DIAMOND_CRATE) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, Diamond, 4) + input(plate, Diamond, 4) + output(DIAMOND_CRATE) + EUt(VA[LV]) + duration(10 * SECOND) + } // UHV Transformer ModHandler.addShapedRecipe(true, "transformer_uhv", TRANSFORMER[UHV].stackForm, @@ -860,394 +858,394 @@ internal object GTMetaTileEntityLoader 'U', UnificationEntry(cableGtQuadruple, Periodicium)) // UHV Adjustable Transformer - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UHV]) - .input(ELECTRIC_PUMP_IV) - .input(cableGtOctal, Seaborgium) - .input(cableGtOctal, Europium, 2) - .input(springSmall, Europium) - .input(spring, Seaborgium) - .fluidInputs(Lubricant.getFluid(2000)) - .output(POWER_TRANSFORMER[UHV]) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UHV]) + input(ELECTRIC_PUMP_IV) + input(cableGtOctal, Seaborgium) + input(cableGtOctal, Europium, 2) + input(springSmall, Europium) + input(spring, Seaborgium) + fluidInputs(Lubricant.getFluid(2000)) + output(POWER_TRANSFORMER[UHV]) + EUt(VA[UHV]) + duration(10 * SECOND) + } // UEV Adjustable Transformer - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UEV]) - .input(ELECTRIC_PUMP_LuV) - .input(cableGtOctal, SuperheavyAlloyA) - .input(cableGtOctal, Seaborgium, 2) - .input(springSmall, Seaborgium) - .input(spring, SuperheavyAlloyA) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(2000)) - .output(POWER_TRANSFORMER[UEV]) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UEV]) + input(ELECTRIC_PUMP_LuV) + input(cableGtOctal, SuperheavyAlloyA) + input(cableGtOctal, Seaborgium, 2) + input(springSmall, Seaborgium) + input(spring, SuperheavyAlloyA) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(2000)) + output(POWER_TRANSFORMER[UEV]) + EUt(VA[UEV]) + duration(10 * SECOND) + } // UIV Adjustable Transformer - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UIV]) - .input(ELECTRIC_PUMP_LuV) - .input(cableGtOctal, SuperheavyAlloyB) - .input(cableGtOctal, SuperheavyAlloyA, 2) - .input(springSmall, SuperheavyAlloyA) - .input(spring, SuperheavyAlloyB) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(2000)) - .output(POWER_TRANSFORMER[UIV]) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UIV]) + input(ELECTRIC_PUMP_LuV) + input(cableGtOctal, SuperheavyAlloyB) + input(cableGtOctal, SuperheavyAlloyA, 2) + input(springSmall, SuperheavyAlloyA) + input(spring, SuperheavyAlloyB) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(2000)) + output(POWER_TRANSFORMER[UIV]) + EUt(VA[UIV]) + duration(10 * SECOND) + } // UXV Adjustable Transformer - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UXV]) - .input(ELECTRIC_PUMP_ZPM) - .input(cableGtOctal, Periodicium) - .input(cableGtOctal, SuperheavyAlloyB, 2) - .input(springSmall, SuperheavyAlloyB) - .input(spring, Periodicium) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(2000)) - .output(POWER_TRANSFORMER[UXV]) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UXV]) + input(ELECTRIC_PUMP_ZPM) + input(cableGtOctal, Periodicium) + input(cableGtOctal, SuperheavyAlloyB, 2) + input(springSmall, SuperheavyAlloyB) + input(spring, Periodicium) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(2000)) + output(POWER_TRANSFORMER[UXV]) + EUt(VA[UXV]) + duration(10 * SECOND) + } // OpV Adjustable Transformer - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[OpV]) - .input(ELECTRIC_PUMP_ZPM) - .input(cableGtOctal, RealizedQuantumFoamShard) - .input(cableGtOctal, Periodicium, 2) - .input(springSmall, Periodicium) - .input(spring, RealizedQuantumFoamShard) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(2000)) - .output(POWER_TRANSFORMER[OpV]) - .EUt(VA[OpV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[OpV]) + input(ELECTRIC_PUMP_ZPM) + input(cableGtOctal, RealizedQuantumFoamShard) + input(cableGtOctal, Periodicium, 2) + input(springSmall, Periodicium) + input(spring, RealizedQuantumFoamShard) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(2000)) + output(POWER_TRANSFORMER[OpV]) + EUt(VA[OpV]) + duration(10 * SECOND) + } // 4A UEV Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(ENERGY_INPUT_HATCH[UEV]) - .input(wireGtQuadruple, Seaborgium, 2) - .input(plate, Vibranium, 2) - .output(ENERGY_INPUT_HATCH_4A[UEV]) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ENERGY_INPUT_HATCH[UEV]) + input(wireGtQuadruple, Seaborgium, 2) + input(plate, Vibranium, 2) + output(ENERGY_INPUT_HATCH_4A[UEV]) + EUt(VA[UHV]) + duration(5 * SECOND) + } // 4A UIV Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(ENERGY_INPUT_HATCH[UIV]) - .input(wireGtQuadruple, SuperheavyAlloyA, 2) - .input(plate, Shirabon, 2) - .output(ENERGY_INPUT_HATCH_4A[UIV]) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ENERGY_INPUT_HATCH[UIV]) + input(wireGtQuadruple, SuperheavyAlloyA, 2) + input(plate, Shirabon, 2) + output(ENERGY_INPUT_HATCH_4A[UIV]) + EUt(VA[UEV]) + duration(5 * SECOND) + } // 4A UXV Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(ENERGY_INPUT_HATCH[UXV]) - .input(wireGtQuadruple, SuperheavyAlloyB, 2) - .input(plate, Creon, 2) - .output(ENERGY_INPUT_HATCH_4A[UXV]) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ENERGY_INPUT_HATCH[UXV]) + input(wireGtQuadruple, SuperheavyAlloyB, 2) + input(plate, Creon, 2) + output(ENERGY_INPUT_HATCH_4A[UXV]) + EUt(VA[UIV]) + duration(5 * SECOND) + } // 4A OpV Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(ENERGY_INPUT_HATCH[OpV]) - .input(wireGtQuadruple, Periodicium, 2) - .input(plate, BlackDwarfMatter, 2) - .output(ENERGY_INPUT_HATCH_4A[OpV]) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ENERGY_INPUT_HATCH[OpV]) + input(wireGtQuadruple, Periodicium, 2) + input(plate, BlackDwarfMatter, 2) + output(ENERGY_INPUT_HATCH_4A[OpV]) + EUt(VA[UXV]) + duration(5 * SECOND) + } // 16A UHV Energy Hatch - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - *arrayOf(HI_AMP_TRANSFORMER[UV].stackForm, ENERGY_INPUT_HATCH_4A[UHV].getStackForm(2), - OreDictUnifier.get(wireGtOctal, Europium, 2), - OreDictUnifier.get(plate, Neutronium, 4))) - - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UHV]) - .input(ENERGY_INPUT_HATCH_4A[UHV], 2) - .input(wireGtOctal, Europium, 2) - .input(plate, Neutronium, 4) - .output(ENERGY_INPUT_HATCH_16A[UHV]) - .EUt(VA[UV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.removeRecipe( + HI_AMP_TRANSFORMER[UV].stackForm, ENERGY_INPUT_HATCH_4A[UHV].getStackForm(2), + OreDictUnifier.get(wireGtOctal, Europium, 2), + OreDictUnifier.get(plate, Neutronium, 4)) + + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UHV]) + input(ENERGY_INPUT_HATCH_4A[UHV], 2) + input(wireGtOctal, Europium, 2) + input(plate, Neutronium, 4) + output(ENERGY_INPUT_HATCH_16A[UHV]) + EUt(VA[UV]) + duration(10 * SECOND) + } // 16A UEV Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UEV]) - .input(ENERGY_INPUT_HATCH_4A[UEV], 2) - .input(wireGtOctal, Seaborgium, 2) - .input(plate, Vibranium, 4) - .output(ENERGY_INPUT_HATCH_16A[UEV]) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UEV]) + input(ENERGY_INPUT_HATCH_4A[UEV], 2) + input(wireGtOctal, Seaborgium, 2) + input(plate, Vibranium, 4) + output(ENERGY_INPUT_HATCH_16A[UEV]) + EUt(VA[UHV]) + duration(10 * SECOND) + } // 16A UIV Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UIV]) - .input(ENERGY_INPUT_HATCH_4A[UIV], 2) - .input(wireGtOctal, SuperheavyAlloyA, 2) - .input(plate, Shirabon, 4) - .output(ENERGY_INPUT_HATCH_16A[UIV]) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UIV]) + input(ENERGY_INPUT_HATCH_4A[UIV], 2) + input(wireGtOctal, SuperheavyAlloyA, 2) + input(plate, Shirabon, 4) + output(ENERGY_INPUT_HATCH_16A[UIV]) + EUt(VA[UEV]) + duration(10 * SECOND) + } // 16A UXV Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UXV]) - .input(ENERGY_INPUT_HATCH_4A[UXV], 2) - .input(wireGtOctal, SuperheavyAlloyB, 2) - .input(plate, Creon, 4) - .output(ENERGY_INPUT_HATCH_16A[UXV]) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UXV]) + input(ENERGY_INPUT_HATCH_4A[UXV], 2) + input(wireGtOctal, SuperheavyAlloyB, 2) + input(plate, Creon, 4) + output(ENERGY_INPUT_HATCH_16A[UXV]) + EUt(VA[UIV]) + duration(10 * SECOND) + } // 16A OpV Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[OpV]) - .input(ENERGY_INPUT_HATCH_4A[OpV], 2) - .input(wireGtOctal, Periodicium, 2) - .input(plate, BlackDwarfMatter, 4) - .output(ENERGY_INPUT_HATCH_16A[OpV]) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[OpV]) + input(ENERGY_INPUT_HATCH_4A[OpV], 2) + input(wireGtOctal, Periodicium, 2) + input(plate, BlackDwarfMatter, 4) + output(ENERGY_INPUT_HATCH_16A[OpV]) + EUt(VA[UXV]) + duration(10 * SECOND) + } // 64A UHV Substation Energy Hatch - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - *arrayOf(POWER_TRANSFORMER[UV].stackForm, ENERGY_INPUT_HATCH_16A[UHV].stackForm, - OreDictUnifier.get(wireGtHex, Europium, 2), - OreDictUnifier.get(plate, Neutronium, 6))) - - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UHV]) - .input(ENERGY_INPUT_HATCH_16A[UHV]) - .input(wireGtHex, Europium, 2) - .input(plate, Neutronium, 6) - .output(SUBSTATION_ENERGY_INPUT_HATCH[UHV]) - .EUt(VA[UV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.removeRecipe( + POWER_TRANSFORMER[UV].stackForm, ENERGY_INPUT_HATCH_16A[UHV].stackForm, + OreDictUnifier.get(wireGtHex, Europium, 2), + OreDictUnifier.get(plate, Neutronium, 6)) + + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UHV]) + input(ENERGY_INPUT_HATCH_16A[UHV]) + input(wireGtHex, Europium, 2) + input(plate, Neutronium, 6) + output(SUBSTATION_ENERGY_INPUT_HATCH[UHV]) + EUt(VA[UV]) + duration(20 * SECOND) + } // 64A UEV Substation Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UEV]) - .input(ENERGY_INPUT_HATCH_16A[UEV]) - .input(wireGtHex, Seaborgium, 2) - .input(plate, Vibranium, 6) - .output(SUBSTATION_ENERGY_INPUT_HATCH[UEV]) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UEV]) + input(ENERGY_INPUT_HATCH_16A[UEV]) + input(wireGtHex, Seaborgium, 2) + input(plate, Vibranium, 6) + output(SUBSTATION_ENERGY_INPUT_HATCH[UEV]) + EUt(VA[UHV]) + duration(20 * SECOND) + } // 64A UIV Substation Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UIV]) - .input(ENERGY_INPUT_HATCH_16A[UIV]) - .input(wireGtHex, SuperheavyAlloyA, 2) - .input(plate, Shirabon, 6) - .output(SUBSTATION_ENERGY_INPUT_HATCH[UIV]) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UIV]) + input(ENERGY_INPUT_HATCH_16A[UIV]) + input(wireGtHex, SuperheavyAlloyA, 2) + input(plate, Shirabon, 6) + output(SUBSTATION_ENERGY_INPUT_HATCH[UIV]) + EUt(VA[UEV]) + duration(20 * SECOND) + } // 64A UXV Substation Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UXV]) - .input(ENERGY_INPUT_HATCH_16A[UXV]) - .input(wireGtHex, SuperheavyAlloyB, 2) - .input(plate, Creon, 6) - .output(SUBSTATION_ENERGY_INPUT_HATCH[UXV]) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UXV]) + input(ENERGY_INPUT_HATCH_16A[UXV]) + input(wireGtHex, SuperheavyAlloyB, 2) + input(plate, Creon, 6) + output(SUBSTATION_ENERGY_INPUT_HATCH[UXV]) + EUt(VA[UIV]) + duration(20 * SECOND) + } // 64A OpV Substation Energy Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[OpV]) - .input(ENERGY_INPUT_HATCH_16A[OpV]) - .input(wireGtHex, Periodicium, 2) - .input(plate, BlackDwarfMatter, 6) - .output(SUBSTATION_ENERGY_INPUT_HATCH[OpV]) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[OpV]) + input(ENERGY_INPUT_HATCH_16A[OpV]) + input(wireGtHex, Periodicium, 2) + input(plate, BlackDwarfMatter, 6) + output(SUBSTATION_ENERGY_INPUT_HATCH[OpV]) + EUt(VA[UXV]) + duration(20 * SECOND) + } // 4A UEV Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(ENERGY_OUTPUT_HATCH[UEV]) - .input(wireGtQuadruple, Seaborgium, 2) - .input(plate, Vibranium, 2) - .output(ENERGY_OUTPUT_HATCH_4A[UEV]) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ENERGY_OUTPUT_HATCH[UEV]) + input(wireGtQuadruple, Seaborgium, 2) + input(plate, Vibranium, 2) + output(ENERGY_OUTPUT_HATCH_4A[UEV]) + EUt(VA[UHV]) + duration(5 * SECOND) + } // 4A UIV Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(ENERGY_OUTPUT_HATCH[UIV]) - .input(wireGtQuadruple, SuperheavyAlloyA, 2) - .input(plate, Shirabon, 2) - .output(ENERGY_OUTPUT_HATCH_4A[UIV]) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ENERGY_OUTPUT_HATCH[UIV]) + input(wireGtQuadruple, SuperheavyAlloyA, 2) + input(plate, Shirabon, 2) + output(ENERGY_OUTPUT_HATCH_4A[UIV]) + EUt(VA[UEV]) + duration(5 * SECOND) + } // 4A UXV Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(ENERGY_OUTPUT_HATCH[UXV]) - .input(wireGtQuadruple, SuperheavyAlloyB, 2) - .input(plate, Creon, 2) - .output(ENERGY_OUTPUT_HATCH_4A[UXV]) - .EUt(VA[UIV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ENERGY_OUTPUT_HATCH[UXV]) + input(wireGtQuadruple, SuperheavyAlloyB, 2) + input(plate, Creon, 2) + output(ENERGY_OUTPUT_HATCH_4A[UXV]) + EUt(VA[UIV]) + duration(5 * SECOND) + } // 4A OpV Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(ENERGY_OUTPUT_HATCH[OpV]) - .input(wireGtQuadruple, Periodicium, 2) - .input(plate, BlackDwarfMatter, 2) - .output(ENERGY_OUTPUT_HATCH_4A[OpV]) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(ENERGY_OUTPUT_HATCH[OpV]) + input(wireGtQuadruple, Periodicium, 2) + input(plate, BlackDwarfMatter, 2) + output(ENERGY_OUTPUT_HATCH_4A[OpV]) + EUt(VA[UXV]) + duration(5 * SECOND) + } // 16A UHV Dynamo Hatch - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - *arrayOf(HI_AMP_TRANSFORMER[UV].stackForm, ENERGY_OUTPUT_HATCH_4A[UHV].stackForm, - OreDictUnifier.get(wireGtOctal, Europium, 2), - OreDictUnifier.get(plate, Neutronium, 4))) - - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UHV]) - .input(ENERGY_OUTPUT_HATCH_4A[UHV]) - .input(wireGtOctal, Europium, 2) - .input(plate, Neutronium, 4) - .output(ENERGY_OUTPUT_HATCH_16A[UHV]) - .EUt(VA[UV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.removeRecipe( + HI_AMP_TRANSFORMER[UV].stackForm, ENERGY_OUTPUT_HATCH_4A[UHV].stackForm, + OreDictUnifier.get(wireGtOctal, Europium, 2), + OreDictUnifier.get(plate, Neutronium, 4)) + + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UHV]) + input(ENERGY_OUTPUT_HATCH_4A[UHV]) + input(wireGtOctal, Europium, 2) + input(plate, Neutronium, 4) + output(ENERGY_OUTPUT_HATCH_16A[UHV]) + EUt(VA[UV]) + duration(10 * SECOND) + } // 16A UEV Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UEV]) - .input(ENERGY_OUTPUT_HATCH_4A[UEV]) - .input(wireGtOctal, Seaborgium, 2) - .input(plate, Vibranium, 4) - .output(ENERGY_OUTPUT_HATCH_16A[UEV]) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UEV]) + input(ENERGY_OUTPUT_HATCH_4A[UEV]) + input(wireGtOctal, Seaborgium, 2) + input(plate, Vibranium, 4) + output(ENERGY_OUTPUT_HATCH_16A[UEV]) + EUt(VA[UHV]) + duration(10 * SECOND) + } // 16A UIV Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UIV]) - .input(ENERGY_OUTPUT_HATCH_4A[UIV]) - .input(wireGtOctal, SuperheavyAlloyA, 2) - .input(plate, Shirabon, 4) - .output(ENERGY_OUTPUT_HATCH_16A[UIV]) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UIV]) + input(ENERGY_OUTPUT_HATCH_4A[UIV]) + input(wireGtOctal, SuperheavyAlloyA, 2) + input(plate, Shirabon, 4) + output(ENERGY_OUTPUT_HATCH_16A[UIV]) + EUt(VA[UEV]) + duration(10 * SECOND) + } // 16A UXV Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[UXV]) - .input(ENERGY_OUTPUT_HATCH_4A[UXV]) - .input(wireGtOctal, SuperheavyAlloyB, 2) - .input(plate, Creon, 4) - .output(ENERGY_OUTPUT_HATCH_16A[UXV]) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[UXV]) + input(ENERGY_OUTPUT_HATCH_4A[UXV]) + input(wireGtOctal, SuperheavyAlloyB, 2) + input(plate, Creon, 4) + output(ENERGY_OUTPUT_HATCH_16A[UXV]) + EUt(VA[UIV]) + duration(10 * SECOND) + } // 16A OpV Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(HI_AMP_TRANSFORMER[OpV]) - .input(ENERGY_OUTPUT_HATCH_4A[OpV]) - .input(wireGtOctal, Periodicium, 2) - .input(plate, BlackDwarfMatter, 4) - .output(ENERGY_OUTPUT_HATCH_16A[OpV]) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HI_AMP_TRANSFORMER[OpV]) + input(ENERGY_OUTPUT_HATCH_4A[OpV]) + input(wireGtOctal, Periodicium, 2) + input(plate, BlackDwarfMatter, 4) + output(ENERGY_OUTPUT_HATCH_16A[OpV]) + EUt(VA[UXV]) + duration(10 * SECOND) + } // 64A UHV Substation Dynamo Hatch - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - *arrayOf(POWER_TRANSFORMER[UV].stackForm, ENERGY_OUTPUT_HATCH_16A[UHV].stackForm, - OreDictUnifier.get(wireGtHex, Europium, 2), - OreDictUnifier.get(plate, Neutronium, 6))) - - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UHV]) - .input(ENERGY_OUTPUT_HATCH_16A[UHV]) - .input(wireGtHex, Europium, 2) - .input(plate, Neutronium, 6) - .output(SUBSTATION_ENERGY_OUTPUT_HATCH[UHV]) - .EUt(VA[UV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.removeRecipe( + POWER_TRANSFORMER[UV].stackForm, ENERGY_OUTPUT_HATCH_16A[UHV].stackForm, + OreDictUnifier.get(wireGtHex, Europium, 2), + OreDictUnifier.get(plate, Neutronium, 6)) + + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UHV]) + input(ENERGY_OUTPUT_HATCH_16A[UHV]) + input(wireGtHex, Europium, 2) + input(plate, Neutronium, 6) + output(SUBSTATION_ENERGY_OUTPUT_HATCH[UHV]) + EUt(VA[UV]) + duration(20 * SECOND) + } // 64A UEV Substation Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UEV]) - .input(ENERGY_OUTPUT_HATCH_16A[UEV]) - .input(wireGtHex, Seaborgium, 2) - .input(plate, Vibranium, 6) - .output(SUBSTATION_ENERGY_OUTPUT_HATCH[UEV]) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UEV]) + input(ENERGY_OUTPUT_HATCH_16A[UEV]) + input(wireGtHex, Seaborgium, 2) + input(plate, Vibranium, 6) + output(SUBSTATION_ENERGY_OUTPUT_HATCH[UEV]) + EUt(VA[UHV]) + duration(20 * SECOND) + } // 64A UIV Substation Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UIV]) - .input(ENERGY_OUTPUT_HATCH_16A[UIV]) - .input(wireGtHex, SuperheavyAlloyA, 2) - .input(plate, Shirabon, 6) - .output(SUBSTATION_ENERGY_OUTPUT_HATCH[UIV]) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UIV]) + input(ENERGY_OUTPUT_HATCH_16A[UIV]) + input(wireGtHex, SuperheavyAlloyA, 2) + input(plate, Shirabon, 6) + output(SUBSTATION_ENERGY_OUTPUT_HATCH[UIV]) + EUt(VA[UEV]) + duration(20 * SECOND) + } // 64A UXV Substation Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UXV]) - .input(ENERGY_OUTPUT_HATCH_16A[UXV]) - .input(wireGtHex, SuperheavyAlloyB, 2) - .input(plate, Creon, 6) - .output(SUBSTATION_ENERGY_OUTPUT_HATCH[UXV]) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UXV]) + input(ENERGY_OUTPUT_HATCH_16A[UXV]) + input(wireGtHex, SuperheavyAlloyB, 2) + input(plate, Creon, 6) + output(SUBSTATION_ENERGY_OUTPUT_HATCH[UXV]) + EUt(VA[UIV]) + duration(20 * SECOND) + } // 64A OpV Substation Dynamo Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[OpV]) - .input(ENERGY_OUTPUT_HATCH_16A[OpV]) - .input(wireGtHex, Periodicium, 2) - .input(plate, BlackDwarfMatter, 6) - .output(SUBSTATION_ENERGY_OUTPUT_HATCH[OpV]) - .EUt(VA[UXV]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(POWER_TRANSFORMER[OpV]) + input(ENERGY_OUTPUT_HATCH_16A[OpV]) + input(wireGtHex, Periodicium, 2) + input(plate, BlackDwarfMatter, 6) + output(SUBSTATION_ENERGY_OUTPUT_HATCH[OpV]) + EUt(VA[UXV]) + duration(20 * SECOND) + } // UHV Rotor Holder ModHandler.addShapedRecipe(true, "rotor_holder_uhv", ROTOR_HOLDER[UHV].stackForm, @@ -1285,200 +1283,200 @@ internal object GTMetaTileEntityLoader 'S', UnificationEntry(gearSmall, BlackDwarfMatter)) // ULV Huge Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[ULV]) - .input(QUANTUM_CHEST[ULV], 2) // Super Chest I - .input(FIELD_GENERATOR_LV, 4) - .input(plateDense, WroughtIron, 6) - .input(pipeHugeItem, Electrum, 16) - .fluidInputs(TinAlloy.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[ULV]) - .EUt(VA[LV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[ULV]) + input(QUANTUM_CHEST[ULV], 2) // Super Chest I + input(FIELD_GENERATOR_LV, 4) + input(plateDense, WroughtIron, 6) + input(pipeHugeItem, Electrum, 16) + fluidInputs(TinAlloy.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[ULV]) + EUt(VA[LV]) + duration(5 * MINUTE) + } // LV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[LV]) - .input(QUANTUM_CHEST[LV], 2) // Super Chest II - .input(FIELD_GENERATOR_MV, 4) - .input(plateDense, Steel, 6) - .input(pipeHugeItem, SterlingSilver, 16) - .fluidInputs(TinAlloy.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[LV]) - .EUt(VA[MV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[LV]) + input(QUANTUM_CHEST[LV], 2) // Super Chest II + input(FIELD_GENERATOR_MV, 4) + input(plateDense, Steel, 6) + input(pipeHugeItem, SterlingSilver, 16) + fluidInputs(TinAlloy.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[LV]) + EUt(VA[MV]) + duration(5 * MINUTE) + } // MV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[MV]) - .input(QUANTUM_CHEST[MV], 2) // Super Chest III - .input(FIELD_GENERATOR_HV, 4) - .input(plateDense, Aluminium, 6) - .input(pipeHugeItem, Ultimet, 16) - .fluidInputs(Kanthal.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[MV]) - .EUt(VA[HV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[MV]) + input(QUANTUM_CHEST[MV], 2) // Super Chest III + input(FIELD_GENERATOR_HV, 4) + input(plateDense, Aluminium, 6) + input(pipeHugeItem, Ultimet, 16) + fluidInputs(Kanthal.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[MV]) + EUt(VA[HV]) + duration(5 * MINUTE) + } // HV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[HV]) - .input(QUANTUM_CHEST[HV], 2) // Super Chest IV - .input(FIELD_GENERATOR_EV, 4) - .input(plateDense, StainlessSteel, 6) - .input(pipeHugeItem, MaragingSteel250, 16) - .fluidInputs(Nichrome.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[HV]) - .EUt(VA[EV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[HV]) + input(QUANTUM_CHEST[HV], 2) // Super Chest IV + input(FIELD_GENERATOR_EV, 4) + input(plateDense, StainlessSteel, 6) + input(pipeHugeItem, MaragingSteel250, 16) + fluidInputs(Nichrome.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[HV]) + EUt(VA[EV]) + duration(5 * MINUTE) + } // EV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[EV]) - .input(QUANTUM_CHEST[EV], 2) // Super Chest V - .input(FIELD_GENERATOR_IV, 4) - .input(plateDense, Titanium, 6) - .input(pipeHugeItem, Osmium, 16) - .fluidInputs(RTMAlloy.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[EV]) - .EUt(VA[IV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[EV]) + input(QUANTUM_CHEST[EV], 2) // Super Chest V + input(FIELD_GENERATOR_IV, 4) + input(plateDense, Titanium, 6) + input(pipeHugeItem, Osmium, 16) + fluidInputs(RTMAlloy.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[EV]) + EUt(VA[IV]) + duration(5 * MINUTE) + } // IV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[IV]) - .input(QUANTUM_CHEST[IV], 2) // Quantum Chest I - .input(FIELD_GENERATOR_LuV, 4) - .input(plateDense, TungstenSteel, 6) - .input(pipeHugeItem, Osmiridium, 16) - .fluidInputs(HSSG.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[IV]) - .EUt(VA[LuV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[IV]) + input(QUANTUM_CHEST[IV], 2) // Quantum Chest I + input(FIELD_GENERATOR_LuV, 4) + input(plateDense, TungstenSteel, 6) + input(pipeHugeItem, Osmiridium, 16) + fluidInputs(HSSG.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[IV]) + EUt(VA[LuV]) + duration(5 * MINUTE) + } // LuV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[LuV]) - .input(QUANTUM_CHEST[LuV], 2) // Quantum Chest II - .input(FIELD_GENERATOR_ZPM, 4) - .input(plateDense, RhodiumPlatedPalladium, 6) - .input(pipeHugeItem, Americium, 16) - .fluidInputs(HSSS.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[LuV]) - .EUt(VA[ZPM]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[LuV]) + input(QUANTUM_CHEST[LuV], 2) // Quantum Chest II + input(FIELD_GENERATOR_ZPM, 4) + input(plateDense, RhodiumPlatedPalladium, 6) + input(pipeHugeItem, Americium, 16) + fluidInputs(HSSS.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[LuV]) + EUt(VA[ZPM]) + duration(5 * MINUTE) + } // ZPM Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[ZPM]) - .input(QUANTUM_CHEST[ZPM], 2) // Quantum Chest III - .input(FIELD_GENERATOR_UV, 4) - .input(plateDense, NaquadahAlloy, 6) - .input(pipeHugeItem, SeaborgiumCarbide, 16) - .fluidInputs(Tritanium.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[ZPM]) - .EUt(VA[UV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[ZPM]) + input(QUANTUM_CHEST[ZPM], 2) // Quantum Chest III + input(FIELD_GENERATOR_UV, 4) + input(plateDense, NaquadahAlloy, 6) + input(pipeHugeItem, SeaborgiumCarbide, 16) + fluidInputs(Tritanium.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[ZPM]) + EUt(VA[UV]) + duration(5 * MINUTE) + } // UV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[UV]) - .input(QUANTUM_CHEST[UV], 2) // Quantum Chest IV - .input(FIELD_GENERATOR_UHV, 4) - .input(plateDense, Darmstadtium, 6) - .input(pipeHugeItem, TitanSteel, 16) - .fluidInputs(Adamantium.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[UV]) - .EUt(VA[UHV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[UV]) + input(QUANTUM_CHEST[UV], 2) // Quantum Chest IV + input(FIELD_GENERATOR_UHV, 4) + input(plateDense, Darmstadtium, 6) + input(pipeHugeItem, TitanSteel, 16) + fluidInputs(Adamantium.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[UV]) + EUt(VA[UHV]) + duration(5 * MINUTE) + } // UHV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[UHV]) - .input(QUANTUM_CHEST[UHV], 2) // Quantum Chest V - .input(FIELD_GENERATOR_UEV, 4) - .input(plateDense, Neutronium, 6) - .input(pipeHugeItem, QuantumAlloy, 16) - .fluidInputs(Vibranium.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[UHV]) - .EUt(VA[UEV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[UHV]) + input(QUANTUM_CHEST[UHV], 2) // Quantum Chest V + input(FIELD_GENERATOR_UEV, 4) + input(plateDense, Neutronium, 6) + input(pipeHugeItem, QuantumAlloy, 16) + fluidInputs(Vibranium.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[UHV]) + EUt(VA[UEV]) + duration(5 * MINUTE) + } // UEV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[UEV]) - .inputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(2)) - .input(FIELD_GENERATOR_UIV, 4) - .input(plateDense, Vibranium, 6) - .input(pipeHugeItem, MetastableHassium, 16) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[UEV]) - .EUt(VA[UIV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[UEV]) + inputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(2)) + input(FIELD_GENERATOR_UIV, 4) + input(plateDense, Vibranium, 6) + input(pipeHugeItem, MetastableHassium, 16) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[UEV]) + EUt(VA[UIV]) + duration(5 * MINUTE) + } // UIV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[UIV]) - .inputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(4)) - .input(FIELD_GENERATOR_UXV, 4) - .input(plateDense, Shirabon, 6) - .input(pipeHugeItem, Rhugnor, 16) - .fluidInputs(SpaceTime.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[UIV]) - .EUt(VA[UXV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[UIV]) + inputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(4)) + input(FIELD_GENERATOR_UXV, 4) + input(plateDense, Shirabon, 6) + input(pipeHugeItem, Rhugnor, 16) + fluidInputs(SpaceTime.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[UIV]) + EUt(VA[UXV]) + duration(5 * MINUTE) + } // UXV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[UXV]) - .inputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(8)) - .input(FIELD_GENERATOR_OpV, 4) - .input(plateDense, Creon, 6) - .input(pipeHugeItem, Abyssalloy, 16) - .fluidInputs(WhiteDwarfMatter.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[UXV]) - .EUt(VA[OpV]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[UXV]) + inputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(8)) + input(FIELD_GENERATOR_OpV, 4) + input(plateDense, Creon, 6) + input(pipeHugeItem, Abyssalloy, 16) + fluidInputs(WhiteDwarfMatter.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[UXV]) + EUt(VA[OpV]) + duration(5 * MINUTE) + } // OpV Huge Item Import Bus - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(ITEM_IMPORT_BUS[OpV]) - .inputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(16)) - .input(FIELD_GENERATOR_MAX, 4) - .input(plateDense, BlackDwarfMatter, 6) - .input(pipeHugeItem, Mellion, 16) - .fluidInputs(Universium.getFluid(L * 4)) - .output(HUGE_ITEM_IMPORT_BUS[OpV]) - .EUt(VA[MAX]) - .duration(5 * MINUTE) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(ITEM_IMPORT_BUS[OpV]) + inputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(16)) + input(FIELD_GENERATOR_MAX, 4) + input(plateDense, BlackDwarfMatter, 6) + input(pipeHugeItem, Mellion, 16) + fluidInputs(Universium.getFluid(L * 4)) + output(HUGE_ITEM_IMPORT_BUS[OpV]) + EUt(VA[MAX]) + duration(5 * MINUTE) + } // Sterile Cleaning Maintenance Hatch ModHandler.addShapedRecipe(true, "sterile_cleaning_maintenance_hatch", STERILE_CLEANING_MAINTENANCE_HATCH.stackForm, @@ -1520,7 +1518,7 @@ internal object GTMetaTileEntityLoader 'R', UnificationEntry(rotor, NaquadahAlloy), 'Q', UnificationEntry(pipeNormalFluid, Iridium)) - // TODO Remove Dual I/O Hatches when GTCEu PR#2769 merged. + // TODO: Remove Dual I/O Hatches when GTCEu PR#2769 merged. // Dual Import/Export Hatch convert for (voltage in ULV..OpV) @@ -1557,65 +1555,36 @@ internal object GTMetaTileEntityLoader { val (container, plateMaterial) = tieredDualHatchRecipeInputs.getValue(voltage) val nextTierCircuit = TierBridge.next(voltage)?.material - val adhesiveFluidStack = TieredAdhesiveFluid.fluidStackFromTier(voltage+1) + val adhesiveFluidStack = TieredAdhesiveFluid.fluidStackFromTier(voltage + 1) // Dual Import Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(18) - .input(ITEM_IMPORT_BUS[voltage]) - .input(if (voltage <= HV) QUADRUPLE_FLUID_IMPORT_HATCH[voltage] else QUADRUPLE_IMPORT_HATCH[voltage]) - .input(container) - .input(circuit, nextTierCircuit, 2) - .input(plate, plateMaterial, 4) - .fluidInputs(adhesiveFluidStack) - .output(DUAL_IMPORT_HATCH[voltage]) - .EUt(VA[voltage]) - .duration(20 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(18) + input(ITEM_IMPORT_BUS[voltage]) + input(if (voltage <= HV) QUADRUPLE_FLUID_IMPORT_HATCH[voltage] else QUADRUPLE_IMPORT_HATCH[voltage]) + input(container) + input(circuit, nextTierCircuit, 2) + input(plate, plateMaterial, 4) + fluidInputs(adhesiveFluidStack) + output(DUAL_IMPORT_HATCH[voltage]) + EUt(VA[voltage]) + duration(20 * SECOND) + } // Dual Export Hatch - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(19) - .input(ITEM_EXPORT_BUS[voltage]) - .input(if (voltage <= HV) QUADRUPLE_FLUID_EXPORT_HATCH[voltage] else QUADRUPLE_EXPORT_HATCH[voltage]) - .input(container) - .input(circuit, nextTierCircuit, 2) - .input(plate, plateMaterial, 4) - .fluidInputs(adhesiveFluidStack) - .output(DUAL_EXPORT_HATCH[voltage]) - .EUt(VA[voltage]) - .duration(20 * SECOND) - .buildAndRegister() - } - - // modify UHV Quadruple/Nonuple Import/Export Hatch to use Kevlar to align the plastic requirement - // remove original UHV Quadruple/Nonuple Import/Export Hatch recipe - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - arrayOf(FLUID_IMPORT_HATCH[UHV].stackForm, Neutronium.getItemForm(pipeQuadrupleFluid), - IntCircuitIngredient.getIntegratedCircuit(4)), - arrayOf(Polybenzimidazole.getFluid(L * 5))) - - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - arrayOf(FLUID_EXPORT_HATCH[UHV].stackForm, Neutronium.getItemForm(pipeQuadrupleFluid), - IntCircuitIngredient.getIntegratedCircuit(4)), - arrayOf(Polybenzimidazole.getFluid(L * 5))) - - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - arrayOf(FLUID_IMPORT_HATCH[UHV].stackForm, Neutronium.getItemForm(pipeNonupleFluid), - IntCircuitIngredient.getIntegratedCircuit(9)), - arrayOf(Polybenzimidazole.getFluid(L * 9))) - - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - arrayOf(FLUID_EXPORT_HATCH[UHV].stackForm, Neutronium.getItemForm(pipeNonupleFluid), - IntCircuitIngredient.getIntegratedCircuit(9)), - arrayOf(Polybenzimidazole.getFluid(L * 9))) - - addMultiFluidHatchRecipes(UHV, Europium) - addMultiFluidHatchRecipes(UEV, Duranium) - addMultiFluidHatchRecipes(UIV, Neutronium) - addMultiFluidHatchRecipes(UXV, HeavyQuarkDegenerateMatter) - addMultiFluidHatchRecipes(OpV, QuantumchromodynamicallyConfinedMatter) - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(19) + input(ITEM_EXPORT_BUS[voltage]) + input(if (voltage <= HV) QUADRUPLE_FLUID_EXPORT_HATCH[voltage] else QUADRUPLE_EXPORT_HATCH[voltage]) + input(container) + input(circuit, nextTierCircuit, 2) + input(plate, plateMaterial, 4) + fluidInputs(adhesiveFluidStack) + output(DUAL_EXPORT_HATCH[voltage]) + EUt(VA[voltage]) + duration(20 * SECOND) + } + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/GasCollectorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/GasCollectorRecipes.kt index ab4246a57..2d2b8a78c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/GasCollectorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/GasCollectorRecipes.kt @@ -33,6 +33,7 @@ import gregtech.common.items.MetaItems.ELECTRIC_PUMP_LV import gregtech.common.items.MetaItems.ELECTRIC_PUMP_MV import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.LARGE_GAS_COLLECTOR_RECIPES internal object GasCollectorRecipes @@ -43,77 +44,76 @@ internal object GasCollectorRecipes fun init() { // Air - LARGE_GAS_COLLECTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .notConsumable(ELECTRIC_PUMP_LV) - .fluidOutputs(Air.getFluid(2500)) - .fluidOutputs(Nitrogen.getFluid(1600)) - .fluidOutputs(CarbonDioxide.getFluid(1200)) - .fluidOutputs(Helium.getFluid(450)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + LARGE_GAS_COLLECTOR_RECIPES.addRecipe { + circuitMeta(1) + notConsumable(ELECTRIC_PUMP_LV) + fluidOutputs(Air.getFluid(2500)) + fluidOutputs(Nitrogen.getFluid(1600)) + fluidOutputs(CarbonDioxide.getFluid(1200)) + fluidOutputs(Helium.getFluid(450)) + EUt(VA[MV]) + duration(5 * SECOND) + } // Nether Air - LARGE_GAS_COLLECTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(ELECTRIC_PUMP_MV) - .fluidOutputs(NetherAir.getFluid(3000)) - .fluidOutputs(SulfurDioxide.getFluid(1800)) - .fluidOutputs(HydrogenSulfide.getFluid(1400)) - .fluidOutputs(Neon.getFluid(600)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + LARGE_GAS_COLLECTOR_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(ELECTRIC_PUMP_MV) + fluidOutputs(NetherAir.getFluid(3000)) + fluidOutputs(SulfurDioxide.getFluid(1800)) + fluidOutputs(HydrogenSulfide.getFluid(1400)) + fluidOutputs(Neon.getFluid(600)) + EUt(VA[HV]) + duration(5 * SECOND) + } // Ender Air - LARGE_GAS_COLLECTOR_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(ELECTRIC_PUMP_HV) - .fluidOutputs(EnderAir.getFluid(3500)) - .fluidOutputs(NitrogenDioxide.getFluid(2200)) - .fluidOutputs(Deuterium.getFluid(1600)) - .fluidOutputs(Tritium.getFluid(1100)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + LARGE_GAS_COLLECTOR_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(ELECTRIC_PUMP_HV) + fluidOutputs(EnderAir.getFluid(3500)) + fluidOutputs(NitrogenDioxide.getFluid(2200)) + fluidOutputs(Deuterium.getFluid(1600)) + fluidOutputs(Tritium.getFluid(1100)) + EUt(VA[EV]) + duration(5 * SECOND) + } // Liquid Air - LARGE_GAS_COLLECTOR_RECIPES.recipeBuilder() - .circuitMeta(4) - .notConsumable(ELECTRIC_PUMP_HV) - .fluidOutputs(LiquidAir.getFluid(3400)) - .fluidOutputs(Nitrogen.getFluid(2800)) - .fluidOutputs(Helium.getFluid(1400)) - .fluidOutputs(Argon.getFluid(700)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + LARGE_GAS_COLLECTOR_RECIPES.addRecipe { + circuitMeta(4) + notConsumable(ELECTRIC_PUMP_HV) + fluidOutputs(LiquidAir.getFluid(3400)) + fluidOutputs(Nitrogen.getFluid(2800)) + fluidOutputs(Helium.getFluid(1400)) + fluidOutputs(Argon.getFluid(700)) + EUt(VA[HV]) + duration(5 * SECOND) + } // Liquid Nether Air - LARGE_GAS_COLLECTOR_RECIPES.recipeBuilder() - .circuitMeta(5) - .notConsumable(ELECTRIC_PUMP_EV) - .fluidOutputs(LiquidNetherAir.getFluid(4800)) - .fluidOutputs(SulfurTrioxide.getFluid(3500)) - .fluidOutputs(Helium3.getFluid(2600)) - .fluidOutputs(Krypton.getFluid(1200)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + LARGE_GAS_COLLECTOR_RECIPES.addRecipe { + circuitMeta(5) + notConsumable(ELECTRIC_PUMP_EV) + fluidOutputs(LiquidNetherAir.getFluid(4800)) + fluidOutputs(SulfurTrioxide.getFluid(3500)) + fluidOutputs(Helium3.getFluid(2600)) + fluidOutputs(Krypton.getFluid(1200)) + EUt(VA[EV]) + duration(5 * SECOND) + } // Liquid Ender Air - LARGE_GAS_COLLECTOR_RECIPES.recipeBuilder() - .circuitMeta(6) - .notConsumable(ELECTRIC_PUMP_IV) - .fluidOutputs(LiquidEnderAir.getFluid(6400)) - .fluidOutputs(Helium.getFluid(4000)) - .fluidOutputs(Xenon.getFluid(2100)) - .fluidOutputs(Radon.getFluid(1500)) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() - + LARGE_GAS_COLLECTOR_RECIPES.addRecipe { + circuitMeta(6) + notConsumable(ELECTRIC_PUMP_IV) + fluidOutputs(LiquidEnderAir.getFluid(6400)) + fluidOutputs(Helium.getFluid(4000)) + fluidOutputs(Xenon.getFluid(2100)) + fluidOutputs(Radon.getFluid(1500)) + EUt(VA[IV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/LaserEngraverRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/LaserEngraverRecipes.kt index ed935e828..61907be6f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/LaserEngraverRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/LaserEngraverRecipes.kt @@ -9,12 +9,10 @@ import gregtech.api.GTValues.UHV import gregtech.api.GTValues.UV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.CUTTER_RECIPES import gregtech.api.recipes.RecipeMaps.LASER_ENGRAVER_RECIPES import gregtech.api.unification.OreDictUnifier -import gregtech.api.unification.material.MarkerMaterials +import gregtech.api.unification.material.MarkerMaterials.Color import gregtech.api.unification.material.Materials.Diamond import gregtech.api.unification.material.Materials.NetherStar import gregtech.api.unification.material.Materials.Neutronium @@ -43,6 +41,10 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CubicSiliconNitride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CubicZirconia import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.FreeElectronGas @@ -81,363 +83,362 @@ internal object LaserEngraverRecipes removeColoredLenses() // Integrated Logic Circuit (ILC) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Red) - .input(HASSIUM_WAFER) - .output(INTEGRATED_LOGIC_CIRCUIT_WAFER, 32) - .EUt(VA[LuV]) - .duration(10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Red) + input(HASSIUM_WAFER) + output(INTEGRATED_LOGIC_CIRCUIT_WAFER, 32) + EUt(VA[LuV]) + duration(10 * TICK) + cleanroom() + } // Random Access Memory (RAM) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Green) - .input(HASSIUM_WAFER) - .output(RANDOM_ACCESS_MEMORY_WAFER, 32) - .EUt(VA[LuV]) - .duration(10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Green) + input(HASSIUM_WAFER) + output(RANDOM_ACCESS_MEMORY_WAFER, 32) + EUt(VA[LuV]) + duration(10 * TICK) + cleanroom() + } // Central Processing Unit (CPU) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.LightBlue) - .input(HASSIUM_WAFER) - .output(CENTRAL_PROCESSING_UNIT_WAFER, 32) - .EUt(VA[LuV]) - .duration(10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.LightBlue) + input(HASSIUM_WAFER) + output(CENTRAL_PROCESSING_UNIT_WAFER, 32) + EUt(VA[LuV]) + duration(10 * TICK) + cleanroom() + } // Ultra Low Power Integrated Circuit (ULPIC) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Blue) - .input(HASSIUM_WAFER) - .output(ULTRA_LOW_POWER_INTEGRATED_CIRCUIT_WAFER, 32) - .EUt(VA[LuV]) - .duration(10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Blue) + input(HASSIUM_WAFER) + output(ULTRA_LOW_POWER_INTEGRATED_CIRCUIT_WAFER, 32) + EUt(VA[LuV]) + duration(10 * TICK) + cleanroom() + } // Low Power Integrated Circuit (LPIC) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Orange) - .input(HASSIUM_WAFER) - .output(LOW_POWER_INTEGRATED_CIRCUIT_WAFER, 32) - .EUt(VA[LuV]) - .duration(10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Orange) + input(HASSIUM_WAFER) + output(LOW_POWER_INTEGRATED_CIRCUIT_WAFER, 32) + EUt(VA[LuV]) + duration(10 * TICK) + cleanroom() + } // Simple System on Chip (SSoC) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Cyan) - .input(HASSIUM_WAFER) - .output(SIMPLE_SYSTEM_ON_CHIP_WAFER, 32) - .EUt(VA[LuV]) - .duration(10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Cyan) + input(HASSIUM_WAFER) + output(SIMPLE_SYSTEM_ON_CHIP_WAFER, 32) + EUt(VA[LuV]) + duration(10 * TICK) + cleanroom() + } // NAND Memory Chip (NAND) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Gray) - .input(HASSIUM_WAFER) - .output(NAND_MEMORY_CHIP_WAFER, 16) - .EUt(VA[LuV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Gray) + input(HASSIUM_WAFER) + output(NAND_MEMORY_CHIP_WAFER, 16) + EUt(VA[LuV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // NOR Memory Chip (NOR) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Pink) - .input(HASSIUM_WAFER) - .output(NOR_MEMORY_CHIP_WAFER, 16) - .EUt(VA[LuV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Pink) + input(HASSIUM_WAFER) + output(NOR_MEMORY_CHIP_WAFER, 16) + EUt(VA[LuV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // Power Integrated Circuit (PIC) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Brown) - .input(HASSIUM_WAFER) - .output(POWER_INTEGRATED_CIRCUIT_WAFER, 16) - .EUt(VA[LuV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Brown) + input(HASSIUM_WAFER) + output(POWER_INTEGRATED_CIRCUIT_WAFER, 16) + EUt(VA[LuV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // System on Chip (SoC) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Yellow) - .input(HASSIUM_WAFER) - .output(SYSTEM_ON_CHIP_WAFER, 16) - .EUt(VA[LuV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Yellow) + input(HASSIUM_WAFER) + output(SYSTEM_ON_CHIP_WAFER, 16) + EUt(VA[LuV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // Advanced System on Chip (ASoC) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, MarkerMaterials.Color.Purple) - .input(HASSIUM_WAFER) - .output(ADVANCED_SYSTEM_ON_CHIP_WAFER, 8) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Purple) + input(HASSIUM_WAFER) + output(ADVANCED_SYSTEM_ON_CHIP_WAFER, 8) + EUt(VA[LuV]) + duration(10 * SECOND) + cleanroom() + } // --------------------------------------------------------------------------------------------------------- // Highly Advanced System on Chip (HASoC) - GTRecipeHandler.removeRecipesByInputs(LASER_ENGRAVER_RECIPES, - NEUTRONIUM_WAFER.stackForm, - OreDictUnifier.get(craftingLens, MarkerMaterials.Color.Black)) - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, NetherStar) - .notConsumable(craftingLens, MarkerMaterials.Color.Black) - .input(NEUTRONIUM_WAFER) - .output(HIGHLY_ADVANCED_SOC_WAFER) - .EUt(VA[IV]) - .duration(45 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, NetherStar) - .notConsumable(craftingLens, MarkerMaterials.Color.Black) - .input(HASSIUM_WAFER) - .output(HIGHLY_ADVANCED_SOC_WAFER, 4) - .EUt(VA[LuV]) - .duration(25 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.removeRecipe( + NEUTRONIUM_WAFER.stack(), + OreDictUnifier.get(craftingLens, Color.Black)) + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, NetherStar) + notConsumable(craftingLens, Color.Black) + input(NEUTRONIUM_WAFER) + output(HIGHLY_ADVANCED_SOC_WAFER) + EUt(VA[IV]) + duration(45 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, NetherStar) + notConsumable(craftingLens, Color.Black) + input(HASSIUM_WAFER) + output(HIGHLY_ADVANCED_SOC_WAFER, 4) + EUt(VA[LuV]) + duration(25 * SECOND) + cleanroom() + } // Ultra Highly Advanced System on Chip (UHASoC) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, CubicZirconia) - .notConsumable(craftingLens, MarkerMaterials.Color.Magenta) - .notConsumable(craftingLens, MarkerMaterials.Color.LightGray) - .input(NEUTRONIUM_WAFER) - .output(ULTRA_HIGHLY_ADVANCED_SOC_WAFER) - .EUt(VA[LuV]) - .duration(45 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, CubicZirconia) - .notConsumable(craftingLens, MarkerMaterials.Color.Magenta) - .notConsumable(craftingLens, MarkerMaterials.Color.LightGray) - .input(HASSIUM_WAFER) - .output(ULTRA_HIGHLY_ADVANCED_SOC_WAFER, 4) - .EUt(VA[ZPM]) - .duration(45 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, CubicZirconia) + notConsumable(craftingLens, Color.Magenta) + notConsumable(craftingLens, Color.LightGray) + input(NEUTRONIUM_WAFER) + output(ULTRA_HIGHLY_ADVANCED_SOC_WAFER) + EUt(VA[LuV]) + duration(45 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, CubicZirconia) + notConsumable(craftingLens, Color.Magenta) + notConsumable(craftingLens, Color.LightGray) + input(HASSIUM_WAFER) + output(ULTRA_HIGHLY_ADVANCED_SOC_WAFER, 4) + EUt(VA[ZPM]) + duration(45 * SECOND) + cleanroom() + } // Ultra Highly Advanced System on Chip (UHASoC) Chip - CUTTER_RECIPES.recipeBuilder() - .input(ULTRA_HIGHLY_ADVANCED_SOC_WAFER) - .output(ULTRA_HIGHLY_ADVANCED_SOC_CHIP, 6) - .EUt(VA[LuV]) - .duration(1 * MINUTE + 30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(ULTRA_HIGHLY_ADVANCED_SOC_WAFER) + output(ULTRA_HIGHLY_ADVANCED_SOC_CHIP, 6) + EUt(VA[LuV]) + duration(1 * MINUTE + 30 * SECOND) + cleanroom() + } // Advanced Random Access Memory (ARAM) - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, MagnetoResonatic) - .input(NAQUADAH_WAFER) - .output(ADVANCED_RAM_WAFER) - .EUt(VA[ZPM]) - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister(); - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, MagnetoResonatic) - .input(NEUTRONIUM_WAFER) - .output(ADVANCED_RAM_WAFER, 4) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, MagnetoResonatic) - .input(HASSIUM_WAFER) - .output(ADVANCED_RAM_WAFER, 8) - .EUt(VA[UHV]) - .duration(2 * SECOND + 10 * TICK) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, MagnetoResonatic) + input(NAQUADAH_WAFER) + output(ADVANCED_RAM_WAFER) + EUt(VA[ZPM]) + duration(30 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, MagnetoResonatic) + input(NEUTRONIUM_WAFER) + output(ADVANCED_RAM_WAFER, 4) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, MagnetoResonatic) + input(HASSIUM_WAFER) + output(ADVANCED_RAM_WAFER, 8) + EUt(VA[UHV]) + duration(2 * SECOND + 10 * TICK) + cleanroom() + } // Advanced Random Access Memory (ARAM) Chip - CUTTER_RECIPES.recipeBuilder() - .input(ADVANCED_RAM_WAFER, 1) - .output(ADVANCED_RAM_CHIP, 16) - .EUt(VA[ZPM]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(ADVANCED_RAM_WAFER, 1) + output(ADVANCED_RAM_CHIP, 16) + EUt(VA[ZPM]) + duration(20 * SECOND) + cleanroom() + } // Nano Power Integrate Circuit (NPIC) Wafer - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, LithiumNiobate) - .input(NAQUADAH_WAFER) - .output(NANO_PIC_WAFER) - .EUt(VA[ZPM]) - .duration(1 * MINUTE + 20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, LithiumNiobate) - .input(NEUTRONIUM_WAFER) - .output(NANO_PIC_WAFER, 4) - .EUt(VA[UV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, LithiumNiobate) - .input(HASSIUM_WAFER) - .output(NANO_PIC_WAFER, 8) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, LithiumNiobate) + input(NAQUADAH_WAFER) + output(NANO_PIC_WAFER) + EUt(VA[ZPM]) + duration(1 * MINUTE + 20 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, LithiumNiobate) + input(NEUTRONIUM_WAFER) + output(NANO_PIC_WAFER, 4) + EUt(VA[UV]) + duration(20 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, LithiumNiobate) + input(HASSIUM_WAFER) + output(NANO_PIC_WAFER, 8) + EUt(VA[UHV]) + duration(5 * SECOND) + cleanroom() + } // Nano Power Integrate Circuit (NPIC) Chip - CUTTER_RECIPES.recipeBuilder() - .input(NANO_PIC_WAFER) - .output(NANO_PIC_CHIP, 2) - .EUt(VA[ZPM]) - .duration(1 * MINUTE + 30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(NANO_PIC_WAFER) + output(NANO_PIC_CHIP, 2) + EUt(VA[ZPM]) + duration(1 * MINUTE + 30 * SECOND) + cleanroom() + } // Pico Power Integrate Circuit (PPIC) Wafer - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, LuTmYVO) - .input(NAQUADAH_WAFER) - .output(PICO_PIC_WAFER) - .EUt(VA[UV]) - .duration(1 * MINUTE + 20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, LuTmYVO) - .input(NEUTRONIUM_WAFER) - .output(PICO_PIC_WAFER, 4) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, LuTmYVO) - .input(HASSIUM_WAFER) - .output(PICO_PIC_WAFER, 8) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, LuTmYVO) + input(NAQUADAH_WAFER) + output(PICO_PIC_WAFER) + EUt(VA[UV]) + duration(1 * MINUTE + 20 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, LuTmYVO) + input(NEUTRONIUM_WAFER) + output(PICO_PIC_WAFER, 4) + EUt(VA[UHV]) + duration(20 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, LuTmYVO) + input(HASSIUM_WAFER) + output(PICO_PIC_WAFER, 8) + EUt(VA[UEV]) + duration(5 * SECOND) + cleanroom() + } // Pico Power Integrate Circuit (PPIC) Chip - CUTTER_RECIPES.recipeBuilder() - .input(PICO_PIC_WAFER) - .output(PICO_PIC_CHIP, 2) - .EUt(VA[UV]) - .duration(1 * MINUTE + 30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(PICO_PIC_WAFER) + output(PICO_PIC_CHIP, 2) + EUt(VA[UV]) + duration(1 * MINUTE + 30 * SECOND) + cleanroom() + } // Femto Power Integrate Circuit (FPIC) Wafer - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, PrHoYLF) - .input(NEUTRONIUM_WAFER) - .output(FEMTO_PIC_WAFER) - .EUt(VA[UHV]) - .duration(1 * MINUTE + 20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, PrHoYLF) - .input(HASSIUM_WAFER) - .output(FEMTO_PIC_WAFER, 4) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, PrHoYLF) + input(NEUTRONIUM_WAFER) + output(FEMTO_PIC_WAFER) + EUt(VA[UHV]) + duration(1 * MINUTE + 20 * SECOND) + cleanroom() + } + + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, PrHoYLF) + input(HASSIUM_WAFER) + output(FEMTO_PIC_WAFER, 4) + EUt(VA[UEV]) + duration(20 * SECOND) + cleanroom() + } // Femto Power Integrate Circuit (FPIC) Chip - CUTTER_RECIPES.recipeBuilder() - .input(FEMTO_PIC_WAFER) - .output(FEMTO_PIC_CHIP, 2) - .EUt(VA[UHV]) - .duration(1 * MINUTE + 30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(FEMTO_PIC_WAFER) + output(FEMTO_PIC_CHIP, 2) + EUt(VA[UHV]) + duration(1 * MINUTE + 30 * SECOND) + cleanroom() + } // Atto Power Integrate Circuit (APIC) Wafer - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, NdYAG) - .input(FEMTO_PIC_WAFER) - .input(springSmall, Taranium) - .input(wireFine, MetastableOganesson, 4) - .fluidInputs(Neutronium.getFluid(L)) - .fluidInputs(FreeElectronGas.getFluid(4000)) - .output(ATTO_PIC_WAFER) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, NdYAG) + input(FEMTO_PIC_WAFER) + input(springSmall, Taranium) + input(wireFine, MetastableOganesson, 4) + fluidInputs(Neutronium.getFluid(L)) + fluidInputs(FreeElectronGas.getFluid(4000)) + output(ATTO_PIC_WAFER) + EUt(VA[UEV]) + duration(30 * SECOND) + cleanroom() + } // Atto Power Integrate Circuit (APIC) Chip - CUTTER_RECIPES.recipeBuilder() - .input(ATTO_PIC_WAFER) - .output(ATTO_PIC_CHIP, 2) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 30 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + CUTTER_RECIPES.addRecipe { + input(ATTO_PIC_WAFER) + output(ATTO_PIC_CHIP, 2) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + cleanroom() + } // Engraved Diamond Chip - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, Diamond) - .input(plate, Diamond) - .output(ENGRAVED_DIAMOND_CHIP) - .EUt(VA[LV]) - .duration(1 * MINUTE) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, Diamond) + input(plate, Diamond) + output(ENGRAVED_DIAMOND_CHIP) + EUt(VA[LV]) + duration(1 * MINUTE) + } // Engraved Ruby Chip - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, Ruby) - .input(plate, Ruby) - .output(ENGRAVED_RUBY_CHIP) - .EUt(VA[LV]) - .duration(1 * MINUTE) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, Ruby) + input(plate, Ruby) + output(ENGRAVED_RUBY_CHIP) + EUt(VA[LV]) + duration(1 * MINUTE) + } // Engraved Sapphire Chip - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(lens, Sapphire) - .input(plate, Sapphire) - .output(ENGRAVED_SAPPHIRE_CHIP) - .EUt(VA[LV]) - .duration(1 * MINUTE) - .buildAndRegister() - + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(lens, Sapphire) + input(plate, Sapphire) + output(ENGRAVED_SAPPHIRE_CHIP) + EUt(VA[LV]) + duration(1 * MINUTE) + } } private fun removeColoredLenses() @@ -465,7 +466,6 @@ internal object LaserEngraverRecipes OreDictionary.getOres("craftingLensLightBlue").removeIf { item -> item.isItemEqual(OreDictUnifier.get(lens, PrHoYLF)) } - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/LoomRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/LoomRecipes.kt index a1fe45923..e59a01560 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/LoomRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/LoomRecipes.kt @@ -4,17 +4,30 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.ULV import gregtech.api.GTValues.V import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.ingredients.IntCircuitIngredient import gregtech.common.items.MetaItems.PLANT_BALL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.getStack +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.LOOM_RECIPES -import net.minecraft.init.Blocks -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import net.minecraft.init.Blocks.CARPET +import net.minecraft.init.Blocks.TALLGRASS +import net.minecraft.init.Blocks.VINE +import net.minecraft.init.Blocks.WATERLILY +import net.minecraft.init.Blocks.WEB +import net.minecraft.init.Blocks.WOOL +import net.minecraft.init.Items.LEATHER +import net.minecraft.init.Items.LEATHER_BOOTS +import net.minecraft.init.Items.LEATHER_CHESTPLATE +import net.minecraft.init.Items.LEATHER_HELMET +import net.minecraft.init.Items.LEATHER_LEGGINGS +import net.minecraft.init.Items.STRING internal object LoomRecipes { @@ -24,104 +37,104 @@ internal object LoomRecipes fun init() { // 4x string -> 1x web - LOOM_RECIPES.recipeBuilder() - .circuitMeta(3) - .inputs(ItemStack(Items.STRING, 4)) - .outputs(ItemStack(Blocks.WEB)) - .EUt(V[ULV]) - .duration(1 * SECOND) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(3) + inputs(STRING, 4) + outputs(WEB) + EUt(V[ULV]) + duration(1 * SECOND) + } // 4x string -> 1x wool - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, - ItemStack(Items.STRING, 4), + ASSEMBLER_RECIPES.removeRecipe( + STRING.getStack(4), IntCircuitIngredient.getIntegratedCircuit(4)) - LOOM_RECIPES.recipeBuilder() - .circuitMeta(4) - .inputs(ItemStack(Items.STRING, 4)) - .outputs(ItemStack(Blocks.WOOL)) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(4) + inputs(STRING, 4) + outputs(WOOL) + EUt(VA[LV]) + duration(2 * SECOND) + } // 8x string -> 3x carpet - LOOM_RECIPES.recipeBuilder() - .circuitMeta(8) - .inputs(ItemStack(Items.STRING, 8)) - .outputs(ItemStack(Blocks.CARPET, 3)) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(8) + inputs(STRING, 8) + outputs(CARPET, 3) + EUt(VA[LV]) + duration(2 * SECOND) + } // Leather armors. - LOOM_RECIPES.recipeBuilder() - .circuitMeta(5) - .inputs(ItemStack(Items.LEATHER, 5)) - .outputs(ItemStack(Items.LEATHER_HELMET)) - .EUt(VA[ULV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - - LOOM_RECIPES.recipeBuilder() - .circuitMeta(8) - .inputs(ItemStack(Items.LEATHER, 8)) - .outputs(ItemStack(Items.LEATHER_CHESTPLATE)) - .EUt(VA[ULV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - - LOOM_RECIPES.recipeBuilder() - .circuitMeta(7) - .inputs(ItemStack(Items.LEATHER, 7)) - .outputs(ItemStack(Items.LEATHER_LEGGINGS)) - .EUt(VA[ULV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - - LOOM_RECIPES.recipeBuilder() - .circuitMeta(4) - .inputs(ItemStack(Items.LEATHER, 4)) - .outputs(ItemStack(Items.LEATHER_BOOTS)) - .EUt(VA[ULV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(5) + inputs(LEATHER, 5) + outputs(LEATHER_HELMET) + EUt(VA[ULV]) + duration(2 * SECOND + 10 * TICK) + } + + LOOM_RECIPES.addRecipe { + circuitMeta(8) + inputs(LEATHER, 8) + outputs(LEATHER_CHESTPLATE) + EUt(VA[ULV]) + duration(2 * SECOND + 10 * TICK) + } + + LOOM_RECIPES.addRecipe { + circuitMeta(7) + inputs(LEATHER, 7) + outputs(LEATHER_LEGGINGS) + EUt(VA[ULV]) + duration(2 * SECOND + 10 * TICK) + } + + LOOM_RECIPES.addRecipe { + circuitMeta(4) + inputs(LEATHER, 4) + outputs(LEATHER_BOOTS) + EUt(VA[ULV]) + duration(2 * SECOND + 10 * TICK) + } // 1x plant ball -> 2x grass - LOOM_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(PLANT_BALL, 1) - .outputs(ItemStack(Blocks.TALLGRASS, 1, 1)) - .EUt(VA[ULV]) - .duration(2 * SECOND) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(1) + input(PLANT_BALL) + outputs(TALLGRASS, 1, 1) + EUt(VA[ULV]) + duration(2 * SECOND) + } // 1x plant ball -> 2x tall grass - LOOM_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(PLANT_BALL) - .outputs(ItemStack(Blocks.TALLGRASS, 1, 2)) - .EUt(VA[ULV]) - .duration(2 * SECOND) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(2) + input(PLANT_BALL) + outputs(TALLGRASS, 1, 2) + EUt(VA[ULV]) + duration(2 * SECOND) + } // 2x plant ball -> 1x vine - LOOM_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(PLANT_BALL, 2) - .outputs(ItemStack(Blocks.VINE)) - .EUt(VA[ULV]) - .duration(2 * SECOND) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(3) + input(PLANT_BALL, 2) + outputs(VINE) + EUt(VA[ULV]) + duration(2 * SECOND) + } // 4x plant ball -> 1x waterlily - LOOM_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(PLANT_BALL, 4) - .outputs(ItemStack(Blocks.WATERLILY)) - .EUt(VA[ULV]) - .duration(2 * SECOND) - .buildAndRegister() + LOOM_RECIPES.addRecipe { + circuitMeta(4) + input(PLANT_BALL, 4) + outputs(WATERLILY) + EUt(VA[ULV]) + duration(2 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MachineRecipeLoader.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MachineRecipeLoader.kt index a86eb3980..33b31beab 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MachineRecipeLoader.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MachineRecipeLoader.kt @@ -242,6 +242,8 @@ import gregtech.common.metatileentities.MetaTileEntities.WIREMILL import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Abyssalloy import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AluminiumBronze @@ -433,7 +435,7 @@ internal object MachineRecipeLoader { // Coagulation Tank - ModHandler.addShapedRecipe(true, "coagulation_tank", COAGULATION_TANK.stackForm, + ModHandler.addShapedRecipe(true, "coagulation_tank", COAGULATION_TANK.stack(), "PRP", "sQh", "PSP", 'P', UnificationEntry(plate, TreatedWood), 'Q', UnificationEntry(pipeLargeFluid, TreatedWood), @@ -441,23 +443,23 @@ internal object MachineRecipeLoader 'S', UnificationEntry(screw, Steel)) // Large Steam Compressor - ModHandler.addShapedRecipe(true, "large_steam_compressor", LARGE_STEAM_COMPRESSOR.stackForm, + ModHandler.addShapedRecipe(true, "large_steam_compressor", LARGE_STEAM_COMPRESSOR.stack(), "CPC", "GFG", "CPC", 'C', GTMetalCasing.BRONZE_BRICKS.stack, 'P', OreDictNames.craftingPiston, - 'F', STEAM_COMPRESSOR_BRONZE.stackForm, + 'F', STEAM_COMPRESSOR_BRONZE.stack(), 'G', UnificationEntry(gear, Potin)) // Large Steam Alloy Smelter - ModHandler.addShapedRecipe(true, "large_steam_alloy_smelter", LARGE_STEAM_ALLOY_SMELTER.stackForm, + ModHandler.addShapedRecipe(true, "large_steam_alloy_smelter", LARGE_STEAM_ALLOY_SMELTER.stack(), "PGP", "CFC", "PGP", - 'F', STEAM_ALLOY_SMELTER_BRONZE.stackForm, + 'F', STEAM_ALLOY_SMELTER_BRONZE.stack(), 'G', UnificationEntry(gear, Brass), 'P', UnificationEntry(pipeNormalFluid, Bronze), 'C', GTMetalCasing.BRONZE_BRICKS.stack) // Steam Engine - ModHandler.addShapedRecipe(true, "steam_engine", STEAM_ENGINE.stackForm, + ModHandler.addShapedRecipe(true, "steam_engine", STEAM_ENGINE.stack(), "FPF", "PCP", "SGS", 'C', MetalCasing.BRASS.stack, 'S', UnificationEntry(gearSmall, Bronze), @@ -466,16 +468,16 @@ internal object MachineRecipeLoader 'P', UnificationEntry(plate, Brass)) // Industrial Primitive Blast Furnace - ModHandler.addShapedRecipe(true, "industrial_primitive_blast_furnace", INDUSTRIAL_PRIMITIVE_BLAST_FURNACE.stackForm, + ModHandler.addShapedRecipe(true, "industrial_primitive_blast_furnace", INDUSTRIAL_PRIMITIVE_BLAST_FURNACE.stack(), "FBF", "BAB", "FBF", - 'F', PRIMITIVE_BLAST_FURNACE.stackForm, + 'F', PRIMITIVE_BLAST_FURNACE.stack(), 'B', GTFireboxCasing.STEEL_FIREBOX.stack, 'A', OreDictUnifier.get(frameGt, Steel)) // Mining Drone Airport - ModHandler.addShapedRecipe(true, "mining_drone_airport", MINING_DRONE_AIRPORT.stackForm, + ModHandler.addShapedRecipe(true, "mining_drone_airport", MINING_DRONE_AIRPORT.stack(), "RDE", "CHC", "XWX", - 'H', HULL[LV].stackForm, + 'H', HULL[LV].stack(), 'D', MINING_DRONE_LV, 'R', ROBOT_ARM_LV, 'E', EMITTER_LV, @@ -484,85 +486,85 @@ internal object MachineRecipeLoader 'W', UnificationEntry(cableGtSingle, Tin)) // Catalytic Reformer - ModHandler.addShapedRecipe(true, "catalytic_reformer", CATALYTIC_REFORMER.stackForm, + ModHandler.addShapedRecipe(true, "catalytic_reformer", CATALYTIC_REFORMER.stack(), "MCM", "PHP", "MKM", 'M', UnificationEntry(pipeNormalFluid, StainlessSteel), 'C', UnificationEntry(circuit, Tier.HV), 'P', ELECTRIC_PUMP_HV, - 'H', HULL[HV].stackForm, + 'H', HULL[HV].stack(), 'K', UnificationEntry(cableGtDouble, Gold)) // Large Forge Hammer - ModHandler.addShapedRecipe(true, "large_forge_hammer", LARGE_FORGE_HAMMER.stackForm, + ModHandler.addShapedRecipe(true, "large_forge_hammer", LARGE_FORGE_HAMMER.stack(), "PXP", "FHC", "PXP", - 'C', COMPRESSOR[LV].stackForm, - 'F', FORGE_HAMMER[LV].stackForm, - 'H', HULL[LV].stackForm, + 'C', COMPRESSOR[LV].stack(), + 'F', FORGE_HAMMER[LV].stack(), + 'H', HULL[LV].stack(), 'P', ELECTRIC_PISTON_LV, 'X', UnificationEntry(circuit, Tier.MV)) // Large Bender - ModHandler.addShapedRecipe(true, "large_bender", LARGE_BENDER.stackForm, + ModHandler.addShapedRecipe(true, "large_bender", LARGE_BENDER.stack(), "GXG", "BHF", "PWP", - 'B', BENDER[EV].stackForm, - 'F', FORMING_PRESS[EV].stackForm, + 'B', BENDER[EV].stack(), + 'F', FORMING_PRESS[EV].stack(), 'G', UnificationEntry(gear, Titanium), - 'H', HULL[EV].stackForm, + 'H', HULL[EV].stack(), 'P', UnificationEntry(plate, Titanium), 'W', UnificationEntry(cableGtSingle, Aluminium), 'X', UnificationEntry(circuit, Tier.EV)) // Large Cutter - ModHandler.addShapedRecipe(true, "large_cutter", LARGE_CUTTER.stackForm, + ModHandler.addShapedRecipe(true, "large_cutter", LARGE_CUTTER.stack(), "WGW", "CHL", "WXW", - 'C', CUTTER[EV].stackForm, + 'C', CUTTER[EV].stack(), 'G', UnificationEntry(gear, MaragingSteel250), - 'H', HULL[EV].stackForm, - 'L', LATHE[EV].stackForm, + 'H', HULL[EV].stack(), + 'L', LATHE[EV].stack(), 'W', UnificationEntry(cableGtSingle, Aluminium), 'X', UnificationEntry(circuit, Tier.IV)) // Large Extruder - ModHandler.addShapedRecipe(true, "large_extruder", LARGE_EXTRUDER.stackForm, + ModHandler.addShapedRecipe(true, "large_extruder", LARGE_EXTRUDER.stack(), "AXA", "PEP", "AXA", 'A', UnificationEntry(plate, Inconel625), - 'E', EXTRUDER[IV].stackForm, + 'E', EXTRUDER[IV].stack(), 'P', ELECTRIC_PISTON_IV, 'X', UnificationEntry(circuit, Tier.IV)) // Large Wiremill - ModHandler.addShapedRecipe(true, "large_wiremill", LARGE_WIREMILL.stackForm, + ModHandler.addShapedRecipe(true, "large_wiremill", LARGE_WIREMILL.stack(), "MGM", "XWX", "MCM", 'C', UnificationEntry(cableGtSingle, Platinum), 'G', UnificationEntry(gear, BlueSteel), 'M', ELECTRIC_MOTOR_IV, - 'W', WIREMILL[IV].stackForm, + 'W', WIREMILL[IV].stack(), 'X', UnificationEntry(circuit, Tier.IV)) // Large Mixer - ModHandler.addShapedRecipe(true, "large_mixer", LARGE_MIXER.stackForm, + ModHandler.addShapedRecipe(true, "large_mixer", LARGE_MIXER.stack(), "PGP", "MHM", "WXW", 'G', UnificationEntry(gear, Staballoy), - 'H', HULL[EV].stackForm, - 'M', MIXER[EV].stackForm, + 'H', HULL[EV].stack(), + 'M', MIXER[EV].stack(), 'P', UnificationEntry(plate, Staballoy), 'W', UnificationEntry(cableGtSingle, Aluminium), 'X', UnificationEntry(circuit, Tier.IV)) // Large Extractor - ModHandler.addShapedRecipe(true, "large_extractor", LARGE_EXTRACTOR.stackForm, + ModHandler.addShapedRecipe(true, "large_extractor", LARGE_EXTRACTOR.stack(), "GXG", "PHI", "GEG", - 'E', EXTRACTOR[IV].stackForm, + 'E', EXTRACTOR[IV].stack(), 'G', UnificationEntry(gear, Talonite), - 'H', HULL[IV].stackForm, + 'H', HULL[IV].stack(), 'I', ELECTRIC_PUMP_IV, 'P', ELECTRIC_PISTON_IV, 'X', UnificationEntry(circuit, Tier.IV)) // Large Assembler - ModHandler.addShapedRecipe(true, "large_assembler", LARGE_ASSEMBLER.stackForm, + ModHandler.addShapedRecipe(true, "large_assembler", LARGE_ASSEMBLER.stack(), "EXS", "RAR", "CXC", - 'A', ASSEMBLER[IV].stackForm, + 'A', ASSEMBLER[IV].stack(), 'C', CONVEYOR_MODULE_IV, 'E', EMITTER_IV, 'R', ROBOT_ARM_IV, @@ -570,89 +572,89 @@ internal object MachineRecipeLoader 'X', UnificationEntry(circuit, Tier.IV)) // Large Laser Engraver - ModHandler.addShapedRecipe(true, "large_laser_engraver", LARGE_LASER_ENGRAVER.stackForm, + ModHandler.addShapedRecipe(true, "large_laser_engraver", LARGE_LASER_ENGRAVER.stack(), "EXE", "LHL", "WXW", 'E', EMITTER_IV, - 'H', HULL[IV].stackForm, - 'L', LASER_ENGRAVER[IV].stackForm, + 'H', HULL[IV].stack(), + 'L', LASER_ENGRAVER[IV].stack(), 'W', UnificationEntry(cableGtSingle, Platinum), 'X', UnificationEntry(circuit, Tier.IV)) // Large Fluid Solidifier - ModHandler.addShapedRecipe(true, "large_fluid_solidifier", LARGE_FLUID_SOLIDIFIER.stackForm, + ModHandler.addShapedRecipe(true, "large_fluid_solidifier", LARGE_FLUID_SOLIDIFIER.stack(), "AXA", "PFP", "GXG", 'A', UnificationEntry(plate, Steel), - 'F', FLUID_SOLIDIFIER[MV].stackForm, + 'F', FLUID_SOLIDIFIER[MV].stack(), 'G', UnificationEntry(gear, Steel), 'P', ELECTRIC_PUMP_MV, 'X', UnificationEntry(circuit, Tier.MV)) // Large Brewery - ModHandler.addShapedRecipe(true, "large_brewery", LARGE_BREWERY.stackForm, + ModHandler.addShapedRecipe(true, "large_brewery", LARGE_BREWERY.stack(), "PXP", "BHF", "MWM", - 'B', BREWERY[EV].stackForm, - 'F', FERMENTER[EV].stackForm, - 'H', HULL[EV].stackForm, + 'B', BREWERY[EV].stack(), + 'F', FERMENTER[EV].stack(), + 'H', HULL[EV].stack(), 'M', ELECTRIC_MOTOR_EV, 'P', ELECTRIC_PUMP_EV, 'W', UnificationEntry(cableGtSingle, Aluminium), 'X', UnificationEntry(circuit, Tier.IV)) // Large Autoclave - ModHandler.addShapedRecipe(true, "large_autoclave", LARGE_AUTOCLAVE.stackForm, + ModHandler.addShapedRecipe(true, "large_autoclave", LARGE_AUTOCLAVE.stack(), "GXG", "PAP", "WVW", - 'A', AUTOCLAVE[IV].stackForm, + 'A', AUTOCLAVE[IV].stack(), 'G', UnificationEntry(gear, WatertightSteel), 'P', ELECTRIC_PUMP_IV, - 'V', VACUUM_CHAMBER[IV]!!.stackForm, + 'V', VACUUM_CHAMBER[IV]!!.stack(), 'W', UnificationEntry(cableGtSingle, Platinum), 'X', UnificationEntry(circuit, Tier.IV)) // Large Arc Furnace - ModHandler.addShapedRecipe(true, "large_arc_furnace", LARGE_ARC_FURNACE.stackForm, + ModHandler.addShapedRecipe(true, "large_arc_furnace", LARGE_ARC_FURNACE.stack(), "PXP", "FUA", "GWG", 'P', UnificationEntry(plateDense, Invar), 'G', UnificationEntry(plate, Graphite), - 'F', ARC_FURNACE[HV].stackForm, - 'A', ALLOY_SMELTER[HV].stackForm, + 'F', ARC_FURNACE[HV].stack(), + 'A', ALLOY_SMELTER[HV].stack(), 'U', ELECTRIC_PUMP_HV, 'W', UnificationEntry(cableGtSingle, Gold), 'X', UnificationEntry(circuit, Tier.EV)) // Large Macerator - ModHandler.addShapedRecipe(true, "large_macerator", LARGE_MACERATOR.stackForm, + ModHandler.addShapedRecipe(true, "large_macerator", LARGE_MACERATOR.stack(), "PXP", "CMC", "DWD", 'C', ELECTRIC_MOTOR_EV, 'D', UnificationEntry(plate, TungstenCarbide), - 'M', MACERATOR[EV].stackForm, + 'M', MACERATOR[EV].stack(), 'P', ELECTRIC_PISTON_EV, 'W', UnificationEntry(cableGtSingle, Aluminium), 'X', UnificationEntry(circuit, Tier.EV)) // Large Centrifuge - ModHandler.addShapedRecipe(true, "large_centrifuge", LARGE_CENTRIFUGE.stackForm, + ModHandler.addShapedRecipe(true, "large_centrifuge", LARGE_CENTRIFUGE.stack(), "DXD", "CHT", "WGW", - 'C', CENTRIFUGE[HV].stackForm, - 'T', THERMAL_CENTRIFUGE[HV].stackForm, - 'H', HULL[HV].stackForm, + 'C', CENTRIFUGE[HV].stack(), + 'T', THERMAL_CENTRIFUGE[HV].stack(), + 'H', HULL[HV].stack(), 'G', UnificationEntry(gear, RedSteel), 'W', UnificationEntry(cableGtSingle, Gold), 'D', UnificationEntry(plateDense, Tumbaga), 'X', UnificationEntry(circuit, Tier.HV)) // Large Sifter - ModHandler.addShapedRecipe(true, "large_sifter", LARGE_SIFTER.stackForm, + ModHandler.addShapedRecipe(true, "large_sifter", LARGE_SIFTER.stack(), "PXP", "WSW", "GXG", - 'S', SIFTER[HV].stackForm, + 'S', SIFTER[HV].stack(), 'W', UnificationEntry(cableGtSingle, Gold), 'P', UnificationEntry(plate, EglinSteel), 'G', UnificationEntry(gear, EglinSteel), 'X', UnificationEntry(circuit, Tier.HV)) // Large Electrolyzer - ModHandler.addShapedRecipe(true, "large_electrolyzer", LARGE_ELECTROLYZER.stackForm, + ModHandler.addShapedRecipe(true, "large_electrolyzer", LARGE_ELECTROLYZER.stack(), "DXD", "PEP", "WHW", - 'E', ELECTROLYZER[HV].stackForm, + 'E', ELECTROLYZER[HV].stack(), 'H', UnificationEntry(pipeHugeFluid, Potin), 'W', UnificationEntry(cableGtSingle, Gold), 'P', ELECTRIC_PUMP_HV, @@ -660,9 +662,9 @@ internal object MachineRecipeLoader 'D', UnificationEntry(plateDense, Potin)) // Large Ore Washer - ModHandler.addShapedRecipe(true, "large_ore_washer", LARGE_ORE_WASHER.stackForm, + ModHandler.addShapedRecipe(true, "large_ore_washer", LARGE_ORE_WASHER.stack(), "GXG", "POP", "WRW", - 'O', ORE_WASHER[EV].stackForm, + 'O', ORE_WASHER[EV].stack(), 'P', ELECTRIC_PUMP_EV, 'R', UnificationEntry(rotor, Talonite), 'W', UnificationEntry(cableGtSingle, Aluminium), @@ -670,29 +672,29 @@ internal object MachineRecipeLoader 'G', GTGlassCasing.TEMPERED_GLASS.stack) // Large Electromagnet - ModHandler.addShapedRecipe(true, "large_electromagnet", LARGE_ELECTROMAGNET.stackForm, + ModHandler.addShapedRecipe(true, "large_electromagnet", LARGE_ELECTROMAGNET.stack(), "AGA", "PHE", "WMW", - 'P', POLARIZER[MV].stackForm, - 'E', ELECTROMAGNETIC_SEPARATOR[MV].stackForm, - 'H', HULL[MV].stackForm, + 'P', POLARIZER[MV].stack(), + 'E', ELECTROMAGNETIC_SEPARATOR[MV].stack(), + 'H', HULL[MV].stack(), 'M', CONVEYOR_MODULE_MV, 'W', UnificationEntry(cableGtSingle, Copper), 'A', UnificationEntry(plate, BabbitAlloy), 'G', UnificationEntry(gear, BabbitAlloy)) // Large Distillery - ModHandler.addShapedRecipe(true, "large_distillery", LARGE_DISTILLERY.stackForm, + ModHandler.addShapedRecipe(true, "large_distillery", LARGE_DISTILLERY.stack(), "PXP", "DRD", "WXW", - 'R', DISTILLERY[IV].stackForm, - 'D', DISTILLATION_TOWER.stackForm, + 'R', DISTILLERY[IV].stack(), + 'D', DISTILLATION_TOWER.stack(), 'X', UnificationEntry(circuit, Tier.IV), 'W', UnificationEntry(cableGtSingle, Platinum), 'P', ELECTRIC_PUMP_IV) // Large Bio Reactor - ModHandler.addShapedRecipe(true, "large_bio_reactor", LARGE_BIO_REACTOR.stackForm, + ModHandler.addShapedRecipe(true, "large_bio_reactor", LARGE_BIO_REACTOR.stack(), "UGU", "XRX", "WPW", - 'R', BIO_REACTOR[IV]!!.stackForm, + 'R', BIO_REACTOR[IV]!!.stack(), 'X', UnificationEntry(circuit, Tier.IV), 'P', UnificationEntry(pipeLargeFluid, TungstenSteel), 'W', UnificationEntry(cableGtSingle, Platinum), @@ -700,38 +702,38 @@ internal object MachineRecipeLoader 'G', UnificationEntry(gear, Grisium)) // Large Packer - ModHandler.addShapedRecipe(true, "large_packer", LARGE_PACKER.stackForm, + ModHandler.addShapedRecipe(true, "large_packer", LARGE_PACKER.stack(), "RCR", "PHP", "WXW", - 'P', PACKER[HV].stackForm, - 'H', HULL[HV].stackForm, + 'P', PACKER[HV].stack(), + 'H', HULL[HV].stack(), 'W', UnificationEntry(cableGtSingle, Gold), 'X', UnificationEntry(circuit, Tier.HV), 'C', CONVEYOR_MODULE_HV, 'R', ROBOT_ARM_HV) // Large Gas Collector - ModHandler.addShapedRecipe(true, "large_gas_collector", LARGE_GAS_COLLECTOR.stackForm, + ModHandler.addShapedRecipe(true, "large_gas_collector", LARGE_GAS_COLLECTOR.stack(), "SXS", "PGP", "WXW", - 'G', GAS_COLLECTOR[EV].stackForm, + 'G', GAS_COLLECTOR[EV].stack(), 'P', ELECTRIC_PUMP_EV, 'X', UnificationEntry(circuit, Tier.IV), 'S', UnificationEntry(spring, Tungsten), 'W', UnificationEntry(cableGtSingle, Aluminium)) // Large Rock Breaker - ModHandler.addShapedRecipe(true, "large_rock_breaker", LARGE_ROCK_BREAKER.stackForm, + ModHandler.addShapedRecipe(true, "large_rock_breaker", LARGE_ROCK_BREAKER.stack(), "PXP", "RHR", "WXW", 'P', ELECTRIC_PISTON_HV, - 'R', ROCK_BREAKER[HV].stackForm, - 'H', HULL[HV].stackForm, + 'R', ROCK_BREAKER[HV].stack(), + 'H', HULL[HV].stack(), 'X', UnificationEntry(circuit, Tier.HV), 'W', UnificationEntry(cableGtDouble, Electrum)) // Large Burner Reactor - ModHandler.addShapedRecipe(true, "large_burner_reactor", LARGE_BURNER_REACTOR.stackForm, + ModHandler.addShapedRecipe(true, "large_burner_reactor", LARGE_BURNER_REACTOR.stack(), "PUP", "BXR", "WDW", - 'B', BURNER_REACTOR[IV]!!.stackForm, - 'R', ROASTER[IV]!!.stackForm, + 'B', BURNER_REACTOR[IV]!!.stack(), + 'R', ROASTER[IV]!!.stack(), 'D', UnificationEntry(plateDense, EglinSteel), 'P', ELECTRIC_PISTON_IV, 'U', ELECTRIC_PUMP_IV, @@ -739,10 +741,10 @@ internal object MachineRecipeLoader 'W', UnificationEntry(cableGtSingle, Platinum)) // Large Cryogenic Reactor - ModHandler.addShapedRecipe(true, "large_cryogenic_reactor", LARGE_CRYOGENIC_REACTOR.stackForm, + ModHandler.addShapedRecipe(true, "large_cryogenic_reactor", LARGE_CRYOGENIC_REACTOR.stack(), "UPU", "CXA", "WDW", - 'C', CRYOGENIC_REACTOR[IV]!!.stackForm, - 'A', BATH_CONDENSER[IV]!!.stackForm, + 'C', CRYOGENIC_REACTOR[IV]!!.stack(), + 'A', BATH_CONDENSER[IV]!!.stack(), 'D', UnificationEntry(plateDense, StainlessSteel), 'P', ELECTRIC_PISTON_IV, 'U', ELECTRIC_PUMP_IV, @@ -750,9 +752,9 @@ internal object MachineRecipeLoader 'W', UnificationEntry(cableGtSingle, Platinum)) // Electric Implosion Compressor - ModHandler.addShapedRecipe(true, "electric_implosion_compressor", ELECTRIC_IMPLOSION_COMPRESSOR.stackForm, + ModHandler.addShapedRecipe(true, "electric_implosion_compressor", ELECTRIC_IMPLOSION_COMPRESSOR.stack(), "DXD", "PCP", "WSW", - 'C', IMPLOSION_COMPRESSOR.stackForm, + 'C', IMPLOSION_COMPRESSOR.stack(), 'D', UnificationEntry(plateDense, Osmium), 'S', UnificationEntry(screw, Rhodium), 'P', ELECTRIC_PISTON_IV, @@ -760,9 +762,9 @@ internal object MachineRecipeLoader 'W', UnificationEntry(cableGtSingle, TungstenSteel)) // Alloy Blast Smelter - ModHandler.addShapedRecipe(true, "alloy_blast_smelter", ALLOY_BLAST_SMELTER.stackForm, + ModHandler.addShapedRecipe(true, "alloy_blast_smelter", ALLOY_BLAST_SMELTER.stack(), "DBD", "XAX", "GWG", - 'A', ALLOY_SMELTER[IV].stackForm, + 'A', ALLOY_SMELTER[IV].stack(), 'B', UnificationEntry(rotor, TantalumCarbide), 'X', UnificationEntry(circuit, Tier.IV), 'G', UnificationEntry(gear, TungstenCarbide), @@ -770,770 +772,770 @@ internal object MachineRecipeLoader 'W', UnificationEntry(cableGtSingle, Platinum)) // Volcanus - ModHandler.addShapedRecipe(true, "volcanus", VOLCANUS.stackForm, + ModHandler.addShapedRecipe(true, "volcanus", VOLCANUS.stack(), "GXG", "ECE", "WXW", - 'E', ELECTRIC_BLAST_FURNACE.stackForm, + 'E', ELECTRIC_BLAST_FURNACE.stack(), 'C', MetalCasing.HASTELLOY_C276.stack, 'W', UnificationEntry(cableGtSingle, Platinum), 'X', UnificationEntry(circuit, Tier.IV), 'G', UnificationEntry(gear, HastelloyN)) // Cryogenic Freezer - ModHandler.addShapedRecipe(true, "cryogenic_freezer", CRYOGENIC_FREEZER.stackForm, + ModHandler.addShapedRecipe(true, "cryogenic_freezer", CRYOGENIC_FREEZER.stack(), "GXG", "VBV", "WXW", - 'V', VACUUM_FREEZER.stackForm, + 'V', VACUUM_FREEZER.stack(), 'B', MetalCasing.HASTELLOY_X.stack, 'W', UnificationEntry(cableGtSingle, Platinum), 'X', UnificationEntry(circuit, Tier.IV), 'G', UnificationEntry(gear, IncoloyMA956)) // Chemical Plant - ModHandler.addShapedRecipe(true, "chemical_plant", CHEMICAL_PLANT.stackForm, + ModHandler.addShapedRecipe(true, "chemical_plant", CHEMICAL_PLANT.stack(), "PXP", "CFC", "PWP", 'F', UnificationEntry(frameGt, Polybenzimidazole), - 'C', LARGE_CHEMICAL_REACTOR.stackForm, + 'C', LARGE_CHEMICAL_REACTOR.stack(), 'W', UnificationEntry(cableGtSingle, Platinum), 'X', UnificationEntry(circuit, Tier.LuV), 'P', ELECTRIC_PUMP_IV) // Industrial Coke Oven - ModHandler.addShapedRecipe(true, "industrial_coke_oven", INDUSTRIAL_COKE_OVEN.stackForm, + ModHandler.addShapedRecipe(true, "industrial_coke_oven", INDUSTRIAL_COKE_OVEN.stack(), "DXW", "PCQ", "WXS", 'P', ELECTRIC_PISTON_HV, 'Q', ELECTRIC_PUMP_HV, 'X', UnificationEntry(circuit, Tier.HV), - 'C', PYROLYSE_OVEN.stackForm, + 'C', PYROLYSE_OVEN.stack(), 'S', UnificationEntry(spring, MolybdenumDisilicide), 'D', UnificationEntry(plateDouble, AluminiumBronze), 'W', UnificationEntry(cableGtDouble, Silver)) // Large Mass Fabricator - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(MASS_FABRICATOR[LuV], 16) - .input(plateDouble, Californium, 8) - .input(plateDouble, Tritanium, 8) - .input(ENERGY_LAPOTRONIC_ORB, 4) - .input(EMITTER_LuV, 16) - .input(SENSOR_LuV, 16) - .input(ELECTRIC_PUMP_LuV, 16) - .input(gear, Berkelium, 3) - .input(gearSmall, Einsteinium, 6) - .input(foil, Plutonium244, 24) - .input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(64000)) - .fluidInputs(VanadiumGallium.getFluid(L * 16)) - .fluidInputs(Thulium.getFluid(L * 4)) - .output(LARGE_MASS_FABRICATOR) - .EUt(VA[ZPM]) - .duration(2 * MINUTE) - .scannerResearch { - it.researchStack(MASS_FABRICATOR[LuV]!!.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(MASS_FABRICATOR[LuV], 16) + input(plateDouble, Californium, 8) + input(plateDouble, Tritanium, 8) + input(ENERGY_LAPOTRONIC_ORB, 4) + input(EMITTER_LuV, 16) + input(SENSOR_LuV, 16) + input(ELECTRIC_PUMP_LuV, 16) + input(gear, Berkelium, 3) + input(gearSmall, Einsteinium, 6) + input(foil, Plutonium244, 24) + input(wireGtSingle, IndiumTinBariumTitaniumCuprate, 32) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(64000)) + fluidInputs(VanadiumGallium.getFluid(L * 16)) + fluidInputs(Thulium.getFluid(L * 4)) + output(LARGE_MASS_FABRICATOR) + EUt(VA[ZPM]) + duration(2 * MINUTE) + scannerResearch { + it.researchStack(MASS_FABRICATOR[LuV]!!.stack()) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // Large Replicator - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(REPLICATOR[ZPM], 16) - .input(plateDouble, Nobelium, 32) - .input(plateDouble, Darmstadtium, 32) - .input(TOOL_DATA_MODULE, 4) - .input(EMITTER_ZPM, 16) - .input(SENSOR_ZPM, 16) - .input(FIELD_GENERATOR_ZPM, 16) - .input(spring, Mendelevium, 12) - .input(NANO_PIC_CHIP, 48) - .input(wireGtSingle, UraniumRhodiumDinaquadide, 32) - .input(bolt, Neptunium, 24) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(64000)) - .fluidInputs(YttriumBariumCuprate.getFluid(L * 16)) - .fluidInputs(Promethium.getFluid(L * 4)) - .output(LARGE_REPLICATOR) - .EUt(VA[UV]) - .duration(2 * MINUTE) - .stationResearch { - it.researchStack(REPLICATOR[ZPM]!!.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(REPLICATOR[ZPM], 16) + input(plateDouble, Nobelium, 32) + input(plateDouble, Darmstadtium, 32) + input(TOOL_DATA_MODULE, 4) + input(EMITTER_ZPM, 16) + input(SENSOR_ZPM, 16) + input(FIELD_GENERATOR_ZPM, 16) + input(spring, Mendelevium, 12) + input(NANO_PIC_CHIP, 48) + input(wireGtSingle, UraniumRhodiumDinaquadide, 32) + input(bolt, Neptunium, 24) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(64000)) + fluidInputs(YttriumBariumCuprate.getFluid(L * 16)) + fluidInputs(Promethium.getFluid(L * 4)) + output(LARGE_REPLICATOR) + EUt(VA[UV]) + duration(2 * MINUTE) + stationResearch { + it.researchStack(REPLICATOR[ZPM]!!.stack()) .EUt(VA[ZPM]) .CWUt(8) } - .buildAndRegister() + } // Circuit Assembly Line - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(CIRCUIT_ASSEMBLER[LuV]) - .input(ROBOT_ARM_LuV, 4) - .input(ELECTRIC_MOTOR_LuV, 4) - .input(FIELD_GENERATOR_LuV, 1) - .input(EMITTER_LuV, 1) - .input(SENSOR_LuV, 1) - .input(plate, RhodiumPlatedPalladium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(CIRCUIT_ASSEMBLY_LINE) - .EUt(VA[LuV]) - .duration(MINUTE) - .scannerResearch { - it.researchStack(CIRCUIT_ASSEMBLER[LuV].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(CIRCUIT_ASSEMBLER[LuV]) + input(ROBOT_ARM_LuV, 4) + input(ELECTRIC_MOTOR_LuV, 4) + input(FIELD_GENERATOR_LuV, 1) + input(EMITTER_LuV, 1) + input(SENSOR_LuV, 1) + input(plate, RhodiumPlatedPalladium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(CIRCUIT_ASSEMBLY_LINE) + EUt(VA[LuV]) + duration(MINUTE) + scannerResearch { + it.researchStack(CIRCUIT_ASSEMBLER[LuV].stack()) .EUt(VA[IV]) .duration(30 * SECOND) } - .buildAndRegister() + } // Large Food Processor - ModHandler.addShapedRecipe(true, "large_food_processor", LARGE_FOOD_PROCESSOR.stackForm, + ModHandler.addShapedRecipe(true, "large_food_processor", LARGE_FOOD_PROCESSOR.stack(), "RPS", "AHB", "WXW", - 'H', HULL[MV].stackForm, - 'A', FOOD_PROCESSOR[MV]!!.stackForm, - 'B', MULTICOOKER[MV]!!.stackForm, - 'R', ROBOT_ARM_MV.stackForm, - 'S', SENSOR_MV.stackForm, - 'P', ELECTRIC_PUMP_MV.stackForm, + 'H', HULL[MV].stack(), + 'A', FOOD_PROCESSOR[MV]!!.stack(), + 'B', MULTICOOKER[MV]!!.stack(), + 'R', ROBOT_ARM_MV.stack(), + 'S', SENSOR_MV.stack(), + 'P', ELECTRIC_PUMP_MV.stack(), 'W', UnificationEntry(cableGtSingle, Cupronickel), 'X', UnificationEntry(circuit, Tier.MV)) // CVD Unit - ModHandler.addShapedRecipe(true, "cvd_unit", CVD_UNIT.stackForm, + ModHandler.addShapedRecipe(true, "cvd_unit", CVD_UNIT.stack(), "PKP", "CHC", "ESE", 'P', UnificationEntry(plate, BlueSteel), 'K', UnificationEntry(cableGtSingle, Aluminium), 'C', UnificationEntry(circuit, Tier.EV), - 'H', HULL[EV].stackForm, - 'S', SENSOR_EV.stackForm, - 'E', EMITTER_EV.stackForm) + 'H', HULL[EV].stack(), + 'S', SENSOR_EV.stack(), + 'E', EMITTER_EV.stack()) // Crystallization Crucible - ModHandler.addShapedRecipe(true, "crystallization_crucible", CRYSTALLIZATION_CRUCIBLE.stackForm, + ModHandler.addShapedRecipe(true, "crystallization_crucible", CRYSTALLIZATION_CRUCIBLE.stack(), "CMC", "LHL", "PCP", 'C', UnificationEntry(circuit, Tier.IV), 'M', UnificationEntry(plateDouble, MolybdenumDisilicide), 'L', UnificationEntry(pipeNormalFluid, Titanium), - 'H', HULL[EV].stackForm, + 'H', HULL[EV].stack(), 'P', UnificationEntry(plate, Titanium)) // Nanoscale Fabricator - ModHandler.addShapedRecipe(true, "nanoscale_fabricator", NANOSCALE_FABRICATOR.stackForm, + ModHandler.addShapedRecipe(true, "nanoscale_fabricator", NANOSCALE_FABRICATOR.stack(), "KSK", "EHE", "CFC", 'K', UnificationEntry(cableGtSingle, Platinum), - 'S', SENSOR_IV.stackForm, - 'E', EMITTER_IV.stackForm, - 'H', HULL[IV].stackForm, + 'S', SENSOR_IV.stack(), + 'E', EMITTER_IV.stack(), + 'H', HULL[IV].stack(), 'C', UnificationEntry(circuit, Tier.IV), 'F', UnificationEntry(plate, TitaniumCarbide)) // Sonicator - ModHandler.addShapedRecipe(true, "sonicator", SONICATOR.stackForm, + ModHandler.addShapedRecipe(true, "sonicator", SONICATOR.stack(), "LFL", "PHP", "CPC", 'L', UnificationEntry(pipeLargeFluid, Naquadah), - 'F', FIELD_GENERATOR_LuV.stackForm, - 'P', ELECTRIC_PUMP_LuV.stackForm, - 'H', HULL[LuV].stackForm, + 'F', FIELD_GENERATOR_LuV.stack(), + 'P', ELECTRIC_PUMP_LuV.stack(), + 'H', HULL[LuV].stack(), 'C', UnificationEntry(circuit, Tier.ZPM)) // Laser-Induced CVD Unit - ModHandler.addShapedRecipe(true, "laser_induced_cvd_unit", LASER_INDUCED_CVD_UNIT.stackForm, + ModHandler.addShapedRecipe(true, "laser_induced_cvd_unit", LASER_INDUCED_CVD_UNIT.stack(), "EAE", "XHX", "PPP", - 'E', EMITTER_ZPM.stackForm, + 'E', EMITTER_ZPM.stack(), 'A', UnificationEntry(plate, GSTGlass), - 'H', HULL[ZPM].stackForm, + 'H', HULL[ZPM].stack(), 'X', UnificationEntry(circuit, Tier.UV), 'P', UnificationEntry(plate, Darmstadtium)) // Plasma-Enhanced CVD Unit - ModHandler.addShapedRecipe(true, "plasma_enhanced_cvd_unit", PLASMA_ENHANCED_CVD_UNIT.stackForm, + ModHandler.addShapedRecipe(true, "plasma_enhanced_cvd_unit", PLASMA_ENHANCED_CVD_UNIT.stack(), "PKP", "CHC", "ESE", 'P', UnificationEntry(plate, Vibranium), 'K', UnificationEntry(cableGtSingle, Europium), 'C', UnificationEntry(circuit, Tier.UEV), - 'H', HULL[UHV].stackForm, + 'H', HULL[UHV].stack(), 'E', EMITTER_UHV, 'S', SENSOR_UHV) // Bedrock Drilling Rig - ModHandler.addShapedRecipe(true, "bedrock_drilling_rig", BEDROCK_DRILLING_RIG.stackForm, + ModHandler.addShapedRecipe(true, "bedrock_drilling_rig", BEDROCK_DRILLING_RIG.stack(), "PKP", "CHC", "MMM", - 'P', ELECTRIC_PISTON_UV.stackForm, + 'P', ELECTRIC_PISTON_UV.stack(), 'K', UnificationEntry(cableGtQuadruple, YttriumBariumCuprate), 'C', UnificationEntry(circuit, Tier.UHV), - 'H', HULL[UV].stackForm, - 'M', ELECTRIC_MOTOR_UV.stackForm) + 'H', HULL[UV].stack(), + 'M', ELECTRIC_MOTOR_UV.stack()) // Fusion Reactor Computer MK4 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(FusionCoil.ADVANCED.stack) - .input(circuit, Tier.UEV, 4) - .input(plateDouble, MetastableFlerovium) - .input(plateDouble, Dubnium) - .input(FIELD_GENERATOR_UV, 2) - .input(FEMTO_PIC_CHIP, 64) - .input(wireGtSingle, RutheniumTriniumAmericiumNeutronate, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 8)) - .fluidInputs(Europium.getFluid(L * 8)) - .output(FUSION_REACTOR_MK4) - .EUt(VA[UV]) - .duration(2 * MINUTE) - .stationResearch { - it.researchStack(FUSION_REACTOR[2].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(FusionCoil.ADVANCED.stack) + input(circuit, Tier.UEV, 4) + input(plateDouble, MetastableFlerovium) + input(plateDouble, Dubnium) + input(FIELD_GENERATOR_UV, 2) + input(FEMTO_PIC_CHIP, 64) + input(wireGtSingle, RutheniumTriniumAmericiumNeutronate, 32) + fluidInputs(SolderingAlloy.getFluid(L * 8)) + fluidInputs(Europium.getFluid(L * 8)) + output(FUSION_REACTOR_MK4) + EUt(VA[UV]) + duration(2 * MINUTE) + stationResearch { + it.researchStack(FUSION_REACTOR[2].stack()) .EUt(VA[UHV]) .CWUt(48) } - .buildAndRegister() + } // Fusion Reactor Computer MK5 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(FusionCoil.ULTIMATE.stack) - .input(circuit, Tier.UIV, 4) - .input(plateDouble, MetastableHassium) - .input(plateDouble, Meitnerium) - .input(FIELD_GENERATOR_UHV, 2) - .input(ATTO_PIC_CHIP, 64) - .input(wireGtSingle, VibraniumTritaniumActiniumIronSuperhydride, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 8)) - .fluidInputs(Seaborgium.getFluid(L * 8)) - .output(FUSION_REACTOR_MK5) - .EUt(VA[UHV]) - .duration(2 * MINUTE + 30 * SECOND) - .stationResearch { - it.researchStack(FUSION_REACTOR_MK4.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(FusionCoil.ULTIMATE.stack) + input(circuit, Tier.UIV, 4) + input(plateDouble, MetastableHassium) + input(plateDouble, Meitnerium) + input(FIELD_GENERATOR_UHV, 2) + input(ATTO_PIC_CHIP, 64) + input(wireGtSingle, VibraniumTritaniumActiniumIronSuperhydride, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 8)) + fluidInputs(Seaborgium.getFluid(L * 8)) + output(FUSION_REACTOR_MK5) + EUt(VA[UHV]) + duration(2 * MINUTE + 30 * SECOND) + stationResearch { + it.researchStack(FUSION_REACTOR_MK4.stack()) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // Advanced Fusion Reactor - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(FUSION_REACTOR[0], 32) - .input(circuit, Tier.ZPM, 16) - .input(plateDouble, Duranium, 8) - .input(plateDouble, Europium, 8) - .input(ELECTRIC_PUMP_LuV, 4) - .input(FIELD_GENERATOR_LuV, 4) - .input(VOLTAGE_COIL_LuV, 8) - .input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT_WAFER, 16) - .input(gear, LithiumTitanate, 4) - .input(wireGtDouble, IndiumTinBariumTitaniumCuprate, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .fluidInputs(Trinaquadalloy.getFluid(L * 4)) - .fluidInputs(ReneN5.getFluid(L * 4)) - .output(ADVANCED_FUSION_REACTOR) - .EUt(VA[LuV]) - .duration(2 * MINUTE) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(FUSION_REACTOR[0], 32) + input(circuit, Tier.ZPM, 16) + input(plateDouble, Duranium, 8) + input(plateDouble, Europium, 8) + input(ELECTRIC_PUMP_LuV, 4) + input(FIELD_GENERATOR_LuV, 4) + input(VOLTAGE_COIL_LuV, 8) + input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT_WAFER, 16) + input(gear, LithiumTitanate, 4) + input(wireGtDouble, IndiumTinBariumTitaniumCuprate, 32) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + fluidInputs(Trinaquadalloy.getFluid(L * 4)) + fluidInputs(ReneN5.getFluid(L * 4)) + output(ADVANCED_FUSION_REACTOR) + EUt(VA[LuV]) + duration(2 * MINUTE) + scannerResearch { it.researchStack(OreDictUnifier.get(block, Duranium)) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // Component Assembly Line (CoAL) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ASSEMBLY_LINE, 4) - .inputs(GTMultiblockCasing.ASSEMBLY_LINE_CASING.getStack(8)) - .inputs(GTMultiblockCasing.ASSEMBLY_CONTROL.getStack(16)) - .input(ROBOT_ARM_UV, 8) - .input(CONVEYOR_MODULE_UV, 8) - .input(plateDouble, EnrichedNaquadahAlloy, 6) - .input(plateDouble, Taranium, 12) - .input(gear, Bedrockium, 3) - .input(gearSmall, Bedrockium, 6) - .input(TOOL_CASTER[EV], 8) - .input(foil, BariumStrontiumTitanate, 12) - .input(foil, FranciumCaesiumCadmiumBromide, 12) - .input(circuit, Tier.UHV, 4) - .input(wireGtQuadruple, EnrichedNaquadahAlloy, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 12)) - .fluidInputs(Lubricant.getFluid(5000)) - .fluidInputs(Naquadria.getFluid(L * 8)) - .fluidInputs(Trinaquadalloy.getFluid(L * 4)) - .output(COMPONENT_ASSEMBLY_LINE) - .EUt(VA[UV]) - .duration(5 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ASSEMBLY_LINE, 4) + inputs(GTMultiblockCasing.ASSEMBLY_LINE_CASING.getStack(8)) + inputs(GTMultiblockCasing.ASSEMBLY_CONTROL.getStack(16)) + input(ROBOT_ARM_UV, 8) + input(CONVEYOR_MODULE_UV, 8) + input(plateDouble, EnrichedNaquadahAlloy, 6) + input(plateDouble, Taranium, 12) + input(gear, Bedrockium, 3) + input(gearSmall, Bedrockium, 6) + input(TOOL_CASTER[EV], 8) + input(foil, BariumStrontiumTitanate, 12) + input(foil, FranciumCaesiumCadmiumBromide, 12) + input(circuit, Tier.UHV, 4) + input(wireGtQuadruple, EnrichedNaquadahAlloy, 16) + fluidInputs(SolderingAlloy.getFluid(L * 12)) + fluidInputs(Lubricant.getFluid(5000)) + fluidInputs(Naquadria.getFluid(L * 8)) + fluidInputs(Trinaquadalloy.getFluid(L * 4)) + output(COMPONENT_ASSEMBLY_LINE) + EUt(VA[UV]) + duration(5 * MINUTE) + stationResearch { it.researchStack(GTMultiblockCasing.ASSEMBLY_LINE_CASING.stack) .EUt(VA[ZPM]) .CWUt(32) } - .buildAndRegister() + } // Cosmic Ray Detector (CRD) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(SCANNER[UHV], 4) - .inputs(MultiblockCasing.REFLECTIVE_SURFACE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft * 4)) - .input(EMITTER_UHV, 6) - .input(SENSOR_UHV, 6) - .input(plateDouble, TitanSteel, 8) - .input(circuit, Tier.UEV, 2) - .input(wireGtSingle, RutheniumTriniumAmericiumNeutronate, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 18)) - .fluidInputs(UUMatter.getFluid(16000)) - .fluidInputs(FreeElectronGas.getFluid(8000)) - .fluidInputs(Trinaquadalloy.getFluid(L * 8)) - .output(COSMIC_RAY_DETECTOR) - .EUt(VA[UHV]) - .duration(2 * MINUTE + 30 * SECOND) - .stationResearch { - it.researchStack(SCANNER[UHV].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(SCANNER[UHV], 4) + inputs(MultiblockCasing.REFLECTIVE_SURFACE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft * 4)) + input(EMITTER_UHV, 6) + input(SENSOR_UHV, 6) + input(plateDouble, TitanSteel, 8) + input(circuit, Tier.UEV, 2) + input(wireGtSingle, RutheniumTriniumAmericiumNeutronate, 16) + fluidInputs(SolderingAlloy.getFluid(L * 18)) + fluidInputs(UUMatter.getFluid(16000)) + fluidInputs(FreeElectronGas.getFluid(8000)) + fluidInputs(Trinaquadalloy.getFluid(L * 8)) + output(COSMIC_RAY_DETECTOR) + EUt(VA[UHV]) + duration(2 * MINUTE + 30 * SECOND) + stationResearch { + it.researchStack(SCANNER[UHV].stack()) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // Stellar Forge - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(NANO_FORGE, 16) - .inputs(MultiblockCasing.STELLAR_CONTAINMENT_CASING.getStack(16)) - .inputs(MultiblockCasing.THERMAL_ENERGY_TRANSMISSION_CASING.getStack(16)) - .input(ELECTRIC_PUMP_UHV, 8) - .input(ROBOT_ARM_UHV, 8) - .input(FIELD_GENERATOR_UHV, 8) - .input(plateDouble, Tairitsium, 4) - .input(circuit, Tier.UEV, 12) - .input(foil, EnrichedNaquadahAlloy, 24) - .input(wireGtSingle, RutheniumTriniumAmericiumNeutronate, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 36)) - .fluidInputs(UUMatter.getFluid(64000)) - .fluidInputs(TitanSteel.getFluid(L * 8)) - .fluidInputs(HDCS.getFluid(L * 4)) - .output(STELLAR_FORGE) - .EUt(VA[UHV]) - .duration(2 * MINUTE + 30 * SECOND) - .stationResearch { - it.researchStack(VOLCANUS.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(NANO_FORGE, 16) + inputs(MultiblockCasing.STELLAR_CONTAINMENT_CASING.getStack(16)) + inputs(MultiblockCasing.THERMAL_ENERGY_TRANSMISSION_CASING.getStack(16)) + input(ELECTRIC_PUMP_UHV, 8) + input(ROBOT_ARM_UHV, 8) + input(FIELD_GENERATOR_UHV, 8) + input(plateDouble, Tairitsium, 4) + input(circuit, Tier.UEV, 12) + input(foil, EnrichedNaquadahAlloy, 24) + input(wireGtSingle, RutheniumTriniumAmericiumNeutronate, 16) + fluidInputs(SolderingAlloy.getFluid(L * 36)) + fluidInputs(UUMatter.getFluid(64000)) + fluidInputs(TitanSteel.getFluid(L * 8)) + fluidInputs(HDCS.getFluid(L * 4)) + output(STELLAR_FORGE) + EUt(VA[UHV]) + duration(2 * MINUTE + 30 * SECOND) + stationResearch { + it.researchStack(VOLCANUS.stack()) .EUt(VA[UV]) .CWUt(36) } - .buildAndRegister() + } // Nuclear Reactor - ModHandler.addShapedRecipe(true, "nuclear_reactor", NUCLEAR_REACTOR.stackForm, + ModHandler.addShapedRecipe(true, "nuclear_reactor", NUCLEAR_REACTOR.stack(), "QBQ", "RHR", "PBP", - 'H', HULL[EV].stackForm, + 'H', HULL[EV].stack(), 'R', ROBOT_ARM_EV, 'Q', ELECTRIC_PUMP_EV, 'P', UnificationEntry(plate, Zircaloy4), 'B', UnificationEntry(block, Thorium)) // Large Hot Coolant Turbine - ModHandler.addShapedRecipe(true, "large_hot_coolant_turbine", HOT_COOLANT_TURBINE.stackForm, + ModHandler.addShapedRecipe(true, "large_hot_coolant_turbine", HOT_COOLANT_TURBINE.stack(), "XGX", "GHG", "PGP", 'X', UnificationEntry(circuit, Tier.IV), 'G', UnificationEntry(gear, Titanium), - 'H', HULL[EV].stackForm, + 'H', HULL[EV].stack(), 'P', UnificationEntry(pipeLargeFluid, Titanium)) // Large Supercritical Fluid Turbine - ModHandler.addShapedRecipe(true, "large_supercritical_fluid_turbine", SUPERCRITICAL_FLUID_TURBINE.stackForm, + ModHandler.addShapedRecipe(true, "large_supercritical_fluid_turbine", SUPERCRITICAL_FLUID_TURBINE.stack(), "XGX", "GHG", "PGP", 'X', UnificationEntry(circuit, Tier.ZPM), 'G', UnificationEntry(gear, RhodiumPlatedPalladium), - 'H', HULL[LuV].stackForm, + 'H', HULL[LuV].stack(), 'P', UnificationEntry(pipeLargeFluid, RhodiumPlatedPalladium)) // Large Rocket Engine - ModHandler.addShapedRecipe(true, "large_rocket_engine", LARGE_ROCKET_ENGINE.stackForm, + ModHandler.addShapedRecipe(true, "large_rocket_engine", LARGE_ROCKET_ENGINE.stack(), "SXS", "RHR", "WXW", - 'R', ROCKET_ENGINE[2].stackForm, - 'H', HULL[IV].stackForm, + 'R', ROCKET_ENGINE[2].stack(), + 'H', HULL[IV].stack(), 'S', UnificationEntry(spring, Nitinol60), 'W', UnificationEntry(cableGtSingle, Platinum), 'X', UnificationEntry(circuit, Tier.LuV)) // Large Naquadah Reactor - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(NUCLEAR_REACTOR, 64) - .input(NUCLEAR_REACTOR, 64) - .input(NUCLEAR_REACTOR, 64) - .input(NUCLEAR_REACTOR, 64) - .input(NAQUADAH_REACTOR[3], 16) - .input(ELECTRIC_PUMP_UV, 8) - .input(ROBOT_ARM_UV, 8) - .input(circuit, Tier.UHV, 16) - .input(plateDense, Pikyonium64B, 6) - .input(plateDense, Naquadria, 6) - .input(screw, Trinaquadalloy, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 160)) - .fluidInputs(Bedrockium.getFluid(L * 40)) - .fluidInputs(EnrichedNaquadahAlloy.getFluid(L * 20)) - .fluidInputs(PreciousMetalAlloy.getFluid(L * 10)) - .output(LARGE_NAQUADAH_REACTOR) - .EUt(VA[UHV]) - .duration(5 * MINUTE) - .stationResearch { - it.researchStack(NAQUADAH_REACTOR[3].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(NUCLEAR_REACTOR, 64) + input(NUCLEAR_REACTOR, 64) + input(NUCLEAR_REACTOR, 64) + input(NUCLEAR_REACTOR, 64) + input(NAQUADAH_REACTOR[3], 16) + input(ELECTRIC_PUMP_UV, 8) + input(ROBOT_ARM_UV, 8) + input(circuit, Tier.UHV, 16) + input(plateDense, Pikyonium64B, 6) + input(plateDense, Naquadria, 6) + input(screw, Trinaquadalloy, 32) + fluidInputs(SolderingAlloy.getFluid(L * 160)) + fluidInputs(Bedrockium.getFluid(L * 40)) + fluidInputs(EnrichedNaquadahAlloy.getFluid(L * 20)) + fluidInputs(PreciousMetalAlloy.getFluid(L * 10)) + output(LARGE_NAQUADAH_REACTOR) + EUt(VA[UHV]) + duration(5 * MINUTE) + stationResearch { + it.researchStack(NAQUADAH_REACTOR[3].stack()) .EUt(VA[UV]) .CWUt(16) } - .buildAndRegister() + } // Nano Forge - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(VOLCANUS, 8) - .input(nanite, Carbon, 16) - .input(circuit, Tier.UV, 4) - .input(ROBOT_ARM_ZPM, 8) - .input(CONVEYOR_MODULE_ZPM, 8) - .input(plateDense, Duranium, 6) - .input(plateDense, Trinium, 6) - .input(gear, Naquadria, 4) - .input(gearSmall, EnrichedNaquadahAlloy, 12) - .input(wireGtSingle, UraniumRhodiumDinaquadide, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 64)) - .fluidInputs(UUMatter.getFluid(64000)) - .fluidInputs(Osmiridium.getFluid(L * 16)) - .output(NANO_FORGE) - .EUt(VA[ZPM]) - .duration(2 * MINUTE + 30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(VOLCANUS, 8) + input(nanite, Carbon, 16) + input(circuit, Tier.UV, 4) + input(ROBOT_ARM_ZPM, 8) + input(CONVEYOR_MODULE_ZPM, 8) + input(plateDense, Duranium, 6) + input(plateDense, Trinium, 6) + input(gear, Naquadria, 4) + input(gearSmall, EnrichedNaquadahAlloy, 12) + input(wireGtSingle, UraniumRhodiumDinaquadide, 32) + fluidInputs(SolderingAlloy.getFluid(L * 64)) + fluidInputs(UUMatter.getFluid(64000)) + fluidInputs(Osmiridium.getFluid(L * 16)) + output(NANO_FORGE) + EUt(VA[ZPM]) + duration(2 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(OreDictUnifier.get(nanite, Carbon)) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // PCB Factory - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, RhodiumPlatedPalladium, 4) - .input(CIRCUIT_ASSEMBLER[LuV], 4) - .input(plate, Osmiridium, 4) - .input(circuit, Tier.LuV, 16) - .input(gear, Ruridit, 2) - .input(ROBOT_ARM_LuV, 8) - .input(cableGtSingle, NiobiumTitanium, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .output(PCB_FACTORY) - .EUt(VA[LuV]) - .duration(1 * MINUTE) - .scannerResearch { - it.researchStack(WETWARE_CIRCUIT_BOARD.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, RhodiumPlatedPalladium, 4) + input(CIRCUIT_ASSEMBLER[LuV], 4) + input(plate, Osmiridium, 4) + input(circuit, Tier.LuV, 16) + input(gear, Ruridit, 2) + input(ROBOT_ARM_LuV, 8) + input(cableGtSingle, NiobiumTitanium, 16) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + output(PCB_FACTORY) + EUt(VA[LuV]) + duration(1 * MINUTE) + scannerResearch { + it.researchStack(WETWARE_CIRCUIT_BOARD.stack()) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // Quantum Force Transformer - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(LARGE_MASS_FABRICATOR) - .inputs(MultiblockCasing.PARTICLE_EXCITATION_WIRE_COIL.stack) - .input(circuit, Tier.UEV, 8) - .input(ELECTRIC_PUMP_UEV, 4) - .input(FIELD_GENERATOR_UEV, 4) - .input(QUANTUM_ANOMALY) - .fluidInputs(MutatedLivingSolder.getFluid(L * 10)) - .fluidInputs(Pikyonium64B.getFluid(L * 32)) - .output(QUANTUM_FORCE_TRANSFORMER) - .EUt(VA[UEV]) - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(LARGE_MASS_FABRICATOR) + inputs(MultiblockCasing.PARTICLE_EXCITATION_WIRE_COIL.stack) + input(circuit, Tier.UEV, 8) + input(ELECTRIC_PUMP_UEV, 4) + input(FIELD_GENERATOR_UEV, 4) + input(QUANTUM_ANOMALY) + fluidInputs(MutatedLivingSolder.getFluid(L * 10)) + fluidInputs(Pikyonium64B.getFluid(L * 32)) + output(QUANTUM_FORCE_TRANSFORMER) + EUt(VA[UEV]) + duration(1 * MINUTE) + stationResearch { it.researchStack(MultiblockCasing.PARTICLE_EXCITATION_WIRE_COIL.stack) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() + } // Antimatter Forge - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(FUSION_REACTOR_MK5) - .input(frameGt, Infinity, 16) - .inputs(Manipulator.COSMIC_FABRIC.getStack(16)) - .inputs(MultiblockCasing.STELLAR_CONTAINMENT_CASING.getStack(16)) - .input(wireFine, Hypogen, 64) - .input(wireFine, Infinity, 64) - .input(circuit, Tier.UIV, 16) - .input(ELECTRIC_PUMP_UEV, 16) - .input(plateDense, CosmicNeutronium, 4) - .input(plateDense, MetastableHassium, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) - .fluidInputs(Bedrockium.getFluid(L * 64)) - .fluidInputs(Protomatter.getFluid(16000)) - .output(ANTIMATTER_FORGE) - .EUt(VA[UEV]) - .duration(10 * MINUTE) - .stationResearch { - it.researchStack(ADVANCED_FUSION_REACTOR.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(FUSION_REACTOR_MK5) + input(frameGt, Infinity, 16) + inputs(Manipulator.COSMIC_FABRIC.getStack(16)) + inputs(MultiblockCasing.STELLAR_CONTAINMENT_CASING.getStack(16)) + input(wireFine, Hypogen, 64) + input(wireFine, Infinity, 64) + input(circuit, Tier.UIV, 16) + input(ELECTRIC_PUMP_UEV, 16) + input(plateDense, CosmicNeutronium, 4) + input(plateDense, MetastableHassium, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000)) + fluidInputs(Bedrockium.getFluid(L * 64)) + fluidInputs(Protomatter.getFluid(16000)) + output(ANTIMATTER_FORGE) + EUt(VA[UEV]) + duration(10 * MINUTE) + stationResearch { + it.researchStack(ADVANCED_FUSION_REACTOR.stack()) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // Antimatter Generator - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(LARGE_NAQUADAH_REACTOR) - .input(LASER_OUTPUT_HATCH_1048576[UEV - IV], 4) - .inputs(MultiblockCasing.ANTIMATTER_ANNIHILATION_MATRIX.getStack(16)) - .input(circuit, Tier.UIV, 16) - .input(EMITTER_UEV, 32) - .input(plateDense, Livermorium, 4) - .input(rotor, Infinity, 16) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 64) - .input(wireFine, Hypogen, 64) - .input(wireFine, Rhugnor, 64) - .input(wireFine, CosmicNeutronium, 64) - .fluidInputs(HalkoniteSteel.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(64000)) - .fluidInputs(ResonantStrangeMeson.getFluid(8000)) - .fluidInputs(Antimatter.getFluid(16000)) - .output(ANTIMATTER_GENERATOR) - .EUt(VA[UEV]) - .duration(10 * MINUTE) - .stationResearch { - it.researchStack(LARGE_NAQUADAH_REACTOR.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(LARGE_NAQUADAH_REACTOR) + input(LASER_OUTPUT_HATCH_1048576[UEV - IV], 4) + inputs(MultiblockCasing.ANTIMATTER_ANNIHILATION_MATRIX.getStack(16)) + input(circuit, Tier.UIV, 16) + input(EMITTER_UEV, 32) + input(plateDense, Livermorium, 4) + input(rotor, Infinity, 16) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 64) + input(wireFine, Hypogen, 64) + input(wireFine, Rhugnor, 64) + input(wireFine, CosmicNeutronium, 64) + fluidInputs(HalkoniteSteel.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(64000)) + fluidInputs(ResonantStrangeMeson.getFluid(8000)) + fluidInputs(Antimatter.getFluid(16000)) + output(ANTIMATTER_GENERATOR) + EUt(VA[UEV]) + duration(10 * MINUTE) + stationResearch { + it.researchStack(LARGE_NAQUADAH_REACTOR.stack()) .EUt(VA[UEV]) .CWUt(128) } - .buildAndRegister() + } // Space Elevator - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.getStack(8)) - .input(frameGt, Neutronium, 16) - .input(FIELD_GENERATOR_UV, 4) - .input(circuit, Tier.UHV, 8) - .input(circuit, Tier.UV, 16) - .input(plateDouble, Vibranium, 32) - .input(plateDouble, Bedrockium, 32) - .input(PICO_PIC_CHIP, 64) - .input(ELECTRIC_MOTOR_UV, 8) - .input(screw, Adamantium, 24) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(16000)) - .fluidInputs(Lubricant.getFluid(32000)) - .fluidInputs(Iridium.getFluid(L * 10)) - .output(SPACE_ELEVATOR) - .EUt(VA[UHV]) - .duration(2 * MINUTE) - .stationResearch { - it.researchStack(MINING_DRONE_AIRPORT.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.getStack(8)) + input(frameGt, Neutronium, 16) + input(FIELD_GENERATOR_UV, 4) + input(circuit, Tier.UHV, 8) + input(circuit, Tier.UV, 16) + input(plateDouble, Vibranium, 32) + input(plateDouble, Bedrockium, 32) + input(PICO_PIC_CHIP, 64) + input(ELECTRIC_MOTOR_UV, 8) + input(screw, Adamantium, 24) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(16000)) + fluidInputs(Lubricant.getFluid(32000)) + fluidInputs(Iridium.getFluid(L * 10)) + output(SPACE_ELEVATOR) + EUt(VA[UHV]) + duration(2 * MINUTE) + stationResearch { + it.researchStack(MINING_DRONE_AIRPORT.stack()) .EUt(VA[UV]) .CWUt(32) } - .buildAndRegister() + } // Space Assembler Module MK1 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) - .input(ASSEMBLER[UHV], 4) - .input(CIRCUIT_ASSEMBLER[UHV], 4) - .input(gear, CosmicNeutronium, 8) - .input(gearSmall, CosmicNeutronium, 16) - .input(ROBOT_ARM_UHV, 8) - .input(CONVEYOR_MODULE_UHV, 16) - .input(circuit, Tier.UHV, 8) - .input(circuit, Tier.UV, 16) - .input(frameGt, Neutronium, 8) - .input(screw, Neutronium, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 9)) - .fluidInputs(Naquadria.getFluid(L * 9)) - .fluidInputs(Lubricant.getFluid(16000)) - .output(SPACE_ASSEMBLER_MK1) - .EUt(VA[UHV]) - .duration(1 * MINUTE) - .stationResearch { - it.researchStack(ASSEMBLER[UHV].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) + input(ASSEMBLER[UHV], 4) + input(CIRCUIT_ASSEMBLER[UHV], 4) + input(gear, CosmicNeutronium, 8) + input(gearSmall, CosmicNeutronium, 16) + input(ROBOT_ARM_UHV, 8) + input(CONVEYOR_MODULE_UHV, 16) + input(circuit, Tier.UHV, 8) + input(circuit, Tier.UV, 16) + input(frameGt, Neutronium, 8) + input(screw, Neutronium, 32) + fluidInputs(SolderingAlloy.getFluid(L * 9)) + fluidInputs(Naquadria.getFluid(L * 9)) + fluidInputs(Lubricant.getFluid(16000)) + output(SPACE_ASSEMBLER_MK1) + EUt(VA[UHV]) + duration(1 * MINUTE) + stationResearch { + it.researchStack(ASSEMBLER[UHV].stack()) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Space Assembler Module MK2 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) - .input(ASSEMBLER[UEV], 4) - .input(CIRCUIT_ASSEMBLER[UEV], 4) - .input(gear, Infinity, 8) - .input(gearSmall, Infinity, 16) - .input(ROBOT_ARM_UEV, 8) - .input(CONVEYOR_MODULE_UEV, 16) - .input(circuit, Tier.UEV, 8) - .input(circuit, Tier.UHV, 16) - .input(frameGt, Vibranium, 8) - .input(screw, Vibranium, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 9)) - .fluidInputs(Taranium.getFluid(L * 9)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .output(SPACE_ASSEMBLER_MK2) - .EUt(VA[UEV]) - .duration(2 * MINUTE) - .stationResearch { - it.researchStack(SPACE_ASSEMBLER_MK1.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) + input(ASSEMBLER[UEV], 4) + input(CIRCUIT_ASSEMBLER[UEV], 4) + input(gear, Infinity, 8) + input(gearSmall, Infinity, 16) + input(ROBOT_ARM_UEV, 8) + input(CONVEYOR_MODULE_UEV, 16) + input(circuit, Tier.UEV, 8) + input(circuit, Tier.UHV, 16) + input(frameGt, Vibranium, 8) + input(screw, Vibranium, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 9)) + fluidInputs(Taranium.getFluid(L * 9)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + output(SPACE_ASSEMBLER_MK2) + EUt(VA[UEV]) + duration(2 * MINUTE) + stationResearch { + it.researchStack(SPACE_ASSEMBLER_MK1.stack()) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() + } // Space Assembler Module MK3 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) - .input(ASSEMBLER[UIV], 4) - .input(CIRCUIT_ASSEMBLER[UIV], 4) - .input(gear, SpaceTime, 8) - .input(gearSmall, SpaceTime, 16) - .input(ROBOT_ARM_UIV, 8) - .input(CONVEYOR_MODULE_UIV, 16) - .input(circuit, Tier.UIV, 8) - .input(circuit, Tier.UEV, 16) - .input(frameGt, Shirabon, 8) - .input(screw, Shirabon, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 9)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 9)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .output(SPACE_ASSEMBLER_MK3) - .EUt(VA[UIV]) - .duration(5 * MINUTE) - .stationResearch { - it.researchStack(SPACE_ASSEMBLER_MK2.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) + input(ASSEMBLER[UIV], 4) + input(CIRCUIT_ASSEMBLER[UIV], 4) + input(gear, SpaceTime, 8) + input(gearSmall, SpaceTime, 16) + input(ROBOT_ARM_UIV, 8) + input(CONVEYOR_MODULE_UIV, 16) + input(circuit, Tier.UIV, 8) + input(circuit, Tier.UEV, 16) + input(frameGt, Shirabon, 8) + input(screw, Shirabon, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 9)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 9)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + output(SPACE_ASSEMBLER_MK3) + EUt(VA[UIV]) + duration(5 * MINUTE) + stationResearch { + it.researchStack(SPACE_ASSEMBLER_MK2.stack()) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() + } // Space Pump Module MK1 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ADVANCED_FLUID_DRILLING_RIG) - .input(COVER_ENDER_FLUID_LINK, 2) - .input(frameGt, Neutronium, 4) - .input(circuit, Tier.UHV, 4) - .input(ELECTRIC_PUMP_UV, 2) - .input(gear, Neutronium, 4) - .input(screw, Bedrockium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 9)) - .fluidInputs(Adamantium.getFluid(L * 4)) - .output(SPACE_PUMP_MK1) - .EUt(VA[UV]) - .duration(1 * MINUTE) - .stationResearch { - it.researchStack(ADVANCED_FLUID_DRILLING_RIG.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ADVANCED_FLUID_DRILLING_RIG) + input(COVER_ENDER_FLUID_LINK, 2) + input(frameGt, Neutronium, 4) + input(circuit, Tier.UHV, 4) + input(ELECTRIC_PUMP_UV, 2) + input(gear, Neutronium, 4) + input(screw, Bedrockium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 9)) + fluidInputs(Adamantium.getFluid(L * 4)) + output(SPACE_PUMP_MK1) + EUt(VA[UV]) + duration(1 * MINUTE) + stationResearch { + it.researchStack(ADVANCED_FLUID_DRILLING_RIG.stack()) .EUt(VA[UV]) .CWUt(16) } - .buildAndRegister() + } // Space Pump Module MK2 - ASSEMBLER_RECIPES.recipeBuilder() - .input(SPACE_PUMP_MK1, 4) - .input(frameGt, Vibranium, 8) - .input(circuit, Tier.UEV, 16) - .input(ELECTRIC_PUMP_UHV, 8) - .input(gear, Vibranium, 8) - .input(screw, Taranium, 64) - .input(plateDouble, CosmicNeutronium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 32)) - .output(SPACE_PUMP_MK2) - .EUt(VA[UHV]) - .duration(2 * MINUTE) - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ADVANCED_FLUID_DRILLING_RIG, 4) - .input(COVER_ENDER_FLUID_LINK, 8) - .input(frameGt, Vibranium, 4) - .input(circuit, Tier.UEV, 16) - .input(ELECTRIC_PUMP_UHV, 8) - .input(gear, Vibranium, 4) - .input(screw, Taranium, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 32)) - .fluidInputs(CosmicNeutronium.getFluid(L * 16)) - .output(SPACE_PUMP_MK2) - .EUt(VA[UHV]) - .duration(2 * MINUTE) - .stationResearch { - it.researchStack(SPACE_PUMP_MK1.stackForm) + ASSEMBLER_RECIPES.addRecipe { + input(SPACE_PUMP_MK1, 4) + input(frameGt, Vibranium, 8) + input(circuit, Tier.UEV, 16) + input(ELECTRIC_PUMP_UHV, 8) + input(gear, Vibranium, 8) + input(screw, Taranium, 64) + input(plateDouble, CosmicNeutronium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 32)) + output(SPACE_PUMP_MK2) + EUt(VA[UHV]) + duration(2 * MINUTE) + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ADVANCED_FLUID_DRILLING_RIG, 4) + input(COVER_ENDER_FLUID_LINK, 8) + input(frameGt, Vibranium, 4) + input(circuit, Tier.UEV, 16) + input(ELECTRIC_PUMP_UHV, 8) + input(gear, Vibranium, 4) + input(screw, Taranium, 64) + fluidInputs(SolderingAlloy.getFluid(L * 32)) + fluidInputs(CosmicNeutronium.getFluid(L * 16)) + output(SPACE_PUMP_MK2) + EUt(VA[UHV]) + duration(2 * MINUTE) + stationResearch { + it.researchStack(SPACE_PUMP_MK1.stack()) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // Space Pump Module MK3 - ASSEMBLER_RECIPES.recipeBuilder() - .input(SPACE_PUMP_MK2, 4) - .input(frameGt, Infinity, 8) - .input(circuit, Tier.UIV, 16) - .input(ELECTRIC_PUMP_UEV, 8) - .input(gear, Infinity, 8) - .input(screw, Magnetium, 64) - .input(plateDouble, Rhugnor, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .output(SPACE_PUMP_MK3) - .EUt(VA[UEV]) - .duration(5 * MINUTE) - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ADVANCED_FLUID_DRILLING_RIG, 16) - .input(COVER_ENDER_FLUID_LINK, 32) - .input(frameGt, Infinity, 4) - .input(circuit, Tier.UIV, 16) - .input(ELECTRIC_PUMP_UEV, 8) - .input(gear, Infinity, 4) - .input(screw, Magnetium, 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(Rhugnor.getFluid(L * 32)) - .output(SPACE_PUMP_MK3) - .EUt(VA[UEV]) - .duration(5 * MINUTE) - .stationResearch { - it.researchStack(SPACE_PUMP_MK2.stackForm) + ASSEMBLER_RECIPES.addRecipe { + input(SPACE_PUMP_MK2, 4) + input(frameGt, Infinity, 8) + input(circuit, Tier.UIV, 16) + input(ELECTRIC_PUMP_UEV, 8) + input(gear, Infinity, 8) + input(screw, Magnetium, 64) + input(plateDouble, Rhugnor, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + output(SPACE_PUMP_MK3) + EUt(VA[UEV]) + duration(5 * MINUTE) + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ADVANCED_FLUID_DRILLING_RIG, 16) + input(COVER_ENDER_FLUID_LINK, 32) + input(frameGt, Infinity, 4) + input(circuit, Tier.UIV, 16) + input(ELECTRIC_PUMP_UEV, 8) + input(gear, Infinity, 4) + input(screw, Magnetium, 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(Rhugnor.getFluid(L * 32)) + output(SPACE_PUMP_MK3) + EUt(VA[UEV]) + duration(5 * MINUTE) + stationResearch { + it.researchStack(SPACE_PUMP_MK2.stack()) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() + } // Energy Infuser - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(ACTIVE_TRANSFORMER) - .inputs(ScienceCasing.MOLECULAR_COIL.getStack(8)) - .inputs(GTComputerCasing.HIGH_POWER_CASING.getStack(8)) - .input(screw, NeodymiumMagnetic, 16) - .fluidInputs(Electrum.getFluid(L * 18)) - .fluidInputs(Europium.getFluid(L * 13)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .output(ENERGY_INFUSER) - .EUt(100_000) // ZPM - .duration(5 * MINUTE) - .stationResearch { - it.researchStack(CHARGER[ZPM].stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(ACTIVE_TRANSFORMER) + inputs(ScienceCasing.MOLECULAR_COIL.getStack(8)) + inputs(GTComputerCasing.HIGH_POWER_CASING.getStack(8)) + input(screw, NeodymiumMagnetic, 16) + fluidInputs(Electrum.getFluid(L * 18)) + fluidInputs(Europium.getFluid(L * 13)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + output(ENERGY_INFUSER) + EUt(100_000) // ZPM + duration(5 * MINUTE) + stationResearch { + it.researchStack(CHARGER[ZPM].stack()) .EUt(VA[ZPM]) .CWUt(12) } - .buildAndRegister() + } // Entrodynamically Phase Changer - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(VOLCANUS, 64) - .input(VOLCANUS, 64) - .input(ALLOY_BLAST_SMELTER, 64) - .input(ALLOY_BLAST_SMELTER, 64) - .input(plateDense, SuperheavyAlloyA, 4) - .input(plateDense, SuperheavyAlloyB, 4) - .input(plateDense, Abyssalloy, 4) - .input(plateDense, CinobiteA243, 4) - .input(ELECTRIC_PUMP_UIV, 16) - .input(ELECTRIC_PISTON_UIV, 16) - .input(SUBSTATION_ENERGY_INPUT_HATCH[UIV], 8) - .input(POWER_TRANSFORMER[UIV], 8) - .input(circuit, Tier.UIV, 16) - .input(block, ArceusAlloy2B, 64) - .input(wireGtHex, QuantumchromodynamicallyConfinedMatter, 16) - .input(wireGtHex, FullereneSuperconductor, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 100)) - .fluidInputs(CosmicNeutronium.getFluid(L * 400)) - .fluidInputs(HalkoniteSteel.getFluid(L * 80)) - .fluidInputs(Shirabon.getFluid(L * 40)) - .output(ENTRODYNAMICALLY_PHASE_CHANGER) - .EUt(VA[UIV]) - .duration(5 * MINUTE) - .stationResearch { - it.researchStack(ANTIMATTER_GENERATOR.stackForm) + ASSEMBLY_LINE_RECIPES.addRecipe { + input(VOLCANUS, 64) + input(VOLCANUS, 64) + input(ALLOY_BLAST_SMELTER, 64) + input(ALLOY_BLAST_SMELTER, 64) + input(plateDense, SuperheavyAlloyA, 4) + input(plateDense, SuperheavyAlloyB, 4) + input(plateDense, Abyssalloy, 4) + input(plateDense, CinobiteA243, 4) + input(ELECTRIC_PUMP_UIV, 16) + input(ELECTRIC_PISTON_UIV, 16) + input(SUBSTATION_ENERGY_INPUT_HATCH[UIV], 8) + input(POWER_TRANSFORMER[UIV], 8) + input(circuit, Tier.UIV, 16) + input(block, ArceusAlloy2B, 64) + input(wireGtHex, QuantumchromodynamicallyConfinedMatter, 16) + input(wireGtHex, FullereneSuperconductor, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 100)) + fluidInputs(CosmicNeutronium.getFluid(L * 400)) + fluidInputs(HalkoniteSteel.getFluid(L * 80)) + fluidInputs(Shirabon.getFluid(L * 40)) + output(ENTRODYNAMICALLY_PHASE_CHANGER) + EUt(VA[UIV]) + duration(5 * MINUTE) + stationResearch { + it.researchStack(ANTIMATTER_GENERATOR.stack()) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // Large Acid Generator - ModHandler.addShapedRecipe(true, "large_acid_generator", LARGE_ACID_GENERATOR.stackForm, + ModHandler.addShapedRecipe(true, "large_acid_generator", LARGE_ACID_GENERATOR.stack(), "SDS", "PAP", "WQW", - 'A', ACID_GENERATOR[MV].stackForm, + 'A', ACID_GENERATOR[MV].stack(), 'D', UnificationEntry(plateDense, CobaltBrass), 'W', UnificationEntry(cableGtSingle, BlackSteel), 'S', UnificationEntry(spring, BlackBronze), @@ -1541,127 +1543,127 @@ internal object MachineRecipeLoader 'Q', UnificationEntry(pipeNormalFluid, Tungsten)) // Large Transformer - ModHandler.addShapedRecipe(true, "large_transformer", LARGE_TRANSFORMER.stackForm, + ModHandler.addShapedRecipe(true, "large_transformer", LARGE_TRANSFORMER.stack(), "VXV", "VTV", "VXV", - 'T', POWER_TRANSFORMER[HV].stackForm, + 'T', POWER_TRANSFORMER[HV].stack(), 'V', VOLTAGE_COIL_HV, 'X', UnificationEntry(circuit, Tier.HV)) // Hydraulic Fracker - ModHandler.addShapedRecipe(true, "hydraulic_fracker", HYDRAULIC_FRACKER.stackForm, + ModHandler.addShapedRecipe(true, "hydraulic_fracker", HYDRAULIC_FRACKER.stack(), "CLC", "GHG", "PPP", 'C', UnificationEntry(circuit, Tier.EV), 'L', UnificationEntry(pipeLargeFluid, Titanium), 'G', UnificationEntry(gear, TantalumCarbide), - 'H', HULL[EV].stackForm, + 'H', HULL[EV].stack(), 'P', ELECTRIC_PUMP_EV) // Plasma Arc Transmitter - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(ARC_FURNACE[UHV], 16) - .input(ALLOY_SMELTER[UHV], 16) - .input(LARGE_ARC_FURNACE, 64) - .input(plateDense, MetastableFlerovium, 4) - .input(ELECTRIC_PUMP_UHV, 16) - .input(circuit, Tier.UEV, 16) - .input(wireGtQuadruple, RutheniumTriniumAmericiumNeutronate, 8) - .fluidInputs(Oxygen.getPlasma(256_000)) - .output(PLASMA_ARC_TRANSMITTER) - .EUt(VA[UHV]) - .duration(2 * MINUTE + 30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(24) + input(ARC_FURNACE[UHV], 16) + input(ALLOY_SMELTER[UHV], 16) + input(LARGE_ARC_FURNACE, 64) + input(plateDense, MetastableFlerovium, 4) + input(ELECTRIC_PUMP_UHV, 16) + input(circuit, Tier.UEV, 16) + input(wireGtQuadruple, RutheniumTriniumAmericiumNeutronate, 8) + fluidInputs(Oxygen.getPlasma(256_000)) + output(PLASMA_ARC_TRANSMITTER) + EUt(VA[UHV]) + duration(2 * MINUTE + 30 * SECOND) + } // Electron-Phonon Coupling Accelerator - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(ELECTRIC_FURNACE[ZPM], 16) - .input(MULTI_FURNACE, 64) - .input(plateDense, NaquadahEnriched, 4) - .input(block, Firestone, 32) - .input(block, Coke, 32) - .input(circuit, Tier.ZPM, 8) - .input(wireGtDouble, UraniumRhodiumDinaquadide, 4) - .fluidInputs(Trinium.getFluid(L * 40)) - .output(EP_COUPLING_ACCELERATOR) - .EUt(VA[ZPM]) - .duration(2 * MINUTE + 30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(24) + input(ELECTRIC_FURNACE[ZPM], 16) + input(MULTI_FURNACE, 64) + input(plateDense, NaquadahEnriched, 4) + input(block, Firestone, 32) + input(block, Coke, 32) + input(circuit, Tier.ZPM, 8) + input(wireGtDouble, UraniumRhodiumDinaquadide, 4) + fluidInputs(Trinium.getFluid(L * 40)) + output(EP_COUPLING_ACCELERATOR) + EUt(VA[ZPM]) + duration(2 * MINUTE + 30 * SECOND) + } // Nano Assembly Complex - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(SPACE_ASSEMBLER_MK3, 16) - .input(COMPONENT_ASSEMBLY_LINE, 64) - .input(PCB_FACTORY, 64) - .input(CIRCUIT_ASSEMBLY_LINE, 64) - .input(ROBOT_ARM_UXV, 32) - .input(CONVEYOR_MODULE_UXV, 32) - .input(EMITTER_UXV, 32) - .input(circuit, Tier.OpV, 64) - .input(plateDense, MagMatter, 6) - .input(plateDense, Mellion, 6) - .input(gear, HarmonicPhononMatter, 16) - .input(gear, Legendarium, 16) - .input(gearSmall, SuperheavyAlloyA, 48) - .input(gearSmall, SuperheavyAlloyB, 48) - .input(nanite, TranscendentMetal, 64) - .input(wireGtHex, BoronFranciumCarbideSuperconductor, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 400)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(512000)) - .fluidInputs(Shirabon.getFluid(L * 200)) - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(L * 200)) - .output(NANO_ASSEMBLY_COMPLEX) - .EUt(VA[UXV]) - .duration(10 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(SPACE_ASSEMBLER_MK3, 16) + input(COMPONENT_ASSEMBLY_LINE, 64) + input(PCB_FACTORY, 64) + input(CIRCUIT_ASSEMBLY_LINE, 64) + input(ROBOT_ARM_UXV, 32) + input(CONVEYOR_MODULE_UXV, 32) + input(EMITTER_UXV, 32) + input(circuit, Tier.OpV, 64) + input(plateDense, MagMatter, 6) + input(plateDense, Mellion, 6) + input(gear, HarmonicPhononMatter, 16) + input(gear, Legendarium, 16) + input(gearSmall, SuperheavyAlloyA, 48) + input(gearSmall, SuperheavyAlloyB, 48) + input(nanite, TranscendentMetal, 64) + input(wireGtHex, BoronFranciumCarbideSuperconductor, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 400)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(512000)) + fluidInputs(Shirabon.getFluid(L * 200)) + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(L * 200)) + output(NANO_ASSEMBLY_COMPLEX) + EUt(VA[UXV]) + duration(10 * MINUTE) + stationResearch { it.researchStack(COMPONENT_ASSEMBLY_LINE) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // Integrated Ore Processor - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(MACERATOR[ZPM], 4) - .input(ORE_WASHER[ZPM], 4) - .input(CENTRIFUGE[ZPM], 4) - .input(THERMAL_CENTRIFUGE[ZPM], 4) - .input(SIFTER[ZPM], 4) - .input(CHEMICAL_BATH[ZPM], 4) - .input(circuit, Tier.UV, 2) - .input(ROBOT_ARM_ZPM, 8) - .input(plateDouble, HastelloyN, 16) - .input(rotor, VanadiumGallium, 32) - .input(pipeNormalItem, Osmiridium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(WatertightSteel.getFluid(L * 20)) - .fluidInputs(Grisium.getFluid(L * 20)) - .fluidInputs(Trinium.getFluid(L * 4)) - .output(INTEGRATED_ORE_PROCESSOR) - .EUt(VA[ZPM]) - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(MACERATOR[ZPM], 4) + input(ORE_WASHER[ZPM], 4) + input(CENTRIFUGE[ZPM], 4) + input(THERMAL_CENTRIFUGE[ZPM], 4) + input(SIFTER[ZPM], 4) + input(CHEMICAL_BATH[ZPM], 4) + input(circuit, Tier.UV, 2) + input(ROBOT_ARM_ZPM, 8) + input(plateDouble, HastelloyN, 16) + input(rotor, VanadiumGallium, 32) + input(pipeNormalItem, Osmiridium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(WatertightSteel.getFluid(L * 20)) + fluidInputs(Grisium.getFluid(L * 20)) + fluidInputs(Trinium.getFluid(L * 4)) + output(INTEGRATED_ORE_PROCESSOR) + EUt(VA[ZPM]) + duration(1 * MINUTE) + stationResearch { it.researchStack(COMPONENT_GRINDER_TUNGSTEN) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // Matter Reshaping Framework - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(FORGE_HAMMER[UV], 16) - .input(COMPRESSOR[UV], 16) - .input(LARGE_FLUID_SOLIDIFIER, 64) - .input(LARGE_EXTRACTOR, 64) - .input(circuit, Tier.UV, 16) - .input(spring, Bedrockium, 4) - .input(wireGtDouble, EnrichedNaquadahTriniumEuropiumDuranide, 8) - .fluidInputs(PreciousMetalAlloy.getFluid(L * 20)) - .output(MATTER_RESHAPING_FRAMEWORK) - .EUt(VA[UV]) - .duration(1 * MINUTE + 30 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(24) + input(FORGE_HAMMER[UV], 16) + input(COMPRESSOR[UV], 16) + input(LARGE_FLUID_SOLIDIFIER, 64) + input(LARGE_EXTRACTOR, 64) + input(circuit, Tier.UV, 16) + input(spring, Bedrockium, 4) + input(wireGtDouble, EnrichedNaquadahTriniumEuropiumDuranide, 8) + fluidInputs(PreciousMetalAlloy.getFluid(L * 20)) + output(MATTER_RESHAPING_FRAMEWORK) + EUt(VA[UV]) + duration(1 * MINUTE + 30 * SECOND) + } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MixerRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MixerRecipes.kt index 23eee72b5..2334b5409 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MixerRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MixerRecipes.kt @@ -15,7 +15,6 @@ import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.MIXER_RECIPES import gregtech.api.unification.material.Materials.Actinium import gregtech.api.unification.material.Materials.Air @@ -177,6 +176,8 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.LARGE_MIXER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Abyssalloy import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ActiniumGroupAlloyA @@ -286,1071 +287,1071 @@ internal object MixerRecipes fun init() { // Strontium Ferrite - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Strontium) - .input(dust, Iron, 12) - .fluidInputs(Oxygen.getFluid(19000)) - .output(dust, StrontiumFerrite, 32) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Strontium) + input(dust, Iron, 12) + fluidInputs(Oxygen.getFluid(19000)) + output(dust, StrontiumFerrite, 32) + EUt(VA[IV]) + duration(10 * SECOND) + } // ZBLAN Glass - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Zirconium, 5) - .input(dust, Barium, 2) - .input(dust, Lanthanum) - .input(dust, Aluminium) - .input(dust, Sodium, 2) - .fluidInputs(Fluorine.getFluid(6200)) - .output(dust, ZBLANGlass, 11) - .EUt(VA[HV]) - .duration(25 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Zirconium, 5) + input(dust, Barium, 2) + input(dust, Lanthanum) + input(dust, Aluminium) + input(dust, Sodium, 2) + fluidInputs(Fluorine.getFluid(6200)) + output(dust, ZBLANGlass, 11) + EUt(VA[HV]) + duration(25 * SECOND) + } // GST Glass - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Germanium, 2) - .input(dust, Antimony, 2) - .input(dust, Tellurium, 5) - .output(dust, GSTGlass, 9) - .EUt(VA[HV]) - .duration(12 * SECOND + 10) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Germanium, 2) + input(dust, Antimony, 2) + input(dust, Tellurium, 5) + output(dust, GSTGlass, 9) + EUt(VA[HV]) + duration(12 * SECOND + 10) + } // Samarium Cobalt - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Samarium) - .input(dust, Cobalt, 5) - .output(dust, SamariumCobalt, 6) - .EUt(VA[LuV]) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Samarium) + input(dust, Cobalt, 5) + output(dust, SamariumCobalt, 6) + EUt(VA[LuV]) + duration(5 * SECOND) + } // Sodium Potassium - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Sodium, 7) - .input(dust, Potassium, 3) - .output(dust, SodiumPotassiumEutatic, 10) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Sodium, 7) + input(dust, Potassium, 3) + output(dust, SodiumPotassiumEutatic, 10) + EUt(VA[LV]) + duration(10 * SECOND) + } // Eutatic Lead Bismuth - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Lead, 3) - .input(dust, Bismuth, 7) - .output(dust, LeadBismuthEutatic, 10) - .EUt(VA[MV].toLong()) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Lead, 3) + input(dust, Bismuth, 7) + output(dust, LeadBismuthEutatic, 10) + EUt(VA[MV].toLong()) + duration(5 * SECOND) + } // Lutetium Manganese Germanium - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Lutetium) - .input(dust, Manganese, 3) - .input(dust, Germanium, 6) - .output(dust, LutetiumManganeseGermanium, 10) - .EUt(VA[UV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Lutetium) + input(dust, Manganese, 3) + input(dust, Germanium, 6) + output(dust, LutetiumManganeseGermanium, 10) + EUt(VA[UV]) + duration(10 * SECOND) + } // Chromium Germanium Telluride - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Chrome) - .input(dust, Germanium) - .input(dust, Tellurium, 3) - .output(dust, ChromiumGermaniumTelluride, 5) - .EUt(VA[UV]) - .duration(45 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Chrome) + input(dust, Germanium) + input(dust, Tellurium, 3) + output(dust, ChromiumGermaniumTelluride, 5) + EUt(VA[UV]) + duration(45 * SECOND) + } // Woods Glass - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, SodaAsh, 6) - .input(dust, SiliconDioxide, 3) - .input(dust, BariumOxide, 2) - .input(dust, Garnierite, 2) - .output(dust, WoodsGlass, 13) - .EUt(VA[IV]) - .duration(45 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, SodaAsh, 6) + input(dust, SiliconDioxide, 3) + input(dust, BariumOxide, 2) + input(dust, Garnierite, 2) + output(dust, WoodsGlass, 13) + EUt(VA[IV]) + duration(45 * SECOND) + } // Mellion - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(dust, Rubidium, 11) - .input(dust, Tritanium, 11) - .input(dust, Adamantium, 7) - .input(dust, Firestone, 13) - .input(dust, MetastableOganesson, 13) - .input(dust, ActiniumSuperhydride, 8) - .fluidInputs(ResonantStrangeMeson.getFluid(1000)) - .output(dust, Mellion, 64) - .EUt(VA[UXV]) - .duration(1 * MINUTE) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(7) + input(dust, Rubidium, 11) + input(dust, Tritanium, 11) + input(dust, Adamantium, 7) + input(dust, Firestone, 13) + input(dust, MetastableOganesson, 13) + input(dust, ActiniumSuperhydride, 8) + fluidInputs(ResonantStrangeMeson.getFluid(1000)) + output(dust, Mellion, 64) + EUt(VA[UXV]) + duration(1 * MINUTE) + } // Kovar - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Invar, 15) - .input(dust, Cobalt, 3) - .output(dust, Kovar, 18) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Iron, 10) - .input(dust, Nickel, 5) - .input(dust, Cobalt, 3) - .output(dust, Kovar, 18) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Invar, 15) + input(dust, Cobalt, 3) + output(dust, Kovar, 18) + EUt(VH[LV]) + duration(10 * SECOND) + } + + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Iron, 10) + input(dust, Nickel, 5) + input(dust, Cobalt, 3) + output(dust, Kovar, 18) + EUt(VH[LV]) + duration(10 * SECOND) + } // Maraging Steel 250 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Iron, 16) - .input(dust, Molybdenum, 1) - .input(dust, Titanium, 1) - .input(dust, Nickel, 4) - .input(dust, Cobalt, 2) - .output(dust, MaragingSteel250, 24) - .EUt(VA[EV]) - .duration(25 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Iron, 16) + input(dust, Molybdenum, 1) + input(dust, Titanium, 1) + input(dust, Nickel, 4) + input(dust, Cobalt, 2) + output(dust, MaragingSteel250, 24) + EUt(VA[EV]) + duration(25 * SECOND) + } // Inconel-625 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Nickel, 3) - .input(dust, Chrome, 7) - .input(dust, Molybdenum, 10) - .input(dust, Invar, 10) - .input(dust, Nichrome, 13) - .output(dust, Inconel625, 48) - .EUt(VA[EV]) - .duration(20 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Nickel, 3) + input(dust, Chrome, 7) + input(dust, Molybdenum, 10) + input(dust, Invar, 10) + input(dust, Nichrome, 13) + output(dust, Inconel625, 48) + EUt(VA[EV]) + duration(20 * SECOND) + } // Staballoy - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Uranium, 9) - .input(dust, Titanium, 1) - .output(dust, Staballoy, 10) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Uranium, 9) + input(dust, Titanium, 1) + output(dust, Staballoy, 10) + EUt(VA[HV]) + duration(15 * SECOND) + } // Talonite - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Cobalt, 4) - .input(dust, Chrome, 3) - .input(dust, Phosphorus, 2) - .input(dust, Molybdenum, 1) - .output(dust, Talonite, 10) - .EUt(VA[HV]) - .duration(24 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Cobalt, 4) + input(dust, Chrome, 3) + input(dust, Phosphorus, 2) + input(dust, Molybdenum, 1) + output(dust, Talonite, 10) + EUt(VA[HV]) + duration(24 * SECOND) + } // Zeron-100 - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Chrome, 13) - .input(dust, Nickel, 3) - .input(dust, Molybdenum, 2) - .input(dust, Copper, 10) - .input(dust, Tungsten, 2) - .input(dust, Steel, 20) - .output(dust, Zeron100, 60) - .EUt(VA[IV]) - .duration(48 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Chrome, 13) + input(dust, Nickel, 3) + input(dust, Molybdenum, 2) + input(dust, Copper, 10) + input(dust, Tungsten, 2) + input(dust, Steel, 20) + output(dust, Zeron100, 60) + EUt(VA[IV]) + duration(48 * SECOND) + } // Watertight Steel - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Iron, 7) - .input(dust, Aluminium, 4) - .input(dust, Nickel, 2) - .input(dust, Chrome, 1) - .input(dust, Sulfur, 1) - .output(dust, WatertightSteel, 15) - .EUt(VA[HV]) - .duration(25 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Iron, 7) + input(dust, Aluminium, 4) + input(dust, Nickel, 2) + input(dust, Chrome, 1) + input(dust, Sulfur, 1) + output(dust, WatertightSteel, 15) + EUt(VA[HV]) + duration(25 * SECOND) + } // Stellite - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Cobalt, 9) - .input(dust, Chrome, 9) - .input(dust, Manganese, 5) - .input(dust, Titanium, 2) - .output(dust, Stellite, 25) - .EUt(VA[HV]) - .duration(18 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Cobalt, 9) + input(dust, Chrome, 9) + input(dust, Manganese, 5) + input(dust, Titanium, 2) + output(dust, Stellite, 25) + EUt(VA[HV]) + duration(18 * SECOND) + } // Tumbaga - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Gold, 7) - .input(dust, Bronze, 3) - .output(dust, Tumbaga, 10) - .EUt(VA[MV]) - .duration(14 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Gold, 7) + input(dust, Bronze, 3) + output(dust, Tumbaga, 10) + EUt(VA[MV]) + duration(14 * SECOND) + } // Eglin Steel Base - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Iron, 4) - .input(dust, Kanthal, 1) - .input(dust, Invar, 5) - .output(dust, EglinSteelBase, 10) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Iron, 4) + input(dust, Kanthal, 1) + input(dust, Invar, 5) + output(dust, EglinSteelBase, 10) + EUt(VA[MV]) + duration(5 * SECOND) + } // Eglin Steel - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, EglinSteelBase, 10) - .input(dust, Sulfur, 1) - .input(dust, Silicon, 1) - .input(dust, Carbon, 1) - .output(dust, EglinSteel, 13) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, EglinSteelBase, 10) + input(dust, Sulfur, 1) + input(dust, Silicon, 1) + input(dust, Carbon, 1) + output(dust, EglinSteel, 13) + EUt(VA[MV]) + duration(10 * SECOND) + } // One-Step recipe of Eglin Steel. - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Iron, 4) - .input(dust, Kanthal, 1) - .input(dust, Invar, 5) - .input(dust, Sulfur, 1) - .input(dust, Silicon, 1) - .input(dust, Carbon, 1) - .output(dust, EglinSteel, 13) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Iron, 4) + input(dust, Kanthal, 1) + input(dust, Invar, 5) + input(dust, Sulfur, 1) + input(dust, Silicon, 1) + input(dust, Carbon, 1) + output(dust, EglinSteel, 13) + EUt(VA[MV]) + duration(15 * SECOND) + } // Grisium - MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Titanium, 9) - .input(dust, Carbon, 9) - .input(dust, Potassium, 9) - .input(dust, Lithium, 9) - .input(dust, Sulfur, 9) - .fluidInputs(Hydrogen.getFluid(5000)) - .output(dust, Grisium, 50) - .EUt(VA[EV]) - .duration(38 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Titanium, 9) + input(dust, Carbon, 9) + input(dust, Potassium, 9) + input(dust, Lithium, 9) + input(dust, Sulfur, 9) + fluidInputs(Hydrogen.getFluid(5000)) + output(dust, Grisium, 50) + EUt(VA[EV]) + duration(38 * SECOND) + } // Babbit Alloy - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Tin, 5) - .input(dust, Lead, 36) - .input(dust, Antimony, 8) - .input(dust, Arsenic) - .output(dust, BabbitAlloy, 50) - .EUt(VA[MV]) - .duration(40 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Tin, 5) + input(dust, Lead, 36) + input(dust, Antimony, 8) + input(dust, Arsenic) + output(dust, BabbitAlloy, 50) + EUt(VA[MV]) + duration(40 * SECOND) + } // HSLA Steel - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Invar, 2) - .input(dust, Vanadium) - .input(dust, Titanium) - .input(dust, Molybdenum) - .output(dust, HSLASteel, 5) - .EUt(VA[HV]) - .duration(15 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Invar, 2) + input(dust, Vanadium) + input(dust, Titanium) + input(dust, Molybdenum) + output(dust, HSLASteel, 5) + EUt(VA[HV]) + duration(15 * SECOND) + } // Incoloy-MA813 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, VanadiumSteel, 4) - .input(dust, Niobium, 2) - .input(dust, Chrome, 3) - .input(dust, Nickel, 4) - .output(dust, IncoloyMA813, 13) - .EUt(VA[IV]) - .duration(22 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, VanadiumSteel, 4) + input(dust, Niobium, 2) + input(dust, Chrome, 3) + input(dust, Nickel, 4) + output(dust, IncoloyMA813, 13) + EUt(VA[IV]) + duration(22 * SECOND) + } // Monel-500 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Nickel, 23) - .input(dust, Manganese, 2) - .input(dust, Copper, 10) - .input(dust, Aluminium, 4) - .input(dust, Titanium) - .output(dust, Monel500, 40) - .EUt(VA[IV]) - .duration(56 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Nickel, 23) + input(dust, Manganese, 2) + input(dust, Copper, 10) + input(dust, Aluminium, 4) + input(dust, Titanium) + output(dust, Monel500, 40) + EUt(VA[IV]) + duration(56 * SECOND) + } // Incoloy-MA956 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Iron, 16) - .input(dust, Aluminium, 3) - .input(dust, Chrome, 5) - .input(dust, Yttrium) - .output(dust, IncoloyMA956, 25) - .EUt(VA[IV]) - .duration(34 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Iron, 16) + input(dust, Aluminium, 3) + input(dust, Chrome, 5) + input(dust, Yttrium) + output(dust, IncoloyMA956, 25) + EUt(VA[IV]) + duration(34 * SECOND) + } // Zirconium Carbide - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Zirconium) - .input(dust, Carbon) - .output(dust, ZirconiumCarbide, 2) - .EUt(VA[HV]) - .duration(18 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Zirconium) + input(dust, Carbon) + output(dust, ZirconiumCarbide, 2) + EUt(VA[HV]) + duration(18 * SECOND) + } // Tantalum Carbide - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Tantalum) - .input(dust, Carbon) - .output(dust, TantalumCarbide, 2) - .EUt(VA[EV]) - .duration(15 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Tantalum) + input(dust, Carbon) + output(dust, TantalumCarbide, 2) + EUt(VA[EV]) + duration(15 * SECOND) + } // Molybdenum Disilicide - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Molybdenum, 1) - .input(dust, Silicon, 2) - .output(dust, MolybdenumDisilicide, 3) - .EUt(VA[EV]) - .duration(16 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Molybdenum, 1) + input(dust, Silicon, 2) + output(dust, MolybdenumDisilicide, 3) + EUt(VA[EV]) + duration(16 * SECOND) + } // Hastelloy-C276 - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Nickel, 12) - .input(dust, Molybdenum, 8) - .input(dust, Chrome, 7) - .input(dust, Tungsten) - .input(dust, Cobalt) - .input(dust, Copper) - .output(dust, HastelloyC276, 30) - .EUt(VA[IV]) - .duration(45 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Nickel, 12) + input(dust, Molybdenum, 8) + input(dust, Chrome, 7) + input(dust, Tungsten) + input(dust, Cobalt) + input(dust, Copper) + output(dust, HastelloyC276, 30) + EUt(VA[IV]) + duration(45 * SECOND) + } // Hastelloy-X - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Nickel, 8) - .input(dust, Iron, 3) - .input(dust, Tungsten, 4) - .input(dust, Molybdenum, 2) - .input(dust, Chrome, 1) - .input(dust, Niobium, 1) - .output(dust, HastelloyX, 19) - .EUt(VA[IV]) - .duration(43 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Nickel, 8) + input(dust, Iron, 3) + input(dust, Tungsten, 4) + input(dust, Molybdenum, 2) + input(dust, Chrome, 1) + input(dust, Niobium, 1) + output(dust, HastelloyX, 19) + EUt(VA[IV]) + duration(43 * SECOND) + } // Hastelloy-N - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Yttrium, 2) - .input(dust, Molybdenum, 4) - .input(dust, Chrome, 2) - .input(dust, Titanium, 2) - .input(dust, Nickel, 15) - .output(dust, HastelloyN, 25) - .EUt(VA[IV]) - .duration(38 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Yttrium, 2) + input(dust, Molybdenum, 4) + input(dust, Chrome, 2) + input(dust, Titanium, 2) + input(dust, Nickel, 15) + output(dust, HastelloyN, 25) + EUt(VA[IV]) + duration(38 * SECOND) + } // Aluminium Bronze - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Aluminium, 2) - .input(dust, Manganese) - .input(dust, Bronze) - .output(dust, AluminiumBronze, 4) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Aluminium, 2) + input(dust, Manganese) + input(dust, Bronze) + output(dust, AluminiumBronze, 4) + EUt(VA[MV]) + duration(15 * SECOND) + } // Rene N5 - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Nickel, 22) - .input(dust, Cobalt, 4) - .input(dust, Chrome, 3) - .input(dust, Aluminium, 3) - .input(dust, Tungsten, 2) - .input(dust, Hafnium) - .input(dust, Rhenium, 2) - .input(dust, Tantalum, 3) - .output(dust, ReneN5, 40) - .EUt(VA[LuV]) - .duration(40 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Nickel, 22) + input(dust, Cobalt, 4) + input(dust, Chrome, 3) + input(dust, Aluminium, 3) + input(dust, Tungsten, 2) + input(dust, Hafnium) + input(dust, Rhenium, 2) + input(dust, Tantalum, 3) + output(dust, ReneN5, 40) + EUt(VA[LuV]) + duration(40 * SECOND) + } // Titanium Carbide - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Titanium, 1) - .input(dust, Carbon, 1) - .output(dust, TitaniumCarbide, 2) - .EUt(VA[HV]) - .duration(20 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Titanium, 1) + input(dust, Carbon, 1) + output(dust, TitaniumCarbide, 2) + EUt(VA[HV]) + duration(20 * SECOND) + } // Titanium Tungsten Carbide - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, TungstenCarbide, 1) - .input(dust, TitaniumCarbide, 2) - .output(dust, TitaniumTungstenCarbide, 3) - .EUt(VA[EV]) - .duration(24 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, TungstenCarbide, 1) + input(dust, TitaniumCarbide, 2) + output(dust, TitaniumTungstenCarbide, 3) + EUt(VA[EV]) + duration(24 * SECOND) + } // Trinaquadalloy - MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Trinium, 6) - .input(dust, Naquadah, 2) - .input(dust, Carbon) - .output(dust, Trinaquadalloy, 9) - .EUt(VA[ZPM]) - .duration(25 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Trinium, 6) + input(dust, Naquadah, 2) + input(dust, Carbon) + output(dust, Trinaquadalloy, 9) + EUt(VA[ZPM]) + duration(25 * SECOND) + } // Enriched Naquadah Alloy - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, NaquadahEnriched, 4) - .input(dust, Ruridit, 2) - .input(dust, Rutherfordium) - .output(dust, EnrichedNaquadahAlloy, 7) - .EUt(VA[ZPM]) - .duration(40 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, NaquadahEnriched, 4) + input(dust, Ruridit, 2) + input(dust, Rutherfordium) + output(dust, EnrichedNaquadahAlloy, 7) + EUt(VA[ZPM]) + duration(40 * SECOND) + } // HDCS - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, TungstenSteel, 12) - .input(dust, HSSS, 9) - .input(dust, HSSG, 6) - .input(dust, Ruridit, 3) - .input(dust, MagnetoResonatic, 2) - .input(dust, Plutonium241) - .output(dust, HDCS, 33) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, TungstenSteel, 12) + input(dust, HSSS, 9) + input(dust, HSSG, 6) + input(dust, Ruridit, 3) + input(dust, MagnetoResonatic, 2) + input(dust, Plutonium241) + output(dust, HDCS, 33) + EUt(VA[UHV]) + duration(20 * SECOND) + } // Titan Steel - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, TitaniumTungstenCarbide, 3) - .input(dust, Jasper, 3) - .input(dust, Tritanium, 2) - .output(dust, TitanSteel, 8) - .EUt(VA[UHV]) - .duration(35 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, TitaniumTungstenCarbide, 3) + input(dust, Jasper, 3) + input(dust, Tritanium, 2) + output(dust, TitanSteel, 8) + EUt(VA[UHV]) + duration(35 * SECOND) + } // Tairitsium - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, TungstenSteel, 8) - .input(dust, Naquadria, 7) - .input(dust, Bedrockium, 4) - .input(dust, Carbon, 4) - .input(dust, VanadiumSteel, 3) - .input(dust, Francium) - .output(dust, Tairitsium, 26) - .EUt(VA[UHV]) - .duration(40 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, TungstenSteel, 8) + input(dust, Naquadria, 7) + input(dust, Bedrockium, 4) + input(dust, Carbon, 4) + input(dust, VanadiumSteel, 3) + input(dust, Francium) + output(dust, Tairitsium, 26) + EUt(VA[UHV]) + duration(40 * SECOND) + } // Hastelloy-X78 - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, NaquadahAlloy, 10) - .input(dust, Rhenium, 5) - .input(dust, Naquadria, 4) - .input(dust, Gadolinium, 3) - .input(dust, Strontium, 2) - .input(dust, Polonium, 3) - .input(dust, Rutherfordium, 2) - .input(dust, Fermium) - .output(dust, HastelloyX78, 30) - .EUt(VA[UHV]) - .duration(40 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, NaquadahAlloy, 10) + input(dust, Rhenium, 5) + input(dust, Naquadria, 4) + input(dust, Gadolinium, 3) + input(dust, Strontium, 2) + input(dust, Polonium, 3) + input(dust, Rutherfordium, 2) + input(dust, Fermium) + output(dust, HastelloyX78, 30) + EUt(VA[UHV]) + duration(40 * SECOND) + } // Hastelloy-K243 - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, HastelloyX78, 5) - .input(dust, NiobiumNitride, 2) - .input(dust, Tritanium, 4) - .input(dust, TungstenCarbide, 4) - .input(dust, Promethium, 4) - .input(dust, Mendelevium) - .output(dust, HastelloyK243, 20) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 20 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, HastelloyX78, 5) + input(dust, NiobiumNitride, 2) + input(dust, Tritanium, 4) + input(dust, TungstenCarbide, 4) + input(dust, Promethium, 4) + input(dust, Mendelevium) + output(dust, HastelloyK243, 20) + EUt(VA[UEV]) + duration(1 * MINUTE + 20 * SECOND) + } // Pikyonium 64B - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Inconel718, 8) - .input(dust, EglinSteel, 5) - .input(dust, NaquadahEnriched, 4) - .input(dust, TungstenSteel, 4) - .input(dust, Cerium, 3) - .input(dust, Antimony, 2) - .input(dust, Platinum, 2) - .input(dust, Ytterbium) - .output(dust, Pikyonium64B, 29) - .EUt(VA[UV]) - .duration(45 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Inconel718, 8) + input(dust, EglinSteel, 5) + input(dust, NaquadahEnriched, 4) + input(dust, TungstenSteel, 4) + input(dust, Cerium, 3) + input(dust, Antimony, 2) + input(dust, Platinum, 2) + input(dust, Ytterbium) + output(dust, Pikyonium64B, 29) + EUt(VA[UV]) + duration(45 * SECOND) + } // Arceus Alloy 2B - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(dust, Pikyonium64B, 6) - .input(dust, Vibranium, 4) - .input(dust, Osmiridium, 2) - .input(dust, Lawrencium, 3) - .input(dust, Thallium, 2) - .input(dust, Astatine, 2) - .input(dust, Trinium) - .output(dust, ArceusAlloy2B, 20) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 25 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(7) + input(dust, Pikyonium64B, 6) + input(dust, Vibranium, 4) + input(dust, Osmiridium, 2) + input(dust, Lawrencium, 3) + input(dust, Thallium, 2) + input(dust, Astatine, 2) + input(dust, Trinium) + output(dust, ArceusAlloy2B, 20) + EUt(VA[UEV]) + duration(1 * MINUTE + 25 * SECOND) + } // Vibranium Tritanium Actinium Iron Superhydride - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Vibranium, 5) - .input(dust, Tritanium, 5) - .input(dust, ActiniumSuperhydride) - .input(dust, BETSPerrhenate) - .fluidInputs(Iron.getPlasma(L)) - .output(dust, VibraniumTritaniumActiniumIronSuperhydride, 13) - .EUt(VA[UEV]) - .duration(40 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Vibranium, 5) + input(dust, Tritanium, 5) + input(dust, ActiniumSuperhydride) + input(dust, BETSPerrhenate) + fluidInputs(Iron.getPlasma(L)) + output(dust, VibraniumTritaniumActiniumIronSuperhydride, 13) + EUt(VA[UEV]) + duration(40 * SECOND) + } // Hafnium Carbide - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Hafnium) - .input(dust, Carbon) - .output(dust, HafniumCarbide, 2) - .EUt(VA[EV]) - .duration(20 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Hafnium) + input(dust, Carbon) + output(dust, HafniumCarbide, 2) + EUt(VA[EV]) + duration(20 * SECOND) + } // Seaborgium Carbide - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Seaborgium) - .input(dust, Carbon) - .output(dust, SeaborgiumCarbide, 2) - .EUt(VA[ZPM]) - .duration(40 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Seaborgium) + input(dust, Carbon) + output(dust, SeaborgiumCarbide, 2) + EUt(VA[ZPM]) + duration(40 * SECOND) + } // Superheavy Alloy (Light) - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Rutherfordium) - .input(dust, Dubnium) - .input(dust, Seaborgium) - .input(dust, Bohrium) - .input(dust, MetastableHassium) - .input(dust, Meitnerium) - .input(dust, Darmstadtium) - .input(dust, Roentgenium) - .output(dust, SuperheavyAlloyA, 8) - .EUt(VA[UEV]) - .duration(1 * MINUTE + 20 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Rutherfordium) + input(dust, Dubnium) + input(dust, Seaborgium) + input(dust, Bohrium) + input(dust, MetastableHassium) + input(dust, Meitnerium) + input(dust, Darmstadtium) + input(dust, Roentgenium) + output(dust, SuperheavyAlloyA, 8) + EUt(VA[UEV]) + duration(1 * MINUTE + 20 * SECOND) + } // Superheavy Alloy (Heavy) - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Copernicium) - .input(dust, Nihonium) - .input(dust, MetastableFlerovium) - .input(dust, Moscovium) - .input(dust, Livermorium) - .input(dust, Tennessine) - .input(dust, MetastableOganesson) - .output(dust, SuperheavyAlloyB, 7) - .EUt(VA[UIV]) - .duration(2 * MINUTE + 40 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Copernicium) + input(dust, Nihonium) + input(dust, MetastableFlerovium) + input(dust, Moscovium) + input(dust, Livermorium) + input(dust, Tennessine) + input(dust, MetastableOganesson) + output(dust, SuperheavyAlloyB, 7) + EUt(VA[UIV]) + duration(2 * MINUTE + 40 * SECOND) + } // Precious Metal Alloy - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Ruthenium) - .input(dust, Rhodium) - .input(dust, Palladium) - .input(dust, Silver) - .input(dust, Osmium) - .input(dust, Iridium) - .input(dust, Platinum) - .input(dust, Gold) - .output(dust, PreciousMetalAlloy, 8) - .EUt(VA[UV]) - .duration(1 * MINUTE + 30 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Ruthenium) + input(dust, Rhodium) + input(dust, Palladium) + input(dust, Silver) + input(dust, Osmium) + input(dust, Iridium) + input(dust, Platinum) + input(dust, Gold) + output(dust, PreciousMetalAlloy, 8) + EUt(VA[UV]) + duration(1 * MINUTE + 30 * SECOND) + } // Nitinol 60 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Nickel, 2) - .input(dust, Titanium, 3) - .output(dust, Nitinol60, 5) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Nickel, 2) + input(dust, Titanium, 3) + output(dust, Nitinol60, 5) + EUt(VA[EV]) + duration(10 * SECOND) + } // Abyssal Alloy - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, StainlessSteel, 5) - .input(dust, TungstenCarbide, 5) - .input(dust, Nichrome, 5) - .input(dust, Bronze, 5) - .input(dust, IncoloyMA956, 5) - .input(dust, Iodine) - .input(dust, Germanium) - .fluidInputs(Radon.getFluid(1000)) - .output(dust, Abyssalloy, 28) - .EUt(VA[UIV]) - .duration(2 * MINUTE + 30 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, StainlessSteel, 5) + input(dust, TungstenCarbide, 5) + input(dust, Nichrome, 5) + input(dust, Bronze, 5) + input(dust, IncoloyMA956, 5) + input(dust, Iodine) + input(dust, Germanium) + fluidInputs(Radon.getFluid(1000)) + output(dust, Abyssalloy, 28) + EUt(VA[UIV]) + duration(2 * MINUTE + 30 * SECOND) + } // Fullerene Superconductor - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, TitanSteel, 16) - .input(dust, LanthanumFullereneNanotube, 4) - .input(dust, SeaborgiumDopedCarbonNanotube, 4) - .input(dust, MetastableOganesson, 3) - .fluidInputs(Xenon.getPlasma(1000)) - .output(dust, FullereneSuperconductor, 28) - .EUt(VA[UIV]) - .duration(3 * MINUTE) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, TitanSteel, 16) + input(dust, LanthanumFullereneNanotube, 4) + input(dust, SeaborgiumDopedCarbonNanotube, 4) + input(dust, MetastableOganesson, 3) + fluidInputs(Xenon.getPlasma(1000)) + output(dust, FullereneSuperconductor, 28) + EUt(VA[UIV]) + duration(3 * MINUTE) + } // Lanthanum Group Alloy (Light) - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Lanthanum) - .input(dust, Cerium) - .input(dust, Praseodymium) - .input(dust, Neodymium) - .input(dust, Promethium) - .input(dust, Samarium) - .input(dust, Europium) - .input(dust, Gadolinium) - .output(dust, LanthanumGroupAlloyA, 8) - .EUt(VA[UHV]) - .duration(45 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Lanthanum) + input(dust, Cerium) + input(dust, Praseodymium) + input(dust, Neodymium) + input(dust, Promethium) + input(dust, Samarium) + input(dust, Europium) + input(dust, Gadolinium) + output(dust, LanthanumGroupAlloyA, 8) + EUt(VA[UHV]) + duration(45 * SECOND) + } // Lanthanum Group Alloy (Heavy) - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Terbium) - .input(dust, Dysprosium) - .input(dust, Holmium) - .input(dust, Erbium) - .input(dust, Thulium) - .input(dust, Ytterbium) - .input(dust, Lutetium) - .input(dust, Scandium) - .output(dust, LanthanumGroupAlloyB, 8) - .EUt(VA[UHV]) - .duration(1 * MINUTE) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Terbium) + input(dust, Dysprosium) + input(dust, Holmium) + input(dust, Erbium) + input(dust, Thulium) + input(dust, Ytterbium) + input(dust, Lutetium) + input(dust, Scandium) + output(dust, LanthanumGroupAlloyB, 8) + EUt(VA[UHV]) + duration(1 * MINUTE) + } // Actinium Group Alloy (Light) - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Actinium) - .input(dust, Thorium) - .input(dust, Protactinium) - .input(dust, Uranium) - .input(dust, Neptunium) - .input(dust, Plutonium239) - .input(dust, Americium) - .input(dust, Curium) - .output(dust, ActiniumGroupAlloyA, 8) - .EUt(VA[UHV]) - .duration(1 * MINUTE) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Actinium) + input(dust, Thorium) + input(dust, Protactinium) + input(dust, Uranium) + input(dust, Neptunium) + input(dust, Plutonium239) + input(dust, Americium) + input(dust, Curium) + output(dust, ActiniumGroupAlloyA, 8) + EUt(VA[UHV]) + duration(1 * MINUTE) + } // Actinium Group Alloy (Heavy) - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Berkelium) - .input(dust, Californium) - .input(dust, Einsteinium) - .input(dust, Fermium) - .input(dust, Mendelevium) - .input(dust, Nobelium) - .input(dust, Lawrencium) - .input(dust, Yttrium) - .output(dust, ActiniumGroupAlloyB, 8) - .EUt(VA[UHV]) - .duration(1 * MINUTE) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Berkelium) + input(dust, Californium) + input(dust, Einsteinium) + input(dust, Fermium) + input(dust, Mendelevium) + input(dust, Nobelium) + input(dust, Lawrencium) + input(dust, Yttrium) + output(dust, ActiniumGroupAlloyB, 8) + EUt(VA[UHV]) + duration(1 * MINUTE) + } // Cinobite A243 - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Zeron100, 8) - .input(dust, Naquadria, 4) - .input(dust, Gadolinium, 3) - .input(dust, Aluminium, 2) - .input(dust, Tin) - .input(dust, Titanium, 6) - .input(dust, Osmiridium) - .fluidInputs(Mercury.getFluid(1000)) - .output(dust, CinobiteA243, 26) - .EUt(VA[UEV]) - .duration(35 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Zeron100, 8) + input(dust, Naquadria, 4) + input(dust, Gadolinium, 3) + input(dust, Aluminium, 2) + input(dust, Tin) + input(dust, Titanium, 6) + input(dust, Osmiridium) + fluidInputs(Mercury.getFluid(1000)) + output(dust, CinobiteA243, 26) + EUt(VA[UEV]) + duration(35 * SECOND) + } // Alkali Group Alloy - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Lithium) - .input(dust, Sodium) - .input(dust, Potassium) - .input(dust, Rubidium) - .input(dust, Caesium) - .input(dust, Francium) - .output(dust, AlkaliGroupAlloy, 6) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Lithium) + input(dust, Sodium) + input(dust, Potassium) + input(dust, Rubidium) + input(dust, Caesium) + input(dust, Francium) + output(dust, AlkaliGroupAlloy, 6) + EUt(VA[IV]) + duration(10 * SECOND) + } // Alkali Earth Group Alloy - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(dust, Beryllium) - .input(dust, Magnesium) - .input(dust, Calcium) - .input(dust, Strontium) - .input(dust, Barium) - .input(dust, Radium) - .output(dust, AlkaliEarthGroupAlloy, 6) - .EUt(VA[LuV]) - .duration(20 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + input(dust, Beryllium) + input(dust, Magnesium) + input(dust, Calcium) + input(dust, Strontium) + input(dust, Barium) + input(dust, Radium) + output(dust, AlkaliEarthGroupAlloy, 6) + EUt(VA[LuV]) + duration(20 * SECOND) + } // Light Transition Alloy - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Titanium) - .input(dust, Vanadium) - .input(dust, Chrome) - .input(dust, Manganese) - .input(dust, Iron) - .input(dust, Cobalt) - .input(dust, Nickel) - .input(dust, Copper) - .output(dust, TransitionAlloyA, 8) - .EUt(VA[ZPM]) - .duration(40 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Titanium) + input(dust, Vanadium) + input(dust, Chrome) + input(dust, Manganese) + input(dust, Iron) + input(dust, Cobalt) + input(dust, Nickel) + input(dust, Copper) + output(dust, TransitionAlloyA, 8) + EUt(VA[ZPM]) + duration(40 * SECOND) + } // Heavy Transition Alloy - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Aluminium) - .input(dust, Zinc) - .input(dust, Gallium) - .input(dust, Germanium) - .input(dust, Cadmium) - .input(dust, Indium) - .input(dust, Tin) - .input(dust, Antimony) - .output(dust, TransitionAlloyB, 8) - .EUt(VA[ZPM]) - .duration(40 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Aluminium) + input(dust, Zinc) + input(dust, Gallium) + input(dust, Germanium) + input(dust, Cadmium) + input(dust, Indium) + input(dust, Tin) + input(dust, Antimony) + output(dust, TransitionAlloyB, 8) + EUt(VA[ZPM]) + duration(40 * SECOND) + } // Transition Alloy - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, TransitionAlloyA, 8) - .input(dust, TransitionAlloyB, 8) - .output(dust, TransitionAlloy, 16) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, TransitionAlloyA, 8) + input(dust, TransitionAlloyB, 8) + output(dust, TransitionAlloy, 16) + EUt(VA[MV]) + duration(10 * SECOND) + } // Refractory Alloy - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Zirconium) - .input(dust, Niobium) - .input(dust, Molybdenum) - .input(dust, Technetium) - .input(dust, Hafnium) - .input(dust, Tantalum) - .input(dust, Tungsten) - .input(dust, Rhenium) - .output(dust, RefractoryAlloy, 8) - .EUt(VA[UV]) - .duration(1 * MINUTE + 20 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Zirconium) + input(dust, Niobium) + input(dust, Molybdenum) + input(dust, Technetium) + input(dust, Hafnium) + input(dust, Tantalum) + input(dust, Tungsten) + input(dust, Rhenium) + output(dust, RefractoryAlloy, 8) + EUt(VA[UV]) + duration(1 * MINUTE + 20 * SECOND) + } // Toxic Alloy - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Arsenic) - .input(dust, Tellurium) - .input(dust, Thallium) - .input(dust, Lead) - .input(dust, Bismuth) - .input(dust, Polonium) - .input(dust, Astatine) - .fluidInputs(Mercury.getFluid(1000)) - .output(dust, ToxicAlloy, 8) - .EUt(VA[UHV]) - .duration(1 * MINUTE + 40 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Arsenic) + input(dust, Tellurium) + input(dust, Thallium) + input(dust, Lead) + input(dust, Bismuth) + input(dust, Polonium) + input(dust, Astatine) + fluidInputs(Mercury.getFluid(1000)) + output(dust, ToxicAlloy, 8) + EUt(VA[UHV]) + duration(1 * MINUTE + 40 * SECOND) + } // Rare Earth Alloy - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, LanthanumGroupAlloyA, 8) - .input(dust, LanthanumGroupAlloyB, 8) - .input(dust, ActiniumGroupAlloyA, 8) - .input(dust, ActiniumGroupAlloyB, 8) - .output(dust, RareEarthAlloy, 32) - .EUt(VA[IV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, LanthanumGroupAlloyA, 8) + input(dust, LanthanumGroupAlloyB, 8) + input(dust, ActiniumGroupAlloyA, 8) + input(dust, ActiniumGroupAlloyB, 8) + output(dust, RareEarthAlloy, 32) + EUt(VA[IV]) + duration(2 * SECOND + 10 * TICK) + } // Light Non-Metallic Mixture - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .fluidInputs(Hydrogen.getFluid(1000)) - .fluidInputs(Nitrogen.getFluid(1000)) - .fluidInputs(Oxygen.getFluid(1000)) - .fluidInputs(Fluorine.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(1000)) - .fluidInputs(Bromine.getFluid(1000)) - .fluidOutputs(NonMetallicMixtureA.getFluid(6000)) - .EUt(VA[LuV]) - .duration(45 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + fluidInputs(Hydrogen.getFluid(1000)) + fluidInputs(Nitrogen.getFluid(1000)) + fluidInputs(Oxygen.getFluid(1000)) + fluidInputs(Fluorine.getFluid(1000)) + fluidInputs(Chlorine.getFluid(1000)) + fluidInputs(Bromine.getFluid(1000)) + fluidOutputs(NonMetallicMixtureA.getFluid(6000)) + EUt(VA[LuV]) + duration(45 * SECOND) + } // Heavy Non-Metallic Mixture - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(dust, Boron) - .input(dust, Carbon) - .input(dust, Silicon) - .input(dust, Phosphorus) - .input(dust, Sulfur) - .input(dust, Selenium) - .input(dust, Iodine) - .fluidOutputs(NonMetallicMixtureB.getFluid(7000)) - .EUt(VA[LuV]) - .duration(45 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(7) + input(dust, Boron) + input(dust, Carbon) + input(dust, Silicon) + input(dust, Phosphorus) + input(dust, Sulfur) + input(dust, Selenium) + input(dust, Iodine) + fluidOutputs(NonMetallicMixtureB.getFluid(7000)) + EUt(VA[LuV]) + duration(45 * SECOND) + } // Noble Gas Mixture - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(6) - .fluidInputs(Helium.getFluid(1000)) - .fluidInputs(Neon.getFluid(1000)) - .fluidInputs(Argon.getFluid(1000)) - .fluidInputs(Krypton.getFluid(1000)) - .fluidInputs(Xenon.getFluid(1000)) - .fluidInputs(Radon.getFluid(1000)) - .fluidOutputs(NobleGasMixture.getFluid(6000)) - .EUt(VA[ZPM]) - .duration(1 * MINUTE) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(6) + fluidInputs(Helium.getFluid(1000)) + fluidInputs(Neon.getFluid(1000)) + fluidInputs(Argon.getFluid(1000)) + fluidInputs(Krypton.getFluid(1000)) + fluidInputs(Xenon.getFluid(1000)) + fluidInputs(Radon.getFluid(1000)) + fluidOutputs(NobleGasMixture.getFluid(6000)) + EUt(VA[ZPM]) + duration(1 * MINUTE) + } // Periodicium - LARGE_MIXER_RECIPES.recipeBuilder() - .input(dust, AlkaliGroupAlloy, 6) // Li Na K Rb Cs Fr - .input(dust, AlkaliEarthGroupAlloy, 6) // Be Mg Ca Sr Ba Ra - .input(dust, TransitionAlloy, 16) // Ti V Cr Mn Fe Co Ni Cu - // Al Zn Ga Ge Cd In Sn Sb - .input(dust, RefractoryAlloy, 8) // Zr Nb Mo Tc Hf Ta W Re - .input(dust, PreciousMetalAlloy, 8) // Ru Rh Pd Ag Os Ir Pt Au - .input(dust, ToxicAlloy, 8) // As Te Hg Tl Pb Bi Po At - .input(dust, RareEarthAlloy, 32) // La Ce Pr Nd Pm Sm Eu Ga - // Tb Dy Ho Er Tm Yb Lu Sc - // Ac Th Pa U Np Pu Am Cm - // Bk Cf Es Fm Md No Lr Y - .input(dust, SuperheavyAlloyA, 8) // Rf Db Sg Bh Hs Mt Ds Rg - .input(dust, SuperheavyAlloyB, 7) // Cn Nh Fl Mc Lv Ts Og - .fluidInputs(NonMetallicMixtureA.getFluid(6000)) // H N O F Cl Br - .fluidInputs(NonMetallicMixtureB.getFluid(7000)) // B C Si P S Se I - .fluidInputs(NobleGasMixture.getFluid(6000)) // He Ne Ar Kr Xe Rn - .output(dust, Periodicium, 118) - .EUt(VA[UXV]) - .duration(1 * MINUTE) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + input(dust, AlkaliGroupAlloy, 6) // Li Na K Rb Cs Fr + input(dust, AlkaliEarthGroupAlloy, 6) // Be Mg Ca Sr Ba Ra + input(dust, TransitionAlloy, 16) // Ti V Cr Mn Fe Co Ni Cu + // Al Zn Ga Ge Cd In Sn Sb + input(dust, RefractoryAlloy, 8) // Zr Nb Mo Tc Hf Ta W Re + input(dust, PreciousMetalAlloy, 8) // Ru Rh Pd Ag Os Ir Pt Au + input(dust, ToxicAlloy, 8) // As Te Hg Tl Pb Bi Po At + input(dust, RareEarthAlloy, 32) // La Ce Pr Nd Pm Sm Eu Ga + // Tb Dy Ho Er Tm Yb Lu Sc + // Ac Th Pa U Np Pu Am Cm + // Bk Cf Es Fm Md No Lr Y + input(dust, SuperheavyAlloyA, 8) // Rf Db Sg Bh Hs Mt Ds Rg + input(dust, SuperheavyAlloyB, 7) // Cn Nh Fl Mc Lv Ts Og + fluidInputs(NonMetallicMixtureA.getFluid(6000)) // H N O F Cl Br + fluidInputs(NonMetallicMixtureB.getFluid(7000)) // B C Si P S Se I + fluidInputs(NobleGasMixture.getFluid(6000)) // He Ne Ar Kr Xe Rn + output(dust, Periodicium, 118) + EUt(VA[UXV]) + duration(1 * MINUTE) + } // Legendarium - LARGE_MIXER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(dust, Naquadria) - .input(dust, Trinium) - .input(dust, Duranium) - .input(dust, Tritanium) - .input(dust, Neutronium) - .input(dust, Adamantium) - .input(dust, Vibranium) - .input(dust, Taranium) - .output(dust, Legendarium, 8) - .EUt(VA[UXV]) - .duration(1 * MINUTE + 30 * SECOND) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + circuitMeta(8) + input(dust, Naquadria) + input(dust, Trinium) + input(dust, Duranium) + input(dust, Tritanium) + input(dust, Neutronium) + input(dust, Adamantium) + input(dust, Vibranium) + input(dust, Taranium) + output(dust, Legendarium, 8) + EUt(VA[UXV]) + duration(1 * MINUTE + 30 * SECOND) + } // Blazing Pyrotheum - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Blaze, 2) - .input(dust, Redstone) - .input(dust, Sulfur) - .output(dust, BlazingPyrotheum, 4) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Blaze, 2) + input(dust, Redstone) + input(dust, Sulfur) + output(dust, BlazingPyrotheum, 4) + EUt(VA[MV]) + duration(6 * SECOND) + } // Gelid Cryotheum - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Ice, 2) - .input(dust, Electrotine) - .fluidInputs(Water.getFluid(1000)) - .output(dust, GelidCryotheum, 4) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Ice, 2) + input(dust, Electrotine) + fluidInputs(Water.getFluid(1000)) + output(dust, GelidCryotheum, 4) + EUt(VA[MV]) + duration(6 * SECOND) + } // Tectonic Petrotheum - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Clay, 2) - .input(dust, Obsidian) - .input(dust, Stone) - .output(dust, TectonicPetrotheum, 4) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Clay, 2) + input(dust, Obsidian) + input(dust, Stone) + output(dust, TectonicPetrotheum, 4) + EUt(VA[MV]) + duration(6 * SECOND) + } // Zephyrean Aerotheum - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(SAND_DUST, 2) - .input(dust, Saltpeter) - .fluidInputs(Air.getFluid(1000)) - .output(dust, ZephyreanAerotheum, 4) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(SAND_DUST, 2) + input(dust, Saltpeter) + fluidInputs(Air.getFluid(1000)) + output(dust, ZephyreanAerotheum, 4) + EUt(VA[MV]) + duration(6 * SECOND) + } // UU Matter - LARGE_MIXER_RECIPES.recipeBuilder() - .fluidInputs(BosonicUUMatter.getFluid(1000)) - .fluidInputs(FermionicUUMatter.getFluid(1000)) - .fluidInputs(FreeElectronGas.getFluid(2000)) - .fluidOutputs(UUMatter.getFluid(1000)) - .EUt(VA[IV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + LARGE_MIXER_RECIPES.addRecipe { + fluidInputs(BosonicUUMatter.getFluid(1000)) + fluidInputs(FermionicUUMatter.getFluid(1000)) + fluidInputs(FreeElectronGas.getFluid(2000)) + fluidOutputs(UUMatter.getFluid(1000)) + EUt(VA[IV]) + duration(5 * SECOND) + cleanroom() + } // Fracturing Fluid - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Alumina) - .input(dust, Iodine) - .input(SAND_DUST, 3) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(FracturingFluid.getFluid(1000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Alumina) - .input(dust, Iodine) - .input(SAND_DUST, 3) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(FracturingFluid.getFluid(1000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Alumina) + input(dust, Iodine) + input(SAND_DUST, 3) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(FracturingFluid.getFluid(1000)) + EUt(VA[EV]) + duration(5 * SECOND) + } + + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Alumina) + input(dust, Iodine) + input(SAND_DUST, 3) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(FracturingFluid.getFluid(1000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // Potin - MIXER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(dust, Bronze, 8) - .input(dust, Lead) - .output(dust, Potin, 9) - .EUt(VH[LV]) - .duration(20 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(5) + input(dust, Bronze, 8) + input(dust, Lead) + output(dust, Potin, 9) + EUt(VH[LV]) + duration(20 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MobExtractorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MobExtractorRecipes.kt index 40dc76e8e..d3f52f4bf 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MobExtractorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/MobExtractorRecipes.kt @@ -8,6 +8,8 @@ import gregtech.api.GTValues.VA import gregtech.api.unification.material.Materials.Milk import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.outputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.MOB_EXTRACTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Blood import net.minecraft.entity.passive.EntityChicken @@ -16,7 +18,7 @@ import net.minecraft.entity.passive.EntityHorse import net.minecraft.entity.passive.EntityPig import net.minecraft.entity.passive.EntitySheep import net.minecraft.entity.passive.EntityVillager -import net.minecraft.init.Blocks +import net.minecraft.init.Blocks.WOOL import net.minecraft.init.Items import net.minecraft.item.ItemStack import net.minecraft.util.ResourceLocation @@ -29,100 +31,93 @@ internal object MobExtractorRecipes fun init() { // Cow - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidOutputs(Milk.getFluid(10)) - .EUt(VA[LV]) - .duration(10 * TICK) - .mob(EntityCow::class.java) - .buildAndRegister() - - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidOutputs(Blood.getFluid(10)) - .EUt(VA[LV]) - .duration(10 * TICK) - .mob(EntityCow::class.java) - .buildAndRegister() + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(1) + fluidOutputs(Milk.getFluid(10)) + EUt(VA[LV]) + duration(10 * TICK) + mob(EntityCow::class.java) + } + + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(2) + fluidOutputs(Blood.getFluid(10)) + EUt(VA[LV]) + duration(10 * TICK) + mob(EntityCow::class.java) + } // Sheep - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(3) - .outputs(ItemStack(Blocks.WOOL)) - .EUt(VA[MV]) - .duration(10 * TICK) - .mob(EntitySheep::class.java) - .buildAndRegister() - - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidOutputs(Blood.getFluid(5)) - .EUt(VA[LV]) - .duration(10 * TICK) - .mob(EntitySheep::class.java) - .buildAndRegister() + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(3) + outputs(WOOL) + EUt(VA[MV]) + duration(10 * TICK) + mob(EntitySheep::class.java) + } + + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(4) + fluidOutputs(Blood.getFluid(5)) + EUt(VA[LV]) + duration(10 * TICK) + mob(EntitySheep::class.java) + } // Pig - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(5) - .fluidOutputs(Blood.getFluid(8)) - .EUt(VA[LV]) - .duration(10 * TICK) - .mob(EntityPig::class.java) - .buildAndRegister() + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(5) + fluidOutputs(Blood.getFluid(8)) + EUt(VA[LV]) + duration(10 * TICK) + mob(EntityPig::class.java) + } // Chicken - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(6) - .outputs(ItemStack(Items.EGG)) - .EUt(VA[LV]) - .duration(10 * TICK) - .mob(EntityChicken::class.java) - .buildAndRegister() - - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(7) - .fluidOutputs(Blood.getFluid(3)) - .EUt(VA[LV]) - .duration(10 * TICK) - .mob(EntityChicken::class.java) - .buildAndRegister() + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(6) + outputs(ItemStack(Items.EGG)) + EUt(VA[LV]) + duration(10 * TICK) + mob(EntityChicken::class.java) + } + + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(7) + fluidOutputs(Blood.getFluid(3)) + EUt(VA[LV]) + duration(10 * TICK) + mob(EntityChicken::class.java) + } // Horse - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(8) - .fluidOutputs(Blood.getFluid(80)) - .EUt(VA[MV]) - .duration(10 * TICK) - .mob(EntityHorse::class.java) - .buildAndRegister() + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(8) + fluidOutputs(Blood.getFluid(80)) + EUt(VA[MV]) + duration(10 * TICK) + mob(EntityHorse::class.java) + } // Villager - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(9) - .fluidOutputs(Blood.getFluid(100)) - .EUt(VA[HV]) - .duration(10 * TICK) - .mob(EntityVillager::class.java) - .buildAndRegister() + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(9) + fluidOutputs(Blood.getFluid(100)) + EUt(VA[HV]) + duration(10 * TICK) + mob(EntityVillager::class.java) + } // Player - MOB_EXTRACTOR_RECIPES.recipeBuilder() - .circuitMeta(10) - .fluidOutputs(Blood.getFluid(200)) - .EUt(VA[EV]) - .duration(10 * TICK) - .mob(ResourceLocation("player")) - .buildAndRegister() - - // Zombie - - // Skeleton - - // ... - - // Mooshroom - + MOB_EXTRACTOR_RECIPES.addRecipe { + circuitMeta(10) + fluidOutputs(Blood.getFluid(200)) + EUt(VA[EV]) + duration(10 * TICK) + mob(ResourceLocation("player")) + } + + // TODO: Zombie, Skeleton, Mooshroom, e.t.c.? } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/NanoAssemblyMatrixRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/NanoAssemblyMatrixRecipes.kt index 64f4fe930..a45e0e6be 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/NanoAssemblyMatrixRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/NanoAssemblyMatrixRecipes.kt @@ -7,13 +7,7 @@ object NanoAssemblyMatrixRecipes fun init() { - // Test - // NANO_ASSEMBLY_MATRIX_RECIPES.recipeBuilder() - // .input(ingot, Gold) - // .output(ELECTRIC_MOTOR_MAX) - // .EUt(VA[UIV]) - // .duration(Int.MAX_VALUE) - // .buildAndRegister() + // ... } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PackerRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PackerRecipes.kt index eadf24d12..9c37c9f87 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PackerRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PackerRecipes.kt @@ -6,9 +6,11 @@ import gregtech.api.recipes.RecipeMaps.PACKER_RECIPES import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.SAND_DUST -import net.minecraft.init.Blocks -import net.minecraft.item.ItemStack +import net.minecraft.init.Blocks.SAND internal object PackerRecipes { @@ -17,23 +19,23 @@ internal object PackerRecipes fun init() { - // Sand block -> 4x Sand dust. - PACKER_RECIPES.recipeBuilder() - .circuitMeta(4) - .inputs(ItemStack(Blocks.SAND)) - .output(SAND_DUST, 4) - .EUt(VH[ULV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // Sand Block -> 4x Sand Dust + PACKER_RECIPES.addRecipe { + circuitMeta(4) + inputs(SAND) + output(SAND_DUST, 4) + EUt(VH[ULV]) + duration(2 * SECOND + 10 * TICK) + } - // 4x Sand dust -> Sand block. - PACKER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(SAND_DUST, 4) - .outputs(ItemStack(Blocks.SAND)) - .EUt(VH[ULV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // 4x Sand Dust -> Sand Block + PACKER_RECIPES.addRecipe { + circuitMeta(4) + input(SAND_DUST, 4) + outputs(SAND) + EUt(VH[ULV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PolisherRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PolisherRecipes.kt index cb2068c6a..4c6bf87e5 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PolisherRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PolisherRecipes.kt @@ -1,12 +1,11 @@ package gregtechlite.gtlitecore.loader.recipe.machine -import gregtech.api.GTValues.EV import gregtech.api.GTValues.HV -import gregtech.api.GTValues.IV +import gregtech.api.GTValues.LV +import gregtech.api.GTValues.MV import gregtech.api.GTValues.ULV import gregtech.api.GTValues.V import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.AUTOCLAVE_RECIPES import gregtech.api.recipes.RecipeMaps.EXTRUDER_RECIPES @@ -28,6 +27,12 @@ import gregtech.common.items.MetaItems.SHAPE_EXTRUDER_BLOCK import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.getStack +import gregtechlite.gtlitecore.api.extension.inputs +import gregtechlite.gtlitecore.api.extension.outputs +import gregtechlite.gtlitecore.api.extension.removeRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.POLISHER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlueSchist import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ErbiumDopedZBLANGlass @@ -48,8 +53,7 @@ import gregtechlite.gtlitecore.common.block.adapter.GTSmoothStoneBlock import gregtechlite.gtlitecore.common.block.adapter.PolishedStoneBlock import gregtechlite.gtlitecore.common.block.adapter.SmoothStoneBlock import gregtechlite.gtlitecore.common.block.variant.GlassCasing -import net.minecraft.init.Blocks -import net.minecraft.item.ItemStack +import net.minecraft.init.Blocks.STONE internal object PolisherRecipes { @@ -61,243 +65,242 @@ internal object PolisherRecipes // Change vanilla smooth stone -> polished stone recipes from autoclave to polisher. listOf(1, 3, 5).forEach { m -> // (1, 3, 5) => (Granite, Diorite, Andesite). listOf(Pair(Water, 200), Pair(DistilledWater, 36)).forEach { (f, c) -> - GTRecipeHandler.removeRecipesByInputs(AUTOCLAVE_RECIPES, - arrayOf(ItemStack(Blocks.STONE, 1, m)), + AUTOCLAVE_RECIPES.removeRecipe( + arrayOf(STONE.getStack(1, m)), arrayOf(f.getFluid(c))) } } // Add polisher recipes to polished stones. - POLISHER_RECIPES.recipeBuilder() - .inputs(ItemStack(Blocks.STONE, 1, 1)) - .outputs(ItemStack(Blocks.STONE, 1, 2)) - .output(dust, Granite, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() - - POLISHER_RECIPES.recipeBuilder() - .inputs(ItemStack(Blocks.STONE, 1, 3)) - .outputs(ItemStack(Blocks.STONE, 1, 4)) - .output(dust, Diorite, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() - - POLISHER_RECIPES.recipeBuilder() - .inputs(ItemStack(Blocks.STONE, 1, 5)) - .outputs(ItemStack(Blocks.STONE, 1, 6)) - .output(dust, Andesite, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(STONE, 1, 1) + outputs(STONE, 1, 2) + output(dust, Granite, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } + + POLISHER_RECIPES.addRecipe { + inputs(STONE, 1, 3) + outputs(STONE, 1, 4) + output(dust, Diorite, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } + + POLISHER_RECIPES.addRecipe { + inputs(STONE, 1, 5) + outputs(STONE, 1, 6) + output(dust, Andesite, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Modified recipes of GregTech StoneVariantBlock conversions. GTSmoothStoneBlock.entries.forEach { ModHandler.removeFurnaceSmelting(it.stack) - GTRecipeHandler.removeRecipesByInputs(EXTRUDER_RECIPES, it.stack, SHAPE_EXTRUDER_BLOCK.stackForm) + EXTRUDER_RECIPES.removeRecipe(it.stack, SHAPE_EXTRUDER_BLOCK.stack()) } // Add polisher recipes to gregtech polished stones. // Polished Black Granite - POLISHER_RECIPES.recipeBuilder() - .inputs(GTSmoothStoneBlock.BLACK_GRANITE.stack) - .outputs(GTPolishedStoneBlock.BLACK_GRANITE.stack) - .output(dust, GraniteBlack, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(GTSmoothStoneBlock.BLACK_GRANITE.stack) + outputs(GTPolishedStoneBlock.BLACK_GRANITE.stack) + output(dust, GraniteBlack, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Red Granite - POLISHER_RECIPES.recipeBuilder() - .inputs(GTSmoothStoneBlock.RED_GRANITE.stack) - .outputs(GTPolishedStoneBlock.RED_GRANITE.stack) - .output(dust, GraniteRed, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(GTSmoothStoneBlock.RED_GRANITE.stack) + outputs(GTPolishedStoneBlock.RED_GRANITE.stack) + output(dust, GraniteRed, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Marble - POLISHER_RECIPES.recipeBuilder() - .inputs(GTSmoothStoneBlock.MARBLE.stack) - .outputs(GTPolishedStoneBlock.MARBLE.stack) - .output(dust, Marble, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(GTSmoothStoneBlock.MARBLE.stack) + outputs(GTPolishedStoneBlock.MARBLE.stack) + output(dust, Marble, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Basalt - POLISHER_RECIPES.recipeBuilder() - .inputs(GTSmoothStoneBlock.BASALT.stack) - .outputs(GTPolishedStoneBlock.BASALT.stack) - .output(dust, Basalt, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(GTSmoothStoneBlock.BASALT.stack) + outputs(GTPolishedStoneBlock.BASALT.stack) + output(dust, Basalt, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Light Concrete - POLISHER_RECIPES.recipeBuilder() - .inputs(GTSmoothStoneBlock.CONCRETE_LIGHT.stack) - .outputs(GTPolishedStoneBlock.CONCRETE_LIGHT.stack) - .output(dust, Concrete, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(GTSmoothStoneBlock.CONCRETE_LIGHT.stack) + outputs(GTPolishedStoneBlock.CONCRETE_LIGHT.stack) + output(dust, Concrete, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Dark Concrete - POLISHER_RECIPES.recipeBuilder() - .inputs(GTSmoothStoneBlock.CONCRETE_DARK.stack) - .outputs(GTPolishedStoneBlock.CONCRETE_DARK.stack) - .output(dust, Concrete, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(GTSmoothStoneBlock.CONCRETE_DARK.stack) + outputs(GTPolishedStoneBlock.CONCRETE_DARK.stack) + output(dust, Concrete, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Limestone - POLISHER_RECIPES.recipeBuilder() - .inputs(SmoothStoneBlock.LIMESTONE.stack) - .outputs(PolishedStoneBlock.LIMESTONE.stack) - .output(dust, Limestone, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(SmoothStoneBlock.LIMESTONE.stack) + outputs(PolishedStoneBlock.LIMESTONE.stack) + output(dust, Limestone, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Komatiite - POLISHER_RECIPES.recipeBuilder() - .inputs(SmoothStoneBlock.KOMATIITE.stack) - .outputs(PolishedStoneBlock.KOMATIITE.stack) - .output(dust, Komatiite, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(SmoothStoneBlock.KOMATIITE.stack) + outputs(PolishedStoneBlock.KOMATIITE.stack) + output(dust, Komatiite, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Green Schist - POLISHER_RECIPES.recipeBuilder() - .inputs(SmoothStoneBlock.GREEN_SCHIST.stack) - .outputs(PolishedStoneBlock.GREEN_SCHIST.stack) - .output(dust, GreenSchist, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(SmoothStoneBlock.GREEN_SCHIST.stack) + outputs(PolishedStoneBlock.GREEN_SCHIST.stack) + output(dust, GreenSchist, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Blue Schist - POLISHER_RECIPES.recipeBuilder() - .inputs(SmoothStoneBlock.BLUE_SCHIST.stack) - .outputs(PolishedStoneBlock.BLUE_SCHIST.stack) - .output(dust, BlueSchist, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(SmoothStoneBlock.BLUE_SCHIST.stack) + outputs(PolishedStoneBlock.BLUE_SCHIST.stack) + output(dust, BlueSchist, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Kimberlite - POLISHER_RECIPES.recipeBuilder() - .inputs(SmoothStoneBlock.KIMBERLITE.stack) - .outputs(PolishedStoneBlock.KIMBERLITE.stack) - .output(dust, Kimberlite, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(SmoothStoneBlock.KIMBERLITE.stack) + outputs(PolishedStoneBlock.KIMBERLITE.stack) + output(dust, Kimberlite, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Quartzite - POLISHER_RECIPES.recipeBuilder() - .inputs(SmoothStoneBlock.QUARTZITE.stack) - .outputs(PolishedStoneBlock.QUARTZITE.stack) - .output(dust, Quartzite, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(SmoothStoneBlock.QUARTZITE.stack) + outputs(PolishedStoneBlock.QUARTZITE.stack) + output(dust, Quartzite, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Slate - POLISHER_RECIPES.recipeBuilder() - .inputs(SmoothStoneBlock.SLATE.stack) - .outputs(PolishedStoneBlock.SLATE.stack) - .output(dust, Slate, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(SmoothStoneBlock.SLATE.stack) + outputs(PolishedStoneBlock.SLATE.stack) + output(dust, Slate, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Polished Shale - POLISHER_RECIPES.recipeBuilder() - .inputs(SmoothStoneBlock.SHALE.stack) - .outputs(PolishedStoneBlock.SHALE.stack) - .output(dust, Shale, 2) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + inputs(SmoothStoneBlock.SHALE.stack) + outputs(PolishedStoneBlock.SHALE.stack) + output(dust, Shale, 2) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Borosilicate Glass - POLISHER_RECIPES.recipeBuilder() - .input(block, BorosilicateGlass) - .outputs(GlassCasing.BOROSILICATE.getStack(2)) - .output(dust, BorosilicateGlass) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + input(block, BorosilicateGlass) + outputs(GlassCasing.BOROSILICATE.getStack(2)) + output(dust, BorosilicateGlass) + EUt(VA[LV]) + duration(5 * SECOND) + } // Silicon Carbide Glass - POLISHER_RECIPES.recipeBuilder() - .input(block, SiliconCarbide) - .outputs(GlassCasing.SILICON_CARBIDE.getStack(2)) - .output(dust, SiliconCarbide) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + input(block, SiliconCarbide) + outputs(GlassCasing.SILICON_CARBIDE.getStack(2)) + output(dust, SiliconCarbide) + EUt(VA[MV]) + duration(5 * SECOND) + } // Woods Glass - POLISHER_RECIPES.recipeBuilder() - .input(block, WoodsGlass) - .outputs(GlassCasing.WOODS.getStack(2)) - .output(dust, WoodsGlass) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + input(block, WoodsGlass) + outputs(GlassCasing.WOODS.getStack(2)) + output(dust, WoodsGlass) + EUt(VA[MV]) + duration(5 * SECOND) + } // ZBLAN Glass - POLISHER_RECIPES.recipeBuilder() - .input(block, ZBLANGlass) - .outputs(GlassCasing.ZBLAN.getStack(2)) - .output(dust, ZBLANGlass) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + input(block, ZBLANGlass) + outputs(GlassCasing.ZBLAN.getStack(2)) + output(dust, ZBLANGlass) + EUt(VA[HV]) + duration(5 * SECOND) + } // Er-doped ZBLAN Glass - POLISHER_RECIPES.recipeBuilder() - .input(block, ErbiumDopedZBLANGlass) - .outputs(GlassCasing.ERBIUM_ZBLAN.getStack(2)) - .output(dust, ErbiumDopedZBLANGlass) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + input(block, ErbiumDopedZBLANGlass) + outputs(GlassCasing.ERBIUM_ZBLAN.getStack(2)) + output(dust, ErbiumDopedZBLANGlass) + EUt(VA[HV]) + duration(5 * SECOND) + } // Pr-doped ZBLAN Glass - POLISHER_RECIPES.recipeBuilder() - .input(block, PraseodymiumDopedZBLANGlass) - .outputs(GlassCasing.PRASEODYMIUM_ZBLAN.getStack(2)) - .output(dust, PraseodymiumDopedZBLANGlass) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + input(block, PraseodymiumDopedZBLANGlass) + outputs(GlassCasing.PRASEODYMIUM_ZBLAN.getStack(2)) + output(dust, PraseodymiumDopedZBLANGlass) + EUt(VA[HV]) + duration(5 * SECOND) + } // GST Glass - POLISHER_RECIPES.recipeBuilder() - .input(block, GSTGlass) - .outputs(GlassCasing.GST.getStack(2)) - .output(dust, GSTGlass) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + POLISHER_RECIPES.addRecipe { + input(block, GSTGlass) + outputs(GlassCasing.GST.getStack(2)) + output(dust, GSTGlass) + EUt(VA[HV]) + duration(5 * SECOND) + } // PMMA Glass - POLISHER_RECIPES.recipeBuilder() - .input(block, Polymethylmethacrylate) - .outputs(GlassCasing.PMMA.getStack(2)) - .output(dust, Polymethylmethacrylate) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() - + POLISHER_RECIPES.addRecipe { + input(block, Polymethylmethacrylate) + outputs(GlassCasing.PMMA.getStack(2)) + output(dust, Polymethylmethacrylate) + EUt(VA[HV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PrimitiveBlastFurnaceRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PrimitiveBlastFurnaceRecipes.kt index 53626028a..9c26e0a99 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PrimitiveBlastFurnaceRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/PrimitiveBlastFurnaceRecipes.kt @@ -11,6 +11,8 @@ import gregtech.api.unification.ore.OrePrefix.dustTiny import gregtech.api.unification.ore.OrePrefix.gem import gregtech.api.unification.ore.OrePrefix.ingot import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Lignite internal object PrimitiveBlastFurnaceRecipes @@ -20,53 +22,53 @@ internal object PrimitiveBlastFurnaceRecipes fun init() { - PRIMITIVE_BLAST_FURNACE_RECIPES.recipeBuilder() - .input(ingot, Iron) - .input(gem, Lignite, 2) - .output(ingot, Steel) - .output(dustTiny, DarkAsh, 2) - .duration(90 * SECOND) - .buildAndRegister() + PRIMITIVE_BLAST_FURNACE_RECIPES.addRecipe { + input(ingot, Iron) + input(gem, Lignite, 2) + output(ingot, Steel) + output(dustTiny, DarkAsh, 2) + duration(90 * SECOND) + } - PRIMITIVE_BLAST_FURNACE_RECIPES.recipeBuilder() - .input(ingot, Iron) - .input(dust, Lignite, 2) - .output(ingot, Steel) - .output(dustTiny, DarkAsh, 2) - .duration(90 * SECOND) - .buildAndRegister() + PRIMITIVE_BLAST_FURNACE_RECIPES.addRecipe { + input(ingot, Iron) + input(dust, Lignite, 2) + output(ingot, Steel) + output(dustTiny, DarkAsh, 2) + duration(90 * SECOND) + } - PRIMITIVE_BLAST_FURNACE_RECIPES.recipeBuilder() - .input(ingot, WroughtIron) - .input(gem, Lignite, 2) - .output(ingot, Steel) - .output(dustTiny, DarkAsh, 2) - .duration(40 * SECOND) - .buildAndRegister() + PRIMITIVE_BLAST_FURNACE_RECIPES.addRecipe { + input(ingot, WroughtIron) + input(gem, Lignite, 2) + output(ingot, Steel) + output(dustTiny, DarkAsh, 2) + duration(40 * SECOND) + } - PRIMITIVE_BLAST_FURNACE_RECIPES.recipeBuilder() - .input(ingot, WroughtIron) - .input(dust, Lignite, 2) - .output(ingot, Steel) - .output(dustTiny, DarkAsh, 2) - .duration(40 * SECOND) - .buildAndRegister() + PRIMITIVE_BLAST_FURNACE_RECIPES.addRecipe { + input(ingot, WroughtIron) + input(dust, Lignite, 2) + output(ingot, Steel) + output(dustTiny, DarkAsh, 2) + duration(40 * SECOND) + } - PRIMITIVE_BLAST_FURNACE_RECIPES.recipeBuilder() - .input(block, Iron) - .input(block, Lignite, 2) - .output(block, Steel) - .output(dust, DarkAsh, 2) - .duration(810 * SECOND) - .buildAndRegister() + PRIMITIVE_BLAST_FURNACE_RECIPES.addRecipe { + input(block, Iron) + input(block, Lignite, 2) + output(block, Steel) + output(dust, DarkAsh, 2) + duration(810 * SECOND) + } - PRIMITIVE_BLAST_FURNACE_RECIPES.recipeBuilder() - .input(block, WroughtIron) - .input(block, Lignite, 2) - .output(block, Steel) - .output(dust, DarkAsh, 2) - .duration(360 * SECOND) - .buildAndRegister() + PRIMITIVE_BLAST_FURNACE_RECIPES.addRecipe { + input(block, WroughtIron) + input(block, Lignite, 2) + output(block, Steel) + output(dust, DarkAsh, 2) + duration(360 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/QuantumForceTransformerRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/QuantumForceTransformerRecipes.kt index d0ff1af45..5146f7938 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/QuantumForceTransformerRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/QuantumForceTransformerRecipes.kt @@ -10,7 +10,6 @@ import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.unification.material.Materials.Actinium import gregtech.api.unification.material.Materials.Agar @@ -178,6 +177,8 @@ import gregtech.api.unification.ore.OrePrefix.wireFine import gregtech.common.items.MetaItems.STEM_CELLS import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.QUANTUM_FORCE_TRANSFORMER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ActiniumSuperhydride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium @@ -300,909 +301,908 @@ internal object QuantumForceTransformerRecipes catalystRecipes() // Rubber 1 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RUBBER_POLYMER) - .input(dust, Carbon, 64) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Chlorine.getFluid(16000)) - .chancedFluidOutput(SiliconeRubber.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(StyreneButadieneRubber.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(PolyphenyleneSulfide.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Rubber.getFluid(L * 256), 2500, 0) - .EUt(VA[ZPM]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RUBBER_POLYMER) + input(dust, Carbon, 64) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Chlorine.getFluid(16000)) + chancedFluidOutput(SiliconeRubber.getFluid(L * 64), 2500, 0) + chancedFluidOutput(StyreneButadieneRubber.getFluid(L * 64), 2500, 0) + chancedFluidOutput(PolyphenyleneSulfide.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Rubber.getFluid(L * 256), 2500, 0) + EUt(VA[ZPM]) + duration(20 * SECOND) + tier(1) + } // Rubber 2 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ADVANCED_RUBBER_POLYMER) - .input(dust, Carbon, 64) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Chlorine.getFluid(16000)) - .fluidInputs(Fluorine.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .chancedFluidOutput(PolyphosphonitrileFluoroRubber.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(PolytetramethyleneGlycolRubber.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(Polyetheretherketone.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Zylon.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(SiliconeRubber.getFluid(L * 256), 2500, 0) - .chancedFluidOutput(StyreneButadieneRubber.getFluid(L * 256), 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ADVANCED_RUBBER_POLYMER) + input(dust, Carbon, 64) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Chlorine.getFluid(16000)) + fluidInputs(Fluorine.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + chancedFluidOutput(PolyphosphonitrileFluoroRubber.getFluid(L * 64), 2500, 0) + chancedFluidOutput(PolytetramethyleneGlycolRubber.getFluid(L * 64), 2500, 0) + chancedFluidOutput(Polyetheretherketone.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Zylon.getFluid(L * 128), 2500, 0) + chancedFluidOutput(SiliconeRubber.getFluid(L * 256), 2500, 0) + chancedFluidOutput(StyreneButadieneRubber.getFluid(L * 256), 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(2) + } // Plastic 1 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_PLASTIC_POLYMER) - .input(dust, Carbon, 64) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Chlorine.getFluid(16000)) - .fluidInputs(Fluorine.getFluid(16000)) - .chancedFluidOutput(Polyethylene.getFluid(L * 256), 2500, 0) - .chancedFluidOutput(PolyvinylChloride.getFluid(L * 256), 2500, 0) - .chancedFluidOutput(Polystyrene.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Polytetrafluoroethylene.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Epoxy.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(Polybenzimidazole.getFluid(L * 64), 2500, 0) - .EUt(VA[ZPM]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_PLASTIC_POLYMER) + input(dust, Carbon, 64) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Chlorine.getFluid(16000)) + fluidInputs(Fluorine.getFluid(16000)) + chancedFluidOutput(Polyethylene.getFluid(L * 256), 2500, 0) + chancedFluidOutput(PolyvinylChloride.getFluid(L * 256), 2500, 0) + chancedFluidOutput(Polystyrene.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Polytetrafluoroethylene.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Epoxy.getFluid(L * 64), 2500, 0) + chancedFluidOutput(Polybenzimidazole.getFluid(L * 64), 2500, 0) + EUt(VA[ZPM]) + duration(20 * SECOND) + tier(1) + } // Plastic 2: Kevlar, KaptonE, KaptonK, PMMA, PET, EPoxy - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ADVANCED_PLASTIC_POLYMER) - .input(dust, Carbon, 64) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .chancedFluidOutput(KaptonK.getFluid(L * 256), 2500, 0) - .chancedFluidOutput(ReinforcedEpoxyResin.getFluid(L * 256), 2500, 0) - .chancedFluidOutput(Polymethylmethacrylate.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(KaptonE.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Kevlar.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(PolyethyleneTerephthalate.getFluid(L * 64), 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ADVANCED_PLASTIC_POLYMER) + input(dust, Carbon, 64) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + chancedFluidOutput(KaptonK.getFluid(L * 256), 2500, 0) + chancedFluidOutput(ReinforcedEpoxyResin.getFluid(L * 256), 2500, 0) + chancedFluidOutput(Polymethylmethacrylate.getFluid(L * 128), 2500, 0) + chancedFluidOutput(KaptonE.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Kevlar.getFluid(L * 64), 2500, 0) + chancedFluidOutput(PolyethyleneTerephthalate.getFluid(L * 64), 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(2) + } // Plastic 3 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ULTIMATE_PLASTIC_POLYMER) - .input(dust, Carbon, 64) - .input(dust, Phosphorus, 64) - .input(dust, Sulfur, 64) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .chancedOutput(POLYMER_INSULATOR_FOIL, 64, 2500, 0) - .chancedFluidOutput(PedotPSS.getFluid(L * 256), 2500, 0) - .chancedFluidOutput(PedotTMA.getFluid(L * 256), 2500, 0) - .chancedFluidOutput(CarbonNanotube.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Phosphorene.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Fullerene.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(FullerenePolymerMatrix.getFluid(L * 64), 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(3) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ULTIMATE_PLASTIC_POLYMER) + input(dust, Carbon, 64) + input(dust, Phosphorus, 64) + input(dust, Sulfur, 64) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + chancedOutput(POLYMER_INSULATOR_FOIL, 64, 2500, 0) + chancedFluidOutput(PedotPSS.getFluid(L * 256), 2500, 0) + chancedFluidOutput(PedotTMA.getFluid(L * 256), 2500, 0) + chancedFluidOutput(CarbonNanotube.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Phosphorene.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Fullerene.getFluid(L * 64), 2500, 0) + chancedFluidOutput(FullerenePolymerMatrix.getFluid(L * 64), 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(3) + } // Platinum Group - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_PLATINUM_GROUP) - .input(dust, PlatinumGroupSludge, 64) - .chancedOutput(dust, Platinum, 64, 2500, 0) - .chancedOutput(dust, Palladium, 64, 2500, 0) - .chancedOutput(dust, Ruthenium, 64, 2500, 0) - .chancedOutput(dust, Rhodium, 64, 2500, 0) - .chancedOutput(dust, Iridium, 64, 2500, 0) - .chancedOutput(dust, Osmium, 64, 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_PLATINUM_GROUP) + input(dust, PlatinumGroupSludge, 64) + chancedOutput(dust, Platinum, 64, 2500, 0) + chancedOutput(dust, Palladium, 64, 2500, 0) + chancedOutput(dust, Ruthenium, 64, 2500, 0) + chancedOutput(dust, Rhodium, 64, 2500, 0) + chancedOutput(dust, Iridium, 64, 2500, 0) + chancedOutput(dust, Osmium, 64, 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(1) + } // Radioactive 1 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RADIOACTIVE) - .input(dust, Thorium, 32) - .input(dust, Uranium238, 32) - .chancedOutput(dust, Uranium235, 64, 2500, 0) - .chancedOutput(dust, Uranium238, 64, 2500, 0) - .chancedOutput(dust, Plutonium239, 64, 2500, 0) - .chancedOutput(dust, Plutonium241, 64, 2500, 0) - .chancedOutput(dust, Plutonium244, 64, 2500, 0) - .chancedOutput(dust, Thorium, 64, 2500, 0) - .EUt(VA[ZPM]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RADIOACTIVE) + input(dust, Thorium, 32) + input(dust, Uranium238, 32) + chancedOutput(dust, Uranium235, 64, 2500, 0) + chancedOutput(dust, Uranium238, 64, 2500, 0) + chancedOutput(dust, Plutonium239, 64, 2500, 0) + chancedOutput(dust, Plutonium241, 64, 2500, 0) + chancedOutput(dust, Plutonium244, 64, 2500, 0) + chancedOutput(dust, Thorium, 64, 2500, 0) + EUt(VA[ZPM]) + duration(20 * SECOND) + tier(1) + } // Radioactive 2 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ADVANCED_RADIOACTIVE) - .input(dust, Protactinium, 32) - .input(dust, Plutonium239, 32) - .chancedOutput(dust, Protactinium, 64, 2500, 0) - .chancedOutput(dust, Neptunium, 64, 2500, 0) - .chancedOutput(dust, Americium, 64, 2500, 0) - .chancedOutput(dust, Curium, 64, 2500, 0) - .chancedOutput(dust, Berkelium, 64, 2500, 0) - .chancedOutput(dust, Californium, 64, 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ADVANCED_RADIOACTIVE) + input(dust, Protactinium, 32) + input(dust, Plutonium239, 32) + chancedOutput(dust, Protactinium, 64, 2500, 0) + chancedOutput(dust, Neptunium, 64, 2500, 0) + chancedOutput(dust, Americium, 64, 2500, 0) + chancedOutput(dust, Curium, 64, 2500, 0) + chancedOutput(dust, Berkelium, 64, 2500, 0) + chancedOutput(dust, Californium, 64, 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(1) + } // Radioactive 3 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ULTIMATE_PLASTIC_POLYMER) - .input(dust, Plutonium244, 64) - .chancedOutput(dust, Einsteinium, 64, 2500, 0) - .chancedOutput(dust, Fermium, 64, 2500, 0) - .chancedOutput(dust, Mendelevium, 64, 2500, 0) - .chancedOutput(dust, Nobelium, 64, 2500, 0) - .chancedOutput(dust, Lawrencium, 64, 2500, 0) - .chancedOutput(dust, Rutherfordium, 64, 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ULTIMATE_PLASTIC_POLYMER) + input(dust, Plutonium244, 64) + chancedOutput(dust, Einsteinium, 64, 2500, 0) + chancedOutput(dust, Fermium, 64, 2500, 0) + chancedOutput(dust, Mendelevium, 64, 2500, 0) + chancedOutput(dust, Nobelium, 64, 2500, 0) + chancedOutput(dust, Lawrencium, 64, 2500, 0) + chancedOutput(dust, Rutherfordium, 64, 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(2) + } // Titanium Tungsten Indium - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_TITANIUM_TUNGSTEN_INDIUM) - .input(dust, Lead, 16) - .input(dust, Bauxite, 32) - .input(dust, Tungstate, 16) - .chancedOutput(dust, Titanium, 64, 2500, 0) - .chancedOutput(dust, TungstenSteel, 64, 2500, 0) - .chancedOutput(dust, TungstenCarbide, 64, 2500, 0) - .chancedOutput(dust, Indium, 64, 2500, 0) - .chancedOutput(dust, Niobium, 64, 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_TITANIUM_TUNGSTEN_INDIUM) + input(dust, Lead, 16) + input(dust, Bauxite, 32) + input(dust, Tungstate, 16) + chancedOutput(dust, Titanium, 64, 2500, 0) + chancedOutput(dust, TungstenSteel, 64, 2500, 0) + chancedOutput(dust, TungstenCarbide, 64, 2500, 0) + chancedOutput(dust, Indium, 64, 2500, 0) + chancedOutput(dust, Niobium, 64, 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(1) + } - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_TITANIUM_TUNGSTEN_INDIUM) - .input(dust, Rutile, 32) - .input(dust, Scheelite, 16) - .input(dust, Ilmenite, 16) - .chancedOutput(dust, Titanium, 64, 2500, 0) - .chancedOutput(dust, TungstenSteel, 64, 2500, 0) - .chancedOutput(dust, TitaniumCarbide, 64, 2500, 0) - .chancedOutput(dust, Indium, 64, 2500, 0) - .chancedOutput(dust, Tantalum, 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_TITANIUM_TUNGSTEN_INDIUM) + input(dust, Rutile, 32) + input(dust, Scheelite, 16) + input(dust, Ilmenite, 16) + chancedOutput(dust, Titanium, 64, 2500, 0) + chancedOutput(dust, TungstenSteel, 64, 2500, 0) + chancedOutput(dust, TitaniumCarbide, 64, 2500, 0) + chancedOutput(dust, Indium, 64, 2500, 0) + chancedOutput(dust, Tantalum, 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(1) + } // Adhesives - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ADHESION_PROMOTER) - .input(dust, Carbon, 32) - .input(dust, Tin, 32) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .chancedOutput(STABLE_ADHESIVE, 2000, 0) - .chancedFluidOutput(Glue.getFluid(256000), 2500, 0) - .chancedFluidOutput(SolderingAlloy.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(BatteryAlloy.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(TinAlloy.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Tin.getFluid(L * 128), 2500, 0) - .chancedFluidOutput(Lead.getFluid(L * 256), 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ADHESION_PROMOTER) + input(dust, Carbon, 32) + input(dust, Tin, 32) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + chancedOutput(STABLE_ADHESIVE, 2000, 0) + chancedFluidOutput(Glue.getFluid(256000), 2500, 0) + chancedFluidOutput(SolderingAlloy.getFluid(L * 64), 2500, 0) + chancedFluidOutput(BatteryAlloy.getFluid(L * 64), 2500, 0) + chancedFluidOutput(TinAlloy.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Tin.getFluid(L * 128), 2500, 0) + chancedFluidOutput(Lead.getFluid(L * 256), 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(1) + } // REE 1 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RARE_EARTH_GROUP) - .input(dust, Monazite, 32) - .chancedOutput(SUPERCONDUCTOR_COMPOSITE, 2000, 0) - .chancedOutput(dust, Lanthanum, 64, 2500, 0) - .chancedOutput(dust, Cerium, 64, 2500, 0) - .chancedOutput(dust, Praseodymium, 64, 2500, 0) - .chancedOutput(dust, Neodymium, 64, 2500, 0) - .chancedOutput(dust, Promethium, 64, 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RARE_EARTH_GROUP) + input(dust, Monazite, 32) + chancedOutput(SUPERCONDUCTOR_COMPOSITE, 2000, 0) + chancedOutput(dust, Lanthanum, 64, 2500, 0) + chancedOutput(dust, Cerium, 64, 2500, 0) + chancedOutput(dust, Praseodymium, 64, 2500, 0) + chancedOutput(dust, Neodymium, 64, 2500, 0) + chancedOutput(dust, Promethium, 64, 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(2) + } // REE 2 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RARE_EARTH_GROUP) - .input(dust, Bastnasite, 32) - .chancedOutput(SUPERCONDUCTOR_COMPOSITE, 2000, 0) - .chancedOutput(dust, Samarium, 64, 2500, 0) - .chancedOutput(dust, Europium, 64, 2500, 0) - .chancedOutput(dust, Gadolinium, 64, 2500, 0) - .chancedOutput(dust, Terbium, 64, 2500, 0) - .chancedOutput(dust, Dysprosium, 64, 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RARE_EARTH_GROUP) + input(dust, Bastnasite, 32) + chancedOutput(SUPERCONDUCTOR_COMPOSITE, 2000, 0) + chancedOutput(dust, Samarium, 64, 2500, 0) + chancedOutput(dust, Europium, 64, 2500, 0) + chancedOutput(dust, Gadolinium, 64, 2500, 0) + chancedOutput(dust, Terbium, 64, 2500, 0) + chancedOutput(dust, Dysprosium, 64, 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(2) + } // REE 3 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RARE_EARTH_GROUP) - .input(dust, RareEarth, 32) - .chancedOutput(SUPERCONDUCTOR_COMPOSITE, 2000, 0) - .chancedOutput(dust, Holmium, 64, 2500, 0) - .chancedOutput(dust, Erbium, 64, 2500, 0) - .chancedOutput(dust, Thulium, 64, 2500, 0) - .chancedOutput(dust, Ytterbium, 64, 2500, 0) - .chancedOutput(dust, Lutetium, 64, 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RARE_EARTH_GROUP) + input(dust, RareEarth, 32) + chancedOutput(SUPERCONDUCTOR_COMPOSITE, 2000, 0) + chancedOutput(dust, Holmium, 64, 2500, 0) + chancedOutput(dust, Erbium, 64, 2500, 0) + chancedOutput(dust, Thulium, 64, 2500, 0) + chancedOutput(dust, Ytterbium, 64, 2500, 0) + chancedOutput(dust, Lutetium, 64, 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(2) + } // Rare Metal Group - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RARE_METAL_GROUP) - .input(dust, Sphalerite, 32) - .input(dust, Zircon, 16) - .input(dust, Molybdenite, 16) - .chancedOutput(dust, Gallium, 64, 2500, 0) - .chancedOutput(dust, Molybdenum, 64, 2500, 0) - .chancedOutput(dust, Germanium, 64, 2500, 0) - .chancedOutput(dust, Rhenium, 64, 2500, 0) - .chancedOutput(dust, Zirconium, 64, 2500, 0) - .chancedOutput(dust, Hafnium, 64, 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RARE_METAL_GROUP) + input(dust, Sphalerite, 32) + input(dust, Zircon, 16) + input(dust, Molybdenite, 16) + chancedOutput(dust, Gallium, 64, 2500, 0) + chancedOutput(dust, Molybdenum, 64, 2500, 0) + chancedOutput(dust, Germanium, 64, 2500, 0) + chancedOutput(dust, Rhenium, 64, 2500, 0) + chancedOutput(dust, Zirconium, 64, 2500, 0) + chancedOutput(dust, Hafnium, 64, 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(1) + } - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RARE_METAL_GROUP) - .input(dust, Sphalerite, 32) - .input(dust, Pyrite, 16) - .input(dust, Strontianite, 16) - .chancedOutput(dust, Gallium, 64, 2500, 0) - .chancedOutput(dust, Molybdenum, 64, 2500, 0) - .chancedOutput(dust, Germanium, 64, 2500, 0) - .chancedOutput(dust, Thallium, 64, 2500, 0) - .chancedOutput(dust, Strontium, 64, 2500, 0) - .chancedOutput(dust, Rubidium, 64, 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RARE_METAL_GROUP) + input(dust, Sphalerite, 32) + input(dust, Pyrite, 16) + input(dust, Strontianite, 16) + chancedOutput(dust, Gallium, 64, 2500, 0) + chancedOutput(dust, Molybdenum, 64, 2500, 0) + chancedOutput(dust, Germanium, 64, 2500, 0) + chancedOutput(dust, Thallium, 64, 2500, 0) + chancedOutput(dust, Strontium, 64, 2500, 0) + chancedOutput(dust, Rubidium, 64, 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(1) + } - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RARE_METAL_GROUP) - .input(dust, Pitchblende, 32) - .input(dust, Uraninite, 16) - .input(dust, Chalcopyrite, 16) - .chancedOutput(dust, Polonium, 64, 2500, 0) - .chancedOutput(dust, Radium, 64, 2500, 0) - .chancedOutput(dust, Selenium, 64, 2500, 0) - .chancedOutput(dust, Tellurium, 64, 2500, 0) - .chancedOutput(dust, Yttrium, 64, 2500, 0) - .chancedOutput(dust, Scandium, 64, 2500, 0) - .EUt(VA[UV]) - .duration(20 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RARE_METAL_GROUP) + input(dust, Pitchblende, 32) + input(dust, Uraninite, 16) + input(dust, Chalcopyrite, 16) + chancedOutput(dust, Polonium, 64, 2500, 0) + chancedOutput(dust, Radium, 64, 2500, 0) + chancedOutput(dust, Selenium, 64, 2500, 0) + chancedOutput(dust, Tellurium, 64, 2500, 0) + chancedOutput(dust, Yttrium, 64, 2500, 0) + chancedOutput(dust, Scandium, 64, 2500, 0) + EUt(VA[UV]) + duration(20 * SECOND) + tier(1) + } // Naquadah - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_NAQUADAH) - .input(dust, Naquadah, 32) - .input(dust, Antimony, 16) - .input(dust, Sulfur, 16) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Fluorine.getFluid(16000)) - .chancedOutput(NAQUADRIA_SUPERSOLID, 2000, 0) - .chancedOutput(dust, Naquadah, 64, 2500, 0) - .chancedOutput(dust, NaquadahEnriched, 64, 2500, 0) - .chancedOutput(dust, Naquadria, 64, 2500, 0) - .chancedOutput(dust, Trinium, 64, 2500, 0) - .chancedOutput(dust, Technetium, 64, 2500, 0) - .chancedFluidOutput(Titanium.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(Barium.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(Indium.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(Gallium.getFluid(L * 64), 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(3) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_NAQUADAH) + input(dust, Naquadah, 32) + input(dust, Antimony, 16) + input(dust, Sulfur, 16) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Fluorine.getFluid(16000)) + chancedOutput(NAQUADRIA_SUPERSOLID, 2000, 0) + chancedOutput(dust, Naquadah, 64, 2500, 0) + chancedOutput(dust, NaquadahEnriched, 64, 2500, 0) + chancedOutput(dust, Naquadria, 64, 2500, 0) + chancedOutput(dust, Trinium, 64, 2500, 0) + chancedOutput(dust, Technetium, 64, 2500, 0) + chancedFluidOutput(Titanium.getFluid(L * 64), 2500, 0) + chancedFluidOutput(Barium.getFluid(L * 64), 2500, 0) + chancedFluidOutput(Indium.getFluid(L * 64), 2500, 0) + chancedFluidOutput(Gallium.getFluid(L * 64), 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(3) + } // Raw Intelligence - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RAW_INTELLIGENCE) - .input(dust, Calcium, 32) - .input(dust, Agar, 32) - .input(dust, Wheat, 32) - .fluidInputs(DistilledWater.getFluid(16000)) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedFluidOutput(RawGrowthMedium.getFluid(64000), 2500, 0) - .chancedFluidOutput(SterileGrowthMedium.getFluid(64000), 2500, 0) - .chancedFluidOutput(Blood.getFluid(128000), 2500, 0) - .chancedFluidOutput(Fat.getFluid(128000), 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RAW_INTELLIGENCE) + input(dust, Calcium, 32) + input(dust, Agar, 32) + input(dust, Wheat, 32) + fluidInputs(DistilledWater.getFluid(16000)) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedFluidOutput(RawGrowthMedium.getFluid(64000), 2500, 0) + chancedFluidOutput(SterileGrowthMedium.getFluid(64000), 2500, 0) + chancedFluidOutput(Blood.getFluid(128000), 2500, 0) + chancedFluidOutput(Fat.getFluid(128000), 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(2) + } - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RAW_INTELLIGENCE) - .input(dust, Yeast, 32) - .input(dust, Meat, 32) - .fluidInputs(DistilledWater.getFluid(16000)) - .chancedOutput(dust, BrevibacteriumFlavum, 64, 2500, 0) - .chancedOutput(dust, CupriavidusNecator, 64, 2500, 0) - .chancedOutput(dust, StreptococcusPyogenes, 64, 2500, 0) - .chancedOutput(dust, EscherichiaColi, 64, 2500, 0) - .chancedOutput(dust, Sugar, 64, 2500, 0) - .chancedOutput(dust, Sugar, 64, 2500, 0) - .chancedFluidOutput(BFGF.getFluid(64000), 2500, 0) - .chancedFluidOutput(EGF.getFluid(64000), 2500, 0) - .chancedFluidOutput(CAT.getFluid(128000), 2500, 0) - .chancedFluidOutput(Biomass.getFluid(256000), 2500, 0) - .chancedFluidOutput(Blood.getFluid(256000), 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RAW_INTELLIGENCE) + input(dust, Yeast, 32) + input(dust, Meat, 32) + fluidInputs(DistilledWater.getFluid(16000)) + chancedOutput(dust, BrevibacteriumFlavum, 64, 2500, 0) + chancedOutput(dust, CupriavidusNecator, 64, 2500, 0) + chancedOutput(dust, StreptococcusPyogenes, 64, 2500, 0) + chancedOutput(dust, EscherichiaColi, 64, 2500, 0) + chancedOutput(dust, Sugar, 64, 2500, 0) + chancedOutput(dust, Sugar, 64, 2500, 0) + chancedFluidOutput(BFGF.getFluid(64000), 2500, 0) + chancedFluidOutput(EGF.getFluid(64000), 2500, 0) + chancedFluidOutput(CAT.getFluid(128000), 2500, 0) + chancedFluidOutput(Biomass.getFluid(256000), 2500, 0) + chancedFluidOutput(Blood.getFluid(256000), 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(2) + } - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_RAW_INTELLIGENCE) - .input(dust, Sugar, 64) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Oxygen.getFluid(16000)) - .chancedOutput(dust, Glucose, 64, 2500, 0) - .chancedOutput(dust, Fructose, 64, 2500, 0) - .chancedOutput(dust, Sorbose, 64, 2500, 0) - .chancedOutput(dust, Xylose, 64, 2500, 0) - .chancedOutput(dust, Cellulose, 64, 2500, 0) - .chancedOutput(dust, Biotin, 64, 2500, 0) - .chancedFluidOutput(AscorbicAcid.getFluid(64000), 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_RAW_INTELLIGENCE) + input(dust, Sugar, 64) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Oxygen.getFluid(16000)) + chancedOutput(dust, Glucose, 64, 2500, 0) + chancedOutput(dust, Fructose, 64, 2500, 0) + chancedOutput(dust, Sorbose, 64, 2500, 0) + chancedOutput(dust, Xylose, 64, 2500, 0) + chancedOutput(dust, Cellulose, 64, 2500, 0) + chancedOutput(dust, Biotin, 64, 2500, 0) + chancedFluidOutput(AscorbicAcid.getFluid(64000), 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(2) + } // Biological Intelligence - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_BIOLOGICAL_INTELLIGENCE) - .input(STEM_CELLS, 16) - .fluidInputs(Bismuth.getPlasma(16000)) - .fluidInputs(Tin.getPlasma(16000)) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedOutput(STEM_CELLS, 64, 2500, 0) - .chancedOutput(dust, Iodine, 64, 2500, 0) - .chancedOutput(dust, Astatine, 64, 2500, 0) - .chancedOutput(dust, Tennessine, 64, 2500, 0) - .chancedFluidOutput(MutatedLivingSolder.getFluid(128000), 2500, 0) - .chancedFluidOutput(Bromine.getFluid(128000), 2500, 0) - .chancedFluidOutput(RawGrowthMedium.getFluid(256000), 2500, 0) - .chancedFluidOutput(SterileGrowthMedium.getFluid(256000), 2500, 0) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .tier(3) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_BIOLOGICAL_INTELLIGENCE) + input(STEM_CELLS, 16) + fluidInputs(Bismuth.getPlasma(16000)) + fluidInputs(Tin.getPlasma(16000)) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedOutput(STEM_CELLS, 64, 2500, 0) + chancedOutput(dust, Iodine, 64, 2500, 0) + chancedOutput(dust, Astatine, 64, 2500, 0) + chancedOutput(dust, Tennessine, 64, 2500, 0) + chancedFluidOutput(MutatedLivingSolder.getFluid(128000), 2500, 0) + chancedFluidOutput(Bromine.getFluid(128000), 2500, 0) + chancedFluidOutput(RawGrowthMedium.getFluid(256000), 2500, 0) + chancedFluidOutput(SterileGrowthMedium.getFluid(256000), 2500, 0) + EUt(VA[UEV]) + duration(20 * SECOND) + tier(3) + } // High Explosives - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_HIGH_EXPLOSIVE) - .input(dust, Actinium, 32) - .input(dust, Carbon, 64) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .chancedOutput(dust, Hexanitrohexaaxaisowurtzitane, 64, 2500, 0) - .chancedOutput(dust, Octaazacubane, 64, 2500, 0) - .chancedOutput(dust, ActiniumSuperhydride, 64, 2500, 0) - .chancedFluidOutput(CyclotetramethyleneTetranitroamine.getFluid(128000), 2500, 0) - .chancedFluidOutput(GlycerylTrinitrate.getFluid(256000), 2500, 0) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_HIGH_EXPLOSIVE) + input(dust, Actinium, 32) + input(dust, Carbon, 64) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + chancedOutput(dust, Hexanitrohexaaxaisowurtzitane, 64, 2500, 0) + chancedOutput(dust, Octaazacubane, 64, 2500, 0) + chancedOutput(dust, ActiniumSuperhydride, 64, 2500, 0) + chancedFluidOutput(CyclotetramethyleneTetranitroamine.getFluid(128000), 2500, 0) + chancedFluidOutput(GlycerylTrinitrate.getFluid(256000), 2500, 0) + EUt(VA[UHV]) + duration(20 * SECOND) + tier(2) + } // Temporal Harmony - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_TEMPORAL_HARMONY) - .input(GRAVITON_SHARD) - .input(ENERGISED_TESSERACT) - .fluidInputs(PrimordialMatter.getFluid(L * 8)) - .chancedOutput(dust, Shirabon, 64, 2500, 0) - .chancedOutput(TIMEPIECE, 1, 2500, 0) - .chancedFluidOutput(Eternity.getFluid(L * 64), 2500, 0) - .chancedFluidOutput(TachyonRichTemporalFluid.getFluid(L * 128), 2500, 0) - .EUt(VA[UIV]) - .duration(20 * SECOND) - .tier(4) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_TEMPORAL_HARMONY) + input(GRAVITON_SHARD) + input(ENERGISED_TESSERACT) + fluidInputs(PrimordialMatter.getFluid(L * 8)) + chancedOutput(dust, Shirabon, 64, 2500, 0) + chancedOutput(TIMEPIECE, 1, 2500, 0) + chancedFluidOutput(Eternity.getFluid(L * 64), 2500, 0) + chancedFluidOutput(TachyonRichTemporalFluid.getFluid(L * 128), 2500, 0) + EUt(VA[UIV]) + duration(20 * SECOND) + tier(4) + } // Bedrockium - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_STELLAR_CORE) - .input(dust, Bedrockium, 32) - .input(dust, Naquadah, 32) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .fluidInputs(Fluorine.getFluid(16000)) - .chancedOutput(dust, Bedrockium, 64, 2500, 0) - .chancedOutput(dust, Adamantium, 64, 2500, 0) - .chancedOutput(dust, Vibranium, 64, 2500, 0) - .chancedOutput(dust, Taranium, 64, 2500, 0) - .chancedOutput(dust, Osmiridium, 64, 2500, 0) - .chancedOutput(dust, Rhenium, 64, 2500, 0) - .chancedFluidOutput(HeavyEnrichedTaraniumFuel.getFluid(256000), 2500, 0) - .chancedFluidOutput(MediumEnrichedTaraniumFuel.getFluid(256000), 2500, 0) - .chancedFluidOutput(LightEnrichedTaraniumFuel.getFluid(256000), 2500, 0) - .chancedFluidOutput(IndiumGalliumPhosphide.getFluid(128000), 2500, 0) - .chancedFluidOutput(Ruridit.getFluid(128000), 2500, 0) - .chancedFluidOutput(NaquadriaEnergetic.getFluid(64000), 2500, 0) - .EUt(VA[UEV]) - .duration(20 * SECOND) - .tier(3) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_STELLAR_CORE) + input(dust, Bedrockium, 32) + input(dust, Naquadah, 32) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + fluidInputs(Fluorine.getFluid(16000)) + chancedOutput(dust, Bedrockium, 64, 2500, 0) + chancedOutput(dust, Adamantium, 64, 2500, 0) + chancedOutput(dust, Vibranium, 64, 2500, 0) + chancedOutput(dust, Taranium, 64, 2500, 0) + chancedOutput(dust, Osmiridium, 64, 2500, 0) + chancedOutput(dust, Rhenium, 64, 2500, 0) + chancedFluidOutput(HeavyEnrichedTaraniumFuel.getFluid(256000), 2500, 0) + chancedFluidOutput(MediumEnrichedTaraniumFuel.getFluid(256000), 2500, 0) + chancedFluidOutput(LightEnrichedTaraniumFuel.getFluid(256000), 2500, 0) + chancedFluidOutput(IndiumGalliumPhosphide.getFluid(128000), 2500, 0) + chancedFluidOutput(Ruridit.getFluid(128000), 2500, 0) + chancedFluidOutput(NaquadriaEnergetic.getFluid(64000), 2500, 0) + EUt(VA[UEV]) + duration(20 * SECOND) + tier(3) + } // Artificial Gems - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ARTIFICIAL_GEM) - .input(dust, Zirconium, 16) - .input(dust, Silicon, 16) - .input(dust, Boron, 16) - .input(dust, RareEarth, 32) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .chancedOutput(gem, CubicZirconia, 64, 2500, 0) - .chancedOutput(gem, CubicBoronNitride, 64, 2500, 0) - .chancedOutput(gem, CubicSiliconNitride, 64, 2500, 0) - .chancedOutput(gem, NdYAG, 64, 2500, 0) - .chancedOutput(gem, LuTmYVO, 64, 2500, 0) - .chancedOutput(gem, PrHoYLF, 64, 2500, 0) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .tier(2) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ARTIFICIAL_GEM) + input(dust, Zirconium, 16) + input(dust, Silicon, 16) + input(dust, Boron, 16) + input(dust, RareEarth, 32) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + chancedOutput(gem, CubicZirconia, 64, 2500, 0) + chancedOutput(gem, CubicBoronNitride, 64, 2500, 0) + chancedOutput(gem, CubicSiliconNitride, 64, 2500, 0) + chancedOutput(gem, NdYAG, 64, 2500, 0) + chancedOutput(gem, LuTmYVO, 64, 2500, 0) + chancedOutput(gem, PrHoYLF, 64, 2500, 0) + EUt(VA[UHV]) + duration(10 * SECOND) + tier(2) + } // Organic Dye 1 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ORGANIC_DYE) - .input(dust, Lead, 64) - .input(dust, Chrome, 16) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .chancedOutput(dust, LeadNitrate, 64, 2500, 0) - .chancedOutput(dust, DiaminostilbenedisulfonicAcid, 64, 2500, 0) - .chancedOutput(dust, LeadChromate, 64, 2500, 0) - .chancedOutput(dust, Fluorescein, 64, 2500, 0) - .chancedOutput(dust, CyanIndigo, 64, 2500, 0) - .chancedOutput(dust, Indigo, 64, 2500, 0) - .chancedFluidOutput(DyeWhite.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeOrange.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeMagenta.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeLightBlue.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeYellow.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeLime.getFluid(256000), 2500, 0) - .EUt(VA[UV]) - .duration(10 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ORGANIC_DYE) + input(dust, Lead, 64) + input(dust, Chrome, 16) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + chancedOutput(dust, LeadNitrate, 64, 2500, 0) + chancedOutput(dust, DiaminostilbenedisulfonicAcid, 64, 2500, 0) + chancedOutput(dust, LeadChromate, 64, 2500, 0) + chancedOutput(dust, Fluorescein, 64, 2500, 0) + chancedOutput(dust, CyanIndigo, 64, 2500, 0) + chancedOutput(dust, Indigo, 64, 2500, 0) + chancedFluidOutput(DyeWhite.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeOrange.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeMagenta.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeLightBlue.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeYellow.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeLime.getFluid(256000), 2500, 0) + EUt(VA[UV]) + duration(10 * SECOND) + tier(1) + } // Organic Dye 2 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ORGANIC_DYE) - .input(dust, Iron, 16) - .input(dust, Cobalt, 16) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .chancedOutput(dust, CobaltAluminate, 64, 2500, 0) - .chancedOutput(dust, PrussianBlue, 64, 2500, 0) - .chancedOutput(dust, Sienna, 64, 2500, 0) - .chancedOutput(dust, DirectBrown77, 64, 2500, 0) - .chancedOutput(dust, ScheelesGreen, 64, 2500, 0) - .chancedOutput(dust, Erythrosine, 64, 2500, 0) - .chancedFluidOutput(DyePink.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeGray.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeLightGray.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeCyan.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyePurple.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeBlue.getFluid(256000), 2500, 0) - .EUt(VA[UV]) - .duration(10 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ORGANIC_DYE) + input(dust, Iron, 16) + input(dust, Cobalt, 16) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + chancedOutput(dust, CobaltAluminate, 64, 2500, 0) + chancedOutput(dust, PrussianBlue, 64, 2500, 0) + chancedOutput(dust, Sienna, 64, 2500, 0) + chancedOutput(dust, DirectBrown77, 64, 2500, 0) + chancedOutput(dust, ScheelesGreen, 64, 2500, 0) + chancedOutput(dust, Erythrosine, 64, 2500, 0) + chancedFluidOutput(DyePink.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeGray.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeLightGray.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeCyan.getFluid(256000), 2500, 0) + chancedFluidOutput(DyePurple.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeBlue.getFluid(256000), 2500, 0) + EUt(VA[UV]) + duration(10 * SECOND) + tier(1) + } // Organic Dye 3 - QUANTUM_FORCE_TRANSFORMER_RECIPES.recipeBuilder() - .notConsumable(CATALYST_ORGANIC_DYE) - .input(dust, Carbon, 32) - .fluidInputs(Oxygen.getFluid(16000)) - .fluidInputs(Hydrogen.getFluid(16000)) - .fluidInputs(Nitrogen.getFluid(16000)) - .chancedOutput(dust, BurntSienna, 64, 2500, 0) - .chancedOutput(dust, Graphite, 64, 2500, 0) - .chancedOutput(dust, Graphene, 64, 2500, 0) - .chancedOutput(dust, Nigrosin, 64, 2500, 0) - .chancedOutput(dust, Diketopyrrolopyrrole, 64, 2500, 0) - .chancedOutput(dust, EosinY, 64, 2500, 0) - .chancedFluidOutput(DyeBrown.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeGreen.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeRed.getFluid(256000), 2500, 0) - .chancedFluidOutput(DyeBlack.getFluid(256000), 2500, 0) - .chancedFluidOutput(SulfuricAcid.getFluid(128000), 2500, 0) - .chancedFluidOutput(AquaRegia.getFluid(128000), 2500, 0) - .EUt(VA[UV]) - .duration(10 * SECOND) - .tier(1) - .buildAndRegister() + QUANTUM_FORCE_TRANSFORMER_RECIPES.addRecipe { + notConsumable(CATALYST_ORGANIC_DYE) + input(dust, Carbon, 32) + fluidInputs(Oxygen.getFluid(16000)) + fluidInputs(Hydrogen.getFluid(16000)) + fluidInputs(Nitrogen.getFluid(16000)) + chancedOutput(dust, BurntSienna, 64, 2500, 0) + chancedOutput(dust, Graphite, 64, 2500, 0) + chancedOutput(dust, Graphene, 64, 2500, 0) + chancedOutput(dust, Nigrosin, 64, 2500, 0) + chancedOutput(dust, Diketopyrrolopyrrole, 64, 2500, 0) + chancedOutput(dust, EosinY, 64, 2500, 0) + chancedFluidOutput(DyeBrown.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeGreen.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeRed.getFluid(256000), 2500, 0) + chancedFluidOutput(DyeBlack.getFluid(256000), 2500, 0) + chancedFluidOutput(SulfuricAcid.getFluid(128000), 2500, 0) + chancedFluidOutput(AquaRegia.getFluid(128000), 2500, 0) + EUt(VA[UV]) + duration(10 * SECOND) + tier(1) + } } private fun catalystRecipes() { // Catalyst Base - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(20) - .input(plate, Steel, 8) - .input(wireFine, Copper, 4) - .input(screw, Tin, 6) - .output(CATALYST_BASE) - .EUt(VH[LV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(20) + input(plate, Steel, 8) + input(wireFine, Copper, 4) + input(screw, Tin, 6) + output(CATALYST_BASE) + EUt(VH[LV]) + duration(10 * SECOND) + } // Rubber Polymer Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, SiliconeRubber, 64) - .input(dust, StyreneButadieneRubber, 64) - .input(dust, Rubber, 64) - .input(dust, PolyphenyleneSulfide, 64) - .input(nanite, Carbon, 16) - .fluidInputs(Neutronium.getFluid(L * 4)) - .output(CATALYST_RUBBER_POLYMER) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, SiliconeRubber, 64) + input(dust, StyreneButadieneRubber, 64) + input(dust, Rubber, 64) + input(dust, PolyphenyleneSulfide, 64) + input(nanite, Carbon, 16) + fluidInputs(Neutronium.getFluid(L * 4)) + output(CATALYST_RUBBER_POLYMER) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Advanced Rubber Polymer Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, PolyphosphonitrileFluoroRubber, 64) - .input(dust, PolytetramethyleneGlycolRubber, 64) - .input(dust, Polyetheretherketone, 64) - .input(dust, Zylon, 64) - .input(nanite, Carbon, 16) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CATALYST_ADVANCED_RUBBER_POLYMER) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, PolyphosphonitrileFluoroRubber, 64) + input(dust, PolytetramethyleneGlycolRubber, 64) + input(dust, Polyetheretherketone, 64) + input(dust, Zylon, 64) + input(nanite, Carbon, 16) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CATALYST_ADVANCED_RUBBER_POLYMER) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Plastic Polymer Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Polybenzimidazole, 64) - .input(dust, Polytetrafluoroethylene, 64) - .input(nanite, Carbon, 16) - .fluidInputs(Neutronium.getFluid(L * 4)) - .output(CATALYST_PLASTIC_POLYMER) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Polybenzimidazole, 64) + input(dust, Polytetrafluoroethylene, 64) + input(nanite, Carbon, 16) + fluidInputs(Neutronium.getFluid(L * 4)) + output(CATALYST_PLASTIC_POLYMER) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Advanced Plastic Polymer Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Kevlar, 64) - .input(dust, KaptonE, 64) - .input(dust, PolyethyleneTerephthalate, 64) - .input(dust, Polymethylmethacrylate, 64) - .input(nanite, Carbon, 16) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CATALYST_ADVANCED_PLASTIC_POLYMER) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Kevlar, 64) + input(dust, KaptonE, 64) + input(dust, PolyethyleneTerephthalate, 64) + input(dust, Polymethylmethacrylate, 64) + input(nanite, Carbon, 16) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CATALYST_ADVANCED_PLASTIC_POLYMER) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // Ultimate Plastic Polymer Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, FullerenePolymerMatrix, 64) - .input(dust, CarbonNanotube, 64) - .input(dust, Fullerene, 64) - .input(dust, Phosphorene, 64) - .input(dust, PedotPSS, 64) - .input(dust, PedotTMA, 64) - .input(nanite, TranscendentMetal) - .fluidInputs(Shirabon.getFluid(L * 4)) - .output(CATALYST_ULTIMATE_PLASTIC_POLYMER) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, FullerenePolymerMatrix, 64) + input(dust, CarbonNanotube, 64) + input(dust, Fullerene, 64) + input(dust, Phosphorene, 64) + input(dust, PedotPSS, 64) + input(dust, PedotTMA, 64) + input(nanite, TranscendentMetal) + fluidInputs(Shirabon.getFluid(L * 4)) + output(CATALYST_ULTIMATE_PLASTIC_POLYMER) + EUt(VA[UIV]) + duration(10 * SECOND) + cleanroom() + } // Platinum Group Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, RhodiumPlatedPalladium, 64) - .input(dust, Osmiridium, 64) - .input(dust, Ruridit, 64) - .input(nanite, Carbon, 16) - .fluidInputs(Neutronium.getFluid(L * 4)) - .output(CATALYST_PLATINUM_GROUP) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, RhodiumPlatedPalladium, 64) + input(dust, Osmiridium, 64) + input(dust, Ruridit, 64) + input(nanite, Carbon, 16) + fluidInputs(Neutronium.getFluid(L * 4)) + output(CATALYST_PLATINUM_GROUP) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Radioactive Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Uranium235, 64) - .input(dust, Uranium238, 64) - .input(dust, Plutonium239, 64) - .input(dust, Plutonium241, 64) - .input(dust, Plutonium244, 64) - .input(dust, Thorium, 64) - .input(nanite, Carbon, 16) - .fluidInputs(Tritanium.getFluid(L * 4)) - .output(CATALYST_RADIOACTIVE) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Uranium235, 64) + input(dust, Uranium238, 64) + input(dust, Plutonium239, 64) + input(dust, Plutonium241, 64) + input(dust, Plutonium244, 64) + input(dust, Thorium, 64) + input(nanite, Carbon, 16) + fluidInputs(Tritanium.getFluid(L * 4)) + output(CATALYST_RADIOACTIVE) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Advanced Radioactive Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Protactinium, 64) - .input(dust, Neptunium, 64) - .input(dust, Americium, 64) - .input(dust, Curium, 64) - .input(dust, Berkelium, 64) - .input(dust, Californium, 64) - .input(nanite, Neutronium, 4) - .fluidInputs(Neutronium.getFluid(L * 4)) - .output(CATALYST_ADVANCED_RADIOACTIVE) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Protactinium, 64) + input(dust, Neptunium, 64) + input(dust, Americium, 64) + input(dust, Curium, 64) + input(dust, Berkelium, 64) + input(dust, Californium, 64) + input(nanite, Neutronium, 4) + fluidInputs(Neutronium.getFluid(L * 4)) + output(CATALYST_ADVANCED_RADIOACTIVE) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Ultimate Radioactive Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Einsteinium, 64) - .input(dust, Fermium, 64) - .input(dust, Mendelevium, 64) - .input(dust, Nobelium, 64) - .input(dust, Lawrencium, 64) - .input(dust, Rutherfordium, 64) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CATALYST_ULTIMATE_RADIOACTIVE) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Einsteinium, 64) + input(dust, Fermium, 64) + input(dust, Mendelevium, 64) + input(dust, Nobelium, 64) + input(dust, Lawrencium, 64) + input(dust, Rutherfordium, 64) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CATALYST_ULTIMATE_RADIOACTIVE) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // Titanium Tungsten Indium Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Titanium, 64) - .input(dust, Tungsten, 64) - .input(dust, Indium, 64) - .fluidInputs(Tritanium.getFluid(L * 4)) - .output(CATALYST_TITANIUM_TUNGSTEN_INDIUM) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Titanium, 64) + input(dust, Tungsten, 64) + input(dust, Indium, 64) + fluidInputs(Tritanium.getFluid(L * 4)) + output(CATALYST_TITANIUM_TUNGSTEN_INDIUM) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Adhesion Promoter Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, BatteryAlloy, 64) - .input(dust, Tin, 64) - .input(nanite, Carbon, 32) - .fluidInputs(Glue.getFluid(64000)) - .output(CATALYST_ADHESION_PROMOTER) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, BatteryAlloy, 64) + input(dust, Tin, 64) + input(nanite, Carbon, 32) + fluidInputs(Glue.getFluid(64000)) + output(CATALYST_ADHESION_PROMOTER) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Rare Earth Group Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Lutetium, 64) - .input(dust, Thulium, 64) - .input(dust, Gadolinium, 64) - .input(nanite, Silver, 4) - .fluidInputs(Neutronium.getFluid(L * 4)) - .output(CATALYST_RARE_EARTH_GROUP) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Lutetium, 64) + input(dust, Thulium, 64) + input(dust, Gadolinium, 64) + input(nanite, Silver, 4) + fluidInputs(Neutronium.getFluid(L * 4)) + output(CATALYST_RARE_EARTH_GROUP) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Rare Metal Group Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Molybdenum, 64) - .input(dust, Gallium, 64) - .input(dust, Germanium, 64) - .input(dust, Rhenium, 64) - .input(nanite, Copper, 4) - .fluidInputs(Tritanium.getFluid(L * 4)) - .output(CATALYST_RARE_METAL_GROUP) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Molybdenum, 64) + input(dust, Gallium, 64) + input(dust, Germanium, 64) + input(dust, Rhenium, 64) + input(nanite, Copper, 4) + fluidInputs(Tritanium.getFluid(L * 4)) + output(CATALYST_RARE_METAL_GROUP) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Naquadah Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Naquadria, 64) - .input(dust, Trinium, 64) - .input(dust, Technetium, 64) - .input(nanite, Neutronium, 4) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CATALYST_NAQUADAH) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Naquadria, 64) + input(dust, Trinium, 64) + input(dust, Technetium, 64) + input(nanite, Neutronium, 4) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CATALYST_NAQUADAH) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // Raw Intelligence Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(STEM_CELLS, 64) - .input(nanite, Gold, 4) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CATALYST_RAW_INTELLIGENCE) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(STEM_CELLS, 64) + input(nanite, Gold, 4) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CATALYST_RAW_INTELLIGENCE) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Biological Intelligence Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, BrevibacteriumFlavum, 64) - .input(dust, CupriavidusNecator, 64) - .input(dust, StreptococcusPyogenes, 64) - .input(dust, EscherichiaColi, 64) - .input(nanite, TranscendentMetal) - .fluidInputs(Hypogen.getFluid(L * 4)) - .output(CATALYST_BIOLOGICAL_INTELLIGENCE) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, BrevibacteriumFlavum, 64) + input(dust, CupriavidusNecator, 64) + input(dust, StreptococcusPyogenes, 64) + input(dust, EscherichiaColi, 64) + input(nanite, TranscendentMetal) + fluidInputs(Hypogen.getFluid(L * 4)) + output(CATALYST_BIOLOGICAL_INTELLIGENCE) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // High Explosive Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Hexanitrohexaaxaisowurtzitane, 64) - .input(dust, Octaazacubane, 64) - .input(nanite, Carbon, 16) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CATALYST_HIGH_EXPLOSIVE) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Hexanitrohexaaxaisowurtzitane, 64) + input(dust, Octaazacubane, 64) + input(nanite, Carbon, 16) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CATALYST_HIGH_EXPLOSIVE) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Temporal Harmony Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Shirabon, 64) - .input(nanite, Universium) - .input(TIMEPIECE) - .fluidInputs(SpaceTime.getFluid(L * 4)) - .output(CATALYST_TEMPORAL_HARMONY) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Shirabon, 64) + input(nanite, Universium) + input(TIMEPIECE) + fluidInputs(SpaceTime.getFluid(L * 4)) + output(CATALYST_TEMPORAL_HARMONY) + EUt(VA[UXV]) + duration(10 * SECOND) + cleanroom() + } // Stellar Core Matter Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, Bedrockium, 64) - .input(dust, Adamantium, 64) - .input(dust, Vibranium, 64) - .input(dust, Taranium, 64) - .input(nanite, Neutronium, 4) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CATALYST_STELLAR_CORE) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, Bedrockium, 64) + input(dust, Adamantium, 64) + input(dust, Vibranium, 64) + input(dust, Taranium, 64) + input(nanite, Neutronium, 4) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CATALYST_STELLAR_CORE) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // Artificial Gem Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(gem, CubicZirconia, 64) - .input(gem, CubicBoronNitride, 64) - .input(gem, CubicSiliconNitride, 64) - .input(gem, NdYAG, 64) - .input(gem, LuTmYVO, 64) - .input(gem, PrHoYLF, 64) - .input(nanite, TranscendentMetal) - .fluidInputs(CosmicNeutronium.getFluid(L * 4)) - .output(CATALYST_ARTIFICIAL_GEM) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(gem, CubicZirconia, 64) + input(gem, CubicBoronNitride, 64) + input(gem, CubicSiliconNitride, 64) + input(gem, NdYAG, 64) + input(gem, LuTmYVO, 64) + input(gem, PrHoYLF, 64) + input(nanite, TranscendentMetal) + fluidInputs(CosmicNeutronium.getFluid(L * 4)) + output(CATALYST_ARTIFICIAL_GEM) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // Organic Dye Catalyst - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(21) - .input(CATALYST_BASE) - .input(dust, DiaminostilbenedisulfonicAcid, 64) - .input(dust, Fluorescein, 64) - .input(dust, CyanIndigo, 64) - .input(dust, PrussianBlue, 64) - .input(dust, DirectBrown77, 64) - .input(dust, Erythrosine, 64) - .input(nanite, Carbon, 16) - .fluidInputs(Neutronium.getFluid(L * 4)) - .output(CATALYST_ORGANIC_DYE) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(21) + input(CATALYST_BASE) + input(dust, DiaminostilbenedisulfonicAcid, 64) + input(dust, Fluorescein, 64) + input(dust, CyanIndigo, 64) + input(dust, PrussianBlue, 64) + input(dust, DirectBrown77, 64) + input(dust, Erythrosine, 64) + input(nanite, Carbon, 16) + fluidInputs(Neutronium.getFluid(L * 4)) + output(CATALYST_ORGANIC_DYE) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SapCollectorRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SapCollectorRecipes.kt index 3c73ac316..c112ec003 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SapCollectorRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SapCollectorRecipes.kt @@ -6,6 +6,7 @@ import gregtech.api.unification.material.Materials.DistilledWater import gregtech.api.unification.material.Materials.Lubricant import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.SAP_COLLECTOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.RainbowSap import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Resin @@ -20,30 +21,30 @@ internal object SapCollectorRecipes fun init() { - // Vanilla logs. - SAP_COLLECTOR_RECIPES.recipeBuilder() - .notConsumable(DistilledWater.getFluid(10)) - .fluidOutputs(Resin.getFluid(100)) - .EUt(VA[ULV].toLong()) - .duration(1 * SECOND) - .blockStates("common", arrayListOf( + // Vanilla Logs + SAP_COLLECTOR_RECIPES.addRecipe { + notConsumable(DistilledWater.getFluid(10)) + fluidOutputs(Resin.getFluid(100)) + EUt(VA[ULV].toLong()) + duration(1 * SECOND) + blockStates("common", arrayListOf( Blocks.LOG.getStateFromMeta(0), Blocks.LOG.getStateFromMeta(1), Blocks.LOG.getStateFromMeta(2), Blocks.LOG.getStateFromMeta(3), Blocks.LOG2.getStateFromMeta(0), Blocks.LOG2.getStateFromMeta(1))) - .buildAndRegister() + } - // Rainbow logs. - SAP_COLLECTOR_RECIPES.recipeBuilder() - .notConsumable(Lubricant.getFluid(10)) - .fluidOutputs(RainbowSap.getFluid(100)) - .EUt(VA[ULV]) - .duration(1 * SECOND) - .blockStates("rainbow", arrayListOf( + // Rainbow Log + SAP_COLLECTOR_RECIPES.addRecipe { + notConsumable(Lubricant.getFluid(10)) + fluidOutputs(RainbowSap.getFluid(100)) + EUt(VA[ULV]) + duration(1 * SECOND) + blockStates("rainbow", arrayListOf( GTLiteBlocks.LOGS[2].getStateFromMeta(5))) - .buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SifterRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SifterRecipes.kt index 10677437b..651bf8d86 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SifterRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SifterRecipes.kt @@ -6,6 +6,8 @@ import gregtech.api.recipes.RecipeMaps.SIFTER_RECIPES import gregtech.common.items.MetaItems.PLANT_BALL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ARTICHOKE_SEED import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.AUBERGINE_SEED import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.BASIL_SEED @@ -36,50 +38,49 @@ internal object SifterRecipes fun init() { // Planet ball split. - SIFTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(PLANT_BALL) - .chancedOutput(ItemStack(Items.WHEAT_SEEDS), 4500, 750) - .chancedOutput(ItemStack(Items.PUMPKIN_SEEDS), 3750, 600) - .chancedOutput(ItemStack(Items.MELON_SEEDS), 3250, 550) - .chancedOutput(ItemStack(Items.BEETROOT_SEEDS), 2850, 450) - .chancedOutput(COFFEE_SEED.stackForm, 2700, 425) - .chancedOutput(TOMATO_SEED.stackForm, 2650, 400) - .chancedOutput(ONION_SEED.stackForm, 2450, 375) - .chancedOutput(CUCUMBER_SEED.stackForm, 2300, 325) - .chancedOutput(GRAPE_SEED.stackForm, 2250, 275) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + SIFTER_RECIPES.addRecipe { + circuitMeta(1) + input(PLANT_BALL) + chancedOutput(ItemStack(Items.WHEAT_SEEDS), 4500, 750) + chancedOutput(ItemStack(Items.PUMPKIN_SEEDS), 3750, 600) + chancedOutput(ItemStack(Items.MELON_SEEDS), 3250, 550) + chancedOutput(ItemStack(Items.BEETROOT_SEEDS), 2850, 450) + chancedOutput(COFFEE_SEED.stack(), 2700, 425) + chancedOutput(TOMATO_SEED.stack(), 2650, 400) + chancedOutput(ONION_SEED.stack(), 2450, 375) + chancedOutput(CUCUMBER_SEED.stack(), 2300, 325) + chancedOutput(GRAPE_SEED.stack(), 2250, 275) + EUt(VA[LV]) + duration(5 * SECOND) + } - SIFTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(PLANT_BALL) - .chancedOutput(SOY_SEED.stackForm, 3500, 750) - .chancedOutput(BEAN_SEED.stackForm, 3350, 700) - .chancedOutput(PEA_SEED.stackForm, 3200, 675) - .chancedOutput(OREGANO_SEED.stackForm, 3150, 650) - .chancedOutput(HORSERADISH_SEED.stackForm, 3000, 600) - .chancedOutput(GARLIC_SEED.stackForm, 2750, 550) - .chancedOutput(BASIL_SEED.stackForm, 2550, 475) - .chancedOutput(AUBERGINE_SEED, 2400, 425) - .chancedOutput(CORN_SEED.stackForm, 2250, 350) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - SIFTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(PLANT_BALL) - .chancedOutput(ARTICHOKE_SEED.stackForm, 3500, 750) - .chancedOutput(BLACK_PEPPER_SEED.stackForm, 3250, 600) - .chancedOutput(RICE_SEED.stackForm, 3000, 550) - .chancedOutput(WHITE_GRAPE_SEED.stackForm, 2750, 475) - .chancedOutput(COTTON_SEED.stackForm, 2500, 350) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + SIFTER_RECIPES.addRecipe { + circuitMeta(2) + input(PLANT_BALL) + chancedOutput(SOY_SEED.stack(), 3500, 750) + chancedOutput(BEAN_SEED.stack(), 3350, 700) + chancedOutput(PEA_SEED.stack(), 3200, 675) + chancedOutput(OREGANO_SEED.stack(), 3150, 650) + chancedOutput(HORSERADISH_SEED.stack(), 3000, 600) + chancedOutput(GARLIC_SEED.stack(), 2750, 550) + chancedOutput(BASIL_SEED.stack(), 2550, 475) + chancedOutput(AUBERGINE_SEED, 2400, 425) + chancedOutput(CORN_SEED.stack(), 2250, 350) + EUt(VA[LV]) + duration(5 * SECOND) + } + SIFTER_RECIPES.addRecipe { + circuitMeta(3) + input(PLANT_BALL) + chancedOutput(ARTICHOKE_SEED.stack(), 3500, 750) + chancedOutput(BLACK_PEPPER_SEED.stack(), 3250, 600) + chancedOutput(RICE_SEED.stack(), 3000, 550) + chancedOutput(WHITE_GRAPE_SEED.stack(), 2750, 475) + chancedOutput(COTTON_SEED.stack(), 2500, 350) + EUt(VA[LV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SingularityAssemblyUnitRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SingularityAssemblyUnitRecipes.kt index d13e88707..07328af65 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SingularityAssemblyUnitRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SingularityAssemblyUnitRecipes.kt @@ -32,6 +32,7 @@ import gregtech.common.items.MetaItems.WETWARE_SUPER_COMPUTER_UV import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.SINGULARITY_ASSEMBLY_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BoronFranciumCarbideSuperconductor @@ -115,7 +116,7 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.WRAP_SUPRACAUSAL_SMD_ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.WRAP_UHASOC_CHIP import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.WRAP_ULTIMATE_CIRCUIT_BOARD -// TODO: producer or recipe action. +// TODO: Change to Recipe Producer or Recipe Action (Backend). object SingularityAssemblyUnitRecipes { @@ -126,676 +127,676 @@ object SingularityAssemblyUnitRecipes // region T6: Crystal // UV Crystal Mainframe - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, HSSE, 16) - .input(CRYSTAL_COMPUTER_ZPM, 32) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 16) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 16) - .input(WRAP_ADVANCED_SMD_DIODE, 16) - .input(WRAP_HPIC_CHIP, 2) - .input(WRAP_RAM_CHIP, 32) - .input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(CRYSTAL_MAINFRAME_UV, 16) - .EUt(VA[LuV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, HSSE, 16 * 64) - .input(CRYSTAL_COMPUTER_ZPM, 32 * 64) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 16 * 64) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 16 * 64) - .input(WRAP_ADVANCED_SMD_DIODE, 16 * 64) - .input(WRAP_HPIC_CHIP, 2 * 64) - .input(WRAP_RAM_CHIP, 32 * 64) - .input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 10 * 64)) - .output(CRYSTAL_MAINFRAME_UV, 16 * 64) - .EUt(VA[LuV]) - .duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, HSSE, 16) - .input(CRYSTAL_COMPUTER_ZPM, 32) - .input(WRAP_GOOWARE_SMD_INDUCTOR, 4) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 4) - .input(WRAP_GOOWARE_SMD_DIODE, 4) - .input(WRAP_HPIC_CHIP, 2) - .input(WRAP_RAM_CHIP, 32) - .input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(CRYSTAL_MAINFRAME_UV, 16) - .EUt(VA[LuV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, HSSE, 16 * 64) - .input(CRYSTAL_COMPUTER_ZPM, 32 * 64) - .input(WRAP_GOOWARE_SMD_INDUCTOR, 4 * 64) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 4 * 64) - .input(WRAP_GOOWARE_SMD_DIODE, 4 * 64) - .input(WRAP_HPIC_CHIP, 2 * 64) - .input(WRAP_RAM_CHIP, 32 * 64) - .input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 10 * 64)) - .output(CRYSTAL_MAINFRAME_UV, 16 * 64) - .EUt(VA[LuV]) - .duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, HSSE, 16) - .input(CRYSTAL_COMPUTER_ZPM, 32) - .input(WRAP_OPTICAL_SMD_INDUCTOR) - .input(WRAP_OPTICAL_SMD_CAPACITOR) - .input(WRAP_OPTICAL_SMD_DIODE) - .input(WRAP_HPIC_CHIP, 2) - .input(WRAP_RAM_CHIP, 32) - .input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(CRYSTAL_MAINFRAME_UV, 16) - .EUt(VA[LuV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, HSSE, 16 * 64) - .input(CRYSTAL_COMPUTER_ZPM, 32 * 64) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 64) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 64) - .input(WRAP_OPTICAL_SMD_DIODE, 64) - .input(WRAP_HPIC_CHIP, 2 * 64) - .input(WRAP_RAM_CHIP, 32 * 64) - .input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 10 * 64)) - .output(CRYSTAL_MAINFRAME_UV, 16 * 64) - .EUt(VA[LuV]) - .duration(2 * MINUTE * 64) // Original: 10s, Wrapped: 10s * 16 = 160s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, HSSE, 16) + input(CRYSTAL_COMPUTER_ZPM, 32) + input(WRAP_ADVANCED_SMD_INDUCTOR, 16) + input(WRAP_ADVANCED_SMD_CAPACITOR, 16) + input(WRAP_ADVANCED_SMD_DIODE, 16) + input(WRAP_HPIC_CHIP, 2) + input(WRAP_RAM_CHIP, 32) + input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(CRYSTAL_MAINFRAME_UV, 16) + EUt(VA[LuV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, HSSE, 16 * 64) + input(CRYSTAL_COMPUTER_ZPM, 32 * 64) + input(WRAP_ADVANCED_SMD_INDUCTOR, 16 * 64) + input(WRAP_ADVANCED_SMD_CAPACITOR, 16 * 64) + input(WRAP_ADVANCED_SMD_DIODE, 16 * 64) + input(WRAP_HPIC_CHIP, 2 * 64) + input(WRAP_RAM_CHIP, 32 * 64) + input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 10 * 64)) + output(CRYSTAL_MAINFRAME_UV, 16 * 64) + EUt(VA[LuV]) + duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, HSSE, 16) + input(CRYSTAL_COMPUTER_ZPM, 32) + input(WRAP_GOOWARE_SMD_INDUCTOR, 4) + input(WRAP_GOOWARE_SMD_CAPACITOR, 4) + input(WRAP_GOOWARE_SMD_DIODE, 4) + input(WRAP_HPIC_CHIP, 2) + input(WRAP_RAM_CHIP, 32) + input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(CRYSTAL_MAINFRAME_UV, 16) + EUt(VA[LuV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, HSSE, 16 * 64) + input(CRYSTAL_COMPUTER_ZPM, 32 * 64) + input(WRAP_GOOWARE_SMD_INDUCTOR, 4 * 64) + input(WRAP_GOOWARE_SMD_CAPACITOR, 4 * 64) + input(WRAP_GOOWARE_SMD_DIODE, 4 * 64) + input(WRAP_HPIC_CHIP, 2 * 64) + input(WRAP_RAM_CHIP, 32 * 64) + input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 10 * 64)) + output(CRYSTAL_MAINFRAME_UV, 16 * 64) + EUt(VA[LuV]) + duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, HSSE, 16) + input(CRYSTAL_COMPUTER_ZPM, 32) + input(WRAP_OPTICAL_SMD_INDUCTOR) + input(WRAP_OPTICAL_SMD_CAPACITOR) + input(WRAP_OPTICAL_SMD_DIODE) + input(WRAP_HPIC_CHIP, 2) + input(WRAP_RAM_CHIP, 32) + input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(CRYSTAL_MAINFRAME_UV, 16) + EUt(VA[LuV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, HSSE, 16 * 64) + input(CRYSTAL_COMPUTER_ZPM, 32 * 64) + input(WRAP_OPTICAL_SMD_INDUCTOR, 64) + input(WRAP_OPTICAL_SMD_CAPACITOR, 64) + input(WRAP_OPTICAL_SMD_DIODE, 64) + input(WRAP_HPIC_CHIP, 2 * 64) + input(WRAP_RAM_CHIP, 32 * 64) + input(wireGtHex, IndiumTinBariumTitaniumCuprate, 8 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 10 * 64)) + output(CRYSTAL_MAINFRAME_UV, 16 * 64) + EUt(VA[LuV]) + duration(2 * MINUTE * 64) // Original: 10s, Wrapped: 10s * 16 = 160s + } // endregion // region T7: Wetware // UHV Wetware Mainframe - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Tritanium, 16) - .input(WETWARE_SUPER_COMPUTER_UV, 32) - .input(WRAP_ADVANCED_SMD_DIODE, 32) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 32) - .input(WRAP_ADVANCED_SMD_TRANSISTOR, 32) - .input(WRAP_ADVANCED_SMD_RESISTOR, 32) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 32) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Europium.getFluid(L * 4 * 64)) // plate (144) * 4 * 64 - .output(WETWARE_MAINFRAME_UHV, 16) - .EUt(300_000) // UV - .duration(12 * MINUTE) // Original: 60s, Wrapped: 60s * 16 = 960s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Tritanium, 16 * 64) - .input(WETWARE_SUPER_COMPUTER_UV, 32 * 64) - .input(WRAP_ADVANCED_SMD_DIODE, 32 * 64) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 32 * 64) - .input(WRAP_ADVANCED_SMD_TRANSISTOR, 32 * 64) - .input(WRAP_ADVANCED_SMD_RESISTOR, 32 * 64) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 32 * 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 20 * 64)) - .fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Europium.getFluid(L * 4 * 64 * 64)) // plate (144) * 4 * 64 - .output(WETWARE_MAINFRAME_UHV, 16 * 64) - .EUt(300_000) // UV - .duration(12 * MINUTE * 64) // Original: 60s, Wrapped: 60s * 16 = 960s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Tritanium, 16) - .input(WETWARE_SUPER_COMPUTER_UV, 32) - .input(WRAP_GOOWARE_SMD_DIODE, 8) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 8) - .input(WRAP_GOOWARE_SMD_TRANSISTOR, 8) - .input(WRAP_GOOWARE_SMD_RESISTOR, 8) - .input(WRAP_GOOWARE_SMD_INDUCTOR, 8) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Europium.getFluid(L * 4 * 64)) // plate (144) * 4 * 64 - .output(WETWARE_MAINFRAME_UHV, 16) - .EUt(300_000) // UV - .duration(6 * MINUTE) // Original: 30s, Wrapped: 30s * 16 = 480s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Tritanium, 16 * 64) - .input(WETWARE_SUPER_COMPUTER_UV, 32 * 64) - .input(WRAP_GOOWARE_SMD_DIODE, 8 * 64) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 8 * 64) - .input(WRAP_GOOWARE_SMD_TRANSISTOR, 8 * 64) - .input(WRAP_GOOWARE_SMD_RESISTOR, 8 * 64) - .input(WRAP_GOOWARE_SMD_INDUCTOR, 8 * 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 20 * 64)) - .fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Europium.getFluid(L * 4 * 64 * 64)) // plate (144) * 4 * 64 - .output(WETWARE_MAINFRAME_UHV, 16 * 64) - .EUt(300_000) // UV - .duration(6 * MINUTE * 64) // Original: 30s, Wrapped: 30s * 16 = 480s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Tritanium, 16) - .input(WETWARE_SUPER_COMPUTER_UV, 32) - .input(WRAP_OPTICAL_SMD_DIODE, 2) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 2) - .input(WRAP_OPTICAL_SMD_TRANSISTOR, 2) - .input(WRAP_OPTICAL_SMD_RESISTOR, 2) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 2) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Europium.getFluid(L * 4 * 64)) // plate (144) * 4 * 64 - .output(WETWARE_MAINFRAME_UHV, 16) - .EUt(300_000) // UV - .duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Tritanium, 16 * 64) - .input(WETWARE_SUPER_COMPUTER_UV, 32 * 64) - .input(WRAP_OPTICAL_SMD_DIODE, 2 * 64) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 2 * 64) - .input(WRAP_OPTICAL_SMD_TRANSISTOR, 2 * 64) - .input(WRAP_OPTICAL_SMD_RESISTOR, 2 * 64) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 2 * 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 20 * 64)) - .fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Europium.getFluid(L * 4 * 64 * 64)) // plate (144) * 4 * 64 - .output(WETWARE_MAINFRAME_UHV, 16 * 64) - .EUt(300_000) // UV - .duration(3 * MINUTE * 64) // Original: 15s, Wrapped: 15s * 16 = 240s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Tritanium, 16) + input(WETWARE_SUPER_COMPUTER_UV, 32) + input(WRAP_ADVANCED_SMD_DIODE, 32) + input(WRAP_ADVANCED_SMD_CAPACITOR, 32) + input(WRAP_ADVANCED_SMD_TRANSISTOR, 32) + input(WRAP_ADVANCED_SMD_RESISTOR, 32) + input(WRAP_ADVANCED_SMD_INDUCTOR, 32) + input(WRAP_ARAM_CHIP, 32) + input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Europium.getFluid(L * 4 * 64)) // plate (144) * 4 * 64 + output(WETWARE_MAINFRAME_UHV, 16) + EUt(300_000) // UV + duration(12 * MINUTE) // Original: 60s, Wrapped: 60s * 16 = 960s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Tritanium, 16 * 64) + input(WETWARE_SUPER_COMPUTER_UV, 32 * 64) + input(WRAP_ADVANCED_SMD_DIODE, 32 * 64) + input(WRAP_ADVANCED_SMD_CAPACITOR, 32 * 64) + input(WRAP_ADVANCED_SMD_TRANSISTOR, 32 * 64) + input(WRAP_ADVANCED_SMD_RESISTOR, 32 * 64) + input(WRAP_ADVANCED_SMD_INDUCTOR, 32 * 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 20 * 64)) + fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Europium.getFluid(L * 4 * 64 * 64)) // plate (144) * 4 * 64 + output(WETWARE_MAINFRAME_UHV, 16 * 64) + EUt(300_000) // UV + duration(12 * MINUTE * 64) // Original: 60s, Wrapped: 60s * 16 = 960s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Tritanium, 16) + input(WETWARE_SUPER_COMPUTER_UV, 32) + input(WRAP_GOOWARE_SMD_DIODE, 8) + input(WRAP_GOOWARE_SMD_CAPACITOR, 8) + input(WRAP_GOOWARE_SMD_TRANSISTOR, 8) + input(WRAP_GOOWARE_SMD_RESISTOR, 8) + input(WRAP_GOOWARE_SMD_INDUCTOR, 8) + input(WRAP_ARAM_CHIP, 32) + input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Europium.getFluid(L * 4 * 64)) // plate (144) * 4 * 64 + output(WETWARE_MAINFRAME_UHV, 16) + EUt(300_000) // UV + duration(6 * MINUTE) // Original: 30s, Wrapped: 30s * 16 = 480s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Tritanium, 16 * 64) + input(WETWARE_SUPER_COMPUTER_UV, 32 * 64) + input(WRAP_GOOWARE_SMD_DIODE, 8 * 64) + input(WRAP_GOOWARE_SMD_CAPACITOR, 8 * 64) + input(WRAP_GOOWARE_SMD_TRANSISTOR, 8 * 64) + input(WRAP_GOOWARE_SMD_RESISTOR, 8 * 64) + input(WRAP_GOOWARE_SMD_INDUCTOR, 8 * 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 20 * 64)) + fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Europium.getFluid(L * 4 * 64 * 64)) // plate (144) * 4 * 64 + output(WETWARE_MAINFRAME_UHV, 16 * 64) + EUt(300_000) // UV + duration(6 * MINUTE * 64) // Original: 30s, Wrapped: 30s * 16 = 480s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Tritanium, 16) + input(WETWARE_SUPER_COMPUTER_UV, 32) + input(WRAP_OPTICAL_SMD_DIODE, 2) + input(WRAP_OPTICAL_SMD_CAPACITOR, 2) + input(WRAP_OPTICAL_SMD_TRANSISTOR, 2) + input(WRAP_OPTICAL_SMD_RESISTOR, 2) + input(WRAP_OPTICAL_SMD_INDUCTOR, 2) + input(WRAP_ARAM_CHIP, 32) + input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Europium.getFluid(L * 4 * 64)) // plate (144) * 4 * 64 + output(WETWARE_MAINFRAME_UHV, 16) + EUt(300_000) // UV + duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Tritanium, 16 * 64) + input(WETWARE_SUPER_COMPUTER_UV, 32 * 64) + input(WRAP_OPTICAL_SMD_DIODE, 2 * 64) + input(WRAP_OPTICAL_SMD_CAPACITOR, 2 * 64) + input(WRAP_OPTICAL_SMD_TRANSISTOR, 2 * 64) + input(WRAP_OPTICAL_SMD_RESISTOR, 2 * 64) + input(WRAP_OPTICAL_SMD_INDUCTOR, 2 * 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtHex, EnrichedNaquadahTriniumEuropiumDuranide, 16 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 20 * 64)) + fluidInputs(Polybenzimidazole.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Europium.getFluid(L * 4 * 64 * 64)) // plate (144) * 4 * 64 + output(WETWARE_MAINFRAME_UHV, 16 * 64) + EUt(300_000) // UV + duration(3 * MINUTE * 64) // Original: 15s, Wrapped: 15s * 16 = 240s + } // endregion // region T8: Gooware // UHV Gooware Computer - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_ASSEMBLY_UV, 48) - .input(WRAP_GOOWARE_SMD_DIODE, 8) - .input(WRAP_NOR_CHIP, 16) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtQuadruple, Europium, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .output(GOOWARE_COMPUTER_UHV, 32) - .EUt(VA[UHV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_ULTIMATE_CIRCUIT_BOARD, 64) - .input(GOOWARE_ASSEMBLY_UV, 48 * 64) - .input(WRAP_GOOWARE_SMD_DIODE, 8 * 64) - .input(WRAP_NOR_CHIP, 16 * 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtQuadruple, Europium, 16 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) - .output(GOOWARE_COMPUTER_UHV, 32 * 64) - .EUt(VA[UHV]) - .duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_ASSEMBLY_UV, 48) - .input(WRAP_OPTICAL_SMD_DIODE, 2) - .input(WRAP_NOR_CHIP, 16) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtQuadruple, Europium, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .output(GOOWARE_COMPUTER_UHV, 32) - .EUt(VA[UHV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_ULTIMATE_CIRCUIT_BOARD, 64) - .input(GOOWARE_ASSEMBLY_UV, 48 * 64) - .input(WRAP_OPTICAL_SMD_DIODE, 2 * 64) - .input(WRAP_NOR_CHIP, 16 * 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtQuadruple, Europium, 16 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) - .output(GOOWARE_COMPUTER_UHV, 32 * 64) - .EUt(VA[UHV]) - .duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_ASSEMBLY_UV, 48) + input(WRAP_GOOWARE_SMD_DIODE, 8) + input(WRAP_NOR_CHIP, 16) + input(WRAP_ARAM_CHIP, 32) + input(wireGtQuadruple, Europium, 16) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + output(GOOWARE_COMPUTER_UHV, 32) + EUt(VA[UHV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_ULTIMATE_CIRCUIT_BOARD, 64) + input(GOOWARE_ASSEMBLY_UV, 48 * 64) + input(WRAP_GOOWARE_SMD_DIODE, 8 * 64) + input(WRAP_NOR_CHIP, 16 * 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtQuadruple, Europium, 16 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) + output(GOOWARE_COMPUTER_UHV, 32 * 64) + EUt(VA[UHV]) + duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_ASSEMBLY_UV, 48) + input(WRAP_OPTICAL_SMD_DIODE, 2) + input(WRAP_NOR_CHIP, 16) + input(WRAP_ARAM_CHIP, 32) + input(wireGtQuadruple, Europium, 16) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + output(GOOWARE_COMPUTER_UHV, 32) + EUt(VA[UHV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_ULTIMATE_CIRCUIT_BOARD, 64) + input(GOOWARE_ASSEMBLY_UV, 48 * 64) + input(WRAP_OPTICAL_SMD_DIODE, 2 * 64) + input(WRAP_NOR_CHIP, 16 * 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtQuadruple, Europium, 16 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) + output(GOOWARE_COMPUTER_UHV, 32 * 64) + EUt(VA[UHV]) + duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s + } // UEV Gooware Mainframe - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Darmstadtium, 64) - .input(GOOWARE_COMPUTER_UHV, 48) - .input(WRAP_GOOWARE_SMD_DIODE, 64) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 64) - .input(WRAP_GOOWARE_SMD_TRANSISTOR, 64) - .input(WRAP_GOOWARE_SMD_RESISTOR, 64) - .input(WRAP_GOOWARE_SMD_INDUCTOR, 64) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(KaptonE.getFluid(L * 16)) - .fluidInputs(KaptonK.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Americium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(GOOWARE_MAINFRAME_UEV, 16) - .EUt(VA[UHV]) - .duration(20 * MINUTE) // Original: 90s, Wrapped: 90s * 16 = 1440s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Darmstadtium, 64 * 64) - .input(GOOWARE_COMPUTER_UHV, 48 * 64) - .input(WRAP_GOOWARE_SMD_DIODE, 64 * 64) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 64 * 64) - .input(WRAP_GOOWARE_SMD_TRANSISTOR, 64 * 64) - .input(WRAP_GOOWARE_SMD_RESISTOR, 64 * 64) - .input(WRAP_GOOWARE_SMD_INDUCTOR, 64 * 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 40 * 64)) - .fluidInputs(KaptonE.getFluid(L * 16 * 64)) - .fluidInputs(KaptonK.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Americium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(GOOWARE_MAINFRAME_UEV, 16 * 64) - .EUt(VA[UHV]) - .duration(20 * MINUTE * 64) // Original: 90s, Wrapped: 90s * 16 = 1440s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Darmstadtium, 64) - .input(GOOWARE_COMPUTER_UHV, 48) - .input(WRAP_OPTICAL_SMD_DIODE, 16) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 16) - .input(WRAP_OPTICAL_SMD_TRANSISTOR, 16) - .input(WRAP_OPTICAL_SMD_RESISTOR, 16) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 16) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(KaptonE.getFluid(L * 16)) - .fluidInputs(KaptonK.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Americium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(GOOWARE_MAINFRAME_UEV, 16) - .EUt(VA[UHV]) - .duration(10 * MINUTE) // Original: 45s, Wrapped: 45s * 16 = 720s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Darmstadtium, 64 * 64) - .input(GOOWARE_COMPUTER_UHV, 48 * 64) - .input(WRAP_OPTICAL_SMD_DIODE, 16 * 64) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 16 * 64) - .input(WRAP_OPTICAL_SMD_TRANSISTOR, 16 * 64) - .input(WRAP_OPTICAL_SMD_RESISTOR, 16 * 64) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 16 * 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 40 * 64)) - .fluidInputs(KaptonE.getFluid(L * 16 * 64)) - .fluidInputs(KaptonK.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Americium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(GOOWARE_MAINFRAME_UEV, 16 * 64) - .EUt(VA[UHV]) - .duration(10 * MINUTE * 64) // Original: 45s, Wrapped: 45s * 16 = 720s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Darmstadtium, 64) - .input(GOOWARE_COMPUTER_UHV, 48) - .input(WRAP_SPINTRONIC_SMD_DIODE, 4) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 4) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 4) - .input(WRAP_SPINTRONIC_SMD_RESISTOR, 4) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 4) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(KaptonE.getFluid(L * 16)) - .fluidInputs(KaptonK.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Americium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(GOOWARE_MAINFRAME_UEV, 16) - .EUt(VA[UHV]) - .duration(5 * MINUTE) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Darmstadtium, 64 * 64) - .input(GOOWARE_COMPUTER_UHV, 48 * 64) - .input(WRAP_SPINTRONIC_SMD_DIODE, 4 * 64) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 4 * 64) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 4 * 64) - .input(WRAP_SPINTRONIC_SMD_RESISTOR, 4 * 64) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 4 * 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 40 * 64)) - .fluidInputs(KaptonE.getFluid(L * 16 * 64)) - .fluidInputs(KaptonK.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Americium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(GOOWARE_MAINFRAME_UEV, 16 * 64) - .EUt(VA[UHV]) - .duration(5 * MINUTE * 64) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Darmstadtium, 64) - .input(GOOWARE_COMPUTER_UHV, 48) - .input(WRAP_COSMIC_SMD_DIODE) - .input(WRAP_COSMIC_SMD_CAPACITOR) - .input(WRAP_COSMIC_SMD_TRANSISTOR) - .input(WRAP_COSMIC_SMD_RESISTOR) - .input(WRAP_COSMIC_SMD_INDUCTOR) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(KaptonE.getFluid(L * 16)) - .fluidInputs(KaptonK.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Americium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(GOOWARE_MAINFRAME_UEV, 16) - .EUt(VA[UHV]) - .duration(2 * MINUTE + 30 * SECOND) // Original: 11.25s, Wrapped: 1.25s * 16 = 180s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Darmstadtium, 64 * 64) - .input(GOOWARE_COMPUTER_UHV, 48 * 64) - .input(WRAP_COSMIC_SMD_DIODE, 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 64) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 64) - .input(WRAP_COSMIC_SMD_RESISTOR, 64) - .input(WRAP_COSMIC_SMD_INDUCTOR, 64) - .input(WRAP_ARAM_CHIP, 32 * 64) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 40 * 64)) - .fluidInputs(KaptonE.getFluid(L * 16 * 64)) - .fluidInputs(KaptonK.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Americium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(GOOWARE_MAINFRAME_UEV, 16 * 64) - .EUt(VA[UHV]) - .duration((2 * MINUTE + 30 * SECOND) * 64) // Original: 11.25s, Wrapped: 1.25s * 16 = 180s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Darmstadtium, 64) + input(GOOWARE_COMPUTER_UHV, 48) + input(WRAP_GOOWARE_SMD_DIODE, 64) + input(WRAP_GOOWARE_SMD_CAPACITOR, 64) + input(WRAP_GOOWARE_SMD_TRANSISTOR, 64) + input(WRAP_GOOWARE_SMD_RESISTOR, 64) + input(WRAP_GOOWARE_SMD_INDUCTOR, 64) + input(WRAP_ARAM_CHIP, 32) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(KaptonE.getFluid(L * 16)) + fluidInputs(KaptonK.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Americium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(GOOWARE_MAINFRAME_UEV, 16) + EUt(VA[UHV]) + duration(20 * MINUTE) // Original: 90s, Wrapped: 90s * 16 = 1440s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Darmstadtium, 64 * 64) + input(GOOWARE_COMPUTER_UHV, 48 * 64) + input(WRAP_GOOWARE_SMD_DIODE, 64 * 64) + input(WRAP_GOOWARE_SMD_CAPACITOR, 64 * 64) + input(WRAP_GOOWARE_SMD_TRANSISTOR, 64 * 64) + input(WRAP_GOOWARE_SMD_RESISTOR, 64 * 64) + input(WRAP_GOOWARE_SMD_INDUCTOR, 64 * 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 40 * 64)) + fluidInputs(KaptonE.getFluid(L * 16 * 64)) + fluidInputs(KaptonK.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Americium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(GOOWARE_MAINFRAME_UEV, 16 * 64) + EUt(VA[UHV]) + duration(20 * MINUTE * 64) // Original: 90s, Wrapped: 90s * 16 = 1440s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Darmstadtium, 64) + input(GOOWARE_COMPUTER_UHV, 48) + input(WRAP_OPTICAL_SMD_DIODE, 16) + input(WRAP_OPTICAL_SMD_CAPACITOR, 16) + input(WRAP_OPTICAL_SMD_TRANSISTOR, 16) + input(WRAP_OPTICAL_SMD_RESISTOR, 16) + input(WRAP_OPTICAL_SMD_INDUCTOR, 16) + input(WRAP_ARAM_CHIP, 32) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(KaptonE.getFluid(L * 16)) + fluidInputs(KaptonK.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Americium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(GOOWARE_MAINFRAME_UEV, 16) + EUt(VA[UHV]) + duration(10 * MINUTE) // Original: 45s, Wrapped: 45s * 16 = 720s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Darmstadtium, 64 * 64) + input(GOOWARE_COMPUTER_UHV, 48 * 64) + input(WRAP_OPTICAL_SMD_DIODE, 16 * 64) + input(WRAP_OPTICAL_SMD_CAPACITOR, 16 * 64) + input(WRAP_OPTICAL_SMD_TRANSISTOR, 16 * 64) + input(WRAP_OPTICAL_SMD_RESISTOR, 16 * 64) + input(WRAP_OPTICAL_SMD_INDUCTOR, 16 * 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 40 * 64)) + fluidInputs(KaptonE.getFluid(L * 16 * 64)) + fluidInputs(KaptonK.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Americium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(GOOWARE_MAINFRAME_UEV, 16 * 64) + EUt(VA[UHV]) + duration(10 * MINUTE * 64) // Original: 45s, Wrapped: 45s * 16 = 720s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Darmstadtium, 64) + input(GOOWARE_COMPUTER_UHV, 48) + input(WRAP_SPINTRONIC_SMD_DIODE, 4) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 4) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 4) + input(WRAP_SPINTRONIC_SMD_RESISTOR, 4) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 4) + input(WRAP_ARAM_CHIP, 32) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(KaptonE.getFluid(L * 16)) + fluidInputs(KaptonK.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Americium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(GOOWARE_MAINFRAME_UEV, 16) + EUt(VA[UHV]) + duration(5 * MINUTE) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Darmstadtium, 64 * 64) + input(GOOWARE_COMPUTER_UHV, 48 * 64) + input(WRAP_SPINTRONIC_SMD_DIODE, 4 * 64) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 4 * 64) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 4 * 64) + input(WRAP_SPINTRONIC_SMD_RESISTOR, 4 * 64) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 4 * 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 40 * 64)) + fluidInputs(KaptonE.getFluid(L * 16 * 64)) + fluidInputs(KaptonK.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Americium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(GOOWARE_MAINFRAME_UEV, 16 * 64) + EUt(VA[UHV]) + duration(5 * MINUTE * 64) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Darmstadtium, 64) + input(GOOWARE_COMPUTER_UHV, 48) + input(WRAP_COSMIC_SMD_DIODE) + input(WRAP_COSMIC_SMD_CAPACITOR) + input(WRAP_COSMIC_SMD_TRANSISTOR) + input(WRAP_COSMIC_SMD_RESISTOR) + input(WRAP_COSMIC_SMD_INDUCTOR) + input(WRAP_ARAM_CHIP, 32) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(KaptonE.getFluid(L * 16)) + fluidInputs(KaptonK.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Americium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(GOOWARE_MAINFRAME_UEV, 16) + EUt(VA[UHV]) + duration(2 * MINUTE + 30 * SECOND) // Original: 11.25s, Wrapped: 1.25s * 16 = 180s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Darmstadtium, 64 * 64) + input(GOOWARE_COMPUTER_UHV, 48 * 64) + input(WRAP_COSMIC_SMD_DIODE, 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 64) + input(WRAP_COSMIC_SMD_TRANSISTOR, 64) + input(WRAP_COSMIC_SMD_RESISTOR, 64) + input(WRAP_COSMIC_SMD_INDUCTOR, 64) + input(WRAP_ARAM_CHIP, 32 * 64) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 128 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 40 * 64)) + fluidInputs(KaptonE.getFluid(L * 16 * 64)) + fluidInputs(KaptonK.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Americium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(GOOWARE_MAINFRAME_UEV, 16 * 64) + EUt(VA[UHV]) + duration((2 * MINUTE + 30 * SECOND) * 64) // Original: 11.25s, Wrapped: 1.25s * 16 = 180s + } // endregion // region T9: Optical // UEV Optical Supercomputer - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_ASSEMBLY_UHV, 48) - .input(WRAP_OPTICAL_SMD_DIODE, 8) - .input(WRAP_ACNOR_CHIP, 16) - .input(WRAP_PRAM_CHIP, 32) - .input(OPTICAL_FIBER, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .fluidInputs(Polyetheretherketone.getFluid(L * 4)) - .fluidInputs(KaptonE.getFluid(36 * 32 * 16)) // foil (36) * 32 * 16 - .fluidInputs(Dubnium.getFluid(L * 4 * 16)) // plate (144) * 4 * 16 - .output(OPTICAL_COMPUTER_UEV, 32) - .EUt(VA[UHV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_PERFECT_CIRCUIT_BOARD, 64) - .input(OPTICAL_ASSEMBLY_UHV, 48 * 64) - .input(WRAP_OPTICAL_SMD_DIODE, 8 * 64) - .input(WRAP_ACNOR_CHIP, 16 * 64) - .input(WRAP_PRAM_CHIP, 32 * 64) - .input(OPTICAL_FIBER, 64 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) - .fluidInputs(Polyetheretherketone.getFluid(L * 4 * 64)) - .fluidInputs(KaptonE.getFluid(36 * 32 * 16 * 64)) // foil (36) * 32 * 16 - .fluidInputs(Dubnium.getFluid(L * 4 * 16 * 64)) // plate (144) * 4 * 16 - .output(OPTICAL_COMPUTER_UEV, 32 * 64) - .EUt(VA[UHV]) - .duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_ASSEMBLY_UHV, 48) - .input(WRAP_SPINTRONIC_SMD_DIODE, 2) - .input(WRAP_ACNOR_CHIP, 16) - .input(WRAP_PRAM_CHIP, 32) - .input(OPTICAL_FIBER, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 16)) - .fluidInputs(Polyetheretherketone.getFluid(L * 4)) - .fluidInputs(KaptonE.getFluid(36 * 32 * 16)) // foil (36) * 32 * 16 - .fluidInputs(Dubnium.getFluid(L * 4 * 16)) // plate (144) * 4 * 16 - .output(OPTICAL_COMPUTER_UEV, 32) - .EUt(VA[UHV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_PERFECT_CIRCUIT_BOARD, 64) - .input(OPTICAL_ASSEMBLY_UHV, 48 * 64) - .input(WRAP_SPINTRONIC_SMD_DIODE, 2 * 64) - .input(WRAP_ACNOR_CHIP, 16 * 64) - .input(WRAP_PRAM_CHIP, 32 * 64) - .input(OPTICAL_FIBER, 64 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) - .fluidInputs(Polyetheretherketone.getFluid(L * 4 * 64)) - .fluidInputs(KaptonE.getFluid(36 * 32 * 16 * 64)) // foil (36) * 32 * 16 - .fluidInputs(Dubnium.getFluid(L * 4 * 16 * 64)) // plate (144) * 4 * 16 - .output(OPTICAL_COMPUTER_UEV, 32 * 64) - .EUt(VA[UHV]) - .duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_PERFECT_CIRCUIT_BOARD) + input(OPTICAL_ASSEMBLY_UHV, 48) + input(WRAP_OPTICAL_SMD_DIODE, 8) + input(WRAP_ACNOR_CHIP, 16) + input(WRAP_PRAM_CHIP, 32) + input(OPTICAL_FIBER, 64) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + fluidInputs(Polyetheretherketone.getFluid(L * 4)) + fluidInputs(KaptonE.getFluid(36 * 32 * 16)) // foil (36) * 32 * 16 + fluidInputs(Dubnium.getFluid(L * 4 * 16)) // plate (144) * 4 * 16 + output(OPTICAL_COMPUTER_UEV, 32) + EUt(VA[UHV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_PERFECT_CIRCUIT_BOARD, 64) + input(OPTICAL_ASSEMBLY_UHV, 48 * 64) + input(WRAP_OPTICAL_SMD_DIODE, 8 * 64) + input(WRAP_ACNOR_CHIP, 16 * 64) + input(WRAP_PRAM_CHIP, 32 * 64) + input(OPTICAL_FIBER, 64 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) + fluidInputs(Polyetheretherketone.getFluid(L * 4 * 64)) + fluidInputs(KaptonE.getFluid(36 * 32 * 16 * 64)) // foil (36) * 32 * 16 + fluidInputs(Dubnium.getFluid(L * 4 * 16 * 64)) // plate (144) * 4 * 16 + output(OPTICAL_COMPUTER_UEV, 32 * 64) + EUt(VA[UHV]) + duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_PERFECT_CIRCUIT_BOARD) + input(OPTICAL_ASSEMBLY_UHV, 48) + input(WRAP_SPINTRONIC_SMD_DIODE, 2) + input(WRAP_ACNOR_CHIP, 16) + input(WRAP_PRAM_CHIP, 32) + input(OPTICAL_FIBER, 64) + fluidInputs(SolderingAlloy.getFluid(L * 16)) + fluidInputs(Polyetheretherketone.getFluid(L * 4)) + fluidInputs(KaptonE.getFluid(36 * 32 * 16)) // foil (36) * 32 * 16 + fluidInputs(Dubnium.getFluid(L * 4 * 16)) // plate (144) * 4 * 16 + output(OPTICAL_COMPUTER_UEV, 32) + EUt(VA[UHV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_PERFECT_CIRCUIT_BOARD, 64) + input(OPTICAL_ASSEMBLY_UHV, 48 * 64) + input(WRAP_SPINTRONIC_SMD_DIODE, 2 * 64) + input(WRAP_ACNOR_CHIP, 16 * 64) + input(WRAP_PRAM_CHIP, 32 * 64) + input(OPTICAL_FIBER, 64 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) + fluidInputs(Polyetheretherketone.getFluid(L * 4 * 64)) + fluidInputs(KaptonE.getFluid(36 * 32 * 16 * 64)) // foil (36) * 32 * 16 + fluidInputs(Dubnium.getFluid(L * 4 * 16 * 64)) // plate (144) * 4 * 16 + output(OPTICAL_COMPUTER_UEV, 32 * 64) + EUt(VA[UHV]) + duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s + } // UIV Optical Mainframe - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Neutronium, 16) - .input(OPTICAL_COMPUTER_UEV, 32) - .input(WRAP_OPTICAL_SMD_DIODE, 64) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 64) - .input(WRAP_OPTICAL_SMD_TRANSISTOR, 64) - .input(WRAP_OPTICAL_SMD_DIODE, 64) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 64) - .input(WRAP_PRAM_CHIP, 32) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128) - .fluidInputs(SolderingAlloy.getFluid(L * 80 * 16)) - .fluidInputs(KaptonE.getFluid(L * 32 * 16 + 32 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16)) - .fluidInputs(Dubnium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(OPTICAL_MAINFRAME_UIV, 16) - .EUt(VA[UEV]) - .duration(20 * MINUTE) // Original: 90s, Wrapped: 90s * 16 = 1440s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Neutronium, 16 * 64) - .input(OPTICAL_COMPUTER_UEV, 32 * 64) - .input(WRAP_OPTICAL_SMD_DIODE, 64 * 64) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 64 * 64) - .input(WRAP_OPTICAL_SMD_TRANSISTOR, 64 * 64) - .input(WRAP_OPTICAL_SMD_DIODE, 64 * 64) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 64 * 64) - .input(WRAP_PRAM_CHIP, 32 * 64) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 80 * 16 * 64)) - .fluidInputs(KaptonE.getFluid((L * 32 * 16 + 32 * 64 * 16) * 64)) // foil (36) * 64 * 16 - .fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Dubnium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(OPTICAL_MAINFRAME_UIV, 16 * 64) - .EUt(VA[UEV]) - .duration(20 * MINUTE * 64) // Original: 90s, Wrapped: 90s * 16 = 1440s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Neutronium, 16) - .input(OPTICAL_COMPUTER_UEV, 32) - .input(WRAP_SPINTRONIC_SMD_DIODE, 16) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 16) - .input(WRAP_SPINTRONIC_SMD_DIODE, 16) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 16) - .input(WRAP_PRAM_CHIP, 32) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128) - .fluidInputs(SolderingAlloy.getFluid(L * 80 * 16)) - .fluidInputs(KaptonE.getFluid(L * 32 * 16 + 32 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16)) - .fluidInputs(Dubnium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(OPTICAL_MAINFRAME_UIV, 16) - .EUt(VA[UEV]) - .duration(10 * MINUTE) // Original: 45s, Wrapped: 45s * 16 = 720s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Neutronium, 16 * 64) - .input(OPTICAL_COMPUTER_UEV, 32 * 64) - .input(WRAP_SPINTRONIC_SMD_DIODE, 16 * 64) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16 * 64) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 16 * 64) - .input(WRAP_SPINTRONIC_SMD_DIODE, 16 * 64) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 16 * 64) - .input(WRAP_PRAM_CHIP, 32 * 64) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 80 * 16 * 64)) - .fluidInputs(KaptonE.getFluid((L * 32 * 16 + 32 * 64 * 16) * 64)) // foil (36) * 64 * 16 - .fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Dubnium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(OPTICAL_MAINFRAME_UIV, 16 * 64) - .EUt(VA[UEV]) - .duration(10 * MINUTE * 64) // Original: 45s, Wrapped: 45s * 16 = 720s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Neutronium, 16) - .input(OPTICAL_COMPUTER_UEV, 32) - .input(WRAP_COSMIC_SMD_DIODE, 4) - .input(WRAP_COSMIC_SMD_CAPACITOR, 4) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 4) - .input(WRAP_COSMIC_SMD_DIODE, 4) - .input(WRAP_COSMIC_SMD_INDUCTOR, 4) - .input(WRAP_PRAM_CHIP, 32) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128) - .fluidInputs(SolderingAlloy.getFluid(L * 80 * 16)) - .fluidInputs(KaptonE.getFluid(L * 32 * 16 + 32 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16)) - .fluidInputs(Dubnium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(OPTICAL_MAINFRAME_UIV, 16) - .EUt(VA[UEV]) - .duration(5 * MINUTE) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Neutronium, 16 * 64) - .input(OPTICAL_COMPUTER_UEV, 32 * 64) - .input(WRAP_COSMIC_SMD_DIODE, 4 * 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 4 * 64) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 4 * 64) - .input(WRAP_COSMIC_SMD_DIODE, 4 * 64) - .input(WRAP_COSMIC_SMD_INDUCTOR, 4 * 64) - .input(WRAP_PRAM_CHIP, 32 * 64) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 80 * 16 * 64)) - .fluidInputs(KaptonE.getFluid((L * 32 * 16 + 32 * 64 * 16) * 64)) // foil (36) * 64 * 16 - .fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Dubnium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(OPTICAL_MAINFRAME_UIV, 16 * 64) - .EUt(VA[UEV]) - .duration(5 * MINUTE * 64) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Neutronium, 16) - .input(OPTICAL_COMPUTER_UEV, 32) - .input(WRAP_SUPRACAUSAL_SMD_DIODE) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR) - .input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR) - .input(WRAP_SUPRACAUSAL_SMD_DIODE) - .input(WRAP_SUPRACAUSAL_SMD_INDUCTOR) - .input(WRAP_PRAM_CHIP, 32) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128) - .fluidInputs(SolderingAlloy.getFluid(L * 80 * 16)) - .fluidInputs(KaptonE.getFluid(L * 32 * 16 + 32 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16)) - .fluidInputs(Dubnium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(OPTICAL_MAINFRAME_UIV, 16) - .EUt(VA[UEV]) - .duration(2 * MINUTE + 30 * SECOND) // Original: 11.25s, Wrapped: 11.25s * 16 = 180s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Neutronium, 16 * 64) - .input(OPTICAL_COMPUTER_UEV, 32 * 64) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 64) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 64) - .input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 64) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 64) - .input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 64) - .input(WRAP_PRAM_CHIP, 32 * 64) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128 * 64) - .fluidInputs(SolderingAlloy.getFluid(L * 80 * 16 * 64)) - .fluidInputs(KaptonE.getFluid((L * 32 * 16 + 32 * 64 * 16) * 64)) // foil (36) * 64 * 16 - .fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Dubnium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(OPTICAL_MAINFRAME_UIV, 16 * 64) - .EUt(VA[UEV]) - .duration((2 * MINUTE + 30 * SECOND) * 64) // Original: 11.25s, Wrapped: 11.25s * 16 = 180s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Neutronium, 16) + input(OPTICAL_COMPUTER_UEV, 32) + input(WRAP_OPTICAL_SMD_DIODE, 64) + input(WRAP_OPTICAL_SMD_CAPACITOR, 64) + input(WRAP_OPTICAL_SMD_TRANSISTOR, 64) + input(WRAP_OPTICAL_SMD_DIODE, 64) + input(WRAP_OPTICAL_SMD_INDUCTOR, 64) + input(WRAP_PRAM_CHIP, 32) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128) + fluidInputs(SolderingAlloy.getFluid(L * 80 * 16)) + fluidInputs(KaptonE.getFluid(L * 32 * 16 + 32 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16)) + fluidInputs(Dubnium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(OPTICAL_MAINFRAME_UIV, 16) + EUt(VA[UEV]) + duration(20 * MINUTE) // Original: 90s, Wrapped: 90s * 16 = 1440s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Neutronium, 16 * 64) + input(OPTICAL_COMPUTER_UEV, 32 * 64) + input(WRAP_OPTICAL_SMD_DIODE, 64 * 64) + input(WRAP_OPTICAL_SMD_CAPACITOR, 64 * 64) + input(WRAP_OPTICAL_SMD_TRANSISTOR, 64 * 64) + input(WRAP_OPTICAL_SMD_DIODE, 64 * 64) + input(WRAP_OPTICAL_SMD_INDUCTOR, 64 * 64) + input(WRAP_PRAM_CHIP, 32 * 64) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 80 * 16 * 64)) + fluidInputs(KaptonE.getFluid((L * 32 * 16 + 32 * 64 * 16) * 64)) // foil (36) * 64 * 16 + fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16 * 64)) + fluidInputs(Dubnium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(OPTICAL_MAINFRAME_UIV, 16 * 64) + EUt(VA[UEV]) + duration(20 * MINUTE * 64) // Original: 90s, Wrapped: 90s * 16 = 1440s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Neutronium, 16) + input(OPTICAL_COMPUTER_UEV, 32) + input(WRAP_SPINTRONIC_SMD_DIODE, 16) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 16) + input(WRAP_SPINTRONIC_SMD_DIODE, 16) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 16) + input(WRAP_PRAM_CHIP, 32) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128) + fluidInputs(SolderingAlloy.getFluid(L * 80 * 16)) + fluidInputs(KaptonE.getFluid(L * 32 * 16 + 32 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16)) + fluidInputs(Dubnium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(OPTICAL_MAINFRAME_UIV, 16) + EUt(VA[UEV]) + duration(10 * MINUTE) // Original: 45s, Wrapped: 45s * 16 = 720s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Neutronium, 16 * 64) + input(OPTICAL_COMPUTER_UEV, 32 * 64) + input(WRAP_SPINTRONIC_SMD_DIODE, 16 * 64) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16 * 64) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 16 * 64) + input(WRAP_SPINTRONIC_SMD_DIODE, 16 * 64) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 16 * 64) + input(WRAP_PRAM_CHIP, 32 * 64) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 80 * 16 * 64)) + fluidInputs(KaptonE.getFluid((L * 32 * 16 + 32 * 64 * 16) * 64)) // foil (36) * 64 * 16 + fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16 * 64)) + fluidInputs(Dubnium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(OPTICAL_MAINFRAME_UIV, 16 * 64) + EUt(VA[UEV]) + duration(10 * MINUTE * 64) // Original: 45s, Wrapped: 45s * 16 = 720s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Neutronium, 16) + input(OPTICAL_COMPUTER_UEV, 32) + input(WRAP_COSMIC_SMD_DIODE, 4) + input(WRAP_COSMIC_SMD_CAPACITOR, 4) + input(WRAP_COSMIC_SMD_TRANSISTOR, 4) + input(WRAP_COSMIC_SMD_DIODE, 4) + input(WRAP_COSMIC_SMD_INDUCTOR, 4) + input(WRAP_PRAM_CHIP, 32) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128) + fluidInputs(SolderingAlloy.getFluid(L * 80 * 16)) + fluidInputs(KaptonE.getFluid(L * 32 * 16 + 32 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16)) + fluidInputs(Dubnium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(OPTICAL_MAINFRAME_UIV, 16) + EUt(VA[UEV]) + duration(5 * MINUTE) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Neutronium, 16 * 64) + input(OPTICAL_COMPUTER_UEV, 32 * 64) + input(WRAP_COSMIC_SMD_DIODE, 4 * 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 4 * 64) + input(WRAP_COSMIC_SMD_TRANSISTOR, 4 * 64) + input(WRAP_COSMIC_SMD_DIODE, 4 * 64) + input(WRAP_COSMIC_SMD_INDUCTOR, 4 * 64) + input(WRAP_PRAM_CHIP, 32 * 64) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 80 * 16 * 64)) + fluidInputs(KaptonE.getFluid((L * 32 * 16 + 32 * 64 * 16) * 64)) // foil (36) * 64 * 16 + fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16 * 64)) + fluidInputs(Dubnium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(OPTICAL_MAINFRAME_UIV, 16 * 64) + EUt(VA[UEV]) + duration(5 * MINUTE * 64) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Neutronium, 16) + input(OPTICAL_COMPUTER_UEV, 32) + input(WRAP_SUPRACAUSAL_SMD_DIODE) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR) + input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR) + input(WRAP_SUPRACAUSAL_SMD_DIODE) + input(WRAP_SUPRACAUSAL_SMD_INDUCTOR) + input(WRAP_PRAM_CHIP, 32) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128) + fluidInputs(SolderingAlloy.getFluid(L * 80 * 16)) + fluidInputs(KaptonE.getFluid(L * 32 * 16 + 32 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16)) + fluidInputs(Dubnium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(OPTICAL_MAINFRAME_UIV, 16) + EUt(VA[UEV]) + duration(2 * MINUTE + 30 * SECOND) // Original: 11.25s, Wrapped: 11.25s * 16 = 180s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Neutronium, 16 * 64) + input(OPTICAL_COMPUTER_UEV, 32 * 64) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 64) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 64) + input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 64) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 64) + input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 64) + input(WRAP_PRAM_CHIP, 32 * 64) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 128 * 64) + fluidInputs(SolderingAlloy.getFluid(L * 80 * 16 * 64)) + fluidInputs(KaptonE.getFluid((L * 32 * 16 + 32 * 64 * 16) * 64)) // foil (36) * 64 * 16 + fluidInputs(Polyetheretherketone.getFluid(L * 8 * 16 * 64)) + fluidInputs(Dubnium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(OPTICAL_MAINFRAME_UIV, 16 * 64) + EUt(VA[UEV]) + duration((2 * MINUTE + 30 * SECOND) * 64) // Original: 11.25s, Wrapped: 11.25s * 16 = 180s + } // endregion @@ -806,357 +807,357 @@ object SingularityAssemblyUnitRecipes PolyphosphonitrileFluoroRubber.getFluid(36 * 32 * 16), // foil (36) * 32 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 32 * 16))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_PROCESSOR_UHV, 64) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 16) - .input(WRAP_UHASOC_CHIP, 32) - .input(wireGtQuadruple, CarbonNanotube, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) - .fluidInputs(rubber) - .output(SPINTRONIC_ASSEMBLY_UEV, 48) - .EUt(VA[UEV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_PROCESSOR_UHV, 64) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 16) + input(WRAP_UHASOC_CHIP, 32) + input(wireGtQuadruple, CarbonNanotube, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) + fluidInputs(rubber) + output(SPINTRONIC_ASSEMBLY_UEV, 48) + EUt(VA[UEV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + } } for (rubber in arrayOf( PolyphosphonitrileFluoroRubber.getFluid(36 * 32 * 16 * 64), // foil (36) * 32 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 32 * 16 * 64))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_INFINITE_CIRCUIT_BOARD, 64) - .input(SPINTRONIC_PROCESSOR_UHV, 64 * 64) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16 * 64) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 16 * 64) - .input(WRAP_UHASOC_CHIP, 32 * 64) - .input(wireGtQuadruple, CarbonNanotube, 16 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) - .fluidInputs(rubber) - .output(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) - .EUt(VA[UEV]) - .duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_INFINITE_CIRCUIT_BOARD, 64) + input(SPINTRONIC_PROCESSOR_UHV, 64 * 64) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16 * 64) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 16 * 64) + input(WRAP_UHASOC_CHIP, 32 * 64) + input(wireGtQuadruple, CarbonNanotube, 16 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) + fluidInputs(rubber) + output(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) + EUt(VA[UEV]) + duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s + } } for (rubber in arrayOf( PolyphosphonitrileFluoroRubber.getFluid(36 * 32 * 16), // foil (36) * 32 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 32 * 16))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_PROCESSOR_UHV, 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 4) - .input(WRAP_COSMIC_SMD_INDUCTOR, 4) - .input(WRAP_UHASOC_CHIP, 32) - .input(wireGtQuadruple, CarbonNanotube, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) - .fluidInputs(rubber) - .output(SPINTRONIC_ASSEMBLY_UEV, 48) - .EUt(VA[UEV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_PROCESSOR_UHV, 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 4) + input(WRAP_COSMIC_SMD_INDUCTOR, 4) + input(WRAP_UHASOC_CHIP, 32) + input(wireGtQuadruple, CarbonNanotube, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) + fluidInputs(rubber) + output(SPINTRONIC_ASSEMBLY_UEV, 48) + EUt(VA[UEV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + } } for (rubber in arrayOf( PolyphosphonitrileFluoroRubber.getFluid(36 * 32 * 16 * 64), // foil (36) * 32 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 32 * 16 * 64))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_INFINITE_CIRCUIT_BOARD, 64) - .input(SPINTRONIC_PROCESSOR_UHV, 64 * 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 4 * 64) - .input(WRAP_COSMIC_SMD_INDUCTOR, 4 * 64) - .input(WRAP_UHASOC_CHIP, 32 * 64) - .input(wireGtQuadruple, CarbonNanotube, 16 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) - .fluidInputs(rubber) - .output(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) - .EUt(VA[UEV]) - .duration(2 * MINUTE * 64) // Original: 10s, Wrapped: 10s * 16 = 160s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_INFINITE_CIRCUIT_BOARD, 64) + input(SPINTRONIC_PROCESSOR_UHV, 64 * 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 4 * 64) + input(WRAP_COSMIC_SMD_INDUCTOR, 4 * 64) + input(WRAP_UHASOC_CHIP, 32 * 64) + input(wireGtQuadruple, CarbonNanotube, 16 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) + fluidInputs(rubber) + output(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) + EUt(VA[UEV]) + duration(2 * MINUTE * 64) // Original: 10s, Wrapped: 10s * 16 = 160s + } } for (rubber in arrayOf( PolyphosphonitrileFluoroRubber.getFluid(36 * 32 * 16), // foil (36) * 32 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 32 * 16))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_PROCESSOR_UHV, 64) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR) - .input(WRAP_SUPRACAUSAL_SMD_INDUCTOR) - .input(WRAP_UHASOC_CHIP, 32) - .input(wireGtQuadruple, CarbonNanotube, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) - .fluidInputs(rubber) - .output(SPINTRONIC_ASSEMBLY_UEV, 48) - .EUt(VA[UEV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_PROCESSOR_UHV, 64) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR) + input(WRAP_SUPRACAUSAL_SMD_INDUCTOR) + input(WRAP_UHASOC_CHIP, 32) + input(wireGtQuadruple, CarbonNanotube, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) + fluidInputs(rubber) + output(SPINTRONIC_ASSEMBLY_UEV, 48) + EUt(VA[UEV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + } } for (rubber in arrayOf( PolyphosphonitrileFluoroRubber.getFluid(36 * 32 * 16 * 64), // foil (36) * 32 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 32 * 16 * 64))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_INFINITE_CIRCUIT_BOARD, 64) - .input(SPINTRONIC_PROCESSOR_UHV, 64 * 64) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 64) - .input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 64) - .input(WRAP_UHASOC_CHIP, 32 * 64) - .input(wireGtQuadruple, CarbonNanotube, 16 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) - .fluidInputs(rubber) - .output(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) - .EUt(VA[UEV]) - .duration(1 * MINUTE * 64) // Original: 5s, Wrapped: 5s * 16 = 80s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_INFINITE_CIRCUIT_BOARD, 64) + input(SPINTRONIC_PROCESSOR_UHV, 64 * 64) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 64) + input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 64) + input(WRAP_UHASOC_CHIP, 32 * 64) + input(wireGtQuadruple, CarbonNanotube, 16 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) + fluidInputs(rubber) + output(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) + EUt(VA[UEV]) + duration(1 * MINUTE * 64) // Original: 5s, Wrapped: 5s * 16 = 80s + } } // UIV Spintronic Computer - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_ASSEMBLY_UEV, 48) - .input(WRAP_SPINTRONIC_SMD_DIODE, 16) - .input(WRAP_MINAND_CHIP, 32) - .input(WRAP_STTRAM_CHIP, 64) - .input(wireGtQuadruple, CarbonNanotube, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) - .fluidInputs(Zylon.getFluid(L * 8 * 16)) - .fluidInputs(Adamantium.getFluid(L * 4 * 16)) - .fluidInputs(Fullerene.getFluid(36 * 48 * 16)) // foil (36) * 48 * 16 - .fluidInputs(Bohrium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(SPINTRONIC_COMPUTER_UIV, 32) - .EUt(VA[UEV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_INFINITE_CIRCUIT_BOARD, 64) - .input(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) - .input(WRAP_SPINTRONIC_SMD_DIODE, 16 * 64) - .input(WRAP_MINAND_CHIP, 32 * 64) - .input(WRAP_STTRAM_CHIP, 64 * 64) - .input(wireGtQuadruple, CarbonNanotube, 32 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Zylon.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Adamantium.getFluid(L * 4 * 16 * 64)) - .fluidInputs(Fullerene.getFluid(36 * 48 * 16 * 64)) // foil (36) * 48 * 16 - .fluidInputs(Bohrium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(SPINTRONIC_COMPUTER_UIV, 32 * 64) - .EUt(VA[UEV]) - .duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_ASSEMBLY_UEV, 48) - .input(WRAP_COSMIC_SMD_DIODE, 4) - .input(WRAP_MINAND_CHIP, 32) - .input(WRAP_STTRAM_CHIP, 64) - .input(wireGtQuadruple, CarbonNanotube, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) - .fluidInputs(Zylon.getFluid(L * 8 * 16)) - .fluidInputs(Adamantium.getFluid(L * 4 * 16)) - .fluidInputs(Fullerene.getFluid(36 * 48 * 16)) // foil (36) * 48 * 16 - .fluidInputs(Bohrium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(SPINTRONIC_COMPUTER_UIV, 32) - .EUt(VA[UEV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_INFINITE_CIRCUIT_BOARD, 64) - .input(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) - .input(WRAP_COSMIC_SMD_DIODE, 4 * 64) - .input(WRAP_MINAND_CHIP, 32 * 64) - .input(WRAP_STTRAM_CHIP, 64 * 64) - .input(wireGtQuadruple, CarbonNanotube, 32 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Zylon.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Adamantium.getFluid(L * 4 * 16 * 64)) - .fluidInputs(Fullerene.getFluid(36 * 48 * 16 * 64)) // foil (36) * 48 * 16 - .fluidInputs(Bohrium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(SPINTRONIC_COMPUTER_UIV, 32 * 64) - .EUt(VA[UEV]) - .duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_INFINITE_CIRCUIT_BOARD) - .input(SPINTRONIC_ASSEMBLY_UEV, 48) - .input(WRAP_SUPRACAUSAL_SMD_DIODE) - .input(WRAP_MINAND_CHIP, 32) - .input(WRAP_STTRAM_CHIP, 64) - .input(wireGtQuadruple, CarbonNanotube, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) - .fluidInputs(Zylon.getFluid(L * 8 * 16)) - .fluidInputs(Adamantium.getFluid(L * 4 * 16)) - .fluidInputs(Fullerene.getFluid(36 * 48 * 16)) // foil (36) * 48 * 16 - .fluidInputs(Bohrium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 - .output(SPINTRONIC_COMPUTER_UIV, 32) - .EUt(VA[UEV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_INFINITE_CIRCUIT_BOARD, 64) - .input(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 64) - .input(WRAP_MINAND_CHIP, 32 * 64) - .input(WRAP_STTRAM_CHIP, 64 * 64) - .input(wireGtQuadruple, CarbonNanotube, 32 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Zylon.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Adamantium.getFluid(L * 4 * 16 * 64)) - .fluidInputs(Fullerene.getFluid(36 * 48 * 16 * 64)) // foil (36) * 48 * 16 - .fluidInputs(Bohrium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 - .output(SPINTRONIC_COMPUTER_UIV, 32 * 64) - .EUt(VA[UEV]) - .duration(2 * MINUTE * 64) // Original: 10s, Wrapped: 10s * 16 = 160s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_ASSEMBLY_UEV, 48) + input(WRAP_SPINTRONIC_SMD_DIODE, 16) + input(WRAP_MINAND_CHIP, 32) + input(WRAP_STTRAM_CHIP, 64) + input(wireGtQuadruple, CarbonNanotube, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) + fluidInputs(Zylon.getFluid(L * 8 * 16)) + fluidInputs(Adamantium.getFluid(L * 4 * 16)) + fluidInputs(Fullerene.getFluid(36 * 48 * 16)) // foil (36) * 48 * 16 + fluidInputs(Bohrium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(SPINTRONIC_COMPUTER_UIV, 32) + EUt(VA[UEV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_INFINITE_CIRCUIT_BOARD, 64) + input(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) + input(WRAP_SPINTRONIC_SMD_DIODE, 16 * 64) + input(WRAP_MINAND_CHIP, 32 * 64) + input(WRAP_STTRAM_CHIP, 64 * 64) + input(wireGtQuadruple, CarbonNanotube, 32 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) + fluidInputs(Zylon.getFluid(L * 8 * 16 * 64)) + fluidInputs(Adamantium.getFluid(L * 4 * 16 * 64)) + fluidInputs(Fullerene.getFluid(36 * 48 * 16 * 64)) // foil (36) * 48 * 16 + fluidInputs(Bohrium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(SPINTRONIC_COMPUTER_UIV, 32 * 64) + EUt(VA[UEV]) + duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_ASSEMBLY_UEV, 48) + input(WRAP_COSMIC_SMD_DIODE, 4) + input(WRAP_MINAND_CHIP, 32) + input(WRAP_STTRAM_CHIP, 64) + input(wireGtQuadruple, CarbonNanotube, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) + fluidInputs(Zylon.getFluid(L * 8 * 16)) + fluidInputs(Adamantium.getFluid(L * 4 * 16)) + fluidInputs(Fullerene.getFluid(36 * 48 * 16)) // foil (36) * 48 * 16 + fluidInputs(Bohrium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(SPINTRONIC_COMPUTER_UIV, 32) + EUt(VA[UEV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_INFINITE_CIRCUIT_BOARD, 64) + input(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) + input(WRAP_COSMIC_SMD_DIODE, 4 * 64) + input(WRAP_MINAND_CHIP, 32 * 64) + input(WRAP_STTRAM_CHIP, 64 * 64) + input(wireGtQuadruple, CarbonNanotube, 32 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) + fluidInputs(Zylon.getFluid(L * 8 * 16 * 64)) + fluidInputs(Adamantium.getFluid(L * 4 * 16 * 64)) + fluidInputs(Fullerene.getFluid(36 * 48 * 16 * 64)) // foil (36) * 48 * 16 + fluidInputs(Bohrium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(SPINTRONIC_COMPUTER_UIV, 32 * 64) + EUt(VA[UEV]) + duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_INFINITE_CIRCUIT_BOARD) + input(SPINTRONIC_ASSEMBLY_UEV, 48) + input(WRAP_SUPRACAUSAL_SMD_DIODE) + input(WRAP_MINAND_CHIP, 32) + input(WRAP_STTRAM_CHIP, 64) + input(wireGtQuadruple, CarbonNanotube, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) + fluidInputs(Zylon.getFluid(L * 8 * 16)) + fluidInputs(Adamantium.getFluid(L * 4 * 16)) + fluidInputs(Fullerene.getFluid(36 * 48 * 16)) // foil (36) * 48 * 16 + fluidInputs(Bohrium.getFluid(L * 8 * 16)) // plate (144) * 8 * 16 + output(SPINTRONIC_COMPUTER_UIV, 32) + EUt(VA[UEV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_INFINITE_CIRCUIT_BOARD, 64) + input(SPINTRONIC_ASSEMBLY_UEV, 48 * 64) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 64) + input(WRAP_MINAND_CHIP, 32 * 64) + input(WRAP_STTRAM_CHIP, 64 * 64) + input(wireGtQuadruple, CarbonNanotube, 32 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) + fluidInputs(Zylon.getFluid(L * 8 * 16 * 64)) + fluidInputs(Adamantium.getFluid(L * 4 * 16 * 64)) + fluidInputs(Fullerene.getFluid(36 * 48 * 16 * 64)) // foil (36) * 48 * 16 + fluidInputs(Bohrium.getFluid(L * 8 * 16 * 64)) // plate (144) * 8 * 16 + output(SPINTRONIC_COMPUTER_UIV, 32 * 64) + EUt(VA[UEV]) + duration(2 * MINUTE * 64) // Original: 10s, Wrapped: 10s * 16 = 160s + } // UXV Spintronic Mainframe - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Vibranium, 16) - .input(SPINTRONIC_COMPUTER_UIV, 32) - .input(WRAP_SPINTRONIC_SMD_DIODE, 64) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 64) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 64) - .input(WRAP_SPINTRONIC_SMD_RESISTOR, 64) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 64) - .input(WRAP_STTRAM_CHIP, 48) - .input(wireGtHex, FullereneSuperconductor, 128) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) - .fluidInputs(Fullerene.getFluid(L * 32 * 16 + 36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Zylon.getFluid(L * 16 * 16)) - .fluidInputs(Adamantium.getFluid(L * 8 * 16)) - .fluidInputs(Bohrium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 - .output(SPINTRONIC_MAINFRAME_UXV, 16) - .EUt(VA[UIV]) - .duration(20 * MINUTE) // Original: 90s, Wrapped: 90s * 16 = 1440s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Vibranium, 16 * 64) - .input(SPINTRONIC_COMPUTER_UIV, 32 * 64) - .input(WRAP_SPINTRONIC_SMD_DIODE, 64 * 64) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 64 * 64) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 64 * 64) - .input(WRAP_SPINTRONIC_SMD_RESISTOR, 64 * 64) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 64 * 64) - .input(WRAP_STTRAM_CHIP, 48 * 64) - .input(wireGtHex, FullereneSuperconductor, 128 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) - .fluidInputs(Fullerene.getFluid((L * 32 * 16 + 36 * 64 * 16) * 64)) // foil (36) * 64 * 16 - .fluidInputs(Zylon.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Adamantium.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Bohrium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 - .output(SPINTRONIC_MAINFRAME_UXV, 16 * 64) - .EUt(VA[UIV]) - .duration(20 * MINUTE * 64) // Original: 90s, Wrapped: 90s * 16 = 1440s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Vibranium, 16) - .input(SPINTRONIC_COMPUTER_UIV, 32) - .input(WRAP_COSMIC_SMD_DIODE, 16) - .input(WRAP_COSMIC_SMD_CAPACITOR, 16) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 16) - .input(WRAP_COSMIC_SMD_RESISTOR, 16) - .input(WRAP_COSMIC_SMD_INDUCTOR, 16) - .input(WRAP_STTRAM_CHIP, 48) - .input(wireGtHex, FullereneSuperconductor, 128) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) - .fluidInputs(Fullerene.getFluid(L * 32 * 16 + 36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Zylon.getFluid(L * 16 * 16)) - .fluidInputs(Adamantium.getFluid(L * 8 * 16)) - .fluidInputs(Bohrium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 - .output(SPINTRONIC_MAINFRAME_UXV, 16) - .EUt(VA[UIV]) - .duration(10 * MINUTE) // Original: 45s, Wrapped: 45s * 16 = 720s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Vibranium, 16 * 64) - .input(SPINTRONIC_COMPUTER_UIV, 32 * 64) - .input(WRAP_COSMIC_SMD_DIODE, 16 * 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 16 * 64) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 16 * 64) - .input(WRAP_COSMIC_SMD_RESISTOR, 16 * 64) - .input(WRAP_COSMIC_SMD_INDUCTOR, 16 * 64) - .input(WRAP_STTRAM_CHIP, 48 * 64) - .input(wireGtHex, FullereneSuperconductor, 128 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) - .fluidInputs(Fullerene.getFluid((L * 32 * 16 + 36 * 64 * 16) * 64)) // foil (36) * 64 * 16 - .fluidInputs(Zylon.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Adamantium.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Bohrium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 - .output(SPINTRONIC_MAINFRAME_UXV, 16 * 64) - .EUt(VA[UIV]) - .duration(10 * MINUTE * 64) // Original: 45s, Wrapped: 45s * 16 = 720s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Vibranium, 16) - .input(SPINTRONIC_COMPUTER_UIV, 32) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 4) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 4) - .input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 4) - .input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 4) - .input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 4) - .input(WRAP_STTRAM_CHIP, 48) - .input(wireGtHex, FullereneSuperconductor, 128) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) - .fluidInputs(Fullerene.getFluid(L * 32 * 16 + 36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Zylon.getFluid(L * 16 * 16)) - .fluidInputs(Adamantium.getFluid(L * 8 * 16)) - .fluidInputs(Bohrium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 - .output(SPINTRONIC_MAINFRAME_UXV, 16) - .EUt(VA[UIV]) - .duration(5 * MINUTE) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Vibranium, 16 * 64) - .input(SPINTRONIC_COMPUTER_UIV, 32 * 64) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 4 * 64) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 4 * 64) - .input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 4 * 64) - .input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 4 * 64) - .input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 4 * 64) - .input(WRAP_STTRAM_CHIP, 48 * 64) - .input(wireGtHex, FullereneSuperconductor, 128 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) - .fluidInputs(Fullerene.getFluid((L * 32 * 16 + 36 * 64 * 16) * 64)) // foil (36) * 64 * 16 - .fluidInputs(Zylon.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Adamantium.getFluid(L * 8 * 16 * 64)) - .fluidInputs(Bohrium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 - .output(SPINTRONIC_MAINFRAME_UXV, 16 * 64) - .EUt(VA[UIV]) - .duration(5 * MINUTE * 64) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Vibranium, 16) + input(SPINTRONIC_COMPUTER_UIV, 32) + input(WRAP_SPINTRONIC_SMD_DIODE, 64) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 64) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 64) + input(WRAP_SPINTRONIC_SMD_RESISTOR, 64) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 64) + input(WRAP_STTRAM_CHIP, 48) + input(wireGtHex, FullereneSuperconductor, 128) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) + fluidInputs(Fullerene.getFluid(L * 32 * 16 + 36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Zylon.getFluid(L * 16 * 16)) + fluidInputs(Adamantium.getFluid(L * 8 * 16)) + fluidInputs(Bohrium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 + output(SPINTRONIC_MAINFRAME_UXV, 16) + EUt(VA[UIV]) + duration(20 * MINUTE) // Original: 90s, Wrapped: 90s * 16 = 1440s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Vibranium, 16 * 64) + input(SPINTRONIC_COMPUTER_UIV, 32 * 64) + input(WRAP_SPINTRONIC_SMD_DIODE, 64 * 64) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 64 * 64) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 64 * 64) + input(WRAP_SPINTRONIC_SMD_RESISTOR, 64 * 64) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 64 * 64) + input(WRAP_STTRAM_CHIP, 48 * 64) + input(wireGtHex, FullereneSuperconductor, 128 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) + fluidInputs(Fullerene.getFluid((L * 32 * 16 + 36 * 64 * 16) * 64)) // foil (36) * 64 * 16 + fluidInputs(Zylon.getFluid(L * 16 * 16 * 64)) + fluidInputs(Adamantium.getFluid(L * 8 * 16 * 64)) + fluidInputs(Bohrium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 + output(SPINTRONIC_MAINFRAME_UXV, 16 * 64) + EUt(VA[UIV]) + duration(20 * MINUTE * 64) // Original: 90s, Wrapped: 90s * 16 = 1440s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Vibranium, 16) + input(SPINTRONIC_COMPUTER_UIV, 32) + input(WRAP_COSMIC_SMD_DIODE, 16) + input(WRAP_COSMIC_SMD_CAPACITOR, 16) + input(WRAP_COSMIC_SMD_TRANSISTOR, 16) + input(WRAP_COSMIC_SMD_RESISTOR, 16) + input(WRAP_COSMIC_SMD_INDUCTOR, 16) + input(WRAP_STTRAM_CHIP, 48) + input(wireGtHex, FullereneSuperconductor, 128) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) + fluidInputs(Fullerene.getFluid(L * 32 * 16 + 36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Zylon.getFluid(L * 16 * 16)) + fluidInputs(Adamantium.getFluid(L * 8 * 16)) + fluidInputs(Bohrium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 + output(SPINTRONIC_MAINFRAME_UXV, 16) + EUt(VA[UIV]) + duration(10 * MINUTE) // Original: 45s, Wrapped: 45s * 16 = 720s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Vibranium, 16 * 64) + input(SPINTRONIC_COMPUTER_UIV, 32 * 64) + input(WRAP_COSMIC_SMD_DIODE, 16 * 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 16 * 64) + input(WRAP_COSMIC_SMD_TRANSISTOR, 16 * 64) + input(WRAP_COSMIC_SMD_RESISTOR, 16 * 64) + input(WRAP_COSMIC_SMD_INDUCTOR, 16 * 64) + input(WRAP_STTRAM_CHIP, 48 * 64) + input(wireGtHex, FullereneSuperconductor, 128 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) + fluidInputs(Fullerene.getFluid((L * 32 * 16 + 36 * 64 * 16) * 64)) // foil (36) * 64 * 16 + fluidInputs(Zylon.getFluid(L * 16 * 16 * 64)) + fluidInputs(Adamantium.getFluid(L * 8 * 16 * 64)) + fluidInputs(Bohrium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 + output(SPINTRONIC_MAINFRAME_UXV, 16 * 64) + EUt(VA[UIV]) + duration(10 * MINUTE * 64) // Original: 45s, Wrapped: 45s * 16 = 720s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Vibranium, 16) + input(SPINTRONIC_COMPUTER_UIV, 32) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 4) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 4) + input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 4) + input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 4) + input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 4) + input(WRAP_STTRAM_CHIP, 48) + input(wireGtHex, FullereneSuperconductor, 128) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) + fluidInputs(Fullerene.getFluid(L * 32 * 16 + 36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Zylon.getFluid(L * 16 * 16)) + fluidInputs(Adamantium.getFluid(L * 8 * 16)) + fluidInputs(Bohrium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 + output(SPINTRONIC_MAINFRAME_UXV, 16) + EUt(VA[UIV]) + duration(5 * MINUTE) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Vibranium, 16 * 64) + input(SPINTRONIC_COMPUTER_UIV, 32 * 64) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 4 * 64) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 4 * 64) + input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 4 * 64) + input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 4 * 64) + input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 4 * 64) + input(WRAP_STTRAM_CHIP, 48 * 64) + input(wireGtHex, FullereneSuperconductor, 128 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) + fluidInputs(Fullerene.getFluid((L * 32 * 16 + 36 * 64 * 16) * 64)) // foil (36) * 64 * 16 + fluidInputs(Zylon.getFluid(L * 16 * 16 * 64)) + fluidInputs(Adamantium.getFluid(L * 8 * 16 * 64)) + fluidInputs(Bohrium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 + output(SPINTRONIC_MAINFRAME_UXV, 16 * 64) + EUt(VA[UIV]) + duration(5 * MINUTE * 64) // Original: 22.5s, Wrapped: 22.5s * 16 = 360s + } // endregion @@ -1167,243 +1168,243 @@ object SingularityAssemblyUnitRecipes PolyphosphonitrileFluoroRubber.getFluid(36 * 64 * 16), // foil (36) * 64 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 64 * 16))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_COSMIC_INFORMATION_MODULE) - .input(COSMIC_PROCESSOR_UEV, 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 32) - .input(WRAP_COSMIC_SMD_INDUCTOR, 32) - .input(WRAP_EARCPU_CHIP, 16) - .input(wireGtQuadruple, Infinity, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) - .fluidInputs(rubber) - .output(COSMIC_ASSEMBLY_UIV, 48) - .EUt(VA[UIV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_COSMIC_INFORMATION_MODULE) + input(COSMIC_PROCESSOR_UEV, 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 32) + input(WRAP_COSMIC_SMD_INDUCTOR, 32) + input(WRAP_EARCPU_CHIP, 16) + input(wireGtQuadruple, Infinity, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) + fluidInputs(rubber) + output(COSMIC_ASSEMBLY_UIV, 48) + EUt(VA[UIV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + } } for (rubber in arrayOf( PolyphosphonitrileFluoroRubber.getFluid(36 * 64 * 16 * 64), // foil (36) * 64 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 64 * 16 * 64))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_COSMIC_INFORMATION_MODULE, 64) - .input(COSMIC_PROCESSOR_UEV, 64 * 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 32 * 64) - .input(WRAP_COSMIC_SMD_INDUCTOR, 32 * 64) - .input(WRAP_EARCPU_CHIP, 16 * 64) - .input(wireGtQuadruple, Infinity, 16 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) - .fluidInputs(rubber) - .output(COSMIC_ASSEMBLY_UIV, 48 * 64) - .EUt(VA[UIV]) - .duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_COSMIC_INFORMATION_MODULE, 64) + input(COSMIC_PROCESSOR_UEV, 64 * 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 32 * 64) + input(WRAP_COSMIC_SMD_INDUCTOR, 32 * 64) + input(WRAP_EARCPU_CHIP, 16 * 64) + input(wireGtQuadruple, Infinity, 16 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) + fluidInputs(rubber) + output(COSMIC_ASSEMBLY_UIV, 48 * 64) + EUt(VA[UIV]) + duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s + } } for (rubber in arrayOf( PolyphosphonitrileFluoroRubber.getFluid(36 * 64 * 16), // foil (36) * 64 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 64 * 16))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_COSMIC_INFORMATION_MODULE) - .input(COSMIC_PROCESSOR_UEV, 64) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 8) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 8) - .input(WRAP_EARCPU_CHIP, 16) - .input(wireGtQuadruple, Infinity, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) - .fluidInputs(rubber) - .output(COSMIC_ASSEMBLY_UIV, 48) - .EUt(VA[UIV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_COSMIC_INFORMATION_MODULE) + input(COSMIC_PROCESSOR_UEV, 64) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 8) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 8) + input(WRAP_EARCPU_CHIP, 16) + input(wireGtQuadruple, Infinity, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16)) + fluidInputs(rubber) + output(COSMIC_ASSEMBLY_UIV, 48) + EUt(VA[UIV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + } } for (rubber in arrayOf( PolyphosphonitrileFluoroRubber.getFluid(36 * 64 * 16 * 64), // foil (36) * 64 * 16 PolytetramethyleneGlycolRubber.getFluid(36 * 64 * 16 * 64))) { - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_COSMIC_INFORMATION_MODULE, 64) - .input(COSMIC_PROCESSOR_UEV, 64 * 64) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 8 * 64) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 8 * 64) - .input(WRAP_EARCPU_CHIP, 16 * 64) - .input(wireGtQuadruple, Infinity, 16 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) - .fluidInputs(rubber) - .output(COSMIC_ASSEMBLY_UIV, 48 * 64) - .EUt(VA[UIV]) - .duration(2 * MINUTE * 64) // Original: 10s, Wrapped: 10s * 16 = 160s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_COSMIC_INFORMATION_MODULE, 64) + input(COSMIC_PROCESSOR_UEV, 64 * 64) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 8 * 64) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 8 * 64) + input(WRAP_EARCPU_CHIP, 16 * 64) + input(wireGtQuadruple, Infinity, 16 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 4 * 16 * 64)) + fluidInputs(rubber) + output(COSMIC_ASSEMBLY_UIV, 48 * 64) + EUt(VA[UIV]) + duration(2 * MINUTE * 64) // Original: 10s, Wrapped: 10s * 16 = 160s + } } // UXV Cosmic Computer - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_COSMIC_INFORMATION_MODULE) - .input(COSMIC_ASSEMBLY_UIV, 48) - .input(WRAP_COSMIC_SMD_DIODE, 16) - .input(WRAP_ESCLG_CHIP, 32) - .input(WRAP_ADDRAM_CHIP, 64) - .input(wireGtQuadruple, Infinity, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) - .fluidInputs(Fullerene.getFluid(L * 12 * 16)) - .fluidInputs(CosmicNeutronium.getFluid(L * 8)) - .fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Livermorium.getFluid(L * 8 * 16)) - .output(COSMIC_COMPUTER_UXV, 32) - .EUt(VA[UIV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_COSMIC_INFORMATION_MODULE, 64) - .input(COSMIC_ASSEMBLY_UIV, 48 * 64) - .input(WRAP_COSMIC_SMD_DIODE, 16 * 64) - .input(WRAP_ESCLG_CHIP, 32 * 64) - .input(WRAP_ADDRAM_CHIP, 64 * 64) - .input(wireGtQuadruple, Infinity, 32 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Fullerene.getFluid(L * 12 * 16 * 64)) - .fluidInputs(CosmicNeutronium.getFluid(L * 8 * 64)) - .fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Livermorium.getFluid(L * 8 * 16 * 64)) - .output(COSMIC_COMPUTER_UXV, 32 * 64) - .EUt(VA[UIV]) - .duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(WRAP_COSMIC_INFORMATION_MODULE) - .input(COSMIC_ASSEMBLY_UIV, 48) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 4) - .input(WRAP_ESCLG_CHIP, 32) - .input(WRAP_ADDRAM_CHIP, 64) - .input(wireGtQuadruple, Infinity, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) - .fluidInputs(Fullerene.getFluid(L * 12 * 16)) - .fluidInputs(CosmicNeutronium.getFluid(L * 8)) - .fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Livermorium.getFluid(L * 8 * 16)) - .output(COSMIC_COMPUTER_UXV, 32) - .EUt(VA[UIV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(WRAP_COSMIC_INFORMATION_MODULE, 64) - .input(COSMIC_ASSEMBLY_UIV, 48 * 64) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 4 * 64) - .input(WRAP_ESCLG_CHIP, 32 * 64) - .input(WRAP_ADDRAM_CHIP, 64 * 64) - .input(wireGtQuadruple, Infinity, 32 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Fullerene.getFluid(L * 12 * 16 * 64)) - .fluidInputs(CosmicNeutronium.getFluid(L * 8 * 64)) - .fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Livermorium.getFluid(L * 8 * 16 * 64)) - .output(COSMIC_COMPUTER_UXV, 32 * 64) - .EUt(VA[UIV]) - .duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_COSMIC_INFORMATION_MODULE) + input(COSMIC_ASSEMBLY_UIV, 48) + input(WRAP_COSMIC_SMD_DIODE, 16) + input(WRAP_ESCLG_CHIP, 32) + input(WRAP_ADDRAM_CHIP, 64) + input(wireGtQuadruple, Infinity, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) + fluidInputs(Fullerene.getFluid(L * 12 * 16)) + fluidInputs(CosmicNeutronium.getFluid(L * 8)) + fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Livermorium.getFluid(L * 8 * 16)) + output(COSMIC_COMPUTER_UXV, 32) + EUt(VA[UIV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_COSMIC_INFORMATION_MODULE, 64) + input(COSMIC_ASSEMBLY_UIV, 48 * 64) + input(WRAP_COSMIC_SMD_DIODE, 16 * 64) + input(WRAP_ESCLG_CHIP, 32 * 64) + input(WRAP_ADDRAM_CHIP, 64 * 64) + input(wireGtQuadruple, Infinity, 32 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) + fluidInputs(Fullerene.getFluid(L * 12 * 16 * 64)) + fluidInputs(CosmicNeutronium.getFluid(L * 8 * 64)) + fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Livermorium.getFluid(L * 8 * 16 * 64)) + output(COSMIC_COMPUTER_UXV, 32 * 64) + EUt(VA[UIV]) + duration(8 * MINUTE * 64) // Original: 40s, Wrapped: 40s * 16 = 640s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(WRAP_COSMIC_INFORMATION_MODULE) + input(COSMIC_ASSEMBLY_UIV, 48) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 4) + input(WRAP_ESCLG_CHIP, 32) + input(WRAP_ADDRAM_CHIP, 64) + input(wireGtQuadruple, Infinity, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16)) + fluidInputs(Fullerene.getFluid(L * 12 * 16)) + fluidInputs(CosmicNeutronium.getFluid(L * 8)) + fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Livermorium.getFluid(L * 8 * 16)) + output(COSMIC_COMPUTER_UXV, 32) + EUt(VA[UIV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(WRAP_COSMIC_INFORMATION_MODULE, 64) + input(COSMIC_ASSEMBLY_UIV, 48 * 64) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 4 * 64) + input(WRAP_ESCLG_CHIP, 32 * 64) + input(WRAP_ADDRAM_CHIP, 64 * 64) + input(wireGtQuadruple, Infinity, 32 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 16 * 64)) + fluidInputs(Fullerene.getFluid(L * 12 * 16 * 64)) + fluidInputs(CosmicNeutronium.getFluid(L * 8 * 64)) + fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Livermorium.getFluid(L * 8 * 16 * 64)) + output(COSMIC_COMPUTER_UXV, 32 * 64) + EUt(VA[UIV]) + duration(4 * MINUTE * 64) // Original: 20s, Wrapped: 20s * 16 = 320s + } // OpV Cosmic Mainframe - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Shirabon, 16) - .input(COSMIC_COMPUTER_UXV, 32) - .input(WRAP_COSMIC_SMD_DIODE, 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 64) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 64) - .input(WRAP_COSMIC_SMD_RESISTOR, 64) - .input(WRAP_COSMIC_SMD_INDUCTOR, 64) - .input(WRAP_ADDRAM_CHIP, 64) - .input(wireGtHex, BoronFranciumCarbideSuperconductor, 128) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) - .fluidInputs(CosmicFabric.getFluid(L * 32 * 16)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16 * 16)) - .fluidInputs(Vibranium.getFluid(L * 8 * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Meitnerium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 - .output(COSMIC_MAINFRAME_OpV, 16) - .EUt(VA[UXV]) - .duration(20 * MINUTE) // Original: 90s, Wrapped: 90s * 16 = 1440s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Shirabon, 16 * 64) - .input(COSMIC_COMPUTER_UXV, 32 * 64) - .input(WRAP_COSMIC_SMD_DIODE, 64 * 64) - .input(WRAP_COSMIC_SMD_CAPACITOR, 64 * 64) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 64 * 64) - .input(WRAP_COSMIC_SMD_RESISTOR, 64 * 64) - .input(WRAP_COSMIC_SMD_INDUCTOR, 64 * 64) - .input(WRAP_ADDRAM_CHIP, 64 * 64) - .input(wireGtHex, BoronFranciumCarbideSuperconductor, 128 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) - .fluidInputs(CosmicFabric.getFluid(L * 32 * 16 * 64)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Vibranium.getFluid(L * 8 * 16 * 64)) - .fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Meitnerium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 - .output(COSMIC_MAINFRAME_OpV, 16 * 64) - .EUt(VA[UXV]) - .duration(20 * MINUTE * 64) // Original: 90s, Wrapped: 90s * 16 = 1440s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(frameGt, Shirabon, 16) - .input(COSMIC_COMPUTER_UXV, 32) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 16) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 16) - .input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 16) - .input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 16) - .input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 16) - .input(WRAP_ADDRAM_CHIP, 64) - .input(wireGtHex, BoronFranciumCarbideSuperconductor, 128) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) - .fluidInputs(CosmicFabric.getFluid(L * 32 * 16)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16 * 16)) - .fluidInputs(Vibranium.getFluid(L * 8 * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 - .fluidInputs(Meitnerium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 - .output(COSMIC_MAINFRAME_OpV, 16) - .EUt(VA[UXV]) - .duration(10 * MINUTE) // Original: 45s, Wrapped: 45s * 16 = 720s - .buildAndRegister() - - SINGULARITY_ASSEMBLY_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(frameGt, Shirabon, 16 * 64) - .input(COSMIC_COMPUTER_UXV, 32 * 64) - .input(WRAP_SUPRACAUSAL_SMD_DIODE, 16 * 64) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 16 * 64) - .input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 16 * 64) - .input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 16 * 64) - .input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 16 * 64) - .input(WRAP_ADDRAM_CHIP, 64 * 64) - .input(wireGtHex, BoronFranciumCarbideSuperconductor, 128 * 64) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) - .fluidInputs(CosmicFabric.getFluid(L * 32 * 16 * 64)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16 * 16 * 64)) - .fluidInputs(Vibranium.getFluid(L * 8 * 16 * 64)) - .fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 - .fluidInputs(Meitnerium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 - .output(COSMIC_MAINFRAME_OpV, 16 * 64) - .EUt(VA[UXV]) - .duration(10 * MINUTE * 64) // Original: 45s, Wrapped: 45s * 16 = 720s - .buildAndRegister() + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Shirabon, 16) + input(COSMIC_COMPUTER_UXV, 32) + input(WRAP_COSMIC_SMD_DIODE, 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 64) + input(WRAP_COSMIC_SMD_TRANSISTOR, 64) + input(WRAP_COSMIC_SMD_RESISTOR, 64) + input(WRAP_COSMIC_SMD_INDUCTOR, 64) + input(WRAP_ADDRAM_CHIP, 64) + input(wireGtHex, BoronFranciumCarbideSuperconductor, 128) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) + fluidInputs(CosmicFabric.getFluid(L * 32 * 16)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16 * 16)) + fluidInputs(Vibranium.getFluid(L * 8 * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Meitnerium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 + output(COSMIC_MAINFRAME_OpV, 16) + EUt(VA[UXV]) + duration(20 * MINUTE) // Original: 90s, Wrapped: 90s * 16 = 1440s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Shirabon, 16 * 64) + input(COSMIC_COMPUTER_UXV, 32 * 64) + input(WRAP_COSMIC_SMD_DIODE, 64 * 64) + input(WRAP_COSMIC_SMD_CAPACITOR, 64 * 64) + input(WRAP_COSMIC_SMD_TRANSISTOR, 64 * 64) + input(WRAP_COSMIC_SMD_RESISTOR, 64 * 64) + input(WRAP_COSMIC_SMD_INDUCTOR, 64 * 64) + input(WRAP_ADDRAM_CHIP, 64 * 64) + input(wireGtHex, BoronFranciumCarbideSuperconductor, 128 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) + fluidInputs(CosmicFabric.getFluid(L * 32 * 16 * 64)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16 * 16 * 64)) + fluidInputs(Vibranium.getFluid(L * 8 * 16 * 64)) + fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Meitnerium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 + output(COSMIC_MAINFRAME_OpV, 16 * 64) + EUt(VA[UXV]) + duration(20 * MINUTE * 64) // Original: 90s, Wrapped: 90s * 16 = 1440s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(1) + input(frameGt, Shirabon, 16) + input(COSMIC_COMPUTER_UXV, 32) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 16) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 16) + input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 16) + input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 16) + input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 16) + input(WRAP_ADDRAM_CHIP, 64) + input(wireGtHex, BoronFranciumCarbideSuperconductor, 128) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16)) + fluidInputs(CosmicFabric.getFluid(L * 32 * 16)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16 * 16)) + fluidInputs(Vibranium.getFluid(L * 8 * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16)) // foil (36) * 64 * 16 + fluidInputs(Meitnerium.getFluid(L * 16 * 16)) // plate (144) * 16 * 16 + output(COSMIC_MAINFRAME_OpV, 16) + EUt(VA[UXV]) + duration(10 * MINUTE) // Original: 45s, Wrapped: 45s * 16 = 720s + } + + SINGULARITY_ASSEMBLY_RECIPES.addRecipe { + circuitMeta(2) + input(frameGt, Shirabon, 16 * 64) + input(COSMIC_COMPUTER_UXV, 32 * 64) + input(WRAP_SUPRACAUSAL_SMD_DIODE, 16 * 64) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 16 * 64) + input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 16 * 64) + input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 16 * 64) + input(WRAP_SUPRACAUSAL_SMD_INDUCTOR, 16 * 64) + input(WRAP_ADDRAM_CHIP, 64 * 64) + input(wireGtHex, BoronFranciumCarbideSuperconductor, 128 * 64) + fluidInputs(MutatedLivingSolder.getFluid(L * 80 * 16 * 64)) + fluidInputs(CosmicFabric.getFluid(L * 32 * 16 * 64)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 16 * 16 * 64)) + fluidInputs(Vibranium.getFluid(L * 8 * 16 * 64)) + fluidInputs(FullerenePolymerMatrix.getFluid(36 * 64 * 16 * 64)) // foil (36) * 64 * 16 + fluidInputs(Meitnerium.getFluid(L * 16 * 16 * 64)) // plate (144) * 16 * 16 + output(COSMIC_MAINFRAME_OpV, 16 * 64) + EUt(VA[UXV]) + duration(10 * MINUTE * 64) // Original: 45s, Wrapped: 45s * 16 = 720s + } // endregion diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SpaceAssemblerRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SpaceAssemblerRecipes.kt index cd24802a7..8e6c00f79 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SpaceAssemblerRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/SpaceAssemblerRecipes.kt @@ -1,7 +1,7 @@ package gregtechlite.gtlitecore.loader.recipe.machine import gregtech.api.GTValues.L -import gregtech.api.unification.material.MarkerMaterials +import gregtech.api.unification.material.MarkerMaterials.Tier import gregtech.api.unification.material.Materials.Bohrium import gregtech.api.unification.material.Materials.Dubnium import gregtech.api.unification.material.Materials.NaquadahEnriched @@ -24,6 +24,7 @@ import gregtech.common.items.MetaItems.ULTIMATE_BATTERY import gregtech.common.items.MetaItems.ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT import gregtech.common.items.MetaItems.WETWARE_CIRCUIT_BOARD import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.SPACE_ASSEMBLER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ArceusAlloy2B import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium @@ -44,73 +45,72 @@ internal object SpaceAssemblerRecipes fun init() { // Advanced recipes for Lapotronic Energy Cluster. - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(ELITE_CIRCUIT_BOARD) - .input(plate, Rutherfordium, 4) - .input(circuit, MarkerMaterials.Tier.LuV, 2) - .input(ENGRAVED_LAPOTRON_CHIP, 32) - .input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 16) - .input(wireFine, Ruridit, 64) - .input(bolt, NaquadahEnriched, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 5)) - .output(ENERGY_LAPOTRONIC_ORB_CLUSTER, 4) - .EUt(80_000) // ZPM - .duration(10 * SECOND) - .tier(1) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(ELITE_CIRCUIT_BOARD) + input(plate, Rutherfordium, 4) + input(circuit, Tier.LuV, 2) + input(ENGRAVED_LAPOTRON_CHIP, 32) + input(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 16) + input(wireFine, Ruridit, 64) + input(bolt, NaquadahEnriched, 8) + fluidInputs(SolderingAlloy.getFluid(L * 5)) + output(ENERGY_LAPOTRONIC_ORB_CLUSTER, 4) + EUt(80_000) // ZPM + duration(10 * SECOND) + tier(1) + } // Advanced recipes for Energy Module. - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(WETWARE_CIRCUIT_BOARD) - .input(plate, Dubnium, 4) - .input(circuit, MarkerMaterials.Tier.ZPM, 2) - .input(ENGRAVED_LAPOTRON_CHIP, 64) - .input(NANO_PIC_CHIP, 16) - .input(wireFine, Osmiridium, 64) - .input(bolt, Naquadria, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 10)) - .output(ENERGY_MODULE, 4) - .EUt(100_000) // ZPM - .duration(10 * SECOND) - .tier(1) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(WETWARE_CIRCUIT_BOARD) + input(plate, Dubnium, 4) + input(circuit, Tier.ZPM, 2) + input(ENGRAVED_LAPOTRON_CHIP, 64) + input(NANO_PIC_CHIP, 16) + input(wireFine, Osmiridium, 64) + input(bolt, Naquadria, 8) + fluidInputs(SolderingAlloy.getFluid(L * 10)) + output(ENERGY_MODULE, 4) + EUt(100_000) // ZPM + duration(10 * SECOND) + tier(1) + } // Advanced recipes for Energy Cluster. - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(ULTIMATE_CIRCUIT_BOARD) - .input(plate, Bohrium, 4) - .input(circuit, MarkerMaterials.Tier.UV, 2) - .input(ENGRAVED_LAPOTRON_CHIP, 64) - .input(ENGRAVED_LAPOTRON_CHIP, 64) - .input(PICO_PIC_CHIP, 16) - .input(wireFine, PreciousMetalAlloy, 64) - .input(bolt, Taranium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 20)) - .output(ENERGY_CLUSTER, 4) - .EUt(200_000) // UV - .duration(10 * SECOND) - .tier(2) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(ULTIMATE_CIRCUIT_BOARD) + input(plate, Bohrium, 4) + input(circuit, Tier.UV, 2) + input(ENGRAVED_LAPOTRON_CHIP, 64) + input(ENGRAVED_LAPOTRON_CHIP, 64) + input(PICO_PIC_CHIP, 16) + input(wireFine, PreciousMetalAlloy, 64) + input(bolt, Taranium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 20)) + output(ENERGY_CLUSTER, 4) + EUt(200_000) // UV + duration(10 * SECOND) + tier(2) + } // Advanced recipes for Ultimate Battery. - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(PERFECT_CIRCUIT_BOARD) - .input(plate, Nihonium, 4) - .input(circuit, MarkerMaterials.Tier.UHV, 2) - .input(ENGRAVED_LAPOTRON_CHIP, 64) - .input(ENGRAVED_LAPOTRON_CHIP, 64) - .input(ENGRAVED_LAPOTRON_CHIP, 64) - .input(ENGRAVED_LAPOTRON_CHIP, 64) - .input(FEMTO_PIC_CHIP, 16) - .input(wireFine, ArceusAlloy2B, 64) - .input(bolt, CosmicNeutronium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .output(ULTIMATE_BATTERY, 4) - .EUt(800_000) // UHV - .duration(10 * SECOND) - .tier(3) - .buildAndRegister() - + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(PERFECT_CIRCUIT_BOARD) + input(plate, Nihonium, 4) + input(circuit, Tier.UHV, 2) + input(ENGRAVED_LAPOTRON_CHIP, 64) + input(ENGRAVED_LAPOTRON_CHIP, 64) + input(ENGRAVED_LAPOTRON_CHIP, 64) + input(ENGRAVED_LAPOTRON_CHIP, 64) + input(FEMTO_PIC_CHIP, 16) + input(wireFine, ArceusAlloy2B, 64) + input(bolt, CosmicNeutronium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + output(ULTIMATE_BATTERY, 4) + EUt(800_000) // UHV + duration(10 * SECOND) + tier(3) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/VacuumChamberRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/VacuumChamberRecipes.kt index 46bf89c38..33348ff97 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/VacuumChamberRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/VacuumChamberRecipes.kt @@ -7,7 +7,7 @@ internal object VacuumChamberRecipes fun init() { - + // ... } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/WiremillRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/WiremillRecipes.kt index aea3b5191..aa55b55b5 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/WiremillRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/WiremillRecipes.kt @@ -1,13 +1,14 @@ package gregtechlite.gtlitecore.loader.recipe.machine -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.WIREMILL_RECIPES import gregtech.api.unification.OreDictUnifier import gregtech.api.unification.material.Materials.Polycaprolactam import gregtech.api.unification.ore.OrePrefix.ingot import gregtechlite.gtlitecore.api.SECOND -import net.minecraft.init.Items -import net.minecraft.item.ItemStack +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.outputs +import gregtechlite.gtlitecore.api.extension.removeRecipe +import net.minecraft.init.Items.STRING internal object WiremillRecipes { @@ -16,19 +17,15 @@ internal object WiremillRecipes fun init() { - // Let Polycaprolactam also used same int circuit configuration like another wire. - GTRecipeHandler.removeRecipesByInputs(WIREMILL_RECIPES, - OreDictUnifier.get(ingot, Polycaprolactam)) - - WIREMILL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(ingot, Polycaprolactam) - .outputs(ItemStack(Items.STRING, 32)) - .EUt(48) // MV - .duration(4 * SECOND) - .buildAndRegister() - + WIREMILL_RECIPES.removeRecipe(OreDictUnifier.get(ingot, Polycaprolactam)) + WIREMILL_RECIPES.addRecipe { + circuitMeta(1) + input(ingot, Polycaprolactam) + outputs(STRING, 32) + EUt(48) // MV + duration(4 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/AerospaceCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/AerospaceCasingRecipes.kt index 3d51f79b9..e0c76f0ea 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/AerospaceCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/AerospaceCasingRecipes.kt @@ -68,6 +68,7 @@ import gregtech.common.metatileentities.MetaTileEntities.QUANTUM_TANK import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium @@ -117,378 +118,377 @@ internal object AerospaceCasingRecipes fun init() { // High Strength Concrete - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTCleanroomCasing.PLASCRETE.getStack(4)) - .input(plate, HDCS, 8) - .fluidInputs(Adamantium.getFluid(L)) - .outputs(AerospaceCasing.HIGH_STRENGTH_CONCRETE.getStack(4)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTCleanroomCasing.PLASCRETE.getStack(4)) + input(plate, HDCS, 8) + fluidInputs(Adamantium.getFluid(L)) + outputs(AerospaceCasing.HIGH_STRENGTH_CONCRETE.getStack(4)) + EUt(VA[LuV]) + duration(10 * SECOND) + } // Space Elevator Base Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium, 8) - .input(screw, Palladium, 32) - .input(plate, Pikyonium64B, 64) - .input(circuit, Tier.UHV, 4) - .input(ELECTRIC_PISTON_UV, 2) - .input(ring, Adamantium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(2000)) - .fluidInputs(Iridium.getFluid(L * 8)) - .outputs(AerospaceCasing.ELEVATOR_BASE_CASING.getStack(16)) - .EUt(VA[UV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium, 8) + input(screw, Palladium, 32) + input(plate, Pikyonium64B, 64) + input(circuit, Tier.UHV, 4) + input(ELECTRIC_PISTON_UV, 2) + input(ring, Adamantium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(2000)) + fluidInputs(Iridium.getFluid(L * 8)) + outputs(AerospaceCasing.ELEVATOR_BASE_CASING.getStack(16)) + EUt(VA[UV]) + duration(30 * SECOND) + stationResearch { it.researchStack(MetalCasing.OSMIRIDIUM.stack) .EUt(VA[UV]) .CWUt(16) } - .buildAndRegister() + } // Support Structure Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium, 8) - .input(bolt, Naquadria, 16) - .input(stickLong, Neutronium, 8) - .input(plateDouble, Osmiridium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(1000)) - .fluidInputs(Iridium.getFluid(L * 10)) - .outputs(AerospaceCasing.SUPPORT_STRUCTURE_CASING.getStack(16)) - .EUt(VA[UV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium, 8) + input(bolt, Naquadria, 16) + input(stickLong, Neutronium, 8) + input(plateDouble, Osmiridium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(1000)) + fluidInputs(Iridium.getFluid(L * 10)) + outputs(AerospaceCasing.SUPPORT_STRUCTURE_CASING.getStack(16)) + EUt(VA[UV]) + duration(30 * SECOND) + stationResearch { it.researchStack(OreDictUnifier.get(frameGt, Neutronium)) .EUt(VA[UV]) .CWUt(8) } - .buildAndRegister() + } // Internal Support Structure Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GTComputerCasing.HIGH_POWER_CASING.getStack(8)) - .input(bolt, Palladium, 16) - .input(plateDouble, Neutronium, 8) - .input(ring, HSLASteel, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(8000)) - .fluidInputs(Concrete.getFluid(L * 10)) - .outputs(AerospaceCasing.INTERNAL_STRUCTURE_CASING.getStack(16)) - .EUt(VA[UV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GTComputerCasing.HIGH_POWER_CASING.getStack(8)) + input(bolt, Palladium, 16) + input(plateDouble, Neutronium, 8) + input(ring, HSLASteel, 4) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(8000)) + fluidInputs(Concrete.getFluid(L * 10)) + outputs(AerospaceCasing.INTERNAL_STRUCTURE_CASING.getStack(16)) + EUt(VA[UV]) + duration(30 * SECOND) + stationResearch { it.researchStack(GTComputerCasing.HIGH_POWER_CASING.stack) .EUt(VA[UV]) .CWUt(12) } - .buildAndRegister() + } // Acceleration Track MK1 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) - .input(ELECTRIC_MOTOR_UV, 4) - .input(ring, Neutronium, 8) - .input(stick, Neutronium, 4) - .input(circuit, Tier.UV) - .input(screw, Neutronium, 16) - .input(plate, Osmiridium, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(8000)) - .fluidInputs(Naquadria.getFluid(L * 10)) - .fluidInputs(Lubricant.getFluid(16000)) - .outputs(AccelerationTrack.MK1.getStack(8)) - .EUt(VA[UV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) + input(ELECTRIC_MOTOR_UV, 4) + input(ring, Neutronium, 8) + input(stick, Neutronium, 4) + input(circuit, Tier.UV) + input(screw, Neutronium, 16) + input(plate, Osmiridium, 16) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(8000)) + fluidInputs(Naquadria.getFluid(L * 10)) + fluidInputs(Lubricant.getFluid(16000)) + outputs(AccelerationTrack.MK1.getStack(8)) + EUt(VA[UV]) + duration(30 * SECOND) + stationResearch { it.researchStack(AerospaceCasing.ELEVATOR_BASE_CASING.stack) .EUt(VA[UV]) .CWUt(16) } - .buildAndRegister() + } // Acceleration Track MK2 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) - .input(ELECTRIC_MOTOR_UHV, 4) - .input(ring, Adamantium, 8) - .input(stick, Adamantium, 4) - .input(circuit, Tier.UHV) - .input(screw, CosmicNeutronium, 16) - .input(plate, Osmiridium, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(8000)) - .fluidInputs(Taranium.getFluid(L * 10)) - .fluidInputs(Lubricant.getFluid(16000)) - .outputs(AccelerationTrack.MK2.getStack(8)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) + input(ELECTRIC_MOTOR_UHV, 4) + input(ring, Adamantium, 8) + input(stick, Adamantium, 4) + input(circuit, Tier.UHV) + input(screw, CosmicNeutronium, 16) + input(plate, Osmiridium, 16) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(8000)) + fluidInputs(Taranium.getFluid(L * 10)) + fluidInputs(Lubricant.getFluid(16000)) + outputs(AccelerationTrack.MK2.getStack(8)) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { it.researchStack(AccelerationTrack.MK1.stack) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // Acceleration Track MK3 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) - .input(ELECTRIC_MOTOR_UEV, 4) - .input(ring, CosmicNeutronium, 8) - .input(stick, CosmicNeutronium, 4) - .input(circuit, Tier.UEV) - .input(screw, Infinity, 16) - .input(plate, Osmiridium, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(8000)) - .fluidInputs(MetastableHassium.getFluid(L * 10)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .outputs(AccelerationTrack.MK3.getStack(8)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) + input(ELECTRIC_MOTOR_UEV, 4) + input(ring, CosmicNeutronium, 8) + input(stick, CosmicNeutronium, 4) + input(circuit, Tier.UEV) + input(screw, Infinity, 16) + input(plate, Osmiridium, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(8000)) + fluidInputs(MetastableHassium.getFluid(L * 10)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + outputs(AccelerationTrack.MK3.getStack(8)) + EUt(VA[UEV]) + duration(30 * SECOND) + stationResearch { it.researchStack(AccelerationTrack.MK2.stack) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Acceleration Track MK4 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) - .input(ELECTRIC_MOTOR_UIV, 4) - .input(ring, HeavyQuarkDegenerateMatter, 8) - .input(stick, HeavyQuarkDegenerateMatter, 4) - .input(circuit, Tier.UIV) - .input(screw, TranscendentMetal, 16) - .input(plate, Pikyonium64B, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(8000)) - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 10)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .outputs(AccelerationTrack.MK4.getStack(8)) - .EUt(VA[UIV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) + input(ELECTRIC_MOTOR_UIV, 4) + input(ring, HeavyQuarkDegenerateMatter, 8) + input(stick, HeavyQuarkDegenerateMatter, 4) + input(circuit, Tier.UIV) + input(screw, TranscendentMetal, 16) + input(plate, Pikyonium64B, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(8000)) + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 10)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + outputs(AccelerationTrack.MK4.getStack(8)) + EUt(VA[UIV]) + duration(30 * SECOND) + stationResearch { it.researchStack(AccelerationTrack.MK3.stack) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() + } // Acceleration Orbit MK5 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) - .input(ELECTRIC_MOTOR_UXV, 4) - .input(ring, TranscendentMetal, 8) - .input(stick, TranscendentMetal, 4) - .input(circuit, Tier.UXV) - .input(screw, SpaceTime, 16) - .input(plate, Pikyonium64B, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(8000)) - .fluidInputs(PrimordialMatter.getFluid(L * 10)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .outputs(AccelerationTrack.MK5.getStack(8)) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(AerospaceCasing.ELEVATOR_BASE_CASING.stack) + input(ELECTRIC_MOTOR_UXV, 4) + input(ring, TranscendentMetal, 8) + input(stick, TranscendentMetal, 4) + input(circuit, Tier.UXV) + input(screw, SpaceTime, 16) + input(plate, Pikyonium64B, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(8000)) + fluidInputs(PrimordialMatter.getFluid(L * 10)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + outputs(AccelerationTrack.MK5.getStack(8)) + EUt(VA[UXV]) + duration(30 * SECOND) + stationResearch { it.researchStack(AccelerationTrack.MK4.stack) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() + } // Dyson Swarm Energy Receiver Base Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(POWER_TRANSFORMER[UHV]) - .input(FEMTO_PIC_CHIP, 64) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 4) - .input(VOLTAGE_COIL_UHV, 64) - .input(VOLTAGE_COIL_UHV, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 50000)) - .fluidInputs(GelidCryotheum.getFluid(16000)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_ENERGY_RECEIVER_BASE_CASING.getStack(16)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(POWER_TRANSFORMER[UHV]) + input(FEMTO_PIC_CHIP, 64) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 4) + input(VOLTAGE_COIL_UHV, 64) + input(VOLTAGE_COIL_UHV, 64) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 50000)) + fluidInputs(GelidCryotheum.getFluid(16000)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_ENERGY_RECEIVER_BASE_CASING.getStack(16)) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { it.researchStack(POWER_TRANSFORMER[UHV].stackForm) .EUt(VA[UHV]) .CWUt(24) } - .buildAndRegister() + } // Dyson Swarm Module Deployment Unit Base Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UHV]) - .input(circuit, Tier.UEV, 4) - .input(ELECTRIC_PUMP_UHV, 16) - .input(QUANTUM_TANK[UHV], 2) - .input(CONVEYOR_MODULE_UHV, 16) - .input(QUANTUM_CHEST[UHV], 2) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(Lubricant.getFluid(50000)) - .fluidInputs(GelidCryotheum.getFluid(FluidStorageKeys.LIQUID, 16000)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(16)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UHV]) + input(circuit, Tier.UEV, 4) + input(ELECTRIC_PUMP_UHV, 16) + input(QUANTUM_TANK[UHV], 2) + input(CONVEYOR_MODULE_UHV, 16) + input(QUANTUM_CHEST[UHV], 2) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(Lubricant.getFluid(50000)) + fluidInputs(GelidCryotheum.getFluid(FluidStorageKeys.LIQUID, 16000)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.getStack(16)) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { it.researchStack(QUANTUM_CHEST[UHV].stackForm) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Dyson Swarm Module Deployment Unit Core - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UHV], 4) - .input(QUANTUM_STORAGE_CONTROLLER, 8) - .input(QUANTUM_STORAGE_PROXY, 16) - .input(QUANTUM_STORAGE_EXTENDER, 16) - .input(CONVEYOR_MODULE_UHV, 8) - .input(ROBOT_ARM_UHV, 8) - .input(ELECTRIC_PISTON_UHV, 8) - .input(plateDouble, Rhugnor, 4) - .input(foil, QuantumAlloy, 32) - .input(screw, Tairitsium, 24) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(Lubricant.getFluid(50000)) - .fluidInputs(Bedrockium.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_CORE.stack) - .EUt(VA[UHV]) - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UHV], 4) + input(QUANTUM_STORAGE_CONTROLLER, 8) + input(QUANTUM_STORAGE_PROXY, 16) + input(QUANTUM_STORAGE_EXTENDER, 16) + input(CONVEYOR_MODULE_UHV, 8) + input(ROBOT_ARM_UHV, 8) + input(ELECTRIC_PISTON_UHV, 8) + input(plateDouble, Rhugnor, 4) + input(foil, QuantumAlloy, 32) + input(screw, Tairitsium, 24) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(Lubricant.getFluid(50000)) + fluidInputs(Bedrockium.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_CORE.stack) + EUt(VA[UHV]) + duration(1 * MINUTE) + stationResearch { it.researchStack(QUANTUM_STORAGE_CONTROLLER.stackForm) .EUt(VA[UHV]) .CWUt(48) } - .buildAndRegister() + } // Dyson Swarm Module Deployment Unit Superconducting Magnet - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(block, SamariumCobalt, 8) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 16) - .input(FEMTO_PIC_CHIP, 64) - .input(circuit, Tier.UEV, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(Lubricant.getFluid(50000)) - .fluidInputs(TitanSteel.getFluid(L * 20)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_SUPERCONDUCTING_MAGNET.getStack(16)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(block, SamariumCobalt, 8) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 16) + input(FEMTO_PIC_CHIP, 64) + input(circuit, Tier.UEV, 4) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(Lubricant.getFluid(50000)) + fluidInputs(TitanSteel.getFluid(L * 20)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_SUPERCONDUCTING_MAGNET.getStack(16)) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { it.researchStack(POLARIZER[UHV].stackForm) .EUt(VA[UHV]) .CWUt(16) } - .buildAndRegister() + } // Dyson Swarm Control Center Base Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(HULL[UHV], 4) - .input(HIGH_PERFORMANCE_COMPUTING_ARRAY, 8) - .input(circuit, Tier.UHV, 4) - .input(screw, Roentgenium, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(Holmium.getFluid(L * 40)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_BASE_CASING.getStack(16)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(HULL[UHV], 4) + input(HIGH_PERFORMANCE_COMPUTING_ARRAY, 8) + input(circuit, Tier.UHV, 4) + input(screw, Roentgenium, 16) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(Holmium.getFluid(L * 40)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_BASE_CASING.getStack(16)) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { it.researchStack(HIGH_PERFORMANCE_COMPUTING_ARRAY.stackForm) .EUt(VA[UHV]) .CWUt(64) } - .buildAndRegister() + } // Dyson Swarm Control Center Primary Windings - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.MOLECULAR_COIL.getStack(4)) - .input(FEMTO_PIC_CHIP, 8) - .input(foil, Dysprosium, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(Kevlar.getFluid(L * 24)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_PRIMARY_WINDINGS.getStack(4)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.MOLECULAR_COIL.getStack(4)) + input(FEMTO_PIC_CHIP, 8) + input(foil, Dysprosium, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(Kevlar.getFluid(L * 24)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_PRIMARY_WINDINGS.getStack(4)) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { it.researchStack(VOLTAGE_COIL_UHV.stackForm) .EUt(VA[UHV]) .CWUt(8) } - .buildAndRegister() + } - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.MOLECULAR_COIL.getStack(4)) - .input(FEMTO_PIC_CHIP, 8) - .input(foil, Dysprosium, 64) - .input(POLYMER_INSULATOR_FOIL, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(Kevlar.getFluid(L * 24)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_PRIMARY_WINDINGS.getStack(4)) - .EUt(VA[UHV]) - .duration(7 * SECOND + 10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.MOLECULAR_COIL.getStack(4)) + input(FEMTO_PIC_CHIP, 8) + input(foil, Dysprosium, 64) + input(POLYMER_INSULATOR_FOIL, 64) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(Kevlar.getFluid(L * 24)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_PRIMARY_WINDINGS.getStack(4)) + EUt(VA[UHV]) + duration(7 * SECOND + 10 * SECOND) + stationResearch { it.researchStack(VOLTAGE_COIL_UHV.stackForm) .EUt(VA[UHV]) .CWUt(8) } - .buildAndRegister() + } // Dyson Swarm Control Center Secondary Windings - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GTFusionCasing.SUPERCONDUCTOR_COIL.getStack(4)) - .input(spring, TantalumHafniumSeaborgiumCarbide, 8) - .input(foil, Erbium, 64) - .input(foil, HastelloyX78, 64) - .input(foil, Fermium, 64) - .input(foil, PreciousMetalAlloy, 64) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(Gadolinium.getFluid(L * 16)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_SECONDARY_WINDINGS.getStack(4)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GTFusionCasing.SUPERCONDUCTOR_COIL.getStack(4)) + input(spring, TantalumHafniumSeaborgiumCarbide, 8) + input(foil, Erbium, 64) + input(foil, HastelloyX78, 64) + input(foil, Fermium, 64) + input(foil, PreciousMetalAlloy, 64) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(Gadolinium.getFluid(L * 16)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_SECONDARY_WINDINGS.getStack(4)) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { it.researchStack(GTFusionCasing.SUPERCONDUCTOR_COIL.stack) .EUt(VA[UHV]) .CWUt(12) } - .buildAndRegister() + } // Dyson Swarm Control Center Toroid Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, MetastableOganesson, 4) - .input(foil, Terbium, 64) - .input(foil, Ytterbium, 64) - .input(foil, Lutetium, 64) - .input(foil, CosmicNeutronium, 64) - .input(screw, MetastableFlerovium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 80)) - .fluidInputs(UUMatter.getFluid(8000)) - .outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_TOROID_CASING.getStack(64)) - .EUt(VA[UHV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, MetastableOganesson, 4) + input(foil, Terbium, 64) + input(foil, Ytterbium, 64) + input(foil, Lutetium, 64) + input(foil, CosmicNeutronium, 64) + input(screw, MetastableFlerovium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 80)) + fluidInputs(UUMatter.getFluid(8000)) + outputs(AerospaceCasing.DYSON_SWARM_CONTROL_CENTER_TOROID_CASING.getStack(64)) + EUt(VA[UHV]) + duration(30 * SECOND) + stationResearch { it.researchStack(OreDictUnifier.get(frameGt, MetastableOganesson)) .EUt(VA[UHV]) .CWUt(16) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/AntimatterCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/AntimatterCasingRecipes.kt index 454917e2b..6b5a1927b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/AntimatterCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/AntimatterCasingRecipes.kt @@ -24,6 +24,7 @@ import gregtech.common.items.MetaItems.GRAVI_STAR import gregtech.common.items.MetaItems.SENSOR_UEV import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ActiniumGroupAlloyA import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ActiniumGroupAlloyB import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Antimatter @@ -50,98 +51,96 @@ internal object AntimatterCasingRecipes fun init() { - // Antimatter Containment Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GlassCasing.PMMA.getStack(16)) - .input(stickLong, Infinity, 4) - .input(stickLong, CosmicNeutronium, 12) - .input(EMITTER_UEV, 4) - .input(foil, LanthanumGroupAlloyA, 24) - .input(wireGtQuadruple, VibraniumTritaniumActiniumIronSuperhydride, 16) - .fluidInputs(Bedrockium.getFluid(L * 16)) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) - .outputs(GlassCasing.ANTIMATTER_CONTAINMENT.getStack(64)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GlassCasing.PMMA.getStack(16)) + input(stickLong, Infinity, 4) + input(stickLong, CosmicNeutronium, 12) + input(EMITTER_UEV, 4) + input(foil, LanthanumGroupAlloyA, 24) + input(wireGtQuadruple, VibraniumTritaniumActiniumIronSuperhydride, 16) + fluidInputs(Bedrockium.getFluid(L * 16)) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4)) + outputs(GlassCasing.ANTIMATTER_CONTAINMENT.getStack(64)) + EUt(VA[UEV]) + duration(30 * SECOND) + stationResearch { it.researchStack(GlassCasing.PMMA.stack) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() + } // Gravity Stabilization Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(MetalCasing.NEUTRONIUM.getStack(16)) - .input(SENSOR_UEV, 2) - .input(ENERGY_CLUSTER) - .input(plate, Infinity, 4) - .input(gear, Infinity) - .input(gearSmall, Infinity, 2) - .input(GRAVI_STAR, 4) - .input(circuit, Tier.UIV) - .input(foil, LanthanumGroupAlloyB, 8) - .input(wireGtQuadruple, VibraniumTritaniumActiniumIronSuperhydride, 16) - .fluidInputs(Bedrockium.getFluid(L * 16)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(L * 16)) - .outputs(MultiblockCasing.GRAVITY_STABILIZATION_CASING.getStack(64)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(MetalCasing.NEUTRONIUM.getStack(16)) + input(SENSOR_UEV, 2) + input(ENERGY_CLUSTER) + input(plate, Infinity, 4) + input(gear, Infinity) + input(gearSmall, Infinity, 2) + input(GRAVI_STAR, 4) + input(circuit, Tier.UIV) + input(foil, LanthanumGroupAlloyB, 8) + input(wireGtQuadruple, VibraniumTritaniumActiniumIronSuperhydride, 16) + fluidInputs(Bedrockium.getFluid(L * 16)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(L * 16)) + outputs(MultiblockCasing.GRAVITY_STABILIZATION_CASING.getStack(64)) + EUt(VA[UEV]) + duration(30 * SECOND) + stationResearch { it.researchStack(MetalCasing.NEUTRONIUM.stack) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() + } // Protomatter Activation Coil - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(FusionCoil.ULTIMATE.getStack(16)) - .input(ELECTRIC_PUMP_UEV, 2) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 8) - .input(plateDense, Infinity) - .input(rotor, Hypogen, 4) - .input(circuit, Tier.UIV) - .input(FIELD_GENERATOR_UEV, 4) - .input(foil, ActiniumGroupAlloyA, 16) - .fluidInputs(Bedrockium.getFluid(L * 16)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(L * 8)) - .fluidInputs(Protomatter.getFluid(500)) - .outputs(MultiblockCasing.PROTOMATTER_ACTIVATION_COIL.getStack(32)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(FusionCoil.ULTIMATE.getStack(16)) + input(ELECTRIC_PUMP_UEV, 2) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 8) + input(plateDense, Infinity) + input(rotor, Hypogen, 4) + input(circuit, Tier.UIV) + input(FIELD_GENERATOR_UEV, 4) + input(foil, ActiniumGroupAlloyA, 16) + fluidInputs(Bedrockium.getFluid(L * 16)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(L * 8)) + fluidInputs(Protomatter.getFluid(500)) + outputs(MultiblockCasing.PROTOMATTER_ACTIVATION_COIL.getStack(32)) + EUt(VA[UEV]) + duration(30 * SECOND) + stationResearch { it.researchStack(FusionCoil.ULTIMATE.stack) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() + } // Antimatter Annihilation Matrix - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.MOLECULAR_COIL.getStack(16)) - .input(foil, Hypogen, 64) - .input(EMITTER_UEV, 2) - .input(circuit, Tier.UIV) - .input(frameGt, Infinity, 4) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 8) - .input(SENSOR_UEV, 2) - .input(rotor, Infinity, 4) - .input(foil, ActiniumGroupAlloyB, 16) - .fluidInputs(CosmicNeutronium.getFluid(L * 10)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(Antimatter.getFluid(200)) - .outputs(MultiblockCasing.ANTIMATTER_ANNIHILATION_MATRIX.getStack(64)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.MOLECULAR_COIL.getStack(16)) + input(foil, Hypogen, 64) + input(EMITTER_UEV, 2) + input(circuit, Tier.UIV) + input(frameGt, Infinity, 4) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 8) + input(SENSOR_UEV, 2) + input(rotor, Infinity, 4) + input(foil, ActiniumGroupAlloyB, 16) + fluidInputs(CosmicNeutronium.getFluid(L * 10)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(Antimatter.getFluid(200)) + outputs(MultiblockCasing.ANTIMATTER_ANNIHILATION_MATRIX.getStack(64)) + EUt(VA[UEV]) + duration(30 * SECOND) + stationResearch { it.researchStack(ScienceCasing.MOLECULAR_COIL.stack) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/BoilerCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/BoilerCasingRecipes.kt index aa1e3c6bd..0cd9ea987 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/BoilerCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/BoilerCasingRecipes.kt @@ -18,6 +18,7 @@ import gregtech.common.ConfigHolder import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.adapter.GTBoilerCasing import gregtechlite.gtlitecore.common.block.variant.BoilerCasing @@ -28,60 +29,60 @@ internal object BoilerCasingRecipes fun init() { - // Bronze pipe casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(plate, Bronze, 4) - .input(pipeNormalFluid, Bronze, 4) - .input(frameGt, Bronze) - .outputs(GTBoilerCasing.BRONZE_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // Bronze Pipe Casing + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(plate, Bronze, 4) + input(pipeNormalFluid, Bronze, 4) + input(frameGt, Bronze) + outputs(GTBoilerCasing.BRONZE_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } - // Steel pipe casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(plate, Steel, 4) - .input(pipeNormalFluid, Steel, 4) - .input(frameGt, Steel) - .outputs(GTBoilerCasing.STEEL_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // Steel Pipe Casing + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(plate, Steel, 4) + input(pipeNormalFluid, Steel, 4) + input(frameGt, Steel) + outputs(GTBoilerCasing.STEEL_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } - // Titanium pipe casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(plate, Titanium, 4) - .input(pipeNormalFluid, Titanium, 4) - .input(frameGt, Titanium) - .outputs(GTBoilerCasing.TITANIUM_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // Titanium Pipe Casing + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(plate, Titanium, 4) + input(pipeNormalFluid, Titanium, 4) + input(frameGt, Titanium) + outputs(GTBoilerCasing.TITANIUM_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } - // Tungsten Steel pipe casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(plate, TungstenSteel, 4) - .input(pipeNormalFluid, TungstenSteel, 4) - .input(frameGt, TungstenSteel) - .outputs(GTBoilerCasing.TUNGSTENSTEEL_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // Tungsten Steel Pipe Casing + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(plate, TungstenSteel, 4) + input(pipeNormalFluid, TungstenSteel, 4) + input(frameGt, TungstenSteel) + outputs(GTBoilerCasing.TUNGSTENSTEEL_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } - // Polytetrafluoroethylene pipe casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(plate, Polytetrafluoroethylene, 4) - .input(pipeNormalFluid, Polytetrafluoroethylene, 4) - .input(frameGt, Polytetrafluoroethylene) - .outputs(GTBoilerCasing.POLYTETRAFLUOROETHYLENE_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + // Polytetrafluoroethylene Pipe Casing + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(plate, Polytetrafluoroethylene, 4) + input(pipeNormalFluid, Polytetrafluoroethylene, 4) + input(frameGt, Polytetrafluoroethylene) + outputs(GTBoilerCasing.POLYTETRAFLUOROETHYLENE_PIPE.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Polybenzimidazole Pipe Casing ModHandler.addShapedRecipe(true, "polybenzimidazole_pipe_casing", BoilerCasing.POLYBENZIMIDAZOLE.getStack(ConfigHolder.recipes.casingsPerCraft), @@ -90,16 +91,15 @@ internal object BoilerCasingRecipes 'Q', UnificationEntry(pipeNormalFluid, Polybenzimidazole), 'F', UnificationEntry(frameGt, Polybenzimidazole)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(plate, Polybenzimidazole, 4) - .input(pipeNormalFluid, Polybenzimidazole, 4) - .input(frameGt, Polybenzimidazole) - .outputs(BoilerCasing.POLYBENZIMIDAZOLE.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(5) + input(plate, Polybenzimidazole, 4) + input(pipeNormalFluid, Polybenzimidazole, 4) + input(frameGt, Polybenzimidazole) + outputs(BoilerCasing.POLYBENZIMIDAZOLE.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ComponentAssemblyCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ComponentAssemblyCasingRecipes.kt index 1542b44cf..bd605ad61 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ComponentAssemblyCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ComponentAssemblyCasingRecipes.kt @@ -98,6 +98,7 @@ import gregtech.common.items.MetaItems.SMART_FILTER import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Abyssalloy import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ArceusAlloy2B import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AxinoFusedRedMatter @@ -154,323 +155,322 @@ internal object ComponentAssemblyCasingRecipes 'P', UnificationEntry(pipeLargeItem, Osmiridium)) // LV CoAL Casing - ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, Steel) - .input(plateDense, Steel, 4) - .input(ROBOT_ARM_LV, 4) - .input(ELECTRIC_PISTON_LV, 8) - .input(ELECTRIC_MOTOR_LV, 10) - .input(gear, Steel, 4) - .input(wireGtQuadruple, Tin, 6) - .input(circuit, Tier.LV, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .outputs(ComponentAssemblyCasing.LV.getStack(4)) - .EUt(VA[LV]) - .duration(16 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(frameGt, Steel) + input(plateDense, Steel, 4) + input(ROBOT_ARM_LV, 4) + input(ELECTRIC_PISTON_LV, 8) + input(ELECTRIC_MOTOR_LV, 10) + input(gear, Steel, 4) + input(wireGtQuadruple, Tin, 6) + input(circuit, Tier.LV, 16) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + outputs(ComponentAssemblyCasing.LV.getStack(4)) + EUt(VA[LV]) + duration(16 * SECOND) + } // MV CoAL Casing - ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, Aluminium) - .input(plateDense, Aluminium, 4) - .input(ROBOT_ARM_MV, 4) - .input(ELECTRIC_PISTON_MV, 8) - .input(ELECTRIC_MOTOR_MV, 10) - .input(gear, Aluminium, 4) - .input(wireGtQuadruple, Copper, 6) - .input(circuit, Tier.MV, 8) - .input(circuit, Tier.LV, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .outputs(ComponentAssemblyCasing.MV.getStack(4)) - .EUt(VA[MV]) - .duration(16 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(frameGt, Aluminium) + input(plateDense, Aluminium, 4) + input(ROBOT_ARM_MV, 4) + input(ELECTRIC_PISTON_MV, 8) + input(ELECTRIC_MOTOR_MV, 10) + input(gear, Aluminium, 4) + input(wireGtQuadruple, Copper, 6) + input(circuit, Tier.MV, 8) + input(circuit, Tier.LV, 16) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + outputs(ComponentAssemblyCasing.MV.getStack(4)) + EUt(VA[MV]) + duration(16 * SECOND) + } // HV CoAL Casing - ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, StainlessSteel) - .input(plateDense, StainlessSteel, 4) - .input(ROBOT_ARM_HV, 4) - .input(ELECTRIC_PISTON_HV, 8) - .input(ELECTRIC_MOTOR_HV, 10) - .input(gear, StainlessSteel, 4) - .input(wireGtQuadruple, Gold, 6) - .input(circuit, Tier.HV, 8) - .input(circuit, Tier.MV, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .outputs(ComponentAssemblyCasing.HV.getStack(4)) - .EUt(VA[HV]) - .duration(16 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(frameGt, StainlessSteel) + input(plateDense, StainlessSteel, 4) + input(ROBOT_ARM_HV, 4) + input(ELECTRIC_PISTON_HV, 8) + input(ELECTRIC_MOTOR_HV, 10) + input(gear, StainlessSteel, 4) + input(wireGtQuadruple, Gold, 6) + input(circuit, Tier.HV, 8) + input(circuit, Tier.MV, 16) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + outputs(ComponentAssemblyCasing.HV.getStack(4)) + EUt(VA[HV]) + duration(16 * SECOND) + } // EV CoAL Casing - ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, Titanium) - .input(plateDense, Titanium, 4) - .input(ROBOT_ARM_EV, 4) - .input(ELECTRIC_PISTON_EV, 8) - .input(ELECTRIC_MOTOR_EV, 10) - .input(gear, Titanium, 4) - .input(wireGtQuadruple, Aluminium, 6) - .input(circuit, Tier.EV, 8) - .input(circuit, Tier.HV, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .outputs(ComponentAssemblyCasing.EV.getStack(4)) - .EUt(VA[EV]) - .duration(16 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(frameGt, Titanium) + input(plateDense, Titanium, 4) + input(ROBOT_ARM_EV, 4) + input(ELECTRIC_PISTON_EV, 8) + input(ELECTRIC_MOTOR_EV, 10) + input(gear, Titanium, 4) + input(wireGtQuadruple, Aluminium, 6) + input(circuit, Tier.EV, 8) + input(circuit, Tier.HV, 16) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + outputs(ComponentAssemblyCasing.EV.getStack(4)) + EUt(VA[EV]) + duration(16 * SECOND) + } // IV CoAL Casing - ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, TungstenSteel) - .input(plateDense, TungstenSteel, 4) - .input(ROBOT_ARM_IV, 4) - .input(ELECTRIC_PISTON_IV, 8) - .input(ELECTRIC_MOTOR_IV, 10) - .input(gear, TungstenSteel, 4) - .input(wireGtQuadruple, Tungsten, 6) - .input(circuit, Tier.IV, 8) - .input(circuit, Tier.EV, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 4)) - .outputs(ComponentAssemblyCasing.IV.getStack(4)) - .EUt(VA[IV]) - .duration(16 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(frameGt, TungstenSteel) + input(plateDense, TungstenSteel, 4) + input(ROBOT_ARM_IV, 4) + input(ELECTRIC_PISTON_IV, 8) + input(ELECTRIC_MOTOR_IV, 10) + input(gear, TungstenSteel, 4) + input(wireGtQuadruple, Tungsten, 6) + input(circuit, Tier.IV, 8) + input(circuit, Tier.EV, 16) + fluidInputs(SolderingAlloy.getFluid(L * 4)) + outputs(ComponentAssemblyCasing.IV.getStack(4)) + EUt(VA[IV]) + duration(16 * SECOND) + } // LuV CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, RhodiumPlatedPalladium) - .input(plateDense, RhodiumPlatedPalladium, 6) - .input(ROBOT_ARM_LuV, 8) - .input(ELECTRIC_PISTON_LUV, 10) - .input(ELECTRIC_MOTOR_LuV, 16) - .input(gear, RhodiumPlatedPalladium, 4) - .input(gearSmall, RhodiumPlatedPalladium, 16) - .input(cableGtQuadruple, NiobiumTitanium, 8) - .input(circuit, Tier.LuV, 8) - .input(circuit, Tier.IV, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 24)) - .fluidInputs(Lubricant.getFluid(4000)) - .fluidInputs(Stellite.getFluid(L * 12)) - .fluidInputs(TitaniumTungstenCarbide.getFluid(L * 6)) - .outputs(ComponentAssemblyCasing.LuV.getStack(4)) - .EUt(VA[LuV]) - .duration(32 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, RhodiumPlatedPalladium) + input(plateDense, RhodiumPlatedPalladium, 6) + input(ROBOT_ARM_LuV, 8) + input(ELECTRIC_PISTON_LUV, 10) + input(ELECTRIC_MOTOR_LuV, 16) + input(gear, RhodiumPlatedPalladium, 4) + input(gearSmall, RhodiumPlatedPalladium, 16) + input(cableGtQuadruple, NiobiumTitanium, 8) + input(circuit, Tier.LuV, 8) + input(circuit, Tier.IV, 16) + fluidInputs(SolderingAlloy.getFluid(L * 24)) + fluidInputs(Lubricant.getFluid(4000)) + fluidInputs(Stellite.getFluid(L * 12)) + fluidInputs(TitaniumTungstenCarbide.getFluid(L * 6)) + outputs(ComponentAssemblyCasing.LuV.getStack(4)) + EUt(VA[LuV]) + duration(32 * SECOND) + scannerResearch { it.researchStack(ComponentAssemblyCasing.IV.stack) .EUt(VA[HV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // ZPM CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, NaquadahAlloy) - .input(plateDense, NaquadahAlloy, 6) - .input(ROBOT_ARM_ZPM, 8) - .input(ELECTRIC_PISTON_ZPM, 10) - .input(ELECTRIC_MOTOR_ZPM, 16) - .input(gear, NaquadahAlloy, 4) - .input(gearSmall, NaquadahAlloy, 16) - .input(cableGtQuadruple, VanadiumGallium, 8) - .input(circuit, Tier.ZPM, 8) - .input(circuit, Tier.LuV, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 24)) - .fluidInputs(Lubricant.getFluid(4000)) - .fluidInputs(HastelloyN.getFluid(L * 12)) - .fluidInputs(Zeron100.getFluid(L * 8)) - .outputs(ComponentAssemblyCasing.ZPM.getStack(4)) - .EUt(VA[ZPM]) - .duration(32 * SECOND) - .scannerResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, NaquadahAlloy) + input(plateDense, NaquadahAlloy, 6) + input(ROBOT_ARM_ZPM, 8) + input(ELECTRIC_PISTON_ZPM, 10) + input(ELECTRIC_MOTOR_ZPM, 16) + input(gear, NaquadahAlloy, 4) + input(gearSmall, NaquadahAlloy, 16) + input(cableGtQuadruple, VanadiumGallium, 8) + input(circuit, Tier.ZPM, 8) + input(circuit, Tier.LuV, 16) + fluidInputs(SolderingAlloy.getFluid(L * 24)) + fluidInputs(Lubricant.getFluid(4000)) + fluidInputs(HastelloyN.getFluid(L * 12)) + fluidInputs(Zeron100.getFluid(L * 8)) + outputs(ComponentAssemblyCasing.ZPM.getStack(4)) + EUt(VA[ZPM]) + duration(32 * SECOND) + scannerResearch { it.researchStack(ComponentAssemblyCasing.LuV.stack) .EUt(VA[IV]) .duration(1 * MINUTE) } - .buildAndRegister() + } // UV CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Darmstadtium) - .input(plateDense, Darmstadtium, 6) - .input(ROBOT_ARM_UV, 8) - .input(ELECTRIC_PISTON_UV, 10) - .input(ELECTRIC_MOTOR_UV, 16) - .input(gear, Darmstadtium, 4) - .input(gearSmall, Darmstadtium, 16) - .input(cableGtQuadruple, YttriumBariumCuprate, 8) - .input(circuit, Tier.UV, 8) - .input(circuit, Tier.ZPM, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 24)) - .fluidInputs(Lubricant.getFluid(4000)) - .fluidInputs(ReneN5.getFluid(L * 12)) - .fluidInputs(EnrichedNaquadahAlloy.getFluid(L * 8)) - .outputs(ComponentAssemblyCasing.UV.getStack(4)) - .EUt(VA[UV]) - .duration(32 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Darmstadtium) + input(plateDense, Darmstadtium, 6) + input(ROBOT_ARM_UV, 8) + input(ELECTRIC_PISTON_UV, 10) + input(ELECTRIC_MOTOR_UV, 16) + input(gear, Darmstadtium, 4) + input(gearSmall, Darmstadtium, 16) + input(cableGtQuadruple, YttriumBariumCuprate, 8) + input(circuit, Tier.UV, 8) + input(circuit, Tier.ZPM, 16) + fluidInputs(SolderingAlloy.getFluid(L * 24)) + fluidInputs(Lubricant.getFluid(4000)) + fluidInputs(ReneN5.getFluid(L * 12)) + fluidInputs(EnrichedNaquadahAlloy.getFluid(L * 8)) + outputs(ComponentAssemblyCasing.UV.getStack(4)) + EUt(VA[UV]) + duration(32 * SECOND) + stationResearch { it.researchStack(ComponentAssemblyCasing.ZPM.stack) .EUt(VA[ZPM]) .CWUt(6) } - .buildAndRegister() + } // UHV CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium) - .input(plateDense, Neutronium, 6) - .input(ROBOT_ARM_UHV, 8) - .input(ELECTRIC_PISTON_UHV, 10) - .input(ELECTRIC_MOTOR_UHV, 16) - .input(gear, Neutronium, 4) - .input(gearSmall, Neutronium, 16) - .input(cableGtQuadruple, Europium, 8) - .input(circuit, Tier.UHV, 8) - .input(circuit, Tier.UV, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 24)) - .fluidInputs(Lubricant.getFluid(4000)) - .fluidInputs(Tairitsium.getFluid(L * 12)) - .fluidInputs(Pikyonium64B.getFluid(L * 8)) - .outputs(ComponentAssemblyCasing.UHV.getStack(4)) - .EUt(VA[UHV]) - .duration(32 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium) + input(plateDense, Neutronium, 6) + input(ROBOT_ARM_UHV, 8) + input(ELECTRIC_PISTON_UHV, 10) + input(ELECTRIC_MOTOR_UHV, 16) + input(gear, Neutronium, 4) + input(gearSmall, Neutronium, 16) + input(cableGtQuadruple, Europium, 8) + input(circuit, Tier.UHV, 8) + input(circuit, Tier.UV, 16) + fluidInputs(SolderingAlloy.getFluid(L * 24)) + fluidInputs(Lubricant.getFluid(4000)) + fluidInputs(Tairitsium.getFluid(L * 12)) + fluidInputs(Pikyonium64B.getFluid(L * 8)) + outputs(ComponentAssemblyCasing.UHV.getStack(4)) + EUt(VA[UHV]) + duration(32 * SECOND) + stationResearch { it.researchStack(ComponentAssemblyCasing.UV.stack) .EUt(VA[UV]) .CWUt(12) } - .buildAndRegister() + } // UEV CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Vibranium) - .input(plateDense, Vibranium, 6) - .input(ROBOT_ARM_UEV, 8) - .input(ELECTRIC_PISTON_UEV, 10) - .input(ELECTRIC_MOTOR_UEV, 16) - .input(gear, Vibranium, 4) - .input(gearSmall, Vibranium, 16) - .input(cableGtQuadruple, Seaborgium, 8) - .input(circuit, Tier.UEV, 8) - .input(circuit, Tier.UHV, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 24)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(TitanSteel.getFluid(L * 12)) - .fluidInputs(HastelloyX78.getFluid(L * 8)) - .outputs(ComponentAssemblyCasing.UEV.getStack(4)) - .EUt(VA[UEV]) - .duration(32 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Vibranium) + input(plateDense, Vibranium, 6) + input(ROBOT_ARM_UEV, 8) + input(ELECTRIC_PISTON_UEV, 10) + input(ELECTRIC_MOTOR_UEV, 16) + input(gear, Vibranium, 4) + input(gearSmall, Vibranium, 16) + input(cableGtQuadruple, Seaborgium, 8) + input(circuit, Tier.UEV, 8) + input(circuit, Tier.UHV, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 24)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(TitanSteel.getFluid(L * 12)) + fluidInputs(HastelloyX78.getFluid(L * 8)) + outputs(ComponentAssemblyCasing.UEV.getStack(4)) + EUt(VA[UEV]) + duration(32 * SECOND) + stationResearch { it.researchStack(ComponentAssemblyCasing.UHV.stack) .EUt(VA[UHV]) .CWUt(24) } - .buildAndRegister() + } // UIV CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Shirabon) - .input(plateDense, Shirabon, 6) - .input(ROBOT_ARM_UIV, 8) - .input(ELECTRIC_PISTON_UIV, 10) - .input(ELECTRIC_MOTOR_UIV, 16) - .input(gear, Shirabon, 4) - .input(gearSmall, Shirabon, 16) - .input(cableGtQuadruple, SuperheavyAlloyA, 8) - .input(circuit, Tier.UIV, 8) - .input(circuit, Tier.UEV, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 24)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(HastelloyK243.getFluid(L * 12)) - .fluidInputs(ArceusAlloy2B.getFluid(L * 8)) - .outputs(ComponentAssemblyCasing.UIV.getStack(4)) - .EUt(VA[UIV]) - .duration(32 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Shirabon) + input(plateDense, Shirabon, 6) + input(ROBOT_ARM_UIV, 8) + input(ELECTRIC_PISTON_UIV, 10) + input(ELECTRIC_MOTOR_UIV, 16) + input(gear, Shirabon, 4) + input(gearSmall, Shirabon, 16) + input(cableGtQuadruple, SuperheavyAlloyA, 8) + input(circuit, Tier.UIV, 8) + input(circuit, Tier.UEV, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 24)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(HastelloyK243.getFluid(L * 12)) + fluidInputs(ArceusAlloy2B.getFluid(L * 8)) + outputs(ComponentAssemblyCasing.UIV.getStack(4)) + EUt(VA[UIV]) + duration(32 * SECOND) + stationResearch { it.researchStack(ComponentAssemblyCasing.UEV.stack) .EUt(VA[UEV]) .CWUt(32) } - .buildAndRegister() + } // UXV CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Creon) - .input(plateDense, Creon, 6) - .input(ROBOT_ARM_UXV, 8) - .input(ELECTRIC_PISTON_UXV, 10) - .input(ELECTRIC_MOTOR_UXV, 16) - .input(gear, Creon, 4) - .input(gearSmall, Creon, 16) - .input(cableGtQuadruple, SuperheavyAlloyB, 8) - .input(circuit, Tier.UXV, 8) - .input(circuit, Tier.UIV, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 24)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(CinobiteA243.getFluid(L * 12)) - .fluidInputs(QuantumAlloy.getFluid(L * 8)) - .outputs(ComponentAssemblyCasing.UXV.getStack(4)) - .EUt(VA[UXV]) - .duration(32 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Creon) + input(plateDense, Creon, 6) + input(ROBOT_ARM_UXV, 8) + input(ELECTRIC_PISTON_UXV, 10) + input(ELECTRIC_MOTOR_UXV, 16) + input(gear, Creon, 4) + input(gearSmall, Creon, 16) + input(cableGtQuadruple, SuperheavyAlloyB, 8) + input(circuit, Tier.UXV, 8) + input(circuit, Tier.UIV, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 24)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(CinobiteA243.getFluid(L * 12)) + fluidInputs(QuantumAlloy.getFluid(L * 8)) + outputs(ComponentAssemblyCasing.UXV.getStack(4)) + EUt(VA[UXV]) + duration(32 * SECOND) + stationResearch { it.researchStack(ComponentAssemblyCasing.UIV.stack) .EUt(VA[UIV]) .CWUt(48) } - .buildAndRegister() + } // OpV CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, BlackDwarfMatter) - .input(plateDense, BlackDwarfMatter, 6) - .input(ROBOT_ARM_OpV, 8) - .input(ELECTRIC_PISTON_OpV, 10) - .input(ELECTRIC_MOTOR_OpV, 16) - .input(gear, BlackDwarfMatter, 4) - .input(gearSmall, BlackDwarfMatter, 16) - .input(cableGtQuadruple, Periodicium, 8) - .input(circuit, Tier.OpV, 8) - .input(circuit, Tier.UXV, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 24)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(Abyssalloy.getFluid(L * 12)) - .fluidInputs(Lafium.getFluid(L * 8)) - .outputs(ComponentAssemblyCasing.OpV.getStack(4)) - .EUt(VA[OpV]) - .duration(32 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, BlackDwarfMatter) + input(plateDense, BlackDwarfMatter, 6) + input(ROBOT_ARM_OpV, 8) + input(ELECTRIC_PISTON_OpV, 10) + input(ELECTRIC_MOTOR_OpV, 16) + input(gear, BlackDwarfMatter, 4) + input(gearSmall, BlackDwarfMatter, 16) + input(cableGtQuadruple, Periodicium, 8) + input(circuit, Tier.OpV, 8) + input(circuit, Tier.UXV, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 24)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(Abyssalloy.getFluid(L * 12)) + fluidInputs(Lafium.getFluid(L * 8)) + outputs(ComponentAssemblyCasing.OpV.getStack(4)) + EUt(VA[OpV]) + duration(32 * SECOND) + stationResearch { it.researchStack(ComponentAssemblyCasing.UXV.stack) .EUt(VA[UXV]) .CWUt(96) } - .buildAndRegister() + } // MAX CoAL Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, AxinoFusedRedMatter) - .input(plateDense, AxinoFusedRedMatter, 6) - .input(ROBOT_ARM_MAX, 8) - .input(ELECTRIC_PISTON_MAX, 10) - .input(ELECTRIC_MOTOR_MAX, 16) - .input(gear, AxinoFusedRedMatter, 4) - .input(gearSmall, AxinoFusedRedMatter, 16) - .input(cableGtQuadruple, RealizedQuantumFoamShard, 8) - .input(circuit, Tier.MAX, 8) - .input(circuit, Tier.OpV, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 24)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) - .fluidInputs(Legendarium.getFluid(L * 12)) - .fluidInputs(SelfInteractingDarkMatter.getFluid(L * 8)) - .outputs(ComponentAssemblyCasing.MAX.getStack(4)) - .EUt(VA[MAX]) - .duration(32 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, AxinoFusedRedMatter) + input(plateDense, AxinoFusedRedMatter, 6) + input(ROBOT_ARM_MAX, 8) + input(ELECTRIC_PISTON_MAX, 10) + input(ELECTRIC_MOTOR_MAX, 16) + input(gear, AxinoFusedRedMatter, 4) + input(gearSmall, AxinoFusedRedMatter, 16) + input(cableGtQuadruple, RealizedQuantumFoamShard, 8) + input(circuit, Tier.MAX, 8) + input(circuit, Tier.OpV, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 24)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000)) + fluidInputs(Legendarium.getFluid(L * 12)) + fluidInputs(SelfInteractingDarkMatter.getFluid(L * 8)) + outputs(ComponentAssemblyCasing.MAX.getStack(4)) + EUt(VA[MAX]) + duration(32 * SECOND) + stationResearch { it.researchStack(ComponentAssemblyCasing.OpV.stack) .EUt(VA[OpV]) .CWUt(128) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ConveyorCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ConveyorCasingRecipes.kt index 693fd1b7a..9d247ed9b 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ConveyorCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ConveyorCasingRecipes.kt @@ -11,6 +11,7 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.ConveyorCasing import net.minecraft.item.ItemStack @@ -29,16 +30,16 @@ internal object ConveyorCasingRecipes for (voltage in conveyorCasings.indices) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(round, Steel, 2) - .inputs(CraftingComponent.CONVEYOR.getIngredient(voltage + 1) as ItemStack) - .outputs(conveyorCasings[voltage]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(round, Steel, 2) + inputs(CraftingComponent.CONVEYOR.getIngredient(voltage + 1) as ItemStack) + outputs(conveyorCasings[voltage]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/CosmicRayDetectorCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/CosmicRayDetectorCasingRecipes.kt index ae939a051..5a3b4c010 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/CosmicRayDetectorCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/CosmicRayDetectorCasingRecipes.kt @@ -13,6 +13,7 @@ import gregtech.common.items.MetaItems.NEUTRON_REFLECTOR import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HDCS import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Pikyonium64B import gregtechlite.gtlitecore.common.block.variant.MetalCasing @@ -34,17 +35,17 @@ internal object CosmicRayDetectorCasingRecipes 'Q', MetalCasing.TALONITE.stack, 'S', UnificationEntry(screw, Pikyonium64B)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(frameGt, HDCS) - .inputs(MetalCasing.TALONITE.stack) - .input(EMITTER_UHV, 3) - .input(NEUTRON_REFLECTOR, 2) - .input(screw, Pikyonium64B, 2) - .outputs(MultiblockCasing.REFLECTIVE_SURFACE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft * 4)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(frameGt, HDCS) + inputs(MetalCasing.TALONITE.stack) + input(EMITTER_UHV, 3) + input(NEUTRON_REFLECTOR, 2) + input(screw, Pikyonium64B, 2) + outputs(MultiblockCasing.REFLECTIVE_SURFACE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft * 4)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/CrucibleRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/CrucibleRecipes.kt index 0e856739d..bfec3d810 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/CrucibleRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/CrucibleRecipes.kt @@ -16,6 +16,7 @@ import gregtech.api.unification.material.Materials.Vanadium import gregtech.api.unification.ore.OrePrefix.plate import gregtech.api.unification.stack.UnificationEntry import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AmorphousBoronNitride import gregtechlite.gtlitecore.common.block.variant.Crucible @@ -31,156 +32,156 @@ internal object CrucibleRecipes "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Bronze)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Bronze, 7) - .outputs(Crucible.BRONZE.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Bronze, 7) + outputs(Crucible.BRONZE.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Invar Crucible ModHandler.addShapedRecipe(true, "invar_crucible", Crucible.INVAR.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Invar)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Invar, 7) - .outputs(Crucible.INVAR.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Invar, 7) + outputs(Crucible.INVAR.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Quartzite Crucible ModHandler.addShapedRecipe(true, "quartzite_crucible", Crucible.QUARTZ.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Quartzite)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Quartzite, 7) - .outputs(Crucible.QUARTZ.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Quartzite, 7) + outputs(Crucible.QUARTZ.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Chrome Crucible ModHandler.addShapedRecipe(true, "chrome_crucible", Crucible.CHROME.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Chrome)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Chrome, 7) - .outputs(Crucible.CHROME.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Chrome, 7) + outputs(Crucible.CHROME.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Vanadium Crucible ModHandler.addShapedRecipe(true, "vanadium_crucible", Crucible.VANADIUM.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Vanadium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Vanadium, 7) - .outputs(Crucible.VANADIUM.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Vanadium, 7) + outputs(Crucible.VANADIUM.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Niobium Titanium Crucible ModHandler.addShapedRecipe(true, "niobium_titanium_crucible", Crucible.NIOBIUM_TITANIUM.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, NiobiumTitanium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, NiobiumTitanium, 7) - .outputs(Crucible.NIOBIUM_TITANIUM.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, NiobiumTitanium, 7) + outputs(Crucible.NIOBIUM_TITANIUM.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Iridium Crucible ModHandler.addShapedRecipe(true, "iridium_crucible", Crucible.IRIDIUM.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Iridium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Iridium, 7) - .outputs(Crucible.IRIDIUM.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Iridium, 7) + outputs(Crucible.IRIDIUM.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Molybdenum Crucible ModHandler.addShapedRecipe(true, "molybdenum_crucible", Crucible.MOLYBDENUM.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Molybdenum)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Molybdenum, 7) - .outputs(Crucible.MOLYBDENUM.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Molybdenum, 7) + outputs(Crucible.MOLYBDENUM.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Tungsten Crucible ModHandler.addShapedRecipe(true, "tungsten_crucible", Crucible.TUNGSTEN.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Tungsten)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Tungsten, 7) - .outputs(Crucible.TUNGSTEN.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Tungsten, 7) + outputs(Crucible.TUNGSTEN.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Osmium Crucible ModHandler.addShapedRecipe(true, "osmium_crucible", Crucible.OSMIUM.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Osmium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Osmium, 7) - .outputs(Crucible.OSMIUM.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Osmium, 7) + outputs(Crucible.OSMIUM.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Graphite Crucible ModHandler.addShapedRecipe(true, "graphite_crucible", Crucible.GRAPHITE.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, Graphene)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, Graphene, 7) - .outputs(Crucible.GRAPHITE.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, Graphene, 7) + outputs(Crucible.GRAPHITE.stack) + EUt(4) // ULV + duration(35 * SECOND) + } // Boron Nitride Crucible ModHandler.addShapedRecipe(true, "boron_nitride_crucible", Crucible.BORON_NITRIDE.stack, "P P", "PhP", "PPP", 'P', UnificationEntry(plate, AmorphousBoronNitride)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(plate, AmorphousBoronNitride, 7) - .outputs(Crucible.BORON_NITRIDE.stack) - .EUt(4) // ULV - .duration(35 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(7) + input(plate, AmorphousBoronNitride, 7) + outputs(Crucible.BORON_NITRIDE.stack) + EUt(4) // ULV + duration(35 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EmitterCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EmitterCasingRecipes.kt index 870d43fdc..3dbf709bc 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EmitterCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EmitterCasingRecipes.kt @@ -11,6 +11,7 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.EmitterCasing import net.minecraft.item.ItemStack @@ -28,16 +29,16 @@ internal object EmitterCasingRecipes for (voltage in emitterCasings.indices) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(foil, Steel, 2) - .inputs(CraftingComponent.EMITTER.getIngredient(voltage + 1) as ItemStack) - .outputs(emitterCasings[voltage]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(foil, Steel, 2) + inputs(CraftingComponent.EMITTER.getIngredient(voltage + 1) as ItemStack) + outputs(emitterCasings[voltage]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EntrodynamicallyPhaseChangerCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EntrodynamicallyPhaseChangerCasingRecipes.kt index 7ce2151b9..97c3f44ca 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EntrodynamicallyPhaseChangerCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EntrodynamicallyPhaseChangerCasingRecipes.kt @@ -19,6 +19,7 @@ import gregtech.api.unification.ore.OrePrefix.wireGtSingle import gregtech.common.items.MetaItems.ELECTRIC_PUMP_UIV import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.SPACE_ASSEMBLER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ChromaticGlass @@ -57,71 +58,70 @@ internal object EntrodynamicallyPhaseChangerCasingRecipes fun init() { // Lattice QCD Shielding Casing - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, QuantumchromodynamicallyConfinedMatter, 4) - .input(plate, Shirabon, 16) - .input(plate, CinobiteA243, 16) - .input(plate, HalkoniteSteel, 16) - .input(stickLong, LanthanumGroupAlloyB, 8) - .input(screw, HastelloyK243, 32) - .input(nanite, Chrome) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .fluidInputs(CosmicNeutronium.getFluid(L * 40)) - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(L * 20)) - .outputs(MultiblockCasing.LATTICE_QCD_THERMAL_SHIELDING_CASING.getStack(64)) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .tier(3) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(frameGt, QuantumchromodynamicallyConfinedMatter, 4) + input(plate, Shirabon, 16) + input(plate, CinobiteA243, 16) + input(plate, HalkoniteSteel, 16) + input(stickLong, LanthanumGroupAlloyB, 8) + input(screw, HastelloyK243, 32) + input(nanite, Chrome) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + fluidInputs(CosmicNeutronium.getFluid(L * 40)) + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(L * 20)) + outputs(MultiblockCasing.LATTICE_QCD_THERMAL_SHIELDING_CASING.getStack(64)) + EUt(VA[UEV]) + duration(5 * SECOND) + tier(3) + } // Hamilton-Killing Flow Control Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Neutronium, 16) - .inputs(ScienceCasing.HOLLOW_CASING.getStack(32)) - .inputs(ActiveUniqueCasing.TEMPERATURE_CONTROLLER.getStack(64)) - .input(plateDense, Neutronium, 6) - .input(ELECTRIC_PUMP_UIV, 8) - .input(wireGtSingle, VibraniumTritaniumActiniumIronSuperhydride, 16) - .input(QUANTUM_ANOMALY) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) - .fluidInputs(CosmicNeutronium.getFluid(L * 10)) - .fluidInputs(TransitionAlloyB.getFluid(L * 5)) - .outputs(MultiblockCasing.HAMILTON_KILLING_FLOW_CONTROL_CASING.getStack(64)) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Neutronium, 16) + inputs(ScienceCasing.HOLLOW_CASING.getStack(32)) + inputs(ActiveUniqueCasing.TEMPERATURE_CONTROLLER.getStack(64)) + input(plateDense, Neutronium, 6) + input(ELECTRIC_PUMP_UIV, 8) + input(wireGtSingle, VibraniumTritaniumActiniumIronSuperhydride, 16) + input(QUANTUM_ANOMALY) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000)) + fluidInputs(CosmicNeutronium.getFluid(L * 10)) + fluidInputs(TransitionAlloyB.getFluid(L * 5)) + outputs(MultiblockCasing.HAMILTON_KILLING_FLOW_CONTROL_CASING.getStack(64)) + EUt(VA[UIV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ActiveUniqueCasing.TEMPERATURE_CONTROLLER.stack) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() + } // Nano Shielding Frame - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GlassCasing.QUANTUM.getStack(8)) - .input(frameGt, ChromaticGlass, 16) - .input(stickLong, Lafium, 2) - .input(stickLong, TransitionAlloyA, 2) - .input(lens, GSTGlass, 4) - .input(lens, ZBLANGlass, 4) - .input(lens, WoodsGlass, 4) - .input(lens, Polymethylmethacrylate, 4) - .input(nanite, Iron) - .fluidInputs(Bedrockium.getFluid(L * 40)) - .fluidInputs(Pikyonium64B.getFluid(L * 20)) - .fluidInputs(Thulium.getFluid(L * 16)) - .fluidInputs(Hypogen.getFluid(L * 4)) - .outputs(GlassCasing.NANO_SHIELDING_FRAME.getStack(64)) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GlassCasing.QUANTUM.getStack(8)) + input(frameGt, ChromaticGlass, 16) + input(stickLong, Lafium, 2) + input(stickLong, TransitionAlloyA, 2) + input(lens, GSTGlass, 4) + input(lens, ZBLANGlass, 4) + input(lens, WoodsGlass, 4) + input(lens, Polymethylmethacrylate, 4) + input(nanite, Iron) + fluidInputs(Bedrockium.getFluid(L * 40)) + fluidInputs(Pikyonium64B.getFluid(L * 20)) + fluidInputs(Thulium.getFluid(L * 16)) + fluidInputs(Hypogen.getFluid(L * 4)) + outputs(GlassCasing.NANO_SHIELDING_FRAME.getStack(64)) + EUt(VA[UIV]) + duration(10 * SECOND) + stationResearch { it.researchStack(GlassCasing.QUANTUM.stack) .EUt(VA[UIV]) .CWUt(32) } - .buildAndRegister() - + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EyeOfHarmonyCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EyeOfHarmonyCasingRecipes.kt index a857265d1..ae615132d 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EyeOfHarmonyCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/EyeOfHarmonyCasingRecipes.kt @@ -18,6 +18,7 @@ import gregtech.common.metatileentities.MetaTileEntities.QUANTUM_TANK import gregtech.common.metatileentities.MetaTileEntities.WORLD_ACCELERATOR import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Mellion import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MetastableHassium @@ -52,690 +53,689 @@ internal object EyeOfHarmonyCasingRecipes // region Spacetime Compression // T1 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.EMPTY_TIER_I.stack) - .input(QUANTUM_TANK[UHV], 4) - .inputs(Manipulator.COSMIC_FABRIC.stack) - .input(circuit, Tier.UXV) - .input(bolt, Shirabon, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 20)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 10)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.CRUDE.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.EMPTY_TIER_I.stack) + input(QUANTUM_TANK[UHV], 4) + inputs(Manipulator.COSMIC_FABRIC.stack) + input(circuit, Tier.UXV) + input(bolt, Shirabon, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 20)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 10)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.CRUDE.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T2 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.EMPTY_TIER_II.getStack(2)) - .input(QUANTUM_TANK[UHV], 8) - .inputs(Manipulator.COSMIC_FABRIC.getStack(2)) - .input(circuit, Tier.UXV) - .input(bolt, WhiteDwarfMatter, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 20)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.PRIMITIVE.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.EMPTY_TIER_II.getStack(2)) + input(QUANTUM_TANK[UHV], 8) + inputs(Manipulator.COSMIC_FABRIC.getStack(2)) + input(circuit, Tier.UXV) + input(bolt, WhiteDwarfMatter, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 20)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.PRIMITIVE.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SpacetimeCompressionFieldGenerator.CRUDE.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T3 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.EMPTY_TIER_III.getStack(4)) - .input(QUANTUM_TANK[UHV], 12) - .inputs(Manipulator.COSMIC_FABRIC.getStack(3)) - .input(circuit, Tier.UXV) - .input(bolt, WhiteDwarfMatter, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 30)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.STABLE.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.EMPTY_TIER_III.getStack(4)) + input(QUANTUM_TANK[UHV], 12) + inputs(Manipulator.COSMIC_FABRIC.getStack(3)) + input(circuit, Tier.UXV) + input(bolt, WhiteDwarfMatter, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 30)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.STABLE.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SpacetimeCompressionFieldGenerator.PRIMITIVE.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T4 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.LAPOTRONIC_EV.stack) - .input(QUANTUM_TANK[UHV], 16) - .inputs(Manipulator.INFINITY_INFUSED.stack) - .input(circuit, Tier.UXV, 2) - .input(bolt, WhiteDwarfMatter, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 160)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 40)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.ADVANCED.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.LAPOTRONIC_EV.stack) + input(QUANTUM_TANK[UHV], 16) + inputs(Manipulator.INFINITY_INFUSED.stack) + input(circuit, Tier.UXV, 2) + input(bolt, WhiteDwarfMatter, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 160)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 40)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.ADVANCED.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SpacetimeCompressionFieldGenerator.STABLE.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T5 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.LAPOTRONIC_IV.stack) - .input(QUANTUM_TANK[UHV], 20) - .inputs(Manipulator.INFINITY_INFUSED.getStack(2)) - .input(circuit, Tier.UXV, 2) - .input(bolt, BlackDwarfMatter, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 320)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 50)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.SUPERB.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.LAPOTRONIC_IV.stack) + input(QUANTUM_TANK[UHV], 20) + inputs(Manipulator.INFINITY_INFUSED.getStack(2)) + input(circuit, Tier.UXV, 2) + input(bolt, BlackDwarfMatter, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 320)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 50)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.SUPERB.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SpacetimeCompressionFieldGenerator.ADVANCED.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T6 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.LAPOTRONIC_LuV.stack) - .input(QUANTUM_TANK[UHV], 24) - .inputs(Manipulator.INFINITY_INFUSED.getStack(3)) - .input(circuit, Tier.UXV, 2) - .input(bolt, BlackDwarfMatter, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 640)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 60)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.EXOTIC.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.LAPOTRONIC_LuV.stack) + input(QUANTUM_TANK[UHV], 24) + inputs(Manipulator.INFINITY_INFUSED.getStack(3)) + input(circuit, Tier.UXV, 2) + input(bolt, BlackDwarfMatter, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 640)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 60)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.EXOTIC.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SpacetimeCompressionFieldGenerator.SUPERB.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T7 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.LAPOTRONIC_ZPM.stack) - .input(QUANTUM_TANK[UHV], 28) - .inputs(Manipulator.SPACETIME_CONTINUUM_RIPPER.stack) - .input(circuit, Tier.UXV, 3) - .input(bolt, BlackDwarfMatter, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 70)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.PERFECT.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.LAPOTRONIC_ZPM.stack) + input(QUANTUM_TANK[UHV], 28) + inputs(Manipulator.SPACETIME_CONTINUUM_RIPPER.stack) + input(circuit, Tier.UXV, 3) + input(bolt, BlackDwarfMatter, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 70)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.PERFECT.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SpacetimeCompressionFieldGenerator.EXOTIC.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T8 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.LAPOTRONIC_UV.stack) - .input(QUANTUM_TANK[UHV], 32) - .inputs(Manipulator.SPACETIME_CONTINUUM_RIPPER.getStack(2)) - .input(circuit, Tier.UXV, 3) - .input(bolt, Universium, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 2560)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 80)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.TIPLER.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.LAPOTRONIC_UV.stack) + input(QUANTUM_TANK[UHV], 32) + inputs(Manipulator.SPACETIME_CONTINUUM_RIPPER.getStack(2)) + input(circuit, Tier.UXV, 3) + input(bolt, Universium, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 2560)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 80)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.TIPLER.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SpacetimeCompressionFieldGenerator.PERFECT.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T9 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) - .inputs(GTBatteryBlock.ULTIMATE_UHV.stack) - .input(QUANTUM_TANK[UHV], 36) - .inputs(Manipulator.SPACETIME_CONTINUUM_RIPPER.getStack(3)) - .input(circuit, Tier.UXV, 3) - .input(bolt, Universium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 5120)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 90)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(SpacetimeCompressionFieldGenerator.GALLIFREYAN.getStack(4)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.stack) + inputs(GTBatteryBlock.ULTIMATE_UHV.stack) + input(QUANTUM_TANK[UHV], 36) + inputs(Manipulator.SPACETIME_CONTINUUM_RIPPER.getStack(3)) + input(circuit, Tier.UXV, 3) + input(bolt, Universium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 5120)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 90)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(SpacetimeCompressionFieldGenerator.GALLIFREYAN.getStack(4)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(SpacetimeCompressionFieldGenerator.TIPLER.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // endregion // region Time Acceleration // T1 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR[1]) - .inputs(GTFusionCasing.FUSION_COIL.stack) - .input(WORLD_ACCELERATOR[UV], 4) - .inputs(FieldGenCasing.EV.getStack(4)) - .input(circuit, Tier.UXV) - .input(bolt, Shirabon, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 20)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 10)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.CRUDE.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR[1]) + inputs(GTFusionCasing.FUSION_COIL.stack) + input(WORLD_ACCELERATOR[UV], 4) + inputs(FieldGenCasing.EV.getStack(4)) + input(circuit, Tier.UXV) + input(bolt, Shirabon, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 20)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 10)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.CRUDE.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T2 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR[1], 2) - .inputs(GTFusionCasing.FUSION_COIL.getStack(2)) - .input(WORLD_ACCELERATOR[UV], 8) - .inputs(FieldGenCasing.IV.getStack(8)) - .input(circuit, Tier.UXV) - .input(bolt, WhiteDwarfMatter, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 20)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.PRIMITIVE.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR[1], 2) + inputs(GTFusionCasing.FUSION_COIL.getStack(2)) + input(WORLD_ACCELERATOR[UV], 8) + inputs(FieldGenCasing.IV.getStack(8)) + input(circuit, Tier.UXV) + input(bolt, WhiteDwarfMatter, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 20)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.PRIMITIVE.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(TimeAccelerationFieldGenerator.CRUDE.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T3 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR[1], 3) - .inputs(GTFusionCasing.FUSION_COIL.getStack(3)) - .input(WORLD_ACCELERATOR[UV], 12) - .inputs(FieldGenCasing.LuV.getStack(12)) - .input(circuit, Tier.UXV) - .input(bolt, WhiteDwarfMatter, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 30)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.STABLE.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR[1], 3) + inputs(GTFusionCasing.FUSION_COIL.getStack(3)) + input(WORLD_ACCELERATOR[UV], 12) + inputs(FieldGenCasing.LuV.getStack(12)) + input(circuit, Tier.UXV) + input(bolt, WhiteDwarfMatter, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 30)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.STABLE.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(TimeAccelerationFieldGenerator.PRIMITIVE.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T4 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR[2]) - .inputs(FusionCoil.ADVANCED.stack) - .input(WORLD_ACCELERATOR[UV], 16) - .inputs(FieldGenCasing.ZPM.getStack(16)) - .input(circuit, Tier.UXV, 2) - .input(bolt, WhiteDwarfMatter, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 160)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 40)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.ADVANCED.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR[2]) + inputs(FusionCoil.ADVANCED.stack) + input(WORLD_ACCELERATOR[UV], 16) + inputs(FieldGenCasing.ZPM.getStack(16)) + input(circuit, Tier.UXV, 2) + input(bolt, WhiteDwarfMatter, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 160)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 40)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.ADVANCED.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(TimeAccelerationFieldGenerator.STABLE.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T5 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR[2], 2) - .inputs(FusionCoil.ADVANCED.getStack(2)) - .input(WORLD_ACCELERATOR[UV], 20) - .inputs(FieldGenCasing.UV.getStack(20)) - .input(circuit, Tier.UXV, 2) - .input(bolt, BlackDwarfMatter, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 320)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 50)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.SUPERB.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR[2], 2) + inputs(FusionCoil.ADVANCED.getStack(2)) + input(WORLD_ACCELERATOR[UV], 20) + inputs(FieldGenCasing.UV.getStack(20)) + input(circuit, Tier.UXV, 2) + input(bolt, BlackDwarfMatter, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 320)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 50)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.SUPERB.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(TimeAccelerationFieldGenerator.ADVANCED.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T6 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR[2], 3) - .inputs(FusionCoil.ADVANCED.getStack(3)) - .input(WORLD_ACCELERATOR[UV], 24) - .inputs(FieldGenCasing.UHV.getStack(24)) - .input(circuit, Tier.UXV, 2) - .input(bolt, BlackDwarfMatter, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 640)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 60)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.EXOTIC.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR[2], 3) + inputs(FusionCoil.ADVANCED.getStack(3)) + input(WORLD_ACCELERATOR[UV], 24) + inputs(FieldGenCasing.UHV.getStack(24)) + input(circuit, Tier.UXV, 2) + input(bolt, BlackDwarfMatter, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 640)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 60)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.EXOTIC.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(TimeAccelerationFieldGenerator.SUPERB.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T7 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR_MK4) - .inputs(FusionCoil.ULTIMATE.stack) - .input(WORLD_ACCELERATOR[UV], 28) - .inputs(FieldGenCasing.UEV.getStack(28)) - .input(circuit, Tier.UXV, 3) - .input(bolt, BlackDwarfMatter, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 70)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.PERFECT.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR_MK4) + inputs(FusionCoil.ULTIMATE.stack) + input(WORLD_ACCELERATOR[UV], 28) + inputs(FieldGenCasing.UEV.getStack(28)) + input(circuit, Tier.UXV, 3) + input(bolt, BlackDwarfMatter, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 70)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.PERFECT.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(TimeAccelerationFieldGenerator.EXOTIC.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T8 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR_MK4, 2) - .inputs(FusionCoil.ULTIMATE.getStack(2)) - .input(WORLD_ACCELERATOR[UV], 32) - .inputs(FieldGenCasing.UIV.getStack(32)) - .input(circuit, Tier.UXV, 3) - .input(bolt, Universium, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 2560)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 80)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.TIPLER.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR_MK4, 2) + inputs(FusionCoil.ULTIMATE.getStack(2)) + input(WORLD_ACCELERATOR[UV], 32) + inputs(FieldGenCasing.UIV.getStack(32)) + input(circuit, Tier.UXV, 3) + input(bolt, Universium, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 2560)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 80)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.TIPLER.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(TimeAccelerationFieldGenerator.PERFECT.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // T9 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) - .input(FUSION_REACTOR_MK4, 3) - .inputs(FusionCoil.ULTIMATE.getStack(3)) - .input(WORLD_ACCELERATOR[UV], 36) - .inputs(FieldGenCasing.UXV.getStack(36)) - .input(circuit, Tier.UXV, 3) - .input(bolt, Universium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 5120)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 90)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(TimeAccelerationFieldGenerator.GALLIFREYAN.getStack(8)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.stack) + input(FUSION_REACTOR_MK4, 3) + inputs(FusionCoil.ULTIMATE.getStack(3)) + input(WORLD_ACCELERATOR[UV], 36) + inputs(FieldGenCasing.UXV.getStack(36)) + input(circuit, Tier.UXV, 3) + input(bolt, Universium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 5120)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 90)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(TimeAccelerationFieldGenerator.GALLIFREYAN.getStack(8)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(TimeAccelerationFieldGenerator.TIPLER.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // endregion // region Stabilization // T1 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.CRUDE.stack) - .inputs(SpacetimeCompressionFieldGenerator.CRUDE.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 4) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 4) - .input(frameGt, SuperheavyAlloyB, 4) - .input(frameGt, Mellion, 4) - .input(frameGt, MetastableHassium, 4) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime) - .input(gearSmall, SpaceTime) - .input(circuit, Tier.UXV) - .input(bolt, Shirabon, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 20)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 10)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 10)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.CRUDE.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.CRUDE.stack) + inputs(SpacetimeCompressionFieldGenerator.CRUDE.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 4) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 4) + input(frameGt, SuperheavyAlloyB, 4) + input(frameGt, Mellion, 4) + input(frameGt, MetastableHassium, 4) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime) + input(gearSmall, SpaceTime) + input(circuit, Tier.UXV) + input(bolt, Shirabon, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 20)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 10)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 10)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.CRUDE.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // T2 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.PRIMITIVE.stack) - .inputs(SpacetimeCompressionFieldGenerator.PRIMITIVE.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 8) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 8) - .input(frameGt, SuperheavyAlloyB, 8) - .input(frameGt, Mellion, 8) - .input(frameGt, MetastableHassium, 8) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime, 2) - .input(gearSmall, SpaceTime, 2) - .input(circuit, Tier.UXV) - .input(bolt, WhiteDwarfMatter, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 20)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 20)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.PRIMITIVE.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.PRIMITIVE.stack) + inputs(SpacetimeCompressionFieldGenerator.PRIMITIVE.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 8) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 8) + input(frameGt, SuperheavyAlloyB, 8) + input(frameGt, Mellion, 8) + input(frameGt, MetastableHassium, 8) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime, 2) + input(gearSmall, SpaceTime, 2) + input(circuit, Tier.UXV) + input(bolt, WhiteDwarfMatter, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 20)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 20)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.PRIMITIVE.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(StabilizationFieldGenerator.CRUDE.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // T3 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.STABLE.stack) - .inputs(SpacetimeCompressionFieldGenerator.STABLE.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 12) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 12) - .input(frameGt, SuperheavyAlloyB, 12) - .input(frameGt, Mellion, 12) - .input(frameGt, MetastableHassium, 12) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime, 3) - .input(gearSmall, SpaceTime, 3) - .input(circuit, Tier.UXV) - .input(bolt, WhiteDwarfMatter, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 30)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 30)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.STABLE.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.STABLE.stack) + inputs(SpacetimeCompressionFieldGenerator.STABLE.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 12) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 12) + input(frameGt, SuperheavyAlloyB, 12) + input(frameGt, Mellion, 12) + input(frameGt, MetastableHassium, 12) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime, 3) + input(gearSmall, SpaceTime, 3) + input(circuit, Tier.UXV) + input(bolt, WhiteDwarfMatter, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 30)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 30)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.STABLE.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(StabilizationFieldGenerator.PRIMITIVE.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // T4 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.ADVANCED.stack) - .inputs(SpacetimeCompressionFieldGenerator.ADVANCED.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 16) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 16) - .input(frameGt, SuperheavyAlloyB, 16) - .input(frameGt, Mellion, 16) - .input(frameGt, MetastableHassium, 16) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime, 4) - .input(gearSmall, SpaceTime, 4) - .input(circuit, Tier.UXV, 2) - .input(bolt, WhiteDwarfMatter, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 160)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 40)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 40)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.ADVANCED.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.ADVANCED.stack) + inputs(SpacetimeCompressionFieldGenerator.ADVANCED.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 16) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 16) + input(frameGt, SuperheavyAlloyB, 16) + input(frameGt, Mellion, 16) + input(frameGt, MetastableHassium, 16) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime, 4) + input(gearSmall, SpaceTime, 4) + input(circuit, Tier.UXV, 2) + input(bolt, WhiteDwarfMatter, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 160)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 40)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 40)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.ADVANCED.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(StabilizationFieldGenerator.STABLE.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // T5 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.SUPERB.stack) - .inputs(SpacetimeCompressionFieldGenerator.SUPERB.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 20) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 20) - .input(frameGt, SuperheavyAlloyB, 20) - .input(frameGt, Mellion, 20) - .input(frameGt, MetastableHassium, 20) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime, 5) - .input(gearSmall, SpaceTime, 5) - .input(circuit, Tier.UXV, 2) - .input(bolt, BlackDwarfMatter, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 320)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 50)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 50)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.SUPERB.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.SUPERB.stack) + inputs(SpacetimeCompressionFieldGenerator.SUPERB.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 20) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 20) + input(frameGt, SuperheavyAlloyB, 20) + input(frameGt, Mellion, 20) + input(frameGt, MetastableHassium, 20) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime, 5) + input(gearSmall, SpaceTime, 5) + input(circuit, Tier.UXV, 2) + input(bolt, BlackDwarfMatter, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 320)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 50)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 50)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.SUPERB.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(StabilizationFieldGenerator.ADVANCED.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // T6 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.EXOTIC.stack) - .inputs(SpacetimeCompressionFieldGenerator.EXOTIC.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 24) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 24) - .input(frameGt, SuperheavyAlloyB, 24) - .input(frameGt, Mellion, 24) - .input(frameGt, MetastableHassium, 24) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime, 6) - .input(gearSmall, SpaceTime, 6) - .input(circuit, Tier.UXV, 2) - .input(bolt, BlackDwarfMatter, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 640)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 60)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 60)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.EXOTIC.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.EXOTIC.stack) + inputs(SpacetimeCompressionFieldGenerator.EXOTIC.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 24) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 24) + input(frameGt, SuperheavyAlloyB, 24) + input(frameGt, Mellion, 24) + input(frameGt, MetastableHassium, 24) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime, 6) + input(gearSmall, SpaceTime, 6) + input(circuit, Tier.UXV, 2) + input(bolt, BlackDwarfMatter, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 640)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 60)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 60)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.EXOTIC.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(StabilizationFieldGenerator.SUPERB.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // T7 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.PERFECT.stack) - .inputs(SpacetimeCompressionFieldGenerator.PERFECT.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 28) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 28) - .input(frameGt, SuperheavyAlloyB, 28) - .input(frameGt, Mellion, 28) - .input(frameGt, MetastableHassium, 28) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime, 7) - .input(gearSmall, SpaceTime, 7) - .input(circuit, Tier.UXV, 2) - .input(bolt, BlackDwarfMatter, 32) - .fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 70)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 70)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.PERFECT.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.PERFECT.stack) + inputs(SpacetimeCompressionFieldGenerator.PERFECT.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 28) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 28) + input(frameGt, SuperheavyAlloyB, 28) + input(frameGt, Mellion, 28) + input(frameGt, MetastableHassium, 28) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime, 7) + input(gearSmall, SpaceTime, 7) + input(circuit, Tier.UXV, 2) + input(bolt, BlackDwarfMatter, 32) + fluidInputs(MutatedLivingSolder.getFluid(L * 1280)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 70)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 70)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.PERFECT.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(StabilizationFieldGenerator.EXOTIC.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // T8 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.TIPLER.stack) - .inputs(SpacetimeCompressionFieldGenerator.TIPLER.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 32) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 32) - .input(frameGt, SuperheavyAlloyB, 32) - .input(frameGt, Mellion, 32) - .input(frameGt, MetastableHassium, 32) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime, 8) - .input(gearSmall, SpaceTime, 8) - .input(circuit, Tier.UXV, 3) - .input(bolt, Universium, 2) - .fluidInputs(MutatedLivingSolder.getFluid(L * 2560)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 80)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 80)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.TIPLER.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.TIPLER.stack) + inputs(SpacetimeCompressionFieldGenerator.TIPLER.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 32) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 32) + input(frameGt, SuperheavyAlloyB, 32) + input(frameGt, Mellion, 32) + input(frameGt, MetastableHassium, 32) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime, 8) + input(gearSmall, SpaceTime, 8) + input(circuit, Tier.UXV, 3) + input(bolt, Universium, 2) + fluidInputs(MutatedLivingSolder.getFluid(L * 2560)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 80)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 80)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.TIPLER.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(StabilizationFieldGenerator.PERFECT.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // T9 - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(TimeAccelerationFieldGenerator.GALLIFREYAN.stack) - .inputs(SpacetimeCompressionFieldGenerator.GALLIFREYAN.stack) - .inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) - .input(MINING_DRONE_UV, 36) // TODO Dyson Swarm Module - .input(frameGt, Rhugnor, 36) - .input(frameGt, SuperheavyAlloyB, 36) - .input(frameGt, Mellion, 36) - .input(frameGt, MetastableHassium, 36) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(GRAVITATION_ENGINE, 64) - .input(gear, SpaceTime, 9) - .input(gearSmall, SpaceTime, 9) - .input(circuit, Tier.UXV, 3) - .input(bolt, Universium, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L * 5120)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 90)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 90)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(StabilizationFieldGenerator.GALLIFREYAN.getStack(16)) - .EUt(VA[UXV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(TimeAccelerationFieldGenerator.GALLIFREYAN.stack) + inputs(SpacetimeCompressionFieldGenerator.GALLIFREYAN.stack) + inputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.stack) + input(MINING_DRONE_UV, 36) // TODO Dyson Swarm Module + input(frameGt, Rhugnor, 36) + input(frameGt, SuperheavyAlloyB, 36) + input(frameGt, Mellion, 36) + input(frameGt, MetastableHassium, 36) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(GRAVITATION_ENGINE, 64) + input(gear, SpaceTime, 9) + input(gearSmall, SpaceTime, 9) + input(circuit, Tier.UXV, 3) + input(bolt, Universium, 8) + fluidInputs(MutatedLivingSolder.getFluid(L * 5120)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 90)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 90)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(StabilizationFieldGenerator.GALLIFREYAN.getStack(16)) + EUt(VA[UXV]) + duration(5 * SECOND) + stationResearch { it.researchStack(StabilizationFieldGenerator.TIPLER.stack) .EUt(VA[UXV]) .CWUt(160) } - .buildAndRegister() + } // endregion - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/FieldGenCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/FieldGenCasingRecipes.kt index 92f6b37bf..9b8832c5f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/FieldGenCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/FieldGenCasingRecipes.kt @@ -11,6 +11,7 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.FieldGenCasing import net.minecraft.item.ItemStack @@ -28,16 +29,16 @@ internal object FieldGenCasingRecipes for (voltage in fieldGenCasings.indices) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(wireGtSingle, Steel, 2) - .inputs(CraftingComponent.FIELD_GENERATOR.getIngredient(voltage + 1) as ItemStack) - .outputs(fieldGenCasings[voltage]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(wireGtSingle, Steel, 2) + inputs(CraftingComponent.FIELD_GENERATOR.getIngredient(voltage + 1) as ItemStack) + outputs(fieldGenCasings[voltage]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/FusionCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/FusionCasingRecipes.kt index 0faf41aa5..7338fd00a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/FusionCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/FusionCasingRecipes.kt @@ -9,7 +9,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.unification.material.MarkerMaterials.Tier import gregtech.api.unification.material.Materials.Americium @@ -80,6 +79,8 @@ import gregtech.common.metatileentities.MetaTileEntities.HULL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.cleanroom import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BariumStrontiumTitanate import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BariumTitanate @@ -121,356 +122,356 @@ internal object FusionCasingRecipes fun init() { // Advanced recipes of Superconductor Wire Coil - ASSEMBLER_RECIPES.recipeBuilder() - .input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 2) - .input(foil, NiobiumTitanium, 2) - .fluidInputs(Trinium.getFluid(L * 2)) - .outputs(GTFusionCasing.FUSION_COIL.stack) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(wireGtDouble, VibraniumTritaniumActiniumIronSuperhydride, 2) + input(foil, NiobiumTitanium, 2) + fluidInputs(Trinium.getFluid(L * 2)) + outputs(GTFusionCasing.FUSION_COIL.stack) + EUt(VA[UHV]) + duration(5 * SECOND) + } - ASSEMBLER_RECIPES.recipeBuilder() - .input(wireGtDouble, FullereneSuperconductor) - .input(foil, NiobiumTitanium) - .fluidInputs(Trinium.getFluid(L)) - .outputs(GTFusionCasing.FUSION_COIL.stack) - .EUt(VA[UEV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(wireGtDouble, FullereneSuperconductor) + input(foil, NiobiumTitanium) + fluidInputs(Trinium.getFluid(L)) + outputs(GTFusionCasing.FUSION_COIL.stack) + EUt(VA[UEV]) + duration(2 * SECOND + 10 * TICK) + } - ASSEMBLER_RECIPES.recipeBuilder() - .input(wireGtDouble, BoronFranciumCarbideSuperconductor) - .input(foil, NiobiumTitanium) - .fluidInputs(Trinium.getFluid(L / 2)) - .outputs(GTFusionCasing.FUSION_COIL.getStack(2)) - .EUt(VA[UIV]) - .duration(1 * SECOND + 5 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(wireGtDouble, BoronFranciumCarbideSuperconductor) + input(foil, NiobiumTitanium) + fluidInputs(Trinium.getFluid(L / 2)) + outputs(GTFusionCasing.FUSION_COIL.getStack(2)) + EUt(VA[UIV]) + duration(1 * SECOND + 5 * TICK) + } - ASSEMBLER_RECIPES.recipeBuilder() - .input(wireGtDouble, NeutroniumSuperconductor) - .input(foil, NiobiumTitanium) - .fluidInputs(Trinium.getFluid(L / 4)) - .outputs(GTFusionCasing.FUSION_COIL.getStack(4)) - .EUt(VA[UXV]) - .duration(12 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(wireGtDouble, NeutroniumSuperconductor) + input(foil, NiobiumTitanium) + fluidInputs(Trinium.getFluid(L / 4)) + outputs(GTFusionCasing.FUSION_COIL.getStack(4)) + EUt(VA[UXV]) + duration(12 * TICK) + } // Advanced Fusion Coil - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTFusionCasing.FUSION_COIL.stack) - .input(FIELD_GENERATOR_LuV, 2) - .input(ELECTRIC_PUMP_LuV) - .input(NEUTRON_REFLECTOR, 4) - .input(circuit, Tier.ZPM, 4) - .input(pipeSmallFluid, Europium, 4) - .input(plate, Americium, 4) - .fluidInputs(YttriumBariumCuprate.getFluid(L * 4)) - .outputs(FusionCoil.ADVANCED.stack) - .EUt(VA[UV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTFusionCasing.FUSION_COIL.stack) + input(FIELD_GENERATOR_LuV, 2) + input(ELECTRIC_PUMP_LuV) + input(NEUTRON_REFLECTOR, 4) + input(circuit, Tier.ZPM, 4) + input(pipeSmallFluid, Europium, 4) + input(plate, Americium, 4) + fluidInputs(YttriumBariumCuprate.getFluid(L * 4)) + outputs(FusionCoil.ADVANCED.stack) + EUt(VA[UV]) + duration(5 * SECOND) + cleanroom() + } // Ultimate Fusion Coil - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(FusionCoil.ADVANCED.stack) - .input(FIELD_GENERATOR_ZPM, 2) - .input(ELECTRIC_PUMP_ZPM) - .input(NEUTRON_REFLECTOR, 8) - .input(circuit, Tier.UV, 4) - .input(pipeSmallFluid, Duranium, 4) - .input(plate, Dubnium, 4) - .fluidInputs(Europium.getFluid(L * 4)) - .outputs(FusionCoil.ULTIMATE.stack) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(FusionCoil.ADVANCED.stack) + input(FIELD_GENERATOR_ZPM, 2) + input(ELECTRIC_PUMP_ZPM) + input(NEUTRON_REFLECTOR, 8) + input(circuit, Tier.UV, 4) + input(pipeSmallFluid, Duranium, 4) + input(plate, Dubnium, 4) + fluidInputs(Europium.getFluid(L * 4)) + outputs(FusionCoil.ULTIMATE.stack) + EUt(VA[UHV]) + duration(5 * SECOND) + cleanroom() + } // Fusion Machine Casing MK4 - ASSEMBLER_RECIPES.recipeBuilder() - .input(HULL[UHV]) - .inputs(FusionCoil.ADVANCED.stack) - .input(VOLTAGE_COIL_UHV, 2) - .input(FIELD_GENERATOR_UV) - .input(plate, Dubnium, 6) - .fluidInputs(Kevlar.getFluid(L * 8)) - .outputs(FusionCasing.MK4.getStack(2)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HULL[UHV]) + inputs(FusionCoil.ADVANCED.stack) + input(VOLTAGE_COIL_UHV, 2) + input(FIELD_GENERATOR_UV) + input(plate, Dubnium, 6) + fluidInputs(Kevlar.getFluid(L * 8)) + outputs(FusionCasing.MK4.getStack(2)) + EUt(VA[UHV]) + duration(5 * SECOND) + cleanroom() + } // Fusion Machine Casing MK5 - ASSEMBLER_RECIPES.recipeBuilder() - .input(HULL[UEV]) - .inputs(FusionCoil.ULTIMATE.stack) - .input(VOLTAGE_COIL_UEV, 2) - .input(FIELD_GENERATOR_UHV) - .input(plate, Bohrium, 6) - .fluidInputs(Kevlar.getFluid(L * 16)) - .outputs(FusionCasing.MK5.getStack(2)) - .EUt(VA[UEV]) - .duration(5 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + input(HULL[UEV]) + inputs(FusionCoil.ULTIMATE.stack) + input(VOLTAGE_COIL_UEV, 2) + input(FIELD_GENERATOR_UHV) + input(plate, Bohrium, 6) + fluidInputs(Kevlar.getFluid(L * 16)) + outputs(FusionCasing.MK5.getStack(2)) + EUt(VA[UEV]) + duration(5 * SECOND) + cleanroom() + } // Cryostat MK1 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(13) - .input(frameGt, TitaniumCarbide) - .input(plate, TungstenSteel, 6) - .input(springSmall, MolybdenumDisilicide, 2) - .input(ELECTRIC_PUMP_LuV) - .input(pipeSmallFluid, Inconel718, 2) - .input(wireFine, Naquadah, 16) - .input(screw, LithiumTitanate, 4) - .fluidInputs(Duranium.getFluid(L * 4)) - .outputs(FusionCryostat.MK1.getStack(4)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(13) + input(frameGt, TitaniumCarbide) + input(plate, TungstenSteel, 6) + input(springSmall, MolybdenumDisilicide, 2) + input(ELECTRIC_PUMP_LuV) + input(pipeSmallFluid, Inconel718, 2) + input(wireFine, Naquadah, 16) + input(screw, LithiumTitanate, 4) + fluidInputs(Duranium.getFluid(L * 4)) + outputs(FusionCryostat.MK1.getStack(4)) + EUt(VA[LuV]) + duration(10 * SECOND) + cleanroom() + } // Cryostat MK2 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(13) - .input(frameGt, TungstenCarbide) - .input(plate, RhodiumPlatedPalladium, 6) - .input(springSmall, Talonite, 2) - .input(ELECTRIC_PUMP_ZPM) - .input(pipeNormalFluid, Inconel718, 2) - .input(wireFine, NaquadahEnriched, 16) - .input(screw, BariumTitanate, 4) - .fluidInputs(Francium.getFluid(L * 4)) - .outputs(FusionCryostat.MK2.getStack(4)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(13) + input(frameGt, TungstenCarbide) + input(plate, RhodiumPlatedPalladium, 6) + input(springSmall, Talonite, 2) + input(ELECTRIC_PUMP_ZPM) + input(pipeNormalFluid, Inconel718, 2) + input(wireFine, NaquadahEnriched, 16) + input(screw, BariumTitanate, 4) + fluidInputs(Francium.getFluid(L * 4)) + outputs(FusionCryostat.MK2.getStack(4)) + EUt(VA[ZPM]) + duration(10 * SECOND) + cleanroom() + } // Cryostat MK3 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(13) - .input(frameGt, TitaniumTungstenCarbide) - .input(plate, NaquadahAlloy, 6) - .input(springSmall, HastelloyN, 2) - .input(ELECTRIC_PUMP_UV) - .input(pipeLargeFluid, Inconel718, 2) - .input(wireFine, Naquadria, 16) - .input(screw, RubidiumTitanate, 4) - .fluidInputs(Meitnerium.getFluid(L * 4)) - .outputs(FusionCryostat.MK3.getStack(4)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(13) + input(frameGt, TitaniumTungstenCarbide) + input(plate, NaquadahAlloy, 6) + input(springSmall, HastelloyN, 2) + input(ELECTRIC_PUMP_UV) + input(pipeLargeFluid, Inconel718, 2) + input(wireFine, Naquadria, 16) + input(screw, RubidiumTitanate, 4) + fluidInputs(Meitnerium.getFluid(L * 4)) + outputs(FusionCryostat.MK3.getStack(4)) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Cryostat MK4 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(13) - .input(frameGt, TitanSteel) - .input(plate, Darmstadtium, 6) - .input(springSmall, Trinaquadalloy, 2) - .input(ELECTRIC_PUMP_UHV) - .input(pipeHugeFluid, Inconel718, 2) - .input(wireFine, Adamantium, 16) - .input(screw, BariumStrontiumTitanate, 4) - .fluidInputs(Copernicium.getFluid(L * 4)) - .outputs(FusionCryostat.MK4.getStack(4)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(13) + input(frameGt, TitanSteel) + input(plate, Darmstadtium, 6) + input(springSmall, Trinaquadalloy, 2) + input(ELECTRIC_PUMP_UHV) + input(pipeHugeFluid, Inconel718, 2) + input(wireFine, Adamantium, 16) + input(screw, BariumStrontiumTitanate, 4) + fluidInputs(Copernicium.getFluid(L * 4)) + outputs(FusionCryostat.MK4.getStack(4)) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Cryostat MK5 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(13) - .input(frameGt, TantalumHafniumSeaborgiumCarbide) - .input(plate, Neutronium, 6) - .input(springSmall, Tairitsium, 2) - .input(ELECTRIC_PUMP_UEV) - .input(pipeHugeFluid, Inconel718, 4) - .input(wireFine, Vibranium, 16) - .input(screw, CaesiumCeriumCobaltIndium, 4) - .fluidInputs(Moscovium.getFluid(L * 4)) - .outputs(FusionCryostat.MK5.getStack(4)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(13) + input(frameGt, TantalumHafniumSeaborgiumCarbide) + input(plate, Neutronium, 6) + input(springSmall, Tairitsium, 2) + input(ELECTRIC_PUMP_UEV) + input(pipeHugeFluid, Inconel718, 4) + input(wireFine, Vibranium, 16) + input(screw, CaesiumCeriumCobaltIndium, 4) + fluidInputs(Moscovium.getFluid(L * 4)) + outputs(FusionCryostat.MK5.getStack(4)) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // Divertor MK1 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(14) - .input(frameGt, TitaniumCarbide) - .input(plate, TungstenSteel, 2) - .input(rotor, TungstenSteel) - .input(CONVEYOR_MODULE_LuV) - .input(pipeSmallItem, MaragingSteel250, 2) - .input(wireFine, Naquadah, 16) - .input(screw, LithiumTitanate, 4) - .fluidInputs(Duranium.getFluid(L * 4)) - .outputs(FusionDivertor.MK1.getStack(4)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(14) + input(frameGt, TitaniumCarbide) + input(plate, TungstenSteel, 2) + input(rotor, TungstenSteel) + input(CONVEYOR_MODULE_LuV) + input(pipeSmallItem, MaragingSteel250, 2) + input(wireFine, Naquadah, 16) + input(screw, LithiumTitanate, 4) + fluidInputs(Duranium.getFluid(L * 4)) + outputs(FusionDivertor.MK1.getStack(4)) + EUt(VA[LuV]) + duration(10 * SECOND) + cleanroom() + } // Divertor MK2 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(14) - .input(frameGt, TungstenCarbide) - .input(plate, RhodiumPlatedPalladium, 4) - .input(rotor, RhodiumPlatedPalladium) - .input(CONVEYOR_MODULE_ZPM) - .input(pipeNormalItem, MaragingSteel250, 2) - .input(wireFine, NaquadahEnriched, 16) - .input(screw, BariumTitanate, 4) - .fluidInputs(Francium.getFluid(L * 4)) - .outputs(FusionDivertor.MK2.getStack(4)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(14) + input(frameGt, TungstenCarbide) + input(plate, RhodiumPlatedPalladium, 4) + input(rotor, RhodiumPlatedPalladium) + input(CONVEYOR_MODULE_ZPM) + input(pipeNormalItem, MaragingSteel250, 2) + input(wireFine, NaquadahEnriched, 16) + input(screw, BariumTitanate, 4) + fluidInputs(Francium.getFluid(L * 4)) + outputs(FusionDivertor.MK2.getStack(4)) + EUt(VA[ZPM]) + duration(10 * SECOND) + cleanroom() + } // Divertor MK3 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(14) - .input(frameGt, TitaniumTungstenCarbide) - .input(plate, NaquadahAlloy, 4) - .input(rotor, NaquadahAlloy) - .input(CONVEYOR_MODULE_UV) - .input(pipeLargeItem, MaragingSteel250, 2) - .input(wireFine, Naquadria, 16) - .input(screw, RubidiumTitanate, 4) - .fluidInputs(Meitnerium.getFluid(L * 4)) - .outputs(FusionDivertor.MK3.getStack(4)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(14) + input(frameGt, TitaniumTungstenCarbide) + input(plate, NaquadahAlloy, 4) + input(rotor, NaquadahAlloy) + input(CONVEYOR_MODULE_UV) + input(pipeLargeItem, MaragingSteel250, 2) + input(wireFine, Naquadria, 16) + input(screw, RubidiumTitanate, 4) + fluidInputs(Meitnerium.getFluid(L * 4)) + outputs(FusionDivertor.MK3.getStack(4)) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Divertor MK4 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(14) - .input(frameGt, TitanSteel) - .input(plate, Darmstadtium, 4) - .input(rotor, Darmstadtium) - .input(CONVEYOR_MODULE_UHV) - .input(pipeHugeItem, MaragingSteel250, 2) - .input(wireFine, Adamantium, 16) - .input(screw, BariumStrontiumTitanate, 4) - .fluidInputs(Copernicium.getFluid(L * 4)) - .outputs(FusionDivertor.MK4.getStack(4)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(14) + input(frameGt, TitanSteel) + input(plate, Darmstadtium, 4) + input(rotor, Darmstadtium) + input(CONVEYOR_MODULE_UHV) + input(pipeHugeItem, MaragingSteel250, 2) + input(wireFine, Adamantium, 16) + input(screw, BariumStrontiumTitanate, 4) + fluidInputs(Copernicium.getFluid(L * 4)) + outputs(FusionDivertor.MK4.getStack(4)) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Divertor MK5 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(14) - .input(frameGt, TantalumHafniumSeaborgiumCarbide) - .input(plate, Neutronium, 4) - .input(rotor, Neutronium) - .input(CONVEYOR_MODULE_UEV) - .input(pipeHugeItem, MaragingSteel250, 4) - .input(wireFine, Vibranium, 16) - .input(screw, CaesiumCeriumCobaltIndium, 4) - .fluidInputs(Moscovium.getFluid(L * 4)) - .outputs(FusionDivertor.MK5.getStack(4)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(14) + input(frameGt, TantalumHafniumSeaborgiumCarbide) + input(plate, Neutronium, 4) + input(rotor, Neutronium) + input(CONVEYOR_MODULE_UEV) + input(pipeHugeItem, MaragingSteel250, 4) + input(wireFine, Vibranium, 16) + input(screw, CaesiumCeriumCobaltIndium, 4) + fluidInputs(Moscovium.getFluid(L * 4)) + outputs(FusionDivertor.MK5.getStack(4)) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } // Vacuum MK1 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .input(frameGt, TitaniumCarbide) - .input(plateDouble, TungstenSteel, 2) - .input(gearSmall, HSSG, 3) - .input(ELECTRIC_PISTON_LUV) - .input(NEUTRON_REFLECTOR) - .input(wireFine, Naquadah, 16) - .input(screw, LithiumTitanate, 4) - .fluidInputs(Duranium.getFluid(L * 4)) - .outputs(FusionVacuum.MK1.getStack(4)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + input(frameGt, TitaniumCarbide) + input(plateDouble, TungstenSteel, 2) + input(gearSmall, HSSG, 3) + input(ELECTRIC_PISTON_LUV) + input(NEUTRON_REFLECTOR) + input(wireFine, Naquadah, 16) + input(screw, LithiumTitanate, 4) + fluidInputs(Duranium.getFluid(L * 4)) + outputs(FusionVacuum.MK1.getStack(4)) + EUt(VA[LuV]) + duration(10 * SECOND) + cleanroom() + } // Vacuum MK2 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .input(frameGt, TungstenCarbide) - .input(plateDouble, RhodiumPlatedPalladium, 2) - .input(gearSmall, HSSE, 3) - .input(ELECTRIC_PISTON_ZPM) - .input(NEUTRON_REFLECTOR, 2) - .input(wireFine, NaquadahEnriched, 16) - .input(screw, BariumTitanate, 4) - .fluidInputs(Francium.getFluid(L * 4)) - .outputs(FusionVacuum.MK2.getStack(4)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + input(frameGt, TungstenCarbide) + input(plateDouble, RhodiumPlatedPalladium, 2) + input(gearSmall, HSSE, 3) + input(ELECTRIC_PISTON_ZPM) + input(NEUTRON_REFLECTOR, 2) + input(wireFine, NaquadahEnriched, 16) + input(screw, BariumTitanate, 4) + fluidInputs(Francium.getFluid(L * 4)) + outputs(FusionVacuum.MK2.getStack(4)) + EUt(VA[ZPM]) + duration(10 * SECOND) + cleanroom() + } // Vacuum MK3 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .input(frameGt, TitaniumTungstenCarbide) - .input(plateDouble, NaquadahAlloy, 2) - .input(gearSmall, HSSS, 3) - .input(ELECTRIC_PISTON_UV) - .input(NEUTRON_REFLECTOR, 4) - .input(wireFine, Naquadria, 16) - .input(screw, RubidiumTitanate, 4) - .fluidInputs(Meitnerium.getFluid(L * 4)) - .outputs(FusionVacuum.MK3.getStack(4)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + input(frameGt, TitaniumTungstenCarbide) + input(plateDouble, NaquadahAlloy, 2) + input(gearSmall, HSSS, 3) + input(ELECTRIC_PISTON_UV) + input(NEUTRON_REFLECTOR, 4) + input(wireFine, Naquadria, 16) + input(screw, RubidiumTitanate, 4) + fluidInputs(Meitnerium.getFluid(L * 4)) + outputs(FusionVacuum.MK3.getStack(4)) + EUt(VA[UV]) + duration(10 * SECOND) + cleanroom() + } // Vacuum MK4 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .input(frameGt, TitanSteel) - .input(plateDouble, Darmstadtium, 2) - .input(gearSmall, HDCS, 3) - .input(ELECTRIC_PISTON_UHV) - .input(NEUTRON_REFLECTOR, 8) - .input(wireFine, Adamantium, 16) - .input(screw, BariumStrontiumTitanate, 4) - .fluidInputs(Copernicium.getFluid(L * 4)) - .outputs(FusionVacuum.MK4.getStack(4)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + input(frameGt, TitanSteel) + input(plateDouble, Darmstadtium, 2) + input(gearSmall, HDCS, 3) + input(ELECTRIC_PISTON_UHV) + input(NEUTRON_REFLECTOR, 8) + input(wireFine, Adamantium, 16) + input(screw, BariumStrontiumTitanate, 4) + fluidInputs(Copernicium.getFluid(L * 4)) + outputs(FusionVacuum.MK4.getStack(4)) + EUt(VA[UHV]) + duration(10 * SECOND) + cleanroom() + } // Vacuum MK5 - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(15) - .input(frameGt, TantalumHafniumSeaborgiumCarbide) - .input(plateDouble, Neutronium, 2) - .input(gearSmall, HastelloyK243, 3) - .input(ELECTRIC_PISTON_UEV) - .input(NEUTRON_REFLECTOR, 16) - .input(wireFine, Vibranium, 16) - .input(screw, CaesiumCeriumCobaltIndium, 4) - .fluidInputs(Moscovium.getFluid(L * 4)) - .outputs(FusionVacuum.MK5.getStack(4)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .cleanroom(CleanroomType.CLEANROOM) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(15) + input(frameGt, TantalumHafniumSeaborgiumCarbide) + input(plateDouble, Neutronium, 2) + input(gearSmall, HastelloyK243, 3) + input(ELECTRIC_PISTON_UEV) + input(NEUTRON_REFLECTOR, 16) + input(wireFine, Vibranium, 16) + input(screw, CaesiumCeriumCobaltIndium, 4) + fluidInputs(Moscovium.getFluid(L * 4)) + outputs(FusionVacuum.MK5.getStack(4)) + EUt(VA[UEV]) + duration(10 * SECOND) + cleanroom() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/GTMachineCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/GTMachineCasingRecipes.kt index 76b5c37f9..2e4515a91 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/GTMachineCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/GTMachineCasingRecipes.kt @@ -9,7 +9,6 @@ import gregtech.api.GTValues.UHV import gregtech.api.GTValues.UIV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VH -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.ModHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.unification.OreDictUnifier @@ -23,6 +22,8 @@ import gregtech.common.metatileentities.MetaTileEntities.HULL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AxinoFusedRedMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlackDwarfMatter import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicFabric @@ -49,130 +50,130 @@ internal object GTMachineCasingRecipes "PPP", "PwP", "PPP", 'P', UnificationEntry(plate, Vibranium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(plate, Vibranium, 8) - .outputs(GTMachineCasing.UEV.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(plate, Vibranium, 8) + outputs(GTMachineCasing.UEV.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UIV Machine Casing ModHandler.addShapedRecipe(true, "casing_uiv", GTMachineCasing.UIV.stack, "PPP", "PwP", "PPP", 'P', UnificationEntry(plate, Shirabon)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(plate, Shirabon, 8) - .outputs(GTMachineCasing.UIV.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(plate, Shirabon, 8) + outputs(GTMachineCasing.UIV.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UXV Machine Casing ModHandler.addShapedRecipe(true, "casing_uxv", GTMachineCasing.UXV.stack, "PPP", "PwP", "PPP", 'P', UnificationEntry(plate, Creon)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(plate, Creon, 8) - .outputs(GTMachineCasing.UXV.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(plate, Creon, 8) + outputs(GTMachineCasing.UXV.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // OpV Machine Casing ModHandler.addShapedRecipe(true, "casing_opv", GTMachineCasing.OpV.stack, "PPP", "PwP", "PPP", 'P', UnificationEntry(plate, BlackDwarfMatter)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(plate, BlackDwarfMatter, 8) - .outputs(GTMachineCasing.OpV.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(plate, BlackDwarfMatter, 8) + outputs(GTMachineCasing.OpV.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // MAX Machine Casing ModHandler.addShapedRecipe(true, "casing_max", GTMachineCasing.MAX.stack, "PPP", "PwP", "PPP", 'P', UnificationEntry(plate, AxinoFusedRedMatter)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(plate, AxinoFusedRedMatter, 8) - .outputs(GTMachineCasing.MAX.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(plate, AxinoFusedRedMatter, 8) + outputs(GTMachineCasing.MAX.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UHV Machine Hull - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(GTMachineCasing.UHV.stack, - OreDictUnifier.get(cableGtSingle, Europium, 2)), + OreDictUnifier.get(cableGtSingle, Europium, 2)), arrayOf(Polybenzimidazole.getFluid(L * 2))) - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTMachineCasing.UHV.stack) - .input(cableGtSingle, Europium, 2) - .fluidInputs(Kevlar.getFluid(L * 2)) - .output(HULL[UHV]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTMachineCasing.UHV.stack) + input(cableGtSingle, Europium, 2) + fluidInputs(Kevlar.getFluid(L * 2)) + output(HULL[UHV]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UEV Machine Hull - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTMachineCasing.UEV.stack) - .input(cableGtSingle, Seaborgium, 2) - .fluidInputs(Kevlar.getFluid(L * 2)) - .output(HULL[UEV]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTMachineCasing.UEV.stack) + input(cableGtSingle, Seaborgium, 2) + fluidInputs(Kevlar.getFluid(L * 2)) + output(HULL[UEV]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UIV Machine Hull - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTMachineCasing.UIV.stack) - .input(cableGtSingle, SuperheavyAlloyA, 2) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) - .output(HULL[UIV]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTMachineCasing.UIV.stack) + input(cableGtSingle, SuperheavyAlloyA, 2) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) + output(HULL[UIV]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UXV Machine Hull - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTMachineCasing.UXV.stack) - .input(cableGtSingle, SuperheavyAlloyB, 2) - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) - .output(HULL[UXV]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTMachineCasing.UXV.stack) + input(cableGtSingle, SuperheavyAlloyB, 2) + fluidInputs(FullerenePolymerMatrix.getFluid(L * 2)) + output(HULL[UXV]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // OpV Machine Hull - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTMachineCasing.OpV.stack) - .input(cableGtSingle, Periodicium, 2) - .fluidInputs(CosmicFabric.getFluid(L * 2)) - .output(HULL[OpV]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTMachineCasing.OpV.stack) + input(cableGtSingle, Periodicium, 2) + fluidInputs(CosmicFabric.getFluid(L * 2)) + output(HULL[OpV]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // MAX Machine Hull - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTMachineCasing.MAX.stack) - .input(cableGtSingle, RealizedQuantumFoamShard, 2) - .fluidInputs(CosmicFabric.getFluid(L * 2)) - .output(HULL[MAX]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTMachineCasing.MAX.stack) + input(cableGtSingle, RealizedQuantumFoamShard, 2) + fluidInputs(CosmicFabric.getFluid(L * 2)) + output(HULL[MAX]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MetalCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MetalCasingRecipes.kt index f72165327..7adde6f8d 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MetalCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MetalCasingRecipes.kt @@ -27,6 +27,7 @@ import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.block.variant.BlockVariant import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AluminiumBronze import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BabbitAlloy import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EglinSteel @@ -114,19 +115,19 @@ internal object MetalCasingRecipes private fun create(outputCasing: BlockVariant, material: Material) { ModHandler.addShapedRecipe(true, material.name.lowercase() + "_casing", - outputCasing.getStack(ConfigHolder.recipes.casingsPerCraft), - "PhP", "PFP", "PwP", - 'P', UnificationEntry(plate, material), - 'F', UnificationEntry(frameGt, material)) + outputCasing.getStack(ConfigHolder.recipes.casingsPerCraft), + "PhP", "PFP", "PwP", + 'P', UnificationEntry(plate, material), + 'F', UnificationEntry(frameGt, material)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(plate, material, 6) - .input(frameGt, material) - .outputs(outputCasing.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(plate, material, 6) + input(frameGt, material) + outputs(outputCasing.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MotorCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MotorCasingRecipes.kt index abef8699d..7188f9c2c 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MotorCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MotorCasingRecipes.kt @@ -11,6 +11,7 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.MotorCasing import net.minecraft.item.ItemStack @@ -28,16 +29,16 @@ internal object MotorCasingRecipes for (voltage in motorCasings.indices) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(ring, Steel, 2) - .inputs(CraftingComponent.MOTOR.getIngredient(voltage + 1) as ItemStack) - .outputs(motorCasings[voltage]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(ring, Steel, 2) + inputs(CraftingComponent.MOTOR.getIngredient(voltage + 1) as ItemStack) + outputs(motorCasings[voltage]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MultiblockCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MultiblockCasingRecipes.kt index 4aa720e91..39a0bad93 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MultiblockCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/MultiblockCasingRecipes.kt @@ -29,6 +29,8 @@ import gregtech.common.metatileentities.MetaTileEntities.HULL import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.stack import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.MolybdenumDisilicide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.TantalumCarbide import gregtechlite.gtlitecore.common.block.variant.ActiveUniqueCasing @@ -49,16 +51,16 @@ internal object MultiblockCasingRecipes 'R', UnificationEntry(rotor, Titanium), 'L', UnificationEntry(stickLong, MolybdenumDisilicide)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(plate, TantalumCarbide, 4) - .input(plateDouble, MolybdenumDisilicide, 2) - .input(rotor, Titanium, 2) - .input(stickLong, MolybdenumDisilicide, 1) - .outputs(ActiveUniqueCasing.HEAT_VENT.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(plate, TantalumCarbide, 4) + input(plateDouble, MolybdenumDisilicide, 2) + input(rotor, Titanium, 2) + input(stickLong, MolybdenumDisilicide, 1) + outputs(ActiveUniqueCasing.HEAT_VENT.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Substrate Casing ModHandler.addShapedRecipe(true, "substrate_casing", MultiblockCasing.SUBSTRATE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft), @@ -67,15 +69,15 @@ internal object MultiblockCasingRecipes 'R', UnificationEntry(stick, RedSteel), 'F', UnificationEntry(frameGt, BlueSteel)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(frameGt, BlueSteel) - .input(plate, Palladium, 3) - .input(stick, RedSteel, 4) - .outputs(MultiblockCasing.SUBSTRATE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(frameGt, BlueSteel) + input(plate, Palladium, 3) + input(stick, RedSteel, 4) + outputs(MultiblockCasing.SUBSTRATE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Advanced Substrate Casing ModHandler.addShapedRecipe(true, "advanced_substrate_casing", MultiblockCasing.ADVANCED_SUBSTRATE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft), @@ -84,37 +86,36 @@ internal object MultiblockCasingRecipes 'R', UnificationEntry(stick, Duranium), 'F', UnificationEntry(frameGt, NaquadahAlloy)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(frameGt, NaquadahAlloy) - .input(plate, Ruridit, 3) - .input(stick, Duranium, 4) - .outputs(MultiblockCasing.ADVANCED_SUBSTRATE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(frameGt, NaquadahAlloy) + input(plate, Ruridit, 3) + input(stick, Duranium, 4) + outputs(MultiblockCasing.ADVANCED_SUBSTRATE_CASING.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Drill Head ModHandler.addShapedRecipe(true, "drill_head", MultiblockCasing.DRILL_HEAD.stack, "PGP", "MHM", "SSS", - 'P', ELECTRIC_PISTON_UV.stackForm, + 'P', ELECTRIC_PISTON_UV.stack(), 'G', UnificationEntry(gear, Tritanium), 'M', ELECTRIC_MOTOR_UV.stackForm, 'H', HULL[UV].stackForm, - 'S', COMPONENT_GRINDER_TUNGSTEN.stackForm) - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(HULL[UV]) - .input(gear, Tritanium) - .input(ELECTRIC_MOTOR_UV, 2) - .input(ELECTRIC_PISTON_UV, 2) - .input(COMPONENT_GRINDER_TUNGSTEN, 3) - .outputs(MultiblockCasing.DRILL_HEAD.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + 'S', COMPONENT_GRINDER_TUNGSTEN.stack()) + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(HULL[UV]) + input(gear, Tritanium) + input(ELECTRIC_MOTOR_UV, 2) + input(ELECTRIC_PISTON_UV, 2) + input(COMPONENT_GRINDER_TUNGSTEN, 3) + outputs(MultiblockCasing.DRILL_HEAD.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/NanoAssemblyComplexCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/NanoAssemblyComplexCasingRecipes.kt index eba6f349f..6a4a4f213 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/NanoAssemblyComplexCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/NanoAssemblyComplexCasingRecipes.kt @@ -17,6 +17,7 @@ import gregtech.common.items.MetaItems.EMITTER_UXV import gregtech.common.items.MetaItems.FIELD_GENERATOR_UIV import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.SPACE_ASSEMBLER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Abyssalloy import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium @@ -57,77 +58,77 @@ object NanoAssemblyComplexCasingRecipes fun init() { // Nano Precise Assembly Unit - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, SpaceTime, 4) - .inputs(ComponentAssemblyCasing.UXV.getStack(8)) - .input(plateDouble, Creon, 32) - .input(plateDouble, Magnetium, 32) - .input(screw, Hypogen, 8) - .input(screw, QuantumchromodynamicallyConfinedMatter, 8) - .input(SUPERCONDUCTOR_COMPOSITE) - .input(EMITTER_UXV, 2) - .input(ENERGISED_TESSERACT) - .fluidInputs(MutatedLivingSolder.getFluid(L * 16)) - .fluidInputs(MetastableOganesson.getFluid(L * 16)) - .outputs(ActiveUniqueCasing.NANO_PRECISE_ASSEMBLY_UNIT.getStack(64)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, SpaceTime, 4) + inputs(ComponentAssemblyCasing.UXV.getStack(8)) + input(plateDouble, Creon, 32) + input(plateDouble, Magnetium, 32) + input(screw, Hypogen, 8) + input(screw, QuantumchromodynamicallyConfinedMatter, 8) + input(SUPERCONDUCTOR_COMPOSITE) + input(EMITTER_UXV, 2) + input(ENERGISED_TESSERACT) + fluidInputs(MutatedLivingSolder.getFluid(L * 16)) + fluidInputs(MetastableOganesson.getFluid(L * 16)) + outputs(ActiveUniqueCasing.NANO_PRECISE_ASSEMBLY_UNIT.getStack(64)) + EUt(VA[UXV]) + duration(10 * SECOND) + stationResearch { it.researchStack(frameGt, SpaceTime) .EUt(VA[UXV]) .CWUt(96) } - .buildAndRegister() + } // Nanite Transmission Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, TranscendentMetal) - .input(stickLong, Creon, 12) - .inputs(MultiblockCasing.THERMAL_ENERGY_TRANSMISSION_CASING.stack) - .input(RAW_TESSERACT, 8) - .input(plateDense, HarmonicPhononMatter, 4) - .input(RELATIVISTIC_HEAT_CAPACITY, 6) - .input(FIELD_GENERATOR_UIV, 4) - .input(bolt, Legendarium, 24) - .fluidInputs(MutatedLivingSolder.getFluid(L * 64)) - .fluidInputs(MetastableHassium.getFluid(L * 64)) - .outputs(MultiblockCasing.NANITE_TRANSMISSION_CASING.getStack(64)) - .EUt(VA[UXV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, TranscendentMetal) + input(stickLong, Creon, 12) + inputs(MultiblockCasing.THERMAL_ENERGY_TRANSMISSION_CASING.stack) + input(RAW_TESSERACT, 8) + input(plateDense, HarmonicPhononMatter, 4) + input(RELATIVISTIC_HEAT_CAPACITY, 6) + input(FIELD_GENERATOR_UIV, 4) + input(bolt, Legendarium, 24) + fluidInputs(MutatedLivingSolder.getFluid(L * 64)) + fluidInputs(MetastableHassium.getFluid(L * 64)) + outputs(MultiblockCasing.NANITE_TRANSMISSION_CASING.getStack(64)) + EUt(VA[UXV]) + duration(10 * SECOND) + stationResearch { it.researchStack(MultiblockCasing.THERMAL_ENERGY_TRANSMISSION_CASING.stack) .EUt(VA[UXV]) .CWUt(72) } - .buildAndRegister() + } // Nanite Control Casing - SPACE_ASSEMBLER_RECIPES.recipeBuilder() - .input(frameGt, QuantumchromodynamicallyConfinedMatter, 4) - .input(plateDense, Infinity, 2) - .input(plate, QuantumAlloy, 16) - .input(frameGt, Mellion, 4) - .input(plateDense, CosmicNeutronium, 2) - .inputs(GTMultiblockCasing.ASSEMBLY_CONTROL.getStack(64)) - .input(stickLong, Shirabon, 8) - .input(plate, Creon, 16) - .input(plate, SpaceTime, 16) - .input(stickLong, Legendarium, 8) - .inputs(GTMultiblockCasing.ASSEMBLY_LINE_CASING.getStack(64)) - .input(plateDense, TranscendentMetal, 2) - .input(frameGt, TitanSteel, 4) - .input(plate, HalkoniteSteel, 16) - .input(plateDense, MagMatter, 2) - .input(frameGt, Abyssalloy, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 128)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(256000)) - .fluidInputs(Bedrockium.getFluid(L * 256)) - .fluidInputs(Neutronium.getFluid(L * 256)) - .outputs(ActiveUniqueCasing.NANITE_CONTROL_CASING.getStack(64)) - .EUt(VA[UIV]) - .duration(10 * SECOND) - .tier(5) - .buildAndRegister() + SPACE_ASSEMBLER_RECIPES.addRecipe { + input(frameGt, QuantumchromodynamicallyConfinedMatter, 4) + input(plateDense, Infinity, 2) + input(plate, QuantumAlloy, 16) + input(frameGt, Mellion, 4) + input(plateDense, CosmicNeutronium, 2) + inputs(GTMultiblockCasing.ASSEMBLY_CONTROL.getStack(64)) + input(stickLong, Shirabon, 8) + input(plate, Creon, 16) + input(plate, SpaceTime, 16) + input(stickLong, Legendarium, 8) + inputs(GTMultiblockCasing.ASSEMBLY_LINE_CASING.getStack(64)) + input(plateDense, TranscendentMetal, 2) + input(frameGt, TitanSteel, 4) + input(plate, HalkoniteSteel, 16) + input(plateDense, MagMatter, 2) + input(frameGt, Abyssalloy, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 128)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(256000)) + fluidInputs(Bedrockium.getFluid(L * 256)) + fluidInputs(Neutronium.getFluid(L * 256)) + outputs(ActiveUniqueCasing.NANITE_CONTROL_CASING.getStack(64)) + EUt(VA[UIV]) + duration(10 * SECOND) + tier(5) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/NuclearCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/NuclearCasingRecipes.kt index 002f3fad6..ea85bf472 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/NuclearCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/NuclearCasingRecipes.kt @@ -31,6 +31,7 @@ import gregtech.api.unification.stack.UnificationEntry import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ZirconiumCarbide import gregtechlite.gtlitecore.api.unification.ore.GTLiteOrePrefix.fuelRodHighDensity import gregtechlite.gtlitecore.common.block.adapter.GTBoilerCasing @@ -46,17 +47,17 @@ internal object NuclearCasingRecipes fun init() { // Nuclear Temperature Controller - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .inputs(MetalCasing.INCONEL_718.stack) - .inputs(GTBoilerCasing.POLYTETRAFLUOROETHYLENE_PIPE.stack) - .input(wireFine, Nichrome, 4) - .input(screw, Inconel718, 2) - .fluidInputs(ZirconiumCarbide.getFluid(L * 4)) - .outputs(ActiveUniqueCasing.TEMPERATURE_CONTROLLER.stack) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + inputs(MetalCasing.INCONEL_718.stack) + inputs(GTBoilerCasing.POLYTETRAFLUOROETHYLENE_PIPE.stack) + input(wireFine, Nichrome, 4) + input(screw, Inconel718, 2) + fluidInputs(ZirconiumCarbide.getFluid(L * 4)) + outputs(ActiveUniqueCasing.TEMPERATURE_CONTROLLER.stack) + EUt(VA[HV]) + duration(10 * SECOND) + } // Thorium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.thorium", NuclearReactorCore.THORIUM.stack, @@ -66,16 +67,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Thorium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Thorium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.THORIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Thorium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.THORIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Protactinium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.protactinium", NuclearReactorCore.PROTACTINIUM.stack, @@ -85,16 +86,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Protactinium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Protactinium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.PROTACTINIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Protactinium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.PROTACTINIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Uranium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.uranium", NuclearReactorCore.URANIUM.stack, @@ -104,16 +105,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Uranium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Uranium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.URANIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Uranium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.URANIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Neptunium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.neptunium", NuclearReactorCore.NEPTUNIUM.stack, @@ -123,16 +124,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Neptunium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Neptunium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.NEPTUNIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Neptunium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.NEPTUNIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Plutonium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.plutonium", NuclearReactorCore.PLUTONIUM.stack, @@ -142,16 +143,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Plutonium239)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Plutonium239) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.PLUTONIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Plutonium239) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.PLUTONIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Americium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.americium", NuclearReactorCore.AMERICIUM.stack, @@ -161,16 +162,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Americium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Americium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.AMERICIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Americium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.AMERICIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Curium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.curium", NuclearReactorCore.CURIUM.stack, @@ -180,16 +181,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Curium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Curium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.CURIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Curium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.CURIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Berkelium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.berkelium", NuclearReactorCore.BERKELIUM.stack, @@ -199,16 +200,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Berkelium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Berkelium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.BERKELIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Berkelium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.BERKELIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Californium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.californium", NuclearReactorCore.CALIFORNIUM.stack, @@ -218,16 +219,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Californium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Californium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.CALIFORNIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Californium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.CALIFORNIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Einsteinium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.einsteinium", NuclearReactorCore.EINSTEINIUM.stack, @@ -237,16 +238,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Einsteinium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Einsteinium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.EINSTEINIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Einsteinium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.EINSTEINIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Fermium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.fermium", NuclearReactorCore.FERMIUM.stack, @@ -256,16 +257,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Fermium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Fermium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.FERMIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Fermium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.FERMIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Mendelevium Nuclear Reactor Core ModHandler.addShapedRecipe(true, "nuclear_reactor_core.mendelevium", NuclearReactorCore.MENDELEVIUM.stack, @@ -275,16 +276,16 @@ internal object NuclearCasingRecipes 'S', UnificationEntry(stickLong, StainlessSteel), 'D', UnificationEntry(plateDense, Mendelevium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(22) - .input(fuelRodHighDensity, Graphite, 2) - .input(plateDense, StainlessSteel, 4) - .input(plateDense, Mendelevium) - .input(stickLong, StainlessSteel, 2) - .outputs(NuclearReactorCore.MENDELEVIUM.stack) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(22) + input(fuelRodHighDensity, Graphite, 2) + input(plateDense, StainlessSteel, 4) + input(plateDense, Mendelevium) + input(stickLong, StainlessSteel, 2) + outputs(NuclearReactorCore.MENDELEVIUM.stack) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PCBFactoryCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PCBFactoryCasingRecipes.kt index 69650c1bb..20efa8a17 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PCBFactoryCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PCBFactoryCasingRecipes.kt @@ -9,6 +9,7 @@ import gregtech.api.unification.ore.OrePrefix.plate import gregtech.api.unification.ore.OrePrefix.rotor import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Hypogen import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Infinity import gregtechlite.gtlitecore.common.block.variant.MultiblockCasing @@ -21,15 +22,15 @@ internal object PCBFactoryCasingRecipes fun init() { // Infinity Cooling Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(frameGt, Hypogen) - .input(rotor, Infinity, 2) - .input(plate, Thulium, 6) - .outputs(MultiblockCasing.INFINITY_COOLING_CASING.getStack(2)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(frameGt, Hypogen) + input(rotor, Infinity, 2) + input(plate, Thulium, 6) + outputs(MultiblockCasing.INFINITY_COOLING_CASING.getStack(2)) + EUt(VA[UEV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PistonCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PistonCasingRecipes.kt index 327a76a6f..2f86ccf4e 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PistonCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PistonCasingRecipes.kt @@ -11,6 +11,7 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.PistonCasing import net.minecraft.item.ItemStack @@ -28,16 +29,16 @@ internal object PistonCasingRecipes for (voltage in pistonCasings.indices) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(gearSmall, Steel, 2) - .inputs(CraftingComponent.PISTON.getIngredient(voltage + 1) as ItemStack) - .outputs(pistonCasings[voltage]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(gearSmall, Steel, 2) + inputs(CraftingComponent.PISTON.getIngredient(voltage + 1) as ItemStack) + outputs(pistonCasings[voltage]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PrimitiveCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PrimitiveCasingRecipes.kt index ffef1282d..71d700e67 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PrimitiveCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PrimitiveCasingRecipes.kt @@ -12,6 +12,7 @@ import gregtech.api.unification.stack.UnificationEntry import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.PrimitiveCasing internal object PrimitiveCasingRecipes @@ -28,15 +29,15 @@ internal object PrimitiveCasingRecipes 'Q', UnificationEntry(plate, Steel), 'F', UnificationEntry(frameGt, TreatedWood)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(plate, TreatedWood, 4) - .input(plate, Steel, 2) - .input(frameGt, TreatedWood) - .outputs(PrimitiveCasing.REINFORCED_TREATED_WOOD_WALL.getStack(2)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + input(plate, TreatedWood, 4) + input(plate, Steel, 2) + input(frameGt, TreatedWood) + outputs(PrimitiveCasing.REINFORCED_TREATED_WOOD_WALL.getStack(2)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ProcessorCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ProcessorCasingRecipes.kt index 65bbedfc0..6e02429b1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ProcessorCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ProcessorCasingRecipes.kt @@ -12,6 +12,7 @@ import gregtech.api.unification.ore.OrePrefix.spring import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.ProcessorCasing internal object ProcessorCasingRecipes @@ -31,172 +32,172 @@ internal object ProcessorCasingRecipes // circuit cannot be circuitX, so... // LV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.LV) - .outputs(processorCasings[0]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.LV) + outputs(processorCasings[0]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // MV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.MV) - .outputs(processorCasings[1]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.MV) + outputs(processorCasings[1]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // HV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.HV) - .outputs(processorCasings[2]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.HV) + outputs(processorCasings[2]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // EV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.EV) - .outputs(processorCasings[3]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.EV) + outputs(processorCasings[3]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // IV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.IV) - .outputs(processorCasings[4]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.IV) + outputs(processorCasings[4]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // LuV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.LuV) - .outputs(processorCasings[5]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.LuV) + outputs(processorCasings[5]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // ZPM Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.ZPM) - .outputs(processorCasings[6]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.ZPM) + outputs(processorCasings[6]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.UV) - .outputs(processorCasings[7]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.UV) + outputs(processorCasings[7]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UHV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.UHV) - .outputs(processorCasings[8]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.UHV) + outputs(processorCasings[8]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UEV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.UEV) - .outputs(processorCasings[9]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.UEV) + outputs(processorCasings[9]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UIV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.UIV) - .outputs(processorCasings[10]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.UIV) + outputs(processorCasings[10]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // UXV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.UXV) - .outputs(processorCasings[11]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.UXV) + outputs(processorCasings[11]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // OpV Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.OpV) - .outputs(processorCasings[12]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.OpV) + outputs(processorCasings[12]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // MAX Processor Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(spring, Steel, 2) - .input(circuit, Tier.MAX) - .outputs(processorCasings[13]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(spring, Steel, 2) + input(circuit, Tier.MAX) + outputs(processorCasings[13]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PumpCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PumpCasingRecipes.kt index b3f47b679..c03104265 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PumpCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/PumpCasingRecipes.kt @@ -11,6 +11,7 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.PumpCasing import net.minecraft.item.ItemStack @@ -28,16 +29,16 @@ internal object PumpCasingRecipes for (voltage in pumpCasings.indices) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(rotor, Steel, 2) - .inputs(CraftingComponent.PUMP.getIngredient(voltage + 1) as ItemStack) - .outputs(pumpCasings[voltage]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(rotor, Steel, 2) + inputs(CraftingComponent.PUMP.getIngredient(voltage + 1) as ItemStack) + outputs(pumpCasings[voltage]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/QuantumForceTransformerCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/QuantumForceTransformerCasingRecipes.kt index 933fa3be9..b5c676d47 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/QuantumForceTransformerCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/QuantumForceTransformerCasingRecipes.kt @@ -39,6 +39,7 @@ import gregtech.common.items.MetaItems.FIELD_GENERATOR_ZPM import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.VACUUM_CHAMBER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Abyssalloy import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ArceusAlloy2B @@ -88,208 +89,208 @@ internal object QuantumForceTransformerCasingRecipes fun init() { // Force Field Glass - VACUUM_CHAMBER_RECIPES.recipeBuilder() - .inputs(GlassCasing.QUANTUM.stack) - .input(FIELD_GENERATOR_ZPM) - .input(stickLong, PreciousMetalAlloy, 6) - .input(plate, Polymethylmethacrylate, 6) - .fluidInputs(QuantumAlloy.getFluid(L * 6)) - .outputs(GlassCasing.FORCE_FIELD.stack) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + VACUUM_CHAMBER_RECIPES.addRecipe { + inputs(GlassCasing.QUANTUM.stack) + input(FIELD_GENERATOR_ZPM) + input(stickLong, PreciousMetalAlloy, 6) + input(plate, Polymethylmethacrylate, 6) + fluidInputs(QuantumAlloy.getFluid(L * 6)) + outputs(GlassCasing.FORCE_FIELD.stack) + EUt(VA[UEV]) + duration(10 * SECOND) + } // Particle Containment Casing - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(12) - .input(frameGt, TantalumCarbide) - .inputs(MetalCasing.IRIDIUM.stack) - .input(circuit, Tier.ZPM, 16) - .input(screw, Inconel625, 32) - .input(bolt, HafniumCarbide, 12) - .input(plate, Zeron100, 8) - .fluidInputs(Trinaquadalloy.getFluid(L * 4)) - .outputs(MultiblockCasing.PARTICLE_CONTAINMENT_CASING.getStack(2)) - .EUt(VA[ZPM]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(12) + input(frameGt, TantalumCarbide) + inputs(MetalCasing.IRIDIUM.stack) + input(circuit, Tier.ZPM, 16) + input(screw, Inconel625, 32) + input(bolt, HafniumCarbide, 12) + input(plate, Zeron100, 8) + fluidInputs(Trinaquadalloy.getFluid(L * 4)) + outputs(MultiblockCasing.PARTICLE_CONTAINMENT_CASING.getStack(2)) + EUt(VA[ZPM]) + duration(2 * SECOND + 10 * TICK) + } // Particle Excitation Wire Coil - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(WireCoil.INFINITY.stack) - .inputs(ScienceCasing.MOLECULAR_COIL.getStack(2)) - .input(plateDouble, Seaborgium, 4) - .input(screw, Abyssalloy, 8) - .outputs(MultiblockCasing.PARTICLE_EXCITATION_WIRE_COIL.getStack(2)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(WireCoil.INFINITY.stack) + inputs(ScienceCasing.MOLECULAR_COIL.getStack(2)) + input(plateDouble, Seaborgium, 4) + input(screw, Abyssalloy, 8) + outputs(MultiblockCasing.PARTICLE_EXCITATION_WIRE_COIL.getStack(2)) + EUt(VA[UHV]) + duration(10 * SECOND) + } // Neutron Pulse Manipulator (T1) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GlassCasing.FORCE_FIELD.stack) - .input(nanite, Carbon, 4) - .input(EMITTER_UV, 4) - .input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 8) - .input(QUANTUM_ANOMALY) - .input(plate, CosmicNeutronium, 2) - .fluidInputs(Thulium.getFluid(L * 10)) - .fluidInputs(HeavyLeptonMixture.getFluid(5000)) - .fluidInputs(Neptunium.getPlasma(500)) - .fluidInputs(Fermium.getPlasma(500)) - .outputs(Manipulator.NEUTRON_PULSE.getStack(16)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GlassCasing.FORCE_FIELD.stack) + input(nanite, Carbon, 4) + input(EMITTER_UV, 4) + input(wireGtHex, RutheniumTriniumAmericiumNeutronate, 8) + input(QUANTUM_ANOMALY) + input(plate, CosmicNeutronium, 2) + fluidInputs(Thulium.getFluid(L * 10)) + fluidInputs(HeavyLeptonMixture.getFluid(5000)) + fluidInputs(Neptunium.getPlasma(500)) + fluidInputs(Fermium.getPlasma(500)) + outputs(Manipulator.NEUTRON_PULSE.getStack(16)) + EUt(VA[UEV]) + duration(30 * SECOND) + stationResearch { it.researchStack(GlassCasing.FORCE_FIELD.stack) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // Cosmic Fabric Manipulator (T2) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GlassCasing.FORCE_FIELD.getStack(2)) - .input(nanite, Carbon, 8) - .input(EMITTER_UHV, 4) - .input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 8) - .input(QUANTUM_ANOMALY) - .input(plate, DegenerateRhenium, 4) - .input(STABLE_ADHESIVE, 4) - .fluidInputs(Thulium.getFluid(L * 12)) - .fluidInputs(QuarkGluonPlasma.getFluid(5000)) - .fluidInputs(Neptunium.getPlasma(2500)) - .fluidInputs(Fermium.getPlasma(2500)) - .outputs(Manipulator.COSMIC_FABRIC.getStack(16)) - .EUt(VA[UIV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GlassCasing.FORCE_FIELD.getStack(2)) + input(nanite, Carbon, 8) + input(EMITTER_UHV, 4) + input(wireGtHex, VibraniumTritaniumActiniumIronSuperhydride, 8) + input(QUANTUM_ANOMALY) + input(plate, DegenerateRhenium, 4) + input(STABLE_ADHESIVE, 4) + fluidInputs(Thulium.getFluid(L * 12)) + fluidInputs(QuarkGluonPlasma.getFluid(5000)) + fluidInputs(Neptunium.getPlasma(2500)) + fluidInputs(Fermium.getPlasma(2500)) + outputs(Manipulator.COSMIC_FABRIC.getStack(16)) + EUt(VA[UIV]) + duration(30 * SECOND) + stationResearch { it.researchStack(Manipulator.NEUTRON_PULSE.stack) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // Infinity Infused Manipulator (T3) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GlassCasing.FORCE_FIELD.getStack(4)) - .input(nanite, Carbon, 16) - .input(EMITTER_UEV, 4) - .input(wireGtHex, FullereneSuperconductor, 8) - .input(QUANTUM_ANOMALY) - .input(plate, Hypogen, 8) - .input(SUPERCONDUCTOR_COMPOSITE, 4) - .fluidInputs(Thulium.getFluid(L * 15)) - .fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(5000)) - .fluidInputs(Neptunium.getPlasma(10000)) - .fluidInputs(Fermium.getPlasma(10000)) - .outputs(Manipulator.INFINITY_INFUSED.getStack(16)) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GlassCasing.FORCE_FIELD.getStack(4)) + input(nanite, Carbon, 16) + input(EMITTER_UEV, 4) + input(wireGtHex, FullereneSuperconductor, 8) + input(QUANTUM_ANOMALY) + input(plate, Hypogen, 8) + input(SUPERCONDUCTOR_COMPOSITE, 4) + fluidInputs(Thulium.getFluid(L * 15)) + fluidInputs(HighEnergyQuarkGluonPlasma.getFluid(5000)) + fluidInputs(Neptunium.getPlasma(10000)) + fluidInputs(Fermium.getPlasma(10000)) + outputs(Manipulator.INFINITY_INFUSED.getStack(16)) + EUt(VA[UXV]) + duration(30 * SECOND) + stationResearch { it.researchStack(Manipulator.COSMIC_FABRIC.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // Spacetime Continuum Ripper (T4) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(GlassCasing.FORCE_FIELD.getStack(8)) - .input(nanite, Carbon, 32) - .input(EMITTER_UIV, 4) - .input(wireGtHex, BoronFranciumCarbideSuperconductor, 8) - .input(QUANTUM_ANOMALY) - .input(plate, TranscendentMetal, 16) - .input(NAQUADRIA_SUPERSOLID, 4) - .fluidInputs(Thulium.getFluid(L * 20)) - .fluidInputs(SpaceTime.getFluid(5000)) - .fluidInputs(Neptunium.getPlasma(20000)) - .fluidInputs(Fermium.getPlasma(20000)) - .outputs(Manipulator.SPACETIME_CONTINUUM_RIPPER.getStack(16)) - .EUt(VA[OpV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(GlassCasing.FORCE_FIELD.getStack(8)) + input(nanite, Carbon, 32) + input(EMITTER_UIV, 4) + input(wireGtHex, BoronFranciumCarbideSuperconductor, 8) + input(QUANTUM_ANOMALY) + input(plate, TranscendentMetal, 16) + input(NAQUADRIA_SUPERSOLID, 4) + fluidInputs(Thulium.getFluid(L * 20)) + fluidInputs(SpaceTime.getFluid(5000)) + fluidInputs(Neptunium.getPlasma(20000)) + fluidInputs(Fermium.getPlasma(20000)) + outputs(Manipulator.SPACETIME_CONTINUUM_RIPPER.getStack(16)) + EUt(VA[OpV]) + duration(30 * SECOND) + stationResearch { it.researchStack(Manipulator.INFINITY_INFUSED.stack) .EUt(VA[OpV]) .CWUt(160) } - .buildAndRegister() + } // Neutron Shielding Core (T1) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, QuantumAlloy) - .input(plateDense, EnrichedNaquadahAlloy, 4) - .input(plateDense, Neutronium, 2) - .input(FIELD_GENERATOR_UV) - .input(screw, HastelloyX78, 16) - .fluidInputs(MutatedLivingSolder.getFluid(L * 10)) - .outputs(ShieldingCore.NEUTRON.getStack(16)) - .EUt(VA[UEV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, QuantumAlloy) + input(plateDense, EnrichedNaquadahAlloy, 4) + input(plateDense, Neutronium, 2) + input(FIELD_GENERATOR_UV) + input(screw, HastelloyX78, 16) + fluidInputs(MutatedLivingSolder.getFluid(L * 10)) + outputs(ShieldingCore.NEUTRON.getStack(16)) + EUt(VA[UEV]) + duration(30 * SECOND) + stationResearch { it.researchStack(MultiblockCasing.PARTICLE_CONTAINMENT_CASING.stack) .EUt(VA[UEV]) .CWUt(64) } - .buildAndRegister() + } // Cosmic Fabric Shielding Core (T2) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, QuantumAlloy, 2) - .input(plateDense, PreciousMetalAlloy, 4) - .input(plateDense, CosmicNeutronium, 2) - .input(FIELD_GENERATOR_UHV) - .input(screw, HastelloyK243, 16) - .input(STABLE_ADHESIVE, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 20)) - .outputs(ShieldingCore.COSMIC_FABRIC.getStack(16)) - .EUt(VA[UIV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, QuantumAlloy, 2) + input(plateDense, PreciousMetalAlloy, 4) + input(plateDense, CosmicNeutronium, 2) + input(FIELD_GENERATOR_UHV) + input(screw, HastelloyK243, 16) + input(STABLE_ADHESIVE, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 20)) + outputs(ShieldingCore.COSMIC_FABRIC.getStack(16)) + EUt(VA[UIV]) + duration(30 * SECOND) + stationResearch { it.researchStack(ShieldingCore.NEUTRON.stack) .EUt(VA[UIV]) .CWUt(96) } - .buildAndRegister() + } // Infinity Infused Shielding Core (T3) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, QuantumAlloy, 4) - .input(plateDense, ArceusAlloy2B, 4) - .input(plateDense, Hypogen, 2) - .input(FIELD_GENERATOR_UEV) - .input(screw, HalkoniteSteel, 16) - .input(SUPERCONDUCTOR_COMPOSITE, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 40)) - .outputs(ShieldingCore.INFINITY_INFUSED.getStack(16)) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, QuantumAlloy, 4) + input(plateDense, ArceusAlloy2B, 4) + input(plateDense, Hypogen, 2) + input(FIELD_GENERATOR_UEV) + input(screw, HalkoniteSteel, 16) + input(SUPERCONDUCTOR_COMPOSITE, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 40)) + outputs(ShieldingCore.INFINITY_INFUSED.getStack(16)) + EUt(VA[UXV]) + duration(30 * SECOND) + stationResearch { it.researchStack(ShieldingCore.COSMIC_FABRIC.stack) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // Spacetime Bending Core (T4) - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, QuantumAlloy, 8) - .input(plateDense, Shirabon, 4) - .input(plateDense, SpaceTime, 2) - .input(FIELD_GENERATOR_UIV) - .input(screw, TranscendentMetal, 16) - .input(NAQUADRIA_SUPERSOLID, 4) - .fluidInputs(MutatedLivingSolder.getFluid(L * 80)) - .outputs(ShieldingCore.SPACETIME_BENDING_CORE.getStack(16)) - .EUt(VA[OpV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, QuantumAlloy, 8) + input(plateDense, Shirabon, 4) + input(plateDense, SpaceTime, 2) + input(FIELD_GENERATOR_UIV) + input(screw, TranscendentMetal, 16) + input(NAQUADRIA_SUPERSOLID, 4) + fluidInputs(MutatedLivingSolder.getFluid(L * 80)) + outputs(ShieldingCore.SPACETIME_BENDING_CORE.getStack(16)) + EUt(VA[OpV]) + duration(30 * SECOND) + stationResearch { it.researchStack(ShieldingCore.INFINITY_INFUSED.stack) .EUt(VA[OpV]) .CWUt(160) } - .buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/RobotArmCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/RobotArmCasingRecipes.kt index 86c4d25f3..3d44695bb 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/RobotArmCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/RobotArmCasingRecipes.kt @@ -11,6 +11,7 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.RobotArmCasing import net.minecraft.item.ItemStack @@ -29,16 +30,16 @@ internal object RobotArmCasingRecipes for (voltage in robotArmCasings.indices) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(gear, Steel, 2) - .inputs(CraftingComponent.ROBOT_ARM.getIngredient(voltage + 1) as ItemStack) - .outputs(robotArmCasings[voltage]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(gear, Steel, 2) + inputs(CraftingComponent.ROBOT_ARM.getIngredient(voltage + 1) as ItemStack) + outputs(robotArmCasings[voltage]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ScienceCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ScienceCasingRecipes.kt index a572e681b..ef9d2e940 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ScienceCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/ScienceCasingRecipes.kt @@ -70,6 +70,7 @@ import gregtech.common.metatileentities.MetaTileEntities.QUANTUM_CHEST import gregtech.common.metatileentities.MetaTileEntities.WORLD_ACCELERATOR import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BoronFranciumCarbideSuperconductor import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium @@ -116,258 +117,257 @@ internal object ScienceCasingRecipes // region Level 1: High Power (LuV-UV) // Molecular Casing - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(GTComputerCasing.HIGH_POWER_CASING.stack) - .input(plateDense, Osmiridium, 6) - .input(foil, Trinium, 12) - .input(screw, TungstenSteel, 24) - .input(ring, TungstenSteel, 24) - .input(FIELD_GENERATOR_IV) - .fluidInputs(Osmium.getFluid(L * 9)) - .outputs(ScienceCasing.MOLECULAR_CASING.getStack(2)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(GTComputerCasing.HIGH_POWER_CASING.stack) + input(plateDense, Osmiridium, 6) + input(foil, Trinium, 12) + input(screw, TungstenSteel, 24) + input(ring, TungstenSteel, 24) + input(FIELD_GENERATOR_IV) + fluidInputs(Osmium.getFluid(L * 9)) + outputs(ScienceCasing.MOLECULAR_CASING.getStack(2)) + EUt(VA[ZPM]) + duration(10 * SECOND) + } // Quantum Glass - ASSEMBLER_RECIPES.recipeBuilder() - .inputs(ScienceCasing.MOLECULAR_CASING.stack) - .inputs(GTGlassCasing.LAMINATED_GLASS.stack) - .fluidInputs(Trinium.getFluid(L * 4)) - .outputs(GlassCasing.QUANTUM.stack) - .EUt(VA[UV]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + inputs(ScienceCasing.MOLECULAR_CASING.stack) + inputs(GTGlassCasing.LAMINATED_GLASS.stack) + fluidInputs(Trinium.getFluid(L * 4)) + outputs(GlassCasing.QUANTUM.stack) + EUt(VA[UV]) + duration(10 * SECOND) + } // Hollow Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.MOLECULAR_CASING.stack) - .inputs(GTBoilerCasing.TUNGSTENSTEEL_PIPE.getStack(2)) - .input(plate, Europium, 2) - .input(plateDouble, Plutonium239, 4) - .input(plateDouble, Lead, 8) - .input(plate, Uranium238, 16) - .input(screw, Uranium235, 16) - .fluidInputs(Trinium.getFluid(L * 9)) - .fluidInputs(Osmium.getFluid(L * 9)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .fluidInputs(Argon.getFluid(1000)) - .outputs(ScienceCasing.HOLLOW_CASING.getStack(4)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.MOLECULAR_CASING.stack) + inputs(GTBoilerCasing.TUNGSTENSTEEL_PIPE.getStack(2)) + input(plate, Europium, 2) + input(plateDouble, Plutonium239, 4) + input(plateDouble, Lead, 8) + input(plate, Uranium238, 16) + input(screw, Uranium235, 16) + fluidInputs(Trinium.getFluid(L * 9)) + fluidInputs(Osmium.getFluid(L * 9)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + fluidInputs(Argon.getFluid(1000)) + outputs(ScienceCasing.HOLLOW_CASING.getStack(4)) + EUt(VA[UV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ScienceCasing.MOLECULAR_CASING.stack) .EUt(VA[ZPM]) .CWUt(16) } - .buildAndRegister() + } // Molecular Coil - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.HOLLOW_CASING.stack) - .inputs(GTFusionCasing.FUSION_COIL.getStack(2)) - .inputs(GTWireCoil.TRINIUM.getStack(2)) - .input(wireFine, Europium, 64) - .input(foil, Europium, 64) - .fluidInputs(GSTGlass.getFluid(L * 16)) - .fluidInputs(SiliconeRubber.getFluid(L * 13)) - .fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) - .fluidInputs(Trinium.getFluid(L * 9)) - .outputs(ScienceCasing.MOLECULAR_COIL.getStack(8)) - .EUt(VA[UV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.HOLLOW_CASING.stack) + inputs(GTFusionCasing.FUSION_COIL.getStack(2)) + inputs(GTWireCoil.TRINIUM.getStack(2)) + input(wireFine, Europium, 64) + input(foil, Europium, 64) + fluidInputs(GSTGlass.getFluid(L * 16)) + fluidInputs(SiliconeRubber.getFluid(L * 13)) + fluidInputs(Helium.getFluid(FluidStorageKeys.LIQUID, 2000)) + fluidInputs(Trinium.getFluid(L * 9)) + outputs(ScienceCasing.MOLECULAR_COIL.getStack(8)) + EUt(VA[UV]) + duration(10 * SECOND) + stationResearch { it.researchStack(ScienceCasing.HOLLOW_CASING.stack) .EUt(VA[UV]) .CWUt(24) } - .buildAndRegister() + } // endregion // region Level 2: Dimensionally Transcendent (UHV-UEV) // Ultimate Molecular Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.MOLECULAR_CASING.getStack(4)) - .input(plate, Osmiridium, 4) - .input(plateDense, Seaborgium, 2) - .input(plateDense, Mendelevium, 2) - .input(circuit, Tier.UV) - .input(screw, ReneN5, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(NaquadahEnriched.getFluid(L * 12)) - .fluidInputs(MetastableOganesson.getFluid(L * 4)) - .outputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(16)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.MOLECULAR_CASING.getStack(4)) + input(plate, Osmiridium, 4) + input(plateDense, Seaborgium, 2) + input(plateDense, Mendelevium, 2) + input(circuit, Tier.UV) + input(screw, ReneN5, 16) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(NaquadahEnriched.getFluid(L * 12)) + fluidInputs(MetastableOganesson.getFluid(L * 4)) + outputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(16)) + EUt(VA[UHV]) + duration(10 * SECOND) + stationResearch { it.researchStack(block, Vibranium) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Dimensional Bridge Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.stack) - .input(frameGt, HDCS, 8) - .input(plateDense, MetastableOganesson, 2) - .input(EMITTER_UHV) - .input(plate, Roentgenium, 6) - .input(gear, Roentgenium, 4) - .input(gearSmall, Roentgenium, 8) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(NaquadahEnriched.getFluid(L * 12)) - .fluidInputs(Darmstadtium.getFluid(L * 4)) - .outputs(ScienceCasing.DIMENSIONAL_BRIDGE_CASING.getStack(16)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.stack) + input(frameGt, HDCS, 8) + input(plateDense, MetastableOganesson, 2) + input(EMITTER_UHV) + input(plate, Roentgenium, 6) + input(gear, Roentgenium, 4) + input(gearSmall, Roentgenium, 8) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(NaquadahEnriched.getFluid(L * 12)) + fluidInputs(Darmstadtium.getFluid(L * 4)) + outputs(ScienceCasing.DIMENSIONAL_BRIDGE_CASING.getStack(16)) + EUt(VA[UHV]) + duration(5 * SECOND) + stationResearch { it.researchStack(HPCA_BRIDGE_COMPONENT) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Containment Field Generator - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(4)) - .inputs(ScienceCasing.MOLECULAR_COIL.getStack(8)) - .input(frameGt, Naquadria, 8) - .input(frameGt, Dubnium, 8) - .input(frameGt, Curium, 8) - .input(frameGt, PreciousMetalAlloy, 8) - .input(FIELD_GENERATOR_UHV, 2) - .input(plateDense, Meitnerium, 2) - .input(screw, YttriumBariumCuprate, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(NaquadahEnriched.getFluid(L * 12)) - .fluidInputs(Neutronium.getFluid(L * 4)) - .outputs(ScienceCasing.CONTAINMENT_FIELD_GENERATOR.getStack(16)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(4)) + inputs(ScienceCasing.MOLECULAR_COIL.getStack(8)) + input(frameGt, Naquadria, 8) + input(frameGt, Dubnium, 8) + input(frameGt, Curium, 8) + input(frameGt, PreciousMetalAlloy, 8) + input(FIELD_GENERATOR_UHV, 2) + input(plateDense, Meitnerium, 2) + input(screw, YttriumBariumCuprate, 16) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(NaquadahEnriched.getFluid(L * 12)) + fluidInputs(Neutronium.getFluid(L * 4)) + outputs(ScienceCasing.CONTAINMENT_FIELD_GENERATOR.getStack(16)) + EUt(VA[UHV]) + duration(5 * SECOND) + stationResearch { it.researchStack(HPCA_ACTIVE_COOLER_COMPONENT) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Spacetime Altering Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(4)) - .inputs(ScienceCasing.HOLLOW_CASING.getStack(8)) - .input(frameGt, Rutherfordium, 8) - .input(plateDense, Copernicium, 2) - .input(ENERGY_CLUSTER) - .input(foil, Californium, 16) - .input(screw, EnrichedNaquadahAlloy, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(NaquadahEnriched.getFluid(L * 12)) - .fluidInputs(Curium.getFluid(L * 4)) - .outputs(ScienceCasing.SPACETIME_ALTERING_CASING.getStack(16)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(4)) + inputs(ScienceCasing.HOLLOW_CASING.getStack(8)) + input(frameGt, Rutherfordium, 8) + input(plateDense, Copernicium, 2) + input(ENERGY_CLUSTER) + input(foil, Californium, 16) + input(screw, EnrichedNaquadahAlloy, 4) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(NaquadahEnriched.getFluid(L * 12)) + fluidInputs(Curium.getFluid(L * 4)) + outputs(ScienceCasing.SPACETIME_ALTERING_CASING.getStack(16)) + EUt(VA[UHV]) + duration(5 * SECOND) + stationResearch { it.researchStack(HPCA_ADVANCED_COMPUTATION_COMPONENT) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // endregion // region Level 3: Truth of the Universe (UIV-OpV) // Reinforced Temporal Structure Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(32)) - .input(block, CosmicNeutronium, 64) - .input(block, TranscendentMetal, 64) - .input(nanite, Neutronium, 48) - .input(plateDense, Bedrockium, 6) - .input(plateDense, HarmonicPhononMatter, 6) - .input(plateDense, Shirabon, 6) - .input(plateDense, Infinity, 6) - .input(WORLD_ACCELERATOR[UV], 4) - .input(GRAVITATION_ENGINE, 64) - .input(ENERGISED_TESSERACT) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(256_000)) - .fluidInputs(Creon.getFluid(L * 40)) - .fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 10)) - .outputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.getStack(64)) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(32)) + input(block, CosmicNeutronium, 64) + input(block, TranscendentMetal, 64) + input(nanite, Neutronium, 48) + input(plateDense, Bedrockium, 6) + input(plateDense, HarmonicPhononMatter, 6) + input(plateDense, Shirabon, 6) + input(plateDense, Infinity, 6) + input(WORLD_ACCELERATOR[UV], 4) + input(GRAVITATION_ENGINE, 64) + input(ENERGISED_TESSERACT) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(256_000)) + fluidInputs(Creon.getFluid(L * 40)) + fluidInputs(SpatiallyEnlargedFluid.getFluid(L * 10)) + outputs(ScienceCasing.REINFORCED_TEMPORAL_STRUCTURE_CASING.getStack(64)) + EUt(VA[UXV]) + duration(30 * SECOND) + stationResearch { it.researchStack(WORLD_ACCELERATOR[UV].stackForm) .EUt(VA[UXV]) .CWUt(96) } - .buildAndRegister() + } // Reinforced Spatial Structure Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(32)) - .input(block, SpaceTime, 64) - .input(block, MagMatter, 64) - .input(nanite, Neutronium, 48) - .input(plateDense, CosmicNeutronium, 6) - .input(plateDense, HalkoniteSteel, 6) - .input(plateDense, TranscendentMetal, 6) - .input(plateDense, Legendarium, 6) - .input(QUANTUM_CHEST[UHV]) - .input(GRAVITATION_ENGINE, 64) - .input(ENERGISED_TESSERACT) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(256_000)) - .fluidInputs(Creon.getFluid(L * 40)) - .fluidInputs(TachyonRichTemporalFluid.getFluid(L * 10)) - .outputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.getStack(64)) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.ULTIMATE_MOLECULAR_CASING.getStack(32)) + input(block, SpaceTime, 64) + input(block, MagMatter, 64) + input(nanite, Neutronium, 48) + input(plateDense, CosmicNeutronium, 6) + input(plateDense, HalkoniteSteel, 6) + input(plateDense, TranscendentMetal, 6) + input(plateDense, Legendarium, 6) + input(QUANTUM_CHEST[UHV]) + input(GRAVITATION_ENGINE, 64) + input(ENERGISED_TESSERACT) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(256_000)) + fluidInputs(Creon.getFluid(L * 40)) + fluidInputs(TachyonRichTemporalFluid.getFluid(L * 10)) + outputs(ScienceCasing.REINFORCED_SPATIAL_STRUCTURE_CASING.getStack(64)) + EUt(VA[UXV]) + duration(30 * SECOND) + stationResearch { it.researchStack(AerospaceCasing.DYSON_SWARM_MODULE_DEPLOYMENT_UNIT_BASE_CASING.stack) .EUt(VA[UXV]) .CWUt(96) } - .buildAndRegister() + } // Infinite Spacetime Energy Boundary Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(POWER_SUBSTATION) - .input(CHARGER[UXV]) - .inputs(MetaBlocks.BATTERY_BLOCK.getItemVariant(BlockBatteryPart.BatteryPartType.ULTIMATE_UHV)) - .input(wireGtHex, BoronFranciumCarbideSuperconductor, 4) - .input(ACTIVE_TRANSFORMER, 16) - .input(ENERGY_INPUT_HATCH[UXV], 4) // TODO UXV Wireless Energy Hatch - .input(LASER_INPUT_HATCH_65536[UXV - IV]) - .input(circuit, Tier.UXV, 64) - .input(plate, MetastableHassium, 6) - .input(plate, Nihonium, 6) - .input(plate, Seaborgium, 6) - .input(plate, Mendelevium, 6) - .input(screw, MetastableHassium, 6) - .input(screw, Nihonium, 6) - .input(screw, Seaborgium, 6) - .input(screw, Mendelevium, 6) - .fluidInputs(MutatedLivingSolder.getFluid(L * 256)) - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(256_000)) - .fluidInputs(Creon.getFluid(L * 40)) - .fluidInputs(SpaceTime.getFluid(L * 10)) - .outputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.getStack(32)) - .EUt(VA[UXV]) - .duration(30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(POWER_SUBSTATION) + input(CHARGER[UXV]) + inputs(MetaBlocks.BATTERY_BLOCK.getItemVariant(BlockBatteryPart.BatteryPartType.ULTIMATE_UHV)) + input(wireGtHex, BoronFranciumCarbideSuperconductor, 4) + input(ACTIVE_TRANSFORMER, 16) + input(ENERGY_INPUT_HATCH[UXV], 4) // TODO UXV Wireless Energy Hatch + input(LASER_INPUT_HATCH_65536[UXV - IV]) + input(circuit, Tier.UXV, 64) + input(plate, MetastableHassium, 6) + input(plate, Nihonium, 6) + input(plate, Seaborgium, 6) + input(plate, Mendelevium, 6) + input(screw, MetastableHassium, 6) + input(screw, Nihonium, 6) + input(screw, Seaborgium, 6) + input(screw, Mendelevium, 6) + fluidInputs(MutatedLivingSolder.getFluid(L * 256)) + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(256_000)) + fluidInputs(Creon.getFluid(L * 40)) + fluidInputs(SpaceTime.getFluid(L * 10)) + outputs(ScienceCasing.INFINITE_SPACETIME_ENERGY_BOUNDARY_CASING.getStack(32)) + EUt(VA[UXV]) + duration(30 * SECOND) + stationResearch { it.researchStack(POWER_SUBSTATION.stackForm) .EUt(VA[UXV]) .CWUt(128) } - .buildAndRegister() + } // endregion - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/SensorCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/SensorCasingRecipes.kt index 5919faf87..e07259750 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/SensorCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/SensorCasingRecipes.kt @@ -11,6 +11,7 @@ import gregtech.loaders.recipe.CraftingComponent import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.variant.component.SensorCasing import net.minecraft.item.ItemStack @@ -28,16 +29,16 @@ internal object SensorCasingRecipes for (voltage in sensorCasings.indices) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(9) - .input(frameGt, Steel) - .input(plate, Steel, 4) - .input(wireFine, Steel, 2) - .inputs(CraftingComponent.SENSOR.getIngredient(voltage + 1) as ItemStack) - .outputs(sensorCasings[voltage]) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(9) + input(frameGt, Steel) + input(plate, Steel, 4) + input(wireFine, Steel, 2) + inputs(CraftingComponent.SENSOR.getIngredient(voltage + 1) as ItemStack) + outputs(sensorCasings[voltage]) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/StellarForgeCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/StellarForgeCasingRecipes.kt index 3cf14cfa4..b019a2919 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/StellarForgeCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/StellarForgeCasingRecipes.kt @@ -24,6 +24,7 @@ import gregtech.common.items.MetaItems.NEUTRON_REFLECTOR import gregtech.common.items.MetaItems.SENSOR_UHV import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CosmicNeutronium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.EnrichedNaquadahAlloy @@ -47,55 +48,55 @@ internal object StellarForgeCasingRecipes fun init() { // Stellar Containment Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, QuantumAlloy, 4) - .input(frameGt, Tairitsium, 4) - .input(frameGt, TitanSteel, 4) - .input(frameGt, EnrichedNaquadahAlloy, 4) - .input(plateDouble, HDCS, 8) - .input(plateDouble, Neutronium, 8) - .input(EMITTER_UHV, 2) - .input(SENSOR_UHV, 2) - .input(ELECTRIC_PUMP_UHV, 2) - .input(NEUTRON_REFLECTOR, 4) - .input(screw, TitanSteel, 6) - .fluidInputs(SolderingAlloy.getFluid(L * 32)) - .fluidInputs(UUMatter.getFluid(4000)) - .fluidInputs(Bedrockium.getFluid(L * 16)) - .outputs(MultiblockCasing.STELLAR_CONTAINMENT_CASING.getStack(16)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, QuantumAlloy, 4) + input(frameGt, Tairitsium, 4) + input(frameGt, TitanSteel, 4) + input(frameGt, EnrichedNaquadahAlloy, 4) + input(plateDouble, HDCS, 8) + input(plateDouble, Neutronium, 8) + input(EMITTER_UHV, 2) + input(SENSOR_UHV, 2) + input(ELECTRIC_PUMP_UHV, 2) + input(NEUTRON_REFLECTOR, 4) + input(screw, TitanSteel, 6) + fluidInputs(SolderingAlloy.getFluid(L * 32)) + fluidInputs(UUMatter.getFluid(4000)) + fluidInputs(Bedrockium.getFluid(L * 16)) + outputs(MultiblockCasing.STELLAR_CONTAINMENT_CASING.getStack(16)) + EUt(VA[UHV]) + duration(10 * SECOND) + stationResearch { it.researchStack(MetalCasing.QUANTUM_ALLOY.stack) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Thermal Energy Transmissive Casing - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .inputs(ScienceCasing.HOLLOW_CASING.getStack(4)) - .input(frameGt, Bedrockium, 16) - .input(plateDouble, MetastableOganesson, 8) - .input(pipeLargeFluid, HastelloyX78, 2) - .input(gear, CosmicNeutronium, 3) - .input(gearSmall, CosmicNeutronium, 6) - .input(ELECTRIC_PUMP_UHV) - .input(VOLTAGE_COIL_UHV, 8) - .input(foil, Tairitsium, 12) - .input(bolt, HDCS, 4) - .fluidInputs(SolderingAlloy.getFluid(L * 40)) - .fluidInputs(MercuryBariumCalciumCuprate.getFluid(L * 16)) - .fluidInputs(StableBaryonicMatter.getFluid(4000)) - .outputs(MultiblockCasing.THERMAL_ENERGY_TRANSMISSION_CASING.getStack(32)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + inputs(ScienceCasing.HOLLOW_CASING.getStack(4)) + input(frameGt, Bedrockium, 16) + input(plateDouble, MetastableOganesson, 8) + input(pipeLargeFluid, HastelloyX78, 2) + input(gear, CosmicNeutronium, 3) + input(gearSmall, CosmicNeutronium, 6) + input(ELECTRIC_PUMP_UHV) + input(VOLTAGE_COIL_UHV, 8) + input(foil, Tairitsium, 12) + input(bolt, HDCS, 4) + fluidInputs(SolderingAlloy.getFluid(L * 40)) + fluidInputs(MercuryBariumCalciumCuprate.getFluid(L * 16)) + fluidInputs(StableBaryonicMatter.getFluid(4000)) + outputs(MultiblockCasing.THERMAL_ENERGY_TRANSMISSION_CASING.getStack(32)) + EUt(VA[UHV]) + duration(10 * SECOND) + stationResearch { it.researchStack(MetaBlocks.BOILER_CASING.getItemVariant(BlockBoilerCasing.BoilerCasingType.TUNGSTENSTEEL_PIPE)) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/TurbineCasingRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/TurbineCasingRecipes.kt index 8d079dd04..11cdbad4f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/TurbineCasingRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/TurbineCasingRecipes.kt @@ -13,6 +13,7 @@ import gregtech.common.ConfigHolder import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.common.block.adapter.GTTurbineCasing import gregtechlite.gtlitecore.common.block.variant.TurbineCasing @@ -29,14 +30,14 @@ internal object TurbineCasingRecipes 'C', GTTurbineCasing.STEEL_TURBINE_CASING.stack, 'P', UnificationEntry(plate, RhodiumPlatedPalladium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(6) - .inputs(GTTurbineCasing.STEEL_TURBINE_CASING.stack) - .input(plate, RhodiumPlatedPalladium, 6) - .outputs(TurbineCasing.RHODIUM_PLATED_PALLADIUM_TURBINE.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(6) + inputs(GTTurbineCasing.STEEL_TURBINE_CASING.stack) + input(plate, RhodiumPlatedPalladium, 6) + outputs(TurbineCasing.RHODIUM_PLATED_PALLADIUM_TURBINE.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Rhodium Plated Palladium Gearbox Casing ModHandler.addShapedRecipe(true, "rhodium_plated_palladium_gearbox_casing", TurbineCasing.RHODIUM_PLATED_PALLADIUM_GEARBOX.getStack(ConfigHolder.recipes.casingsPerCraft), @@ -45,15 +46,15 @@ internal object TurbineCasingRecipes 'G', UnificationEntry(gear, RhodiumPlatedPalladium), 'F', UnificationEntry(frameGt, RhodiumPlatedPalladium)) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(plate, RhodiumPlatedPalladium, 4) - .input(gear, RhodiumPlatedPalladium, 2) - .input(frameGt, RhodiumPlatedPalladium) - .outputs(TurbineCasing.RHODIUM_PLATED_PALLADIUM_GEARBOX.getStack(ConfigHolder.recipes.casingsPerCraft)) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(4) + input(plate, RhodiumPlatedPalladium, 4) + input(gear, RhodiumPlatedPalladium, 2) + input(frameGt, RhodiumPlatedPalladium) + outputs(TurbineCasing.RHODIUM_PLATED_PALLADIUM_GEARBOX.getStack(ConfigHolder.recipes.casingsPerCraft)) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/WireCoilRecipes.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/WireCoilRecipes.kt index a50fb4075..bb9216659 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/WireCoilRecipes.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/machine/casing/WireCoilRecipes.kt @@ -15,7 +15,6 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.UXV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES import gregtech.api.recipes.RecipeMaps.ASSEMBLY_LINE_RECIPES import gregtech.api.unification.OreDictUnifier @@ -49,6 +48,8 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Eternity import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.HalkoniteSteel @@ -70,377 +71,377 @@ internal object WireCoilRecipes // need metal foils and instead of mica insulator foils. // Cupronickel Wire Coil - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireGtDouble, Cupronickel, 8), - OreDictUnifier.get(foil, Bronze, 8)), + OreDictUnifier.get(foil, Bronze, 8)), arrayOf(TinAlloy.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Cupronickel, 8) - .input(MICA_INSULATOR_FOIL, 8) - .fluidInputs(TinAlloy.getFluid(L)) - .outputs(GTWireCoil.CUPRONICKEL.stack) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Cupronickel, 8) - .input(POLYMER_INSULATOR_FOIL, 2) - .fluidInputs(TinAlloy.getFluid(L)) - .outputs(GTWireCoil.CUPRONICKEL.stack) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Cupronickel, 8) + input(MICA_INSULATOR_FOIL, 8) + fluidInputs(TinAlloy.getFluid(L)) + outputs(GTWireCoil.CUPRONICKEL.stack) + EUt(VA[LV]) + duration(10 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Cupronickel, 8) + input(POLYMER_INSULATOR_FOIL, 2) + fluidInputs(TinAlloy.getFluid(L)) + outputs(GTWireCoil.CUPRONICKEL.stack) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // Kanthal Wire Coil - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireGtDouble, Kanthal, 8), - OreDictUnifier.get(foil, Aluminium, 8)), + OreDictUnifier.get(foil, Aluminium, 8)), arrayOf(Copper.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Kanthal, 8) - .input(MICA_INSULATOR_FOIL, 12) - .fluidInputs(Copper.getFluid(L)) - .outputs(GTWireCoil.KANTHAL.stack) - .EUt(VA[MV]) - .duration(15 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Kanthal, 8) - .input(POLYMER_INSULATOR_FOIL, 3) - .fluidInputs(Copper.getFluid(L)) - .outputs(GTWireCoil.KANTHAL.stack) - .EUt(VA[MV]) - .duration(3 * SECOND + 15 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Kanthal, 8) + input(MICA_INSULATOR_FOIL, 12) + fluidInputs(Copper.getFluid(L)) + outputs(GTWireCoil.KANTHAL.stack) + EUt(VA[MV]) + duration(15 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Kanthal, 8) + input(POLYMER_INSULATOR_FOIL, 3) + fluidInputs(Copper.getFluid(L)) + outputs(GTWireCoil.KANTHAL.stack) + EUt(VA[MV]) + duration(3 * SECOND + 15 * TICK) + } // Nichrome Wire Coil - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireGtDouble, Nichrome, 8), - OreDictUnifier.get(foil, StainlessSteel, 8)), + OreDictUnifier.get(foil, StainlessSteel, 8)), arrayOf(Aluminium.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Nichrome, 8) - .input(MICA_INSULATOR_FOIL, 16) - .fluidInputs(Aluminium.getFluid(L)) - .outputs(GTWireCoil.NICHROME.stack) - .EUt(VA[HV]) - .duration(20 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Nichrome, 8) - .input(POLYMER_INSULATOR_FOIL, 4) - .fluidInputs(Aluminium.getFluid(L)) - .outputs(GTWireCoil.NICHROME.stack) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Nichrome, 8) + input(MICA_INSULATOR_FOIL, 16) + fluidInputs(Aluminium.getFluid(L)) + outputs(GTWireCoil.NICHROME.stack) + EUt(VA[HV]) + duration(20 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Nichrome, 8) + input(POLYMER_INSULATOR_FOIL, 4) + fluidInputs(Aluminium.getFluid(L)) + outputs(GTWireCoil.NICHROME.stack) + EUt(VA[HV]) + duration(5 * SECOND) + } // RTM Alloy Wire Coil - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireGtDouble, RTMAlloy, 8), - OreDictUnifier.get(foil, VanadiumSteel, 8)), + OreDictUnifier.get(foil, VanadiumSteel, 8)), arrayOf(Nichrome.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, RTMAlloy, 8) - .input(MICA_INSULATOR_FOIL, 20) - .fluidInputs(Titanium.getFluid(L)) - .outputs(GTWireCoil.RTM_ALLOY.stack) - .EUt(VA[EV]) - .duration(25 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, RTMAlloy, 8) - .input(POLYMER_INSULATOR_FOIL, 5) - .fluidInputs(Titanium.getFluid(L)) - .outputs(GTWireCoil.RTM_ALLOY.stack) - .EUt(VA[EV]) - .duration(6 * SECOND + 5 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, RTMAlloy, 8) + input(MICA_INSULATOR_FOIL, 20) + fluidInputs(Titanium.getFluid(L)) + outputs(GTWireCoil.RTM_ALLOY.stack) + EUt(VA[EV]) + duration(25 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, RTMAlloy, 8) + input(POLYMER_INSULATOR_FOIL, 5) + fluidInputs(Titanium.getFluid(L)) + outputs(GTWireCoil.RTM_ALLOY.stack) + EUt(VA[EV]) + duration(6 * SECOND + 5 * TICK) + } // HSS-G Wire Coil - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireGtDouble, HSSG, 8), - OreDictUnifier.get(foil, TungstenCarbide, 8)), + OreDictUnifier.get(foil, TungstenCarbide, 8)), arrayOf(Tungsten.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, HSSG, 8) - .input(MICA_INSULATOR_FOIL, 24) - .fluidInputs(Tungsten.getFluid(L)) - .outputs(GTWireCoil.HSS_G.stack) - .EUt(VA[IV]) - .duration(30 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, HSSG, 8) - .input(POLYMER_INSULATOR_FOIL, 6) - .fluidInputs(Tungsten.getFluid(L)) - .outputs(GTWireCoil.HSS_G.stack) - .EUt(VA[IV]) - .duration(7 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, HSSG, 8) + input(MICA_INSULATOR_FOIL, 24) + fluidInputs(Tungsten.getFluid(L)) + outputs(GTWireCoil.HSS_G.stack) + EUt(VA[IV]) + duration(30 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, HSSG, 8) + input(POLYMER_INSULATOR_FOIL, 6) + fluidInputs(Tungsten.getFluid(L)) + outputs(GTWireCoil.HSS_G.stack) + EUt(VA[IV]) + duration(7 * SECOND + 10 * TICK) + } // Naquadah Wire Coil - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireGtDouble, Naquadah, 8), - OreDictUnifier.get(foil, Osmium, 8)), + OreDictUnifier.get(foil, Osmium, 8)), arrayOf(TungstenSteel.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Naquadah, 8) - .input(MICA_INSULATOR_FOIL, 28) - .fluidInputs(TungstenSteel.getFluid(L)) - .outputs(GTWireCoil.NAQUADAH.stack) - .EUt(VA[LuV]) - .duration(35 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Naquadah, 8) - .input(POLYMER_INSULATOR_FOIL, 7) - .fluidInputs(TungstenSteel.getFluid(L)) - .outputs(GTWireCoil.NAQUADAH.stack) - .EUt(VA[LuV]) - .duration(8 * SECOND + 15 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Naquadah, 8) + input(MICA_INSULATOR_FOIL, 28) + fluidInputs(TungstenSteel.getFluid(L)) + outputs(GTWireCoil.NAQUADAH.stack) + EUt(VA[LuV]) + duration(35 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Naquadah, 8) + input(POLYMER_INSULATOR_FOIL, 7) + fluidInputs(TungstenSteel.getFluid(L)) + outputs(GTWireCoil.NAQUADAH.stack) + EUt(VA[LuV]) + duration(8 * SECOND + 15 * TICK) + } // Trinium Wire Coil - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireGtDouble, Trinium, 8), - OreDictUnifier.get(foil, NaquadahEnriched, 8)), + OreDictUnifier.get(foil, NaquadahEnriched, 8)), arrayOf(Naquadah.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Trinium, 8) - .input(MICA_INSULATOR_FOIL, 32) - .fluidInputs(Naquadah.getFluid(L)) - .outputs(GTWireCoil.TRINIUM.stack) - .EUt(VA[ZPM]) - .duration(40 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Trinium, 8) - .input(POLYMER_INSULATOR_FOIL, 8) - .fluidInputs(Naquadah.getFluid(L)) - .outputs(GTWireCoil.TRINIUM.stack) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Trinium, 8) + input(MICA_INSULATOR_FOIL, 32) + fluidInputs(Naquadah.getFluid(L)) + outputs(GTWireCoil.TRINIUM.stack) + EUt(VA[ZPM]) + duration(40 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Trinium, 8) + input(POLYMER_INSULATOR_FOIL, 8) + fluidInputs(Naquadah.getFluid(L)) + outputs(GTWireCoil.TRINIUM.stack) + EUt(VA[ZPM]) + duration(10 * SECOND) + } // Tritanium Wire Coil - GTRecipeHandler.removeRecipesByInputs(ASSEMBLER_RECIPES, + ASSEMBLER_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(wireGtDouble, Tritanium, 8), - OreDictUnifier.get(foil, Naquadria, 8)), + OreDictUnifier.get(foil, Naquadria, 8)), arrayOf(Trinium.getFluid(L))) - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Tritanium, 8) - .input(MICA_INSULATOR_FOIL, 36) - .fluidInputs(NaquadahEnriched.getFluid(L)) - .outputs(GTWireCoil.TRITANIUM.stack) - .EUt(VA[UV]) - .duration(45 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Tritanium, 8) - .input(POLYMER_INSULATOR_FOIL, 9) - .fluidInputs(NaquadahEnriched.getFluid(L)) - .outputs(GTWireCoil.TRITANIUM.stack) - .EUt(VA[UV]) - .duration(11 * SECOND + 5 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Tritanium, 8) + input(MICA_INSULATOR_FOIL, 36) + fluidInputs(NaquadahEnriched.getFluid(L)) + outputs(GTWireCoil.TRITANIUM.stack) + EUt(VA[UV]) + duration(45 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Tritanium, 8) + input(POLYMER_INSULATOR_FOIL, 9) + fluidInputs(NaquadahEnriched.getFluid(L)) + outputs(GTWireCoil.TRITANIUM.stack) + EUt(VA[UV]) + duration(11 * SECOND + 5 * TICK) + } // Adamantium Wire Coil - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Adamantium, 8) - .input(MICA_INSULATOR_FOIL, 48) - .fluidInputs(Naquadria.getFluid(L)) - .outputs(WireCoil.ADAMANTIUM.stack) - .EUt(VA[UHV]) - .duration(50 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(wireGtDouble, Adamantium, 8) - .input(POLYMER_INSULATOR_FOIL, 12) - .fluidInputs(Naquadria.getFluid(L)) - .outputs(WireCoil.ADAMANTIUM.stack) - .EUt(VA[UHV]) - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Adamantium, 8) + input(MICA_INSULATOR_FOIL, 48) + fluidInputs(Naquadria.getFluid(L)) + outputs(WireCoil.ADAMANTIUM.stack) + EUt(VA[UHV]) + duration(50 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(8) + input(wireGtDouble, Adamantium, 8) + input(POLYMER_INSULATOR_FOIL, 12) + fluidInputs(Naquadria.getFluid(L)) + outputs(WireCoil.ADAMANTIUM.stack) + EUt(VA[UHV]) + duration(12 * SECOND + 10 * TICK) + } // Infinity Wire Coil Block - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UHV) - .input(wireGtDouble, Infinity, 8) - .input(screw, Infinity, 8) - .input(MICA_INSULATOR_FOIL, 64) - .fluidInputs(Adamantium.getFluid(L * 4)) - .outputs(WireCoil.INFINITY.stack) - .EUt(VA[UEV]) - .duration(55 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UHV) + input(wireGtDouble, Infinity, 8) + input(screw, Infinity, 8) + input(MICA_INSULATOR_FOIL, 64) + fluidInputs(Adamantium.getFluid(L * 4)) + outputs(WireCoil.INFINITY.stack) + EUt(VA[UEV]) + duration(55 * SECOND) + stationResearch { it.researchStack(WireCoil.ADAMANTIUM.stack) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UHV) - .input(wireGtDouble, Infinity, 8) - .input(screw, Infinity, 8) - .input(POLYMER_INSULATOR_FOIL, 16) - .fluidInputs(Adamantium.getFluid(L * 4)) - .outputs(WireCoil.INFINITY.stack) - .EUt(VA[UEV]) - .duration(13 * SECOND + 15 * TICK) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UHV) + input(wireGtDouble, Infinity, 8) + input(screw, Infinity, 8) + input(POLYMER_INSULATOR_FOIL, 16) + fluidInputs(Adamantium.getFluid(L * 4)) + outputs(WireCoil.INFINITY.stack) + EUt(VA[UEV]) + duration(13 * SECOND + 15 * TICK) + stationResearch { it.researchStack(WireCoil.ADAMANTIUM.stack) .EUt(VA[UHV]) .CWUt(32) } - .buildAndRegister() + } // Halkonite Steel Wire Coil Block - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UEV) - .input(wireGtDouble, HalkoniteSteel, 8) - .input(screw, HalkoniteSteel, 8) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .fluidInputs(Infinity.getFluid(L * 4)) - .outputs(WireCoil.HALKONITE_STEEL.stack) - .EUt(VA[UIV]) - .duration(1 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UEV) + input(wireGtDouble, HalkoniteSteel, 8) + input(screw, HalkoniteSteel, 8) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + fluidInputs(Infinity.getFluid(L * 4)) + outputs(WireCoil.HALKONITE_STEEL.stack) + EUt(VA[UIV]) + duration(1 * MINUTE) + stationResearch { it.researchStack(WireCoil.INFINITY.stack) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UEV) - .input(wireGtDouble, HalkoniteSteel, 8) - .input(screw, HalkoniteSteel, 8) - .input(POLYMER_INSULATOR_FOIL, 32) - .fluidInputs(Infinity.getFluid(L * 4)) - .outputs(WireCoil.HALKONITE_STEEL.stack) - .EUt(VA[UIV]) - .duration(15 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UEV) + input(wireGtDouble, HalkoniteSteel, 8) + input(screw, HalkoniteSteel, 8) + input(POLYMER_INSULATOR_FOIL, 32) + fluidInputs(Infinity.getFluid(L * 4)) + outputs(WireCoil.HALKONITE_STEEL.stack) + EUt(VA[UIV]) + duration(15 * SECOND) + stationResearch { it.researchStack(WireCoil.INFINITY.stack) .EUt(VA[UEV]) .CWUt(48) } - .buildAndRegister() + } // Space Time Wire Coil Block - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UIV) - .input(wireGtDouble, SpaceTime, 8) - .input(screw, SpaceTime, 8) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .fluidInputs(HalkoniteSteel.getFluid(L * 4)) - .outputs(WireCoil.SPACE_TIME.stack) - .EUt(VA[UXV]) - .duration(1 * MINUTE + 30 * SECOND) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UIV) + input(wireGtDouble, SpaceTime, 8) + input(screw, SpaceTime, 8) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + fluidInputs(HalkoniteSteel.getFluid(L * 4)) + outputs(WireCoil.SPACE_TIME.stack) + EUt(VA[UXV]) + duration(1 * MINUTE + 30 * SECOND) + stationResearch { it.researchStack(WireCoil.HALKONITE_STEEL.stack) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UIV) - .input(wireGtDouble, SpaceTime, 8) - .input(screw, SpaceTime, 8) - .input(POLYMER_INSULATOR_FOIL, 64) - .fluidInputs(HalkoniteSteel.getFluid(L * 4)) - .outputs(WireCoil.SPACE_TIME.stack) - .EUt(VA[UXV]) - .duration(22 * SECOND + 10 * TICK) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UIV) + input(wireGtDouble, SpaceTime, 8) + input(screw, SpaceTime, 8) + input(POLYMER_INSULATOR_FOIL, 64) + fluidInputs(HalkoniteSteel.getFluid(L * 4)) + outputs(WireCoil.SPACE_TIME.stack) + EUt(VA[UXV]) + duration(22 * SECOND + 10 * TICK) + stationResearch { it.researchStack(WireCoil.HALKONITE_STEEL.stack) .EUt(VA[UIV]) .CWUt(64) } - .buildAndRegister() + } // Eternity Wire Coil Block - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UXV) - .input(wireGtDouble, Eternity, 8) - .input(screw, Eternity, 8) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .input(MICA_INSULATOR_FOIL, 64) - .fluidInputs(SpaceTime.getFluid(L * 4)) - .outputs(WireCoil.ETERNITY.stack) - .EUt(VA[OpV]) - .duration(2 * MINUTE) - .stationResearch { + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UXV) + input(wireGtDouble, Eternity, 8) + input(screw, Eternity, 8) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + input(MICA_INSULATOR_FOIL, 64) + fluidInputs(SpaceTime.getFluid(L * 4)) + outputs(WireCoil.ETERNITY.stack) + EUt(VA[OpV]) + duration(2 * MINUTE) + stationResearch { it.researchStack(WireCoil.SPACE_TIME.stack) .EUt(VA[UXV]) .CWUt(96) } - .buildAndRegister() - - ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(circuit, Tier.UXV) - .input(wireGtDouble, Eternity, 8) - .input(screw, Eternity, 8) - .input(POLYMER_INSULATOR_FOIL, 64) - .input(POLYMER_INSULATOR_FOIL, 64) - .fluidInputs(SpaceTime.getFluid(L * 4)) - .outputs(WireCoil.ETERNITY.stack) - .EUt(VA[OpV]) - .duration(30 * SECOND) - .stationResearch { + } + + ASSEMBLY_LINE_RECIPES.addRecipe { + input(circuit, Tier.UXV) + input(wireGtDouble, Eternity, 8) + input(screw, Eternity, 8) + input(POLYMER_INSULATOR_FOIL, 64) + input(POLYMER_INSULATOR_FOIL, 64) + fluidInputs(SpaceTime.getFluid(L * 4)) + outputs(WireCoil.ETERNITY.stack) + EUt(VA[OpV]) + duration(30 * SECOND) + stationResearch { it.researchStack(WireCoil.SPACE_TIME.stack) .EUt(VA[UXV]) .CWUt(96) } - .buildAndRegister() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/AdamantiumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/AdamantiumProcessing.kt index fce2f19e4..d7ce28668 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/AdamantiumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/AdamantiumProcessing.kt @@ -4,7 +4,6 @@ import gregtech.api.GTValues.IV import gregtech.api.GTValues.L import gregtech.api.GTValues.LuV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.ELECTROMAGNETIC_SEPARATOR_RECIPES @@ -21,10 +20,12 @@ import gregtech.api.unification.material.Materials.Uranium238 import gregtech.api.unification.material.Materials.Zirconium import gregtech.api.unification.ore.OrePrefix.dust import gregtech.api.unification.ore.OrePrefix.ingotHot -import gregtech.common.items.MetaItems +import gregtech.common.items.MetaItems.SHAPE_MOLD_INGOT import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantite import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AdamantiumUnstable @@ -43,55 +44,55 @@ internal object AdamantiumProcessing fun init() { // Separated the bedrockium to get some special materials. - ELECTROMAGNETIC_SEPARATOR_RECIPES.recipeBuilder() - .input(dust, Bedrockium) - .chancedOutput(dust, Adamantite, 3000, 500) - .chancedOutput(dust, Monazite, 2, 3000, 0) - .chancedOutput(dust, Hafnium, 3, 6000, 0) - .chancedOutput(dust, Zirconium, 4, 4500, 0) - .EUt(VA[IV]) - .duration(6 * SECOND) - .buildAndRegister() + ELECTROMAGNETIC_SEPARATOR_RECIPES.addRecipe { + input(dust, Bedrockium) + chancedOutput(dust, Adamantite, 3000, 500) + chancedOutput(dust, Monazite, 2, 3000, 0) + chancedOutput(dust, Hafnium, 3, 6000, 0) + chancedOutput(dust, Zirconium, 4, 4500, 0) + EUt(VA[IV]) + duration(6 * SECOND) + } // 4Ad + 4Nq -> Ad* + Nq (part cycle) + U238 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Adamantium, 4) - .fluidInputs(Naquadah.getFluid(L * 4)) - .output(dust, Naquadah) - .output(dust, Uranium238) - .fluidOutputs(AdamantiumUnstable.getFluid(L * 4)) - .EUt(VA[LuV]) - .duration(40 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Adamantium, 4) + fluidInputs(Naquadah.getFluid(L * 4)) + output(dust, Naquadah) + output(dust, Uranium238) + fluidOutputs(AdamantiumUnstable.getFluid(L * 4)) + EUt(VA[LuV]) + duration(40 * SECOND) + } // Dr + Ad* -> Ad - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Duranium.getFluid(16)) - .fluidInputs(AdamantiumUnstable.getFluid(16)) - .fluidOutputs(Adamantium.getPlasma(16)) - .EUt(VA[LuV]) - .duration(1 * SECOND + 12 * TICK) - .EUToStart(300_000_000L) // 300M EU, MK1 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Duranium.getFluid(16)) + fluidInputs(AdamantiumUnstable.getFluid(16)) + fluidOutputs(Adamantium.getPlasma(16)) + EUt(VA[LuV]) + duration(1 * SECOND + 12 * TICK) + EUToStart(300_000_000L) // 300M EU (MK1) + } // Adamantium plasma will direct cooling by fluid solidification to // a hot adamantium ingot, adamantium dust cannot blast to ingot yet. - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, Adamantium), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Adamantium), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Argon.getFluid(50))) - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(MetaItems.SHAPE_MOLD_INGOT) - .fluidInputs(Adamantium.getPlasma(L)) - .output(ingotHot, Adamantium) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(Adamantium.getPlasma(L)) + output(ingotHot, Adamantium) + EUt(VA[IV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/AluminiumSodiumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/AluminiumSodiumProcessing.kt index 04d77addc..594186909 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/AluminiumSodiumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/AluminiumSodiumProcessing.kt @@ -5,7 +5,8 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VHA -import gregtech.api.recipes.GTRecipeHandler +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES @@ -83,296 +84,292 @@ internal object AluminiumSodiumProcessing for (inputPrefix in arrayOf(crushed, crushedPurified, dustImpure, dustPure)) { // Green Sapphire Juice - MIXER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(inputPrefix, GreenSapphire) - .input(dustTiny, SodiumHydroxide) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .fluidOutputs(GreenSapphireJuice.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(1) + input(inputPrefix, GreenSapphire) + input(dustTiny, SodiumHydroxide) + fluidInputs(HydrochloricAcid.getFluid(1000)) + fluidOutputs(GreenSapphireJuice.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND) + } // Sapphire Juice - MIXER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(inputPrefix, Sapphire) - .input(dustTiny, SodiumHydroxide) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .fluidOutputs(SapphireJuice.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(1) + input(inputPrefix, Sapphire) + input(dustTiny, SodiumHydroxide) + fluidInputs(HydrochloricAcid.getFluid(1000)) + fluidOutputs(SapphireJuice.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND) + } // Ruby Juice - MIXER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(inputPrefix, Ruby) - .input(dustTiny, SodiumHydroxide) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .fluidOutputs(RubyJuice.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(1) + input(inputPrefix, Ruby) + input(dustTiny, SodiumHydroxide) + fluidInputs(HydrochloricAcid.getFluid(1000)) + fluidOutputs(RubyJuice.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND) + } } - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(GreenSapphireJuice.getFluid(1000)) - .output(dust, AluminiumHydroxide, 3) - .chancedOutput(dust, Iron, 1000, 500) - .chancedOutput(dust, Vanadium, 200, 100) - .chancedOutput(dust, Manganese, 200, 100) - .chancedOutput(dust, Beryllium, 200, 100) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() - - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(SapphireJuice.getFluid(1000)) - .output(dust, AluminiumHydroxide, 3) - .chancedOutput(dust, Iron, 3000, 1000) - .chancedOutput(dust, Vanadium, 200, 100) - .chancedOutput(dust, Magnesium, 200, 100) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() - - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(RubyJuice.getFluid(1000)) - .output(dust, AluminiumHydroxide, 3) - .chancedOutput(dust, Chrome, 5000, 1000) - .chancedOutput(dust, Iron, 300, 150) - .chancedOutput(dust, Vanadium, 200, 100) - .chancedOutput(dust, Magnesium, 200, 100) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(GreenSapphireJuice.getFluid(1000)) + output(dust, AluminiumHydroxide, 3) + chancedOutput(dust, Iron, 1000, 500) + chancedOutput(dust, Vanadium, 200, 100) + chancedOutput(dust, Manganese, 200, 100) + chancedOutput(dust, Beryllium, 200, 100) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND + 5 * TICK) + } + + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(SapphireJuice.getFluid(1000)) + output(dust, AluminiumHydroxide, 3) + chancedOutput(dust, Iron, 3000, 1000) + chancedOutput(dust, Vanadium, 200, 100) + chancedOutput(dust, Magnesium, 200, 100) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND + 5 * TICK) + } + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(RubyJuice.getFluid(1000)) + output(dust, AluminiumHydroxide, 3) + chancedOutput(dust, Chrome, 5000, 1000) + chancedOutput(dust, Iron, 300, 150) + chancedOutput(dust, Vanadium, 200, 100) + chancedOutput(dust, Magnesium, 200, 100) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND + 5 * TICK) + } } private fun aluminiumHydroxideProcess() { // An easier NaOH recipes. // Na + H2O -> NaOH + H - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Sodium) - .fluidInputs(Water.getFluid(1000)) - .output(dust, SodiumHydroxide, 3) - .fluidOutputs(Hydrogen.getFluid(1000)) - .EUt(VA[MV]) - .duration(2 * SECOND + 5 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Sodium) + fluidInputs(Water.getFluid(1000)) + output(dust, SodiumHydroxide, 3) + fluidOutputs(Hydrogen.getFluid(1000)) + EUt(VA[MV]) + duration(2 * SECOND + 5 * TICK) + } // (Al2O3)3(TiO2)2(H2O)2? (bauxite) + 4NaOH + H2O -> 4NaAlO2 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Bauxite, 4) - .input(dust, SodiumHydroxide, 12) - .fluidInputs(Water.getFluid(1000)) - .output(dust, SodiumAluminate, 16) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Bauxite, 4) + input(dust, SodiumHydroxide, 12) + fluidInputs(Water.getFluid(1000)) + output(dust, SodiumAluminate, 16) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // NaAlO2 + 2H2O -> Al(OH)3 + NaOH - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, SodiumAluminate, 4) - .fluidInputs(Water.getFluid(2000)) - .output(dust, AluminiumHydroxide, 4) - .output(dust, SodiumHydroxide, 3) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, SodiumAluminate, 4) + fluidInputs(Water.getFluid(2000)) + output(dust, AluminiumHydroxide, 4) + output(dust, SodiumHydroxide, 3) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } // 2NaAlO2 + CO2 -> Al2O3 + Na2CO3 - BLAST_RECIPES.recipeBuilder() - .input(dust, SodiumAluminate, 8) - .fluidInputs(CarbonDioxide.getFluid(1000)) - .output(dust, Alumina, 5) - .output(dust, SodaAsh, 6) - .EUt(VA[HV]) - .duration(5 * SECOND) - .blastFurnaceTemp(1200) // Cupronickel - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(dust, SodiumAluminate, 8) + fluidInputs(CarbonDioxide.getFluid(1000)) + output(dust, Alumina, 5) + output(dust, SodaAsh, 6) + EUt(VA[HV]) + duration(5 * SECOND) + blastFurnaceTemp(1200) // Cupronickel + } // Common Na2CO3 decomposition. - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(SodiumCarbonateSolution.getFluid(1000)) - .output(dust, SodaAsh, 6) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(SodiumCarbonateSolution.getFluid(1000)) + output(dust, SodaAsh, 6) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[LV]) + duration(10 * SECOND) + } // Another Na2CO3 recipes. - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, SodaAsh, 6) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(SodiumCarbonateSolution.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, SodaAsh, 6) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(SodiumCarbonateSolution.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND) + } // Chemistry cryolite processing. // 3NaOH + Al(OH)3 + 6HF -> Na3AlF6 + 6H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumHydroxide, 9) - .input(dust, AluminiumHydroxide, 4) - .fluidInputs(HydrofluoricAcid.getFluid(6000)) - .output(dust, Cryolite, 10) - .fluidOutputs(Water.getFluid(6000)) - .EUt(VA[LV]) - .duration(15 * SECOND) - .buildAndRegister() - - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, SodiumHydroxide, 63) - .input(dust, AluminiumHydroxide, 28) - .fluidInputs(HydrofluoricAcid.getFluid(42000)) - .output(dust, Cryolite, 64) - .output(dust, Cryolite, 6) - .fluidOutputs(Water.getFluid(42000)) - .EUt(VA[HV]) - .duration(30 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumHydroxide, 9) + input(dust, AluminiumHydroxide, 4) + fluidInputs(HydrofluoricAcid.getFluid(6000)) + output(dust, Cryolite, 10) + fluidOutputs(Water.getFluid(6000)) + EUt(VA[LV]) + duration(15 * SECOND) + } + + LARGE_CHEMICAL_RECIPES.addRecipe { + circuitMeta(24) + input(dust, SodiumHydroxide, 63) + input(dust, AluminiumHydroxide, 28) + fluidInputs(HydrofluoricAcid.getFluid(42000)) + output(dust, Cryolite, 64) + output(dust, Cryolite, 6) + fluidOutputs(Water.getFluid(42000)) + EUt(VA[HV]) + duration(30 * SECOND) + } } private fun aluminaBlastingProcess() { // Add Alumina (Al2O3) to Aluminium recipes. - // Al2O3 + 3H -> 2Al + 3H2O - BLAST_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Alumina, 5) - .fluidInputs(Hydrogen.getFluid(3000)) - .output(ingot, Aluminium) - .fluidOutputs(Steam.getFluid(3 * SU)) - .EUt(VA[MV]) - .duration(1 * MINUTE + 20 * SECOND) - .blastFurnaceTemp(963) // Cupronickel - .buildAndRegister() + BLAST_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Alumina, 5) + fluidInputs(Hydrogen.getFluid(3000)) + output(ingot, Aluminium) + fluidOutputs(Steam.getFluid(3 * SU)) + EUt(VA[MV]) + duration(1 * MINUTE + 20 * SECOND) + blastFurnaceTemp(963) // Cupronickel + } // 2Al2O3 + 0.5Na3AlF6 -> 4Al - BLAST_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Alumina, 10) - .input(dust, Cryolite, 5) - .output(ingot, Aluminium, 4) - .EUt(VA[MV]) - .duration(80 * SECOND) - .blastFurnaceTemp(963) // Cupronickel - .buildAndRegister() + BLAST_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Alumina, 10) + input(dust, Cryolite, 5) + output(ingot, Aluminium, 4) + EUt(VA[MV]) + duration(80 * SECOND) + blastFurnaceTemp(963) // Cupronickel + } // 2Al2O3 + 3C -> 4Al + 3CO2 - BLAST_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Alumina, 10) - .input(dust, Carbon, 3) - .output(ingot, Aluminium, 4) - .fluidOutputs(CarbonDioxide.getFluid(3000)) - .EUt(VA[MV]) - .duration(1 * MINUTE) - .blastFurnaceTemp(2054) // Kanthal - .buildAndRegister() + BLAST_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Alumina, 10) + input(dust, Carbon, 3) + output(ingot, Aluminium, 4) + fluidOutputs(CarbonDioxide.getFluid(3000)) + EUt(VA[MV]) + duration(1 * MINUTE) + blastFurnaceTemp(2054) // Kanthal + } } private fun saltElectrolysisProcess() { // NaOH + HClO -> NaClO + H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(HypochlorousAcid.getFluid(1000)) - .output(dust, SodiumHypochlorite, 3) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, SodiumHydroxide, 3) + fluidInputs(HypochlorousAcid.getFluid(1000)) + output(dust, SodiumHypochlorite, 3) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // NaOH + HCl -> NaClO + 2H - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .output(dust, SodiumHypochlorite, 3) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, SodiumHydroxide, 3) + fluidInputs(HydrochloricAcid.getFluid(1000)) + output(dust, SodiumHypochlorite, 3) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // 2NaOH + 2Cl -> NaClO + NaCl + H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, SodiumHydroxide, 6) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, SodiumHypochlorite, 3) - .output(dust, Salt, 2) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + input(dust, SodiumHydroxide, 6) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, SodiumHypochlorite, 3) + output(dust, Salt, 2) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // Modified Salt (NaCl) electrolysis recipes. - GTRecipeHandler.removeRecipesByInputs(ELECTROLYZER_RECIPES, - OreDictUnifier.get(dust, Salt, 2)) // Safety delete, we ensure it is disabled decomposition but cannot check other mod if these recipe be re-added. - - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Salt, 2) - .output(dust, Sodium) - .fluidOutputs(Chlorine.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 16 * TICK) - .buildAndRegister() + ELECTROLYZER_RECIPES.removeRecipe(OreDictUnifier.get(dust, Salt, 2)) // Safety delete, we ensure it is disabled decomposition but cannot check other mod if these recipe be re-added. + + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Salt, 2) + output(dust, Sodium) + fluidOutputs(Chlorine.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND + 16 * TICK) + } // NaCl + 3H2O -> NaClO3 + 6H - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Salt, 2) - .fluidInputs(Water.getFluid(3000)) - .output(dust, SodiumChlorate, 5) - .fluidOutputs(Hydrogen.getFluid(6000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Salt, 2) + fluidInputs(Water.getFluid(3000)) + output(dust, SodiumChlorate, 5) + fluidOutputs(Hydrogen.getFluid(6000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // Dehydration decompose of NaClO3 -> NaCl + 3O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, SodiumChlorate, 5) - .output(dust, Salt, 2) - .fluidOutputs(Oxygen.getFluid(3000)) - .EUt(VHA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, SodiumChlorate, 5) + output(dust, Salt, 2) + fluidOutputs(Oxygen.getFluid(3000)) + EUt(VHA[MV]) + duration(5 * SECOND) + } // Common decompose of NaClO3. - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, SodiumChlorate, 5) - .output(dust, Sodium) - .fluidOutputs(Chlorine.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(3000)) - .EUt(VHA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, SodiumChlorate, 5) + output(dust, Sodium) + fluidOutputs(Chlorine.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(3000)) + EUt(VHA[MV]) + duration(5 * SECOND) + } // NaClO3 + H2O -> NaClO4 + 2H - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, SodiumChlorate, 5) - .fluidInputs(Water.getFluid(1000)) - .output(dust, SodiumPerchlorate, 6) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() - + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, SodiumChlorate, 5) + fluidInputs(Water.getFluid(1000)) + output(dust, SodiumPerchlorate, 6) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[MV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/BedrockiumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/BedrockiumProcessing.kt index f72ccd5bb..df61e428a 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/BedrockiumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/BedrockiumProcessing.kt @@ -45,6 +45,7 @@ import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_PLANT_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.DRILLING_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.NAQUADAH_REACTOR_FUELS @@ -108,466 +109,465 @@ internal object BedrockiumProcessing // Advanced recipes for Taranium Fuels. // Light Taranium Fuel. - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Taranium) - .input(dust, Gallium) - .fluidInputs(LightNaquadahFuel.getFluid(12000)) - .fluidInputs(Krypton.getFluid(6000)) - .fluidOutputs(LightTaraniumFuel.getFluid(12000)) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .buildAndRegister() - - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Adamantium) - .input(dust, IndiumGalliumPhosphide) - .fluidInputs(LightNaquadahFuel.getFluid(24000)) - .fluidInputs(Krypton.getPlasma(8000)) - .fluidOutputs(LightTaraniumFuel.getFluid(24000)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Taranium) + input(dust, Gallium) + fluidInputs(LightNaquadahFuel.getFluid(12000)) + fluidInputs(Krypton.getFluid(6000)) + fluidOutputs(LightTaraniumFuel.getFluid(12000)) + EUt(VA[UHV]) + duration(20 * SECOND) + } + + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Adamantium) + input(dust, IndiumGalliumPhosphide) + fluidInputs(LightNaquadahFuel.getFluid(24000)) + fluidInputs(Krypton.getPlasma(8000)) + fluidOutputs(LightTaraniumFuel.getFluid(24000)) + EUt(VA[UEV]) + duration(10 * SECOND) + } // Medium Taranium Fuel - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Taranium) - .input(dust, Duranium) - .fluidInputs(MediumNaquadahFuel.getFluid(12000)) - .fluidInputs(Xenon.getFluid(6000)) - .fluidOutputs(MediumTaraniumFuel.getFluid(12000)) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .buildAndRegister() - - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Adamantium) - .input(dust, Europium) - .fluidInputs(MediumNaquadahFuel.getFluid(24000)) - .fluidInputs(Xenon.getPlasma(8000)) - .fluidOutputs(MediumTaraniumFuel.getFluid(24000)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Taranium) + input(dust, Duranium) + fluidInputs(MediumNaquadahFuel.getFluid(12000)) + fluidInputs(Xenon.getFluid(6000)) + fluidOutputs(MediumTaraniumFuel.getFluid(12000)) + EUt(VA[UHV]) + duration(20 * SECOND) + } + + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Adamantium) + input(dust, Europium) + fluidInputs(MediumNaquadahFuel.getFluid(24000)) + fluidInputs(Xenon.getPlasma(8000)) + fluidOutputs(MediumTaraniumFuel.getFluid(24000)) + EUt(VA[UEV]) + duration(10 * SECOND) + } // Heavy Taranium Fuel - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Taranium) - .input(dust, Tritanium) - .fluidInputs(HeavyNaquadahFuel.getFluid(12000)) - .fluidInputs(Radon.getFluid(6000)) - .fluidOutputs(HeavyTaraniumFuel.getFluid(12000)) - .EUt(VA[UHV]) - .duration(20 * SECOND) - .buildAndRegister() - - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Adamantium) - .input(dust, Neutronium) - .fluidInputs(HeavyNaquadahFuel.getFluid(24000)) - .fluidInputs(Radon.getPlasma(8000)) - .fluidOutputs(HeavyTaraniumFuel.getFluid(24000)) - .EUt(VA[UEV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Taranium) + input(dust, Tritanium) + fluidInputs(HeavyNaquadahFuel.getFluid(12000)) + fluidInputs(Radon.getFluid(6000)) + fluidOutputs(HeavyTaraniumFuel.getFluid(12000)) + EUt(VA[UHV]) + duration(20 * SECOND) + } + + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Adamantium) + input(dust, Neutronium) + fluidInputs(HeavyNaquadahFuel.getFluid(24000)) + fluidInputs(Radon.getPlasma(8000)) + fluidOutputs(HeavyTaraniumFuel.getFluid(24000)) + EUt(VA[UEV]) + duration(10 * SECOND) + } // Enriched Light Taranium Fuel - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Americium) - .fluidInputs(LightTaraniumFuel.getFluid(6000)) - .fluidInputs(NaquadriaEnergetic.getFluid(1000)) - .fluidOutputs(LightEnrichedTaraniumFuel.getFluid(6000)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Americium) + fluidInputs(LightTaraniumFuel.getFluid(6000)) + fluidInputs(NaquadriaEnergetic.getFluid(1000)) + fluidOutputs(LightEnrichedTaraniumFuel.getFluid(6000)) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Enriched Medium Taranium Fuel - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Rutherfordium) - .fluidInputs(MediumTaraniumFuel.getFluid(6000)) - .fluidInputs(NaquadriaEnergetic.getFluid(1000)) - .fluidOutputs(MediumEnrichedTaraniumFuel.getFluid(6000)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Rutherfordium) + fluidInputs(MediumTaraniumFuel.getFluid(6000)) + fluidInputs(NaquadriaEnergetic.getFluid(1000)) + fluidOutputs(MediumEnrichedTaraniumFuel.getFluid(6000)) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Enriched Heavy Taranium Fuel - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Dubnium) - .fluidInputs(HeavyTaraniumFuel.getFluid(6000)) - .fluidInputs(NaquadriaEnergetic.getFluid(1000)) - .fluidOutputs(HeavyEnrichedTaraniumFuel.getFluid(6000)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Dubnium) + fluidInputs(HeavyTaraniumFuel.getFluid(6000)) + fluidInputs(NaquadriaEnergetic.getFluid(1000)) + fluidOutputs(HeavyEnrichedTaraniumFuel.getFluid(6000)) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Taranium fuels. - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(HeavyTaraniumFuel.getFluid(1)) - .EUt(V[EV] * 2) - .duration(18 * SECOND) - .buildAndRegister() - - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(MediumTaraniumFuel.getFluid(1)) - .EUt(V[EV] * 2) - .duration(12 * SECOND) - .buildAndRegister() - - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(LightTaraniumFuel.getFluid(1)) - .EUt(V[EV] * 2) - .duration(6 * SECOND) - .buildAndRegister() + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(HeavyTaraniumFuel.getFluid(1)) + EUt(V[EV] * 2) + duration(18 * SECOND) + } + + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(MediumTaraniumFuel.getFluid(1)) + EUt(V[EV] * 2) + duration(12 * SECOND) + } + + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(LightTaraniumFuel.getFluid(1)) + EUt(V[EV] * 2) + duration(6 * SECOND) + } // Enriched taranium fuels. - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(HeavyEnrichedTaraniumFuel.getFluid(1)) - .EUt(V[IV]) - .duration(36 * SECOND) - .buildAndRegister() - - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(MediumEnrichedTaraniumFuel.getFluid(1)) - .EUt(V[IV]) - .duration(24 * SECOND) - .buildAndRegister() - - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(LightEnrichedTaraniumFuel.getFluid(1)) - .EUt(V[IV]) - .duration(12 * SECOND) - .buildAndRegister() - + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(HeavyEnrichedTaraniumFuel.getFluid(1)) + EUt(V[IV]) + duration(36 * SECOND) + } + + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(MediumEnrichedTaraniumFuel.getFluid(1)) + EUt(V[IV]) + duration(24 * SECOND) + } + + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(LightEnrichedTaraniumFuel.getFluid(1)) + EUt(V[IV]) + duration(12 * SECOND) + } } private fun bedrockiumProcess() { // Drilling bedrock block to extract bedrockium dust and bedrock smoke // via a Bedrock Drilling Rig. - DRILLING_RECIPES.recipeBuilder() - .notConsumable(ItemStack(Blocks.BEDROCK, 1)) - .chancedOutput(dust, Bedrockium, 100, 0) - .fluidOutputs(BedrockSmoke.getFluid(1000)) - .EUt(VA[UV]) - .duration(5 * SECOND) - .buildAndRegister() + DRILLING_RECIPES.addRecipe { + notConsumable(ItemStack(Blocks.BEDROCK, 1)) + chancedOutput(dust, Bedrockium, 100, 0) + fluidOutputs(BedrockSmoke.getFluid(1000)) + EUt(VA[UV]) + duration(5 * SECOND) + } // Mixing bedrock smoke and some high energy dust to bedrock soot solution. - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Naquadah) - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(BedrockSmoke.getFluid(1000)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(BedrockSootSolution.getFluid(1000)) - .EUt(VH[EV]) - .duration(30 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Naquadah) - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(BedrockSmoke.getFluid(1000)) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(BedrockSootSolution.getFluid(1000)) - .EUt(VH[EV]) - .duration(30 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Naquadah) + input(dust, AmmoniumNitrate, 2) + fluidInputs(BedrockSmoke.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(BedrockSootSolution.getFluid(1000)) + EUt(VH[EV]) + duration(30 * SECOND) + } + + MIXER_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Naquadah) + input(dust, AmmoniumNitrate, 2) + fluidInputs(BedrockSmoke.getFluid(1000)) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(BedrockSootSolution.getFluid(1000)) + EUt(VH[EV]) + duration(30 * SECOND) + } // Centrifuging bedrock soot solution to get clean bedrock solution. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(BedrockSootSolution.getFluid(2000)) - .chancedOutput(dust, Platinum, 5, 1000, 0) - .chancedOutput(dust, Iridium, 3, 1000, 0) - .chancedOutput(dust, Rhenium, 2, 1000, 0) - .chancedOutput(dust, Naquadah, 1000, 0) - .fluidOutputs(CleanBedrockSootSolution.getFluid(1000)) - .EUt(VH[IV]) - .duration(30 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(BedrockSootSolution.getFluid(2000)) + chancedOutput(dust, Platinum, 5, 1000, 0) + chancedOutput(dust, Iridium, 3, 1000, 0) + chancedOutput(dust, Rhenium, 2, 1000, 0) + chancedOutput(dust, Naquadah, 1000, 0) + fluidOutputs(CleanBedrockSootSolution.getFluid(1000)) + EUt(VH[IV]) + duration(30 * SECOND) + } // Bedrock smoke fractionation. - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CleanBedrockSootSolution.getFluid(1000)) - .output(dust, Bedrockium, 3) - .fluidOutputs(HeavyBedrockSmoke.getFluid(440)) - .fluidOutputs(MediumBedrockSmoke.getFluid(320)) - .fluidOutputs(LightBedrockSmoke.getFluid(180)) - .fluidOutputs(UltralightBedrockSmoke.getFluid(150)) - .EUt(VA[IV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CleanBedrockSootSolution.getFluid(1000)) + output(dust, Bedrockium, 3) + fluidOutputs(HeavyBedrockSmoke.getFluid(440)) + fluidOutputs(MediumBedrockSmoke.getFluid(320)) + fluidOutputs(LightBedrockSmoke.getFluid(180)) + fluidOutputs(UltralightBedrockSmoke.getFluid(150)) + EUt(VA[IV]) + duration(4 * SECOND + 10 * TICK) + } // Centrifuging heavy bedrock smoke to heavy taranium gas. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(HeavyBedrockSmoke.getFluid(2000)) - .output(dust, Iridium) - .output(dust, Rhenium) - .output(dust, Bedrockium, 3) - .fluidOutputs(HeavyTaraniumGas.getFluid(1000)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(HeavyBedrockSmoke.getFluid(2000)) + output(dust, Iridium) + output(dust, Rhenium) + output(dust, Bedrockium, 3) + fluidOutputs(HeavyTaraniumGas.getFluid(1000)) + EUt(VA[LuV]) + duration(10 * SECOND) + } // Centrifuging medium bedrock smoke to medium taranium gas. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(MediumBedrockSmoke.getFluid(2000)) - .output(dust, Iridium) - .output(dust, Rhenium) - .output(dust, Bedrockium, 2) - .fluidOutputs(MediumTaraniumGas.getFluid(1000)) - .EUt(VA[LuV]) - .duration(7 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(MediumBedrockSmoke.getFluid(2000)) + output(dust, Iridium) + output(dust, Rhenium) + output(dust, Bedrockium, 2) + fluidOutputs(MediumTaraniumGas.getFluid(1000)) + EUt(VA[LuV]) + duration(7 * SECOND) + } // Centrifuging light bedrock smoke to light taranium gas. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(LightBedrockSmoke.getFluid(2000)) - .output(dust, Iridium) - .output(dust, Rhenium) - .output(dust, Bedrockium) - .fluidOutputs(LightTaraniumGas.getFluid(1000)) - .EUt(VA[LuV]) - .duration(4 * SECOND + 10 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(LightBedrockSmoke.getFluid(2000)) + output(dust, Iridium) + output(dust, Rhenium) + output(dust, Bedrockium) + fluidOutputs(LightTaraniumGas.getFluid(1000)) + EUt(VA[LuV]) + duration(4 * SECOND + 10 * TICK) + } // Centrifuging ultralight bedrock smoke to bedrock gas. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(UltralightBedrockSmoke.getFluid(2000)) - .output(dust, Iridium) - .output(dust, Rhenium) - .chancedOutput(dust, Bedrockium, 5000, 0) - .fluidOutputs(BedrockGas.getFluid(1000)) - .EUt(VA[LuV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(UltralightBedrockSmoke.getFluid(2000)) + output(dust, Iridium) + output(dust, Rhenium) + chancedOutput(dust, Bedrockium, 5000, 0) + fluidOutputs(BedrockGas.getFluid(1000)) + EUt(VA[LuV]) + duration(2 * SECOND + 10 * TICK) + } // Centrifuging bedrock gas can decompose it to He3 and bedrockium dust. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(BedrockGas.getFluid(1000)) - .output(dust, Bedrockium) - .fluidOutputs(Helium3.getFluid(20)) - .EUt(VH[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(BedrockGas.getFluid(1000)) + output(dust, Bedrockium) + fluidOutputs(Helium3.getFluid(20)) + EUt(VH[EV]) + duration(5 * SECOND) + } // Another usage of bedrock gas is make it as gas turbine fuels. - GAS_TURBINE_FUELS.recipeBuilder() - .fluidInputs(BedrockGas.getFluid(12)) - .EUt(VA[MV]) - .duration(24 * SECOND) - .buildAndRegister() + GAS_TURBINE_FUELS.addRecipe { + fluidInputs(BedrockGas.getFluid(12)) + EUt(VA[MV]) + duration(24 * SECOND) + } // Taranium gas cracks and fractions. - CRACKING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Fluorine.getFluid(6000)) - .fluidInputs(HeavyTaraniumGas.getFluid(1000)) - .fluidOutputs(CrackedHeavyTaraniumGas.getFluid(2000)) - .EUt(9216) // LuV - .duration(15 * SECOND) - .buildAndRegister() - - CRACKING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Fluorine.getFluid(4000)) - .fluidInputs(MediumTaraniumGas.getFluid(1000)) - .fluidOutputs(CrackedMediumTaraniumGas.getFluid(1600)) - .EUt(9216) // LuV - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() - - CRACKING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Fluorine.getFluid(2000)) - .fluidInputs(LightTaraniumGas.getFluid(1000)) - .fluidOutputs(CrackedLightTaraniumGas.getFluid(1200)) - .EUt(9216) // LuV - .duration(10 * SECOND) - .buildAndRegister() - - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CrackedHeavyTaraniumGas.getFluid(1000)) - .output(dust, Taranium) - .fluidOutputs(Fluorine.getFluid(250)) - .fluidOutputs(HeavyTaraniumFuel.getFluid(400)) - .fluidOutputs(MediumTaraniumFuel.getFluid(200)) - .fluidOutputs(LightTaraniumFuel.getFluid(100)) - .fluidOutputs(BedrockGas.getFluid(50)) - .EUt(V[LuV] / 2) // LuV - .duration(8 * SECOND) - .buildAndRegister() - - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CrackedMediumTaraniumGas.getFluid(1000)) - .output(dust, Taranium) - .fluidOutputs(Fluorine.getFluid(150)) - .fluidOutputs(HeavyTaraniumFuel.getFluid(100)) - .fluidOutputs(MediumTaraniumFuel.getFluid(400)) - .fluidOutputs(LightTaraniumFuel.getFluid(200)) - .fluidOutputs(BedrockGas.getFluid(150)) - .EUt(V[LuV] / 2) // LuV - .duration(7 * SECOND) - .buildAndRegister() - - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CrackedLightTaraniumGas.getFluid(1000)) - .output(dust, Taranium) - .fluidOutputs(Fluorine.getFluid(50)) - .fluidOutputs(HeavyTaraniumFuel.getFluid(50)) - .fluidOutputs(MediumTaraniumFuel.getFluid(150)) - .fluidOutputs(LightTaraniumFuel.getFluid(400)) - .fluidOutputs(BedrockGas.getFluid(350)) - .EUt(V[LuV] / 2) // LuV - .duration(6 * SECOND) - .buildAndRegister() + CRACKING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Fluorine.getFluid(6000)) + fluidInputs(HeavyTaraniumGas.getFluid(1000)) + fluidOutputs(CrackedHeavyTaraniumGas.getFluid(2000)) + EUt(9216) // LuV + duration(15 * SECOND) + } + + CRACKING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Fluorine.getFluid(4000)) + fluidInputs(MediumTaraniumGas.getFluid(1000)) + fluidOutputs(CrackedMediumTaraniumGas.getFluid(1600)) + EUt(9216) // LuV + duration(12 * SECOND + 10 * TICK) + } + + CRACKING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Fluorine.getFluid(2000)) + fluidInputs(LightTaraniumGas.getFluid(1000)) + fluidOutputs(CrackedLightTaraniumGas.getFluid(1200)) + EUt(9216) // LuV + duration(10 * SECOND) + } + + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CrackedHeavyTaraniumGas.getFluid(1000)) + output(dust, Taranium) + fluidOutputs(Fluorine.getFluid(250)) + fluidOutputs(HeavyTaraniumFuel.getFluid(400)) + fluidOutputs(MediumTaraniumFuel.getFluid(200)) + fluidOutputs(LightTaraniumFuel.getFluid(100)) + fluidOutputs(BedrockGas.getFluid(50)) + EUt(V[LuV] / 2) // LuV + duration(8 * SECOND) + } + + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CrackedMediumTaraniumGas.getFluid(1000)) + output(dust, Taranium) + fluidOutputs(Fluorine.getFluid(150)) + fluidOutputs(HeavyTaraniumFuel.getFluid(100)) + fluidOutputs(MediumTaraniumFuel.getFluid(400)) + fluidOutputs(LightTaraniumFuel.getFluid(200)) + fluidOutputs(BedrockGas.getFluid(150)) + EUt(V[LuV] / 2) // LuV + duration(7 * SECOND) + } + + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CrackedLightTaraniumGas.getFluid(1000)) + output(dust, Taranium) + fluidOutputs(Fluorine.getFluid(50)) + fluidOutputs(HeavyTaraniumFuel.getFluid(50)) + fluidOutputs(MediumTaraniumFuel.getFluid(150)) + fluidOutputs(LightTaraniumFuel.getFluid(400)) + fluidOutputs(BedrockGas.getFluid(350)) + EUt(V[LuV] / 2) // LuV + duration(6 * SECOND) + } } private fun enrichedBedrockiumProcess() { // Mixing bedrock gas from bedrockium process and some other materials to enriched bedrock soot solution. - MIXER_RECIPES.recipeBuilder() - .input(dust, NaquadahEnriched) - .fluidInputs(SulfuricAcid.getFluid(900)) - .fluidInputs(BedrockGas.getFluid(100)) - .fluidOutputs(EnrichedBedrockSootSolution.getFluid(1000)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + input(dust, NaquadahEnriched) + fluidInputs(SulfuricAcid.getFluid(900)) + fluidInputs(BedrockGas.getFluid(100)) + fluidOutputs(EnrichedBedrockSootSolution.getFluid(1000)) + EUt(VA[LuV]) + duration(10 * SECOND) + } // Centrifuging enriched bedrock soot solution to clean enriched bedrock solution. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(EnrichedBedrockSootSolution.getFluid(2000)) - .chancedOutput(dust, Platinum, 5, 1000, 0) - .chancedOutput(dust, Osmium, 3, 1000, 0) - .chancedOutput(dust, Rhenium, 2, 1000, 0) - .chancedOutput(dust, NaquadahEnriched, 1000, 0) - .fluidOutputs(CleanEnrichedBedrockSootSolution.getFluid(1000)) - .EUt(98304) // ZPM - .duration(15 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(EnrichedBedrockSootSolution.getFluid(2000)) + chancedOutput(dust, Platinum, 5, 1000, 0) + chancedOutput(dust, Osmium, 3, 1000, 0) + chancedOutput(dust, Rhenium, 2, 1000, 0) + chancedOutput(dust, NaquadahEnriched, 1000, 0) + fluidOutputs(CleanEnrichedBedrockSootSolution.getFluid(1000)) + EUt(98304) // ZPM + duration(15 * SECOND) + } // Clean enriched bedrock soot solution fraction. - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CleanEnrichedBedrockSootSolution.getFluid(1000)) - .output(dust, Bedrockium, 4) - .fluidOutputs(HeavyEnrichedBedrockSmoke.getFluid(440)) - .fluidOutputs(MediumEnrichedBedrockSmoke.getFluid(320)) - .fluidOutputs(LightEnrichedBedrockSmoke.getFluid(180)) - .fluidOutputs(UltralightBedrockSmoke.getFluid(150)) - .EUt(40960) // ZPM - .duration(7 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CleanEnrichedBedrockSootSolution.getFluid(1000)) + output(dust, Bedrockium, 4) + fluidOutputs(HeavyEnrichedBedrockSmoke.getFluid(440)) + fluidOutputs(MediumEnrichedBedrockSmoke.getFluid(320)) + fluidOutputs(LightEnrichedBedrockSmoke.getFluid(180)) + fluidOutputs(UltralightBedrockSmoke.getFluid(150)) + EUt(40960) // ZPM + duration(7 * SECOND) + } // Centrifuging heavy enriched bedrock smoke to heavy enriched taranium gas. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(HeavyEnrichedBedrockSmoke.getFluid(8000)) - .output(dust, Bedrockium, 5) - .output(dust, Naquadria, 1) - .output(dust, Iridium, 2) - .output(dust, Osmium, 3) - .fluidOutputs(HeavyEnrichedTaraniumGas.getFluid(4000)) - .EUt(VA[ZPM]) - .duration(1 * MINUTE) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(HeavyEnrichedBedrockSmoke.getFluid(8000)) + output(dust, Bedrockium, 5) + output(dust, Naquadria, 1) + output(dust, Iridium, 2) + output(dust, Osmium, 3) + fluidOutputs(HeavyEnrichedTaraniumGas.getFluid(4000)) + EUt(VA[ZPM]) + duration(1 * MINUTE) + } // Centrifuging medium enriched bedrock smoke to medium enriched taranium gas. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(MediumEnrichedBedrockSmoke.getFluid(8000)) - .output(dust, Bedrockium, 4) - .output(dust, Naquadria, 1) - .output(dust, Iridium, 2) - .output(dust, Osmium, 3) - .fluidOutputs(MediumEnrichedTaraniumGas.getFluid(4000)) - .EUt(VA[ZPM]) - .duration(48 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(MediumEnrichedBedrockSmoke.getFluid(8000)) + output(dust, Bedrockium, 4) + output(dust, Naquadria, 1) + output(dust, Iridium, 2) + output(dust, Osmium, 3) + fluidOutputs(MediumEnrichedTaraniumGas.getFluid(4000)) + EUt(VA[ZPM]) + duration(48 * SECOND) + } // Centrifuging light enriched bedrock smoke to light enriched taranium gas. - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(LightEnrichedBedrockSmoke.getFluid(8000)) - .output(dust, Bedrockium, 3) - .output(dust, Naquadria, 1) - .output(dust, Iridium, 2) - .output(dust, Osmium, 3) - .fluidOutputs(LightEnrichedTaraniumGas.getFluid(4000)) - .EUt(VA[ZPM]) - .duration(30 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(LightEnrichedBedrockSmoke.getFluid(8000)) + output(dust, Bedrockium, 3) + output(dust, Naquadria, 1) + output(dust, Iridium, 2) + output(dust, Osmium, 3) + fluidOutputs(LightEnrichedTaraniumGas.getFluid(4000)) + EUt(VA[ZPM]) + duration(30 * SECOND) + } // Enriched taranium gas cracks and fractions. - CRACKING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Radon.getFluid(6000)) - .fluidInputs(HeavyEnrichedTaraniumGas.getFluid(1000)) - .fluidOutputs(CrackedHeavyEnrichedTaraniumGas.getFluid(2000)) - .EUt(49152) // ZPM - .duration(15 * SECOND) - .buildAndRegister() - - CRACKING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Radon.getFluid(4000)) - .fluidInputs(MediumEnrichedTaraniumGas.getFluid(1000)) - .fluidOutputs(CrackedMediumEnrichedTaraniumGas.getFluid(1600)) - .EUt(49152) // ZPM - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() - - CRACKING_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Radon.getFluid(2000)) - .fluidInputs(LightEnrichedTaraniumGas.getFluid(1000)) - .fluidOutputs(CrackedLightEnrichedTaraniumGas.getFluid(1200)) - .EUt(49152) // ZPM - .duration(10 * SECOND) - .buildAndRegister() - - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CrackedHeavyEnrichedTaraniumGas.getFluid(1000)) - .output(dust, Taranium, 2) - .fluidOutputs(Radon.getFluid(250)) - .fluidOutputs(HeavyEnrichedTaraniumFuel.getFluid(400)) - .fluidOutputs(MediumEnrichedTaraniumFuel.getFluid(200)) - .fluidOutputs(LightEnrichedTaraniumFuel.getFluid(100)) - .fluidOutputs(BedrockGas.getFluid(50)) - .EUt(98304) // ZPM - .duration(8 * SECOND) - .buildAndRegister() - - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CrackedMediumEnrichedTaraniumGas.getFluid(1000)) - .output(dust, Taranium, 2) - .fluidOutputs(Radon.getFluid(150)) - .fluidOutputs(HeavyEnrichedTaraniumFuel.getFluid(100)) - .fluidOutputs(MediumEnrichedTaraniumFuel.getFluid(400)) - .fluidOutputs(LightEnrichedTaraniumFuel.getFluid(200)) - .fluidOutputs(BedrockGas.getFluid(150)) - .EUt(98304) // ZPM - .duration(7 * SECOND) - .buildAndRegister() - - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CrackedLightEnrichedTaraniumGas.getFluid(1000)) - .output(dust, Taranium, 2) - .fluidOutputs(Radon.getFluid(50)) - .fluidOutputs(HeavyEnrichedTaraniumFuel.getFluid(50)) - .fluidOutputs(MediumEnrichedTaraniumFuel.getFluid(150)) - .fluidOutputs(LightEnrichedTaraniumFuel.getFluid(400)) - .fluidOutputs(BedrockGas.getFluid(350)) - .EUt(98304) // ZPM - .duration(6 * SECOND) - .buildAndRegister() + CRACKING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Radon.getFluid(6000)) + fluidInputs(HeavyEnrichedTaraniumGas.getFluid(1000)) + fluidOutputs(CrackedHeavyEnrichedTaraniumGas.getFluid(2000)) + EUt(49152) // ZPM + duration(15 * SECOND) + } + + CRACKING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Radon.getFluid(4000)) + fluidInputs(MediumEnrichedTaraniumGas.getFluid(1000)) + fluidOutputs(CrackedMediumEnrichedTaraniumGas.getFluid(1600)) + EUt(49152) // ZPM + duration(12 * SECOND + 10 * TICK) + } + + CRACKING_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Radon.getFluid(2000)) + fluidInputs(LightEnrichedTaraniumGas.getFluid(1000)) + fluidOutputs(CrackedLightEnrichedTaraniumGas.getFluid(1200)) + EUt(49152) // ZPM + duration(10 * SECOND) + } + + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CrackedHeavyEnrichedTaraniumGas.getFluid(1000)) + output(dust, Taranium, 2) + fluidOutputs(Radon.getFluid(250)) + fluidOutputs(HeavyEnrichedTaraniumFuel.getFluid(400)) + fluidOutputs(MediumEnrichedTaraniumFuel.getFluid(200)) + fluidOutputs(LightEnrichedTaraniumFuel.getFluid(100)) + fluidOutputs(BedrockGas.getFluid(50)) + EUt(98304) // ZPM + duration(8 * SECOND) + } + + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CrackedMediumEnrichedTaraniumGas.getFluid(1000)) + output(dust, Taranium, 2) + fluidOutputs(Radon.getFluid(150)) + fluidOutputs(HeavyEnrichedTaraniumFuel.getFluid(100)) + fluidOutputs(MediumEnrichedTaraniumFuel.getFluid(400)) + fluidOutputs(LightEnrichedTaraniumFuel.getFluid(200)) + fluidOutputs(BedrockGas.getFluid(150)) + EUt(98304) // ZPM + duration(7 * SECOND) + } + + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CrackedLightEnrichedTaraniumGas.getFluid(1000)) + output(dust, Taranium, 2) + fluidOutputs(Radon.getFluid(50)) + fluidOutputs(HeavyEnrichedTaraniumFuel.getFluid(50)) + fluidOutputs(MediumEnrichedTaraniumFuel.getFluid(150)) + fluidOutputs(LightEnrichedTaraniumFuel.getFluid(400)) + fluidOutputs(BedrockGas.getFluid(350)) + EUt(98304) // ZPM + duration(6 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/CaesiumRubidiumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/CaesiumRubidiumProcessing.kt index 90264a070..534f6c173 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/CaesiumRubidiumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/CaesiumRubidiumProcessing.kt @@ -17,6 +17,7 @@ import gregtech.api.unification.material.Materials.Tin import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.EUt import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CRYOGENIC_REACTOR_RECIPES @@ -46,68 +47,67 @@ internal object CaesiumRubidiumProcessing // player can extract caesium and other part of components by this processing. // Cs2Al2Si4(H2O)2O12 + 3HCl -> (RbCl)(CsCl)2(H2O)2 + 0.25Al2O3 + 1.6SiO2 + O (lost) - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Pollucite, 11) - .fluidInputs(HydrochloricAcid.getFluid(3000)) - .output(dust, Alumina) - .output(dust, SiliconDioxide, 4) - .fluidOutputs(HeavyAlkaliChloridesSolution.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Pollucite, 11) + fluidInputs(HydrochloricAcid.getFluid(3000)) + output(dust, Alumina) + output(dust, SiliconDioxide, 4) + fluidOutputs(HeavyAlkaliChloridesSolution.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // 2(RbCl)(CsCl)2(H2O)2 + 3SnCl4 -> Rb2SnCl6 + 2Cs2SnCl6 + 4H2O - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, TinTetrachloride, 15) - .fluidInputs(HeavyAlkaliChloridesSolution.getFluid(2000)) - .output(dust, RubidiumHexachlorotinate, 9) - .output(dust, CaesiumHexachlorotinate, 18) - .fluidOutputs(Ice.getFluid(4000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, TinTetrachloride, 15) + fluidInputs(HeavyAlkaliChloridesSolution.getFluid(2000)) + output(dust, RubidiumHexachlorotinate, 9) + output(dust, CaesiumHexachlorotinate, 18) + fluidOutputs(Ice.getFluid(4000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // SnCl2 and SnCl4 recipes and convert recipes. // Sn + 2Cl -> SnCl2 - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Tin) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, TinDichloride, 3) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Tin) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, TinDichloride, 3) + EUt(VA[LV]) + duration(5 * SECOND) + } // Sn + 4Cl -> SnCl4 - BURNER_REACTOR_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(dust, Tin) - .fluidInputs(Chlorine.getFluid(4000)) - .output(dust, TinTetrachloride, 5) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + circuitMeta(4) + input(dust, Tin) + fluidInputs(Chlorine.getFluid(4000)) + output(dust, TinTetrachloride, 5) + EUt(VA[MV]) + duration(5 * SECOND) + } // SnCl2 + 2Cl -> SnCl4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, TinDichloride, 3) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, TinTetrachloride, 5) - .EUt(VA[HV]) - .duration(15 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, TinDichloride, 3) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, TinTetrachloride, 5) + EUt(VA[HV]) + duration(15 * TICK) + } // SnCl4 + 2H -> SnCl2 + 2HCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, TinTetrachloride, 5) - .fluidInputs(Hydrogen.getFluid(2000)) - .output(dust, TinDichloride, 3) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(15 * TICK) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + input(dust, TinTetrachloride, 5) + fluidInputs(Hydrogen.getFluid(2000)) + output(dust, TinDichloride, 3) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(15 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/GermaniumZincProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/GermaniumZincProcessing.kt index a5bc4305b..066e6f4f0 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/GermaniumZincProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/GermaniumZincProcessing.kt @@ -23,6 +23,7 @@ import gregtech.api.unification.material.Materials.Zincite import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.GermaniumDioxide @@ -49,79 +50,78 @@ internal object GermaniumZincProcessing // Waelz processing of sphalerite. // ZnS + 5O -> (GeO2)? + ZnO + SO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Sphalerite, 2) - .fluidInputs(Oxygen.getFluid(5000)) - .output(dust, RoastedSphalerite, 4) - .output(dust, Zincite, 2) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Sphalerite, 2) + fluidInputs(Oxygen.getFluid(5000)) + output(dust, RoastedSphalerite, 4) + output(dust, Zincite, 2) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // (GeO2)? + 2Zn -> Zn2(GaGeO2) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, RoastedSphalerite, 4) - .input(dust, Zinc, 2) - .output(dust, ZincRichSphalerite, 6) - .EUt(VA[LV]) - .duration(16 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, RoastedSphalerite, 4) + input(dust, Zinc, 2) + output(dust, ZincRichSphalerite, 6) + EUt(VA[LV]) + duration(16 * SECOND) + } // Zn2(GaGeO2) + H2SO4 -> (GeO2)Zn + (ZnSO4)Ga + 2H (lost) - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, ZincRichSphalerite, 6) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .output(dust, WaelzOxide, 4) - .output(dust, WaelzSlag, 7) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, ZincRichSphalerite, 6) + fluidInputs(SulfuricAcid.getFluid(1000)) + output(dust, WaelzOxide, 4) + output(dust, WaelzSlag, 7) + EUt(VA[EV]) + duration(10 * SECOND) + } // (GeO2)Zn + H2SO4 -> GeO2 + (ZnSO4)Ga + 2H (lost) + (Cd) - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, WaelzOxide, 4) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .output(dust, GermaniumDioxide, 3) - .output(dust, WaelzSlag, 7) - .chancedOutput(dust, Cadmium, 500, 1000) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, WaelzOxide, 4) + fluidInputs(SulfuricAcid.getFluid(1000)) + output(dust, GermaniumDioxide, 3) + output(dust, WaelzSlag, 7) + chancedOutput(dust, Cadmium, 500, 1000) + EUt(VA[HV]) + duration(10 * SECOND) + } // GeO2 + 4H -> Ge + 2H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, GermaniumDioxide, 3) - .fluidInputs(Hydrogen.getFluid(4000)) - .output(dust, Germanium) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[EV]) - .duration(12 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, GermaniumDioxide, 3) + fluidInputs(Hydrogen.getFluid(4000)) + output(dust, Germanium) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[EV]) + duration(12 * SECOND) + } // GeO2 + C -> Ge + CO2 - ROASTER_RECIPES.recipeBuilder() - .input(dust, GermaniumDioxide, 3) - .input(dust, Carbon) - .output(dust, Germanium) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[EV]) - .duration(36 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, GermaniumDioxide, 3) + input(dust, Carbon) + output(dust, Germanium) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[EV]) + duration(36 * SECOND) + } // (ZnSO4)Ga + H2O -> ZnO + H2SO4 (cycle) + (Ga) - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, WaelzSlag, 7) - .fluidInputs(Water.getFluid(1000)) - .output(dust, Zincite, 2) - .chancedOutput(dust, Gallium, 2000, 1000) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .EUt(VA[HV]) - .duration(8 * SECOND) - .buildAndRegister() - + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, WaelzSlag, 7) + fluidInputs(Water.getFluid(1000)) + output(dust, Zincite, 2) + chancedOutput(dust, Gallium, 2000, 1000) + fluidOutputs(SulfuricAcid.getFluid(1000)) + EUt(VA[HV]) + duration(8 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/IodineBromineProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/IodineBromineProcessing.kt index 06b79516b..6ca514768 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/IodineBromineProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/IodineBromineProcessing.kt @@ -17,6 +17,7 @@ import gregtech.api.unification.ore.OrePrefix.dustSmall import gregtech.api.unification.ore.OrePrefix.dustTiny import gregtech.api.unification.ore.OrePrefix.nugget import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.EUt import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES @@ -31,36 +32,35 @@ internal object IodineBromineProcessing fun init() { // Dehydring Sea Water to Salt Water. - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .fluidInputs(SeaWater.getFluid(1000)) - .chancedOutput(dust, Salt, 1000, 500) - .fluidOutputs(SaltWater.getFluid(1000)) - .EUt(VA[LV]) - .duration(1 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + fluidInputs(SeaWater.getFluid(1000)) + chancedOutput(dust, Salt, 1000, 500) + fluidOutputs(SaltWater.getFluid(1000)) + EUt(VA[LV]) + duration(1 * SECOND) + } // Acidification of salt water. - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(SaltWater.getFluid(1000)) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(AcidicSaltWater.getFluid(2000)) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(SaltWater.getFluid(1000)) + fluidInputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(AcidicSaltWater.getFluid(2000)) + EUt(VA[LV]) + duration(2 * SECOND) + } // Sifting it to get Bromine and Iodine. - SIFTER_RECIPES.recipeBuilder() - .fluidInputs(AcidicSaltWater.getFluid(1000)) - .output(dust, Iodine) - .chancedOutput(dustSmall, Calcium, 1000, 200) - .chancedOutput(dustTiny, Sodium, 500, 50) - .chancedOutput(nugget, Iron, 250, 25) - .fluidOutputs(Bromine.getFluid(250)) - .fluidOutputs(SulfuricAcid.getFluid(500)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() - + SIFTER_RECIPES.addRecipe { + fluidInputs(AcidicSaltWater.getFluid(1000)) + output(dust, Iodine) + chancedOutput(dustSmall, Calcium, 1000, 200) + chancedOutput(dustTiny, Sodium, 500, 50) + chancedOutput(nugget, Iron, 250, 25) + fluidOutputs(Bromine.getFluid(250)) + fluidOutputs(SulfuricAcid.getFluid(500)) + EUt(VA[MV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/MolybdenumRheniumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/MolybdenumRheniumProcessing.kt index 8b1654b87..2789b86cb 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/MolybdenumRheniumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/MolybdenumRheniumProcessing.kt @@ -35,6 +35,7 @@ import gregtech.api.unification.material.Materials.Wulfenite import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AmmoniumPerrhenate import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LeadDichloride @@ -69,116 +70,115 @@ internal object MolybdenumRheniumProcessing private fun molybdenumProcess() { // MoS2 + 9O -> MoO3 + 2SO2 + ReO2 - ROASTER_RECIPES.recipeBuilder() - .input(dust, Molybdenite, 3) - .fluidInputs(Oxygen.getFluid(9000)) - .output(dust, MolybdenumTrioxide, 4) - .fluidOutputs(SulfurDioxide.getFluid(2000)) - .fluidOutputs(MolybdenumFlue.getFluid(1000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Molybdenite, 3) + fluidInputs(Oxygen.getFluid(9000)) + output(dust, MolybdenumTrioxide, 4) + fluidOutputs(SulfurDioxide.getFluid(2000)) + fluidOutputs(MolybdenumFlue.getFluid(1000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // MoO3 + 6H -> Mo + 3H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, MolybdenumTrioxide, 4) - .fluidInputs(Hydrogen.getFluid(6000)) - .output(dust, Molybdenum) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, MolybdenumTrioxide, 4) + fluidInputs(Hydrogen.getFluid(6000)) + output(dust, Molybdenum) + fluidOutputs(Water.getFluid(3000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // CaMoO4 + 2HCl -> MoO3 + CaCl2 + H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Powellite, 6) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, MolybdenumTrioxide, 4) - .output(dust, CalciumChloride, 3) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Powellite, 6) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, MolybdenumTrioxide, 4) + output(dust, CalciumChloride, 3) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // PbMoO4 + 2HCl -> MoO3 + H2O + PbCl2 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Wulfenite, 6) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, MolybdenumTrioxide, 4) - .output(dust, LeadDichloride, 3) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Wulfenite, 6) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, MolybdenumTrioxide, 4) + output(dust, LeadDichloride, 3) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // Another recipes for PbCl2. // Pb + 2Cl -> PbCl2 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Lead) - .fluidInputs(Chlorine.getFluid(2000)) - .output(dust, LeadDichloride, 3) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Lead) + fluidInputs(Chlorine.getFluid(2000)) + output(dust, LeadDichloride, 3) + EUt(VA[LV]) + duration(4 * SECOND) + } // PbO + 2HCl -> PbCl2 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Massicot, 2) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, LeadDichloride, 3) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Massicot, 2) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, LeadDichloride, 3) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND) + } } private fun rheniumProcess() { // ReO2? -> MoO3 + ReO2 - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(MolybdenumFlue.getFluid(1000)) - .output(dust, MolybdenumTrioxide) - .fluidOutputs(TraceRheniumFlue.getFluid(500)) - .EUt(VH[MV]) - .duration(10 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(MolybdenumFlue.getFluid(1000)) + output(dust, MolybdenumTrioxide) + fluidOutputs(TraceRheniumFlue.getFluid(500)) + EUt(VH[MV]) + duration(10 * SECOND) + } // ReO2 + Na2CO3 + NaOH + 3Cl -> HReO4 + 3NaCl + CO2 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodaAsh, 6) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(TraceRheniumFlue.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(3000)) - .output(dust, PerrhenicAcid, 6) - .output(dust, Salt, 6) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[IV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodaAsh, 6) + input(dust, SodiumHydroxide, 3) + fluidInputs(TraceRheniumFlue.getFluid(1000)) + fluidInputs(Chlorine.getFluid(3000)) + output(dust, PerrhenicAcid, 6) + output(dust, Salt, 6) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[IV]) + duration(5 * SECOND) + } // HReO4 + NH3 -> NH4ReO4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PerrhenicAcid, 6) - .fluidInputs(Ammonia.getFluid(1000)) - .output(dust, AmmoniumPerrhenate, 10) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PerrhenicAcid, 6) + fluidInputs(Ammonia.getFluid(1000)) + output(dust, AmmoniumPerrhenate, 10) + EUt(VA[EV]) + duration(5 * SECOND) + } // NH4ReO4 + H2S + Cl -> Re + NH4Cl + H2SO4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, AmmoniumPerrhenate, 10) - .fluidInputs(HydrogenSulfide.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(1000)) - .output(dust, Rhenium, 1) - .output(dust, AmmoniumChloride, 2) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + input(dust, AmmoniumPerrhenate, 10) + fluidInputs(HydrogenSulfide.getFluid(1000)) + fluidInputs(Chlorine.getFluid(1000)) + output(dust, Rhenium, 1) + output(dust, AmmoniumChloride, 2) + fluidOutputs(SulfuricAcid.getFluid(1000)) + EUt(VA[EV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/NaquadahProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/NaquadahProcessing.kt index 460c3680e..17e79a88f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/NaquadahProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/NaquadahProcessing.kt @@ -11,7 +11,8 @@ import gregtech.api.GTValues.UV import gregtech.api.GTValues.V import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.recipes.RecipeMaps.AUTOCLAVE_RECIPES import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES @@ -122,451 +123,450 @@ internal object NaquadahProcessing private fun removeVanillaRecipes() { // Remove Nq + H2SbF7 -> TiF3 + Impurified Nq+/Nq* Solutions. - GTRecipeHandler.removeRecipesByInputs(LARGE_CHEMICAL_RECIPES, + LARGE_CHEMICAL_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Naquadah, 6)), arrayOf(FluoroantimonicAcid.getFluid(1000))) // Remove Impurified Nq+ Solution -> Nq+ Solution Centrifuging. - GTRecipeHandler.removeRecipesByInputs(CENTRIFUGE_RECIPES, ImpureEnrichedNaquadahSolution.getFluid(2000)) + CENTRIFUGE_RECIPES.removeRecipe(ImpureEnrichedNaquadahSolution.getFluid(2000)) // Remove Impurified Nq* Solution -> Nq* Solution Centrifuging. - GTRecipeHandler.removeRecipesByInputs(CENTRIFUGE_RECIPES, ImpureNaquadriaSolution.getFluid(2000)) + CENTRIFUGE_RECIPES.removeRecipe(ImpureNaquadriaSolution.getFluid(2000)) // Remove Nq+ Solution -> Acidic Nq+ Solution Mixing. GTLiteRecipeHandler.removeMixerRecipes( arrayOf(EnrichedNaquadahSolution.getFluid(1000), - SulfuricAcid.getFluid(2000))) + SulfuricAcid.getFluid(2000))) // Remove Nq* Solution -> Acidic Nq* Solution Mixing. GTLiteRecipeHandler.removeMixerRecipes( arrayOf(NaquadriaSolution.getFluid(1000), - SulfuricAcid.getFluid(2000))) + SulfuricAcid.getFluid(2000))) // Remove Acidic Nq+ Solution -> Nq+SO4 Centrifuging. - GTRecipeHandler.removeRecipesByInputs(CENTRIFUGE_RECIPES, + CENTRIFUGE_RECIPES.removeRecipe( AcidicEnrichedNaquadahSolution.getFluid(3000)) // Remove Acidic Nq* Solution -> Nq*SO4 Centrifuging. - GTRecipeHandler.removeRecipesByInputs(CENTRIFUGE_RECIPES, + CENTRIFUGE_RECIPES.removeRecipe( AcidicNaquadriaSolution.getFluid(3000)) // Remove Nq+ Waste distillation recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(EnrichedNaquadahWaste.getFluid(200))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(EnrichedNaquadahWaste.getFluid(200))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(EnrichedNaquadahWaste.getFluid(400))) - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( EnrichedNaquadahWaste.getFluid(2000)) // Remove Nq* Waste distillation recipes. - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(NaquadriaWaste.getFluid(200))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(NaquadriaWaste.getFluid(200))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(3)), arrayOf(NaquadriaWaste.getFluid(400))) - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( NaquadriaWaste.getFluid(2000)) - } private fun naquadahProcess() { // Nq + H2SbF7 -> TiF3 + Low Purity Nq+/Nq* Emulsion - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, Naquadah, 6) - .fluidInputs(FluoroantimonicAcid.getFluid(1000)) - .output(dust, TitaniumTrifluoride, 4) - .fluidOutputs(LowPurityEnrichedNaquadahEmulsion.getFluid(1000)) - .fluidOutputs(LowPurityNaquadriaEmulsion.getFluid(1000)) - .EUt(VA[LuV]) - .duration(20 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, Naquadah, 6) + fluidInputs(FluoroantimonicAcid.getFluid(1000)) + output(dust, TitaniumTrifluoride, 4) + fluidOutputs(LowPurityEnrichedNaquadahEmulsion.getFluid(1000)) + fluidOutputs(LowPurityNaquadriaEmulsion.getFluid(1000)) + EUt(VA[LuV]) + duration(20 * SECOND) + } } private fun naquadahEnrichedProcess() { // NaOH + Low Purity Nq+ Emulsion -> Ba(OH)2 + SbF3 + Impure Enriched Nq+ Solution - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumHydroxide, 3) - .fluidInputs(LowPurityEnrichedNaquadahEmulsion.getFluid(2000)) - .output(dust, BariumHydroxide, 5) - .output(dust, AntimonyTrifluoride, 2) - .fluidOutputs(ImpureEnrichedNaquadahSolution.getFluid(1000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumHydroxide, 3) + fluidInputs(LowPurityEnrichedNaquadahEmulsion.getFluid(2000)) + output(dust, BariumHydroxide, 5) + output(dust, AntimonyTrifluoride, 2) + fluidOutputs(ImpureEnrichedNaquadahSolution.getFluid(1000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // Ba(OH)2 -> BaO + H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, BariumHydroxide, 5) - .output(dust, BariumOxide, 2) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[MV]) - .duration(1 * SECOND + 12 * TICK) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, BariumHydroxide, 5) + output(dust, BariumOxide, 2) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[MV]) + duration(1 * SECOND + 12 * TICK) + } // Impure Nq+ Solution -> (Tc2O7) + Nq+ Solution + Nq+ Waste - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(ImpureEnrichedNaquadahSolution.getFluid(2000)) - .chancedOutput(dust, TechnetiumHeptaoxide, 3, 2000, 500) - .fluidOutputs(EnrichedNaquadahSolution.getFluid(1000)) - .fluidOutputs(EnrichedNaquadahWaste.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(ImpureEnrichedNaquadahSolution.getFluid(2000)) + chancedOutput(dust, TechnetiumHeptaoxide, 3, 2000, 500) + fluidOutputs(EnrichedNaquadahSolution.getFluid(1000)) + fluidOutputs(EnrichedNaquadahWaste.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // Nq+ Solution + 2H2SO4 -> Ke2O3 + Acidic Nq+ Solution - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(EnrichedNaquadahSolution.getFluid(1000)) - .fluidInputs(SulfuricAcid.getFluid(2000)) - .output(dust, TriniumTrioxide, 5) - .fluidOutputs(AcidicEnrichedNaquadahSolution.getFluid(1000)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(EnrichedNaquadahSolution.getFluid(1000)) + fluidInputs(SulfuricAcid.getFluid(2000)) + output(dust, TriniumTrioxide, 5) + fluidOutputs(AcidicEnrichedNaquadahSolution.getFluid(1000)) + EUt(VA[LuV]) + duration(10 * SECOND) + } // Ke2O3 + 2H2S -> 2KeS + 2H2O + O (drop) - ROASTER_RECIPES.recipeBuilder() - .input(dust, TriniumTrioxide, 5) - .fluidInputs(HydrogenSulfide.getFluid(2000)) - .output(dust, TriniumSulfide, 2) - .fluidOutputs(Steam.getFluid(2 * SU)) - .EUt(VA[HV]) - .duration(2 * SECOND + 15 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, TriniumTrioxide, 5) + fluidInputs(HydrogenSulfide.getFluid(2000)) + output(dust, TriniumSulfide, 2) + fluidOutputs(Steam.getFluid(2 * SU)) + EUt(VA[HV]) + duration(2 * SECOND + 15 * TICK) + } // KeS + Zn -> Ke + ZnS (EBF, 7200K) from original Gregtech Naquadah processing. // 2x Acidic Nq+ Solution -> Nq+SO4 + Na2S - AUTOCLAVE_RECIPES.recipeBuilder() - .input(dust, SodiumHydroxide, 6) - .fluidInputs(AcidicEnrichedNaquadahSolution.getFluid(2000)) - .output(dust, EnrichedNaquadahSulfate, 6) - .output(dust, SodiumSulfide, 3) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + AUTOCLAVE_RECIPES.addRecipe { + input(dust, SodiumHydroxide, 6) + fluidInputs(AcidicEnrichedNaquadahSolution.getFluid(2000)) + output(dust, EnrichedNaquadahSulfate, 6) + output(dust, SodiumSulfide, 3) + EUt(VA[IV]) + duration(10 * SECOND) + } // Nq+SO4 + H -> Nq+ + H2SO4 from original Gregtech Naquadah processing. // Nq+ Waste -> (Nq) + 0.5HF + 0.3Nq+ Solution (raw cycling) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(EnrichedNaquadahWaste.getFluid(2000)) - .chancedOutput(dustSmall, Naquadah, 4000, 500) - .fluidOutputs(HydrofluoricAcid.getFluid(500)) - .fluidOutputs(EnrichedNaquadahSolution.getFluid(350)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(EnrichedNaquadahWaste.getFluid(2000)) + chancedOutput(dustSmall, Naquadah, 4000, 500) + fluidOutputs(HydrofluoricAcid.getFluid(500)) + fluidOutputs(EnrichedNaquadahSolution.getFluid(350)) + EUt(VA[IV]) + duration(10 * SECOND) + } // Addition recipe to Ba(OH)2 -> BaS (BaS is vanilla produce of Enriched Naquadah chain, // but in our chain, BaS is not a produce, but consider to usage of future, we add // a recipe for Ba(OH)2 -> BaS). Hint: Ba(OH)2 also can do Electrolyzer Decomposition. // Ba(OH)2 + Na2S -> BaS + 2NaOH - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, BariumHydroxide, 5) - .input(dust, SodiumSulfide, 3) - .output(dust, BariumSulfide, 2) - .output(dust, SodiumHydroxide, 6) - .EUt(VA[MV]) - .duration(3 * SECOND + 4 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, BariumHydroxide, 5) + input(dust, SodiumSulfide, 3) + output(dust, BariumSulfide, 2) + output(dust, SodiumHydroxide, 6) + EUt(VA[MV]) + duration(3 * SECOND + 4 * TICK) + } } private fun naquadriaProcess() { // Low Purity Nq* Emulsion + 2H3PO4 -> Impure Nq* Solution + InPO4 + 0.5SbF3 - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(LowPurityNaquadriaEmulsion.getFluid(1000)) - .fluidInputs(PhosphoricAcid.getFluid(2000)) - .output(dust, IndiumPhosphate, 6) - .output(dust, AntimonyTrifluoride, 2) - .fluidOutputs(ImpureNaquadriaSolution.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + fluidInputs(LowPurityNaquadriaEmulsion.getFluid(1000)) + fluidInputs(PhosphoricAcid.getFluid(2000)) + output(dust, IndiumPhosphate, 6) + output(dust, AntimonyTrifluoride, 2) + fluidOutputs(ImpureNaquadriaSolution.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } // InPO4 + 8H -> InP + 4H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, IndiumPhosphate, 6) - .fluidInputs(Hydrogen.getFluid(8000)) - .output(dust, IndiumPhosphide, 2) - .fluidOutputs(Water.getFluid(4000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, IndiumPhosphate, 6) + fluidInputs(Hydrogen.getFluid(8000)) + output(dust, IndiumPhosphide, 2) + fluidOutputs(Water.getFluid(4000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // Impure Nq* Solution -> (Tc2O7) + Nq* Solution + Nq* Waste - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(ImpureNaquadriaSolution.getFluid(2000)) - .chancedOutput(dust, TechnetiumHeptaoxide, 6, 2000, 500) - .fluidOutputs(NaquadriaSolution.getFluid(1000)) - .fluidOutputs(NaquadriaWaste.getFluid(1000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(ImpureNaquadriaSolution.getFluid(2000)) + chancedOutput(dust, TechnetiumHeptaoxide, 6, 2000, 500) + fluidOutputs(NaquadriaSolution.getFluid(1000)) + fluidOutputs(NaquadriaWaste.getFluid(1000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // Nq* Solution + H2SO4 -> Ga2O3 + Acidic Nq* Solution - SIFTER_RECIPES.recipeBuilder() - .fluidInputs(NaquadriaSolution.getFluid(1000)) - .fluidInputs(SulfuricAcid.getFluid(2000)) - .output(dust, GalliumDioxide, 3) - .fluidOutputs(AcidicNaquadriaSolution.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .buildAndRegister() + SIFTER_RECIPES.addRecipe { + fluidInputs(NaquadriaSolution.getFluid(1000)) + fluidInputs(SulfuricAcid.getFluid(2000)) + output(dust, GalliumDioxide, 3) + fluidOutputs(AcidicNaquadriaSolution.getFluid(1000)) + EUt(VA[ZPM]) + duration(10 * SECOND) + } // Addition recipes for GaO2, GaS convert. // GaO2 + S -> GaS + 2O - ROASTER_RECIPES.recipeBuilder() - .input(dust, GalliumDioxide, 3) - .input(dust, Sulfur) - .output(dust, GalliumSulfide, 2) - .fluidOutputs(Oxygen.getFluid(2000)) - .EUt(VA[MV]) - .duration(2 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, GalliumDioxide, 3) + input(dust, Sulfur) + output(dust, GalliumSulfide, 2) + fluidOutputs(Oxygen.getFluid(2000)) + EUt(VA[MV]) + duration(2 * SECOND) + } // Acidic Nq* Solution + CaO -> Nq*SO4 + CaS - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Quicklime, 2) - .fluidInputs(AcidicNaquadriaSolution.getFluid(2000)) - .output(dust, NaquadriaSulfate, 6) - .output(dust, CalciumSulfide, 2) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Quicklime, 2) + fluidInputs(AcidicNaquadriaSolution.getFluid(2000)) + output(dust, NaquadriaSulfate, 6) + output(dust, CalciumSulfide, 2) + EUt(VA[LuV]) + duration(10 * SECOND) + } // Nq*SO4 + 2H -> Nq* + H2SO4 by original processing. // Nq* Waste -> (Nq+) + 0.5HF + 0.35Nq* Solution - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(NaquadriaWaste.getFluid(2000)) - .chancedOutput(dustSmall, NaquadahEnriched, 4000, 500) - .fluidOutputs(HydrofluoricAcid.getFluid(500)) - .fluidOutputs(NaquadriaSolution.getFluid(350)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(NaquadriaWaste.getFluid(2000)) + chancedOutput(dustSmall, NaquadahEnriched, 4000, 500) + fluidOutputs(HydrofluoricAcid.getFluid(500)) + fluidOutputs(NaquadriaSolution.getFluid(350)) + EUt(VA[LuV]) + duration(10 * SECOND) + } // Addition recipes for CaS-CaO recycling. // Ca + S -> CaS - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, Calcium) - .input(dust, Sulfur) - .output(dust, CalciumSulfide, 2) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, Calcium) + input(dust, Sulfur) + output(dust, CalciumSulfide, 2) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // CaS + 2O -> CaO + SO - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, CalciumSulfide, 2) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, Quicklime, 2) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, CalciumSulfide, 2) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, Quicklime, 2) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[LV]) + duration(5 * SECOND) + } } private fun naquadahFuelProcess() { // Nq + NH4NO3 -> Nq(NH4NO3)? - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Naquadah) - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(CrudeNaquadahFuel.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Naquadah) - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(CrudeNaquadahFuel.getFluid(1000)) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Naquadah) + input(dust, AmmoniumNitrate, 2) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(CrudeNaquadahFuel.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } + + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Naquadah) + input(dust, AmmoniumNitrate, 2) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(CrudeNaquadahFuel.getFluid(1000)) + EUt(VA[IV]) + duration(10 * SECOND) + } // Nq+ + NH4NO3 -> 3Nq(NH4NO3)? - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, NaquadahEnriched) - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(CrudeNaquadahFuel.getFluid(3000)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, NaquadahEnriched) - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(CrudeNaquadahFuel.getFluid(3000)) - .EUt(VA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, NaquadahEnriched) + input(dust, AmmoniumNitrate, 2) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(CrudeNaquadahFuel.getFluid(3000)) + EUt(VA[LuV]) + duration(10 * SECOND) + } + + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, NaquadahEnriched) + input(dust, AmmoniumNitrate, 2) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(CrudeNaquadahFuel.getFluid(3000)) + EUt(VA[LuV]) + duration(10 * SECOND) + } // Nq* + NH4NO3 -> 6Nq(NH4NO3)? - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Naquadria) - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(CrudeNaquadahFuel.getFluid(6000)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .buildAndRegister() - - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Naquadria) - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(DistilledWater.getFluid(1000)) - .fluidOutputs(CrudeNaquadahFuel.getFluid(6000)) - .EUt(VA[ZPM]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Naquadria) + input(dust, AmmoniumNitrate, 2) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(CrudeNaquadahFuel.getFluid(6000)) + EUt(VA[ZPM]) + duration(10 * SECOND) + } + + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Naquadria) + input(dust, AmmoniumNitrate, 2) + fluidInputs(DistilledWater.getFluid(1000)) + fluidOutputs(CrudeNaquadahFuel.getFluid(6000)) + EUt(VA[ZPM]) + duration(10 * SECOND) + } // Crude Naquadah Fuel fraction. - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CrudeNaquadahFuel.getFluid(9000)) - .chancedOutput(dust, Naquadah, 1000, 500) - .fluidOutputs(HeavyNaquadahFuel.getFluid(1000)) - .fluidOutputs(MediumNaquadahFuel.getFluid(2000)) - .fluidOutputs(LightNaquadahFuel.getFluid(3000)) - .fluidOutputs(NaquadahGas.getFluid(1000)) - .fluidOutputs(NitricAcid.getFluid(800)) - .fluidOutputs(Ammonia.getFluid(400)) - .fluidOutputs(EnrichedNaquadahWaste.getFluid(400)) - .fluidOutputs(NaquadriaWaste.getFluid(200)) - .EUt(VA[IV]) - .duration(1 * MINUTE) - .buildAndRegister() + DISTILLATION_RECIPES.addRecipe { + fluidInputs(CrudeNaquadahFuel.getFluid(9000)) + chancedOutput(dust, Naquadah, 1000, 500) + fluidOutputs(HeavyNaquadahFuel.getFluid(1000)) + fluidOutputs(MediumNaquadahFuel.getFluid(2000)) + fluidOutputs(LightNaquadahFuel.getFluid(3000)) + fluidOutputs(NaquadahGas.getFluid(1000)) + fluidOutputs(NitricAcid.getFluid(800)) + fluidOutputs(Ammonia.getFluid(400)) + fluidOutputs(EnrichedNaquadahWaste.getFluid(400)) + fluidOutputs(NaquadriaWaste.getFluid(200)) + EUt(VA[IV]) + duration(1 * MINUTE) + } // Naquadah gas as gas turbine fuels. - GAS_TURBINE_FUELS.recipeBuilder() - .fluidInputs(NaquadahGas.getFluid(24)) - .EUt(VA[MV]) - .duration(12 * SECOND) - .buildAndRegister() + GAS_TURBINE_FUELS.addRecipe { + fluidInputs(NaquadahGas.getFluid(24)) + EUt(VA[MV]) + duration(12 * SECOND) + } // Advanced recipes for Naquadah Fuels. // Energetic Naquadria - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Naquadria) - .fluidInputs(NitrogenDioxide.getFluid(500)) - .fluidInputs(SulfuricAcid.getFluid(500)) - .output(dust, Lutetium) - .output(dust, Uranium238) - .output(dust, Plutonium241) - .output(dust, NaquadahEnriched) - .fluidOutputs(NaquadriaEnergetic.getFluid(1000)) - .EUt(V[ZPM] / 2) - .duration(2 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Naquadria) + fluidInputs(NitrogenDioxide.getFluid(500)) + fluidInputs(SulfuricAcid.getFluid(500)) + output(dust, Lutetium) + output(dust, Uranium238) + output(dust, Plutonium241) + output(dust, NaquadahEnriched) + fluidOutputs(NaquadriaEnergetic.getFluid(1000)) + EUt(V[ZPM] / 2) + duration(2 * SECOND) + } // Light Naquadah Fuel - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Naquadah) - .fluidInputs(Uranium235.getFluid(500)) - .fluidInputs(Nitrogen.getFluid(500)) - .fluidOutputs(LightNaquadahFuel.getFluid(6000)) - .EUt(VA[UV]) - .duration(15 * SECOND) - .buildAndRegister() - - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, GalliumSulfide) - .fluidInputs(NaquadriaEnergetic.getFluid(1000)) - .fluidInputs(Nitrogen.getPlasma(1000)) - .fluidOutputs(LightNaquadahFuel.getFluid(12000)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Naquadah) + fluidInputs(Uranium235.getFluid(500)) + fluidInputs(Nitrogen.getFluid(500)) + fluidOutputs(LightNaquadahFuel.getFluid(6000)) + EUt(VA[UV]) + duration(15 * SECOND) + } + + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, GalliumSulfide) + fluidInputs(NaquadriaEnergetic.getFluid(1000)) + fluidInputs(Nitrogen.getPlasma(1000)) + fluidOutputs(LightNaquadahFuel.getFluid(12000)) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Medium Naquadah Fuel - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, NaquadahEnriched) - .fluidInputs(Uranium235.getFluid(500)) - .fluidInputs(Plutonium241.getFluid(500)) - .output(dust, Plutonium239) - .fluidOutputs(MediumNaquadahFuel.getFluid(6000)) - .EUt(VA[UV]) - .duration(15 * SECOND) - .buildAndRegister() - - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, IndiumPhosphide) - .fluidInputs(NaquadriaEnergetic.getFluid(1000)) - .fluidInputs(Nitrogen.getPlasma(1000)) - .fluidOutputs(MediumNaquadahFuel.getFluid(12000)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, NaquadahEnriched) + fluidInputs(Uranium235.getFluid(500)) + fluidInputs(Plutonium241.getFluid(500)) + output(dust, Plutonium239) + fluidOutputs(MediumNaquadahFuel.getFluid(6000)) + EUt(VA[UV]) + duration(15 * SECOND) + } + + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, IndiumPhosphide) + fluidInputs(NaquadriaEnergetic.getFluid(1000)) + fluidInputs(Nitrogen.getPlasma(1000)) + fluidOutputs(MediumNaquadahFuel.getFluid(12000)) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Heavy Naquadah Fuel - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Naquadria) - .input(dust, Plutonium239) - .fluidInputs(Nitrogen.getPlasma(500)) - .output(dust, NaquadahEnriched) - .fluidOutputs(HeavyNaquadahFuel.getFluid(6000)) - .EUt(VA[UV]) - .duration(15 * SECOND) - .buildAndRegister() - - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Trinium) - .fluidInputs(NaquadriaEnergetic.getFluid(1000)) - .fluidInputs(Nitrogen.getPlasma(1000)) - .fluidOutputs(HeavyNaquadahFuel.getFluid(12000)) - .EUt(VA[UHV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Naquadria) + input(dust, Plutonium239) + fluidInputs(Nitrogen.getPlasma(500)) + output(dust, NaquadahEnriched) + fluidOutputs(HeavyNaquadahFuel.getFluid(6000)) + EUt(VA[UV]) + duration(15 * SECOND) + } + + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Trinium) + fluidInputs(NaquadriaEnergetic.getFluid(1000)) + fluidInputs(Nitrogen.getPlasma(1000)) + fluidOutputs(HeavyNaquadahFuel.getFluid(12000)) + EUt(VA[UHV]) + duration(5 * SECOND) + } // Naquadah fuels. - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(HeavyNaquadahFuel.getFluid(1)) - .EUt(V[EV]) - .duration(9 * SECOND) - .buildAndRegister() - - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(MediumNaquadahFuel.getFluid(1)) - .EUt(V[EV]) - .duration(6 * SECOND) - .buildAndRegister() - - NAQUADAH_REACTOR_FUELS.recipeBuilder() - .fluidInputs(LightNaquadahFuel.getFluid(1)) - .EUt(V[EV]) - .duration(3 * SECOND) - .buildAndRegister() + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(HeavyNaquadahFuel.getFluid(1)) + EUt(V[EV]) + duration(9 * SECOND) + } + + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(MediumNaquadahFuel.getFluid(1)) + EUt(V[EV]) + duration(6 * SECOND) + } + + NAQUADAH_REACTOR_FUELS.addRecipe { + fluidInputs(LightNaquadahFuel.getFluid(1)) + EUt(V[EV]) + duration(3 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/NiobiumTantalumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/NiobiumTantalumProcessing.kt index dc2671867..456864f05 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/NiobiumTantalumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/NiobiumTantalumProcessing.kt @@ -10,6 +10,7 @@ import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.CalciumDifluoride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ManganeseDifluoride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.NiobiumPentoxide @@ -41,31 +42,31 @@ internal object NiobiumTantalumProcessing private fun niobiumProcess() { // Ca2Nb2O7 + 4HF -> Nb2O5 + 2CaF2 + 2H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Pyrochlore, 11) - .fluidInputs(HydrofluoricAcid.getFluid(4000)) - .output(dust, NiobiumPentoxide, 7) - .output(dust, TantalumPentoxide, 1) - .output(dust, CalciumDifluoride, 6) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Pyrochlore, 11) + fluidInputs(HydrofluoricAcid.getFluid(4000)) + output(dust, NiobiumPentoxide, 7) + output(dust, TantalumPentoxide, 1) + output(dust, CalciumDifluoride, 6) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[HV]) + duration(10 * SECOND) + } } private fun tantalumProcess() { // MnTa2O6 + 2HF -> Ta2O5 + MnF2 + H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Tantalite, 9) - .fluidInputs(HydrofluoricAcid.getFluid(2000)) - .output(dust, TantalumPentoxide, 7) - .output(dust, NiobiumPentoxide, 1) - .output(dust, ManganeseDifluoride, 3) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Tantalite, 9) + fluidInputs(HydrofluoricAcid.getFluid(2000)) + output(dust, TantalumPentoxide, 7) + output(dust, NiobiumPentoxide, 1) + output(dust, ManganeseDifluoride, 3) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PlatinumGroupProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PlatinumGroupProcessing.kt index 09efcf309..6a80af0d9 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PlatinumGroupProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PlatinumGroupProcessing.kt @@ -8,7 +8,8 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VHA -import gregtech.api.recipes.GTRecipeHandler +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES @@ -103,12 +104,12 @@ internal object PlatinumGroupProcessing private fun removeVanillaRecipes() { // Removal PGS (Platinum Group Sludge) centrifuging recipe. - GTRecipeHandler.removeRecipesByInputs(CENTRIFUGE_RECIPES, + CENTRIFUGE_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, PlatinumGroupSludge, 6)), arrayOf(AquaRegia.getFluid(1200))) // Remove PtCl2/PdCl2 (RawPlatinum/Palladium) electrolysis/chemical reaction decomposition. - GTRecipeHandler.removeRecipesByInputs(ELECTROLYZER_RECIPES, + ELECTROLYZER_RECIPES.removeRecipe( OreDictUnifier.get(dust, PlatinumRaw, 3)) GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, PalladiumRaw, 5)), @@ -122,19 +123,19 @@ internal object PlatinumGroupProcessing // Remove RuO4 decompose to Ru reaction. GTLiteRecipeHandler.removeChemicalRecipes( arrayOf(OreDictUnifier.get(dust, RutheniumTetroxide, 5), - OreDictUnifier.get(dust, Carbon, 2))) + OreDictUnifier.get(dust, Carbon, 2))) // Remove RhSO4 electrolysis decomposition. - GTRecipeHandler.removeRecipesByInputs(ELECTROLYZER_RECIPES, + ELECTROLYZER_RECIPES.removeRecipe( RhodiumSulfate.getFluid(1000)) // Remove Acidic Osmium Solution distillation. - GTRecipeHandler.removeRecipesByInputs(DISTILLATION_RECIPES, + DISTILLATION_RECIPES.removeRecipe( AcidicOsmiumSolution.getFluid(2000)) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(1)), arrayOf(AcidicOsmiumSolution.getFluid(400))) - GTRecipeHandler.removeRecipesByInputs(DISTILLERY_RECIPES, + DISTILLERY_RECIPES.removeRecipe( arrayOf(IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(AcidicOsmiumSolution.getFluid(400))) @@ -144,245 +145,245 @@ internal object PlatinumGroupProcessing arrayOf(Hydrogen.getFluid(8000))) // Remove Rarest Metal Mixture (RMM) -> Ir/Os residue/solution reaction. - GTRecipeHandler.removeRecipesByInputs(LARGE_CHEMICAL_RECIPES, + LARGE_CHEMICAL_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, RarestMetalMixture, 7)), arrayOf(HydrochloricAcid.getFluid(4000))) // Remove Iridium Metal Residue (IMR) -> IrCl3 centrifuging. - GTRecipeHandler.removeRecipesByInputs(CENTRIFUGE_RECIPES, + CENTRIFUGE_RECIPES.removeRecipe( OreDictUnifier.get(dust, IridiumMetalResidue, 5)) } private fun platinumGroupSludgeProcess() { // Copper group ore addition of PGS dust. - CHEMICAL_RECIPES.recipeBuilder() - .input(crushedPurified, Azurite) - .fluidInputs(NitricAcid.getFluid(100)) - .output(dust, PlatinumGroupSludge, 2) - .fluidOutputs(SulfuricCopperSolution.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - - CHEMICAL_RECIPES.recipeBuilder() - .input(crushedPurified, Tenorite) - .fluidInputs(NitricAcid.getFluid(100)) - .output(dust, PlatinumGroupSludge, 2) - .fluidOutputs(SulfuricCopperSolution.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - - CHEMICAL_RECIPES.recipeBuilder() - .input(crushedPurified, Cuprite) - .fluidInputs(NitricAcid.getFluid(100)) - .output(dust, PlatinumGroupSludge, 2) - .fluidOutputs(SulfuricCopperSolution.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(crushedPurified, Azurite) + fluidInputs(NitricAcid.getFluid(100)) + output(dust, PlatinumGroupSludge, 2) + fluidOutputs(SulfuricCopperSolution.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } + + CHEMICAL_RECIPES.addRecipe { + input(crushedPurified, Tenorite) + fluidInputs(NitricAcid.getFluid(100)) + output(dust, PlatinumGroupSludge, 2) + fluidOutputs(SulfuricCopperSolution.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } + + CHEMICAL_RECIPES.addRecipe { + input(crushedPurified, Cuprite) + fluidInputs(NitricAcid.getFluid(100)) + output(dust, PlatinumGroupSludge, 2) + fluidOutputs(SulfuricCopperSolution.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // (PGS) + 3(HCl)2(HNO3) -> RuRhIr2Os(HNO3)3 + AuPtPd(HCl)6 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, PlatinumGroupSludge, 3) - .fluidInputs(AquaRegia.getFluid(9000)) - .output(dust, PlatinumGroupResidue) - .fluidOutputs(PlatinumGroupConcentrate.getFluid(1000)) - .EUt(VHA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, PlatinumGroupSludge, 3) + fluidInputs(AquaRegia.getFluid(9000)) + output(dust, PlatinumGroupResidue) + fluidOutputs(PlatinumGroupConcentrate.getFluid(1000)) + EUt(VHA[MV]) + duration(5 * SECOND) + } // AuPtPd(HCl)6 -> H2PtPdCl6 + Au + 4H (lost) - CENTRIFUGE_RECIPES.recipeBuilder() - .fluidInputs(PlatinumGroupConcentrate.getFluid(1000)) - .output(dust, PlatinumSludgeResidue) - .fluidOutputs(PurifiedPlatinumGroupConcentrate.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + fluidInputs(PlatinumGroupConcentrate.getFluid(1000)) + output(dust, PlatinumSludgeResidue) + fluidOutputs(PurifiedPlatinumGroupConcentrate.getFluid(1000)) + EUt(VA[LV]) + duration(5 * SECOND) + } // H2PtPdCl6 + 2NH4Cl -> 0.625 (NH4)2PtCl6 + 0.375 (NH4)2PdCl6 + 2HCl - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, AmmoniumChloride, 4) - .fluidInputs(PurifiedPlatinumGroupConcentrate.getFluid(1000)) - .fluidOutputs(AmmoniumHexachloroplatinate.getFluid(625)) - .fluidOutputs(AmmoniumHexachloropalladate.getFluid(375)) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, AmmoniumChloride, 4) + fluidInputs(PurifiedPlatinumGroupConcentrate.getFluid(1000)) + fluidOutputs(AmmoniumHexachloroplatinate.getFluid(625)) + fluidOutputs(AmmoniumHexachloropalladate.getFluid(375)) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // RuRhIr2Os(HNO3)3 + 3NaHSO4 -> RhRu + Ir2Os + 3NaNO3 + 3H2SO4 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, PlatinumGroupResidue) - .fluidInputs(SodiumBisulfate.getFluid(L * 21)) // Retrim it to dust material amount convert. - .output(dust, InertMetalMixture) - .output(dust, RarestMetalMixture) - .output(dust, SodiumNitrate, 5) - .fluidOutputs(SulfuricAcid.getFluid(3000)) - .EUt(VHA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, PlatinumGroupResidue) + fluidInputs(SodiumBisulfate.getFluid(L * 21)) // Retrim it to dust material amount convert. + output(dust, InertMetalMixture) + output(dust, RarestMetalMixture) + output(dust, SodiumNitrate, 5) + fluidOutputs(SulfuricAcid.getFluid(3000)) + EUt(VHA[HV]) + duration(10 * SECOND) + } // NaHSO4-NaNO3 raw cycling the sodium (3Na) by both decomposition. // Add a recipe of NH4Cl because NH4Cl used for react H2PtPdCl6 and // get Ammonium Hexachloro-components. // HCl + NH3 -> NH4Cl - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Ammonia.getFluid(1000)) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .output(dust, AmmoniumChloride, 2) - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Ammonia.getFluid(1000)) + fluidInputs(HydrochloricAcid.getFluid(1000)) + output(dust, AmmoniumChloride, 2) + EUt(VA[LV]) + duration(3 * SECOND) + } // Another recipe of NaNO3, prepare for other chemistry processing. // NaOH + HNO3 -> NaNO3 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(NitricAcid.getFluid(1000)) - .output(dust, SodiumNitrate, 5) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, SodiumHydroxide, 3) + fluidInputs(NitricAcid.getFluid(1000)) + output(dust, SodiumNitrate, 5) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[MV]) + duration(5 * SECOND) + } } private fun platinumPalladiumProcess() { // (NH4)2PtCl6 -> H2PtCl6 + 2NH3 (cycling with HNO3) - ELECTROLYZER_RECIPES.recipeBuilder() - .fluidInputs(AmmoniumHexachloroplatinate.getFluid(1000)) - .fluidOutputs(HexachloroplatinicAcid.getFluid(1000)) - .fluidOutputs(Ammonia.getFluid(2000)) - .EUt(VA[LV]) - .duration(6 * SECOND) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + fluidInputs(AmmoniumHexachloroplatinate.getFluid(1000)) + fluidOutputs(HexachloroplatinicAcid.getFluid(1000)) + fluidOutputs(Ammonia.getFluid(2000)) + EUt(VA[LV]) + duration(6 * SECOND) + } // H2PtCl6 decompose to Pt dust by electrolysis reaction. // (NH4)2PdCl6 + 2H -> PdCl2 + 2NH3 (cycling with HNO3) + 4HCl (cycling with AquaRegia) - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(AmmoniumHexachloropalladate.getFluid(1000)) - .fluidInputs(Hydrogen.getFluid(2000)) - .output(dust, PalladiumRaw, 3) - .fluidOutputs(Ammonia.getFluid(2000)) - .fluidOutputs(HydrochloricAcid.getFluid(4000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(AmmoniumHexachloropalladate.getFluid(1000)) + fluidInputs(Hydrogen.getFluid(2000)) + output(dust, PalladiumRaw, 3) + fluidOutputs(Ammonia.getFluid(2000)) + fluidOutputs(HydrochloricAcid.getFluid(4000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // CH3OH + CO -> HCO2CH3 - CHEMICAL_RECIPES.recipeBuilder() - .notConsumable(dust, SodiumHydroxide) - .fluidInputs(Methanol.getFluid(1000)) - .fluidInputs(CarbonMonoxide.getFluid(1000)) - .fluidOutputs(MethylFormate.getFluid(1000)) - .EUt(VA[LV]) - .duration(16 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + notConsumable(dust, SodiumHydroxide) + fluidInputs(Methanol.getFluid(1000)) + fluidInputs(CarbonMonoxide.getFluid(1000)) + fluidOutputs(MethylFormate.getFluid(1000)) + EUt(VA[LV]) + duration(16 * TICK) + } // HCO2CH3 + H2O -> HCOOH + CH3OH (353K) - BURNER_REACTOR_RECIPES.recipeBuilder() - .fluidInputs(MethylFormate.getFluid(1000)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(FormicAcid.getFluid(1000)) - .fluidOutputs(Methanol.getFluid(1000)) - .EUt(VA[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + fluidInputs(MethylFormate.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(FormicAcid.getFluid(1000)) + fluidOutputs(Methanol.getFluid(1000)) + EUt(VA[LV]) + duration(2 * SECOND + 10 * TICK) + } // PdCl2 + HCOOH -> Pd + 2HCl (cycling with Aqua Regia) + CO2 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PalladiumRaw, 3) - .fluidInputs(FormicAcid.getFluid(1000)) - .output(dust, Palladium) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[LV]) - .duration(12 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PalladiumRaw, 3) + fluidInputs(FormicAcid.getFluid(1000)) + output(dust, Palladium) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[LV]) + duration(12 * SECOND + 10 * TICK) + } } private fun rutheniumRhodiumProcess() { // CH4 + 8Cl -> CCl4 + 4HCl - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(Methane.getFluid(1000)) - .fluidInputs(Chlorine.getFluid(8000)) - .fluidOutputs(CarbonTetrachloride.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(4000)) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(Methane.getFluid(1000)) + fluidInputs(Chlorine.getFluid(8000)) + fluidOutputs(CarbonTetrachloride.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(4000)) + EUt(VA[LV]) + duration(4 * SECOND) + } // 2RhRu + 2CCl4 + 3H2SO4 -> 2RuCl3 + Rh2(SO4)3 + 2HCl + CH4 + C (lost) - LARGE_CHEMICAL_RECIPES.recipeBuilder() - .input(dust, InertMetalMixture, 6) - .fluidInputs(CarbonTetrachloride.getFluid(2000)) - .fluidInputs(SulfuricAcid.getFluid(3000)) - .output(dust, RutheniumTrichloride, 8) - .fluidOutputs(RhodiumSulfate.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .fluidOutputs(Methane.getFluid(1000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + LARGE_CHEMICAL_RECIPES.addRecipe { + input(dust, InertMetalMixture, 6) + fluidInputs(CarbonTetrachloride.getFluid(2000)) + fluidInputs(SulfuricAcid.getFluid(3000)) + output(dust, RutheniumTrichloride, 8) + fluidOutputs(RhodiumSulfate.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + fluidOutputs(Methane.getFluid(1000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // 2Na + 2O -> Na2O2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Sodium, 2) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, SodiumPeroxide, 4) - .EUt(VA[LV]) - .duration(4 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Sodium, 2) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, SodiumPeroxide, 4) + EUt(VA[LV]) + duration(4 * SECOND) + } // 6Na + 2O3 -> 3Na2O2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Sodium, 6) - .fluidInputs(Ozone.getFluid(2000)) - .output(dust, SodiumPeroxide, 12) - .EUt(VA[MV]) - .duration(1 * SECOND + 10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Sodium, 6) + fluidInputs(Ozone.getFluid(2000)) + output(dust, SodiumPeroxide, 12) + EUt(VA[MV]) + duration(1 * SECOND + 10 * TICK) + } // RuCl3 + 2Na2O2 + Cl -> RuO4 + 4NaCl - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, RutheniumTrichloride, 4) - .input(dust, SodiumPeroxide, 8) - .fluidInputs(Chlorine.getFluid(1000)) - .output(dust, RutheniumTetroxide, 5) - .output(dust, Salt, 8) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, RutheniumTrichloride, 4) + input(dust, SodiumPeroxide, 8) + fluidInputs(Chlorine.getFluid(1000)) + output(dust, RutheniumTetroxide, 5) + output(dust, Salt, 8) + EUt(VA[HV]) + duration(10 * SECOND) + } // RuO4 + 2C -> Ru + 2CO - ROASTER_RECIPES.recipeBuilder() - .input(dust, RutheniumTetroxide, 5) - .input(dust, Carbon, 2) - .output(dust, Ruthenium) - .fluidOutputs(CarbonDioxide.getFluid(2000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, RutheniumTetroxide, 5) + input(dust, Carbon, 2) + output(dust, Ruthenium) + fluidOutputs(CarbonDioxide.getFluid(2000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // Rh2(SO4)3 + 3H2O -> Rh2O3 + 3H2SO4 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(RhodiumSulfate.getFluid(1000)) - .fluidInputs(Water.getFluid(3000)) - .output(dust, RhodiumTrioxide, 5) - .fluidOutputs(SulfuricAcid.getFluid(3000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(RhodiumSulfate.getFluid(1000)) + fluidInputs(Water.getFluid(3000)) + output(dust, RhodiumTrioxide, 5) + fluidOutputs(SulfuricAcid.getFluid(3000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // Rh2O3 decompose to Rh dust by electrolysis reaction. } @@ -390,58 +391,58 @@ internal object PlatinumGroupProcessing private fun iridiumOsmiumProcess() { // Ir2Os + 2NaClO3 + O -> Ir2O3 + OsO4 + 2NaCl - ROASTER_RECIPES.recipeBuilder() - .input(dust, RarestMetalMixture, 12) - .input(dust, SodiumChlorate, 10) - .fluidInputs(Oxygen.getFluid(1000)) - .output(dust, IridiumMetalResidue, 5) - .output(dust, OsmiumTetroxide, 5) - .output(dust, Salt, 4) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, RarestMetalMixture, 12) + input(dust, SodiumChlorate, 10) + fluidInputs(Oxygen.getFluid(1000)) + output(dust, IridiumMetalResidue, 5) + output(dust, OsmiumTetroxide, 5) + output(dust, Salt, 4) + EUt(VA[IV]) + duration(10 * SECOND) + } // Ir2O3 + 6HCl -> 2IrCl3 + 3H2O - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, IridiumMetalResidue, 5) - .fluidInputs(HydrochloricAcid.getFluid(6000)) - .output(dust, IridiumChloride, 8) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VHA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, IridiumMetalResidue, 5) + fluidInputs(HydrochloricAcid.getFluid(6000)) + output(dust, IridiumChloride, 8) + fluidOutputs(Water.getFluid(3000)) + EUt(VHA[HV]) + duration(5 * SECOND) + } // IrCl3 decompose to Ir dust by original processing. // IrCl3 + 3H -> Ir + 3HCl. // S + 2Cl -> SCl2 - CRYOGENIC_REACTOR_RECIPES.recipeBuilder() - .input(dust, Sulfur) - .fluidInputs(Chlorine.getFluid(2000)) - .fluidOutputs(SulfurDichloride.getFluid(1000)) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + CRYOGENIC_REACTOR_RECIPES.addRecipe { + input(dust, Sulfur) + fluidInputs(Chlorine.getFluid(2000)) + fluidOutputs(SulfurDichloride.getFluid(1000)) + EUt(VA[MV]) + duration(4 * SECOND) + } // SO3 + SCl2 -> SOCl2 + SO2 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(SulfurTrioxide.getFluid(1000)) - .fluidInputs(SulfurDichloride.getFluid(1000)) - .fluidOutputs(ThionylChloride.getFluid(1000)) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(SulfurTrioxide.getFluid(1000)) + fluidInputs(SulfurDichloride.getFluid(1000)) + fluidOutputs(ThionylChloride.getFluid(1000)) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[LV]) + duration(5 * SECOND) + } // OsO4 + 2SOCl2 -> OsCl4 + 2SO3 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, OsmiumTetroxide, 5) - .fluidInputs(ThionylChloride.getFluid(2000)) - .output(dust, OsmiumTetrachloride, 5) - .fluidOutputs(SulfurTrioxide.getFluid(2000)) - .EUt(VHA[HV]) - .duration(100) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, OsmiumTetroxide, 5) + fluidInputs(ThionylChloride.getFluid(2000)) + output(dust, OsmiumTetrachloride, 5) + fluidOutputs(SulfurTrioxide.getFluid(2000)) + EUt(VHA[HV]) + duration(100) + } // OsO4 decompose to Os dust by original processing. } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PoloniumRadiumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PoloniumRadiumProcessing.kt index bdde2728a..465f3d086 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PoloniumRadiumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PoloniumRadiumProcessing.kt @@ -28,6 +28,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LeadDichloride import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LeadSulfate @@ -62,128 +63,127 @@ internal object PoloniumRadiumProcessing private fun poloniumProcess() { // (UO2)3ThPb + 4HNO3 -> UO2 + Po(NO3)4 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, Pitchblende, 5) - .fluidInputs(NitricAcid.getFluid(4000)) - .output(dust, Uraninite, 3) - .output(dust, PoloniumNitrate, 17) - .EUt(VA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, Pitchblende, 5) + fluidInputs(NitricAcid.getFluid(4000)) + output(dust, Uraninite, 3) + output(dust, PoloniumNitrate, 17) + EUt(VA[IV]) + duration(10 * SECOND) + } // Po(NO3)4 + 2Na -> Na2PoO4 + 4NO2 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PoloniumNitrate, 17) - .input(dust, Sodium, 2) - .output(dust, SodiumPolonate, 7) - .fluidOutputs(NitrogenDioxide.getFluid(4000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PoloniumNitrate, 17) + input(dust, Sodium, 2) + output(dust, SodiumPolonate, 7) + fluidOutputs(NitrogenDioxide.getFluid(4000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // Na2PoO4 + 2HCl -> PoO2 + 2NaCl + H2O + O (drop) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SodiumPolonate, 7) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, PoloniumDioxide, 3) - .output(dust, Salt, 4) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SodiumPolonate, 7) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, PoloniumDioxide, 3) + output(dust, Salt, 4) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } } private fun radiumProcess() { // UO2 + 2Cl + H2O -> UO2Cl2·H2O - MIXER_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Uraninite, 3) - .fluidInputs(Chlorine.getFluid(2000)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(UranylChlorideSolution.getFluid(1000)) - .EUt(VA[IV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Uraninite, 3) + fluidInputs(Chlorine.getFluid(2000)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(UranylChlorideSolution.getFluid(1000)) + EUt(VA[IV]) + duration(2 * SECOND + 10 * TICK) + } // UO2Cl2·H2O + 2HNO3 -> UO2(NO3)2·H2O + 2HCl (pseudo cycle) - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(UranylChlorideSolution.getFluid(1000)) - .fluidInputs(NitricAcid.getFluid(2000)) - .fluidOutputs(UranylNitrateSolution.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(UranylChlorideSolution.getFluid(1000)) + fluidInputs(NitricAcid.getFluid(2000)) + fluidOutputs(UranylNitrateSolution.getFluid(1000)) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // UO2(NO3)2·H2O -> UO2(NO3)2 + H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(UranylNitrateSolution.getFluid(1000)) - .output(dust, UranylNitrate, 10) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(UranylNitrateSolution.getFluid(1000)) + output(dust, UranylNitrate, 10) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // 2UO2(NO3)2 + 4H2SO4 -> 2RaSO4 + 2PbSO4 + Th(NO3)4 + U + 2H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(UranylNitrateSolution.getFluid(2000)) - .fluidInputs(SulfuricAcid.getFluid(4000)) - .output(dust, RadiumSulfate, 12) - .output(dust, LeadSulfate, 12) - .output(dust, ThoriumNitrate, 17) - .output(dust, Uranium) - .fluidOutputs(Water.getFluid(2000)) - .EUt(VA[EV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(UranylNitrateSolution.getFluid(2000)) + fluidInputs(SulfuricAcid.getFluid(4000)) + output(dust, RadiumSulfate, 12) + output(dust, LeadSulfate, 12) + output(dust, ThoriumNitrate, 17) + output(dust, Uranium) + fluidOutputs(Water.getFluid(2000)) + EUt(VA[EV]) + duration(10 * SECOND) + } // RaSO4 + 2HCl -> RaCl2 + H2SO4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, RadiumSulfate, 6) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, RadiumDichloride, 3) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, RadiumSulfate, 6) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, RadiumDichloride, 3) + fluidOutputs(SulfuricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // Also allowed use PbSO4 to cycle H2SO4 in this chain. // PbSO4 + 2HCl -> PbCl2 + H2SO4 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, LeadSulfate, 6) - .fluidInputs(HydrochloricAcid.getFluid(2000)) - .output(dust, LeadDichloride, 3) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, LeadSulfate, 6) + fluidInputs(HydrochloricAcid.getFluid(2000)) + output(dust, LeadDichloride, 3) + fluidOutputs(SulfuricAcid.getFluid(1000)) + EUt(VA[MV]) + duration(10 * SECOND) + } // Th(NO3)4 + 2Na -> ThO2 + 2NaNO3 + (Ac) + N2O4 + NO2 + O (drop) - ELECTROLYZER_RECIPES.recipeBuilder() - .input(dust, ThoriumNitrate, 17) - .input(dust, Sodium, 2) - .output(dust, ThoriumDioxide, 3) - .output(dust, SodiumNitrate, 10) - .chancedOutput(dust, Actinium, 2500, 500) - .fluidOutputs(NitrogenDioxide.getFluid(1000)) - .fluidOutputs(DinitrogenTetroxide.getFluid(1000)) - .EUt(VA[EV]) - .duration(2 * SECOND + 15 * TICK) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + input(dust, ThoriumNitrate, 17) + input(dust, Sodium, 2) + output(dust, ThoriumDioxide, 3) + output(dust, SodiumNitrate, 10) + chancedOutput(dust, Actinium, 2500, 500) + fluidOutputs(NitrogenDioxide.getFluid(1000)) + fluidOutputs(DinitrogenTetroxide.getFluid(1000)) + EUt(VA[EV]) + duration(2 * SECOND + 15 * TICK) + } // RaCl2 + 2H -> Ra + 2HCl (cycle) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, RadiumDichloride, 3) - .fluidInputs(Hydrogen.getFluid(2000)) - .output(dust, Radium) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .EUt(VA[HV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - + CHEMICAL_RECIPES.addRecipe { + input(dust, RadiumDichloride, 3) + fluidInputs(Hydrogen.getFluid(2000)) + output(dust, Radium) + fluidOutputs(HydrochloricAcid.getFluid(2000)) + EUt(VA[HV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PotassiumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PotassiumProcessing.kt index 30217dddc..f3834a8ab 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PotassiumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/PotassiumProcessing.kt @@ -12,6 +12,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.PotassiumHydroxide internal object PotassiumProcessing @@ -22,26 +23,26 @@ internal object PotassiumProcessing fun init() { // Common rock salt decompose. - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, RockSalt, 2) - .output(dust, Potassium) - .fluidOutputs(Chlorine.getFluid(1000)) - .EUt(VA[LV]) - .duration(3 * SECOND + 12 * TICK) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, RockSalt, 2) + output(dust, Potassium) + fluidOutputs(Chlorine.getFluid(1000)) + EUt(VA[LV]) + duration(3 * SECOND + 12 * TICK) + } // KCl + H2O -> KOH + Cl + H - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, RockSalt, 2) - .fluidInputs(Water.getFluid(1000)) - .output(dust, PotassiumHydroxide, 3) - .fluidOutputs(Chlorine.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(1000)) - .EUt(VA[LV]) - .duration(6 * SECOND) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, RockSalt, 2) + fluidInputs(Water.getFluid(1000)) + output(dust, PotassiumHydroxide, 3) + fluidOutputs(Chlorine.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(1000)) + EUt(VA[LV]) + duration(6 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/ProtactiniumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/ProtactiniumProcessing.kt index b994a80cd..1066894a5 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/ProtactiniumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/ProtactiniumProcessing.kt @@ -12,6 +12,7 @@ import gregtechlite.gtlitecore.api.extension.EUt import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AminooxyaceticAcid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.DiethylEther import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ThoriumDioxide +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.UranylNitrate /** @@ -27,17 +28,16 @@ internal object ProtactiniumProcessing fun init() { // UO2(NO3)2 + (C2H5)2O -> 0.5UO2 + Pa + 0.75ThO2 + 2C2H5NO3 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, UranylNitrate, 10) - .fluidInputs(DiethylEther.getFluid(1000)) - .output(dust, Uraninite) - .output(dust, Protactinium) - .output(dustSmall, ThoriumDioxide, 3) - .fluidOutputs(AminooxyaceticAcid.getFluid(1000)) - .EUt(VA[ZPM]) - .duration(14 * SECOND) - .buildAndRegister() - + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, UranylNitrate, 10) + fluidInputs(DiethylEther.getFluid(1000)) + output(dust, Uraninite) + output(dust, Protactinium) + output(dustSmall, ThoriumDioxide, 3) + fluidOutputs(AminooxyaceticAcid.getFluid(1000)) + EUt(VA[ZPM]) + duration(14 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/RareEarthProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/RareEarthProcessing.kt index 8b2808305..f1c8a989f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/RareEarthProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/RareEarthProcessing.kt @@ -9,7 +9,6 @@ import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH import gregtech.api.GTValues.VHA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.DISTILLATION_RECIPES @@ -40,6 +39,8 @@ import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.RareEarthHydroxid import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.SamariumOxide import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ScEuGdSmOxidesSolution import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.YTbDyHoOxidesSolution +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.YttriumOxide /** @@ -58,8 +59,7 @@ internal object RareEarthProcessing fun init() { // Remove original centrifuge recipe. - GTRecipeHandler.removeRecipesByInputs(CENTRIFUGE_RECIPES, - OreDictUnifier.get(dust, RareEarth)) + CENTRIFUGE_RECIPES.removeRecipe(OreDictUnifier.get(dust, RareEarth)) diethylhexylPhosphoricAcidProcess() rareEarthProcess() @@ -68,116 +68,115 @@ internal object RareEarthProcessing private fun diethylhexylPhosphoricAcidProcess() { // 2C4H8O + 4H -> C8H18O + H2O (lost) - MIXER_RECIPES.recipeBuilder() - .fluidInputs(Butyraldehyde.getFluid(2000)) - .fluidInputs(Hydrogen.getFluid(4000)) - .fluidOutputs(Ethylhexanol.getFluid(1000)) - .EUt(VA[MV]) - .duration(4 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + fluidInputs(Butyraldehyde.getFluid(2000)) + fluidInputs(Hydrogen.getFluid(4000)) + fluidOutputs(Ethylhexanol.getFluid(1000)) + EUt(VA[MV]) + duration(4 * SECOND) + } // 0.5P4O10 + 5C8H18O -> 2C16H35O4P + 2C4H10 + 2O (lost) - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, PhosphorusPentoxide, 7) - .fluidInputs(Ethylhexanol.getFluid(5000)) - .fluidOutputs(DiethylhexylPhosphoricAcid.getFluid(2000)) - .fluidOutputs(Butane.getFluid(2000)) - .EUt(VH[LV]) - .duration(30 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, PhosphorusPentoxide, 7) + fluidInputs(Ethylhexanol.getFluid(5000)) + fluidOutputs(DiethylhexylPhosphoricAcid.getFluid(2000)) + fluidOutputs(Butane.getFluid(2000)) + EUt(VH[LV]) + duration(30 * SECOND) + } } private fun rareEarthProcess() { // (RE) -> (REHS) - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, RareEarth) - .input(dust, SodiumHydroxide, 3) - .fluidInputs(DiethylhexylPhosphoricAcid.getFluid(100)) - .fluidInputs(Water.getFluid(900)) - .fluidOutputs(RareEarthHydroxidesSolution.getFluid(1000)) - .EUt(VA[HV]) - .duration(6 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, RareEarth) + input(dust, SodiumHydroxide, 3) + fluidInputs(DiethylhexylPhosphoricAcid.getFluid(100)) + fluidInputs(Water.getFluid(900)) + fluidOutputs(RareEarthHydroxidesSolution.getFluid(1000)) + EUt(VA[HV]) + duration(6 * SECOND) + } // (REHS) + HCl -> (RECS) + NaOH (cycle) - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(RareEarthHydroxidesSolution.getFluid(1000)) - .fluidInputs(HydrochloricAcid.getFluid(1000)) - .output(dust, SodiumHydroxide, 3) - .fluidOutputs(RareEarthChloridesSolution.getFluid(1000)) - .EUt(VA[LV]) - .duration(6 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(RareEarthHydroxidesSolution.getFluid(1000)) + fluidInputs(HydrochloricAcid.getFluid(1000)) + output(dust, SodiumHydroxide, 3) + fluidOutputs(RareEarthChloridesSolution.getFluid(1000)) + EUt(VA[LV]) + duration(6 * SECOND) + } // Neodymium Processing for optional choice of EV stage, this reaction can // still be obtained as ore byproducts. - DISTILLERY_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(RareEarthChloridesSolution.getFluid(1000)) - .output(dust, NeodymiumOxide) - .fluidOutputs(HydrochloricAcid.getFluid(900)) - .EUt(VA[LV]) - .duration(10 * SECOND) - .buildAndRegister() + DISTILLERY_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(RareEarthChloridesSolution.getFluid(1000)) + output(dust, NeodymiumOxide) + fluidOutputs(HydrochloricAcid.getFluid(900)) + EUt(VA[LV]) + duration(10 * SECOND) + } // Cerium Processing for option choice of ZPM stage (Plutonium-241 Fusion). - DISTILLERY_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(RareEarthChloridesSolution.getFluid(1000)) - .output(dust, CeriumOxide) - .fluidOutputs(HydrochloricAcid.getFluid(850)) - .EUt(VHA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + DISTILLERY_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(RareEarthChloridesSolution.getFluid(1000)) + output(dust, CeriumOxide) + fluidOutputs(HydrochloricAcid.getFluid(850)) + EUt(VHA[IV]) + duration(10 * SECOND) + } // Samarium Processing for option choice of IV-LuV stage (consists of // Samarium Magnetic and Alloy Component requirements). - DISTILLERY_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(RareEarthChloridesSolution.getFluid(1000)) - .output(dust, SamariumOxide) - .fluidOutputs(HydrochloricAcid.getFluid(800)) - .EUt(VHA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + DISTILLERY_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(RareEarthChloridesSolution.getFluid(1000)) + output(dust, SamariumOxide) + fluidOutputs(HydrochloricAcid.getFluid(800)) + EUt(VHA[IV]) + duration(10 * SECOND) + } // Yttrium Processing for IV stage (Alloy Component of Incoloy-MA956). - DISTILLERY_RECIPES.recipeBuilder() - .circuitMeta(4) - .fluidInputs(RareEarthChloridesSolution.getFluid(1000)) - .output(dust, YttriumOxide) - .fluidOutputs(HydrochloricAcid.getFluid(750)) - .EUt(VHA[IV]) - .duration(10 * SECOND) - .buildAndRegister() + DISTILLERY_RECIPES.addRecipe { + circuitMeta(4) + fluidInputs(RareEarthChloridesSolution.getFluid(1000)) + output(dust, YttriumOxide) + fluidOutputs(HydrochloricAcid.getFluid(750)) + EUt(VHA[IV]) + duration(10 * SECOND) + } // Lanthanum Processing for optional choice of LuV and UV stage (consists of // americium fusion reaction, ZBLAN glass material components). - DISTILLERY_RECIPES.recipeBuilder() - .circuitMeta(5) - .fluidInputs(RareEarthChloridesSolution.getFluid(1000)) - .output(dust, LanthanumOxide) - .fluidOutputs(HydrochloricAcid.getFluid(500)) - .EUt(VHA[LuV]) - .duration(10 * SECOND) - .buildAndRegister() + DISTILLERY_RECIPES.addRecipe { + circuitMeta(5) + fluidInputs(RareEarthChloridesSolution.getFluid(1000)) + output(dust, LanthanumOxide) + fluidOutputs(HydrochloricAcid.getFluid(500)) + EUt(VHA[LuV]) + duration(10 * SECOND) + } // (RECS) -> (REEs) - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(RareEarthChloridesSolution.getFluid(1000)) - .output(dust, PromethiumOxide) - .fluidOutputs(LaPrNdCeOxidesSolution.getFluid(250)) - .fluidOutputs(ScEuGdSmOxidesSolution.getFluid(250)) - .fluidOutputs(YTbDyHoOxidesSolution.getFluid(250)) - .fluidOutputs(ErTmYbLuOxidesSolution.getFluid(250)) - .fluidOutputs(HydrochloricAcid.getFluid(1000)) - .EUt(VA[ZPM]) // Required double LuV Energy Hatches. - .duration(10 * SECOND) - .disableDistilleryRecipes() - .buildAndRegister() - + DISTILLATION_RECIPES.addRecipe { + fluidInputs(RareEarthChloridesSolution.getFluid(1000)) + output(dust, PromethiumOxide) + fluidOutputs(LaPrNdCeOxidesSolution.getFluid(250)) + fluidOutputs(ScEuGdSmOxidesSolution.getFluid(250)) + fluidOutputs(YTbDyHoOxidesSolution.getFluid(250)) + fluidOutputs(ErTmYbLuOxidesSolution.getFluid(250)) + fluidOutputs(HydrochloricAcid.getFluid(1000)) + EUt(VA[ZPM]) // Required double LuV Energy Hatches. + duration(10 * SECOND) + disableDistilleryRecipes() + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/SeleniumTelluriumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/SeleniumTelluriumProcessing.kt index 31eaacca6..5b24f69d9 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/SeleniumTelluriumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/SeleniumTelluriumProcessing.kt @@ -30,6 +30,7 @@ import gregtech.api.unification.ore.OrePrefix.ingot import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.BlueVitriol import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.ChalcogenAnodeMud @@ -48,81 +49,81 @@ internal object SeleniumTelluriumProcessing fun init() { // Cu + H2SO4 -> CuSO4 + 2H - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Copper) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(BlueVitriol.getFluid(1000)) - .fluidOutputs(Hydrogen.getFluid(2000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Copper) + fluidInputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(BlueVitriol.getFluid(1000)) + fluidOutputs(Hydrogen.getFluid(2000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // CuO + H2SO4 -> CuSO4 + H2O - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Tenorite, 2) - .fluidInputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(BlueVitriol.getFluid(1000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Tenorite, 2) + fluidInputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(BlueVitriol.getFluid(1000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // Cu2O + 2H2SO4 -> 2CuSO4 + H2O + 2H (lost) - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(dust, Cuprite, 3) - .fluidInputs(SulfuricAcid.getFluid(2000)) - .fluidOutputs(BlueVitriol.getFluid(2000)) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(3) + input(dust, Cuprite, 3) + fluidInputs(SulfuricAcid.getFluid(2000)) + fluidOutputs(BlueVitriol.getFluid(2000)) + fluidOutputs(Water.getFluid(1000)) + EUt(VA[MV]) + duration(5 * SECOND) + } // CuSO4 -> Cu + S + 4O - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(BlueVitriol.getFluid(1000)) - .output(dust, Copper) - .output(dust, Sulfur) - .fluidOutputs(Oxygen.getFluid(4000)) - .EUt(VHA[MV]) - .duration(7 * SECOND + 4 * TICK) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(BlueVitriol.getFluid(1000)) + output(dust, Copper) + output(dust, Sulfur) + fluidOutputs(Oxygen.getFluid(4000)) + EUt(VHA[MV]) + duration(7 * SECOND + 4 * TICK) + } // CuSO4 + H2O -> CuSO4·H2O - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(2) - .fluidInputs(BlueVitriol.getFluid(1000)) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(SulfuricCopperSolution.getFluid(1000)) - .EUt(VHA[MV]) - .duration(7 * SECOND + 4 * TICK) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(2) + fluidInputs(BlueVitriol.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(SulfuricCopperSolution.getFluid(1000)) + EUt(VHA[MV]) + duration(7 * SECOND + 4 * TICK) + } // CuSO4 + H2O -> Ag2TeSe + Cu + O + H2SO4 - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(3) - .fluidInputs(BlueVitriol.getFluid(1000)) - .fluidInputs(Water.getFluid(1000)) - .output(dust, Copper) - .chancedOutput(dust, ChalcogenAnodeMud, 4, 500, 0) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(1000)) - .EUt(VHA[MV]) - .duration(3 * SECOND + 12 * TICK) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(3) + fluidInputs(BlueVitriol.getFluid(1000)) + fluidInputs(Water.getFluid(1000)) + output(dust, Copper) + chancedOutput(dust, ChalcogenAnodeMud, 4, 500, 0) + fluidOutputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(1000)) + EUt(VHA[MV]) + duration(3 * SECOND + 12 * TICK) + } // Optional recovery of metals to provide some nice bonus. - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, ChalcogenAnodeMud, 4) - .output(dust, Silver) - .chancedOutput(dust, Copper, 1000, 1000) - .chancedOutput(dust, Gold, 750, 750) - .EUt(VHA[MV]) - .duration(15 * SECOND) - .buildAndRegister() + CENTRIFUGE_RECIPES.addRecipe { + input(dust, ChalcogenAnodeMud, 4) + output(dust, Silver) + chancedOutput(dust, Copper, 1000, 1000) + chancedOutput(dust, Gold, 750, 750) + EUt(VHA[MV]) + duration(15 * SECOND) + } telluriumProcess() seleniumProcess() @@ -131,64 +132,64 @@ internal object SeleniumTelluriumProcessing private fun telluriumProcess() { // Ag2TeSe + 4O + Na2CO3 -> Na2TeO3 + SeO2 + 2Ag + CO2 - ROASTER_RECIPES.recipeBuilder() - .input(dust, ChalcogenAnodeMud, 4) - .input(dust, SodaAsh, 6) - .fluidInputs(Oxygen.getFluid(4000)) - .output(dust, SodiumTellurite, 6) - .output(dust, SeleniumDioxide, 3) - .output(ingot, Silver, 2) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[HV]) - .duration(30 * SECOND) - .buildAndRegister() // Because this reaction is above 1900K, so silver will output by ingot form. + ROASTER_RECIPES.addRecipe { + input(dust, ChalcogenAnodeMud, 4) + input(dust, SodaAsh, 6) + fluidInputs(Oxygen.getFluid(4000)) + output(dust, SodiumTellurite, 6) + output(dust, SeleniumDioxide, 3) + output(ingot, Silver, 2) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[HV]) + duration(30 * SECOND) + } // Because this reaction is above 1900K, so silver will output by ingot form. // Na2TeO3 + H2O -> TeO2 + 2NaOH - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, SodiumTellurite, 6) - .fluidInputs(Water.getFluid(1000)) - .output(dust, TelluriumDioxide, 3) - .output(dust, SodiumHydroxide, 6) - .EUt(VA[MV]) - .duration(20 * SECOND) - .buildAndRegister() + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, SodiumTellurite, 6) + fluidInputs(Water.getFluid(1000)) + output(dust, TelluriumDioxide, 3) + output(dust, SodiumHydroxide, 6) + EUt(VA[MV]) + duration(20 * SECOND) + } // TeO2 + 2SO2 + H2O -> Te + H2SO4 + SO3 - CHEMICAL_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, TelluriumDioxide, 3) - .fluidInputs(SulfurDioxide.getFluid(2000)) - .fluidInputs(Water.getFluid(1000)) - .output(dust, Tellurium) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(SulfurTrioxide.getFluid(1000)) - .EUt(VA[EV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + circuitMeta(1) + input(dust, TelluriumDioxide, 3) + fluidInputs(SulfurDioxide.getFluid(2000)) + fluidInputs(Water.getFluid(1000)) + output(dust, Tellurium) + fluidOutputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(SulfurTrioxide.getFluid(1000)) + EUt(VA[EV]) + duration(15 * SECOND) + } } private fun seleniumProcess() { // SeO2 + H2O -> H2SeO3 - MIXER_RECIPES.recipeBuilder() - .input(dust, SeleniumDioxide, 3) - .fluidInputs(Water.getFluid(1000)) - .output(dust, SelenousAcid, 6) - .EUt(VA[MV]) - .duration(20 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + input(dust, SeleniumDioxide, 3) + fluidInputs(Water.getFluid(1000)) + output(dust, SelenousAcid, 6) + EUt(VA[MV]) + duration(20 * SECOND) + } // H2SeO3 + 2SO2 -> Se + H2SO4 + SO3 - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, SelenousAcid, 6) - .fluidInputs(SulfurDioxide.getFluid(2000)) - .output(dust, Selenium) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(SulfurTrioxide.getFluid(1000)) - .EUt(VA[EV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, SelenousAcid, 6) + fluidInputs(SulfurDioxide.getFluid(2000)) + output(dust, Selenium) + fluidOutputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(SulfurTrioxide.getFluid(1000)) + EUt(VA[EV]) + duration(15 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/StrontiumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/StrontiumProcessing.kt index 687640bd1..c1cbd1137 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/StrontiumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/StrontiumProcessing.kt @@ -16,6 +16,7 @@ import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.BURNER_REACTOR_RECIPES import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ROASTER_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Alumina @@ -38,57 +39,56 @@ internal object StrontiumProcessing private fun strontianiteProcess() { // SrCO3 -> SrO + CO2 - ROASTER_RECIPES.recipeBuilder() - .input(dust, Strontianite, 5) - .output(dust, StrontiumOxide, 2) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * TICK) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Strontianite, 5) + output(dust, StrontiumOxide, 2) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[HV]) + duration(10 * TICK) + } // 3SrO + 2Fe -> 3Sr + Fe2O3 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, StrontiumOxide, 6) - .input(dust, Iron, 2) - .output(dust, Strontium, 3) - .output(dust, BandedIron, 5) - .EUt(VA[MV]) - .duration(20 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, StrontiumOxide, 6) + input(dust, Iron, 2) + output(dust, Strontium, 3) + output(dust, BandedIron, 5) + EUt(VA[MV]) + duration(20 * SECOND) + } // 3SrO + 2Al -> 3Sr + Al2O3 - BURNER_REACTOR_RECIPES.recipeBuilder() - .input(dust, StrontiumOxide, 6) - .input(dust, Aluminium, 2) - .output(dust, Strontium, 3) - .output(dust, Alumina, 5) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() + BURNER_REACTOR_RECIPES.addRecipe { + input(dust, StrontiumOxide, 6) + input(dust, Aluminium, 2) + output(dust, Strontium, 3) + output(dust, Alumina, 5) + EUt(VA[MV]) + duration(5 * SECOND) + } } private fun celestineProcess() { // SrSO4 + 4C -> SrS + 4CO - ROASTER_RECIPES.recipeBuilder() - .input(dust, Celestine, 6) - .input(dust, Carbon, 4) - .output(dust, StrontiumSulfide, 2) - .fluidOutputs(CarbonMonoxide.getFluid(4000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Celestine, 6) + input(dust, Carbon, 4) + output(dust, StrontiumSulfide, 2) + fluidOutputs(CarbonMonoxide.getFluid(4000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // SrS + 2O -> Sr + SO2 - ROASTER_RECIPES.recipeBuilder() - .input(dust, StrontiumSulfide, 2) - .fluidInputs(Oxygen.getFluid(2000)) - .output(dust, Strontium) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(5 * SECOND) - .buildAndRegister() - + ROASTER_RECIPES.addRecipe { + input(dust, StrontiumSulfide, 2) + fluidInputs(Oxygen.getFluid(2000)) + output(dust, Strontium) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[MV]) + duration(5 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/TechnetiumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/TechnetiumProcessing.kt index 1f0c25cbd..91eb9ba0f 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/TechnetiumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/TechnetiumProcessing.kt @@ -13,6 +13,7 @@ import gregtech.api.unification.material.Materials.NitricAcid import gregtech.api.unification.material.Materials.Water import gregtech.api.unification.ore.OrePrefix.dust import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.EUt import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CHEMICAL_DEHYDRATOR_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.AmmoniumNitrate @@ -29,45 +30,44 @@ internal object TechnetiumProcessing fun init() { // Tc2O7 + H2O -> HTcO4 - MIXER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, TechnetiumHeptaoxide, 9) - .fluidInputs(Water.getFluid(1000)) - .fluidOutputs(Pertechnetate.getFluid(1000)) - .EUt(VA[HV]) - .duration(10 * SECOND) - .buildAndRegister() + MIXER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, TechnetiumHeptaoxide, 9) + fluidInputs(Water.getFluid(1000)) + fluidOutputs(Pertechnetate.getFluid(1000)) + EUt(VA[HV]) + duration(10 * SECOND) + } // NH3 + HNO3 -> NH4NO3 - CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Ammonia.getFluid(1000)) - .fluidInputs(NitricAcid.getFluid(1000)) - .output(dust, AmmoniumNitrate, 2) // Special count like NH4Cl. - .EUt(VA[LV]) - .duration(3 * SECOND) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + fluidInputs(Ammonia.getFluid(1000)) + fluidInputs(NitricAcid.getFluid(1000)) + output(dust, AmmoniumNitrate, 2) // Special count like NH4Cl. + EUt(VA[LV]) + duration(3 * SECOND) + } // HTcO4 + NH4NO3 -> NH4TcO4 + HNO3 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, AmmoniumNitrate, 2) - .fluidInputs(Pertechnetate.getFluid(1000)) - .output(dust, AmmoniumPertechnetate, 10) - .fluidOutputs(NitricAcid.getFluid(1000)) - .EUt(VA[EV]) - .duration(5 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, AmmoniumNitrate, 2) + fluidInputs(Pertechnetate.getFluid(1000)) + output(dust, AmmoniumPertechnetate, 10) + fluidOutputs(NitricAcid.getFluid(1000)) + EUt(VA[EV]) + duration(5 * SECOND) + } // 2NH4TcO4 -> 2TcO2 + 4H2O + 2N (drop) - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, AmmoniumPertechnetate, 20) - .output(dust, TechnetiumDioxide, 6) - .fluidOutputs(Water.getFluid(4000)) - .EUt(VA[IV]) - .duration(15 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, AmmoniumPertechnetate, 20) + output(dust, TechnetiumDioxide, 6) + fluidOutputs(Water.getFluid(4000)) + EUt(VA[IV]) + duration(15 * SECOND) + } // TcO2 -> Tc + 2O by electrolysis decomposition. - } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/ThalliumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/ThalliumProcessing.kt index 9aabe7ebf..dc954d219 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/ThalliumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/ThalliumProcessing.kt @@ -5,7 +5,8 @@ import gregtech.api.GTValues.MV import gregtech.api.GTValues.ULV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VHA -import gregtech.api.recipes.GTRecipeHandler +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.ELECTROLYZER_RECIPES import gregtech.api.unification.OreDictUnifier @@ -47,71 +48,70 @@ internal object ThalliumProcessing fun init() { // FeS2 -> Fe2(SO4)3 + S - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Pyrite)), arrayOf(Oxygen.getFluid(3000))) - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Pyrite, 2) - .output(dust, Iron3Sulfate) - .output(dust, Sulfur) - .EUt(VA[ULV]) - .duration(4 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Pyrite, 2) + output(dust, Iron3Sulfate) + output(dust, Sulfur) + EUt(VA[ULV]) + duration(4 * SECOND) + } // FeS2 + 6O -> Fe + Tl2SO4 + SO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Pyrite, 3) - .fluidInputs(Oxygen.getFluid(6000)) - .output(ingot, Iron) - .output(dust, ThalliumSulfate, 7) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Pyrite, 3) + fluidInputs(Oxygen.getFluid(6000)) + output(ingot, Iron) + output(dust, ThalliumSulfate, 7) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // PbS + 3O -> PbO + 1/3Ag + SO2 - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Galena)), arrayOf(Oxygen.getFluid(3000))) - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(dust, Galena) - .fluidInputs(Oxygen.getFluid(3000)) - .output(dust, Massicot) - .output(dustTiny, Silver, 6) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(6 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(1) + input(dust, Galena) + fluidInputs(Oxygen.getFluid(3000)) + output(dust, Massicot) + output(dustTiny, Silver, 6) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[MV]) + duration(6 * SECOND) + } // 2PbS + 6O -> 2Pb + Tl2SO4 + SO2 - ROASTER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, Galena, 4) - .fluidInputs(Oxygen.getFluid(6000)) - .output(ingot, Lead, 2) - .output(dust, ThalliumSulfate, 7) - .fluidOutputs(SulfurDioxide.getFluid(1000)) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, Galena, 4) + fluidInputs(Oxygen.getFluid(6000)) + output(ingot, Lead, 2) + output(dust, ThalliumSulfate, 7) + fluidOutputs(SulfurDioxide.getFluid(1000)) + EUt(VA[HV]) + duration(5 * SECOND) + } // Tl2SO4 + H2O -> 2Tl + H2SO4 + O - ELECTROLYZER_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(dust, ThalliumSulfate, 7) - .fluidInputs(Water.getFluid(1000)) - .output(dust, Thallium, 2) - .fluidOutputs(SulfuricAcid.getFluid(1000)) - .fluidOutputs(Oxygen.getFluid(1000)) - .EUt(VHA[MV]) - .duration(10 * SECOND) - .buildAndRegister() - + ELECTROLYZER_RECIPES.addRecipe { + circuitMeta(2) + input(dust, ThalliumSulfate, 7) + fluidInputs(Water.getFluid(1000)) + output(dust, Thallium, 2) + fluidOutputs(SulfuricAcid.getFluid(1000)) + fluidOutputs(Oxygen.getFluid(1000)) + EUt(VHA[MV]) + duration(10 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/TungstenProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/TungstenProcessing.kt index b8d5f04c2..d16dff2e3 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/TungstenProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/TungstenProcessing.kt @@ -5,7 +5,8 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA import gregtech.api.GTValues.VH import gregtech.api.GTValues.VHA -import gregtech.api.recipes.GTRecipeHandler +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES import gregtech.api.recipes.RecipeMaps.ELECTROLYZER_RECIPES @@ -34,17 +35,16 @@ internal object TungstenProcessing fun init() { // Remove original recipes of H2WO4. - GTRecipeHandler.removeRecipesByInputs(ELECTROLYZER_RECIPES, - OreDictUnifier.get(dust, TungsticAcid, 7)) + ELECTROLYZER_RECIPES.removeRecipe(OreDictUnifier.get(dust, TungsticAcid, 7)) // H2WO4/(WO3)·H2O -> WO3 + H2O - CHEMICAL_DEHYDRATOR_RECIPES.recipeBuilder() - .input(dust, TungsticAcid, 7) - .output(dust, TungstenTrioxide, 4) - .fluidOutputs(Water.getFluid(1000)) - .EUt(VH[LV]) - .duration(8 * SECOND) - .buildAndRegister() + CHEMICAL_DEHYDRATOR_RECIPES.addRecipe { + input(dust, TungsticAcid, 7) + output(dust, TungstenTrioxide, 4) + fluidOutputs(Water.getFluid(1000)) + EUt(VH[LV]) + duration(8 * SECOND) + } // Choices of WO3 -> W process: // i) Blasting it with Carbon dust and get Tungsten hot ingot. @@ -52,36 +52,35 @@ internal object TungstenProcessing // iii) Chemistry processing it with Liquid Hydrogen and get Tungsten dust. // 2WO3 + 3C -> 2W + 3CO2 - BLAST_RECIPES.recipeBuilder() - .input(dust, TungstenTrioxide, 8) - .input(dust, Carbon, 3) - .output(ingotHot, Tungsten, 2) - .fluidOutputs(CarbonDioxide.getFluid(3000)) - .blastFurnaceTemp(Tungsten.blastTemperature) - .EUt(VA[EV]) - .duration(2 * MINUTE) - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(dust, TungstenTrioxide, 8) + input(dust, Carbon, 3) + output(ingotHot, Tungsten, 2) + fluidOutputs(CarbonDioxide.getFluid(3000)) + blastFurnaceTemp(Tungsten.blastTemperature) + EUt(VA[EV]) + duration(2 * MINUTE) + } // WO3 + 6H -> W + 3H2O - CHEMICAL_RECIPES.recipeBuilder() - .input(dust, TungstenTrioxide, 4) - .fluidInputs(Hydrogen.getFluid(6000)) - .output(dust, Tungsten) - .fluidOutputs(Water.getFluid(3000)) - .EUt(VHA[EV]) - .duration(10 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_RECIPES.addRecipe { + input(dust, TungstenTrioxide, 4) + fluidInputs(Hydrogen.getFluid(6000)) + output(dust, Tungsten) + fluidOutputs(Water.getFluid(3000)) + EUt(VHA[EV]) + duration(10 * SECOND + 10 * TICK) + } // 2WO3 + 3C -> 2W + 3CO2 - ROASTER_RECIPES.recipeBuilder() - .input(dust, TungstenTrioxide, 8) - .input(dust, Carbon, 3) - .output(dust, Tungsten, 2) - .fluidOutputs(CarbonDioxide.getFluid(3000)) - .EUt(VA[EV]) - .duration(30 * SECOND) - .buildAndRegister() - + ROASTER_RECIPES.addRecipe { + input(dust, TungstenTrioxide, 8) + input(dust, Carbon, 3) + output(dust, Tungsten, 2) + fluidOutputs(CarbonDioxide.getFluid(3000)) + EUt(VA[EV]) + duration(30 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/UraniumPlutoniumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/UraniumPlutoniumProcessing.kt index 5eb2c8de0..be8234045 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/UraniumPlutoniumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/UraniumPlutoniumProcessing.kt @@ -3,7 +3,8 @@ package gregtechlite.gtlitecore.loader.recipe.oreprocessing import gregtech.api.GTValues.HV import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA -import gregtech.api.recipes.GTRecipeHandler +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CENTRIFUGE_RECIPES import gregtech.api.recipes.RecipeMaps.ELECTROLYZER_RECIPES @@ -31,38 +32,36 @@ internal object UraniumPlutoniumProcessing fun init() { // Add several simplified recipes for U, U235, and U238. - GTRecipeHandler.removeRecipesByInputs(ELECTROLYZER_RECIPES, - UraniumHexafluoride.getFluid(1000)) + ELECTROLYZER_RECIPES.removeRecipe(UraniumHexafluoride.getFluid(1000)) // UO2 + 2Mg -> U + 2MgO - ROASTER_RECIPES.recipeBuilder() - .input(dust, Uraninite, 3) - .input(dust, Magnesium, 2) - .output(dust, Uranium) - .output(dust, Magnesia, 4) - .EUt(VA[HV]) - .duration(5 * SECOND) - .buildAndRegister() + ROASTER_RECIPES.addRecipe { + input(dust, Uraninite, 3) + input(dust, Magnesium, 2) + output(dust, Uranium) + output(dust, Magnesia, 4) + EUt(VA[HV]) + duration(5 * SECOND) + } // UO2 + C -> U + CO2 - BLAST_RECIPES.recipeBuilder() - .input(dust, Uraninite, 3) - .input(dust, Carbon) - .output(ingot, Uranium) - .fluidOutputs(CarbonDioxide.getFluid(1000)) - .EUt(VA[MV]) - .duration(15 * SECOND) - .blastFurnaceTemp(600) - .buildAndRegister() + BLAST_RECIPES.addRecipe { + input(dust, Uraninite, 3) + input(dust, Carbon) + output(ingot, Uranium) + fluidOutputs(CarbonDioxide.getFluid(1000)) + EUt(VA[MV]) + duration(15 * SECOND) + blastFurnaceTemp(600) + } // Pu239 -> Pu241 - CENTRIFUGE_RECIPES.recipeBuilder() - .input(dust, Plutonium239) - .output(dust, Plutonium241) - .EUt(VA[MV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() - + CENTRIFUGE_RECIPES.addRecipe { + input(dust, Plutonium239) + output(dust, Plutonium241) + EUt(VA[MV]) + duration(2 * SECOND + 10 * TICK) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/VibraniumProcessing.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/VibraniumProcessing.kt index 6037245fc..a842a25e7 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/VibraniumProcessing.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/oreprocessing/VibraniumProcessing.kt @@ -5,7 +5,8 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.UHV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM -import gregtech.api.recipes.GTRecipeHandler +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.removeRecipe import gregtech.api.recipes.RecipeMaps.BLAST_RECIPES import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.ELECTROMAGNETIC_SEPARATOR_RECIPES @@ -47,71 +48,70 @@ internal object VibraniumProcessing fun init() { // 10Ad -> Vb? + Fe2KeIn + 2Nq + 2Os - CHEMICAL_PLANT_RECIPES.recipeBuilder() - .circuitMeta(24) - .input(dust, Adamantium, 10) - .fluidInputs(BedrockGas.getFluid(100)) - .fluidInputs(SulfuricAcid.getFluid(100)) - .output(dust, AdamantiumEnriched, 1) - .output(dust, DeepIron, 5) - .output(dust, Naquadah, 2) - .output(dust, Osmium, 2) - .fluidOutputs(DilutedSulfuricAcid.getFluid(900)) - .EUt(VA[UHV]) - .duration(10 * SECOND) - .buildAndRegister() + CHEMICAL_PLANT_RECIPES.addRecipe { + circuitMeta(24) + input(dust, Adamantium, 10) + fluidInputs(BedrockGas.getFluid(100)) + fluidInputs(SulfuricAcid.getFluid(100)) + output(dust, AdamantiumEnriched, 1) + output(dust, DeepIron, 5) + output(dust, Naquadah, 2) + output(dust, Osmium, 2) + fluidOutputs(DilutedSulfuricAcid.getFluid(900)) + EUt(VA[UHV]) + duration(10 * SECOND) + } // Fe2KeIn -> 2Fe + Ke + In - ELECTROMAGNETIC_SEPARATOR_RECIPES.recipeBuilder() - .input(dust, DeepIron, 4) - .output(dust, Iron, 2) - .output(dust, Trinium) - .output(dust, Indium) - .EUt(VA[IV]) - .duration(30 * SECOND) - .buildAndRegister() + ELECTROMAGNETIC_SEPARATOR_RECIPES.addRecipe { + input(dust, DeepIron, 4) + output(dust, Iron, 2) + output(dust, Trinium) + output(dust, Indium) + EUt(VA[IV]) + duration(30 * SECOND) + } // 4Vb? + 4Nq+ -> Vb* + 2Nq+ (part cycle) + Pu239 - CHEMICAL_BATH_RECIPES.recipeBuilder() - .input(dust, AdamantiumEnriched, 4) - .fluidInputs(NaquadahEnriched.getFluid(L * 4)) - .output(dust, NaquadahEnriched, 2) - .output(dust, Plutonium239, 1) - .fluidOutputs(VibraniumUnstable.getFluid(L * 4)) - .EUt(VA[ZPM]) - .duration(1 * MINUTE + 20 * SECOND) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + input(dust, AdamantiumEnriched, 4) + fluidInputs(NaquadahEnriched.getFluid(L * 4)) + output(dust, NaquadahEnriched, 2) + output(dust, Plutonium239, 1) + fluidOutputs(VibraniumUnstable.getFluid(L * 4)) + EUt(VA[ZPM]) + duration(1 * MINUTE + 20 * SECOND) + } // Tr + Vb* -> Vb - FUSION_RECIPES.recipeBuilder() - .fluidInputs(Tritanium.getFluid(L)) - .fluidInputs(VibraniumUnstable.getFluid(L)) - .fluidOutputs(Vibranium.getPlasma(L)) - .EUt(VA[ZPM] * 2L) // ZPM - .duration(3 * SECOND + 4 * TICK) - .EUToStart(620_000_000L) // 620M EU, MK3 - .buildAndRegister() + FUSION_RECIPES.addRecipe { + fluidInputs(Tritanium.getFluid(L)) + fluidInputs(VibraniumUnstable.getFluid(L)) + fluidOutputs(Vibranium.getPlasma(L)) + EUt(VA[ZPM] * 2L) // ZPM + duration(3 * SECOND + 4 * TICK) + EUToStart(620_000_000L) // 620M EU, MK3 + } // Vibranium plasma will direct cooling by fluid solidification to // a hot vibranium ingot, vibranium dust cannot blast to ingot yet, // just like adamantium. - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( OreDictUnifier.get(dust, Vibranium), IntCircuitIngredient.getIntegratedCircuit(1)) - GTRecipeHandler.removeRecipesByInputs(BLAST_RECIPES, + BLAST_RECIPES.removeRecipe( arrayOf(OreDictUnifier.get(dust, Vibranium), - IntCircuitIngredient.getIntegratedCircuit(2)), + IntCircuitIngredient.getIntegratedCircuit(2)), arrayOf(Neon.getFluid(25))) - FLUID_SOLIDFICATION_RECIPES.recipeBuilder() - .notConsumable(SHAPE_MOLD_INGOT) - .fluidInputs(Vibranium.getPlasma(L)) - .output(ingotHot, Vibranium) - .EUt(500_000) // UV - .duration(20 * SECOND) - .buildAndRegister() - + FLUID_SOLIDFICATION_RECIPES.addRecipe { + notConsumable(SHAPE_MOLD_INGOT) + fluidInputs(Vibranium.getPlasma(L)) + output(ingotHot, Vibranium) + EUt(500_000) // UV + duration(20 * SECOND) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/AdvancedFusionRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/AdvancedFusionRecipeProducer.kt index bfd48b6a5..d2f4ad733 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/AdvancedFusionRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/AdvancedFusionRecipeProducer.kt @@ -5,6 +5,7 @@ import gregtech.api.GTValues.V import gregtech.api.recipes.RecipeMaps.FUSION_RECIPES import gregtech.api.recipes.properties.impl.FusionEUToStartProperty import gregtech.api.unification.material.Materials.Steam +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.ADVANCED_FUSION_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LeadBismuthEutatic import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.LithiumBerylliumFluorides @@ -34,7 +35,6 @@ object AdvancedFusionRecipeProducer fun produce() { - FUSION_RECIPES.recipeList .filter { it.fluidInputs.size <= 2 && it.fluidOutputs.size <= 1 } .forEach { recipe -> @@ -59,15 +59,15 @@ object AdvancedFusionRecipeProducer COOLANTS.forEach { (inputFluid, outputFluid) -> val amount = max((euCost / (V[EV] * 10000)) * inputFluid.amount, 1).toInt() - ADVANCED_FUSION_RECIPES.recipeBuilder() - .fluidInputs(inputs) - .fluidInputs(FluidStack(inputFluid, amount)) - .fluidOutputs(outputs) - .fluidOutputs(FluidStack(outputFluid, amount)) - .EUt(eut) - .tier(tier) - .duration(duration) - .buildAndRegister() + ADVANCED_FUSION_RECIPES.addRecipe { + fluidInputs(inputs) + fluidInputs(FluidStack(inputFluid, amount)) + fluidOutputs(outputs) + fluidOutputs(FluidStack(outputFluid, amount)) + EUt(eut) + duration(duration) + tier(tier) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/AlloyBlastRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/AlloyBlastRecipeProducer.kt index 488eabebb..7fbe1b3e1 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/AlloyBlastRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/AlloyBlastRecipeProducer.kt @@ -1,6 +1,8 @@ package gregtechlite.gtlitecore.loader.recipe.producer -import gregtech.api.GTValues +import gregtech.api.GTValues.L +import gregtech.api.GTValues.MV +import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeBuilder import gregtech.api.recipes.builders.BlastRecipeBuilder import gregtech.api.unification.material.Material @@ -36,11 +38,11 @@ open class AlloyBlastRecipeProducer val builder: RecipeBuilder = createBuilder(property, material) - val outputAmount: Int = this.addInputs(material, builder) + val outputAmount: Int = addInputs(material, builder) if (outputAmount <= 0) return - this.buildRecipes(property, output, outputAmount, componentAmount, builder) + buildRecipes(property, output, outputAmount, componentAmount, builder) } open fun createBuilder(property: BlastProperty, material: Material): BlastRecipeBuilder @@ -54,7 +56,7 @@ open class AlloyBlastRecipeProducer builder.duration(duration) var eUt = property.eUtOverride - if (eUt < 0) eUt = GTValues.VA[GTValues.MV] + if (eUt < 0) eUt = VA[MV] builder.EUt(eUt.toLong()) return builder.blastFurnaceTemp(property.blastTemperature) @@ -95,7 +97,7 @@ open class AlloyBlastRecipeProducer builder: RecipeBuilder) { // Add the fluid output with the correct amount. - builder.fluidOutputs(FluidStack(output, GTValues.L * outputAmount)) + builder.fluidOutputs(FluidStack(output, L * outputAmount)) // Apply ABS duration reduction: 3/4. val duration = builder.duration * outputAmount * 3 / 4 // Build the Gas recipe if it exists. @@ -103,13 +105,13 @@ open class AlloyBlastRecipeProducer { val builderGas: RecipeBuilder = builder.copy() val gas = CraftingComponent.EBF_GASES[property.gasTier] - builderGas.circuitMeta(this.getGasCircuitNumber(componentAmount)) + builderGas.circuitMeta(getGasCircuitNumber(componentAmount)) .fluidInputs(FluidStack(gas, (gas as FluidStack).amount * outputAmount)) .duration((duration * 0.67).toInt()) .buildAndRegister() } // Build the non-gas recipe. - builder.circuitMeta(this.getCircuitNumber(componentAmount)) + builder.circuitMeta(getCircuitNumber(componentAmount)) .duration(duration) .buildAndRegister() } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/CircuitAssemblyLineRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/CircuitAssemblyLineRecipeProducer.kt index cba3d79e4..b991b3d58 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/CircuitAssemblyLineRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/CircuitAssemblyLineRecipeProducer.kt @@ -127,6 +127,7 @@ import gregtech.common.items.MetaItems.WORKSTATION_EV import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.CIRCUIT_ASSEMBLY_LINE_RECIPES import gregtechlite.gtlitecore.api.recipe.util.circuitInfo import gregtechlite.gtlitecore.api.recipe.util.createCircuitPatternRecipe @@ -329,583 +330,583 @@ internal object CircuitAssemblyLineRecipeProducer // region T1: Electronic // LV Electronic Circuit - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_BASIC_CIRCUIT_BOARD) - .input(WRAP_SMD_RESISTOR, 2) - .input(VACUUM_TUBE, 32) - .input(wireGtHex, RedAlloy, 2) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(ELECTRONIC_CIRCUIT_LV, 64) - .EUt(VH[LV]) - .duration(1 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(ELECTRONIC_CIRCUIT_LV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_BASIC_CIRCUIT_BOARD) + input(WRAP_SMD_RESISTOR, 2) + input(VACUUM_TUBE, 32) + input(wireGtHex, RedAlloy, 2) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(ELECTRONIC_CIRCUIT_LV, 64) + EUt(VH[LV]) + duration(1 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(ELECTRONIC_CIRCUIT_LV) + } // MV Good Electronic Circuit - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_GOOD_CIRCUIT_BOARD) - .input(ELECTRONIC_CIRCUIT_LV, 32) - .input(WRAP_SMD_DIODE, 2) - .input(wireGtHex, Copper, 2) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(ELECTRONIC_CIRCUIT_MV, 32) - .EUt(VH[LV]) - .duration(1 * MINUTE + 20 * SECOND) // Original: 15s, Wrapped: 15s * 16 = 240s - .circuitInfo(ELECTRONIC_CIRCUIT_MV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_GOOD_CIRCUIT_BOARD) + input(ELECTRONIC_CIRCUIT_LV, 32) + input(WRAP_SMD_DIODE, 2) + input(wireGtHex, Copper, 2) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(ELECTRONIC_CIRCUIT_MV, 32) + EUt(VH[LV]) + duration(1 * MINUTE + 20 * SECOND) // Original: 15s, Wrapped: 15s * 16 = 240s + circuitInfo(ELECTRONIC_CIRCUIT_MV) + } // endregion // region T2: Integrated // LV Integrated Circuit - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_BASIC_CIRCUIT_BOARD) - .input(WRAP_ILC_CHIP) - .input(WRAP_SMD_RESISTOR, 2) - .input(WRAP_SMD_RESISTOR, 2) - .input(wireGtQuadruple, Copper, 2) - .input(bolt, Tin, 32) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(INTEGRATED_CIRCUIT_LV, 64) - .EUt(VH[LV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(INTEGRATED_CIRCUIT_LV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_BASIC_CIRCUIT_BOARD) + input(WRAP_ILC_CHIP) + input(WRAP_SMD_RESISTOR, 2) + input(WRAP_SMD_RESISTOR, 2) + input(wireGtQuadruple, Copper, 2) + input(bolt, Tin, 32) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(INTEGRATED_CIRCUIT_LV, 64) + EUt(VH[LV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(INTEGRATED_CIRCUIT_LV) + } // MV Good Integrated Circuit - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_GOOD_CIRCUIT_BOARD) - .input(INTEGRATED_CIRCUIT_LV, 64) - .input(WRAP_SMD_RESISTOR, 2) - .input(WRAP_SMD_DIODE, 2) - .input(wireGtQuadruple, Gold, 4) - .input(bolt, Silver, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(INTEGRATED_CIRCUIT_MV, 48) - .EUt(24) // LV - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(INTEGRATED_CIRCUIT_MV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_GOOD_CIRCUIT_BOARD) + input(INTEGRATED_CIRCUIT_LV, 64) + input(WRAP_SMD_RESISTOR, 2) + input(WRAP_SMD_DIODE, 2) + input(wireGtQuadruple, Gold, 4) + input(bolt, Silver, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(INTEGRATED_CIRCUIT_MV, 48) + EUt(24) // LV + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(INTEGRATED_CIRCUIT_MV) + } // HV Advanced Integrated Circuit - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(INTEGRATED_CIRCUIT_MV, 48) - .input(WRAP_ILC_CHIP, 2) - .input(WRAP_RAM_CHIP, 2) - .input(WRAP_SMD_TRANSISTOR, 4) - .input(wireGtQuadruple, Electrum, 8) - .input(bolt, AnnealedCopper, 64) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(INTEGRATED_CIRCUIT_HV, 32) - .EUt(VA[LV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .circuitInfo(INTEGRATED_CIRCUIT_HV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(INTEGRATED_CIRCUIT_MV, 48) + input(WRAP_ILC_CHIP, 2) + input(WRAP_RAM_CHIP, 2) + input(WRAP_SMD_TRANSISTOR, 4) + input(wireGtQuadruple, Electrum, 8) + input(bolt, AnnealedCopper, 64) + fluidInputs(SolderingAlloy.getFluid(L)) + output(INTEGRATED_CIRCUIT_HV, 32) + EUt(VA[LV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + circuitInfo(INTEGRATED_CIRCUIT_HV) + } // endregion // region T3: Processor // ULV NAND Chip - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_GOOD_CIRCUIT_BOARD) - .input(WRAP_SIMPLE_SOC_CHIP) - .input(bolt, RedAlloy, 32) - .input(wireGtQuadruple, Tin, 2) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(NAND_CHIP_ULV, 64) - .output(NAND_CHIP_ULV, 64) - .EUt(VA[MV]) - .duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s - .circuitInfo(NAND_CHIP_ULV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(WRAP_SIMPLE_SOC_CHIP) - .input(bolt, RedAlloy, 32) - .input(wireGtQuadruple, Tin, 2) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(NAND_CHIP_ULV, 64) - .output(NAND_CHIP_ULV, 64) - .output(NAND_CHIP_ULV, 64) - .output(NAND_CHIP_ULV, 64) - .EUt(VA[MV]) - .duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s - .circuitInfo(NAND_CHIP_ULV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_GOOD_CIRCUIT_BOARD) + input(WRAP_SIMPLE_SOC_CHIP) + input(bolt, RedAlloy, 32) + input(wireGtQuadruple, Tin, 2) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(NAND_CHIP_ULV, 64) + output(NAND_CHIP_ULV, 64) + EUt(VA[MV]) + duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s + circuitInfo(NAND_CHIP_ULV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(WRAP_SIMPLE_SOC_CHIP) + input(bolt, RedAlloy, 32) + input(wireGtQuadruple, Tin, 2) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(NAND_CHIP_ULV, 64) + output(NAND_CHIP_ULV, 64) + output(NAND_CHIP_ULV, 64) + output(NAND_CHIP_ULV, 64) + EUt(VA[MV]) + duration(3 * MINUTE) // Original: 15s, Wrapped: 15s * 16 = 240s + circuitInfo(NAND_CHIP_ULV) + } // LV Microprocessor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(WRAP_CPU_CHIP) - .input(WRAP_SMD_RESISTOR, 2) - .input(WRAP_SMD_CAPACITOR, 2) - .input(WRAP_SMD_TRANSISTOR, 2) - .input(wireGtQuadruple, Copper) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(MICROPROCESSOR_LV, 64) - .EUt(VHA[MV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(MICROPROCESSOR_LV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(WRAP_SOC_CHIP) - .input(wireGtQuadruple, Copper, 2) - .input(bolt, Tin, 32) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(MICROPROCESSOR_LV, 64) - .output(MICROPROCESSOR_LV, 64) - .EUt(600) // EV - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(MICROPROCESSOR_LV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(WRAP_CPU_CHIP) + input(WRAP_SMD_RESISTOR, 2) + input(WRAP_SMD_CAPACITOR, 2) + input(WRAP_SMD_TRANSISTOR, 2) + input(wireGtQuadruple, Copper) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(MICROPROCESSOR_LV, 64) + EUt(VHA[MV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(MICROPROCESSOR_LV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(WRAP_SOC_CHIP) + input(wireGtQuadruple, Copper, 2) + input(bolt, Tin, 32) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(MICROPROCESSOR_LV, 64) + output(MICROPROCESSOR_LV, 64) + EUt(600) // EV + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(MICROPROCESSOR_LV) + } // MV Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(WRAP_CPU_CHIP) - .input(WRAP_SMD_RESISTOR, 4) - .input(WRAP_SMD_CAPACITOR, 4) - .input(WRAP_SMD_TRANSISTOR, 4) - .input(wireGtQuadruple, RedAlloy, 4) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(PROCESSOR_MV, 64) - .EUt(VHA[MV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(PROCESSOR_MV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(WRAP_SOC_CHIP) - .input(wireGtQuadruple, RedAlloy, 4) - .input(bolt, AnnealedCopper, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(PROCESSOR_MV, 64) - .output(PROCESSOR_MV, 64) - .EUt(2400) // IV - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(PROCESSOR_MV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(WRAP_CPU_CHIP) + input(WRAP_SMD_RESISTOR, 4) + input(WRAP_SMD_CAPACITOR, 4) + input(WRAP_SMD_TRANSISTOR, 4) + input(wireGtQuadruple, RedAlloy, 4) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(PROCESSOR_MV, 64) + EUt(VHA[MV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(PROCESSOR_MV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(WRAP_SOC_CHIP) + input(wireGtQuadruple, RedAlloy, 4) + input(bolt, AnnealedCopper, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(PROCESSOR_MV, 64) + output(PROCESSOR_MV, 64) + EUt(2400) // IV + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(PROCESSOR_MV) + } // HV Processor Assembly - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(PROCESSOR_MV, 64) - .input(WRAP_SMD_INDUCTOR, 4) - .input(WRAP_SMD_CAPACITOR, 8) - .input(WRAP_RAM_CHIP, 4) - .input(wireGtQuadruple, RedAlloy, 8) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(PROCESSOR_ASSEMBLY_HV, 48) - .EUt(90) // MV - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(PROCESSOR_ASSEMBLY_HV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(PROCESSOR_MV, 64) + input(WRAP_SMD_INDUCTOR, 4) + input(WRAP_SMD_CAPACITOR, 8) + input(WRAP_RAM_CHIP, 4) + input(wireGtQuadruple, RedAlloy, 8) + fluidInputs(SolderingAlloy.getFluid(L)) + output(PROCESSOR_ASSEMBLY_HV, 48) + EUt(90) // MV + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(PROCESSOR_ASSEMBLY_HV) + } // EV Workstation - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(PROCESSOR_ASSEMBLY_HV, 48) - .input(WRAP_SMD_DIODE, 4) - .input(WRAP_RAM_CHIP, 4) - .input(wireGtQuadruple, Electrum, 16) - .input(bolt, BlueAlloy, 64) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(WORKSTATION_EV, 32) - .EUt(VA[MV]) - .duration(5 * MINUTE) // Original: 20s, Wrapped: 20ss * 16 = 320s - .circuitInfo(WORKSTATION_EV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(PROCESSOR_ASSEMBLY_HV, 48) + input(WRAP_SMD_DIODE, 4) + input(WRAP_RAM_CHIP, 4) + input(wireGtQuadruple, Electrum, 16) + input(bolt, BlueAlloy, 64) + fluidInputs(SolderingAlloy.getFluid(L)) + output(WORKSTATION_EV, 32) + EUt(VA[MV]) + duration(5 * MINUTE) // Original: 20s, Wrapped: 20ss * 16 = 320s + circuitInfo(WORKSTATION_EV) + } // IV Mainframe - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, Aluminium, 32) - .input(WORKSTATION_EV, 32) - .input(WRAP_SMD_INDUCTOR, 8) - .input(WRAP_SMD_CAPACITOR, 16) - .input(WRAP_RAM_CHIP, 16) - .input(wireGtHex, AnnealedCopper, 16) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .output(MAINFRAME_IV, 16) - .EUt(VA[HV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .circuitInfo(MAINFRAME_IV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, Aluminium, 32) + input(WORKSTATION_EV, 32) + input(WRAP_SMD_INDUCTOR, 8) + input(WRAP_SMD_CAPACITOR, 16) + input(WRAP_RAM_CHIP, 16) + input(wireGtHex, AnnealedCopper, 16) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + output(MAINFRAME_IV, 16) + EUt(VA[HV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + circuitInfo(MAINFRAME_IV) + } // endregion // region T4: Nano // HV Nano Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ADVANCED_CIRCUIT_BOARD) - .input(WRAP_NANO_CPU_CHIP) - .input(WRAP_SMD_RESISTOR, 8) - .input(WRAP_SMD_CAPACITOR, 8) - .input(WRAP_SMD_TRANSISTOR, 8) - .input(wireGtQuadruple, Electrum, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(NANO_PROCESSOR_HV, 64) - .EUt(600) // EV - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(NANO_PROCESSOR_HV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ADVANCED_CIRCUIT_BOARD) - .input(WRAP_NANO_CPU_CHIP) - .input(WRAP_ADVANCED_SMD_RESISTOR, 2) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 2) - .input(WRAP_ADVANCED_SMD_TRANSISTOR, 2) - .input(wireGtQuadruple, Electrum, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(NANO_PROCESSOR_HV, 64) - .EUt(600) // EV - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(NANO_PROCESSOR_HV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ADVANCED_CIRCUIT_BOARD) - .input(WRAP_ADVANCED_SOC_CHIP) - .input(wireGtQuadruple, Electrum, 4) - .input(bolt, Platinum, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(NANO_PROCESSOR_HV, 64) - .output(NANO_PROCESSOR_HV, 64) - .EUt(9600) // LuV - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(NANO_PROCESSOR_HV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ADVANCED_CIRCUIT_BOARD) + input(WRAP_NANO_CPU_CHIP) + input(WRAP_SMD_RESISTOR, 8) + input(WRAP_SMD_CAPACITOR, 8) + input(WRAP_SMD_TRANSISTOR, 8) + input(wireGtQuadruple, Electrum, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(NANO_PROCESSOR_HV, 64) + EUt(600) // EV + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(NANO_PROCESSOR_HV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ADVANCED_CIRCUIT_BOARD) + input(WRAP_NANO_CPU_CHIP) + input(WRAP_ADVANCED_SMD_RESISTOR, 2) + input(WRAP_ADVANCED_SMD_CAPACITOR, 2) + input(WRAP_ADVANCED_SMD_TRANSISTOR, 2) + input(wireGtQuadruple, Electrum, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(NANO_PROCESSOR_HV, 64) + EUt(600) // EV + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(NANO_PROCESSOR_HV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ADVANCED_CIRCUIT_BOARD) + input(WRAP_ADVANCED_SOC_CHIP) + input(wireGtQuadruple, Electrum, 4) + input(bolt, Platinum, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(NANO_PROCESSOR_HV, 64) + output(NANO_PROCESSOR_HV, 64) + EUt(9600) // LuV + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(NANO_PROCESSOR_HV) + } // EV Nano Processor Assembly - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ADVANCED_CIRCUIT_BOARD) - .input(NANO_PROCESSOR_HV, 64) - .input(WRAP_SMD_INDUCTOR, 4) - .input(WRAP_SMD_CAPACITOR, 8) - .input(WRAP_RAM_CHIP, 8) - .input(wireGtQuadruple, Electrum, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(NANO_PROCESSOR_ASSEMBLY_EV, 48) - .EUt(600) // EV - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(NANO_PROCESSOR_ASSEMBLY_EV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ADVANCED_CIRCUIT_BOARD) - .input(NANO_PROCESSOR_HV, 64) - .input(WRAP_ADVANCED_SMD_INDUCTOR) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 2) - .input(WRAP_RAM_CHIP, 8) - .input(wireGtQuadruple, Electrum, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(NANO_PROCESSOR_ASSEMBLY_EV, 48) - .EUt(600) // EV - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(NANO_PROCESSOR_ASSEMBLY_EV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ADVANCED_CIRCUIT_BOARD) + input(NANO_PROCESSOR_HV, 64) + input(WRAP_SMD_INDUCTOR, 4) + input(WRAP_SMD_CAPACITOR, 8) + input(WRAP_RAM_CHIP, 8) + input(wireGtQuadruple, Electrum, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(NANO_PROCESSOR_ASSEMBLY_EV, 48) + EUt(600) // EV + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(NANO_PROCESSOR_ASSEMBLY_EV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ADVANCED_CIRCUIT_BOARD) + input(NANO_PROCESSOR_HV, 64) + input(WRAP_ADVANCED_SMD_INDUCTOR) + input(WRAP_ADVANCED_SMD_CAPACITOR, 2) + input(WRAP_RAM_CHIP, 8) + input(wireGtQuadruple, Electrum, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(NANO_PROCESSOR_ASSEMBLY_EV, 48) + EUt(600) // EV + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(NANO_PROCESSOR_ASSEMBLY_EV) + } // IV Nano Computer - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ADVANCED_CIRCUIT_BOARD) - .input(NANO_PROCESSOR_ASSEMBLY_EV, 48) - .input(WRAP_SMD_DIODE, 8) - .input(WRAP_NOR_CHIP, 4) - .input(WRAP_RAM_CHIP, 16) - .input(wireGtQuadruple, Electrum, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(NANO_COMPUTER_IV, 32) - .EUt(600) // EV - .duration(5 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(NANO_COMPUTER_IV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ADVANCED_CIRCUIT_BOARD) - .input(NANO_PROCESSOR_ASSEMBLY_EV, 48) - .input(WRAP_ADVANCED_SMD_DIODE, 2) - .input(WRAP_NOR_CHIP, 4) - .input(WRAP_RAM_CHIP, 16) - .input(wireGtQuadruple, Electrum, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(NANO_COMPUTER_IV, 32) - .EUt(600) // EV - .duration(2 * MINUTE + 30 * SECOND) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(NANO_COMPUTER_IV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ADVANCED_CIRCUIT_BOARD) + input(NANO_PROCESSOR_ASSEMBLY_EV, 48) + input(WRAP_SMD_DIODE, 8) + input(WRAP_NOR_CHIP, 4) + input(WRAP_RAM_CHIP, 16) + input(wireGtQuadruple, Electrum, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(NANO_COMPUTER_IV, 32) + EUt(600) // EV + duration(5 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(NANO_COMPUTER_IV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ADVANCED_CIRCUIT_BOARD) + input(NANO_PROCESSOR_ASSEMBLY_EV, 48) + input(WRAP_ADVANCED_SMD_DIODE, 2) + input(WRAP_NOR_CHIP, 4) + input(WRAP_RAM_CHIP, 16) + input(wireGtQuadruple, Electrum, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(NANO_COMPUTER_IV, 32) + EUt(600) // EV + duration(2 * MINUTE + 30 * SECOND) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(NANO_COMPUTER_IV) + } // LuV Nano Mainframe - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, VanadiumSteel, 32) - .input(NANO_COMPUTER_IV, 32) - .input(WRAP_SMD_INDUCTOR, 16) - .input(WRAP_SMD_CAPACITOR, 32) - .input(WRAP_RAM_CHIP, 16) - .input(wireGtHex, AnnealedCopper, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .output(NANO_MAINFRAME_LUV, 16) - .EUt(VA[EV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .circuitInfo(NANO_MAINFRAME_LUV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, VanadiumSteel, 32) - .input(NANO_COMPUTER_IV, 32) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 4) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 8) - .input(WRAP_RAM_CHIP, 16) - .input(wireGtHex, AnnealedCopper, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .output(NANO_MAINFRAME_LUV, 16) - .EUt(VA[EV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(NANO_MAINFRAME_LUV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, VanadiumSteel, 32) - .input(NANO_COMPUTER_IV, 32) - .input(WRAP_GOOWARE_SMD_INDUCTOR) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 2) - .input(WRAP_RAM_CHIP, 16) - .input(wireGtHex, AnnealedCopper, 32) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .output(NANO_MAINFRAME_LUV, 16) - .EUt(VA[EV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(NANO_MAINFRAME_LUV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, VanadiumSteel, 32) + input(NANO_COMPUTER_IV, 32) + input(WRAP_SMD_INDUCTOR, 16) + input(WRAP_SMD_CAPACITOR, 32) + input(WRAP_RAM_CHIP, 16) + input(wireGtHex, AnnealedCopper, 32) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + output(NANO_MAINFRAME_LUV, 16) + EUt(VA[EV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + circuitInfo(NANO_MAINFRAME_LUV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, VanadiumSteel, 32) + input(NANO_COMPUTER_IV, 32) + input(WRAP_ADVANCED_SMD_INDUCTOR, 4) + input(WRAP_ADVANCED_SMD_CAPACITOR, 8) + input(WRAP_RAM_CHIP, 16) + input(wireGtHex, AnnealedCopper, 32) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + output(NANO_MAINFRAME_LUV, 16) + EUt(VA[EV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(NANO_MAINFRAME_LUV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, VanadiumSteel, 32) + input(NANO_COMPUTER_IV, 32) + input(WRAP_GOOWARE_SMD_INDUCTOR) + input(WRAP_GOOWARE_SMD_CAPACITOR, 2) + input(WRAP_RAM_CHIP, 16) + input(wireGtHex, AnnealedCopper, 32) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + output(NANO_MAINFRAME_LUV, 16) + EUt(VA[EV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(NANO_MAINFRAME_LUV) + } // endregion // region T5: Quantum // EV Quantum Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(WRAP_QUBIT_CPU_CHIP) - .input(WRAP_NANO_CPU_CHIP) - .input(WRAP_SMD_CAPACITOR, 12) - .input(WRAP_SMD_TRANSISTOR, 12) - .input(wireGtQuadruple, Platinum, 12) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(QUANTUM_PROCESSOR_EV, 64) - .EUt(2400) // IV - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(QUANTUM_PROCESSOR_EV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(WRAP_QUBIT_CPU_CHIP) - .input(WRAP_NANO_CPU_CHIP) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 3) - .input(WRAP_ADVANCED_SMD_TRANSISTOR, 3) - .input(wireGtQuadruple, Platinum, 12) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(QUANTUM_PROCESSOR_EV, 64) - .EUt(2400) // IV - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(QUANTUM_PROCESSOR_EV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(WRAP_ADVANCED_SOC_CHIP) - .input(wireGtQuadruple, Platinum, 12) - .input(bolt, NiobiumTitanium, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(QUANTUM_PROCESSOR_EV, 64) - .output(QUANTUM_PROCESSOR_EV, 64) - .EUt(38400) // ZPM - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(QUANTUM_PROCESSOR_EV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(WRAP_QUBIT_CPU_CHIP) + input(WRAP_NANO_CPU_CHIP) + input(WRAP_SMD_CAPACITOR, 12) + input(WRAP_SMD_TRANSISTOR, 12) + input(wireGtQuadruple, Platinum, 12) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(QUANTUM_PROCESSOR_EV, 64) + EUt(2400) // IV + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(QUANTUM_PROCESSOR_EV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(WRAP_QUBIT_CPU_CHIP) + input(WRAP_NANO_CPU_CHIP) + input(WRAP_ADVANCED_SMD_CAPACITOR, 3) + input(WRAP_ADVANCED_SMD_TRANSISTOR, 3) + input(wireGtQuadruple, Platinum, 12) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(QUANTUM_PROCESSOR_EV, 64) + EUt(2400) // IV + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(QUANTUM_PROCESSOR_EV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(WRAP_ADVANCED_SOC_CHIP) + input(wireGtQuadruple, Platinum, 12) + input(bolt, NiobiumTitanium, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(QUANTUM_PROCESSOR_EV, 64) + output(QUANTUM_PROCESSOR_EV, 64) + EUt(38400) // ZPM + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(QUANTUM_PROCESSOR_EV) + } // IV Quantum Processor Assembly - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(QUANTUM_PROCESSOR_EV, 64) - .input(WRAP_SMD_INDUCTOR, 8) - .input(WRAP_SMD_CAPACITOR, 16) - .input(WRAP_RAM_CHIP, 4) - .input(wireGtQuadruple, Platinum, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(QUANTUM_ASSEMBLY_IV, 48) - .EUt(2400) // IV - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(QUANTUM_ASSEMBLY_IV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(QUANTUM_PROCESSOR_EV, 64) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 2) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 4) - .input(WRAP_RAM_CHIP, 4) - .input(wireGtQuadruple, Platinum, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(QUANTUM_ASSEMBLY_IV, 48) - .EUt(2400) // IV - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(QUANTUM_ASSEMBLY_IV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(QUANTUM_PROCESSOR_EV, 64) + input(WRAP_SMD_INDUCTOR, 8) + input(WRAP_SMD_CAPACITOR, 16) + input(WRAP_RAM_CHIP, 4) + input(wireGtQuadruple, Platinum, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(QUANTUM_ASSEMBLY_IV, 48) + EUt(2400) // IV + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(QUANTUM_ASSEMBLY_IV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(QUANTUM_PROCESSOR_EV, 64) + input(WRAP_ADVANCED_SMD_INDUCTOR, 2) + input(WRAP_ADVANCED_SMD_CAPACITOR, 4) + input(WRAP_RAM_CHIP, 4) + input(wireGtQuadruple, Platinum, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(QUANTUM_ASSEMBLY_IV, 48) + EUt(2400) // IV + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(QUANTUM_ASSEMBLY_IV) + } // LuV Quantum Supercomputer - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(QUANTUM_ASSEMBLY_IV, 48) - .input(WRAP_SMD_DIODE, 8) - .input(WRAP_NOR_CHIP, 4) - .input(WRAP_RAM_CHIP, 16) - .input(wireGtQuadruple, Platinum, 32) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(QUANTUM_COMPUTER_LUV, 32) - .EUt(2400) // IV - .duration(5 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(QUANTUM_COMPUTER_LUV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(QUANTUM_ASSEMBLY_IV, 48) - .input(WRAP_ADVANCED_SMD_DIODE, 2) - .input(WRAP_NOR_CHIP, 4) - .input(WRAP_RAM_CHIP, 16) - .input(wireGtQuadruple, Platinum, 32) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(QUANTUM_COMPUTER_LUV, 32) - .EUt(2400) // IV - .duration(2 * MINUTE + 30 * SECOND) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(QUANTUM_COMPUTER_LUV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(QUANTUM_ASSEMBLY_IV, 48) + input(WRAP_SMD_DIODE, 8) + input(WRAP_NOR_CHIP, 4) + input(WRAP_RAM_CHIP, 16) + input(wireGtQuadruple, Platinum, 32) + fluidInputs(SolderingAlloy.getFluid(L)) + output(QUANTUM_COMPUTER_LUV, 32) + EUt(2400) // IV + duration(5 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(QUANTUM_COMPUTER_LUV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(QUANTUM_ASSEMBLY_IV, 48) + input(WRAP_ADVANCED_SMD_DIODE, 2) + input(WRAP_NOR_CHIP, 4) + input(WRAP_RAM_CHIP, 16) + input(wireGtQuadruple, Platinum, 32) + fluidInputs(SolderingAlloy.getFluid(L)) + output(QUANTUM_COMPUTER_LUV, 32) + EUt(2400) // IV + duration(2 * MINUTE + 30 * SECOND) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(QUANTUM_COMPUTER_LUV) + } // ZPM Quantum Mainframe - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HSSG, 32) - .input(QUANTUM_COMPUTER_LUV, 32) - .input(WRAP_SMD_INDUCTOR, 24) - .input(WRAP_SMD_CAPACITOR, 48) - .input(WRAP_RAM_CHIP, 24) - .input(wireGtHex, AnnealedCopper, 48) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .output(QUANTUM_MAINFRAME_ZPM, 16) - .EUt(VA[IV]) - .duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s - .circuitInfo(QUANTUM_MAINFRAME_ZPM) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(frameGt, HSSG, 32) - .input(QUANTUM_COMPUTER_LUV, 32) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 6) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 12) - .input(WRAP_RAM_CHIP, 24) - .input(wireGtHex, AnnealedCopper, 48) - .fluidInputs(SolderingAlloy.getFluid(L * 2)) - .output(QUANTUM_MAINFRAME_ZPM, 16) - .EUt(VA[IV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(QUANTUM_MAINFRAME_ZPM) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HSSG, 32) + input(QUANTUM_COMPUTER_LUV, 32) + input(WRAP_SMD_INDUCTOR, 24) + input(WRAP_SMD_CAPACITOR, 48) + input(WRAP_RAM_CHIP, 24) + input(wireGtHex, AnnealedCopper, 48) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + output(QUANTUM_MAINFRAME_ZPM, 16) + EUt(VA[IV]) + duration(8 * MINUTE) // Original: 40s, Wrapped: 40s * 16 = 640s + circuitInfo(QUANTUM_MAINFRAME_ZPM) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(frameGt, HSSG, 32) + input(QUANTUM_COMPUTER_LUV, 32) + input(WRAP_ADVANCED_SMD_INDUCTOR, 6) + input(WRAP_ADVANCED_SMD_CAPACITOR, 12) + input(WRAP_RAM_CHIP, 24) + input(wireGtHex, AnnealedCopper, 48) + fluidInputs(SolderingAlloy.getFluid(L * 2)) + output(QUANTUM_MAINFRAME_ZPM, 16) + EUt(VA[IV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(QUANTUM_MAINFRAME_ZPM) + } // endregion // region T6: Crystal // IV Crystal Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ELITE_CIRCUIT_BOARD) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_NANO_CPU_CHIP, 2) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 4) - .input(WRAP_ADVANCED_SMD_TRANSISTOR, 4) - .input(wireGtQuadruple, NiobiumTitanium, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(CRYSTAL_PROCESSOR_IV, 64) - .EUt(9600) // LuV - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(CRYSTAL_PROCESSOR_IV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ELITE_CIRCUIT_BOARD) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_NANO_CPU_CHIP, 2) - .input(WRAP_GOOWARE_SMD_CAPACITOR) - .input(WRAP_GOOWARE_SMD_TRANSISTOR) - .input(wireGtQuadruple, NiobiumTitanium, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(CRYSTAL_PROCESSOR_IV, 64) - .EUt(9600) // LuV - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(CRYSTAL_PROCESSOR_IV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ELITE_CIRCUIT_BOARD) - .input(WRAP_CRYSTAL_SOC) - .input(wireGtQuadruple, NiobiumTitanium, 8) - .input(bolt, YttriumBariumCuprate, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(CRYSTAL_PROCESSOR_IV, 64) - .output(CRYSTAL_PROCESSOR_IV, 64) - .EUt(86000) // ZPM - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(CRYSTAL_PROCESSOR_IV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ELITE_CIRCUIT_BOARD) + input(WRAP_CRYSTAL_CPU) + input(WRAP_NANO_CPU_CHIP, 2) + input(WRAP_ADVANCED_SMD_CAPACITOR, 4) + input(WRAP_ADVANCED_SMD_TRANSISTOR, 4) + input(wireGtQuadruple, NiobiumTitanium, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(CRYSTAL_PROCESSOR_IV, 64) + EUt(9600) // LuV + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(CRYSTAL_PROCESSOR_IV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ELITE_CIRCUIT_BOARD) + input(WRAP_CRYSTAL_CPU) + input(WRAP_NANO_CPU_CHIP, 2) + input(WRAP_GOOWARE_SMD_CAPACITOR) + input(WRAP_GOOWARE_SMD_TRANSISTOR) + input(wireGtQuadruple, NiobiumTitanium, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(CRYSTAL_PROCESSOR_IV, 64) + EUt(9600) // LuV + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(CRYSTAL_PROCESSOR_IV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ELITE_CIRCUIT_BOARD) + input(WRAP_CRYSTAL_SOC) + input(wireGtQuadruple, NiobiumTitanium, 8) + input(bolt, YttriumBariumCuprate, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(CRYSTAL_PROCESSOR_IV, 64) + output(CRYSTAL_PROCESSOR_IV, 64) + EUt(86000) // ZPM + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(CRYSTAL_PROCESSOR_IV) + } // LuV Crystal Processor Assembly - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_PROCESSOR_IV, 64) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 4) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 8) - .input(WRAP_RAM_CHIP, 24) - .input(wireGtQuadruple, NiobiumTitanium, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(CRYSTAL_ASSEMBLY_LUV, 48) - .EUt(9600) // LuV - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(CRYSTAL_ASSEMBLY_LUV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_PROCESSOR_IV, 64) - .input(WRAP_GOOWARE_SMD_INDUCTOR) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 2) - .input(WRAP_RAM_CHIP, 24) - .input(wireGtQuadruple, NiobiumTitanium, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(CRYSTAL_ASSEMBLY_LUV, 48) - .EUt(9600) // LuV - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(CRYSTAL_ASSEMBLY_LUV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ELITE_CIRCUIT_BOARD) + input(CRYSTAL_PROCESSOR_IV, 64) + input(WRAP_ADVANCED_SMD_INDUCTOR, 4) + input(WRAP_ADVANCED_SMD_CAPACITOR, 8) + input(WRAP_RAM_CHIP, 24) + input(wireGtQuadruple, NiobiumTitanium, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(CRYSTAL_ASSEMBLY_LUV, 48) + EUt(9600) // LuV + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(CRYSTAL_ASSEMBLY_LUV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ELITE_CIRCUIT_BOARD) + input(CRYSTAL_PROCESSOR_IV, 64) + input(WRAP_GOOWARE_SMD_INDUCTOR) + input(WRAP_GOOWARE_SMD_CAPACITOR, 2) + input(WRAP_RAM_CHIP, 24) + input(wireGtQuadruple, NiobiumTitanium, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(CRYSTAL_ASSEMBLY_LUV, 48) + EUt(9600) // LuV + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(CRYSTAL_ASSEMBLY_LUV) + } // ZPM Crystal Supercomputer - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ELITE_CIRCUIT_BOARD) - .input(CRYSTAL_ASSEMBLY_LUV, 48) - .input(WRAP_RAM_CHIP, 4) - .input(WRAP_NOR_CHIP, 32) - .input(WRAP_NAND_CHIP, 64) - .input(wireGtQuadruple, NiobiumTitanium, 32) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(CRYSTAL_COMPUTER_ZPM, 32) - .EUt(9600) // LuV - .duration(5 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(CRYSTAL_COMPUTER_ZPM) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ELITE_CIRCUIT_BOARD) + input(CRYSTAL_ASSEMBLY_LUV, 48) + input(WRAP_RAM_CHIP, 4) + input(WRAP_NOR_CHIP, 32) + input(WRAP_NAND_CHIP, 64) + input(wireGtQuadruple, NiobiumTitanium, 32) + fluidInputs(SolderingAlloy.getFluid(L)) + output(CRYSTAL_COMPUTER_ZPM, 32) + EUt(9600) // LuV + duration(5 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(CRYSTAL_COMPUTER_ZPM) + } // UV Crystal Mainframe (AssLine) @@ -914,90 +915,90 @@ internal object CircuitAssemblyLineRecipeProducer // region T7: Wetware // LuV Wetware Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_NEURO_PROCESSOR) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_QUBIT_CPU_CHIP) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 8) - .input(WRAP_ADVANCED_SMD_TRANSISTOR, 8) - .input(wireGtQuadruple, YttriumBariumCuprate, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(WETWARE_PROCESSOR_LUV, 64) - .EUt(38400) // ZPM - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(WETWARE_PROCESSOR_LUV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_NEURO_PROCESSOR) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_QUBIT_CPU_CHIP) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 2) - .input(WRAP_GOOWARE_SMD_TRANSISTOR, 2) - .input(wireGtQuadruple, YttriumBariumCuprate, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(WETWARE_PROCESSOR_LUV, 64) - .EUt(38400) // ZPM - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(WETWARE_PROCESSOR_LUV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_NEURO_PROCESSOR) - .input(WRAP_HIGHLY_ADVANCED_SOC_CHIP) - .input(wireGtQuadruple, YttriumBariumCuprate, 8) - .input(bolt, Naquadah, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(WETWARE_PROCESSOR_LUV, 64) - .output(WETWARE_PROCESSOR_LUV, 64) - .EUt(150_000) // UV - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(WETWARE_PROCESSOR_LUV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_NEURO_PROCESSOR) + input(WRAP_CRYSTAL_CPU) + input(WRAP_QUBIT_CPU_CHIP) + input(WRAP_ADVANCED_SMD_CAPACITOR, 8) + input(WRAP_ADVANCED_SMD_TRANSISTOR, 8) + input(wireGtQuadruple, YttriumBariumCuprate, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(WETWARE_PROCESSOR_LUV, 64) + EUt(38400) // ZPM + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(WETWARE_PROCESSOR_LUV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_NEURO_PROCESSOR) + input(WRAP_CRYSTAL_CPU) + input(WRAP_QUBIT_CPU_CHIP) + input(WRAP_GOOWARE_SMD_CAPACITOR, 2) + input(WRAP_GOOWARE_SMD_TRANSISTOR, 2) + input(wireGtQuadruple, YttriumBariumCuprate, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(WETWARE_PROCESSOR_LUV, 64) + EUt(38400) // ZPM + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(WETWARE_PROCESSOR_LUV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_NEURO_PROCESSOR) + input(WRAP_HIGHLY_ADVANCED_SOC_CHIP) + input(wireGtQuadruple, YttriumBariumCuprate, 8) + input(bolt, Naquadah, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(WETWARE_PROCESSOR_LUV, 64) + output(WETWARE_PROCESSOR_LUV, 64) + EUt(150_000) // UV + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(WETWARE_PROCESSOR_LUV) + } // ZPM Wetware Processor Assembly - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_WETWARE_CIRCUIT_BOARD) - .input(WETWARE_PROCESSOR_LUV, 64) - .input(WRAP_ADVANCED_SMD_INDUCTOR, 8) - .input(WRAP_ADVANCED_SMD_CAPACITOR, 16) - .input(WRAP_ARAM_CHIP, 24) - .input(wireGtQuadruple, YttriumBariumCuprate, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 48) - .EUt(38400) // ZPM - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(WETWARE_PROCESSOR_ASSEMBLY_ZPM) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_WETWARE_CIRCUIT_BOARD) - .input(WETWARE_PROCESSOR_LUV, 64) - .input(WRAP_GOOWARE_SMD_INDUCTOR, 2) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 4) - .input(WRAP_ARAM_CHIP, 24) - .input(wireGtQuadruple, YttriumBariumCuprate, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 48) - .EUt(38400) // ZPM - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(WETWARE_PROCESSOR_ASSEMBLY_ZPM) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_WETWARE_CIRCUIT_BOARD) + input(WETWARE_PROCESSOR_LUV, 64) + input(WRAP_ADVANCED_SMD_INDUCTOR, 8) + input(WRAP_ADVANCED_SMD_CAPACITOR, 16) + input(WRAP_ARAM_CHIP, 24) + input(wireGtQuadruple, YttriumBariumCuprate, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 48) + EUt(38400) // ZPM + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(WETWARE_PROCESSOR_ASSEMBLY_ZPM) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_WETWARE_CIRCUIT_BOARD) + input(WETWARE_PROCESSOR_LUV, 64) + input(WRAP_GOOWARE_SMD_INDUCTOR, 2) + input(WRAP_GOOWARE_SMD_CAPACITOR, 4) + input(WRAP_ARAM_CHIP, 24) + input(wireGtQuadruple, YttriumBariumCuprate, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 48) + EUt(38400) // ZPM + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(WETWARE_PROCESSOR_ASSEMBLY_ZPM) + } // UV Wetware Supercomputer - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_WETWARE_CIRCUIT_BOARD) - .input(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 48) - .input(WRAP_ARAM_CHIP, 8) - .input(WRAP_NOR_CHIP, 64) - .input(WRAP_NAND_CHIP, 64) - .input(wireGtQuadruple, YttriumBariumCuprate, 32) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(WETWARE_SUPER_COMPUTER_UV, 32) - .EUt(38400) // ZPM - .duration(5 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(WETWARE_SUPER_COMPUTER_UV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_WETWARE_CIRCUIT_BOARD) + input(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 48) + input(WRAP_ARAM_CHIP, 8) + input(WRAP_NOR_CHIP, 64) + input(WRAP_NAND_CHIP, 64) + input(wireGtQuadruple, YttriumBariumCuprate, 32) + fluidInputs(SolderingAlloy.getFluid(L)) + output(WETWARE_SUPER_COMPUTER_UV, 32) + EUt(38400) // ZPM + duration(5 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(WETWARE_SUPER_COMPUTER_UV) + } // UHV Wetware Mainframe (AssLine) @@ -1006,104 +1007,104 @@ internal object CircuitAssemblyLineRecipeProducer // region T8: Gooware // ZPM Gooware Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(WRAP_NONLINEAR_CHEMICAL_OSCILLATOR) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 16) - .input(WRAP_GOOWARE_SMD_TRANSISTOR, 16) - .input(wireGtQuadruple, Europium, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(GOOWARE_PROCESSOR_ZPM, 64) - .EUt(VHA[UV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(GOOWARE_PROCESSOR_ZPM) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(WRAP_NONLINEAR_CHEMICAL_OSCILLATOR) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 4) - .input(WRAP_OPTICAL_SMD_TRANSISTOR, 4) - .input(wireGtQuadruple, Europium, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(GOOWARE_PROCESSOR_ZPM, 64) - .EUt(VHA[UV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(GOOWARE_PROCESSOR_ZPM) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(WRAP_NONLINEAR_CHEMICAL_OSCILLATOR) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR) - .input(wireGtQuadruple, Europium, 8) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(GOOWARE_PROCESSOR_ZPM, 64) - .EUt(VHA[UV]) - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(GOOWARE_PROCESSOR_ZPM) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(WRAP_NONLINEAR_CHEMICAL_OSCILLATOR) - .input(WRAP_UHASOC_CHIP) - .input(wireGtQuadruple, Europium, 8) - .input(bolt, Neutronium, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(GOOWARE_PROCESSOR_ZPM, 64) - .output(GOOWARE_PROCESSOR_ZPM, 64) - .EUt(VHA[UHV]) - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(GOOWARE_PROCESSOR_ZPM) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(WRAP_NONLINEAR_CHEMICAL_OSCILLATOR) + input(WRAP_CRYSTAL_CPU) + input(WRAP_GOOWARE_SMD_CAPACITOR, 16) + input(WRAP_GOOWARE_SMD_TRANSISTOR, 16) + input(wireGtQuadruple, Europium, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(GOOWARE_PROCESSOR_ZPM, 64) + EUt(VHA[UV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(GOOWARE_PROCESSOR_ZPM) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(WRAP_NONLINEAR_CHEMICAL_OSCILLATOR) + input(WRAP_CRYSTAL_CPU) + input(WRAP_OPTICAL_SMD_CAPACITOR, 4) + input(WRAP_OPTICAL_SMD_TRANSISTOR, 4) + input(wireGtQuadruple, Europium, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(GOOWARE_PROCESSOR_ZPM, 64) + EUt(VHA[UV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(GOOWARE_PROCESSOR_ZPM) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(WRAP_NONLINEAR_CHEMICAL_OSCILLATOR) + input(WRAP_CRYSTAL_CPU) + input(WRAP_SPINTRONIC_SMD_CAPACITOR) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR) + input(wireGtQuadruple, Europium, 8) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(GOOWARE_PROCESSOR_ZPM, 64) + EUt(VHA[UV]) + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(GOOWARE_PROCESSOR_ZPM) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(WRAP_NONLINEAR_CHEMICAL_OSCILLATOR) + input(WRAP_UHASOC_CHIP) + input(wireGtQuadruple, Europium, 8) + input(bolt, Neutronium, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(GOOWARE_PROCESSOR_ZPM, 64) + output(GOOWARE_PROCESSOR_ZPM, 64) + EUt(VHA[UHV]) + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(GOOWARE_PROCESSOR_ZPM) + } // UV Gooware Processor Assembly - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_PROCESSOR_ZPM, 64) - .input(WRAP_GOOWARE_SMD_INDUCTOR, 16) - .input(WRAP_GOOWARE_SMD_CAPACITOR, 32) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtQuadruple, Europium, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(GOOWARE_ASSEMBLY_UV, 48) - .EUt(VHA[UV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(GOOWARE_ASSEMBLY_UV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_PROCESSOR_ZPM, 64) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 4) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 8) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtQuadruple, Europium, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(GOOWARE_ASSEMBLY_UV, 48) - .EUt(VHA[UV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(GOOWARE_ASSEMBLY_UV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ULTIMATE_CIRCUIT_BOARD) - .input(GOOWARE_PROCESSOR_ZPM, 64) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 2) - .input(WRAP_ARAM_CHIP, 32) - .input(wireGtQuadruple, Europium, 16) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(GOOWARE_ASSEMBLY_UV, 48) - .EUt(VHA[UV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(GOOWARE_ASSEMBLY_UV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_PROCESSOR_ZPM, 64) + input(WRAP_GOOWARE_SMD_INDUCTOR, 16) + input(WRAP_GOOWARE_SMD_CAPACITOR, 32) + input(WRAP_ARAM_CHIP, 32) + input(wireGtQuadruple, Europium, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(GOOWARE_ASSEMBLY_UV, 48) + EUt(VHA[UV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(GOOWARE_ASSEMBLY_UV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_PROCESSOR_ZPM, 64) + input(WRAP_OPTICAL_SMD_INDUCTOR, 4) + input(WRAP_OPTICAL_SMD_CAPACITOR, 8) + input(WRAP_ARAM_CHIP, 32) + input(wireGtQuadruple, Europium, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(GOOWARE_ASSEMBLY_UV, 48) + EUt(VHA[UV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(GOOWARE_ASSEMBLY_UV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ULTIMATE_CIRCUIT_BOARD) + input(GOOWARE_PROCESSOR_ZPM, 64) + input(WRAP_SPINTRONIC_SMD_INDUCTOR) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 2) + input(WRAP_ARAM_CHIP, 32) + input(wireGtQuadruple, Europium, 16) + fluidInputs(SolderingAlloy.getFluid(L)) + output(GOOWARE_ASSEMBLY_UV, 48) + EUt(VHA[UV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(GOOWARE_ASSEMBLY_UV) + } // UHV Gooware Supercomputer (AssLine) @@ -1114,103 +1115,103 @@ internal object CircuitAssemblyLineRecipeProducer // region T9: Optical // UV Optical Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_OPTICAL_LASER_CONTROL_UNIT) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_OPTICAL_SMD_RESISTOR, 16) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 16) - .input(WRAP_OPTICAL_SMD_TRANSISTOR, 16) - .input(OPTICAL_FIBER, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(OPTICAL_PROCESSOR_UV, 64) - .EUt(VA[UHV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(OPTICAL_PROCESSOR_UV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_OPTICAL_LASER_CONTROL_UNIT) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_SPINTRONIC_SMD_RESISTOR, 4) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 4) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 4) - .input(OPTICAL_FIBER, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(OPTICAL_PROCESSOR_UV, 64) - .EUt(VA[UHV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(OPTICAL_PROCESSOR_UV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_OPTICAL_LASER_CONTROL_UNIT) - .input(WRAP_CRYSTAL_CPU) - .input(WRAP_COSMIC_SMD_RESISTOR) - .input(WRAP_COSMIC_SMD_CAPACITOR) - .input(WRAP_COSMIC_SMD_TRANSISTOR) - .input(OPTICAL_FIBER, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(OPTICAL_PROCESSOR_UV, 64) - .EUt(VA[UHV]) - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(OPTICAL_PROCESSOR_UV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_OPTICAL_LASER_CONTROL_UNIT) - .input(WRAP_OPTOELECTRONIC_SYSTEM_ON_CHIP) - .input(OPTICAL_FIBER, 64) - .input(bolt, Bedrockium, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(OPTICAL_PROCESSOR_UV, 64) - .output(OPTICAL_PROCESSOR_UV, 64) - .EUt(VA[UEV]) - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(OPTICAL_PROCESSOR_UV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_OPTICAL_LASER_CONTROL_UNIT) + input(WRAP_CRYSTAL_CPU) + input(WRAP_OPTICAL_SMD_RESISTOR, 16) + input(WRAP_OPTICAL_SMD_CAPACITOR, 16) + input(WRAP_OPTICAL_SMD_TRANSISTOR, 16) + input(OPTICAL_FIBER, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(OPTICAL_PROCESSOR_UV, 64) + EUt(VA[UHV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(OPTICAL_PROCESSOR_UV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_OPTICAL_LASER_CONTROL_UNIT) + input(WRAP_CRYSTAL_CPU) + input(WRAP_SPINTRONIC_SMD_RESISTOR, 4) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 4) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 4) + input(OPTICAL_FIBER, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(OPTICAL_PROCESSOR_UV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(OPTICAL_PROCESSOR_UV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_OPTICAL_LASER_CONTROL_UNIT) + input(WRAP_CRYSTAL_CPU) + input(WRAP_COSMIC_SMD_RESISTOR) + input(WRAP_COSMIC_SMD_CAPACITOR) + input(WRAP_COSMIC_SMD_TRANSISTOR) + input(OPTICAL_FIBER, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(OPTICAL_PROCESSOR_UV, 64) + EUt(VA[UHV]) + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(OPTICAL_PROCESSOR_UV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_OPTICAL_LASER_CONTROL_UNIT) + input(WRAP_OPTOELECTRONIC_SYSTEM_ON_CHIP) + input(OPTICAL_FIBER, 64) + input(bolt, Bedrockium, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(OPTICAL_PROCESSOR_UV, 64) + output(OPTICAL_PROCESSOR_UV, 64) + EUt(VA[UEV]) + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(OPTICAL_PROCESSOR_UV) + } // UHV Optical Processor Assembly - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_PROCESSOR_UV, 64) - .input(WRAP_OPTICAL_SMD_INDUCTOR, 16) - .input(WRAP_OPTICAL_SMD_CAPACITOR, 32) - .input(WRAP_HIGHLY_ADVANCED_SOC_CHIP, 32) - .input(OPTICAL_FIBER, 64) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(OPTICAL_ASSEMBLY_UHV, 48) - .EUt(VA[UHV]) - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(OPTICAL_ASSEMBLY_UHV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_PROCESSOR_UV, 64) - .input(WRAP_SPINTRONIC_SMD_INDUCTOR, 4) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 8) - .input(WRAP_HIGHLY_ADVANCED_SOC_CHIP, 32) - .input(OPTICAL_FIBER, 64) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(OPTICAL_ASSEMBLY_UHV, 48) - .EUt(VA[UHV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(OPTICAL_ASSEMBLY_UHV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_PERFECT_CIRCUIT_BOARD) - .input(OPTICAL_PROCESSOR_UV, 64) - .input(WRAP_COSMIC_SMD_INDUCTOR) - .input(WRAP_COSMIC_SMD_CAPACITOR, 2) - .input(WRAP_HIGHLY_ADVANCED_SOC_CHIP, 32) - .input(OPTICAL_FIBER, 64) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(OPTICAL_ASSEMBLY_UHV, 48) - .EUt(VA[UHV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(OPTICAL_ASSEMBLY_UHV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PERFECT_CIRCUIT_BOARD) + input(OPTICAL_PROCESSOR_UV, 64) + input(WRAP_OPTICAL_SMD_INDUCTOR, 16) + input(WRAP_OPTICAL_SMD_CAPACITOR, 32) + input(WRAP_HIGHLY_ADVANCED_SOC_CHIP, 32) + input(OPTICAL_FIBER, 64) + fluidInputs(SolderingAlloy.getFluid(L)) + output(OPTICAL_ASSEMBLY_UHV, 48) + EUt(VA[UHV]) + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(OPTICAL_ASSEMBLY_UHV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PERFECT_CIRCUIT_BOARD) + input(OPTICAL_PROCESSOR_UV, 64) + input(WRAP_SPINTRONIC_SMD_INDUCTOR, 4) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 8) + input(WRAP_HIGHLY_ADVANCED_SOC_CHIP, 32) + input(OPTICAL_FIBER, 64) + fluidInputs(SolderingAlloy.getFluid(L)) + output(OPTICAL_ASSEMBLY_UHV, 48) + EUt(VA[UHV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(OPTICAL_ASSEMBLY_UHV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_PERFECT_CIRCUIT_BOARD) + input(OPTICAL_PROCESSOR_UV, 64) + input(WRAP_COSMIC_SMD_INDUCTOR) + input(WRAP_COSMIC_SMD_CAPACITOR, 2) + input(WRAP_HIGHLY_ADVANCED_SOC_CHIP, 32) + input(OPTICAL_FIBER, 64) + fluidInputs(SolderingAlloy.getFluid(L)) + output(OPTICAL_ASSEMBLY_UHV, 48) + EUt(VA[UHV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(OPTICAL_ASSEMBLY_UHV) + } // UEV Optical Computer (AssLine) @@ -1221,60 +1222,60 @@ internal object CircuitAssemblyLineRecipeProducer // region T10: Spintronic // UHV Spintronic Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ESR_COMPUTATION_UNIT) - .input(WRAP_CRYSTAL_SOC) - .input(WRAP_SPINTRONIC_SMD_RESISTOR, 16) - .input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16) - .input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 16) - .input(wireGtQuadruple, CarbonNanotube, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(SPINTRONIC_PROCESSOR_UHV, 64) - .EUt(VA[UEV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(SPINTRONIC_PROCESSOR_UHV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ESR_COMPUTATION_UNIT) - .input(WRAP_CRYSTAL_SOC) - .input(WRAP_COSMIC_SMD_RESISTOR, 4) - .input(WRAP_COSMIC_SMD_CAPACITOR, 4) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 4) - .input(wireGtQuadruple, CarbonNanotube, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(SPINTRONIC_PROCESSOR_UHV, 64) - .EUt(VA[UEV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(SPINTRONIC_PROCESSOR_UHV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ESR_COMPUTATION_UNIT) - .input(WRAP_CRYSTAL_SOC) - .input(WRAP_SUPRACAUSAL_SMD_RESISTOR) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR) - .input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR) - .input(wireGtQuadruple, CarbonNanotube, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(SPINTRONIC_PROCESSOR_UHV, 64) - .EUt(VA[UEV]) - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(SPINTRONIC_PROCESSOR_UHV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ESR_COMPUTATION_UNIT) - .input(WRAP_EXOTIC_SYSTEM_ON_CHIP) - .input(wireGtQuadruple, CarbonNanotube, 8) - .input(bolt, Vibranium, 64) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(SPINTRONIC_PROCESSOR_UHV, 64) - .output(SPINTRONIC_PROCESSOR_UHV, 64) - .EUt(VA[UIV]) - .duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s - .circuitInfo(SPINTRONIC_PROCESSOR_UHV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ESR_COMPUTATION_UNIT) + input(WRAP_CRYSTAL_SOC) + input(WRAP_SPINTRONIC_SMD_RESISTOR, 16) + input(WRAP_SPINTRONIC_SMD_CAPACITOR, 16) + input(WRAP_SPINTRONIC_SMD_TRANSISTOR, 16) + input(wireGtQuadruple, CarbonNanotube, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(SPINTRONIC_PROCESSOR_UHV, 64) + EUt(VA[UEV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(SPINTRONIC_PROCESSOR_UHV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ESR_COMPUTATION_UNIT) + input(WRAP_CRYSTAL_SOC) + input(WRAP_COSMIC_SMD_RESISTOR, 4) + input(WRAP_COSMIC_SMD_CAPACITOR, 4) + input(WRAP_COSMIC_SMD_TRANSISTOR, 4) + input(wireGtQuadruple, CarbonNanotube, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(SPINTRONIC_PROCESSOR_UHV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(SPINTRONIC_PROCESSOR_UHV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ESR_COMPUTATION_UNIT) + input(WRAP_CRYSTAL_SOC) + input(WRAP_SUPRACAUSAL_SMD_RESISTOR) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR) + input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR) + input(wireGtQuadruple, CarbonNanotube, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(SPINTRONIC_PROCESSOR_UHV, 64) + EUt(VA[UEV]) + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(SPINTRONIC_PROCESSOR_UHV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ESR_COMPUTATION_UNIT) + input(WRAP_EXOTIC_SYSTEM_ON_CHIP) + input(wireGtQuadruple, CarbonNanotube, 8) + input(bolt, Vibranium, 64) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(SPINTRONIC_PROCESSOR_UHV, 64) + output(SPINTRONIC_PROCESSOR_UHV, 64) + EUt(VA[UIV]) + duration(30 * SECOND) // Original: 2.5s, Wrapped: 2.5s * 16 = 40s + circuitInfo(SPINTRONIC_PROCESSOR_UHV) + } // UEV Spintronic Processor Assembly (AssLine) @@ -1287,33 +1288,33 @@ internal object CircuitAssemblyLineRecipeProducer // region T11: Cosmic // UEV Cosmic Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_HOLOGRAPHIC_INFORMATION_IMC) - .input(WRAP_CRYSTAL_SOC) - .input(WRAP_COSMIC_SMD_RESISTOR, 32) - .input(WRAP_COSMIC_SMD_CAPACITOR, 32) - .input(WRAP_COSMIC_SMD_TRANSISTOR, 32) - .input(wireGtQuadruple, Infinity, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(COSMIC_PROCESSOR_UEV, 64) - .EUt(VA[UIV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(COSMIC_PROCESSOR_UEV) - .buildAndRegister() - - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_HOLOGRAPHIC_INFORMATION_IMC) - .input(WRAP_CRYSTAL_SOC) - .input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 8) - .input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 8) - .input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 8) - .input(wireGtQuadruple, Infinity, 8) - .fluidInputs(MutatedLivingSolder.getFluid(L / 2)) - .output(COSMIC_PROCESSOR_UEV, 64) - .EUt(VA[UIV]) - .duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s - .circuitInfo(COSMIC_PROCESSOR_UEV) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_HOLOGRAPHIC_INFORMATION_IMC) + input(WRAP_CRYSTAL_SOC) + input(WRAP_COSMIC_SMD_RESISTOR, 32) + input(WRAP_COSMIC_SMD_CAPACITOR, 32) + input(WRAP_COSMIC_SMD_TRANSISTOR, 32) + input(wireGtQuadruple, Infinity, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(COSMIC_PROCESSOR_UEV, 64) + EUt(VA[UIV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(COSMIC_PROCESSOR_UEV) + } + + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_HOLOGRAPHIC_INFORMATION_IMC) + input(WRAP_CRYSTAL_SOC) + input(WRAP_SUPRACAUSAL_SMD_RESISTOR, 8) + input(WRAP_SUPRACAUSAL_SMD_CAPACITOR, 8) + input(WRAP_SUPRACAUSAL_SMD_TRANSISTOR, 8) + input(wireGtQuadruple, Infinity, 8) + fluidInputs(MutatedLivingSolder.getFluid(L / 2)) + output(COSMIC_PROCESSOR_UEV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE) // Original: 5s, Wrapped: 5s * 16 = 80s + circuitInfo(COSMIC_PROCESSOR_UEV) + } // UIV Cosmic Processor Assembly (AssLine) @@ -1338,135 +1339,135 @@ internal object CircuitAssemblyLineRecipeProducer // region Misc // Lapotronic Orb - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(WRAP_PIC_CHIP, 4) - .input(WRAP_ENGRAVED_LAPOTRON_CHIP, 24) - .input(WRAP_NANO_CPU_CHIP, 2) - .input(wireGtQuadruple, Platinum, 16) - .input(plate, Platinum, 64) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(ENERGY_LAPOTRONIC_ORB, 16) - .EUt(VH[EV]) - .duration(6 * MINUTE) // Original: 25.6s, Wrapped: 25.6s * 16 = 409.6s - .circuitInfo(ENERGY_LAPOTRONIC_ORB) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(WRAP_PIC_CHIP, 4) + input(WRAP_ENGRAVED_LAPOTRON_CHIP, 24) + input(WRAP_NANO_CPU_CHIP, 2) + input(wireGtQuadruple, Platinum, 16) + input(plate, Platinum, 64) + fluidInputs(SolderingAlloy.getFluid(L)) + output(ENERGY_LAPOTRONIC_ORB, 16) + EUt(VH[EV]) + duration(6 * MINUTE) // Original: 25.6s, Wrapped: 25.6s * 16 = 409.6s + circuitInfo(ENERGY_LAPOTRONIC_ORB) + } // Data Stick - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ADVANCED_CIRCUIT_BOARD) - .input(circuit, Tier.HV, 32) - .input(WRAP_RAM_CHIP, 4) - .input(WRAP_NOR_CHIP, 16) - .input(WRAP_NAND_CHIP, 32) - .input(wireGtQuadruple, Platinum, 32) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(TOOL_DATA_STICK, 16) - .EUt(1200) // EV - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(TOOL_DATA_STICK) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ADVANCED_CIRCUIT_BOARD) + input(circuit, Tier.HV, 32) + input(WRAP_RAM_CHIP, 4) + input(WRAP_NOR_CHIP, 16) + input(WRAP_NAND_CHIP, 32) + input(wireGtQuadruple, Platinum, 32) + fluidInputs(SolderingAlloy.getFluid(L)) + output(TOOL_DATA_STICK, 16) + EUt(1200) // EV + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(TOOL_DATA_STICK) + } // Data Orb - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_EXTREME_CIRCUIT_BOARD) - .input(circuit, Tier.IV, 32) - .input(WRAP_RAM_CHIP, 8) - .input(WRAP_NOR_CHIP, 32) - .input(WRAP_NAND_CHIP, 48) - .input(wireGtQuadruple, NiobiumTitanium, 32) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(TOOL_DATA_ORB, 16) - .EUt(9600) // LuV - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(TOOL_DATA_ORB) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_EXTREME_CIRCUIT_BOARD) + input(circuit, Tier.IV, 32) + input(WRAP_RAM_CHIP, 8) + input(WRAP_NOR_CHIP, 32) + input(WRAP_NAND_CHIP, 48) + input(wireGtQuadruple, NiobiumTitanium, 32) + fluidInputs(SolderingAlloy.getFluid(L)) + output(TOOL_DATA_ORB, 16) + EUt(9600) // LuV + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(TOOL_DATA_ORB) + } // Data Module - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_WETWARE_CIRCUIT_BOARD) - .input(circuit, Tier.ZPM, 32) - .input(WRAP_ARAM_CHIP, 32) - .input(WRAP_NOR_CHIP, 64) - .input(WRAP_NAND_CHIP, 64) - .input(wireGtQuadruple, YttriumBariumCuprate, 32) - .fluidInputs(SolderingAlloy.getFluid(L)) - .output(TOOL_DATA_MODULE, 16) - .EUt(38400) // ZPM - .duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s - .circuitInfo(TOOL_DATA_MODULE) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_WETWARE_CIRCUIT_BOARD) + input(circuit, Tier.ZPM, 32) + input(WRAP_ARAM_CHIP, 32) + input(WRAP_NOR_CHIP, 64) + input(WRAP_NAND_CHIP, 64) + input(wireGtQuadruple, YttriumBariumCuprate, 32) + fluidInputs(SolderingAlloy.getFluid(L)) + output(TOOL_DATA_MODULE, 16) + EUt(38400) // ZPM + duration(4 * MINUTE) // Original: 20s, Wrapped: 20s * 16 = 320s + circuitInfo(TOOL_DATA_MODULE) + } // Diamond Modulator - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_DIAMOND_CHIP) - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(wireFine, Palladium, 64) - .input(bolt, Platinum, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(DIAMOND_MODULATOR, 64) - .output(DIAMOND_MODULATOR, 64) - .EUt(VA[IV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(DIAMOND_MODULATOR) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_DIAMOND_CHIP) + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(wireFine, Palladium, 64) + input(bolt, Platinum, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(DIAMOND_MODULATOR, 64) + output(DIAMOND_MODULATOR, 64) + EUt(VA[IV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(DIAMOND_MODULATOR) + } // Ruby Modulator - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_RUBY_CHIP) - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(wireFine, Palladium, 64) - .input(bolt, Platinum, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(RUBY_MODULATOR, 64) - .output(RUBY_MODULATOR, 64) - .EUt(VA[IV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(RUBY_MODULATOR) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_RUBY_CHIP) + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(wireFine, Palladium, 64) + input(bolt, Platinum, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(RUBY_MODULATOR, 64) + output(RUBY_MODULATOR, 64) + EUt(VA[IV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(RUBY_MODULATOR) + } // Sapphire Modulator - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_ENGRAVED_SAPPHIRE_CHIP) - .input(WRAP_PLASTIC_CIRCUIT_BOARD) - .input(wireFine, Palladium, 64) - .input(bolt, Platinum, 64) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(SAPPHIRE_MODULATOR, 64) - .output(SAPPHIRE_MODULATOR, 64) - .EUt(VA[IV]) - .duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s - .circuitInfo(SAPPHIRE_MODULATOR) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_ENGRAVED_SAPPHIRE_CHIP) + input(WRAP_PLASTIC_CIRCUIT_BOARD) + input(wireFine, Palladium, 64) + input(bolt, Platinum, 64) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(SAPPHIRE_MODULATOR, 64) + output(SAPPHIRE_MODULATOR, 64) + EUt(VA[IV]) + duration(2 * MINUTE) // Original: 10s, Wrapped: 10s * 16 = 160s + circuitInfo(SAPPHIRE_MODULATOR) + } // Crystal SoC Socket - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_CRYSTAL_INTERFACE_CHIP) - .input(DIAMOND_MODULATOR, 16) - .input(RUBY_MODULATOR, 16) - .input(SAPPHIRE_MODULATOR, 16) - .input(wireGtQuadruple, Europium, 4) - .fluidInputs(SolderingAlloy.getFluid(L / 2)) - .output(CRYSTAL_SOC_SOCKET, 16) - .EUt(VA[LuV]) - .duration(20 * SECOND) // Original: 5s, Wrapped: 5s * 16 = 40s - .circuitInfo(CRYSTAL_SOC_SOCKET) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_CRYSTAL_INTERFACE_CHIP) + input(DIAMOND_MODULATOR, 16) + input(RUBY_MODULATOR, 16) + input(SAPPHIRE_MODULATOR, 16) + input(wireGtQuadruple, Europium, 4) + fluidInputs(SolderingAlloy.getFluid(L / 2)) + output(CRYSTAL_SOC_SOCKET, 16) + EUt(VA[LuV]) + duration(20 * SECOND) // Original: 5s, Wrapped: 5s * 16 = 40s + circuitInfo(CRYSTAL_SOC_SOCKET) + } // Neuro Processor - CIRCUIT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .input(WRAP_WETWARE_CIRCUIT_BOARD) - .input(STEM_CELLS, 64) - .input(pipeTinyFluid, Polybenzimidazole, 32) - .input(plate, Electrum, 64) - .input(foil, SiliconeRubber, 64) - .input(bolt, HSSE, 64) - .fluidInputs(SterileGrowthMedium.getFluid(250)) - .output(NEURO_PROCESSOR, 32) - .EUt(80000) // ZPM - .duration(6 * MINUTE) // Original: 30s, Wrapped: 30s * 16 = 480s - .circuitInfo(NEURO_PROCESSOR) - .buildAndRegister() + CIRCUIT_ASSEMBLY_LINE_RECIPES.addRecipe { + input(WRAP_WETWARE_CIRCUIT_BOARD) + input(STEM_CELLS, 64) + input(pipeTinyFluid, Polybenzimidazole, 32) + input(plate, Electrum, 64) + input(foil, SiliconeRubber, 64) + input(bolt, HSSE, 64) + fluidInputs(SterileGrowthMedium.getFluid(250)) + output(NEURO_PROCESSOR, 32) + EUt(80000) // ZPM + duration(6 * MINUTE) // Original: 30s, Wrapped: 30s * 16 = 480s + circuitInfo(NEURO_PROCESSOR) + } // endregion } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/ComponentAssemblyLineRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/ComponentAssemblyLineRecipeProducer.kt index e0596a5f9..8ff9c8085 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/ComponentAssemblyLineRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/ComponentAssemblyLineRecipeProducer.kt @@ -187,6 +187,9 @@ import gregtech.common.items.MetaItems.SENSOR_UXV import gregtech.common.items.MetaItems.SENSOR_ZPM import gregtechlite.gtlitecore.api.MINUTE import gregtechlite.gtlitecore.api.SECOND +import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe +import gregtechlite.gtlitecore.api.extension.inputs import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.COMPONENT_ASSEMBLY_LINE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Adamantium import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.Bedrockium @@ -238,6 +241,8 @@ import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.WRAP_CIRCUIT_UXV import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.WRAP_CIRCUIT_ZPM import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.ZENITH_STAR import net.minecraft.init.Items +import net.minecraft.init.Items.ENDER_EYE +import net.minecraft.init.Items.NETHER_STAR import net.minecraft.item.ItemStack /** @@ -280,210 +285,210 @@ internal object ComponentAssemblyLineRecipeProducer private fun electricMotorRecipes() { // LV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(cableGtHex, Tin, 8) // 64x (2x cableGtSingle) = 64x (1x cableGtDouble) = 8x cableGtHex - .input(stickLong, Iron, 64) // 2x (64x stick) = 64x stickLong - .input(stickLong, IronMagnetic, 32) // 64x stick = 32x stickLong - .input(wireGtHex, Copper, 16) // 64x (4x wireGtSingle) = 64x (1x wireGtQuadruple) = 16x wireGtHex - .output(ELECTRIC_MOTOR_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() - - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(cableGtHex, Tin, 8) // 64x (2x cableGtSingle) = 64x (1x cableGtDouble) = 8x cableGtHex - .input(stickLong, Steel, 64) // 2x (64x stick) = 64x stickLong - .input(stickLong, SteelMagnetic, 32) // 64x stick = 32x stickLong - .input(wireGtHex, Copper, 16) // 64x(4x wireGtSingle) = 64x (1x wireGtQuadruple) = 16x wireGtHex - .output(ELECTRIC_MOTOR_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(cableGtHex, Tin, 8) // 64x (2x cableGtSingle) = 64x (1x cableGtDouble) = 8x cableGtHex + input(stickLong, Iron, 64) // 2x (64x stick) = 64x stickLong + input(stickLong, IronMagnetic, 32) // 64x stick = 32x stickLong + input(wireGtHex, Copper, 16) // 64x (4x wireGtSingle) = 64x (1x wireGtQuadruple) = 16x wireGtHex + output(ELECTRIC_MOTOR_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } + + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(cableGtHex, Tin, 8) // 64x (2x cableGtSingle) = 64x (1x cableGtDouble) = 8x cableGtHex + input(stickLong, Steel, 64) // 2x (64x stick) = 64x stickLong + input(stickLong, SteelMagnetic, 32) // 64x stick = 32x stickLong + input(wireGtHex, Copper, 16) // 64x(4x wireGtSingle) = 64x (1x wireGtQuadruple) = 16x wireGtHex + output(ELECTRIC_MOTOR_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } // MV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(cableGtHex, Copper, 8) // 64x (2x cableGtSingle) = 64x (1x cableGtDouble) = 8x cableGtHex - .input(stickLong, Aluminium, 64) // 2x (64x stick) = 64x stickLong - .input(stickLong, SteelMagnetic, 32) // 64x stick = 32x stickLong - .input(wireGtHex, Cupronickel, 32) // 64x (4x wireGtDouble) = 64x (1x wireGtOctal) = 32x wireGtHex - .output(ELECTRIC_MOTOR_MV, 64) - .EUt(VA[MV].toLong()) - .duration(30 * SECOND) - .tier(MV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(cableGtHex, Copper, 8) // 64x (2x cableGtSingle) = 64x (1x cableGtDouble) = 8x cableGtHex + input(stickLong, Aluminium, 64) // 2x (64x stick) = 64x stickLong + input(stickLong, SteelMagnetic, 32) // 64x stick = 32x stickLong + input(wireGtHex, Cupronickel, 32) // 64x (4x wireGtDouble) = 64x (1x wireGtOctal) = 32x wireGtHex + output(ELECTRIC_MOTOR_MV, 64) + EUt(VA[MV]) + duration(30 * SECOND) + tier(MV) + } // HV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(cableGtHex, Silver, 16) // 64x (2x cableGtDouble) = 64x (1x cableGtQuadruple) = 16x cableGtHex - .input(stickLong, StainlessSteel, 64) // 2x (64x stick) = 64x stickLong - .input(stickLong, SteelMagnetic, 32) // 64x stick = 32x stickLong - .input(wireGtHex, Electrum, 32) // 64x (4x wireGtDouble) = 64x (1x wireGtOctal) = 32x wireGtHex - .output(ELECTRIC_MOTOR_HV, 64) - .EUt(VA[HV].toLong()) - .duration(30 * SECOND) - .tier(HV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(cableGtHex, Silver, 16) // 64x (2x cableGtDouble) = 64x (1x cableGtQuadruple) = 16x cableGtHex + input(stickLong, StainlessSteel, 64) // 2x (64x stick) = 64x stickLong + input(stickLong, SteelMagnetic, 32) // 64x stick = 32x stickLong + input(wireGtHex, Electrum, 32) // 64x (4x wireGtDouble) = 64x (1x wireGtOctal) = 32x wireGtHex + output(ELECTRIC_MOTOR_HV, 64) + EUt(VA[HV]) + duration(30 * SECOND) + tier(HV) + } // EV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(cableGtHex, Aluminium, 16) // 64x (2x cableGtDouble) = 64x (1x cableGtQuadruple) = 16x cableGtHex - .input(stickLong, Titanium, 64) // 2x (64x stick) = 64x stickLong - .input(stickLong, NeodymiumMagnetic, 32) // 64x stick = 32x stickLong - .input(wireGtHex, Kanthal, 32) // 64x (4x wireGtDouble) = 64x (1x wireGtOctal) = 32x wireGtHex - .output(ELECTRIC_MOTOR_EV, 64) - .EUt(VA[EV].toLong()) - .duration(45 * SECOND) - .tier(EV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(cableGtHex, Aluminium, 16) // 64x (2x cableGtDouble) = 64x (1x cableGtQuadruple) = 16x cableGtHex + input(stickLong, Titanium, 64) // 2x (64x stick) = 64x stickLong + input(stickLong, NeodymiumMagnetic, 32) // 64x stick = 32x stickLong + input(wireGtHex, Kanthal, 32) // 64x (4x wireGtDouble) = 64x (1x wireGtOctal) = 32x wireGtHex + output(ELECTRIC_MOTOR_EV, 64) + EUt(VA[EV]) + duration(45 * SECOND) + tier(EV) + } // IV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(cableGtHex, Tungsten, 16) // 64x (2x cableGtDouble) = 64x (1x cableGtQuadruple) = 16x cableGtHex - .input(stickLong, TungstenSteel, 64) // 2x (64x stick) = 64x stickLong - .input(stickLong, NeodymiumMagnetic, 32) // 64x stick = 32x stickLong - .input(wireGtHex, Graphene, 32) // 64x (4x wireGtDouble) = 64x (1x wireGtOctal) = 32x wireGtHex - .output(ELECTRIC_MOTOR_IV, 64) - .EUt(VA[IV].toLong()) - .duration(45 * SECOND) - .tier(IV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(cableGtHex, Tungsten, 16) // 64x (2x cableGtDouble) = 64x (1x cableGtQuadruple) = 16x cableGtHex + input(stickLong, TungstenSteel, 64) // 2x (64x stick) = 64x stickLong + input(stickLong, NeodymiumMagnetic, 32) // 64x stick = 32x stickLong + input(wireGtHex, Graphene, 32) // 64x (4x wireGtDouble) = 64x (1x wireGtOctal) = 32x wireGtHex + output(ELECTRIC_MOTOR_IV, 64) + EUt(VA[IV]) + duration(45 * SECOND) + tier(IV) + } // LuV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, SamariumMagnetic, 64) // 64x stickLong - .input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 - .fluidInputs(HSSS.getFluid(L * 64 // stickLongX: [(144L) * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, SamariumMagnetic, 64) // 64x stickLong + input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 64)) // 144 * 64 + fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 + fluidInputs(HSSS.getFluid(L * 64 // stickLongX: [(144L) * 64] + 36 * 2 * 64 // ringX: [(36L) * 2 * 64] + 18 * 4 * 64)) // roundX: [(18L) * 4 * 64] - .fluidInputs(Ruridit.getFluid(18 * 64 * 64)) // wireFineX: [(18L) * 64 * 64] - .output(ELECTRIC_MOTOR_LuV, 64) - .EUt(VA[LuV].toLong()) - .duration(1 * MINUTE) - .tier(LuV) - .buildAndRegister() + fluidInputs(Ruridit.getFluid(18 * 64 * 64)) // wireFineX: [(18L) * 64 * 64] + output(ELECTRIC_MOTOR_LuV, 64) + EUt(VA[LuV]) + duration(1 * MINUTE) + tier(LuV) + } // ZPM - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, SamariumMagnetic, 64) // 64x stickLong - .input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 - .fluidInputs(Osmiridium.getFluid(L * 64 // stickLongX: [(144L) * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, SamariumMagnetic, 64) // 64x stickLong + input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 + fluidInputs(Osmiridium.getFluid(L * 64 // stickLongX: [(144L) * 64] + 36 * 2 * 64 // ringX: [(36L) * 2 * 64] + 18 * 4 * 64)) // roundX: [(18L) * 4 * 64] - .fluidInputs(Europium.getFluid(18 * (64 + 32) * 64)) // wireFineX: [(18L) * (64 + 32) * 64] - .output(ELECTRIC_MOTOR_ZPM, 64) - .EUt(VA[ZPM].toLong()) - .duration(1 * MINUTE) - .tier(ZPM) - .buildAndRegister() + fluidInputs(Europium.getFluid(18 * (64 + 32) * 64)) // wireFineX: [(18L) * (64 + 32) * 64] + output(ELECTRIC_MOTOR_ZPM, 64) + EUt(VA[ZPM]) + duration(1 * MINUTE) + tier(ZPM) + } // UV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, SamariumMagnetic, 64) // 64x stickLong - .input(cableGtHex, YttriumBariumCuprate, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Lubricant.getFluid(1000 * 64)) // 1000 * 64 - .fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Tritanium.getFluid(L * 2 * 64 // stickLongX: [(144L) * 2 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, SamariumMagnetic, 64) // 64x stickLong + input(cableGtHex, YttriumBariumCuprate, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Lubricant.getFluid(1000 * 64)) // 1000 * 64 + fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 + fluidInputs(Tritanium.getFluid(L * 2 * 64 // stickLongX: [(144L) * 2 * 64] + 36 * 4 * 64 // ringX: [(36L) * 4 * 64] + 18 * 8 * 64)) // roundX: [(18L) * 8 * 64] - .fluidInputs(Americium.getFluid(18 * (64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64) * 64 ] - .output(ELECTRIC_MOTOR_UV, 64) - .EUt(VA[UV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UV) - .buildAndRegister() + fluidInputs(Americium.getFluid(18 * (64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64) * 64 ] + output(ELECTRIC_MOTOR_UV, 64) + EUt(VA[UV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UV) + } // UHV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, ChromiumGermaniumTellurideMagnetic, 64) // 64x stickLong - .input(cableGtHex, Europium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 - .fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Adamantium.getFluid(L * 2 * 64 // stickLongX: [(144L) * 2 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, ChromiumGermaniumTellurideMagnetic, 64) // 64x stickLong + input(cableGtHex, Europium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 + fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Adamantium.getFluid(L * 2 * 64 // stickLongX: [(144L) * 2 * 64] + 36 * 4 * 64// ringX: [(36L) * 4 * 64] + 18 * 8 * 64)) // roundX: [(18L) * 8 * 64] - .fluidInputs(Bedrockium.getFluid(18 * (64 + 64 + 32) * 64)) // wireFineX: [(18L) * (64 + 64 + 32) * 64] - .output(ELECTRIC_MOTOR_UHV, 64) - .EUt(VA[UHV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UHV) - .buildAndRegister() + fluidInputs(Bedrockium.getFluid(18 * (64 + 64 + 32) * 64)) // wireFineX: [(18L) * (64 + 64 + 32) * 64] + output(ELECTRIC_MOTOR_UHV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UHV) + } // UEV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, ChromiumGermaniumTellurideMagnetic, 64) // 64x stickLong - .input(cableGtHex, Seaborgium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 - .fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 - .fluidInputs(CosmicNeutronium.getFluid(L * 4 * 64 // stickLongX: [(144L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, ChromiumGermaniumTellurideMagnetic, 64) // 64x stickLong + input(cableGtHex, Seaborgium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 + fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 + fluidInputs(CosmicNeutronium.getFluid(L * 4 * 64 // stickLongX: [(144L) * 4 * 64] + 36 * 8 * 64 // ringX: [(36L) * 8 * 64] + 18 * 16 * 64)) // roundX: [(18L) * 16 * 64] - .fluidInputs(MetastableHassium.getFluid(18 * (64 + 64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64 + 64) * 64] - .output(ELECTRIC_MOTOR_UEV, 64) - .EUt(VA[UEV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UEV) - .buildAndRegister() + fluidInputs(MetastableHassium.getFluid(18 * (64 + 64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64 + 64) * 64] + output(ELECTRIC_MOTOR_UEV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UEV) + } // UIV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(stickLong, Magnetium, 64) // 64x stickLong - .input(cableGtHex, SuperheavyAlloyA, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(L * 4 * 64 // stickLongX: [(144L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(stickLong, Magnetium, 64) // 64x stickLong + input(cableGtHex, SuperheavyAlloyA, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(L * 4 * 64 // stickLongX: [(144L) * 4 * 64] + 36 * 8 * 64 // ringX: [(36L) * 8 * 64] + 18 * 16 * 64)) // roundX: [(18L) * 16 * 64] - .fluidInputs(Hypogen.getFluid(18 * (64 + 64 + 64 + 32) * 64)) // wireFine: [(18L) * (64 + 64 + 64 + 32) * 64] - .output(ELECTRIC_MOTOR_UIV, 64) - .EUt(VA[UIV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UIV) - .buildAndRegister() + fluidInputs(Hypogen.getFluid(18 * (64 + 64 + 64 + 32) * 64)) // wireFine: [(18L) * (64 + 64 + 64 + 32) * 64] + output(ELECTRIC_MOTOR_UIV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UIV) + } // UXV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(ENERGISED_TESSERACT, 64) - .input(stickLong, Magnetium, 64) // 64x (2x stickLong) - .input(stickLong, Magnetium, 64) - .input(cableGtHex, SuperheavyAlloyB, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 - .fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(TranscendentMetal.getFluid(144 * 8 * 64 // stickLongX: [(144L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(1) + input(ENERGISED_TESSERACT, 64) + input(stickLong, Magnetium, 64) // 64x (2x stickLong) + input(stickLong, Magnetium, 64) + input(cableGtHex, SuperheavyAlloyB, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 + fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(TranscendentMetal.getFluid(144 * 8 * 64 // stickLongX: [(144L) * 8 * 64] + 36 * 16 * 64 // ringX: [(36L) * 16 * 64] + 18 * 32 * 64)) // roundX: [(18L) * 32 * 64] - .fluidInputs(MagMatter.getFluid(18 * (64 + 64 + 64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64 + 64 + 64) * 64] - .output(ELECTRIC_MOTOR_UXV, 64) - .EUt(VA[UXV].toLong()) - .duration(1 * MINUTE + 45 * SECOND) - .tier(UXV) - .buildAndRegister() + fluidInputs(MagMatter.getFluid(18 * (64 + 64 + 64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64 + 64 + 64) * 64] + output(ELECTRIC_MOTOR_UXV, 64) + EUt(VA[UXV]) + duration(1 * MINUTE + 45 * SECOND) + tier(UXV) + } // OpV @@ -493,224 +498,224 @@ internal object ComponentAssemblyLineRecipeProducer private fun electricPistonRecipes() { // LV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Steel, 64) // 64x (2x stick) = 64x stickLong - .input(cableGtHex, Tin, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(plateDouble, Steel, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble - .input(plateDouble, Steel, 32) - .input(gearSmall, Steel, 64) // 64x gearSmall - .input(ELECTRIC_MOTOR_LV, 64) - .output(ELECTRIC_PISTON_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Steel, 64) // 64x (2x stick) = 64x stickLong + input(cableGtHex, Tin, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(plateDouble, Steel, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble + input(plateDouble, Steel, 32) + input(gearSmall, Steel, 64) // 64x gearSmall + input(ELECTRIC_MOTOR_LV, 64) + output(ELECTRIC_PISTON_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } // MV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Aluminium, 64) // 64x (2x stick) = 64x stickLong - .input(cableGtHex, Copper, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(plateDouble, Aluminium, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble - .input(plateDouble, Aluminium, 32) - .input(gearSmall, Aluminium, 64) // 64x gearSmall - .input(ELECTRIC_MOTOR_MV, 64) - .output(ELECTRIC_PISTON_MV, 64) - .EUt(VA[MV].toLong()) - .duration(30 * SECOND) - .tier(MV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Aluminium, 64) // 64x (2x stick) = 64x stickLong + input(cableGtHex, Copper, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(plateDouble, Aluminium, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble + input(plateDouble, Aluminium, 32) + input(gearSmall, Aluminium, 64) // 64x gearSmall + input(ELECTRIC_MOTOR_MV, 64) + output(ELECTRIC_PISTON_MV, 64) + EUt(VA[MV]) + duration(30 * SECOND) + tier(MV) + } // HV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, StainlessSteel, 64) // 64x (2x stick) = 64x stickLong - .input(cableGtHex, Gold, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(plateDouble, StainlessSteel, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble - .input(plateDouble, StainlessSteel, 32) - .input(gearSmall, StainlessSteel, 64) // 64x gearSmall - .input(ELECTRIC_MOTOR_HV, 64) - .output(ELECTRIC_PISTON_HV, 64) - .EUt(VA[HV].toLong()) - .duration(30 * SECOND) - .tier(HV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, StainlessSteel, 64) // 64x (2x stick) = 64x stickLong + input(cableGtHex, Gold, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(plateDouble, StainlessSteel, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble + input(plateDouble, StainlessSteel, 32) + input(gearSmall, StainlessSteel, 64) // 64x gearSmall + input(ELECTRIC_MOTOR_HV, 64) + output(ELECTRIC_PISTON_HV, 64) + EUt(VA[HV]) + duration(30 * SECOND) + tier(HV) + } // EV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, Titanium, 64) // 64x (2x stick) = 64x stickLong - .input(cableGtHex, Aluminium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(plateDouble, Titanium, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble - .input(plateDouble, Titanium, 32) - .input(gearSmall, Titanium, 64) // 64x gearSmall - .input(ELECTRIC_MOTOR_EV, 64) - .output(ELECTRIC_PISTON_EV, 64) - .EUt(VA[EV].toLong()) - .duration(45 * SECOND) - .tier(EV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, Titanium, 64) // 64x (2x stick) = 64x stickLong + input(cableGtHex, Aluminium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(plateDouble, Titanium, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble + input(plateDouble, Titanium, 32) + input(gearSmall, Titanium, 64) // 64x gearSmall + input(ELECTRIC_MOTOR_EV, 64) + output(ELECTRIC_PISTON_EV, 64) + EUt(VA[EV]) + duration(45 * SECOND) + tier(EV) + } // IV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(stickLong, TungstenSteel, 64) // 64x (2x stick) = 64x stickLong - .input(cableGtHex, Tungsten, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(plateDouble, TungstenSteel, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble - .input(plateDouble, TungstenSteel, 32) - .input(gearSmall, TungstenSteel, 64) // 64x gearSmall - .input(ELECTRIC_MOTOR_IV, 64) - .output(ELECTRIC_PISTON_IV, 64) - .EUt(VA[IV].toLong()) - .duration(45 * SECOND) - .tier(IV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(stickLong, TungstenSteel, 64) // 64x (2x stick) = 64x stickLong + input(cableGtHex, Tungsten, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(plateDouble, TungstenSteel, 64) // 64x (3x plate) = 96x plateDouble = (64 + 32)x plateDouble + input(plateDouble, TungstenSteel, 32) + input(gearSmall, TungstenSteel, 64) // 64x gearSmall + input(ELECTRIC_MOTOR_IV, 64) + output(ELECTRIC_PISTON_IV, 64) + EUt(VA[IV]) + duration(45 * SECOND) + tier(IV) + } // LuV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ELECTRIC_MOTOR_LuV, 64) - .input(plateDouble, HSSS, 32) // 64x plate = 32x plateDouble - .input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 - .fluidInputs(HSSS.getFluid(36 * 2 * 64 // ringX: [(36L) * 2 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(ELECTRIC_MOTOR_LuV, 64) + input(plateDouble, HSSS, 32) // 64x plate = 32x plateDouble + input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 64)) // 144 * 64 + fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 + fluidInputs(HSSS.getFluid(36 * 2 * 64 // ringX: [(36L) * 2 * 64] + 18 * 4 * 64 // roundX: [(18L) * 4 * 64] + 72 * 2 * 64 // stickX: [(72L) * 2 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 2 * 64)) // gearSmallX: [(144L) * 2 * 64] - .output(ELECTRIC_PISTON_LUV, 64) - .EUt(VA[LuV].toLong()) - .duration(1 * MINUTE) - .tier(LuV) - .buildAndRegister() + output(ELECTRIC_PISTON_LUV, 64) + EUt(VA[LuV]) + duration(1 * MINUTE) + tier(LuV) + } // ZPM - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ELECTRIC_MOTOR_ZPM, 64) - .input(plateDouble, Osmiridium, 32) // 64x plate = 32x plateDouble - .input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 - .fluidInputs(Osmiridium.getFluid(36 * 2 * 64 // ringX: [(36L) * 2 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(ELECTRIC_MOTOR_ZPM, 64) + input(plateDouble, Osmiridium, 32) // 64x plate = 32x plateDouble + input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 + fluidInputs(Osmiridium.getFluid(36 * 2 * 64 // ringX: [(36L) * 2 * 64] + 18 * 4 * 64 // roundX: [(18L) * 4 * 64] + 72 * 2 * 64 // stickX: [(72L) * 2 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 2 * 64)) // gearSmall: [(144L) * 2 * 64] - .output(ELECTRIC_PISTON_ZPM, 64) - .EUt(VA[ZPM].toLong()) - .duration(1 * MINUTE) - .tier(ZPM) - .buildAndRegister() + output(ELECTRIC_PISTON_ZPM, 64) + EUt(VA[ZPM]) + duration(1 * MINUTE) + tier(ZPM) + } // UV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ELECTRIC_MOTOR_UV, 64) - .input(plateDouble, Tritanium, 64) // 64x (2x plate) = 64x plateDouble - .input(cableGtHex, YttriumBariumCuprate, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Lubricant.getFluid(1000 * 64)) // 1000 * 64 - .fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Tritanium.getFluid(36 * 4 * 64 // ringX: [(36L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(ELECTRIC_MOTOR_UV, 64) + input(plateDouble, Tritanium, 64) // 64x (2x plate) = 64x plateDouble + input(cableGtHex, YttriumBariumCuprate, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Lubricant.getFluid(1000 * 64)) // 1000 * 64 + fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 + fluidInputs(Tritanium.getFluid(36 * 4 * 64 // ringX: [(36L) * 4 * 64] + 18 * 8 * 64 // roundX: [(18L) * 8 * 64] + 72 * 4 * 64 // stickX: [(72L) * 4 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 2 * 64)) // gearSmallX: [(144L) * 2 * 64] - .output(ELECTRIC_PISTON_UV, 64) - .EUt(VA[UV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UV) - .buildAndRegister() + output(ELECTRIC_PISTON_UV, 64) + EUt(VA[UV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UV) + } // UHV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ELECTRIC_MOTOR_UHV, 64) - .input(plateDouble, Adamantium, 64) // 64x (2x plate) = 64x plateDouble - .input(cableGtHex, Europium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 - .fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Adamantium.getFluid(36 * 4 * 64 // ringX: [(36L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(ELECTRIC_MOTOR_UHV, 64) + input(plateDouble, Adamantium, 64) // 64x (2x plate) = 64x plateDouble + input(cableGtHex, Europium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 + fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Adamantium.getFluid(36 * 4 * 64 // ringX: [(36L) * 4 * 64] + 18 * 8 * 64 // roundX: [(18L) * 8 * 64] + 72 * 4 * 64 // stickX: [(72L) * 4 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 2 * 64)) // gearSmallX: [(144L) * 2 * 64] - .output(ELECTRIC_PISTON_UHV, 64) - .EUt(VA[UHV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UHV) - .buildAndRegister() + output(ELECTRIC_PISTON_UHV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UHV) + } // UEV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ELECTRIC_MOTOR_UEV, 64) - .input(plateDouble, CosmicNeutronium, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, CosmicNeutronium, 64) - .input(cableGtHex, Seaborgium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 - .fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 - .fluidInputs(CosmicNeutronium.getFluid(36 * 8 * 64 // ringX: [(36L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(ELECTRIC_MOTOR_UEV, 64) + input(plateDouble, CosmicNeutronium, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, CosmicNeutronium, 64) + input(cableGtHex, Seaborgium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 + fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 + fluidInputs(CosmicNeutronium.getFluid(36 * 8 * 64 // ringX: [(36L) * 8 * 64] + 18 * 16 * 64 // roundX: [(18L) * 16 * 64] + 72 * 4 * 64 // stickX: [(72L) * 4 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 2 * 64)) // gearSmallX: [(144L) * 2 * 64] - .output(ELECTRIC_PISTON_UEV, 64) - .EUt(VA[UEV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UEV) - .buildAndRegister() + output(ELECTRIC_PISTON_UEV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UEV) + } // UIV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ELECTRIC_MOTOR_UIV, 64) - .input(plateDouble, HeavyQuarkDegenerateMatter, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, HeavyQuarkDegenerateMatter, 64) - .input(cableGtHex, SuperheavyAlloyA, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(36 * 8 * 64 // ringX: [(36L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(ELECTRIC_MOTOR_UIV, 64) + input(plateDouble, HeavyQuarkDegenerateMatter, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, HeavyQuarkDegenerateMatter, 64) + input(cableGtHex, SuperheavyAlloyA, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(36 * 8 * 64 // ringX: [(36L) * 8 * 64] + 18 * 16 * 64 // roundX: [(18L) * 16 * 64] + 72 * 4 * 64 // stickX: [(72L) * 4 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 2 * 64)) // gearSmallX: [(144L) * 2 * 64] - .output(ELECTRIC_PISTON_UIV, 64) - .EUt(VA[UIV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UIV) - .buildAndRegister() + output(ELECTRIC_PISTON_UIV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UIV) + } // UXV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(2) - .input(ELECTRIC_MOTOR_UXV, 64) - .input(plateDouble, TranscendentMetal, 64) // 64x (8x plate) = 64x (4x plateDouble) - .input(plateDouble, TranscendentMetal, 64) - .input(plateDouble, TranscendentMetal, 64) - .input(plateDouble, TranscendentMetal, 64) - .input(cableGtHex, SuperheavyAlloyB, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 - .fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(TranscendentMetal.getFluid(36 * 16 * 64 // ringX: [(36L) * 16 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(2) + input(ELECTRIC_MOTOR_UXV, 64) + input(plateDouble, TranscendentMetal, 64) // 64x (8x plate) = 64x (4x plateDouble) + input(plateDouble, TranscendentMetal, 64) + input(plateDouble, TranscendentMetal, 64) + input(plateDouble, TranscendentMetal, 64) + input(cableGtHex, SuperheavyAlloyB, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 + fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(TranscendentMetal.getFluid(36 * 16 * 64 // ringX: [(36L) * 16 * 64] + 18 * 32 * 64 // roundX: [(18L) * 32 * 64] + 576 * 2 * 64 // gearX: [(576L) * 2 * 64] + 144 * 4 * 64)) // gearSmallX: [(144L) * 4 * 64] - .output(ELECTRIC_PISTON_UXV) - .EUt(VA[UXV].toLong()) - .duration(1 * MINUTE + 45 * SECOND) - .tier(UXV) - .buildAndRegister() + output(ELECTRIC_PISTON_UXV) + EUt(VA[UXV]) + duration(1 * MINUTE + 45 * SECOND) + tier(UXV) + } // OpV @@ -729,64 +734,64 @@ internal object ComponentAssemblyLineRecipeProducer PolyphosphonitrileFluoroRubber.getFluid(36 * 2 * 64))) { // LV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(cableGtHex, Tin, 4) // 64x cableGtSingle = 4x cableGtHex - .input(pipeHugeFluid, Bronze, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid - .input(screw, Tin, 64) - .input(rotor, Tin, 64) - .input(ELECTRIC_MOTOR_LV, 64) - .fluidInputs(rubber) - .output(ELECTRIC_PUMP_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(cableGtHex, Tin, 4) // 64x cableGtSingle = 4x cableGtHex + input(pipeHugeFluid, Bronze, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid + input(screw, Tin, 64) + input(rotor, Tin, 64) + input(ELECTRIC_MOTOR_LV, 64) + fluidInputs(rubber) + output(ELECTRIC_PUMP_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } // MV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(cableGtHex, Copper, 4) // 64x cableGtSingle = 4x cableGtHex - .input(pipeHugeFluid, Steel, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid - .input(screw, Bronze, 64) - .input(rotor, Bronze, 64) - .input(ELECTRIC_MOTOR_MV, 64) - .fluidInputs(rubber) - .output(ELECTRIC_PUMP_MV, 64) - .EUt(VA[MV].toLong()) - .duration(30 * SECOND) - .tier(MV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(cableGtHex, Copper, 4) // 64x cableGtSingle = 4x cableGtHex + input(pipeHugeFluid, Steel, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid + input(screw, Bronze, 64) + input(rotor, Bronze, 64) + input(ELECTRIC_MOTOR_MV, 64) + fluidInputs(rubber) + output(ELECTRIC_PUMP_MV, 64) + EUt(VA[MV]) + duration(30 * SECOND) + tier(MV) + } // HV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(cableGtHex, Gold, 4) // 64x cableGtSingle = 4x cableGtHex - .input(pipeHugeFluid, StainlessSteel, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid - .input(screw, Steel, 64) - .input(rotor, Steel, 64) - .input(ELECTRIC_MOTOR_HV, 64) - .fluidInputs(rubber) - .output(ELECTRIC_PUMP_HV, 64) - .EUt(VA[HV].toLong()) - .duration(30 * SECOND) - .tier(HV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(cableGtHex, Gold, 4) // 64x cableGtSingle = 4x cableGtHex + input(pipeHugeFluid, StainlessSteel, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid + input(screw, Steel, 64) + input(rotor, Steel, 64) + input(ELECTRIC_MOTOR_HV, 64) + fluidInputs(rubber) + output(ELECTRIC_PUMP_HV, 64) + EUt(VA[HV]) + duration(30 * SECOND) + tier(HV) + } // EV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(cableGtHex, Aluminium, 4) // 64x cableGtSingle = 4x cableGtHex - .input(pipeHugeFluid, Titanium, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid - .input(screw, StainlessSteel, 64) - .input(rotor, StainlessSteel, 64) - .input(ELECTRIC_MOTOR_EV, 64) - .fluidInputs(rubber) - .output(ELECTRIC_PUMP_EV, 64) - .EUt(VA[EV].toLong()) - .duration(45 * SECOND) - .tier(EV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(cableGtHex, Aluminium, 4) // 64x cableGtSingle = 4x cableGtHex + input(pipeHugeFluid, Titanium, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid + input(screw, StainlessSteel, 64) + input(rotor, StainlessSteel, 64) + input(ELECTRIC_MOTOR_EV, 64) + fluidInputs(rubber) + output(ELECTRIC_PUMP_EV, 64) + EUt(VA[EV]) + duration(45 * SECOND) + tier(EV) + } } // IV @@ -796,19 +801,19 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(36 * 2 * 64), PolyphosphonitrileFluoroRubber.getFluid(36 * 2 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(cableGtHex, Tungsten, 4) // 64x cableGtSingle = 4x cableGtHex - .input(pipeHugeFluid, TungstenSteel, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid - .input(screw, TungstenSteel, 64) - .input(rotor, TungstenSteel, 64) - .input(ELECTRIC_MOTOR_IV, 64) - .fluidInputs(rubber) - .output(ELECTRIC_PUMP_IV , 64) - .EUt(VA[IV].toLong()) - .duration(45 * SECOND) - .tier(IV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(cableGtHex, Tungsten, 4) // 64x cableGtSingle = 4x cableGtHex + input(pipeHugeFluid, TungstenSteel, 16) // 64x pipeNormalFluid = 16x pipeHugeFluid + input(screw, TungstenSteel, 64) + input(rotor, TungstenSteel, 64) + input(ELECTRIC_MOTOR_IV, 64) + fluidInputs(rubber) + output(ELECTRIC_PUMP_IV , 64) + EUt(VA[IV]) + duration(45 * SECOND) + tier(IV) + } } // LuV @@ -818,22 +823,22 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(36 * 4 * 64), PolyphosphonitrileFluoroRubber.getFluid(36 * 4 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ELECTRIC_MOTOR_LuV, 64) - .input(plateDouble, HSSS, 32) // 64x plate = 32x plateDouble - .input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 - .fluidInputs(rubber) - .fluidInputs(HSSS.getFluid(18 * 4 * 64 // screwX: [(18L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(ELECTRIC_MOTOR_LuV, 64) + input(plateDouble, HSSS, 32) // 64x plate = 32x plateDouble + input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 64)) // 144 * 64 + fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 + fluidInputs(rubber) + fluidInputs(HSSS.getFluid(18 * 4 * 64 // screwX: [(18L) * 4 * 64] + 576 * 64)) // rotorX: [(576) * 64] - .fluidInputs(NiobiumTitanium.getFluid(432 * 64)) // pipeNormalFluidX: [(432L) * 64] - .output(ELECTRIC_PUMP_LuV, 64) - .EUt(VA[LuV].toLong()) - .duration(1 * MINUTE) - .tier(LuV) - .buildAndRegister() + fluidInputs(NiobiumTitanium.getFluid(432 * 64)) // pipeNormalFluidX: [(432L) * 64] + output(ELECTRIC_PUMP_LuV, 64) + EUt(VA[LuV]) + duration(1 * MINUTE) + tier(LuV) + } } // ZPM @@ -843,22 +848,22 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(36 * 6 * 64), PolyphosphonitrileFluoroRubber.getFluid(36 * 6 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ELECTRIC_MOTOR_ZPM, 64) - .input(plateDouble, Osmiridium, 32) // 64x plate = 32x plateDouble - .input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 - .fluidInputs(rubber) - .fluidInputs(Osmiridium.getFluid(18 * 4 * 64 // screwX: [(18L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(ELECTRIC_MOTOR_ZPM, 64) + input(plateDouble, Osmiridium, 32) // 64x plate = 32x plateDouble + input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 + fluidInputs(rubber) + fluidInputs(Osmiridium.getFluid(18 * 4 * 64 // screwX: [(18L) * 4 * 64] + 576 * 64)) // rotorX: [(576L) * 64] - .fluidInputs(Iridium.getFluid(432 * 64)) // pipeNormalFluidX: [(432L) * 64] - .output(ELECTRIC_PUMP_ZPM, 64) - .EUt(VA[ZPM].toLong()) - .duration(1 * MINUTE) - .tier(ZPM) - .buildAndRegister() + fluidInputs(Iridium.getFluid(432 * 64)) // pipeNormalFluidX: [(432L) * 64] + output(ELECTRIC_PUMP_ZPM, 64) + EUt(VA[ZPM]) + duration(1 * MINUTE) + tier(ZPM) + } } // UV @@ -868,23 +873,23 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(36 * 8 * 64), PolyphosphonitrileFluoroRubber.getFluid(36 * 8 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ELECTRIC_MOTOR_UV, 64) - .input(plateDouble, Tritanium, 64) // 64x (2x plate) = 64x plateDouble - .input(cableGtHex, YttriumBariumCuprate, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Lubricant.getFluid(1000 * 64)) // 1000 * 64 - .fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 - .fluidInputs(rubber) - .fluidInputs(Tritanium.getFluid(18 * 8 * 64 // screwX: [(18L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(ELECTRIC_MOTOR_UV, 64) + input(plateDouble, Tritanium, 64) // 64x (2x plate) = 64x plateDouble + input(cableGtHex, YttriumBariumCuprate, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Lubricant.getFluid(1000 * 64)) // 1000 * 64 + fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 + fluidInputs(rubber) + fluidInputs(Tritanium.getFluid(18 * 8 * 64 // screwX: [(18L) * 8 * 64] + 576 * 64)) // rotorX: [(576L) * 64] - .fluidInputs(Naquadah.getFluid(864 * 64)) // pipeLargeFluidX: [(864L) * 64] - .output(ELECTRIC_PUMP_UV, 64) - .EUt(VA[UV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UV) - .buildAndRegister() + fluidInputs(Naquadah.getFluid(864 * 64)) // pipeLargeFluidX: [(864L) * 64] + output(ELECTRIC_PUMP_UV, 64) + EUt(VA[UV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UV) + } } // UHV @@ -892,23 +897,23 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(36 * 12 * 64), PolyphosphonitrileFluoroRubber.getFluid(36 * 12 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ELECTRIC_MOTOR_UHV, 64) - .input(plateDouble, Adamantium, 64) // 64x (2x plate) = 64x plateDouble - .input(cableGtHex, Europium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 - .fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(rubber) - .fluidInputs(Adamantium.getFluid(18 * 8 * 64 // screwX: [(18L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(ELECTRIC_MOTOR_UHV, 64) + input(plateDouble, Adamantium, 64) // 64x (2x plate) = 64x plateDouble + input(cableGtHex, Europium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 + fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(rubber) + fluidInputs(Adamantium.getFluid(18 * 8 * 64 // screwX: [(18L) * 8 * 64] + 576 * 64)) // rotorX: [(576L) * 64] - .fluidInputs(Europium.getFluid(864 * 64)) // pipeLargeFluidX: [(864L) * 64] - .output(ELECTRIC_PUMP_UHV, 64) - .EUt(VA[UHV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UHV) - .buildAndRegister() + fluidInputs(Europium.getFluid(864 * 64)) // pipeLargeFluidX: [(864L) * 64] + output(ELECTRIC_PUMP_UHV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UHV) + } } // UEV @@ -916,25 +921,25 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(36 * 24 * 64), PolyphosphonitrileFluoroRubber.getFluid(36 * 24 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ELECTRIC_MOTOR_UEV, 64) - .input(plateDouble, CosmicNeutronium, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, CosmicNeutronium, 64) - .input(cableGtHex, Seaborgium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 - .fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 - .fluidInputs(rubber) - .fluidInputs(CosmicNeutronium.getFluid(18 * 8 * 64 // screwX: [(18L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(ELECTRIC_MOTOR_UEV, 64) + input(plateDouble, CosmicNeutronium, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, CosmicNeutronium, 64) + input(cableGtHex, Seaborgium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 + fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 + fluidInputs(rubber) + fluidInputs(CosmicNeutronium.getFluid(18 * 8 * 64 // screwX: [(18L) * 8 * 64] + 576 * 64)) // rotorX: [(576L) * 64] - .fluidInputs(Duranium.getFluid(864 * 2 * 64)) // pipeLargeFluidX: [(864L) * 2 * 64] - .output(ELECTRIC_PUMP_UEV, 64) - .EUt(VA[UEV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UEV) - .buildAndRegister() + fluidInputs(Duranium.getFluid(864 * 2 * 64)) // pipeLargeFluidX: [(864L) * 2 * 64] + output(ELECTRIC_PUMP_UEV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UEV) + } } // UIV @@ -942,25 +947,25 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(36 * 32 * 64), PolyphosphonitrileFluoroRubber.getFluid(36 * 32 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ELECTRIC_MOTOR_UIV, 64) - .input(plateDouble, HeavyQuarkDegenerateMatter, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, HeavyQuarkDegenerateMatter, 64) - .input(cableGtHex, SuperheavyAlloyA, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(rubber) - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(18 * 8 * 64 // screwX: [(18L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(ELECTRIC_MOTOR_UIV, 64) + input(plateDouble, HeavyQuarkDegenerateMatter, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, HeavyQuarkDegenerateMatter, 64) + input(cableGtHex, SuperheavyAlloyA, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(rubber) + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(18 * 8 * 64 // screwX: [(18L) * 8 * 64] + 576 * 64)) // rotorX: [(576L) * 64] - .fluidInputs(Neutronium.getFluid(864 * 2 * 64)) // pipeLargeFluidX: [(864L) * 2 * 64] - .output(ELECTRIC_PUMP_UIV, 64) - .EUt(VA[UIV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UIV) - .buildAndRegister() + fluidInputs(Neutronium.getFluid(864 * 2 * 64)) // pipeLargeFluidX: [(864L) * 2 * 64] + output(ELECTRIC_PUMP_UIV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UIV) + } } // UXV @@ -968,27 +973,27 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(36 * 64 * 64), PolyphosphonitrileFluoroRubber.getFluid(36 * 64 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(3) - .input(ELECTRIC_MOTOR_UXV, 64) - .input(plateDense, TranscendentMetal, 64) // 64x (8x plate) = 64x (4x plateDouble) - .input(plateDense, TranscendentMetal, 64) - .input(plateDense, TranscendentMetal, 64) - .input(plateDense, TranscendentMetal, 64) - .input(cableGtHex, SuperheavyAlloyB, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 - .fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(rubber) - .fluidInputs(TranscendentMetal.getFluid(18 * 16 * 64 // screwX: [(18L) * 16 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(3) + input(ELECTRIC_MOTOR_UXV, 64) + input(plateDense, TranscendentMetal, 64) // 64x (8x plate) = 64x (4x plateDouble) + input(plateDense, TranscendentMetal, 64) + input(plateDense, TranscendentMetal, 64) + input(plateDense, TranscendentMetal, 64) + input(cableGtHex, SuperheavyAlloyB, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 + fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(rubber) + fluidInputs(TranscendentMetal.getFluid(18 * 16 * 64 // screwX: [(18L) * 16 * 64] + 576 * 2 * 64)) // rotorX: [(576L) * 2 * 64] - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(864 * 4 * 64)) // pipeLargeFluidX: [(864L) * 4 * 64] - .output(ELECTRIC_PUMP_UXV) - .EUt(VA[UXV].toLong()) - .duration(1 * MINUTE + 45 * SECOND) - .tier(UXV) - .buildAndRegister() + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(864 * 4 * 64)) // pipeLargeFluidX: [(864L) * 4 * 64] + output(ELECTRIC_PUMP_UXV) + EUt(VA[UXV]) + duration(1 * MINUTE + 45 * SECOND) + tier(UXV) + } } // OpV @@ -1007,56 +1012,56 @@ internal object ComponentAssemblyLineRecipeProducer PolyphosphonitrileFluoroRubber.getFluid(L * 6 * 64))) { // LV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(cableGtHex, Tin, 4) // 64x cableGtSingle = 4x cableGtHex - .input(ELECTRIC_MOTOR_LV, 64) - .input(ELECTRIC_MOTOR_LV, 64) - .fluidInputs(rubber) - .output(CONVEYOR_MODULE_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(cableGtHex, Tin, 4) // 64x cableGtSingle = 4x cableGtHex + input(ELECTRIC_MOTOR_LV, 64) + input(ELECTRIC_MOTOR_LV, 64) + fluidInputs(rubber) + output(CONVEYOR_MODULE_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } // MV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(cableGtHex, Copper, 4) // 64x cableGtSingle = 4x cableGtHex - .input(ELECTRIC_MOTOR_MV, 64) - .input(ELECTRIC_MOTOR_MV, 64) - .fluidInputs(rubber) - .output(CONVEYOR_MODULE_MV, 64) - .EUt(VA[MV].toLong()) - .duration(30 * SECOND) - .tier(MV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(cableGtHex, Copper, 4) // 64x cableGtSingle = 4x cableGtHex + input(ELECTRIC_MOTOR_MV, 64) + input(ELECTRIC_MOTOR_MV, 64) + fluidInputs(rubber) + output(CONVEYOR_MODULE_MV, 64) + EUt(VA[MV]) + duration(30 * SECOND) + tier(MV) + } // HV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(cableGtHex, Gold, 4) // 64x cableGtSingle = 4x cableGtHex - .input(ELECTRIC_MOTOR_HV, 64) - .input(ELECTRIC_MOTOR_HV, 64) - .fluidInputs(rubber) - .output(CONVEYOR_MODULE_HV, 64) - .EUt(VA[HV].toLong()) - .duration(30 * SECOND) - .tier(HV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(cableGtHex, Gold, 4) // 64x cableGtSingle = 4x cableGtHex + input(ELECTRIC_MOTOR_HV, 64) + input(ELECTRIC_MOTOR_HV, 64) + fluidInputs(rubber) + output(CONVEYOR_MODULE_HV, 64) + EUt(VA[HV]) + duration(30 * SECOND) + tier(HV) + } // EV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(cableGtHex, Aluminium, 4) // 64x cableGtSingle = 4x cableGtHex - .input(ELECTRIC_MOTOR_EV, 64) - .input(ELECTRIC_MOTOR_EV, 64) - .fluidInputs(rubber) - .output(CONVEYOR_MODULE_EV, 64) - .EUt(VA[EV].toLong()) - .duration(45 * SECOND) - .tier(EV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(cableGtHex, Aluminium, 4) // 64x cableGtSingle = 4x cableGtHex + input(ELECTRIC_MOTOR_EV, 64) + input(ELECTRIC_MOTOR_EV, 64) + fluidInputs(rubber) + output(CONVEYOR_MODULE_EV, 64) + EUt(VA[EV]) + duration(45 * SECOND) + tier(EV) + } } // IV @@ -1066,17 +1071,17 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(L * 6 * 64), PolyphosphonitrileFluoroRubber.getFluid(L * 6 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(cableGtHex, Tungsten, 4) // 64x cableGtSingle = 4x cableGtHex - .input(ELECTRIC_MOTOR_IV, 64) - .input(ELECTRIC_MOTOR_IV, 64) - .fluidInputs(rubber) - .output(CONVEYOR_MODULE_IV, 64) - .EUt(VA[IV].toLong()) - .duration(45 * SECOND) - .tier(IV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(cableGtHex, Tungsten, 4) // 64x cableGtSingle = 4x cableGtHex + input(ELECTRIC_MOTOR_IV, 64) + input(ELECTRIC_MOTOR_IV, 64) + fluidInputs(rubber) + output(CONVEYOR_MODULE_IV, 64) + EUt(VA[IV]) + duration(45 * SECOND) + tier(IV) + } } // LuV @@ -1086,23 +1091,23 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(L * 8 * 64), PolyphosphonitrileFluoroRubber.getFluid(L * 8 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ELECTRIC_MOTOR_LuV, 64) - .input(ELECTRIC_MOTOR_LuV, 64) - .input(plateDouble, HSSS, 32) // 64x plate = 32x plateDouble - .input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 - .fluidInputs(rubber) - .fluidInputs(HSSS.getFluid(36 * 4 * 64 // ringX: [(36L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(ELECTRIC_MOTOR_LuV, 64) + input(ELECTRIC_MOTOR_LuV, 64) + input(plateDouble, HSSS, 32) // 64x plate = 32x plateDouble + input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 64)) // 144 * 64 + fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 + fluidInputs(rubber) + fluidInputs(HSSS.getFluid(36 * 4 * 64 // ringX: [(36L) * 4 * 64] + 18 * 8 * 64 // roundX: [(18L) * 8 * 64] + 18 * 4 * 64)) // screwX: [(18L) * 4 * 64] - .output(CONVEYOR_MODULE_LuV, 64) - .EUt(VA[LuV].toLong()) - .duration(1 * MINUTE) - .tier(LuV) - .buildAndRegister() + output(CONVEYOR_MODULE_LuV, 64) + EUt(VA[LuV]) + duration(1 * MINUTE) + tier(LuV) + } } // ZPM @@ -1112,23 +1117,23 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(L * 10 * 64), PolyphosphonitrileFluoroRubber.getFluid(L * 10 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ELECTRIC_MOTOR_ZPM, 64) - .input(ELECTRIC_MOTOR_ZPM, 64) - .input(plateDouble, Osmiridium, 32) // 64x plate = 32x plateDouble - .input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 - .fluidInputs(rubber) - .fluidInputs(Osmiridium.getFluid(36 * 4 * 64 // ringX: [(36L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(ELECTRIC_MOTOR_ZPM, 64) + input(ELECTRIC_MOTOR_ZPM, 64) + input(plateDouble, Osmiridium, 32) // 64x plate = 32x plateDouble + input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 + fluidInputs(rubber) + fluidInputs(Osmiridium.getFluid(36 * 4 * 64 // ringX: [(36L) * 4 * 64] + 18 * 8 * 64 // roundX: [(18L) * 8 * 64] + 18 * 4 * 64)) // screwX: [(18L) * 4 * 64] - .output(CONVEYOR_MODULE_ZPM, 64) - .EUt(VA[ZPM].toLong()) - .duration(1 * MINUTE) - .tier(ZPM) - .buildAndRegister() + output(CONVEYOR_MODULE_ZPM, 64) + EUt(VA[ZPM]) + duration(1 * MINUTE) + tier(ZPM) + } } // UV @@ -1138,24 +1143,24 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(L * 12 * 64), PolyphosphonitrileFluoroRubber.getFluid(L * 12 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ELECTRIC_MOTOR_UV, 64) - .input(ELECTRIC_MOTOR_UV, 64) - .input(plateDouble, Tritanium, 64) // 64x (2x plate) = 64x plateDouble - .input(cableGtHex, YttriumBariumCuprate, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Lubricant.getFluid(1000 * 64)) // 64000 - .fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 - .fluidInputs(rubber) - .fluidInputs(Tritanium.getFluid(36 * 8 * 64 // ringX: [(36L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(ELECTRIC_MOTOR_UV, 64) + input(ELECTRIC_MOTOR_UV, 64) + input(plateDouble, Tritanium, 64) // 64x (2x plate) = 64x plateDouble + input(cableGtHex, YttriumBariumCuprate, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Lubricant.getFluid(1000 * 64)) // 64000 + fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 + fluidInputs(rubber) + fluidInputs(Tritanium.getFluid(36 * 8 * 64 // ringX: [(36L) * 8 * 64] + 18 * 16 * 64 // roundX: [(18L) * 16 * 64] + 18 * 8 * 64)) // screwX: [(18L) * 8 * 64] - .output(CONVEYOR_MODULE_UV, 64) - .EUt(VA[UV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UV) - .buildAndRegister() + output(CONVEYOR_MODULE_UV, 64) + EUt(VA[UV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UV) + } } // UHV @@ -1163,24 +1168,24 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(L * 16 * 64), PolyphosphonitrileFluoroRubber.getFluid(L * 16 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ELECTRIC_MOTOR_UHV, 64) - .input(ELECTRIC_MOTOR_UHV, 64) - .input(plateDouble, Adamantium, 64) // 64x (2x plate) = 64x plateDouble - .input(cableGtHex, Europium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 - .fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(rubber) - .fluidInputs(Adamantium.getFluid(36 * 8 * 64 // ringX: [(36L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(ELECTRIC_MOTOR_UHV, 64) + input(ELECTRIC_MOTOR_UHV, 64) + input(plateDouble, Adamantium, 64) // 64x (2x plate) = 64x plateDouble + input(cableGtHex, Europium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 + fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(rubber) + fluidInputs(Adamantium.getFluid(36 * 8 * 64 // ringX: [(36L) * 8 * 64] + 18 * 16 * 64 // roundX: [(18L) * 16 * 64] + 18 * 8 * 64)) // screwX: [(18L) * 8 * 64] - .output(CONVEYOR_MODULE_UHV, 64) - .EUt(VA[UHV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UHV) - .buildAndRegister() + output(CONVEYOR_MODULE_UHV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UHV) + } } // UEV @@ -1188,26 +1193,26 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(L * 32 * 64), PolyphosphonitrileFluoroRubber.getFluid(L * 32 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ELECTRIC_MOTOR_UEV, 64) - .input(ELECTRIC_MOTOR_UEV, 64) - .input(plateDouble, CosmicNeutronium, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, CosmicNeutronium, 64) - .input(cableGtHex, Seaborgium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 - .fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 - .fluidInputs(rubber) - .fluidInputs(CosmicNeutronium.getFluid(36 * 16 * 64 // ringX: [(36L) * 16 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(ELECTRIC_MOTOR_UEV, 64) + input(ELECTRIC_MOTOR_UEV, 64) + input(plateDouble, CosmicNeutronium, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, CosmicNeutronium, 64) + input(cableGtHex, Seaborgium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 + fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 + fluidInputs(rubber) + fluidInputs(CosmicNeutronium.getFluid(36 * 16 * 64 // ringX: [(36L) * 16 * 64] + 18 * 32 * 64 // roundX: [(18L) * 32 * 64] + 18 * 8 * 64)) // screwX: [(18L) * 8 * 64] - .output(CONVEYOR_MODULE_UEV, 64) - .EUt(VA[UEV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UEV) - .buildAndRegister() + output(CONVEYOR_MODULE_UEV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UEV) + } } // UIV @@ -1215,26 +1220,26 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(L * 48 * 64), PolyphosphonitrileFluoroRubber.getFluid(L * 48 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ELECTRIC_MOTOR_UIV, 64) - .input(ELECTRIC_MOTOR_UIV, 64) - .input(plateDouble, HeavyQuarkDegenerateMatter, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, HeavyQuarkDegenerateMatter, 64) - .input(cableGtHex, SuperheavyAlloyA, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(rubber) - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(36 * 16 * 64 // ringX: [(36L) * 16 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(ELECTRIC_MOTOR_UIV, 64) + input(ELECTRIC_MOTOR_UIV, 64) + input(plateDouble, HeavyQuarkDegenerateMatter, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, HeavyQuarkDegenerateMatter, 64) + input(cableGtHex, SuperheavyAlloyA, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(rubber) + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(36 * 16 * 64 // ringX: [(36L) * 16 * 64] + 18 * 32 * 64 // roundX: [(18L) * 32 * 64] + 18 * 8 * 64)) // screwX: [(18L) * 8 * 64] - .output(CONVEYOR_MODULE_UIV, 64) - .EUt(VA[UIV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UIV) - .buildAndRegister() + output(CONVEYOR_MODULE_UIV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UIV) + } } // UXV @@ -1242,28 +1247,28 @@ internal object ComponentAssemblyLineRecipeProducer PolytetramethyleneGlycolRubber.getFluid(L * 64 * 64), PolyphosphonitrileFluoroRubber.getFluid(L * 64 * 64))) { - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(4) - .input(ELECTRIC_MOTOR_UXV, 64) - .input(ELECTRIC_MOTOR_UXV, 64) - .input(plateDouble, TranscendentMetal, 64) // 64x (8x plate) = 64x (4x plateDouble) - .input(plateDouble, TranscendentMetal, 64) - .input(plateDouble, TranscendentMetal, 64) - .input(plateDouble, TranscendentMetal, 64) - .input(cableGtHex, SuperheavyAlloyB, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 - .fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(rubber) - .fluidInputs(TranscendentMetal.getFluid(36 * 32 * 64 // ringX: [(36L) * 32 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(4) + input(ELECTRIC_MOTOR_UXV, 64) + input(ELECTRIC_MOTOR_UXV, 64) + input(plateDouble, TranscendentMetal, 64) // 64x (8x plate) = 64x (4x plateDouble) + input(plateDouble, TranscendentMetal, 64) + input(plateDouble, TranscendentMetal, 64) + input(plateDouble, TranscendentMetal, 64) + input(cableGtHex, SuperheavyAlloyB, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 + fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(rubber) + fluidInputs(TranscendentMetal.getFluid(36 * 32 * 64 // ringX: [(36L) * 32 * 64] + 18 * 64 * 64 // roundX: [(18L) * 64 * 64] + 18 * 16 * 64)) // screwX: [(18L) * 16 * 64] - .output(CONVEYOR_MODULE_UXV, 64) - .EUt(VA[UXV].toLong()) - .duration(1 * MINUTE + 45 * SECOND) - .tier(UXV) - .buildAndRegister() + output(CONVEYOR_MODULE_UXV, 64) + EUt(VA[UXV]) + duration(1 * MINUTE + 45 * SECOND) + tier(UXV) + } } // OpV @@ -1275,234 +1280,234 @@ internal object ComponentAssemblyLineRecipeProducer private fun robotArmRecipes() { // LV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(cableGtHex, Tin, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex - .input(stickLong, Steel, 64) // 64x (2x stick) = 64x stickLong - .input(ELECTRIC_MOTOR_LV, 64) - .input(ELECTRIC_MOTOR_LV, 64) - .input(ELECTRIC_PISTON_LV, 64) - .input(WRAP_CIRCUIT_LV, 4) // 64x circuitX = 4x wrappedCircuitX - .output(ROBOT_ARM_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(cableGtHex, Tin, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex + input(stickLong, Steel, 64) // 64x (2x stick) = 64x stickLong + input(ELECTRIC_MOTOR_LV, 64) + input(ELECTRIC_MOTOR_LV, 64) + input(ELECTRIC_PISTON_LV, 64) + input(WRAP_CIRCUIT_LV, 4) // 64x circuitX = 4x wrappedCircuitX + output(ROBOT_ARM_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } // MV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(cableGtHex, Copper, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex - .input(stickLong, Aluminium, 64) // 64x (2x stick) = 64x stickLong - .input(ELECTRIC_MOTOR_MV, 64) - .input(ELECTRIC_MOTOR_MV, 64) - .input(ELECTRIC_PISTON_MV, 64) - .input(WRAP_CIRCUIT_MV, 4) // 64x circuitX = 4x wrappedCircuitX - .output(ROBOT_ARM_MV, 64) - .EUt(VA[MV].toLong()) - .duration(30 * SECOND) - .tier(MV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(cableGtHex, Copper, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex + input(stickLong, Aluminium, 64) // 64x (2x stick) = 64x stickLong + input(ELECTRIC_MOTOR_MV, 64) + input(ELECTRIC_MOTOR_MV, 64) + input(ELECTRIC_PISTON_MV, 64) + input(WRAP_CIRCUIT_MV, 4) // 64x circuitX = 4x wrappedCircuitX + output(ROBOT_ARM_MV, 64) + EUt(VA[MV]) + duration(30 * SECOND) + tier(MV) + } // HV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(cableGtHex, Gold, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex - .input(stickLong, StainlessSteel, 64) // 64x (2x stick) = 64x stickLong - .input(ELECTRIC_MOTOR_HV, 64) - .input(ELECTRIC_MOTOR_HV, 64) - .input(ELECTRIC_PISTON_HV, 64) - .input(WRAP_CIRCUIT_HV, 4) // 64x circuitX = 4x wrappedCircuitX - .output(ROBOT_ARM_HV, 64) - .EUt(VA[HV].toLong()) - .duration(30 * SECOND) - .tier(HV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(cableGtHex, Gold, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex + input(stickLong, StainlessSteel, 64) // 64x (2x stick) = 64x stickLong + input(ELECTRIC_MOTOR_HV, 64) + input(ELECTRIC_MOTOR_HV, 64) + input(ELECTRIC_PISTON_HV, 64) + input(WRAP_CIRCUIT_HV, 4) // 64x circuitX = 4x wrappedCircuitX + output(ROBOT_ARM_HV, 64) + EUt(VA[HV]) + duration(30 * SECOND) + tier(HV) + } // EV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(cableGtHex, Aluminium, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex - .input(stickLong, Titanium, 64) - .input(ELECTRIC_MOTOR_EV, 64) - .input(ELECTRIC_MOTOR_EV, 64) - .input(ELECTRIC_PISTON_EV, 64) - .input(WRAP_CIRCUIT_EV, 4) // 64x circuitX = 4x wrappedCircuitX - .output(ROBOT_ARM_EV, 64) - .EUt(VA[EV].toLong()) - .duration(45 * SECOND) - .tier(EV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(cableGtHex, Aluminium, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex + input(stickLong, Titanium, 64) + input(ELECTRIC_MOTOR_EV, 64) + input(ELECTRIC_MOTOR_EV, 64) + input(ELECTRIC_PISTON_EV, 64) + input(WRAP_CIRCUIT_EV, 4) // 64x circuitX = 4x wrappedCircuitX + output(ROBOT_ARM_EV, 64) + EUt(VA[EV]) + duration(45 * SECOND) + tier(EV) + } // IV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(cableGtHex, Tungsten, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex - .input(stickLong, TungstenSteel, 64) - .input(ELECTRIC_MOTOR_IV, 64) - .input(ELECTRIC_MOTOR_IV, 64) - .input(ELECTRIC_PISTON_IV, 64) - .input(WRAP_CIRCUIT_IV, 4) // 64x circuitX = 4x wrappedCircuitX - .output(ROBOT_ARM_IV, 64) - .EUt(VA[IV].toLong()) - .duration(45 * SECOND) - .tier(IV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(cableGtHex, Tungsten, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex + input(stickLong, TungstenSteel, 64) + input(ELECTRIC_MOTOR_IV, 64) + input(ELECTRIC_MOTOR_IV, 64) + input(ELECTRIC_PISTON_IV, 64) + input(WRAP_CIRCUIT_IV, 4) // 64x circuitX = 4x wrappedCircuitX + output(ROBOT_ARM_IV, 64) + EUt(VA[IV]) + duration(45 * SECOND) + tier(IV) + } // LuV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ELECTRIC_MOTOR_LuV, 64) - .input(ELECTRIC_MOTOR_LuV, 64) - .input(ELECTRIC_PISTON_LUV, 64) - .input(WRAP_CIRCUIT_LuV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(WRAP_CIRCUIT_IV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(WRAP_CIRCUIT_EV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX - .input(cableGtHex, NiobiumTitanium, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 - .fluidInputs(HSSS.getFluid(144 * 2 * 64 // stickLongX: [(144L) * 2 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(ELECTRIC_MOTOR_LuV, 64) + input(ELECTRIC_MOTOR_LuV, 64) + input(ELECTRIC_PISTON_LUV, 64) + input(WRAP_CIRCUIT_LuV, 4) // 64x circuitX = 4x wrappedCircuitX + input(WRAP_CIRCUIT_IV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(WRAP_CIRCUIT_EV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX + input(cableGtHex, NiobiumTitanium, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Lubricant.getFluid(250 * 64)) // 250 * 64 + fluidInputs(HSSS.getFluid(144 * 2 * 64 // stickLongX: [(144L) * 2 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 2 * 64)) // gearSmallX: [(144L) * 2 * 64] - .output(ROBOT_ARM_LuV, 64) - .EUt(VA[LuV].toLong()) - .duration(1 * MINUTE) - .tier(LuV) - .buildAndRegister() + output(ROBOT_ARM_LuV, 64) + EUt(VA[LuV]) + duration(1 * MINUTE) + tier(LuV) + } // ZPM - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ELECTRIC_MOTOR_ZPM, 64) - .input(ELECTRIC_MOTOR_ZPM, 64) - .input(ELECTRIC_PISTON_ZPM, 64) - .input(WRAP_CIRCUIT_ZPM, 4) // 64x circuitX = 4x wrappedCircuitX - .input(WRAP_CIRCUIT_LuV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(WRAP_CIRCUIT_IV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX - .input(cableGtHex, VanadiumGallium, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 - .fluidInputs(Osmiridium.getFluid(144 * 2 * 64 // stickLong: [(144L) * 2 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(ELECTRIC_MOTOR_ZPM, 64) + input(ELECTRIC_MOTOR_ZPM, 64) + input(ELECTRIC_PISTON_ZPM, 64) + input(WRAP_CIRCUIT_ZPM, 4) // 64x circuitX = 4x wrappedCircuitX + input(WRAP_CIRCUIT_LuV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(WRAP_CIRCUIT_IV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX + input(cableGtHex, VanadiumGallium, 12) // 64x (3x cableGtSingle) = 192x cableGtSingle = 12x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(Lubricant.getFluid(500 * 64)) // 500 * 64 + fluidInputs(Osmiridium.getFluid(144 * 2 * 64 // stickLong: [(144L) * 2 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 2 * 64)) // gearSmallX: [(144L) * 2 * 64] - .output(ROBOT_ARM_ZPM, 64) - .EUt(VA[ZPM].toLong()) - .duration(1 * MINUTE) - .tier(ZPM) - .buildAndRegister() + output(ROBOT_ARM_ZPM, 64) + EUt(VA[ZPM]) + duration(1 * MINUTE) + tier(ZPM) + } // UV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ELECTRIC_MOTOR_UV, 64) - .input(ELECTRIC_MOTOR_UV, 64) - .input(ELECTRIC_PISTON_UV, 64) - .input(WRAP_CIRCUIT_UV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(WRAP_CIRCUIT_ZPM, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(WRAP_CIRCUIT_LuV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX - .input(cableGtHex, YttriumBariumCuprate, 16) // 64x (cableGtQuadruple) = 16x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 12 * 64)) // 1728 * 64 - .fluidInputs(Lubricant.getFluid(1000 * 64)) // 1000 * 64 - .fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Tritanium.getFluid(144 * 4 * 64 // stickLongX: [(144L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(ELECTRIC_MOTOR_UV, 64) + input(ELECTRIC_MOTOR_UV, 64) + input(ELECTRIC_PISTON_UV, 64) + input(WRAP_CIRCUIT_UV, 4) // 64x circuitX = 4x wrappedCircuitX + input(WRAP_CIRCUIT_ZPM, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(WRAP_CIRCUIT_LuV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX + input(cableGtHex, YttriumBariumCuprate, 16) // 64x (cableGtQuadruple) = 16x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 12 * 64)) // 1728 * 64 + fluidInputs(Lubricant.getFluid(1000 * 64)) // 1000 * 64 + fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 + fluidInputs(Tritanium.getFluid(144 * 4 * 64 // stickLongX: [(144L) * 4 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 3 * 64)) // gearSmall [(144L) * 3 * 64] - .output(ROBOT_ARM_UV, 64) - .EUt(VA[UV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UV) - .buildAndRegister() + output(ROBOT_ARM_UV, 64) + EUt(VA[UV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UV) + } // UHV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ELECTRIC_MOTOR_UHV, 64) - .input(ELECTRIC_MOTOR_UHV, 64) - .input(ELECTRIC_PISTON_UHV, 64) - .input(WRAP_CIRCUIT_UHV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(WRAP_CIRCUIT_UV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(WRAP_CIRCUIT_ZPM, 16) // 64x (4x circuitX) = 16x wrappedCircuitX - .input(cableGtHex, Europium, 16) // 64x (cableGtQuadruple) = 16x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 - .fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Adamantium.getFluid(144 * 4 * 64 // stickLongX: [(144L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(ELECTRIC_MOTOR_UHV, 64) + input(ELECTRIC_MOTOR_UHV, 64) + input(ELECTRIC_PISTON_UHV, 64) + input(WRAP_CIRCUIT_UHV, 4) // 64x circuitX = 4x wrappedCircuitX + input(WRAP_CIRCUIT_UV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(WRAP_CIRCUIT_ZPM, 16) // 64x (4x circuitX) = 16x wrappedCircuitX + input(cableGtHex, Europium, 16) // 64x (cableGtQuadruple) = 16x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(Lubricant.getFluid(2000 * 64)) // 2000 * 64 + fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Adamantium.getFluid(144 * 4 * 64 // stickLongX: [(144L) * 4 * 64] + 576 * 64 // gearX: [(576L) * 64] + 144 * 3 * 64)) // gearSmallX: [(144L) * 3 * 64] - .output(ROBOT_ARM_UHV, 64) - .EUt(VA[UHV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UHV) - .buildAndRegister() + output(ROBOT_ARM_UHV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UHV) + } // UEV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ELECTRIC_MOTOR_UEV, 64) - .input(ELECTRIC_MOTOR_UEV, 64) - .input(ELECTRIC_PISTON_UEV, 64) - .input(WRAP_CIRCUIT_UEV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(WRAP_CIRCUIT_UHV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(WRAP_CIRCUIT_UV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX - .input(cableGtHex, Seaborgium, 16) // 64x (cableGtQuadruple) = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 - .fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 - .fluidInputs(CosmicNeutronium.getFluid(144 * 4 * 64 // stickLongX: [(144L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(ELECTRIC_MOTOR_UEV, 64) + input(ELECTRIC_MOTOR_UEV, 64) + input(ELECTRIC_PISTON_UEV, 64) + input(WRAP_CIRCUIT_UEV, 4) // 64x circuitX = 4x wrappedCircuitX + input(WRAP_CIRCUIT_UHV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(WRAP_CIRCUIT_UV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX + input(cableGtHex, Seaborgium, 16) // 64x (cableGtQuadruple) = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(4000 * 64)) // 4000 * 64 + fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 + fluidInputs(CosmicNeutronium.getFluid(144 * 4 * 64 // stickLongX: [(144L) * 4 * 64] + 576 * 2 * 64 // gearX: [(576L) * 2 * 64] + 144 * 6 * 64)) // gearSmallX: [(144L) * 6 * 64] - .output(ROBOT_ARM_UEV, 64) - .EUt(VA[UEV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UEV) - .buildAndRegister() + output(ROBOT_ARM_UEV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UEV) + } // UIV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ELECTRIC_MOTOR_UIV, 64) - .input(ELECTRIC_MOTOR_UIV, 64) - .input(ELECTRIC_PISTON_UIV, 64) - .input(WRAP_CIRCUIT_UIV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(WRAP_CIRCUIT_UEV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(WRAP_CIRCUIT_UHV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX - .input(cableGtHex, SuperheavyAlloyA, 16) // 64x (cableGtQuadruple) = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(144 * 4 * 64 // stickLongX: [(144L) * 4 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(ELECTRIC_MOTOR_UIV, 64) + input(ELECTRIC_MOTOR_UIV, 64) + input(ELECTRIC_PISTON_UIV, 64) + input(WRAP_CIRCUIT_UIV, 4) // 64x circuitX = 4x wrappedCircuitX + input(WRAP_CIRCUIT_UEV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(WRAP_CIRCUIT_UHV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX + input(cableGtHex, SuperheavyAlloyA, 16) // 64x (cableGtQuadruple) = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(8000 * 64)) // 8000 * 64 + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(144 * 4 * 64 // stickLongX: [(144L) * 4 * 64] + 576 * 2 * 64 // gearX: [(576L) * 2 * 64] + 144 * 6 * 64)) // gearSmallX: [(144L) * 6 * 64] - .output(ROBOT_ARM_UIV, 64) - .EUt(VA[UIV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UIV) - .buildAndRegister() + output(ROBOT_ARM_UIV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UIV) + } // UXV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(5) - .input(ELECTRIC_MOTOR_UXV, 64) - .input(ELECTRIC_MOTOR_UXV, 64) - .input(ELECTRIC_PISTON_UXV, 64) - .input(WRAP_CIRCUIT_UXV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(WRAP_CIRCUIT_UIV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(WRAP_CIRCUIT_UEV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX - .input(cableGtHex, SuperheavyAlloyB, 16) // 64x (cableGtQuadruple) = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 128 * 64)) // 18432 * 64 - .fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 - .fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(TranscendentMetal.getFluid(L * 8 * 64 // stickLongX: [(144L) * 8 * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(5) + input(ELECTRIC_MOTOR_UXV, 64) + input(ELECTRIC_MOTOR_UXV, 64) + input(ELECTRIC_PISTON_UXV, 64) + input(WRAP_CIRCUIT_UXV, 4) // 64x circuitX = 4x wrappedCircuitX + input(WRAP_CIRCUIT_UIV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(WRAP_CIRCUIT_UEV, 16) // 64x (4x circuitX) = 16x wrappedCircuitX + input(cableGtHex, SuperheavyAlloyB, 16) // 64x (cableGtQuadruple) = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 128 * 64)) // 18432 * 64 + fluidInputs(DimensionallyShiftedSuperfluid.getFluid(16000 * 64)) // 16000 * 64 + fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(TranscendentMetal.getFluid(L * 8 * 64 // stickLongX: [(144L) * 8 * 64] + 576 * 2 * 64 // gearX: [(576L) * 2 * 64] + 144 * 6 * 64)) // gearSmallX: [(144L) * 6 * 64) - .output(ROBOT_ARM_UXV, 64) - .EUt(VA[UXV].toLong()) - .duration(1 * MINUTE + 45 * SECOND) - .tier(UXV) - .buildAndRegister() + output(ROBOT_ARM_UXV, 64) + EUt(VA[UXV]) + duration(1 * MINUTE + 45 * SECOND) + tier(UXV) + } // OpV @@ -1513,209 +1518,209 @@ internal object ComponentAssemblyLineRecipeProducer private fun emitterRecipes() { // LV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(stickLong, Brass, 64) // 64x (4x stick) = 64x (2x stickLong) - .input(stickLong, Brass, 64) - .input(cableGtHex, Tin, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(WRAP_CIRCUIT_LV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(gem, Quartzite, 64) - .output(EMITTER_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(stickLong, Brass, 64) // 64x (4x stick) = 64x (2x stickLong) + input(stickLong, Brass, 64) + input(cableGtHex, Tin, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(WRAP_CIRCUIT_LV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(gem, Quartzite, 64) + output(EMITTER_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } // MV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(stickLong, Electrum, 64) // 64x (4x stick) = 64x (2x stickLong) - .input(stickLong, Electrum, 64) - .input(cableGtHex, Copper, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(WRAP_CIRCUIT_MV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(gemFlawless, Emerald, 64) - .output(EMITTER_MV, 64) - .EUt(VA[MV].toLong()) - .duration(30 * SECOND) - .tier(MV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(stickLong, Electrum, 64) // 64x (4x stick) = 64x (2x stickLong) + input(stickLong, Electrum, 64) + input(cableGtHex, Copper, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(WRAP_CIRCUIT_MV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(gemFlawless, Emerald, 64) + output(EMITTER_MV, 64) + EUt(VA[MV]) + duration(30 * SECOND) + tier(MV) + } // HV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(stickLong, Chrome, 64) // 64x (4x stick) = 64x (2x stickLong) - .input(stickLong, Chrome, 64) - .input(cableGtHex, Gold, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(WRAP_CIRCUIT_HV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .inputs(ItemStack(Items.ENDER_EYE, 64)) - .output(EMITTER_HV, 64) - .EUt(VA[HV].toLong()) - .duration(30 * SECOND) - .tier(HV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(stickLong, Chrome, 64) // 64x (4x stick) = 64x (2x stickLong) + input(stickLong, Chrome, 64) + input(cableGtHex, Gold, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(WRAP_CIRCUIT_HV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + inputs(ENDER_EYE, 64) + output(EMITTER_HV, 64) + EUt(VA[HV]) + duration(30 * SECOND) + tier(HV) + } // EV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(stickLong, Platinum, 64) // 64x (4x stick) = 64x (2x stickLong) - .input(stickLong, Platinum, 64) - .input(cableGtHex, Aluminium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(WRAP_CIRCUIT_EV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(QUANTUM_EYE, 64) - .output(EMITTER_EV, 64) - .EUt(VA[EV].toLong()) - .duration(45 * SECOND) - .tier(EV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(stickLong, Platinum, 64) // 64x (4x stick) = 64x (2x stickLong) + input(stickLong, Platinum, 64) + input(cableGtHex, Aluminium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(WRAP_CIRCUIT_EV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(QUANTUM_EYE, 64) + output(EMITTER_EV, 64) + EUt(VA[EV]) + duration(45 * SECOND) + tier(EV) + } // IV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(stickLong, Iridium, 64) // 64x (4x stick) = 64x (2x stickLong) - .input(stickLong, Iridium, 64) - .input(cableGtHex, Tungsten, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .input(WRAP_CIRCUIT_IV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(QUANTUM_STAR, 64) - .output(EMITTER_IV, 64) - .EUt(VA[IV].toLong()) - .duration(45 * SECOND) - .tier(IV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(stickLong, Iridium, 64) // 64x (4x stick) = 64x (2x stickLong) + input(stickLong, Iridium, 64) + input(cableGtHex, Tungsten, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + input(WRAP_CIRCUIT_IV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(QUANTUM_STAR, 64) + output(EMITTER_IV, 64) + EUt(VA[IV]) + duration(45 * SECOND) + tier(IV) + } // LuV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ELECTRIC_MOTOR_LuV, 64) - .input(QUANTUM_STAR, 64) - .input(WRAP_CIRCUIT_LuV, 8) // // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(HSSS.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Ruridit.getFluid(144 * 2 * 64)) // stickLongX: [(144L) * 2 * 64] - .fluidInputs(Osmium.getFluid(36 * 64 * 64)) // foilX: [(36L) * 64 * 64] - .output(EMITTER_LuV, 64) - .EUt(VA[LuV].toLong()) - .duration(1 * MINUTE) - .tier(LuV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(ELECTRIC_MOTOR_LuV, 64) + input(QUANTUM_STAR, 64) + input(WRAP_CIRCUIT_LuV, 8) // // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(HSSS.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Ruridit.getFluid(144 * 2 * 64)) // stickLongX: [(144L) * 2 * 64] + fluidInputs(Osmium.getFluid(36 * 64 * 64)) // foilX: [(36L) * 64 * 64] + output(EMITTER_LuV, 64) + EUt(VA[LuV]) + duration(1 * MINUTE) + tier(LuV) + } // ZPM - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ELECTRIC_MOTOR_ZPM, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(WRAP_CIRCUIT_ZPM, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Osmiridium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(NaquadahAlloy.getFluid(144 * 2 * 64)) // stickLongX: [(144L) * 2 * 64] - .fluidInputs(Trinium.getFluid(36 * (64 + 32) * 64)) // foilX: [(36L) * (64 + 32) * 64] - .output(EMITTER_ZPM, 64) - .EUt(VA[ZPM].toLong()) - .duration(1 * MINUTE) - .tier(ZPM) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(ELECTRIC_MOTOR_ZPM, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(WRAP_CIRCUIT_ZPM, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Osmiridium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(NaquadahAlloy.getFluid(144 * 2 * 64)) // stickLongX: [(144L) * 2 * 64] + fluidInputs(Trinium.getFluid(36 * (64 + 32) * 64)) // foilX: [(36L) * (64 + 32) * 64] + output(EMITTER_ZPM, 64) + EUt(VA[ZPM]) + duration(1 * MINUTE) + tier(ZPM) + } // UV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ELECTRIC_MOTOR_UV, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(WRAP_CIRCUIT_UV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, YttriumBariumCuprate, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(Naquadria.getFluid(L * 64 // 144 * 64 + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(ELECTRIC_MOTOR_UV, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(WRAP_CIRCUIT_UV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, YttriumBariumCuprate, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(Naquadria.getFluid(L * 64 // 144 * 64 + 36 * (64 + 64) * 64)) // foilX: [(36L) * (64 + 64) * 64] - .fluidInputs(Tritanium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(EnrichedNaquadahAlloy.getFluid(144 * 4 * 64)) // stickLongX: [(144L) * 4 * 64] - .output(EMITTER_UV, 64) - .EUt(VA[UV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UV) - .buildAndRegister() + fluidInputs(Tritanium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(EnrichedNaquadahAlloy.getFluid(144 * 4 * 64)) // stickLongX: [(144L) * 4 * 64] + output(EMITTER_UV, 64) + EUt(VA[UV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UV) + } // UHV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ELECTRIC_MOTOR_UHV, 64) - .input(GRAVI_STAR, 64) - .input(WRAP_CIRCUIT_UHV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, Europium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 12 * 64)) // 1728 * 64 - .fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Adamantium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Dubnium.getFluid(144 * 4 * 64)) // stickLongX: [(144L) * 4 * 64] - .fluidInputs(Vibranium.getFluid(36 * (64 + 64 + 32) * 64)) // foilX: [(36L) * (64 + 64 + 32) * 64] - .output(EMITTER_UHV, 64) - .EUt(VA[UHV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UHV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(ELECTRIC_MOTOR_UHV, 64) + input(GRAVI_STAR, 64) + input(WRAP_CIRCUIT_UHV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, Europium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 12 * 64)) // 1728 * 64 + fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Adamantium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Dubnium.getFluid(144 * 4 * 64)) // stickLongX: [(144L) * 4 * 64] + fluidInputs(Vibranium.getFluid(36 * (64 + 64 + 32) * 64)) // foilX: [(36L) * (64 + 64 + 32) * 64] + output(EMITTER_UHV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UHV) + } // UEV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ELECTRIC_MOTOR_UEV, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(WRAP_CIRCUIT_UEV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, Seaborgium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Taranium.getFluid(L * 64)) // 144 * 64 - .fluidInputs(CosmicNeutronium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Bohrium.getFluid(144 * 8 * 64)) // stickLongX: [(144L) * 8 * 64] - .fluidInputs(MetastableFlerovium.getFluid(36 * (64 + 64 + 64) * 64)) // foilX: [(36L) * (64 + 64 + 64) * 64] - .output(EMITTER_UEV, 64) - .EUt(VA[UEV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UEV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(ELECTRIC_MOTOR_UEV, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(WRAP_CIRCUIT_UEV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, Seaborgium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Taranium.getFluid(L * 64)) // 144 * 64 + fluidInputs(CosmicNeutronium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Bohrium.getFluid(144 * 8 * 64)) // stickLongX: [(144L) * 8 * 64] + fluidInputs(MetastableFlerovium.getFluid(36 * (64 + 64 + 64) * 64)) // foilX: [(36L) * (64 + 64 + 64) * 64] + output(EMITTER_UEV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UEV) + } // UIV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ELECTRIC_MOTOR_UIV, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(WRAP_CIRCUIT_UIV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, SuperheavyAlloyA, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Shirabon.getFluid(144 * 8 * 64)) // stickLongX: [(144L) * 8 * 64] - .fluidInputs(Rhugnor.getFluid(36 * (64 + 64 + 64 + 32) * 64)) // foilX: [(36L) * (64 + 64 + 64 + 32) * 64] - .output(EMITTER_UIV, 64) - .EUt(VA[UIV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UIV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(ELECTRIC_MOTOR_UIV, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(WRAP_CIRCUIT_UIV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, SuperheavyAlloyA, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Shirabon.getFluid(144 * 8 * 64)) // stickLongX: [(144L) * 8 * 64] + fluidInputs(Rhugnor.getFluid(36 * (64 + 64 + 64 + 32) * 64)) // foilX: [(36L) * (64 + 64 + 64 + 32) * 64] + output(EMITTER_UIV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UIV) + } // UXV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(6) - .input(ELECTRIC_MOTOR_UXV, 64) - .input(ZENITH_STAR, 64) - .input(WRAP_CIRCUIT_UXV , 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, SuperheavyAlloyB, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 - .fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(TranscendentMetal.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Mellion.getFluid(144 * 16 * 64)) // stickLongX: [(144L) * 16 * 64] - .fluidInputs(SpaceTime.getFluid(36 * (64 + 64 + 64 + 64) * 64)) // foilX: [(36L) * (64 + 64 + 64 + 64) * 64] - .output(EMITTER_UXV, 64) - .EUt(VA[UXV].toLong()) - .duration(1 * MINUTE + 45 * SECOND) - .tier(UXV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(6) + input(ELECTRIC_MOTOR_UXV, 64) + input(ZENITH_STAR, 64) + input(WRAP_CIRCUIT_UXV , 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, SuperheavyAlloyB, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 + fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(TranscendentMetal.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Mellion.getFluid(144 * 16 * 64)) // stickLongX: [(144L) * 16 * 64] + fluidInputs(SpaceTime.getFluid(36 * (64 + 64 + 64 + 64) * 64)) // foilX: [(36L) * (64 + 64 + 64 + 64) * 64] + output(EMITTER_UXV, 64) + EUt(VA[UXV]) + duration(1 * MINUTE + 45 * SECOND) + tier(UXV) + } // OpV @@ -1725,210 +1730,210 @@ internal object ComponentAssemblyLineRecipeProducer private fun sensorRecipes() { // LV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(stickLong, Brass, 32) // 64x stick = 32x stickLong - .input(plateDouble, Steel, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, Steel, 64) - .input(WRAP_CIRCUIT_LV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(gem, Quartzite, 64) - .output(SENSOR_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(stickLong, Brass, 32) // 64x stick = 32x stickLong + input(plateDouble, Steel, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, Steel, 64) + input(WRAP_CIRCUIT_LV, 4) // 64x circuitX = 4x wrappedCircuitX + input(gem, Quartzite, 64) + output(SENSOR_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } // MV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(stickLong, Electrum, 32) // 64x stick = 32x stickLong - .input(plateDouble, Aluminium, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, Aluminium, 64) - .input(WRAP_CIRCUIT_MV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(gemFlawless, Emerald, 64) - .output(SENSOR_MV, 64) - .EUt(VA[MV].toLong()) - .duration(30 * SECOND) - .tier(MV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(stickLong, Electrum, 32) // 64x stick = 32x stickLong + input(plateDouble, Aluminium, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, Aluminium, 64) + input(WRAP_CIRCUIT_MV, 4) // 64x circuitX = 4x wrappedCircuitX + input(gemFlawless, Emerald, 64) + output(SENSOR_MV, 64) + EUt(VA[MV]) + duration(30 * SECOND) + tier(MV) + } // HV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(stickLong, Chrome, 32) // 64x stick = 32x stickLong - .input(plateDouble, StainlessSteel, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, StainlessSteel, 64) - .input(WRAP_CIRCUIT_HV, 4) // 64x circuitX = 4x wrappedCircuitX - .inputs(ItemStack(Items.ENDER_EYE, 64)) - .output(SENSOR_HV, 64) - .EUt(VA[HV].toLong()) - .duration(30 * SECOND) - .tier(HV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(stickLong, Chrome, 32) // 64x stick = 32x stickLong + input(plateDouble, StainlessSteel, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, StainlessSteel, 64) + input(WRAP_CIRCUIT_HV, 4) // 64x circuitX = 4x wrappedCircuitX + inputs(ItemStack(Items.ENDER_EYE, 64)) + output(SENSOR_HV, 64) + EUt(VA[HV]) + duration(30 * SECOND) + tier(HV) + } // EV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(stickLong, Platinum, 32) // 64x stick = 32x stickLong - .input(plateDouble, Titanium, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, Titanium, 64) - .input(WRAP_CIRCUIT_EV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(QUANTUM_EYE, 64) - .output(SENSOR_EV, 64) - .EUt(VA[EV].toLong()) - .duration(45 * SECOND) - .tier(EV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(stickLong, Platinum, 32) // 64x stick = 32x stickLong + input(plateDouble, Titanium, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, Titanium, 64) + input(WRAP_CIRCUIT_EV, 4) // 64x circuitX = 4x wrappedCircuitX + input(QUANTUM_EYE, 64) + output(SENSOR_EV, 64) + EUt(VA[EV]) + duration(45 * SECOND) + tier(EV) + } // IV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(stickLong, Iridium, 32) // 64x stick = 32x stickLong - .input(plateDouble, TungstenSteel, 64) // 64x (4x plate) = 64x (2x plateDouble) - .input(plateDouble, TungstenSteel, 64) - .input(WRAP_CIRCUIT_IV, 4) // 64x circuitX = 4x wrappedCircuitX - .input(QUANTUM_STAR, 64) - .output(SENSOR_IV, 64) - .EUt(VA[IV].toLong()) - .duration(45 * SECOND) - .tier(IV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(stickLong, Iridium, 32) // 64x stick = 32x stickLong + input(plateDouble, TungstenSteel, 64) // 64x (4x plate) = 64x (2x plateDouble) + input(plateDouble, TungstenSteel, 64) + input(WRAP_CIRCUIT_IV, 4) // 64x circuitX = 4x wrappedCircuitX + input(QUANTUM_STAR, 64) + output(SENSOR_IV, 64) + EUt(VA[IV]) + duration(45 * SECOND) + tier(IV) + } // LuV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(ELECTRIC_MOTOR_LuV, 64) - .input(QUANTUM_STAR, 64) - .input(WRAP_CIRCUIT_LuV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(HSSS.getFluid(288 * 64)) // frameGt: [(288L) * 64] - .fluidInputs(Ruridit.getFluid(144 * 2 * 64)) // plateX: [(144L) * 2 * 64] - .fluidInputs(Palladium.getFluid(36 * 64 * 64)) // foilX: [(36L) * 64 * 64] - .output(SENSOR_LuV, 64) - .EUt(VA[LuV].toLong()) - .duration(1 * MINUTE) - .tier(LuV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(ELECTRIC_MOTOR_LuV, 64) + input(QUANTUM_STAR, 64) + input(WRAP_CIRCUIT_LuV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(HSSS.getFluid(288 * 64)) // frameGt: [(288L) * 64] + fluidInputs(Ruridit.getFluid(144 * 2 * 64)) // plateX: [(144L) * 2 * 64] + fluidInputs(Palladium.getFluid(36 * 64 * 64)) // foilX: [(36L) * 64 * 64] + output(SENSOR_LuV, 64) + EUt(VA[LuV]) + duration(1 * MINUTE) + tier(LuV) + } // ZPM - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(ELECTRIC_MOTOR_ZPM, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(WRAP_CIRCUIT_ZPM, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Osmiridium.getFluid(288 * 64)) // frameGt: [(288L) * 64] - .fluidInputs(NaquadahAlloy.getFluid(144 * 2 * 64)) // plateX: [(144L) * 2 * 64] - .fluidInputs(NaquadahEnriched.getFluid(36 * (64 + 32) * 64)) // foilX: [(36L) * (64 + 32) * 64] - .output(SENSOR_ZPM, 64) - .EUt(VA[ZPM].toLong()) - .duration(1 * MINUTE) - .tier(ZPM) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(ELECTRIC_MOTOR_ZPM, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(WRAP_CIRCUIT_ZPM, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Osmiridium.getFluid(288 * 64)) // frameGt: [(288L) * 64] + fluidInputs(NaquadahAlloy.getFluid(144 * 2 * 64)) // plateX: [(144L) * 2 * 64] + fluidInputs(NaquadahEnriched.getFluid(36 * (64 + 32) * 64)) // foilX: [(36L) * (64 + 32) * 64] + output(SENSOR_ZPM, 64) + EUt(VA[ZPM]) + duration(1 * MINUTE) + tier(ZPM) + } // UV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(ELECTRIC_MOTOR_UV, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(WRAP_CIRCUIT_UV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, YttriumBariumCuprate, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Tritanium.getFluid(288 * 64)) // frameGt: [(288L) * 64] - .fluidInputs(EnrichedNaquadahAlloy.getFluid(144 * 4 * 64)) // plateX: [(144L) * 4 * 64] - .fluidInputs(Rutherfordium.getFluid(36 * (64 + 64) * 64)) // foilX: [(36L) * (64 + 64) * 64] - .output(SENSOR_UV, 64) - .EUt(VA[UV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(ELECTRIC_MOTOR_UV, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(WRAP_CIRCUIT_UV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, YttriumBariumCuprate, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 + fluidInputs(Tritanium.getFluid(288 * 64)) // frameGt: [(288L) * 64] + fluidInputs(EnrichedNaquadahAlloy.getFluid(144 * 4 * 64)) // plateX: [(144L) * 4 * 64] + fluidInputs(Rutherfordium.getFluid(36 * (64 + 64) * 64)) // foilX: [(36L) * (64 + 64) * 64] + output(SENSOR_UV, 64) + EUt(VA[UV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UV) + } // UHV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(ELECTRIC_MOTOR_UHV, 64) - .input(GRAVI_STAR, 64) - .input(WRAP_CIRCUIT_UHV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, Europium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 12 * 64)) // 1728 * 64 - .fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Adamantium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Dubnium.getFluid(L * 4 * 64)) // plateX: [(144L) * 4 * 64] - .fluidInputs(Neutronium.getFluid(36 * (64 + 64 + 32) * 64)) // foilX: [(36L) * (64 + 64 + 32) * 64] - .output(SENSOR_UHV, 64) - .EUt(VA[UHV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UHV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(ELECTRIC_MOTOR_UHV, 64) + input(GRAVI_STAR, 64) + input(WRAP_CIRCUIT_UHV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, Europium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 12 * 64)) // 1728 * 64 + fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Adamantium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Dubnium.getFluid(L * 4 * 64)) // plateX: [(144L) * 4 * 64] + fluidInputs(Neutronium.getFluid(36 * (64 + 64 + 32) * 64)) // foilX: [(36L) * (64 + 64 + 32) * 64] + output(SENSOR_UHV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UHV) + } // UEV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(ELECTRIC_MOTOR_UEV, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(WRAP_CIRCUIT_UEV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, Seaborgium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 - .fluidInputs(CosmicNeutronium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Bohrium.getFluid(L * 8 * 64)) // plateX: [(144L) * 8 * 64] - .fluidInputs(Infinity.getFluid(36 * (64 + 64 + 64) * 64)) // foilX: [(36L) * (64 + 64 + 64) * 64] - .output(SENSOR_UEV, 64) - .EUt(VA[UEV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UEV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(ELECTRIC_MOTOR_UEV, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(WRAP_CIRCUIT_UEV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, Seaborgium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 + fluidInputs(CosmicNeutronium.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Bohrium.getFluid(L * 8 * 64)) // plateX: [(144L) * 8 * 64] + fluidInputs(Infinity.getFluid(36 * (64 + 64 + 64) * 64)) // foilX: [(36L) * (64 + 64 + 64) * 64] + output(SENSOR_UEV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UEV) + } // UIV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(ELECTRIC_MOTOR_UIV, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(WRAP_CIRCUIT_UIV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, SuperheavyAlloyA, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(L * 2 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Shirabon.getFluid(L * 8 * 64)) // plateX: [(144L) * 8 * 64] - .fluidInputs(HalkoniteSteel.getFluid(36 * (64 + 64 + 64 + 32) * 64)) // foilX: [(36L) * (64 + 64 + 64 + 32) * 64] - .fluidInputs(Bedrockium.getFluid(36 * (64 + 64 + 64 + 32) * 64)) - .output(SENSOR_UIV, 64) - .EUt(VA[UIV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UIV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(ELECTRIC_MOTOR_UIV, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(WRAP_CIRCUIT_UIV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, SuperheavyAlloyA, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(L * 2 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Shirabon.getFluid(L * 8 * 64)) // plateX: [(144L) * 8 * 64] + fluidInputs(HalkoniteSteel.getFluid(36 * (64 + 64 + 64 + 32) * 64)) // foilX: [(36L) * (64 + 64 + 64 + 32) * 64] + fluidInputs(Bedrockium.getFluid(36 * (64 + 64 + 64 + 32) * 64)) + output(SENSOR_UIV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UIV) + } // UXV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(7) - .input(ELECTRIC_MOTOR_UXV, 64) - .input(ZENITH_STAR, 64) - .input(WRAP_CIRCUIT_UXV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, SuperheavyAlloyB, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 - .fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(TranscendentMetal.getFluid(288 * 64)) // frameGtX: [(288L) * 64] - .fluidInputs(Mellion.getFluid(L * 16)) // plateX: [(144L) * 16 * 64] - .fluidInputs(HarmonicPhononMatter.getFluid(36 * (64 + 64 + 64 + 64) * 64)) // foilX: [(36L) * (64 + 64 + 64 + 64) * 64] - .output(SENSOR_UXV, 64) - .EUt(VA[UXV].toLong()) - .duration(1 * MINUTE + 45 * SECOND) - .tier(UXV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(7) + input(ELECTRIC_MOTOR_UXV, 64) + input(ZENITH_STAR, 64) + input(WRAP_CIRCUIT_UXV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, SuperheavyAlloyB, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 + fluidInputs(PrimordialMatter.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(FullerenePolymerMatrix.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(TranscendentMetal.getFluid(288 * 64)) // frameGtX: [(288L) * 64] + fluidInputs(Mellion.getFluid(L * 16)) // plateX: [(144L) * 16 * 64] + fluidInputs(HarmonicPhononMatter.getFluid(36 * (64 + 64 + 64 + 64) * 64)) // foilX: [(36L) * (64 + 64 + 64 + 64) * 64] + output(SENSOR_UXV, 64) + EUt(VA[UXV]) + duration(1 * MINUTE + 45 * SECOND) + tier(UXV) + } // OpV @@ -1939,193 +1944,193 @@ internal object ComponentAssemblyLineRecipeProducer private fun fieldGeneratorRecipes() { // LV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .inputs(ItemStack(Items.ENDER_PEARL, 64)) - .input(plateDouble, Steel, 64) // 64x (2x plate) = 64x plateDouble - .input(WRAP_CIRCUIT_LV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .fluidInputs(ManganesePhosphide.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] - .output(FIELD_GENERATOR_LV, 64) - .EUt(VA[LV].toLong()) - .duration(15 * SECOND) - .tier(LV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + inputs(ItemStack(Items.ENDER_PEARL, 64)) + input(plateDouble, Steel, 64) // 64x (2x plate) = 64x plateDouble + input(WRAP_CIRCUIT_LV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + fluidInputs(ManganesePhosphide.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] + output(FIELD_GENERATOR_LV, 64) + EUt(VA[LV]) + duration(15 * SECOND) + tier(LV) + } // MV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .inputs(ItemStack(Items.ENDER_EYE, 64)) - .input(plateDouble, Aluminium, 64) // 64x (2x plate) = 64x plateDouble - .input(WRAP_CIRCUIT_MV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .fluidInputs(MagnesiumDiboride.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] - .output(FIELD_GENERATOR_MV, 64) - .EUt(VA[MV].toLong()) - .duration(30 * SECOND) - .tier(MV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + inputs(ItemStack(Items.ENDER_EYE, 64)) + input(plateDouble, Aluminium, 64) // 64x (2x plate) = 64x plateDouble + input(WRAP_CIRCUIT_MV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + fluidInputs(MagnesiumDiboride.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] + output(FIELD_GENERATOR_MV, 64) + EUt(VA[MV]) + duration(30 * SECOND) + tier(MV) + } // HV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(QUANTUM_EYE, 64) - .input(plateDouble, StainlessSteel, 64) // 64x (2x plate) = 64x plateDouble - .input(WRAP_CIRCUIT_HV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .fluidInputs(MercuryBariumCalciumCuprate.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] - .output(FIELD_GENERATOR_HV, 64) - .EUt(VA[HV].toLong()) - .duration(30 * SECOND) - .tier(HV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + input(QUANTUM_EYE, 64) + input(plateDouble, StainlessSteel, 64) // 64x (2x plate) = 64x plateDouble + input(WRAP_CIRCUIT_HV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + fluidInputs(MercuryBariumCalciumCuprate.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] + output(FIELD_GENERATOR_HV, 64) + EUt(VA[HV]) + duration(30 * SECOND) + tier(HV) + } // EV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .inputs(ItemStack(Items.NETHER_STAR, 64)) - .input(plateDouble, Titanium, 64) // 64x (2x plateDouble) - .input(plateDouble, Titanium, 64) - .input(WRAP_CIRCUIT_EV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .fluidInputs(UraniumTriplatinum.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] - .output(FIELD_GENERATOR_EV, 64) - .EUt(VA[EV].toLong()) - .duration(45 * SECOND) - .tier(EV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + inputs(NETHER_STAR, 64) + input(plateDouble, Titanium, 64) // 64x (2x plateDouble) + input(plateDouble, Titanium, 64) + input(WRAP_CIRCUIT_EV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + fluidInputs(UraniumTriplatinum.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] + output(FIELD_GENERATOR_EV, 64) + EUt(VA[EV]) + duration(45 * SECOND) + tier(EV) + } // IV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(QUANTUM_STAR, 64) - .input(plateDouble, TungstenSteel, 64) // 64x (2x plateDouble) - .input(plateDouble, TungstenSteel, 64) - .input(WRAP_CIRCUIT_IV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .fluidInputs(SamariumIronArsenicOxide.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] - .output(FIELD_GENERATOR_IV, 64) - .EUt(VA[IV].toLong()) - .duration(45 * SECOND) - .tier(IV) - .buildAndRegister() + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + input(QUANTUM_STAR, 64) + input(plateDouble, TungstenSteel, 64) // 64x (2x plateDouble) + input(plateDouble, TungstenSteel, 64) + input(WRAP_CIRCUIT_IV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + fluidInputs(SamariumIronArsenicOxide.getFluid(288 * 4 * 64)) // wireGtQuadruple: [(288L) * 4 * 64] + output(FIELD_GENERATOR_IV, 64) + EUt(VA[IV]) + duration(45 * SECOND) + tier(IV) + } // LuV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(QUANTUM_STAR, 64) - .input(EMITTER_LuV, 64) - .input(EMITTER_LuV, 64) - .input(WRAP_CIRCUIT_LuV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(HSSS.getFluid(288 * 64 // frameGt: [(288L) * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + input(QUANTUM_STAR, 64) + input(EMITTER_LuV, 64) + input(EMITTER_LuV, 64) + input(WRAP_CIRCUIT_LuV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, NiobiumTitanium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(HSSS.getFluid(288 * 64 // frameGt: [(288L) * 64] + 288 * 4 * 64)) // plateDoubleX: [(288L) * 4 * 64] - .fluidInputs(IndiumTinBariumTitaniumCuprate.getFluid(18 * 64 * 64)) // wireFineX: [(18L) * 64 * 64] - .output(FIELD_GENERATOR_LuV, 64) - .EUt(VA[LuV].toLong()) - .duration(1 * MINUTE) - .tier(LuV) - .buildAndRegister() + fluidInputs(IndiumTinBariumTitaniumCuprate.getFluid(18 * 64 * 64)) // wireFineX: [(18L) * 64 * 64] + output(FIELD_GENERATOR_LuV, 64) + EUt(VA[LuV]) + duration(1 * MINUTE) + tier(LuV) + } // ZPM - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(EMITTER_ZPM, 64) - .input(EMITTER_ZPM, 64) - .input(WRAP_CIRCUIT_ZPM, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 - .fluidInputs(Osmiridium.getFluid(288 * 64 // frameGtX: [(288L) * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(EMITTER_ZPM, 64) + input(EMITTER_ZPM, 64) + input(WRAP_CIRCUIT_ZPM, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, VanadiumGallium, 8) // 64x (2x cableGtSingle) = 64x cableGtDouble = 8x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 8 * 64)) // 1152 * 64 + fluidInputs(Osmiridium.getFluid(288 * 64 // frameGtX: [(288L) * 64] + 288 * 4 * 64)) // plateDoubleX: [(288L) * 4 * 64] - .fluidInputs(UraniumRhodiumDinaquadide.getFluid(18 * (64 + 32) * 64)) // wireFineX: [(18L) * (64 + 32) * 64] - .output(FIELD_GENERATOR_ZPM, 64) - .EUt(VA[ZPM].toLong()) - .duration(1 * MINUTE) - .tier(ZPM) - .buildAndRegister() + fluidInputs(UraniumRhodiumDinaquadide.getFluid(18 * (64 + 32) * 64)) // wireFineX: [(18L) * (64 + 32) * 64] + output(FIELD_GENERATOR_ZPM, 64) + EUt(VA[ZPM]) + duration(1 * MINUTE) + tier(ZPM) + } // UV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(QUANTUM_STAR, 64) - .input(EMITTER_UV, 64) - .input(EMITTER_UV, 64) - .input(WRAP_CIRCUIT_UV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, YttriumBariumCuprate, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 12 * 64)) // 1728 * 64 - .fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 - .fluidInputs(Tritanium.getFluid(288 * 64 // frameGtX: [(288L) * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(QUANTUM_STAR, 64) + input(EMITTER_UV, 64) + input(EMITTER_UV, 64) + input(WRAP_CIRCUIT_UV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, YttriumBariumCuprate, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 12 * 64)) // 1728 * 64 + fluidInputs(Naquadria.getFluid(L * 64)) // 144 * 64 + fluidInputs(Tritanium.getFluid(288 * 64 // frameGtX: [(288L) * 64] + 288 * 4 * 64)) // plateDoubleX: [(288L) * 4 * 64] - .fluidInputs(EnrichedNaquadahTriniumEuropiumDuranide.getFluid(18 * (64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64) * 64] - .output(FIELD_GENERATOR_UV, 64) - .EUt(VA[UV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UV) - .buildAndRegister() + fluidInputs(EnrichedNaquadahTriniumEuropiumDuranide.getFluid(18 * (64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64) * 64] + output(FIELD_GENERATOR_UV, 64) + EUt(VA[UV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UV) + } // UHV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(GRAVI_STAR, 64) - .input(EMITTER_UHV, 64) - .input(EMITTER_UHV, 64) - .input(WRAP_CIRCUIT_UHV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, Europium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) // 2304 * 64 - .fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(Adamantium.getFluid(288 * 64 // frameGtX: [(288L) * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + input(GRAVI_STAR, 64) + input(EMITTER_UHV, 64) + input(EMITTER_UHV, 64) + input(WRAP_CIRCUIT_UHV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, Europium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(SolderingAlloy.getFluid(L * 16 * 64)) // 2304 * 64 + fluidInputs(Taranium.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(Adamantium.getFluid(288 * 64 // frameGtX: [(288L) * 64] + 288 * 4 * 64)) // plateDoubleX: [(288L) * 4 * 64] - .fluidInputs(RutheniumTriniumAmericiumNeutronate.getFluid(18 * (64 + 64 + 32) * 64)) // wireFineX: [(18L) * (64 + 64 + 32) * 64] - .output(FIELD_GENERATOR_UHV, 64) - .EUt(VA[UHV].toLong()) - .duration(1 * MINUTE + 15 * SECOND) - .tier(UHV) - .buildAndRegister() + fluidInputs(RutheniumTriniumAmericiumNeutronate.getFluid(18 * (64 + 64 + 32) * 64)) // wireFineX: [(18L) * (64 + 64 + 32) * 64] + output(FIELD_GENERATOR_UHV, 64) + EUt(VA[UHV]) + duration(1 * MINUTE + 15 * SECOND) + tier(UHV) + } // UEV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(EMITTER_UEV, 64) - .input(EMITTER_UEV, 64) - .input(WRAP_CIRCUIT_UEV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, Seaborgium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 - .fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 - .fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 - .fluidInputs(CosmicNeutronium.getFluid(288 * 64 // frameGtX: [(288L) * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(EMITTER_UEV, 64) + input(EMITTER_UEV, 64) + input(WRAP_CIRCUIT_UEV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, Seaborgium, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 32 * 64)) // 4608 * 64 + fluidInputs(MetastableOganesson.getFluid(L * 4 * 64)) // 576 * 64 + fluidInputs(Fullerene.getFluid(L * 64)) // 144 * 64 + fluidInputs(CosmicNeutronium.getFluid(288 * 64 // frameGtX: [(288L) * 64] + 288 * 8 * 64)) // plateDoubleX: [(288L) * 8 * 64] - .fluidInputs(VibraniumTritaniumActiniumIronSuperhydride.getFluid(18 * (64 + 64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64 + 64) * 64] - .output(FIELD_GENERATOR_UEV, 64) - .EUt(VA[UEV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UEV) - .buildAndRegister() + fluidInputs(VibraniumTritaniumActiniumIronSuperhydride.getFluid(18 * (64 + 64 + 64) * 64)) // wireFineX: [(18L) * (64 + 64 + 64) * 64] + output(FIELD_GENERATOR_UEV, 64) + EUt(VA[UEV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UEV) + } // UIV - COMPONENT_ASSEMBLY_LINE_RECIPES.recipeBuilder() - .circuitMeta(8) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(GRAVI_STAR, 64) - .input(EMITTER_UIV, 64) - .input(EMITTER_UIV, 64) - .input(WRAP_CIRCUIT_UIV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX - .input(cableGtHex, SuperheavyAlloyA, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex - .fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 - .fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 576 * 64 - .fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 - .fluidInputs(HeavyQuarkDegenerateMatter.getFluid(288 * 64 // frameGtX: [(288L) * 64] + COMPONENT_ASSEMBLY_LINE_RECIPES.addRecipe { + circuitMeta(8) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(GRAVI_STAR, 64) + input(EMITTER_UIV, 64) + input(EMITTER_UIV, 64) + input(WRAP_CIRCUIT_UIV, 8) // 64x (2x circuitX) = 8x wrappedCircuitX + input(cableGtHex, SuperheavyAlloyA, 16) // 64x (4x cableGtSingle) = 64x cableGtQuadruple = 16x cableGtHex + fluidInputs(MutatedLivingSolder.getFluid(L * 64 * 64)) // 9216 * 64 + fluidInputs(QuantumchromodynamicallyConfinedMatter.getFluid(L * 8 * 64)) // 576 * 64 + fluidInputs(CarbonNanotube.getFluid(L * 2 * 64)) // 288 * 64 + fluidInputs(HeavyQuarkDegenerateMatter.getFluid(288 * 64 // frameGtX: [(288L) * 64] + 288 * 8 * 64)) // plateDoubleX: [(288) * 8 * 64] - .fluidInputs(FullereneSuperconductor.getFluid(18 * (64 + 64 + 64 + 32) * 64)) // wireFineX: [(18L) * (64 + 64 + 64 + 32) * 64] - .output(FIELD_GENERATOR_UIV, 64) - .EUt(VA[UIV].toLong()) - .duration(1 * MINUTE + 30 * SECOND) - .tier(UIV) - .buildAndRegister() + fluidInputs(FullereneSuperconductor.getFluid(18 * (64 + 64 + 64 + 32) * 64)) // wireFineX: [(18L) * (64 + 64 + 64 + 32) * 64] + output(FIELD_GENERATOR_UIV, 64) + EUt(VA[UIV]) + duration(1 * MINUTE + 30 * SECOND) + tier(UIV) + } // UXV @@ -2136,7 +2141,7 @@ internal object ComponentAssemblyLineRecipeProducer private fun componentCasingsRecipes() { - + // TODO: Support Tiered Component Casing recipes in CoAL } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/DisposableToolRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/DisposableToolRecipeProducer.kt index f2d7ce67b..ea86c6de6 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/DisposableToolRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/DisposableToolRecipeProducer.kt @@ -12,6 +12,7 @@ import gregtech.api.unification.material.Materials.Rubber import gregtech.api.unification.material.properties.PropertyKey import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.item.GTLiteToolHelper import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.TOOL_CASTER_RECIPES import gregtechlite.gtlitecore.common.item.GTLiteMetaItems.CASTING_MOLD_BUTCHERY_KNIFE @@ -63,33 +64,32 @@ internal object DisposableToolRecipeProducer } // Soft Mallet recipes. - TOOL_CASTER_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_SOFT_MALLET) - .fluidInputs(Rubber.getFluid(L)) - .output(DISPOSABLE_SOFT_MALLET, 42) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() - - TOOL_CASTER_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_SOFT_MALLET) - .fluidInputs(Polyethylene.getFluid(L)) - .output(DISPOSABLE_SOFT_MALLET, 64) - .output(DISPOSABLE_SOFT_MALLET, 20) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + TOOL_CASTER_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_SOFT_MALLET) + fluidInputs(Rubber.getFluid(L)) + output(DISPOSABLE_SOFT_MALLET, 42) + EUt(VA[MV]) + duration(10 * SECOND) + } - TOOL_CASTER_RECIPES.recipeBuilder() - .notConsumable(CASTING_MOLD_SOFT_MALLET) - .fluidInputs(Polytetrafluoroethylene.getFluid(L)) - .output(DISPOSABLE_SOFT_MALLET, 64) - .output(DISPOSABLE_SOFT_MALLET, 64) - .output(DISPOSABLE_SOFT_MALLET, 40) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + TOOL_CASTER_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_SOFT_MALLET) + fluidInputs(Polyethylene.getFluid(L)) + output(DISPOSABLE_SOFT_MALLET, 64) + output(DISPOSABLE_SOFT_MALLET, 20) + EUt(VA[MV]) + duration(10 * SECOND) + } + TOOL_CASTER_RECIPES.addRecipe { + notConsumable(CASTING_MOLD_SOFT_MALLET) + fluidInputs(Polytetrafluoroethylene.getFluid(L)) + output(DISPOSABLE_SOFT_MALLET, 64) + output(DISPOSABLE_SOFT_MALLET, 64) + output(DISPOSABLE_SOFT_MALLET, 40) + EUt(VA[MV]) + duration(10 * SECOND) + } } private fun processHardToolRecipe(toolStack: MetaItem<*>.MetaValueItem, material: Material, cost: Int) @@ -111,13 +111,13 @@ internal object DisposableToolRecipeProducer } outputStacks.add(toolStack.getStackForm(count)) - TOOL_CASTER_RECIPES.recipeBuilder() - .notConsumable(getCastingMoldByToolStack(toolStack.stackForm)) - .fluidInputs(material.getFluid(L)) - .outputs(outputStacks) - .EUt(VA[MV]) - .duration(10 * SECOND) - .buildAndRegister() + TOOL_CASTER_RECIPES.addRecipe { + notConsumable(getCastingMoldByToolStack(toolStack.stackForm)) + fluidInputs(material.getFluid(L)) + outputs(outputStacks) + EUt(VA[MV]) + duration(10 * SECOND) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/GreenhouseRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/GreenhouseRecipeProducer.kt index 7a5e55ab6..216925c34 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/GreenhouseRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/GreenhouseRecipeProducer.kt @@ -13,6 +13,7 @@ import gregtech.common.items.MetaItems.STICKY_RESIN import gregtechlite.gtlitecore.api.SECOND import gregtechlite.gtlitecore.api.TICK import gregtechlite.gtlitecore.api.extension.EUt +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtechlite.gtlitecore.api.extension.copy import gregtechlite.gtlitecore.api.recipe.GTLiteRecipeMaps.GREENHOUSE_RECIPES import gregtechlite.gtlitecore.api.unification.GTLiteMaterials.GreenhouseGas @@ -109,19 +110,18 @@ internal object GreenhouseRecipeProducer data object GreenhouseGasBasic : RecipeFrontend(GreenhouseGas.getFluid(1000), 0, 6, 12, 2, 6) data object AirFertilized : RecipeFrontend(Air.getFluid(1000), 4, 6, 12, 2, 6) data object GreenhouseGasFertilized : RecipeFrontend(GreenhouseGas.getFluid(1000), 4, 8, 16, 4, 3) - } fun produce() { // Greenhouse Gas - FLUID_HEATER_RECIPES.recipeBuilder() - .circuitMeta(1) - .fluidInputs(Air.getFluid(100)) - .fluidOutputs(GreenhouseGas.getFluid(100)) - .EUt(VA[MV]) - .duration(1 * SECOND + 5 * TICK) - .buildAndRegister() + FLUID_HEATER_RECIPES.addRecipe { + circuitMeta(1) + fluidInputs(Air.getFluid(100)) + fluidOutputs(GreenhouseGas.getFluid(100)) + EUt(VA[MV]) + duration(1 * SECOND + 5 * TICK) + } // region Vanilla Trees Recipes addGreenhouseRecipes(ItemStack(Blocks.SAPLING, 1, 0), // Oak Sapling @@ -379,7 +379,6 @@ internal object GreenhouseRecipeProducer CRANBERRY.getStackForm(6)) // endregion - } private fun addGreenhouseRecipes(saplingStack: ItemStack, diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/MassReplicationRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/MassReplicationRecipeProducer.kt index 36b90543d..a2ceb3ff3 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/MassReplicationRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/MassReplicationRecipeProducer.kt @@ -5,6 +5,7 @@ import gregtech.api.GTValues.LV import gregtech.api.GTValues.V import gregtech.api.recipes.RecipeMaps.MASS_FABRICATOR_RECIPES import gregtech.api.recipes.RecipeMaps.REPLICATOR_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.unification.material.Materials.UUMatter import gregtech.api.unification.material.properties.PropertyKey import gregtech.api.unification.ore.OrePrefix.dust @@ -48,66 +49,64 @@ internal object MassReplicationRecipeProducer val amount = if (material.hasProperty(PropertyKey.INGOT)) L else 1000 // Element -> UU Matter + Free Electron Gas - MASS_FABRICATOR_RECIPES.recipeBuilder() - .fluidInputs(material.getFluid(amount)) - .fluidOutputs(uuMatter) - .fluidOutputs(FreeElectronGas.getFluid(mass)) - .EUt(V[LV]) - .duration(mass * t) - .buildAndRegister() + MASS_FABRICATOR_RECIPES.addRecipe { + fluidInputs(material.getFluid(amount)) + fluidOutputs(uuMatter) + fluidOutputs(FreeElectronGas.getFluid(mass)) + EUt(V[LV]) + duration(mass * t) + } // UU Matter + Free Electron Gas -> Element - REPLICATOR_RECIPES.recipeBuilder() - .notConsumable(material.getFluid(amount)) - .fluidInputs(uuMatter) - .fluidInputs(FreeElectronGas.getFluid(mass)) - .fluidOutputs(material.getFluid(amount)) - .EUt(V[LV]) - .duration(mass * t) - .buildAndRegister() - - REPLICATOR_RECIPES.recipeBuilder() - .notConsumable(material.getFluid(amount)) - .fluidInputs(UUMatter.getFluid(mass)) - .fluidOutputs(material.getFluid(amount)) - .EUt(V[LV]) - .duration(mass * t) - .buildAndRegister() + REPLICATOR_RECIPES.addRecipe { + notConsumable(material.getFluid(amount)) + fluidInputs(uuMatter) + fluidInputs(FreeElectronGas.getFluid(mass)) + fluidOutputs(material.getFluid(amount)) + EUt(V[LV]) + duration(mass * t) + } + REPLICATOR_RECIPES.addRecipe { + notConsumable(material.getFluid(amount)) + fluidInputs(UUMatter.getFluid(mass)) + fluidOutputs(material.getFluid(amount)) + EUt(V[LV]) + duration(mass * t) + } } else { if (material.hasProperty(PropertyKey.DUST)) { // Element -> UU Matter + Free Electron Gas - MASS_FABRICATOR_RECIPES.recipeBuilder() - .input(dust, material) - .fluidOutputs(uuMatter) - .fluidOutputs(FreeElectronGas.getFluid(mass)) - .EUt(V[LV]) - .duration(mass * t) - .buildAndRegister() + MASS_FABRICATOR_RECIPES.addRecipe { + input(dust, material) + fluidOutputs(uuMatter) + fluidOutputs(FreeElectronGas.getFluid(mass)) + EUt(V[LV]) + duration(mass * t) + } // UU Matter + Free Electron Gas -> Element - REPLICATOR_RECIPES.recipeBuilder() - .notConsumable(dust, material) - .fluidInputs(uuMatter) - .fluidInputs(FreeElectronGas.getFluid(mass)) - .output(dust, material) - .EUt(V[LV]) - .duration(mass * t) - .buildAndRegister() + REPLICATOR_RECIPES.addRecipe { + notConsumable(dust, material) + fluidInputs(uuMatter) + fluidInputs(FreeElectronGas.getFluid(mass)) + output(dust, material) + EUt(V[LV]) + duration(mass * t) + } - REPLICATOR_RECIPES.recipeBuilder() - .notConsumable(dust, material) - .fluidInputs(UUMatter.getFluid(mass)) - .output(dust, material) - .EUt(V[LV]) - .duration(mass * t) - .buildAndRegister() + REPLICATOR_RECIPES.addRecipe { + notConsumable(dust, material) + fluidInputs(UUMatter.getFluid(mass)) + output(dust, material) + EUt(V[LV]) + duration(mass * t) + } } } - } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/NuclearFissionRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/NuclearFissionRecipeProducer.kt index 4e54b32d0..74b179920 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/NuclearFissionRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/NuclearFissionRecipeProducer.kt @@ -9,6 +9,7 @@ import gregtech.api.GTValues.MV import gregtech.api.GTValues.VA import gregtech.api.GTValues.ZPM import gregtech.api.recipes.RecipeMaps.THERMAL_CENTRIFUGE_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.unification.material.Material import gregtech.api.unification.material.Materials.Actinium import gregtech.api.unification.material.Materials.Americium @@ -229,73 +230,73 @@ internal object NuclearFissionRecipeProducer // Common Fuel Rod generateCoolants(coolantAmount).forEach { (coolant, hotCoolant) -> - NUCLEAR_FUELS.recipeBuilder() - .input(fuelRod, fissionElement) - .fluidInputs(coolant) - .output(fuelRodDepleted, fissionElement) - .fluidOutputs(hotCoolant) - .EUt(VA[baseVoltageTier]) - .duration(baseDuration) - .buildAndRegister() + NUCLEAR_FUELS.addRecipe { + input(fuelRod, fissionElement) + fluidInputs(coolant) + output(fuelRodDepleted, fissionElement) + fluidOutputs(hotCoolant) + EUt(VA[baseVoltageTier]) + duration(baseDuration) + } } // Enriched Fuel Rod generateCoolants(coolantAmount * 2).forEach { (coolant, hotCoolant) -> - NUCLEAR_FUELS.recipeBuilder() - .input(fuelRodEnriched, fissionElement) - .fluidInputs(coolant) - .output(fuelRodEnrichedDepleted, fissionElement) - .fluidOutputs(hotCoolant) - .EUt(VA[baseVoltageTier] * 5) - .duration(baseDuration) - .buildAndRegister() + NUCLEAR_FUELS.addRecipe { + input(fuelRodEnriched, fissionElement) + fluidInputs(coolant) + output(fuelRodEnrichedDepleted, fissionElement) + fluidOutputs(hotCoolant) + EUt(VA[baseVoltageTier] * 5) + duration(baseDuration) + } } // High Density Fuel Rod generateCoolants(coolantAmount * 4).forEach { (coolant, hotCoolant) -> - NUCLEAR_FUELS.recipeBuilder() - .input(fuelRodHighDensity, fissionElement) - .fluidInputs(coolant) - .output(fuelRodHighDensityDepleted, fissionElement) - .fluidOutputs(hotCoolant) - .EUt(VA[baseVoltageTier] * 8) - .duration(baseDuration * 1.5) - .buildAndRegister() + NUCLEAR_FUELS.addRecipe { + input(fuelRodHighDensity, fissionElement) + fluidInputs(coolant) + output(fuelRodHighDensityDepleted, fissionElement) + fluidOutputs(hotCoolant) + EUt(VA[baseVoltageTier] * 8) + duration(baseDuration * 1.5) + } } } private fun depletedRodRecycling(fissionElement: Material, nextFissionElement: Material, byproductElement: Material) { - THERMAL_CENTRIFUGE_RECIPES.recipeBuilder() - .input(fuelRodDepleted, fissionElement) - .output(dust, Steel, 2) - .output(dust, fissionElement, 2) - .output(dust, byproductElement) - .output(dust, nextFissionElement) - .EUt(VA[LV]) - .duration(1 * MINUTE) - .buildAndRegister() + THERMAL_CENTRIFUGE_RECIPES.addRecipe { + input(fuelRodDepleted, fissionElement) + output(dust, Steel, 2) + output(dust, fissionElement, 2) + output(dust, byproductElement) + output(dust, nextFissionElement) + EUt(VA[LV]) + duration(1 * MINUTE) + } - THERMAL_CENTRIFUGE_RECIPES.recipeBuilder() - .input(fuelRodEnrichedDepleted, fissionElement) - .output(dust, Steel, 4) - .output(dust, fissionElement, 4) - .output(dust, byproductElement, 2) - .output(dust, nextFissionElement, 2) - .EUt(VA[LV]) - .duration(1 * MINUTE) - .buildAndRegister() + THERMAL_CENTRIFUGE_RECIPES.addRecipe { + input(fuelRodEnrichedDepleted, fissionElement) + output(dust, Steel, 4) + output(dust, fissionElement, 4) + output(dust, byproductElement, 2) + output(dust, nextFissionElement, 2) + EUt(VA[LV]) + duration(1 * MINUTE) + } - THERMAL_CENTRIFUGE_RECIPES.recipeBuilder() - .input(fuelRodHighDensityDepleted, fissionElement) - .output(dust, Steel, 8) - .output(dust, fissionElement, 8) - .output(dust, byproductElement, 4) - .output(dust, nextFissionElement, 4) - .EUt(VA[LV]) - .duration(1 * MINUTE) - .buildAndRegister() + THERMAL_CENTRIFUGE_RECIPES.addRecipe { + input(fuelRodHighDensityDepleted, fissionElement) + output(dust, Steel, 8) + output(dust, fissionElement, 8) + output(dust, byproductElement, 4) + output(dust, nextFissionElement, 4) + EUt(VA[LV]) + duration(1 * MINUTE) + } } // @formatter:on diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/PCBFactoryRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/PCBFactoryRecipeProducer.kt index ffec3faf2..3a3e8b6f6 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/PCBFactoryRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/PCBFactoryRecipeProducer.kt @@ -2,6 +2,7 @@ package gregtechlite.gtlitecore.loader.recipe.producer import com.google.common.collect.HashBiMap import gregtech.api.GTValues.VA +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.unification.material.Material import gregtech.api.unification.material.Materials.Aluminium import gregtech.api.unification.material.Materials.Americium @@ -77,8 +78,9 @@ internal object PCBFactoryRecipeProducer addPlasticTier(CarbonNanotube, 11) addPlasticTier(FullerenePolymerMatrix, 12) - // --------------------------------------------------------------------------------------------------------- - // T1: Plastic Circuit Board + // region Plastic Circuit Board + + // T1 for (tier in 1..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 1))).toInt() @@ -91,21 +93,21 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(PLASTIC_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, AnnealedCopper, (16 * (sqrt(tier.toDouble()))).toInt()) - .input(foil, Copper, (16 * sqrt(tier.toDouble())).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * sqrt(tier.toDouble())).toInt())) - .fluidInputs(Iron3Chloride.getFluid((250 * sqrt(tier.toDouble())).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 1.5))).toInt()) - .tier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(1) + input(plate, plasticTiers.inverse()[tier]) + input(foil, AnnealedCopper, (16 * (sqrt(tier.toDouble()))).toInt()) + input(foil, Copper, (16 * sqrt(tier.toDouble())).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * sqrt(tier.toDouble())).toInt())) + fluidInputs(Iron3Chloride.getFluid((250 * sqrt(tier.toDouble())).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 1.5))).toInt()) + tier(1) + } } - // T2: Plastic Circuit Board + // T2 for (tier in 1..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 0.5))).toInt() @@ -118,22 +120,22 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(PLASTIC_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(nanite, Silver) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, AnnealedCopper, (16 * (sqrt(tier.toDouble()))).toInt()) - .input(foil, Copper, (16 * sqrt(tier.toDouble())).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * sqrt(tier.toDouble())).toInt())) - .fluidInputs(Iron3Chloride.getFluid((250 * sqrt(tier.toDouble())).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 1.5))).toInt()) - .tier(2) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(nanite, Silver) + input(plate, plasticTiers.inverse()[tier]) + input(foil, AnnealedCopper, (16 * (sqrt(tier.toDouble()))).toInt()) + input(foil, Copper, (16 * sqrt(tier.toDouble())).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * sqrt(tier.toDouble())).toInt())) + fluidInputs(Iron3Chloride.getFluid((250 * sqrt(tier.toDouble())).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 1.5))).toInt()) + tier(2) + } } - // T3: Plastic Circuit Board + // T3 for (tier in 1..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier))).toInt() @@ -146,23 +148,26 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(PLASTIC_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(nanite, Gold) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, AnnealedCopper, (16 * (sqrt(tier.toDouble()))).toInt()) - .input(foil, Copper, (16 * sqrt(tier.toDouble())).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * sqrt(tier.toDouble())).toInt())) - .fluidInputs(Iron3Chloride.getFluid((250 * sqrt(tier.toDouble())).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 1.5))).toInt()) - .tier(3) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(nanite, Gold) + input(plate, plasticTiers.inverse()[tier]) + input(foil, AnnealedCopper, (16 * (sqrt(tier.toDouble()))).toInt()) + input(foil, Copper, (16 * sqrt(tier.toDouble())).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * sqrt(tier.toDouble())).toInt())) + fluidInputs(Iron3Chloride.getFluid((250 * sqrt(tier.toDouble())).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 1.5))).toInt()) + tier(3) + } } - // --------------------------------------------------------------------------------------------------------- - // T1: Advanced Circuit Board + // endregion + + // region Advanced Circuit Board + + // T1 for (tier in 2..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 2))).toInt() @@ -175,21 +180,21 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ADVANCED_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Gold, (16 * (sqrt((tier - 1).toDouble()))).toInt()) - .input(foil, Electrum, (16 * (sqrt((tier - 1).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 2.5))).toInt()) - .tier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(1) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Gold, (16 * (sqrt((tier - 1).toDouble()))).toInt()) + input(foil, Electrum, (16 * (sqrt((tier - 1).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 2.5))).toInt()) + tier(1) + } } - // T2: Advanced Circuit Board + // T2 for (tier in 2..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 1.5))).toInt() @@ -202,22 +207,22 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ADVANCED_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(nanite, Silver) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Gold, (16 * (sqrt((tier - 1).toDouble()))).toInt()) - .input(foil, Electrum, (16 * (sqrt((tier - 1).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(500 / sqrt(1.5.pow(tier - 2.5))).toInt()) - .tier(2) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(nanite, Silver) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Gold, (16 * (sqrt((tier - 1).toDouble()))).toInt()) + input(foil, Electrum, (16 * (sqrt((tier - 1).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(500 / sqrt(1.5.pow(tier - 2.5))).toInt()) + tier(2) + } } - // T3: Advanced Circuit Board + // T3 for (tier in 2..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 1))).toInt() @@ -230,23 +235,26 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ADVANCED_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(nanite, Gold) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Gold, (16 * (sqrt((tier - 1).toDouble()))).toInt()) - .input(foil, Electrum, (16 * sqrt((tier - 1).toDouble())).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(400 / sqrt(1.5.pow(tier - 2.5))).toInt()) - .tier(3) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(nanite, Gold) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Gold, (16 * (sqrt((tier - 1).toDouble()))).toInt()) + input(foil, Electrum, (16 * sqrt((tier - 1).toDouble())).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((500 * (sqrt((tier - 1).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(400 / sqrt(1.5.pow(tier - 2.5))).toInt()) + tier(3) + } } - // --------------------------------------------------------------------------------------------------------- - // T1: Extreme Circuit Board + // endregion + + // region Extreme Circuit Board + + // T1 for (tier in 3..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 3))).toInt() @@ -259,21 +267,21 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(EXTREME_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Aluminium, (16 * (sqrt((tier - 2).toDouble()))).toInt()) - .input(foil, Bronze, (16 * (sqrt((tier - 2).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 2).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((1000 * (sqrt((tier - 2).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 3.5))).toInt()) - .tier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(1) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Aluminium, (16 * (sqrt((tier - 2).toDouble()))).toInt()) + input(foil, Bronze, (16 * (sqrt((tier - 2).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 2).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((1000 * (sqrt((tier - 2).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 3.5))).toInt()) + tier(1) + } } - // T2: Extreme Circuit Board + // T2 for (tier in 3..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 2.5))).toInt() @@ -286,22 +294,22 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(EXTREME_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(nanite, Silver) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Aluminium, (16 * (sqrt((tier - 2).toDouble()))).toInt()) - .input(foil, Bronze, (16 * (sqrt((tier - 2).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 2).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((1000 * (sqrt((tier - 2).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(500 / sqrt(1.5.pow(tier - 3.5))).toInt()) - .tier(2) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(nanite, Silver) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Aluminium, (16 * (sqrt((tier - 2).toDouble()))).toInt()) + input(foil, Bronze, (16 * (sqrt((tier - 2).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 2).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((1000 * (sqrt((tier - 2).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(500 / sqrt(1.5.pow(tier - 3.5))).toInt()) + tier(2) + } } - // T3: Extreme Circuit Board + // T3 for (tier in 3..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 2))).toInt() @@ -314,23 +322,26 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(EXTREME_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(nanite, Gold) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Aluminium, (16 * (sqrt((tier - 2).toDouble()))).toInt()) - .input(foil, Bronze, (16 * (sqrt((tier - 2).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 2).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((1000 * (sqrt((tier - 2).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(400 / sqrt(1.5.pow(tier - 3.5))).toInt()) - .tier(3) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(nanite, Gold) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Aluminium, (16 * (sqrt((tier - 2).toDouble()))).toInt()) + input(foil, Bronze, (16 * (sqrt((tier - 2).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 2).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((1000 * (sqrt((tier - 2).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(400 / sqrt(1.5.pow(tier - 3.5))).toInt()) + tier(3) + } } - // --------------------------------------------------------------------------------------------------------- - // T1: Elite Circuit Board + // endregion + + // region Elite Circuit Board + + // T1 for (tier in 4..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 4))).toInt() @@ -343,21 +354,21 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ELITE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Palladium, (16 * (sqrt((tier - 3).toDouble()))).toInt()) - .input(foil, Platinum, (16 * (sqrt((tier - 3).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 3).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((2000 * (sqrt((tier - 3).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 4.5))).toInt()) - .tier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(1) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Palladium, (16 * (sqrt((tier - 3).toDouble()))).toInt()) + input(foil, Platinum, (16 * (sqrt((tier - 3).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 3).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((2000 * (sqrt((tier - 3).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 4.5))).toInt()) + tier(1) + } } - // T2: Elite Circuit Board + // T2 for (tier in 4..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 3.5))).toInt() @@ -370,22 +381,22 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ELITE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(nanite, Silver) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Palladium, (16 * (sqrt((tier - 3).toDouble()))).toInt()) - .input(foil, Platinum, (16 * (sqrt((tier - 3).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 3).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((2000 * (sqrt((tier - 3).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(500 / sqrt(1.5.pow(tier - 4.5))).toInt()) - .tier(2) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(nanite, Silver) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Palladium, (16 * (sqrt((tier - 3).toDouble()))).toInt()) + input(foil, Platinum, (16 * (sqrt((tier - 3).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 3).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((2000 * (sqrt((tier - 3).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(500 / sqrt(1.5.pow(tier - 4.5))).toInt()) + tier(2) + } } - // T3: Elite Circuit Board + // T3 for (tier in 4..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 3))).toInt() @@ -398,23 +409,26 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ELITE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(nanite, Gold) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Palladium, (16 * (sqrt((tier - 3).toDouble()))).toInt()) - .input(foil, Platinum, (16 * (sqrt((tier - 3).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 3).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((2000 * (sqrt((tier - 3).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(400 / sqrt(1.5.pow(tier - 4.5))).toInt()) - .tier(3) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(nanite, Gold) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Palladium, (16 * (sqrt((tier - 3).toDouble()))).toInt()) + input(foil, Platinum, (16 * (sqrt((tier - 3).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 3).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((2000 * (sqrt((tier - 3).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(400 / sqrt(1.5.pow(tier - 4.5))).toInt()) + tier(3) + } } - // --------------------------------------------------------------------------------------------------------- - // T1: Wetware Circuit Board + // endregion + + // region Wetware Circuit Board + + // T1 for (tier in 5..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 5))).toInt() @@ -427,23 +441,23 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(WETWARE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, NiobiumTitanium, (16 * sqrt((tier - 4).toDouble())).toInt()) - .input(foil, VanadiumGallium, (16 * sqrt((tier - 4).toDouble())).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 4).toDouble())).toInt())) - .fluidInputs(Iron3Chloride.getFluid((4000 * sqrt((tier - 4).toDouble())).toInt())) - .fluidInputs(SterileGrowthMedium.getFluid((2000 * sqrt((tier - 4).toDouble())).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 5.5))).toInt()) - .tier(1) - .upgradeTier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(1) + input(plate, plasticTiers.inverse()[tier]) + input(foil, NiobiumTitanium, (16 * sqrt((tier - 4).toDouble())).toInt()) + input(foil, VanadiumGallium, (16 * sqrt((tier - 4).toDouble())).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 4).toDouble())).toInt())) + fluidInputs(Iron3Chloride.getFluid((4000 * sqrt((tier - 4).toDouble())).toInt())) + fluidInputs(SterileGrowthMedium.getFluid((2000 * sqrt((tier - 4).toDouble())).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 5.5))).toInt()) + tier(1) + upgradeTier(1) + } } - // T2: Wetware Circuit Board + // T2 for (tier in 5..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 4.5))).toInt() @@ -456,24 +470,24 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(WETWARE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(nanite, Silver) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, NiobiumTitanium, (16 * (sqrt((tier - 4).toDouble()))).toInt()) - .input(foil, VanadiumGallium, (16 * (sqrt((tier - 4).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 4).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((4000 * (sqrt((tier - 4).toDouble()))).toInt())) - .fluidInputs(SterileGrowthMedium.getFluid((2000 * sqrt((tier - 4).toDouble())).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(500 / sqrt(1.5.pow(tier - 5.5))).toInt()) - .tier(2) - .upgradeTier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(nanite, Silver) + input(plate, plasticTiers.inverse()[tier]) + input(foil, NiobiumTitanium, (16 * (sqrt((tier - 4).toDouble()))).toInt()) + input(foil, VanadiumGallium, (16 * (sqrt((tier - 4).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 4).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((4000 * (sqrt((tier - 4).toDouble()))).toInt())) + fluidInputs(SterileGrowthMedium.getFluid((2000 * sqrt((tier - 4).toDouble())).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(500 / sqrt(1.5.pow(tier - 5.5))).toInt()) + tier(2) + upgradeTier(1) + } } - // T3: Wetware Circuit Board + // T3 for (tier in 5..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 4))).toInt() @@ -485,25 +499,28 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(WETWARE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(nanite, Gold) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, NiobiumTitanium, (16 * (sqrt((tier - 4).toDouble()))).toInt()) - .input(foil, VanadiumGallium, (16 * (sqrt((tier - 4).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 4).toDouble()))).toInt())) - .fluidInputs(Iron3Chloride.getFluid((4000 * (sqrt((tier - 4).toDouble()))).toInt())) - .fluidInputs(SterileGrowthMedium.getFluid((2000 * (sqrt((tier - 4).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(400 / sqrt(1.5.pow(tier - 5.5))).toInt()) - .tier(3) - .upgradeTier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(nanite, Gold) + input(plate, plasticTiers.inverse()[tier]) + input(foil, NiobiumTitanium, (16 * (sqrt((tier - 4).toDouble()))).toInt()) + input(foil, VanadiumGallium, (16 * (sqrt((tier - 4).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 4).toDouble()))).toInt())) + fluidInputs(Iron3Chloride.getFluid((4000 * (sqrt((tier - 4).toDouble()))).toInt())) + fluidInputs(SterileGrowthMedium.getFluid((2000 * (sqrt((tier - 4).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(400 / sqrt(1.5.pow(tier - 5.5))).toInt()) + tier(3) + upgradeTier(1) + } } - // --------------------------------------------------------------------------------------------------------- - // T1: Ultimate Circuit Board + // endregion + + // region Ultimate Circuit Board + + // T1 for (tier in 6..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 6))).toInt() @@ -516,22 +533,22 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ULTIMATE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Europium, (16 * (sqrt((tier - 5).toDouble()))).toInt()) - .input(foil, YttriumBariumCuprate, (16 * (sqrt((tier - 5).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 5).toDouble()))).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((6000 * (sqrt((tier - 5).toDouble()))).toInt())) - .fluidInputs(FluorinatedEthylenePropylene.getFluid((144 * (sqrt((tier - 5).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 5.5))).toInt()) - .tier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(1) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Europium, (16 * (sqrt((tier - 5).toDouble()))).toInt()) + input(foil, YttriumBariumCuprate, (16 * (sqrt((tier - 5).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 5).toDouble()))).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((6000 * (sqrt((tier - 5).toDouble()))).toInt())) + fluidInputs(FluorinatedEthylenePropylene.getFluid((144 * (sqrt((tier - 5).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 5.5))).toInt()) + tier(1) + } } - // T2: Ultimate Circuit Board + // T2 for (tier in 6..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 5.5))).toInt() @@ -544,23 +561,23 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ULTIMATE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(nanite, Silver) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Europium, (16 * (sqrt((tier - 5).toDouble()))).toInt()) - .input(foil, YttriumBariumCuprate, (16 * (sqrt((tier - 5).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 5).toDouble()))).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((6000 * (sqrt((tier - 5).toDouble()))).toInt())) - .fluidInputs(FluorinatedEthylenePropylene.getFluid((144 * (sqrt((tier - 5).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(500 / sqrt(1.5.pow(tier - 6.5))).toInt()) - .tier(2) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(nanite, Silver) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Europium, (16 * (sqrt((tier - 5).toDouble()))).toInt()) + input(foil, YttriumBariumCuprate, (16 * (sqrt((tier - 5).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 5).toDouble()))).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((6000 * (sqrt((tier - 5).toDouble()))).toInt())) + fluidInputs(FluorinatedEthylenePropylene.getFluid((144 * (sqrt((tier - 5).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(500 / sqrt(1.5.pow(tier - 6.5))).toInt()) + tier(2) + } } - // T3: Ultimate Circuit Board + // T3 for (tier in 6..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 5))).toInt() @@ -573,24 +590,27 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(ULTIMATE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(nanite, Gold) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Europium, (16 * (sqrt((tier - 5).toDouble()))).toInt()) - .input(foil, YttriumBariumCuprate, (16 * (sqrt((tier - 5).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 5).toDouble()))).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((6000 * (sqrt((tier - 5).toDouble()))).toInt())) - .fluidInputs(FluorinatedEthylenePropylene.getFluid((144 * (sqrt((tier - 5).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(400 / sqrt(1.5.pow(tier - 6.5))).toInt()) - .tier(3) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(nanite, Gold) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Europium, (16 * (sqrt((tier - 5).toDouble()))).toInt()) + input(foil, YttriumBariumCuprate, (16 * (sqrt((tier - 5).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 5).toDouble()))).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((6000 * (sqrt((tier - 5).toDouble()))).toInt())) + fluidInputs(FluorinatedEthylenePropylene.getFluid((144 * (sqrt((tier - 5).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(400 / sqrt(1.5.pow(tier - 6.5))).toInt()) + tier(3) + } } - // --------------------------------------------------------------------------------------------------------- - // T1: Perfect Circuit Board + // endregion + + // region Perfect Circuit Board + + // T1 for (tier in 7..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 7))).toInt() @@ -603,22 +623,22 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(PERFECT_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Americium, (16 * (sqrt((tier - 6).toDouble()))).toInt()) - .input(foil, ThalliumBariumCalciumCuprate, (16 * (sqrt((tier - 6).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 6).toDouble()))).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((8000 * (sqrt((tier - 6).toDouble()))).toInt())) - .fluidInputs(PolyethyleneTerephthalate.getFluid((288 * (sqrt((tier - 6).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 5.5))).toInt()) - .tier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(1) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Americium, (16 * (sqrt((tier - 6).toDouble()))).toInt()) + input(foil, ThalliumBariumCalciumCuprate, (16 * (sqrt((tier - 6).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 6).toDouble()))).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((8000 * (sqrt((tier - 6).toDouble()))).toInt())) + fluidInputs(PolyethyleneTerephthalate.getFluid((288 * (sqrt((tier - 6).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 5.5))).toInt()) + tier(1) + } } - // T2: Perfect Circuit Board + // T2 for (tier in 7..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 6.5))).toInt() @@ -631,23 +651,23 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(PERFECT_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(nanite, Silver) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Americium, (16 * (sqrt((tier - 6).toDouble()))).toInt()) - .input(foil, ThalliumBariumCalciumCuprate, (16 * (sqrt((tier - 6).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 6).toDouble()))).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((8000 * (sqrt((tier - 6).toDouble()))).toInt())) - .fluidInputs(PolyethyleneTerephthalate.getFluid((288 * (sqrt((tier - 6).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(500 / sqrt(1.5.pow(tier - 6.5))).toInt()) - .tier(2) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(nanite, Silver) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Americium, (16 * (sqrt((tier - 6).toDouble()))).toInt()) + input(foil, ThalliumBariumCalciumCuprate, (16 * (sqrt((tier - 6).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * (sqrt((tier - 6).toDouble()))).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((8000 * (sqrt((tier - 6).toDouble()))).toInt())) + fluidInputs(PolyethyleneTerephthalate.getFluid((288 * (sqrt((tier - 6).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(500 / sqrt(1.5.pow(tier - 6.5))).toInt()) + tier(2) + } } - // T3: Perfect Circuit Board + // T3 for (tier in 7..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 6))).toInt() @@ -660,24 +680,27 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(PERFECT_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(nanite, Gold) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Americium, (16 * (sqrt((tier - 6).toDouble()))).toInt()) - .input(foil, ThalliumBariumCalciumCuprate, (16 * (sqrt((tier - 6).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 6).toDouble())).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((8000 * (sqrt((tier - 6).toDouble()))).toInt())) - .fluidInputs(PolyethyleneTerephthalate.getFluid((288 * (sqrt((tier - 6).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(400 / sqrt(1.5.pow(tier - 6.5))).toInt()) - .tier(3) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(nanite, Gold) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Americium, (16 * (sqrt((tier - 6).toDouble()))).toInt()) + input(foil, ThalliumBariumCalciumCuprate, (16 * (sqrt((tier - 6).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 6).toDouble())).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((8000 * (sqrt((tier - 6).toDouble()))).toInt())) + fluidInputs(PolyethyleneTerephthalate.getFluid((288 * (sqrt((tier - 6).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(400 / sqrt(1.5.pow(tier - 6.5))).toInt()) + tier(3) + } } - // --------------------------------------------------------------------------------------------------------- - // T1: Infinite Circuit Board + // endregion + + // region Infinite Circuit Board + + // T1 for (tier in 8..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 8))).toInt() @@ -690,22 +713,22 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(INFINITE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(1) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Fullerene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) - .input(foil, Phosphorene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 7).toDouble())).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((10000 * (sqrt((tier - 7).toDouble()))).toInt())) - .fluidInputs(FullerenePolymerMatrix.getFluid((576 * (sqrt((tier - 7).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier] * 3 / 4L) - .duration(ceil(600 / sqrt(1.5.pow(tier - 6.5))).toInt()) - .tier(1) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(1) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Fullerene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) + input(foil, Phosphorene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 7).toDouble())).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((10000 * (sqrt((tier - 7).toDouble()))).toInt())) + fluidInputs(FullerenePolymerMatrix.getFluid((576 * (sqrt((tier - 7).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier] * 3 / 4L) + duration(ceil(600 / sqrt(1.5.pow(tier - 6.5))).toInt()) + tier(1) + } } - // T2: Infinite Circuit Board + // T2 for (tier in 8..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 7.5))).toInt() @@ -718,23 +741,23 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(INFINITE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(2) - .notConsumable(nanite, Silver) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Fullerene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) - .input(foil, Phosphorene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 7).toDouble())).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((10000 * sqrt((tier - 7).toDouble())).toInt())) - .fluidInputs(FullerenePolymerMatrix.getFluid((576 * (sqrt((tier - 7).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(500 / sqrt(1.5.pow(tier - 6.5))).toInt()) - .tier(2) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(2) + notConsumable(nanite, Silver) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Fullerene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) + input(foil, Phosphorene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 7).toDouble())).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((10000 * sqrt((tier - 7).toDouble())).toInt())) + fluidInputs(FullerenePolymerMatrix.getFluid((576 * (sqrt((tier - 7).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(500 / sqrt(1.5.pow(tier - 6.5))).toInt()) + tier(2) + } } - // T3: Infinite Circuit Board + // T3 for (tier in 8..plasticTier) { var boardAmount = ceil(8 * sqrt(2.0.pow(tier - 7))).toInt() @@ -747,22 +770,23 @@ internal object PCBFactoryRecipeProducer i -= 64 } boards.add(INFINITE_CIRCUIT_BOARD.getStackForm(boardAmount)) - PCB_FACTORY_RECIPES.recipeBuilder() - .circuitMeta(3) - .notConsumable(nanite, Gold) - .input(plate, plasticTiers.inverse()[tier]) - .input(foil, Fullerene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) - .input(foil, Phosphorene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) - .fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 7).toDouble())).toInt())) - .fluidInputs(EthylenediaminePyrocatechol.getFluid((10000 * sqrt((tier - 7).toDouble())).toInt())) - .fluidInputs(FullerenePolymerMatrix.getFluid((576 * (sqrt((tier - 7).toDouble()))).toInt())) - .outputs(*boards.toTypedArray()) - .EUt(VA[tier + 1] * 3 / 4L) - .duration(ceil(400 / sqrt(1.5.pow(tier - 6.5))).toInt()) - .tier(3) - .buildAndRegister() + PCB_FACTORY_RECIPES.addRecipe { + circuitMeta(3) + notConsumable(nanite, Gold) + input(plate, plasticTiers.inverse()[tier]) + input(foil, Fullerene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) + input(foil, Phosphorene, (16 * (sqrt((tier - 7).toDouble()))).toInt()) + fluidInputs(SulfuricAcid.getFluid((500 * sqrt((tier - 7).toDouble())).toInt())) + fluidInputs(EthylenediaminePyrocatechol.getFluid((10000 * sqrt((tier - 7).toDouble())).toInt())) + fluidInputs(FullerenePolymerMatrix.getFluid((576 * (sqrt((tier - 7).toDouble()))).toInt())) + outputs(*boards.toTypedArray()) + EUt(VA[tier + 1] * 3 / 4L) + duration(ceil(400 / sqrt(1.5.pow(tier - 6.5))).toInt()) + tier(3) + } } + // endregion } private fun addPlasticTier(material: Material, tier: Int) diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/StoneVariantRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/StoneVariantRecipeProducer.kt index d5112c251..f5f148b64 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/StoneVariantRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/StoneVariantRecipeProducer.kt @@ -7,6 +7,7 @@ import gregtech.api.GTValues.V import gregtech.api.GTValues.VH import gregtech.api.GTValues.VHA import gregtech.api.recipes.ModHandler +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.recipes.RecipeMaps.CHEMICAL_BATH_RECIPES import gregtech.api.recipes.RecipeMaps.EXTRUDER_RECIPES import gregtech.api.recipes.RecipeMaps.FORGE_HAMMER_RECIPES @@ -23,7 +24,7 @@ import gregtechlite.gtlitecore.api.extension.EUt import gregtechlite.gtlitecore.common.block.GTLiteBlocks import gregtechlite.gtlitecore.common.block.GTLiteStoneVariantBlock -// TODO Rebuild to StoneTypeEntry + StoneRecipeLoader? +// TODO: Rebuild to StoneTypeEntry + StoneRecipeLoader? internal object StoneVariantRecipeProducer { @@ -53,138 +54,138 @@ internal object StoneVariantRecipeProducer ModHandler.addSmeltingRecipe(cobblestone, stoneSmooth) // Cobblestone extruding to smooth stone. - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_BLOCK) - .inputs(cobblestone) - .outputs(stoneSmooth) - .EUt(V[ULV]) - .duration(1 * SECOND + 4 * TICK) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_BLOCK) + inputs(cobblestone) + outputs(stoneSmooth) + EUt(V[ULV]) + duration(1 * SECOND + 4 * TICK) + } // Rock Breaker make smooth stone. - ROCK_BREAKER_RECIPES.recipeBuilder() - .notConsumable(stoneSmooth) - .outputs(stoneSmooth) - .EUt(VHA[HV]) - .duration(16 * TICK) - .buildAndRegister() + ROCK_BREAKER_RECIPES.addRecipe { + notConsumable(stoneSmooth) + outputs(stoneSmooth) + EUt(VHA[HV]) + duration(16 * TICK) + } // Smooth stone hamming to cobblestone. - FORGE_HAMMER_RECIPES.recipeBuilder() - .inputs(stoneSmooth) - .outputs(cobblestone) - .EUt(VH[ULV]) - .duration(12 * TICK) - .buildAndRegister() + FORGE_HAMMER_RECIPES.addRecipe { + inputs(stoneSmooth) + outputs(cobblestone) + EUt(VH[ULV]) + duration(12 * TICK) + } // Cobblestone -> Mossy Cobblestone - CHEMICAL_BATH_RECIPES.recipeBuilder() - .inputs(cobblestone) - .fluidInputs(Water.getFluid(100)) - .outputs(cobblestoneMossy) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + inputs(cobblestone) + fluidInputs(Water.getFluid(100)) + outputs(cobblestoneMossy) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Smooth stone polishing to polished stone, see: PolisherRecipes#init(). // Smooth stone extruding to bricks. - EXTRUDER_RECIPES.recipeBuilder() - .notConsumable(SHAPE_EXTRUDER_INGOT) - .inputs(stoneSmooth) - .outputs(bricks) - .EUt(V[ULV]) - .duration(SECOND + 4 * TICK) - .buildAndRegister() + EXTRUDER_RECIPES.addRecipe { + notConsumable(SHAPE_EXTRUDER_INGOT) + inputs(stoneSmooth) + outputs(bricks) + EUt(V[ULV]) + duration(SECOND + 4 * TICK) + } // Polished stone laser engraving to bricks. - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.LightBlue) - .inputs(stonePolished) - .outputs(bricks) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.LightBlue) + inputs(stonePolished) + outputs(bricks) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Bricks hamming to cracked bricks. - FORGE_HAMMER_RECIPES.recipeBuilder() - .inputs(bricks) - .outputs(bricksCracked) - .EUt(VH[ULV]) - .duration(12 * TICK) - .buildAndRegister() + FORGE_HAMMER_RECIPES.addRecipe { + inputs(bricks) + outputs(bricksCracked) + EUt(VH[ULV]) + duration(12 * TICK) + } // Bricks -> Mossy Bricks - CHEMICAL_BATH_RECIPES.recipeBuilder() - .inputs(bricks) - .fluidInputs(Water.getFluid(100)) - .outputs(bricksMossy) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + CHEMICAL_BATH_RECIPES.addRecipe { + inputs(bricks) + fluidInputs(Water.getFluid(100)) + outputs(bricksMossy) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Polished stone laser engraving to chiseled stone. - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.White) - .inputs(stonePolished) - .outputs(stoneChiseled) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.White) + inputs(stonePolished) + outputs(stoneChiseled) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Polished stone laser engraving to tiles. - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.Red) - .inputs(stonePolished) - .outputs(tiles) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Red) + inputs(stonePolished) + outputs(tiles) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Tiles laser engraving to small tiles - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.Red) - .inputs(tiles) - .outputs(tilesSmall) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Red) + inputs(tiles) + outputs(tilesSmall) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Polished stone laser engraving to small bricks. - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.Pink) - .inputs(stonePolished) - .outputs(bricksSmall) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Pink) + inputs(stonePolished) + outputs(bricksSmall) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Polished stone laser engraving to windmill tiles A. - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.Blue) - .inputs(stonePolished) - .outputs(tilesWindmillA) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Blue) + inputs(stonePolished) + outputs(tilesWindmillA) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Polished stone laser engraving to windmill tiles B. - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.Yellow) - .inputs(stonePolished) - .outputs(tilesWindmillB) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Yellow) + inputs(stonePolished) + outputs(tilesWindmillB) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } // Polished stone laser engraving to square bricks. - LASER_ENGRAVER_RECIPES.recipeBuilder() - .notConsumable(craftingLens, Color.Green) - .inputs(stonePolished) - .outputs(bricksSquare) - .EUt(VH[LV]) - .duration(2 * SECOND + 10 * TICK) - .buildAndRegister() + LASER_ENGRAVER_RECIPES.addRecipe { + notConsumable(craftingLens, Color.Green) + inputs(stonePolished) + outputs(bricksSquare) + EUt(VH[LV]) + duration(2 * SECOND + 10 * TICK) + } } } diff --git a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/WrapItemRecipeProducer.kt b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/WrapItemRecipeProducer.kt index 456c4d7a9..1b228961e 100644 --- a/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/WrapItemRecipeProducer.kt +++ b/src/main/kotlin/gregtechlite/gtlitecore/loader/recipe/producer/WrapItemRecipeProducer.kt @@ -4,6 +4,7 @@ import gregtech.api.GTValues.L import gregtech.api.GTValues.LV import gregtech.api.GTValues.VA import gregtech.api.recipes.RecipeMaps.ASSEMBLER_RECIPES +import gregtechlite.gtlitecore.api.extension.addRecipe import gregtech.api.unification.material.MarkerMaterials.Tier import gregtech.api.unification.material.Materials.Polyethylene import gregtech.api.unification.ore.OrePrefix.circuit @@ -35,157 +36,156 @@ internal object WrapItemRecipeProducer fun produce() { - // Add all Wrap Items. wrapItems.forEach { item, wrapItem -> addRecipe(item, wrapItem) } // Circuits - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.ULV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_ULV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.LV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_LV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.MV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_MV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.HV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_HV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.EV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_EV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.IV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_IV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.LuV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_LuV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.ZPM, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_ZPM) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.UV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_UV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.UHV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_UHV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.UEV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_UEV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.UIV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_UIV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.UXV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_UXV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.OpV, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_OpV) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() - - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .input(circuit, Tier.MAX, 16) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .output(WRAP_CIRCUIT_MAX) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.ULV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_ULV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.LV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_LV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.MV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_MV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.HV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_HV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.EV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_EV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.IV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_IV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.LuV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_LuV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.ZPM, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_ZPM) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.UV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_UV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.UHV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_UHV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.UEV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_UEV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.UIV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_UIV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.UXV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_UXV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.OpV, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_OpV) + EUt(VA[LV]) + duration(5 * SECOND) + } + + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + input(circuit, Tier.MAX, 16) + fluidInputs(Polyethylene.getFluid(L / 2)) + output(WRAP_CIRCUIT_MAX) + EUt(VA[LV]) + duration(5 * SECOND) + } } private fun addRecipe(item: ItemStack, wrapItem: ItemStack) { - ASSEMBLER_RECIPES.recipeBuilder() - .circuitMeta(16) - .inputs(item.copy(16)) - .fluidInputs(Polyethylene.getFluid(L / 2)) - .outputs(wrapItem) - .EUt(VA[LV]) - .duration(5 * SECOND) - .buildAndRegister() + ASSEMBLER_RECIPES.addRecipe { + circuitMeta(16) + inputs(item.copy(16)) + fluidInputs(Polyethylene.getFluid(L / 2)) + outputs(wrapItem) + EUt(VA[LV]) + duration(5 * SECOND) + } } // @formatter:on