diff options
author | Mary <33456283+FourIsTheNumber@users.noreply.github.com> | 2024-10-04 06:23:57 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-04 10:23:57 +0000 |
commit | 0634659830defc74ca5ce822e95e5c0babc54d91 (patch) | |
tree | 81d1cf7f3a8251023a704c55a0fbb527e9252dbe /src/main/java/gregtech/loaders/oreprocessing | |
parent | bb2f79ff04f86568eba657726fa4dcc828130dd0 (diff) | |
download | GT5-Unofficial-0634659830defc74ca5ce822e95e5c0babc54d91.tar.gz GT5-Unofficial-0634659830defc74ca5ce822e95e5c0babc54d91.tar.bz2 GT5-Unofficial-0634659830defc74ca5ce822e95e5c0babc54d91.zip |
Remove collisions (#3324)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/loaders/oreprocessing')
7 files changed, 29 insertions, 33 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java index 29516ad0a5..555341aa45 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java @@ -30,7 +30,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - if (aMaterial == Materials.Ichorium) { + if (aMaterial == Materials.Ichorium || aMaterial == Materials.NetherQuartz) { return; } @@ -159,9 +159,6 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist .duration(5 * SECONDS) .eut(24) .addTo(hammerRecipes); - } - - if (tStack2 != null && aMaterial != Materials.NetherQuartz) { if (tStack3 != null) GTModHandler.addShapelessCraftingRecipe(tStack3, new Object[] { OrePrefixes.block.get(aMaterial) }); GTModHandler.addShapelessCraftingRecipe(tStack2, new Object[] { OrePrefixes.block.get(aMaterial) }); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java index debf059884..2566d0ceec 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java @@ -75,9 +75,10 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR break; } - // Blacklist materials which are handled by Werkstoff loader - if (aMaterial == Materials.Salt || aMaterial == Materials.RockSalt || aMaterial == Materials.Spodumene) - return; + // Blacklist materials which are handled by Werkstoff loader and coal, which has an override + if (aMaterial == Materials.Salt || aMaterial == Materials.RockSalt + || aMaterial == Materials.Spodumene + || aMaterial == Materials.Coal) return; switch (aMaterial.mName) { case "Tanzanite", "Sapphire", "Olivine", "GreenSapphire", "Opal", "Amethyst", "Emerald", "Ruby", "Amber", "Diamond", "FoolsRuby", "BlueTopaz", "GarnetRed", "Topaz", "Jasper", "GarnetYellow" -> GTValues.RA diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java index 22a0964f34..1fc6cc15e7 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java @@ -27,6 +27,9 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist OrePrefixes.dirtyGravel.add(this); } + private boolean didPersulfate = false; + private boolean didMercury = false; + @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, net.minecraft.item.ItemStack aStack) { @@ -110,18 +113,22 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist .eut(48) .addTo(thermalCentrifugeRecipes); + didPersulfate = false; + didMercury = false; + addChemicalBathRecipes(aMaterial, aMaterial, aStack, aPrefix); for (Materials tMaterial : aMaterial.mOreByProducts) { addChemicalBathRecipes(aMaterial, tMaterial, aStack, aPrefix); } + } private void addChemicalBathRecipes(Materials material, Materials byproduct, ItemStack stack, OrePrefixes prefix) { OrePrefixes chemicalBathPrefix = prefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure; - if (byproduct.contains(SubTag.WASHING_MERCURY)) { + if (byproduct.contains(SubTag.WASHING_MERCURY) && !didMercury) { GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(1, stack)) .itemOutputs( @@ -133,8 +140,10 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist .duration(40 * SECONDS) .eut(8) .addTo(chemicalBathRecipes); + + didMercury = true; } - if (byproduct.contains(SubTag.WASHING_MERCURY_99_PERCENT)) { + if (byproduct.contains(SubTag.WASHING_MERCURY_99_PERCENT) && !didMercury) { GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(1, stack)) .itemOutputs( @@ -146,8 +155,10 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist .duration(40 * SECONDS) .eut(8) .addTo(chemicalBathRecipes); + + didMercury = true; } - if (byproduct.contains(SubTag.WASHING_SODIUMPERSULFATE)) { + if (byproduct.contains(SubTag.WASHING_SODIUMPERSULFATE) && !didPersulfate) { GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(1, stack)) .itemOutputs( @@ -159,6 +170,8 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist .duration(40 * SECONDS) .eut(8) .addTo(chemicalBathRecipes); + + didPersulfate = true; } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java index ce92e38f7c..9a403c4b1d 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java @@ -49,8 +49,10 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra boolean aSpecialRecipeReq = aMaterial.contains(SubTag.MORTAR_GRINDABLE); boolean aFuelPower = aMaterial.mFuelPower > 0; - // Blacklist materials which are handled by Werkstoff loader - if (aMaterial == Materials.Salt || aMaterial == Materials.RockSalt || aMaterial == Materials.Spodumene) return; + // Blacklist materials which are handled by Werkstoff loader and nether quartz due to its 4:1 ratio + if (aMaterial == Materials.Salt || aMaterial == Materials.RockSalt + || aMaterial == Materials.Spodumene + || aMaterial == Materials.NetherQuartz) return; switch (aPrefix) { case gem -> { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java index 5bf1212faa..e6946c804a 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java @@ -145,15 +145,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra GTValues.RA.stdBuilder() .itemInputs(new ItemStack(aStack.getItem(), 1, i)) .itemOutputs( - GTUtility.copyOrNull(tPlanks), - GTOreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)) - .fluidInputs(Materials.Lubricant.getFluid(1L)) - .duration(10 * SECONDS) - .eut(8) - .addTo(cutterRecipes); - GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(aStack.getItem(), 1, i)) - .itemOutputs( GTUtility.copyAmount( GTMod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5 / 4, tStack), @@ -209,16 +200,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra if (tStack != null) { ItemStack tPlanks = GTUtility.copyOrNull(tStack); if (tPlanks != null) { - tPlanks.stackSize = (tPlanks.stackSize * 3 / 2); - GTValues.RA.stdBuilder() - .itemInputs(GTUtility.copyAmount(1, aStack)) - .itemOutputs( - GTUtility.copyOrNull(tPlanks), - GTOreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)) - .fluidInputs(Materials.Lubricant.getFluid(1L)) - .duration(10 * SECONDS) - .eut(8) - .addTo(cutterRecipes); GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(1, aStack)) .itemOutputs( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java index 9823582212..b66bee9764 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java @@ -205,7 +205,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra Math.max(1, aMultiplier * aMaterial.mSmeltingMultiplier / 2))); } - if (tCrushed != null) { + if (tCrushed != null && aMaterial != Materials.Knightmetal) { GTValues.RA.stdBuilder() .itemInputs(aOreStack) .itemOutputs(GTUtility.copy(GTUtility.copyAmount(tCrushed.stackSize, tGem), tCrushed)) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java index 9f90cdbfff..0f4b3d28b6 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java @@ -147,7 +147,9 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi .addTo(extruderRecipes); } - if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) { + if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron) + && !(aMaterial.contains(SubTag.NO_SMELTING)) + && aPrefix == OrePrefixes.ingot) { if (aMaterial.mStandardMoltenFluid != null) { if (GTOreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L) != null) { GTValues.RA.stdBuilder() |