From fc80a194d0a9a4806b20e25f812f9caabbf9774c Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Wed, 19 Feb 2025 01:37:05 -0600 Subject: [PATCH] Reduce Obsidian Processing from 9 per block to 2 per block --- .../dreammaster/scripts/ScriptCoreMod.java | 64 ++++++++++++++++++- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java b/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java index c132b2595..2c53aa492 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java +++ b/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java @@ -22,14 +22,21 @@ import static gregtech.api.enums.Mods.RemoteIO; import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.enums.Mods.TinkerConstruct; +import static gregtech.api.recipe.RecipeCategories.alloySmelterMolding; +import static gregtech.api.recipe.RecipeCategories.fluidExtractorRecycling; +import static gregtech.api.recipe.RecipeCategories.maceratorRecycling; +import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; import static gregtech.api.recipe.RecipeMaps.brewingRecipes; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; import static gregtech.api.recipe.RecipeMaps.cutterRecipes; import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.extruderRecipes; import static gregtech.api.recipe.RecipeMaps.fermentingRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; import static gregtech.api.recipe.RecipeMaps.formingPressRecipes; import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; import static gregtech.api.recipe.RecipeMaps.latheRecipes; @@ -44,6 +51,7 @@ import java.util.List; import java.util.stream.Stream; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; @@ -1362,8 +1370,6 @@ public void loadRecipes() { GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 4L)) .itemOutputs(CustomItemList.BedrockiumIronPlate.get(1L)).duration(30 * SECONDS).eut(TierEU.RECIPE_UEV) .addTo(formingPressRecipes); - GTValues.RA.stdBuilder().itemInputs(getModItem(Minecraft.ID, "obsidian", 1, 0, missing)) - .itemOutputs(NHItemList.LongObsidianRod.getIS(4)).duration(32 * SECONDS).eut(16).addTo(latheRecipes); GTValues.RA.stdBuilder().itemInputs(getModItem(Minecraft.ID, "stone", 1, 0, missing)) .itemOutputs(NHItemList.LongStoneRod.getIS(4)).duration(16 * SECONDS).eut(16).addTo(latheRecipes); GTValues.RA.stdBuilder().itemInputs(getModItem(Minecraft.ID, "sandstone", 1, wildcard, missing)) @@ -1417,5 +1423,59 @@ public void loadRecipes() { .duration(15 * SECONDS).eut(2).addTo(maceratorRecipes); GTValues.RA.stdBuilder().itemInputs(getModItem(ProjectRedCore.ID, "projectred.core.part", 1, 55, missing)) .itemOutputs(NHItemList.ElectrotineWire.getIS(2)).duration(5 * SECONDS).eut(4).addTo(wiremillRecipes); + + // Obsidian Stuff + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(NHItemList.LongObsidianRod.getIS(2)).duration(32 * SECONDS).eut(16).addTo(latheRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plate, Materials.Obsidian, 2)) + .fluidInputs(Materials.Lubricant.getFluid(5)).duration(11 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(cutterRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plate, Materials.Obsidian, 2)) + .fluidInputs(Materials.Water.getFluid(20)).duration(22 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(cutterRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plate, Materials.Obsidian, 2)) + .fluidInputs(GTModHandler.getDistilledWater(15)).duration(22 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(cutterRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .fluidOutputs(Materials.Obsidian.getMolten(288)).duration(10 * SECONDS + 16 * TICKS).eut(35) + .recipeCategory(fluidExtractorRecycling).addTo(fluidExtractionRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2)) + .duration(9 * SECONDS + 18 * TICKS).eut(4).recipeCategory(maceratorRecycling).addTo(maceratorRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian), ItemList.Shape_Mold_Ingot.get(0)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Obsidian, 2)) + .duration(6 * SECONDS + 10 * TICKS).eut(3).recipeCategory(alloySmelterMolding) + .addTo(alloySmelterRecipes); + GTValues.RA.stdBuilder().itemInputs(GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Obsidian, 2)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(15 * SECONDS).eut(2).addTo(compressorRecipes); + GTValues.RA.stdBuilder().fluidInputs(Materials.Obsidian.getMolten(288)) + .itemInputs(ItemList.Shape_Mold_Block.get(0)).itemOutputs(new ItemStack(Blocks.obsidian)) + .duration(14 * SECONDS + 8 * TICKS).eut(8).addTo(fluidSolidifierRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2), + ItemList.Shape_Extruder_Block.get(0)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(10 * TICKS).eut(24).addTo(extruderRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Obsidian, 2), + ItemList.Shape_Extruder_Block.get(0)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(10 * TICKS).eut(24).addTo(extruderRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2), + ItemList.Shape_Mold_Block.get(0)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(5 * TICKS).eut(12) + .recipeCategory(alloySmelterMolding).addTo(alloySmelterRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Obsidian, 2), + ItemList.Shape_Mold_Block.get(0)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(5 * TICKS).eut(12) + .recipeCategory(alloySmelterMolding).addTo(alloySmelterRecipes); + } }