diff options
| author | Dream-Master <dream-master@gmx.net> | 2016-06-21 18:50:29 +0200 |
|---|---|---|
| committer | Dream-Master <dream-master@gmx.net> | 2016-06-21 18:50:29 +0200 |
| commit | 09add3e8ac3be54b1e6c068e87d4fb5143c6d785 (patch) | |
| tree | 7b02b400788333f9ebf82081736c9c55f8ed48e8 /src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java | |
| parent | b09b54435f9427332854558c42bd2c902825cbfe (diff) | |
| download | GT5-Unofficial-09add3e8ac3be54b1e6c068e87d4fb5143c6d785.tar.gz GT5-Unofficial-09add3e8ac3be54b1e6c068e87d4fb5143c6d785.tar.bz2 GT5-Unofficial-09add3e8ac3be54b1e6c068e87d4fb5143c6d785.zip | |
even with Blood asp experimental branch
Diffstat (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java')
| -rw-r--r-- | src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java new file mode 100644 index 0000000000..e03f23ae7f --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -0,0 +1,44 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +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.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}; + + public ProcessingOreSmelting() { + for (OrePrefixes tPrefix : this.mSmeltingPrefixes) tPrefix.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + GT_ModHandler.removeFurnaceSmelting(aStack); + if (!aMaterial.contains(SubTag.NO_SMELTING)) { + if ((aMaterial.mBlastFurnaceRequired) || (aMaterial.mDirectSmelting.mBlastFurnaceRequired)) { + GT_Values.RA.addBlastRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), null, null, null, aMaterial.mBlastFurnaceTemp > 1750 ? GT_OreDictUnificator.get(OrePrefixes.ingotHot, aMaterial, GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), 1L) : GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), null, (int) Math.max(aMaterial.getMass() / 4L, 1L) * aMaterial.mBlastFurnaceTemp, 120, aMaterial.mBlastFurnaceTemp); + 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 { + 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); + break; + default: + GT_ModHandler.addSmeltingRecipe(aStack, GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L)); + } + } + } + } +} |
