diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-06-30 02:39:21 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-06-30 02:39:21 +1000 |
commit | 3304d37df6a306fa0b554ee25e99c78115b46c2b (patch) | |
tree | c9c719e35af7b8928d66eef5b057530ee43b0ec5 /src/Java/miscutil/gregtech/loaders/Processing_Block.java | |
parent | 240149f91145e7427ee5f84260419255f435d9aa (diff) | |
download | GT5-Unofficial-3304d37df6a306fa0b554ee25e99c78115b46c2b.tar.gz GT5-Unofficial-3304d37df6a306fa0b554ee25e99c78115b46c2b.tar.bz2 GT5-Unofficial-3304d37df6a306fa0b554ee25e99c78115b46c2b.zip |
+Attempted to add Ingot/Plate/Block processing chains for my own Materials.
Diffstat (limited to 'src/Java/miscutil/gregtech/loaders/Processing_Block.java')
-rw-r--r-- | src/Java/miscutil/gregtech/loaders/Processing_Block.java | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/src/Java/miscutil/gregtech/loaders/Processing_Block.java b/src/Java/miscutil/gregtech/loaders/Processing_Block.java new file mode 100644 index 0000000000..e2389a43d5 --- /dev/null +++ b/src/Java/miscutil/gregtech/loaders/Processing_Block.java @@ -0,0 +1,107 @@ +package miscutil.gregtech.loaders; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.ConfigCategories; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.SubTag; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Utility; +import miscutil.core.util.Utils; +import miscutil.gregtech.api.enums.GregtechOrePrefixes; +import miscutil.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; +import miscutil.gregtech.api.interfaces.internal.Interface_OreRecipeRegistrator; +import miscutil.gregtech.api.util.GregtechOreDictUnificator; +import net.minecraft.item.ItemStack; + +public class Processing_Block implements Interface_OreRecipeRegistrator { + + private boolean isGem = false; + + public Processing_Block() { + GregtechOrePrefixes.block.add(this); + } + + @Override + public void registerOre(GregtechOrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + Utils.LOG_INFO("Processing Blocks"); + GT_Values.RA.addCutterRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GregtechOreDictUnificator.get(GregtechOrePrefixes.plate, aMaterial, 9L), null, (int) Math.max(aMaterial.getMass() * 10L, 1L), 30); + + ItemStack tStack1 = GregtechOreDictUnificator.get(GregtechOrePrefixes.ingot, aMaterial, 1L); + ItemStack tStack2 = GregtechOreDictUnificator.get(GregtechOrePrefixes.gem, aMaterial, 1L); + ItemStack tStack3 = GregtechOreDictUnificator.get(GregtechOrePrefixes.dust, aMaterial, 1L); + + GT_ModHandler.removeRecipe(new ItemStack[]{GT_Utility.copyAmount(1L, new Object[]{aStack})}); + + if (tStack1 != null) { + GT_ModHandler.removeRecipe(new ItemStack[]{tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1}); + } + if (tStack2 != null) { + GT_ModHandler.removeRecipe(new ItemStack[]{tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2}); + } + if (tStack3 != null) { + GT_ModHandler.removeRecipe(new ItemStack[]{tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3}); + } + if (aMaterial.mStandardMoltenFluid != null) { + GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Block.get(0L, new Object[0]), aMaterial.getMolten(1296L), GregtechOreDictUnificator.get(GregtechOrePrefixes.block, aMaterial, 1L), 288, 8); + } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.storageblockcrafting, GregtechOrePrefixes.block.get(aMaterial).toString(), false)) { + if ((tStack1 == null) && (tStack2 == null) && (tStack3 != null)){ + GT_ModHandler.addCraftingRecipe(GregtechOreDictUnificator.get(GregtechOrePrefixes.block, aMaterial, 1L), new Object[]{"XXX", "XXX", "XXX", Character.valueOf('X'), GregtechOrePrefixes.dust.get(aMaterial)}); + } + if (tStack2 != null){ + GT_ModHandler.addCraftingRecipe(GregtechOreDictUnificator.get(GregtechOrePrefixes.block, aMaterial, 1L), new Object[]{"XXX", "XXX", "XXX", Character.valueOf('X'), GregtechOrePrefixes.gem.get(aMaterial)}); + } + if (tStack1 != null) { + GT_ModHandler.addCraftingRecipe(GregtechOreDictUnificator.get(GregtechOrePrefixes.block, aMaterial, 1L), new Object[]{"XXX", "XXX", "XXX", Character.valueOf('X'), GregtechOrePrefixes.ingot.get(aMaterial)}); + } + } + + if (aMaterial.contains(SubTag.CRYSTAL) && !aMaterial.contains(SubTag.METAL)){ + isGem = true; + } + else { + isGem = false; + } + //Ingot + if (tStack1 != null) { + tStack1.stackSize = 9; + } + //Gem + if (tStack2 != null && !isGem) { + tStack2.stackSize = 9; + } + else if (tStack2 != null && isGem) { + tStack2.stackSize = 0; + } + //Dust + if (tStack3 != null && !isGem) { + tStack3.stackSize = 9; + } + else if (tStack3 != null && isGem) { + tStack3.stackSize = 0; + } + + //Gems in FORGE HAMMER + if (tStack2 != null && !isGem) { + tStack2.stackSize = 9; + GT_Values.RA.addForgeHammerRecipe(aStack, tStack2, 100, 24); + } + else if (tStack2 != null && isGem) { + tStack2.stackSize = 9; + GT_Values.RA.addForgeHammerRecipe(aStack, tStack2, 100, 24); + tStack2.stackSize = 0; + } + + + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.storageblockdecrafting, GregtechOrePrefixes.block.get(aMaterial).toString(), tStack2 != null)) { + if (tStack3 != null) + GT_ModHandler.addShapelessCraftingRecipe(tStack3, new Object[]{GregtechOrePrefixes.block.get(aMaterial)}); + if (tStack2 != null) + GT_ModHandler.addShapelessCraftingRecipe(tStack2, new Object[]{GregtechOrePrefixes.block.get(aMaterial)}); + if (tStack1 != null) { + GT_ModHandler.addShapelessCraftingRecipe(tStack1, new Object[]{GregtechOrePrefixes.block.get(aMaterial)}); + } + } + } +} |