diff options
Diffstat (limited to 'src/main')
12 files changed, 92 insertions, 40 deletions
diff --git a/src/main/java/gregtech/api/enums/SubTag.java b/src/main/java/gregtech/api/enums/SubTag.java index 6d0a1a5277..a21197d1b1 100644 --- a/src/main/java/gregtech/api/enums/SubTag.java +++ b/src/main/java/gregtech/api/enums/SubTag.java @@ -104,6 +104,10 @@ public final class SubTag implements ICondition<ISubTagContainer> { */ public static final SubTag NO_SMELTING = getNewSubTag("NO_SMELTING"); /** + * This Material cannot have its Ore and associated prefixes processed, and must be handled manually. + */ + public static final SubTag NO_ORE_PROCESSING = getNewSubTag("NO_ORE_PROCESSING"); + /** * This Material can be molten into a Fluid */ public static final SubTag SMELTING_TO_FLUID = getNewSubTag("SMELTING_TO_FLUID"); diff --git a/src/main/java/gregtech/common/GTProxy.java b/src/main/java/gregtech/common/GTProxy.java index b5854ea2eb..659c626e2f 100644 --- a/src/main/java/gregtech/common/GTProxy.java +++ b/src/main/java/gregtech/common/GTProxy.java @@ -1257,46 +1257,48 @@ public abstract class GTProxy implements IGTMod, IFuelHandler { GTLog.out.println("GTMod: Adding Tool Usage Crafting Recipes for OreDict Items."); for (Materials aMaterial : Materials.values()) { if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial)) { - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.crushedCentrifuged.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.crystalline.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.crystal.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.crushedPurified.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.cleanGravel.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.reduced.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.clump.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.shard.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.crushed.get(aMaterial) }); - GTModHandler.addCraftingRecipe( - GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), - tBits, - new Object[] { "h", "X", 'X', OrePrefixes.dirtyGravel.get(aMaterial) }); + if (!aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.crushedCentrifuged.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.crystalline.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.crystal.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.crushedPurified.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.cleanGravel.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.reduced.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.clump.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.shard.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.crushed.get(aMaterial) }); + GTModHandler.addCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), + tBits, + new Object[] { "h", "X", 'X', OrePrefixes.dirtyGravel.get(aMaterial) }); + } GTModHandler.addCraftingRecipe( GTOreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 4L), tBits, diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java index ed80d04e99..1f303ad0da 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java @@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack; import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; @@ -25,6 +26,10 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + switch (aPrefix) { case crushedCentrifuged -> { GTValues.RA.stdBuilder() diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java index 435573420d..fcdfdcf7cf 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java @@ -10,6 +10,7 @@ import net.minecraft.item.ItemStack; import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; @@ -23,6 +24,10 @@ public class ProcessingCrystallized implements gregtech.api.interfaces.IOreRecip @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + if (aMaterial.mMacerateInto == null) { return; } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java index a09cc2ca44..22a0964f34 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java @@ -30,6 +30,10 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, net.minecraft.item.ItemStack aStack) { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(1, aStack)) .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L)) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java index a8912411ea..9964ea541e 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java @@ -358,6 +358,10 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr } } case dustPure, dustImpure, dustRefined -> { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + Materials tByProduct = GTUtility.selectItemInList( aPrefix == OrePrefixes.dustRefined ? 2 : aPrefix == OrePrefixes.dustPure ? 1 : 0, aMaterial, diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java index 4d0b405fea..9823582212 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java @@ -36,6 +36,10 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + boolean tIsRich = false; // For Sake of god of balance! diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java index d71b4a61f4..f0e1a04fa3 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java @@ -43,6 +43,10 @@ public class ProcessingOrePoor implements gregtech.api.interfaces.IOreRecipeRegi break; } if (aMaterial != null) { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(1, aStack)) .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, aMultiplier)) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 315bdcd6dd..e42ebc1f74 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -34,6 +34,10 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + GTModHandler.removeFurnaceSmelting(aStack); if (!aMaterial.contains(SubTag.NO_SMELTING)) { if ((aMaterial.mBlastFurnaceRequired) || (aMaterial.mDirectSmelting.mBlastFurnaceRequired)) { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java index 40adf386f8..82c16f81da 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java @@ -9,6 +9,7 @@ import net.minecraft.item.ItemStack; import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; @@ -23,6 +24,10 @@ public class ProcessingPure implements gregtech.api.interfaces.IOreRecipeRegistr @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(1, aStack)) .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L)) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java index 902c46bd0b..c930d9c304 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java @@ -30,6 +30,10 @@ public class ProcessingRawOre implements gregtech.api.interfaces.IOreRecipeRegis @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + if (aMaterial.contains(SubTag.NO_ORE_PROCESSING)) { + return; + } + if (aMaterial == Materials.Oilsands) { GTValues.RA.stdBuilder() .itemInputs(GTUtility.copyAmount(1, aStack)) diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java index 91bd92f3ab..3171cd0057 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java @@ -23,6 +23,7 @@ import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SoundResource; +import gregtech.api.enums.SubTag; import gregtech.api.metatileentity.implementations.MTEBasicMachineWithRecipe; import gregtech.api.metatileentity.implementations.MTEBasicMachineWithRecipe.SpecialEffects; import gregtech.api.util.GTOreDictUnificator; @@ -133,6 +134,9 @@ public class GregtechSimpleWasher { ItemStack dustDirty; ItemStack dustPure; for (Materials v : Materials.values()) { + if (v.contains(SubTag.NO_ORE_PROCESSING)) { + continue; + } if (v == Materials.Platinum || v == Materials.Osmium || v == Materials.Iridium || v == Materials.Palladium) { @@ -165,6 +169,9 @@ public class GregtechSimpleWasher { ItemStack crushedClean; ItemStack crushedDirty; for (Materials v : Materials.values()) { + if (v.contains(SubTag.NO_ORE_PROCESSING)) { + continue; + } crushedClean = GTOreDictUnificator.get(OrePrefixes.crushedPurified, v, 1L); crushedDirty = GTOreDictUnificator.get(OrePrefixes.crushed, v, 1L); addSimpleWashRecipe(crushedDirty, crushedClean); |