From 4995bc3a4e9a60987d121a09a91e856a9d97be82 Mon Sep 17 00:00:00 2001 From: Johannes Gäßler Date: Sat, 22 Jul 2017 18:46:11 +0200 Subject: Reduced direct smelting from impure/purified dust --- .../oreprocessing/ProcessingOreSmelting.java | 35 +++++++++++++++++----- 1 file changed, 28 insertions(+), 7 deletions(-) (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java') diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index e03f23ae7f..9804580cde 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -24,20 +24,41 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe if (aMaterial.mBlastFurnaceTemp <= 1000) GT_ModHandler.addRCBlastFurnaceRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), aMaterial.mBlastFurnaceTemp * 2); } else { + OrePrefixes outputPrefix; + int outputSize; switch (aPrefix) { case crushed: case crushedPurified: case crushedCentrifuged: - ItemStack tStack = GT_OreDictUnificator.get(OrePrefixes.nugget, aMaterial.mDirectSmelting, aMaterial.mDirectSmelting == aMaterial ? 10L : 3L); - if (tStack == null) - tStack = GT_OreDictUnificator.get(aMaterial.contains(SubTag.SMELTING_TO_GEM) ? OrePrefixes.gem : OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L); - if ((tStack == null) && (!aMaterial.contains(SubTag.SMELTING_TO_GEM))) - tStack = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L); - GT_ModHandler.addSmeltingRecipe(aStack, tStack); + outputPrefix = OrePrefixes.nugget; + if (aMaterial.mDirectSmelting == aMaterial) { + outputSize = 10; + } else { + outputSize = 3; + } + break; + case dustImpure: + case dustPure: + case dustRefined: + if (aMaterial.mDirectSmelting == aMaterial) { + outputPrefix = OrePrefixes.ingot; + outputSize = 1; + } else { + outputPrefix = OrePrefixes.nugget; + outputSize = 3; + } break; default: - GT_ModHandler.addSmeltingRecipe(aStack, GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L)); + outputPrefix = OrePrefixes.ingot; + outputSize = 1; + break; } + ItemStack tStack = GT_OreDictUnificator.get(outputPrefix, aMaterial.mDirectSmelting, outputSize); + if (tStack == null) + tStack = GT_OreDictUnificator.get(aMaterial.contains(SubTag.SMELTING_TO_GEM) ? OrePrefixes.gem : OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L); + if ((tStack == null) && (!aMaterial.contains(SubTag.SMELTING_TO_GEM))) + tStack = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L); + GT_ModHandler.addSmeltingRecipe(aStack, tStack); } } } -- cgit From beaa54eb4153e11935f6107d53272c88453e3e3d Mon Sep 17 00:00:00 2001 From: Johannes Gäßler Date: Sat, 22 Jul 2017 23:21:28 +0200 Subject: Reworked Direct Smelting, added Magnetite -> Iron smelting All Direct Smelting recipes now yield 1 ingot per Ore Block or 5 Nuggets per Crushed Ore/Dust --- .../java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java') diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 9804580cde..3e9149fa96 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -10,7 +10,7 @@ import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipeRegistrator { - private final OrePrefixes[] mSmeltingPrefixes = {OrePrefixes.crushed, OrePrefixes.crushedPurified, OrePrefixes.crushedCentrifuged, OrePrefixes.dustImpure, OrePrefixes.dustPure, OrePrefixes.dustRefined}; + private final OrePrefixes[] mSmeltingPrefixes = {OrePrefixes.crushed, OrePrefixes.crushedPurified, OrePrefixes.crushedCentrifuged, OrePrefixes.dust, OrePrefixes.dustImpure, OrePrefixes.dustPure, OrePrefixes.dustRefined}; public ProcessingOreSmelting() { for (OrePrefixes tPrefix : this.mSmeltingPrefixes) tPrefix.add(this); @@ -34,9 +34,10 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe if (aMaterial.mDirectSmelting == aMaterial) { outputSize = 10; } else { - outputSize = 3; + outputSize = 5; } break; + case dust: case dustImpure: case dustPure: case dustRefined: @@ -45,7 +46,7 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe outputSize = 1; } else { outputPrefix = OrePrefixes.nugget; - outputSize = 3; + outputSize = 5; } break; default: -- cgit From 8fa91db261def5087ff4dcf25de899de36457a98 Mon Sep 17 00:00:00 2001 From: Johannes Gäßler Date: Sun, 23 Jul 2017 15:01:09 +0200 Subject: Added BBF Recipes for increased output from Direct Smelting --- .../loaders/oreprocessing/ProcessingOreSmelting.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java') diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 3e9149fa96..e1fe0489e8 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -7,6 +7,7 @@ import gregtech.api.enums.SubTag; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipeRegistrator { @@ -38,6 +39,17 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe } break; case dust: + if (aMaterial.mDirectSmelting != aMaterial) { + if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)) { + GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), GT_Values.NI, 2400); + } else if (aMaterial == Materials.Chalcopyrite) { + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustSmall(4), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustTiny(14), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDust(2), 2400); + } else if (aMaterial == Materials.Tetrahedrite) { + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Antimony.getNuggets(6), 2400); + } + } case dustImpure: case dustPure: case dustRefined: -- cgit From 02153358674d88d0014af33912b056a044d6e4f4 Mon Sep 17 00:00:00 2001 From: Johannes Gäßler Date: Mon, 24 Jul 2017 19:12:42 +0200 Subject: Increased Direct Smelting yield: 5 Nuggets -> 6 Nuggets Previously you would only get 1 extra Nugget from Macerating Ore. Now you get 3 extra Nuggets. --- .../java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java') diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index e1fe0489e8..48aadc96fc 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -35,7 +35,7 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe if (aMaterial.mDirectSmelting == aMaterial) { outputSize = 10; } else { - outputSize = 5; + outputSize = 6; } break; case dust: @@ -58,7 +58,7 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe outputSize = 1; } else { outputPrefix = OrePrefixes.nugget; - outputSize = 5; + outputSize = 6; } break; default: -- cgit From 1763f60b3638286cfa7b0f17f6aff72e744c8a1d Mon Sep 17 00:00:00 2001 From: Johannes Gäßler Date: Wed, 26 Jul 2017 23:26:17 +0200 Subject: Added a config for the converion rate of Direct Smelting: 1 <-> 2/3 --- .../oreprocessing/ProcessingOreSmelting.java | 31 +++++++++++++++------- 1 file changed, 22 insertions(+), 9 deletions(-) (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java') diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 48aadc96fc..b982ddb8bb 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -1,5 +1,6 @@ package gregtech.loaders.oreprocessing; +import gregtech.GT_Mod; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -31,23 +32,30 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe case crushed: case crushedPurified: case crushedCentrifuged: - outputPrefix = OrePrefixes.nugget; if (aMaterial.mDirectSmelting == aMaterial) { outputSize = 10; + outputPrefix = OrePrefixes.nugget; } else { - outputSize = 6; + if (GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre) { + outputSize = 6; + outputPrefix = OrePrefixes.nugget; + } else { + outputSize = 1; + outputPrefix = OrePrefixes.ingot; + } } break; case dust: if (aMaterial.mDirectSmelting != aMaterial) { if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)) { - GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), GT_Values.NI, 2400); + GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), GT_Values.NI, 2400); } else if (aMaterial == Materials.Chalcopyrite) { - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustSmall(4), 2400); - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustTiny(14), 2400); - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDust(2), 2400); + int outputAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustSmall(2 * outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustTiny(7 * outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDust(outputAmount), 2400); } else if (aMaterial == Materials.Tetrahedrite) { - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Antimony.getNuggets(6), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Antimony.getNuggets(6), 2400); } } case dustImpure: @@ -57,8 +65,13 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe outputPrefix = OrePrefixes.ingot; outputSize = 1; } else { - outputPrefix = OrePrefixes.nugget; - outputSize = 6; + if (GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre) { + outputSize = 6; + outputPrefix = OrePrefixes.nugget; + } else { + outputSize = 1; + outputPrefix = OrePrefixes.ingot; + } } break; default: -- cgit From 4822c5ca2808860cbfbfe6081251d616f9f33d91 Mon Sep 17 00:00:00 2001 From: Johannes Gäßler Date: Mon, 7 Aug 2017 21:06:41 +0200 Subject: Reverted the Galena formula: PbS -> Pb3Ag3S2 --- src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java') diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index b982ddb8bb..4fa3c13bfe 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -56,6 +56,8 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDust(outputAmount), 2400); } else if (aMaterial == Materials.Tetrahedrite) { GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Antimony.getNuggets(6), 2400); + } else if (aMaterial == Materials.Galena) { + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Silver.getNuggets(6), 2400); } } case dustImpure: -- cgit From f3d3cc24ded8abf957951fb3619bd72c326b437e Mon Sep 17 00:00:00 2001 From: Johannes Gäßler Date: Mon, 7 Aug 2017 21:20:43 +0200 Subject: Fixed a bug where the Nugget amount did not scale with the config --- .../loaders/oreprocessing/ProcessingOreSmelting.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java') diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 4fa3c13bfe..64bac7e6e3 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -46,18 +46,18 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe } break; case dust: + int outputAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; if (aMaterial.mDirectSmelting != aMaterial) { if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)) { - GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), GT_Values.NI, 2400); + GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(outputAmount), GT_Values.NI, 2400); } else if (aMaterial == Materials.Chalcopyrite) { - int outputAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustSmall(2 * outputAmount), 2400); - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustTiny(7 * outputAmount), 2400); - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDust(outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustSmall(2 * outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustTiny(7 * outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDust(outputAmount), 2400); } else if (aMaterial == Materials.Tetrahedrite) { - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Antimony.getNuggets(6), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Antimony.getNuggets(3 * outputAmount), 2400); } else if (aMaterial == Materials.Galena) { - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Silver.getNuggets(6), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Silver.getNuggets(6 * outputAmount), 2400); } } case dustImpure: -- cgit