From 85c804fa112fd1f19c91e45d150a787cfbf0f7a8 Mon Sep 17 00:00:00 2001 From: Shawn Buckley Date: Sun, 18 Oct 2015 23:04:39 -0400 Subject: Move source directory --- .../loaders/oreprocessing/ProcessingAll.java | 19 +++ .../loaders/oreprocessing/ProcessingArrows.java | 43 ++++++ .../loaders/oreprocessing/ProcessingBattery.java | 25 ++++ .../loaders/oreprocessing/ProcessingBeans.java | 21 +++ .../loaders/oreprocessing/ProcessingBlock.java | 68 +++++++++ .../loaders/oreprocessing/ProcessingBolt.java | 26 ++++ .../loaders/oreprocessing/ProcessingCell.java | 104 +++++++++++++ .../oreprocessing/ProcessingCellPlasma.java | 27 ++++ .../loaders/oreprocessing/ProcessingCircuit.java | 34 +++++ .../oreprocessing/ProcessingCompressed.java | 26 ++++ .../loaders/oreprocessing/ProcessingCrafting.java | 61 ++++++++ .../loaders/oreprocessing/ProcessingCrop.java | 51 +++++++ .../ProcessingCrushedCentrifuged.java | 23 +++ .../oreprocessing/ProcessingCrushedPurified.java | 24 +++ .../oreprocessing/ProcessingCrystallized.java | 24 +++ .../loaders/oreprocessing/ProcessingDirty.java | 36 +++++ .../loaders/oreprocessing/ProcessingDust.java | 166 +++++++++++++++++++++ .../oreprocessing/ProcessingDustImpure.java | 65 ++++++++ .../loaders/oreprocessing/ProcessingDustSmall.java | 34 +++++ .../loaders/oreprocessing/ProcessingDustTiny.java | 39 +++++ .../loaders/oreprocessing/ProcessingDye.java | 34 +++++ .../loaders/oreprocessing/ProcessingFoil.java | 21 +++ .../loaders/oreprocessing/ProcessingFood.java | 39 +++++ .../loaders/oreprocessing/ProcessingGear.java | 24 +++ .../loaders/oreprocessing/ProcessingGearSmall.java | 22 +++ .../loaders/oreprocessing/ProcessingGem.java | 56 +++++++ .../oreprocessing/ProcessingGemChipped.java | 23 +++ .../oreprocessing/ProcessingGemExquisite.java | 24 +++ .../loaders/oreprocessing/ProcessingGemFlawed.java | 24 +++ .../oreprocessing/ProcessingGemFlawless.java | 24 +++ .../loaders/oreprocessing/ProcessingIngot1.java | 63 ++++++++ .../loaders/oreprocessing/ProcessingIngot2.java | 25 ++++ .../loaders/oreprocessing/ProcessingIngot3.java | 25 ++++ .../loaders/oreprocessing/ProcessingIngot4.java | 24 +++ .../loaders/oreprocessing/ProcessingIngot5.java | 24 +++ .../loaders/oreprocessing/ProcessingIngotHot.java | 21 +++ .../loaders/oreprocessing/ProcessingItem.java | 70 +++++++++ .../loaders/oreprocessing/ProcessingLeaves.java | 15 ++ .../loaders/oreprocessing/ProcessingLens.java | 24 +++ .../loaders/oreprocessing/ProcessingLog.java | 86 +++++++++++ .../loaders/oreprocessing/ProcessingNugget.java | 38 +++++ .../loaders/oreprocessing/ProcessingOre.java | 118 +++++++++++++++ .../loaders/oreprocessing/ProcessingOrePoor.java | 36 +++++ .../oreprocessing/ProcessingOreSmelting.java | 42 ++++++ .../loaders/oreprocessing/ProcessingPipeLarge.java | 25 ++++ .../oreprocessing/ProcessingPipeMedium.java | 25 ++++ .../oreprocessing/ProcessingPipeRestrictive.java | 21 +++ .../loaders/oreprocessing/ProcessingPipeSmall.java | 25 ++++ .../loaders/oreprocessing/ProcessingPlank.java | 59 ++++++++ .../loaders/oreprocessing/ProcessingPlate1.java | 67 +++++++++ .../loaders/oreprocessing/ProcessingPlate2.java | 36 +++++ .../loaders/oreprocessing/ProcessingPlate3.java | 36 +++++ .../loaders/oreprocessing/ProcessingPlate4.java | 32 ++++ .../loaders/oreprocessing/ProcessingPlate5.java | 31 ++++ .../loaders/oreprocessing/ProcessingPlate9.java | 23 +++ .../oreprocessing/ProcessingPlateAlloy.java | 33 ++++ .../loaders/oreprocessing/ProcessingPure.java | 25 ++++ .../loaders/oreprocessing/ProcessingRecycling.java | 21 +++ .../loaders/oreprocessing/ProcessingSand.java | 27 ++++ .../loaders/oreprocessing/ProcessingSaplings.java | 23 +++ .../loaders/oreprocessing/ProcessingShaping.java | 107 +++++++++++++ .../loaders/oreprocessing/ProcessingSlab.java | 23 +++ .../loaders/oreprocessing/ProcessingStick.java | 26 ++++ .../loaders/oreprocessing/ProcessingStickLong.java | 25 ++++ .../loaders/oreprocessing/ProcessingStone.java | 72 +++++++++ .../oreprocessing/ProcessingStoneCobble.java | 28 ++++ .../oreprocessing/ProcessingStoneVarious.java | 32 ++++ .../oreprocessing/ProcessingToolHeadArrow.java | 22 +++ .../oreprocessing/ProcessingToolHeadAxe.java | 20 +++ .../oreprocessing/ProcessingToolHeadBuzzSaw.java | 24 +++ .../oreprocessing/ProcessingToolHeadChainsaw.java | 30 ++++ .../oreprocessing/ProcessingToolHeadDrill.java | 34 +++++ .../oreprocessing/ProcessingToolHeadFile.java | 25 ++++ .../oreprocessing/ProcessingToolHeadHammer.java | 53 +++++++ .../oreprocessing/ProcessingToolHeadHoe.java | 20 +++ .../oreprocessing/ProcessingToolHeadPickaxe.java | 20 +++ .../oreprocessing/ProcessingToolHeadPlow.java | 20 +++ .../oreprocessing/ProcessingToolHeadSaw.java | 20 +++ .../oreprocessing/ProcessingToolHeadSense.java | 20 +++ .../oreprocessing/ProcessingToolHeadShovel.java | 20 +++ .../oreprocessing/ProcessingToolHeadSword.java | 20 +++ .../ProcessingToolHeadUniversalSpade.java | 21 +++ .../oreprocessing/ProcessingToolHeadWrench.java | 34 +++++ .../oreprocessing/ProcessingTransforming.java | 45 ++++++ .../loaders/oreprocessing/ProcessingWax.java | 20 +++ .../loaders/oreprocessing/ProcessingWire01.java | 44 ++++++ .../loaders/oreprocessing/ProcessingWire02.java | 34 +++++ .../loaders/oreprocessing/ProcessingWire04.java | 34 +++++ .../loaders/oreprocessing/ProcessingWire08.java | 34 +++++ .../loaders/oreprocessing/ProcessingWire12.java | 34 +++++ .../loaders/oreprocessing/ProcessingWire16.java | 30 ++++ 91 files changed, 3318 insertions(+) create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingAll.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingBattery.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCellPlasma.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCompressed.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedCentrifuged.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedPurified.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDustImpure.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDustSmall.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDustTiny.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGearSmall.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGemChipped.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGemExquisite.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGemFlawed.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGemFlawless.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot1.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot2.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot3.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot4.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot5.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngotHot.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingItem.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingLeaves.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeLarge.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeMedium.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeRestrictive.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeSmall.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlank.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate1.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate3.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate4.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate5.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate9.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlateAlloy.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStone.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneCobble.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneVarious.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadArrow.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadAxe.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadBuzzSaw.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadChainsaw.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadDrill.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadFile.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHoe.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadPickaxe.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadPlow.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadSaw.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadSense.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadShovel.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadSword.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadUniversalSpade.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadWrench.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire01.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire02.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire04.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire08.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire12.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire16.java (limited to 'src/main/java/gregtech/loaders/oreprocessing') diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingAll.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingAll.java new file mode 100644 index 0000000000..f153e5daf0 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingAll.java @@ -0,0 +1,19 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ProcessingAll implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingAll() + { + for (OrePrefixes tPrefix : OrePrefixes.values()) tPrefix.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + if (((aStack.getItem() instanceof net.minecraft.item.ItemBlock)) && (aPrefix.mDefaultStackSize < aStack.getItem().getItemStackLimit(aStack))) aStack.getItem().setMaxStackSize(aPrefix.mDefaultStackSize); + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java new file mode 100644 index 0000000000..4100022ea4 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java @@ -0,0 +1,43 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +import gregtech.api.util.GT_Utility; +import gregtech.api.util.GT_Utility.ItemNBT; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.item.ItemStack; + +public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingArrows() + { + for (OrePrefixes tPrefix : OrePrefixes.values()) if (tPrefix.name().startsWith("arrowGt")) { tPrefix.add(this); + } + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + ItemStack tOutput = GT_Utility.copyAmount(1L, new Object[] { aStack });GT_Utility.updateItemStack(tOutput); + GT_Utility.ItemNBT.addEnchantment(tOutput, Enchantment.smite, EnchantmentHelper.getEnchantmentLevel(Enchantment.smite.effectId, tOutput) + 3); + GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.HolyWater.getFluid(25L), tOutput, null, null, null, 100, 2); + + tOutput = GT_Utility.copyAmount(1L, new Object[] { aStack });GT_Utility.updateItemStack(tOutput); + GT_Utility.ItemNBT.addEnchantment(tOutput, Enchantment.fireAspect, EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, tOutput) + 3); + GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.FierySteel.getFluid(25L), tOutput, null, null, null, 100, 2); + + tOutput = GT_Utility.copyAmount(1L, new Object[] { aStack });GT_Utility.updateItemStack(tOutput); + GT_Utility.ItemNBT.addEnchantment(tOutput, Enchantment.fireAspect, EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, tOutput) + 1); + GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.Blaze.getMolten(18L), tOutput, null, null, null, 100, 2); + + tOutput = GT_Utility.copyAmount(1L, new Object[] { aStack });GT_Utility.updateItemStack(tOutput); + GT_Utility.ItemNBT.addEnchantment(tOutput, Enchantment.knockback, EnchantmentHelper.getEnchantmentLevel(Enchantment.knockback.effectId, tOutput) + 1); + GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.Rubber.getMolten(18L), tOutput, null, null, null, 100, 2); + + tOutput = GT_Utility.copyAmount(1L, new Object[] { aStack });GT_Utility.updateItemStack(tOutput); + GT_Utility.ItemNBT.addEnchantment(tOutput, gregtech.api.enchants.Enchantment_EnderDamage.INSTANCE, EnchantmentHelper.getEnchantmentLevel(gregtech.api.enchants.Enchantment_EnderDamage.INSTANCE.effectId, tOutput) + 1); + GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.Mercury.getFluid(25L), tOutput, null, null, null, 100, 2); + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBattery.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBattery.java new file mode 100644 index 0000000000..dd6984d904 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBattery.java @@ -0,0 +1,25 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Utility; +import net.minecraft.item.ItemStack; + +public class ProcessingBattery implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingBattery() + { + OrePrefixes.battery.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + if (aMaterial == Materials.Lithium) { + GT_Values.RA.addAssemblerRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_ModHandler.getIC2Item("cropnalyzer", 1L, 32767), ItemList.Tool_Scanner.getAlmostBroken(1L, new Object[0]), 12800, 16); + } + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java new file mode 100644 index 0000000000..eda781bd19 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java @@ -0,0 +1,21 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +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 ProcessingBeans implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingBeans() + { + OrePrefixes.beans.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + if (aOreDictName.equals("beansCocoa")) GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L)); + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java new file mode 100644 index 0000000000..98f08594cc --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java @@ -0,0 +1,68 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.ConfigCategories; +import gregtech.api.enums.ConfigCategories.Recipes; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +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 ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingBlock() + { + OrePrefixes.block.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + GT_Values.RA.addCutterRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 9L), null, (int)Math.max(aMaterial.getMass() * 10L, 1L), 30); + + ItemStack tStack1 = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L);ItemStack tStack2 = GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L);ItemStack tStack3 = GT_OreDictUnificator.get(OrePrefixes.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), GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L), 288, 8); + } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.storageblockcrafting, OrePrefixes.block.get(aMaterial).toString(), false)) { + if ((tStack1 == null) && (tStack2 == null) && (tStack3 != null)) GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L), new Object[] { "XXX", "XXX", "XXX", Character.valueOf('X'), OrePrefixes.dust.get(aMaterial) }); + if (tStack2 != null) GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L), new Object[] { "XXX", "XXX", "XXX", Character.valueOf('X'), OrePrefixes.gem.get(aMaterial) }); + if (tStack1 != null) { GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L), new Object[] { "XXX", "XXX", "XXX", Character.valueOf('X'), OrePrefixes.ingot.get(aMaterial) }); + } + } + if (tStack1 != null) tStack1.stackSize = 9; + if (tStack2 != null) tStack2.stackSize = 9; + if (tStack3 != null) { tStack3.stackSize = 9; + } + GT_Values.RA.addForgeHammerRecipe(aStack, tStack2, 100, 24); + + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.storageblockdecrafting, OrePrefixes.block.get(aMaterial).toString(), tStack2 != null)) { + if (tStack3 != null) GT_ModHandler.addShapelessCraftingRecipe(tStack3, new Object[] { OrePrefixes.block.get(aMaterial) }); + if (tStack2 != null) GT_ModHandler.addShapelessCraftingRecipe(tStack2, new Object[] { OrePrefixes.block.get(aMaterial) }); + if (tStack1 != null) { GT_ModHandler.addShapelessCraftingRecipe(tStack1, new Object[] { OrePrefixes.block.get(aMaterial) }); + } + } + switch (aMaterial) { + case Mercury: + System.err.println("'blockQuickSilver'?, In which Ice Desert can you actually place this as a solid Block?"); + break; + case Iron: case WroughtIron: + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), ItemList.Shape_Extruder_Rod.get(0L, new Object[0]), ItemList.IC2_ShaftIron.get(1L, new Object[0]), 640, 120); + GT_Values.RA.addAssemblerRecipe(ItemList.IC2_Compressed_Coal_Ball.get(8L, new Object[0]), GT_Utility.copyAmount(1L, new Object[] { aStack }), ItemList.IC2_Compressed_Coal_Chunk.get(1L, new Object[0]), 400, 4); + break; + case Steel: + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), ItemList.Shape_Extruder_Rod.get(0L, new Object[0]), ItemList.IC2_ShaftSteel.get(1L, new Object[0]), 1280, 120); + GT_Values.RA.addAssemblerRecipe(ItemList.IC2_Compressed_Coal_Ball.get(8L, new Object[0]), GT_Utility.copyAmount(1L, new Object[] { aStack }), ItemList.IC2_Compressed_Coal_Chunk.get(1L, new Object[0]), 400, 4); + } + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java new file mode 100644 index 0000000000..7303c8a7cb --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java @@ -0,0 +1,26 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +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 gregtech.common.items.GT_MetaGenerated_Tool_01; +import net.minecraft.block.material.Material; +import net.minecraft.item.ItemStack; + +public class ProcessingBolt implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingBolt() + { + OrePrefixes.bolt.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + if (!aMaterial.contains(SubTag.NO_WORKING)) GT_Values.RA.addLatheRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 1L), null, (int)Math.max(aMaterial.getMass() / 8L, 1L), 4); + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java new file mode 100644 index 0000000000..73c6e3e168 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java @@ -0,0 +1,104 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.IOreRecipeRegistrator; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +import gregtech.api.objects.MaterialStack; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import net.minecraft.item.ItemStack; + +public class ProcessingCell + implements IOreRecipeRegistrator +{ + public ProcessingCell() + { + OrePrefixes.cell.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + if (aMaterial == Materials.Empty) + { + GT_ModHandler.removeRecipeByOutput(aStack); + if (aModName.equalsIgnoreCase("AtomicScience")) { + GT_ModHandler.addExtractionRecipe(ItemList.Cell_Empty.get(1L, new Object[0]), aStack); + } + } + else + { + if (aMaterial.mFuelPower > 0) { + GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_Utility.getFluidForFilledItem(aStack, true) == null ? GT_Utility.getContainerItem(aStack, true) : null, aMaterial.mFuelPower, aMaterial.mFuelType); + } + if ((aMaterial.mMaterialList.size() > 0) && ((aMaterial.mExtraData & 0x3) != 0)) + { + int tAllAmount = 0; + MaterialStack tMat2; + for (Iterator i$ = aMaterial.mMaterialList.iterator(); i$.hasNext(); tAllAmount = (int)(tAllAmount + tMat2.mAmount)) { + tMat2 = (MaterialStack)i$.next(); + } + long tItemAmount = 0L;long tCapsuleCount = GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(new ItemStack[] { aStack }) * -tAllAmount;long tDensityMultiplier = aMaterial.getDensity() > 3628800L ? aMaterial.getDensity() / 3628800L : 1L; + ArrayList tList = new ArrayList(); + for ( MaterialStack tMat : aMaterial.mMaterialList) { + if (tMat.mAmount > 0L) + { + ItemStack tStack; + if (tMat.mMaterial == Materials.Air) + { + tStack = ItemList.Cell_Air.get(tMat.mAmount * tDensityMultiplier / 2L, new Object[0]); + } + else + { + tStack = GT_OreDictUnificator.get(OrePrefixes.dust, tMat.mMaterial, tMat.mAmount); + if (tStack == null) { + tStack = GT_OreDictUnificator.get(OrePrefixes.cell, tMat.mMaterial, tMat.mAmount); + } + } + if (tItemAmount + tMat.mAmount * 3628800L <= aStack.getMaxStackSize() * aMaterial.getDensity()) + { + tItemAmount += tMat.mAmount * 3628800L; + if (tStack != null) + { + ItemStack tmp397_395 = tStack;tmp397_395.stackSize = ((int)(tmp397_395.stackSize * tDensityMultiplier)); + while ((tStack.stackSize > 64) && (tCapsuleCount + GT_ModHandler.getCapsuleCellContainerCount(tStack) * 64 < 0L ? tList.size() < 5 : tList.size() < 6) && (tCapsuleCount + GT_ModHandler.getCapsuleCellContainerCount(tStack) * 64 <= 64L)) + { + tCapsuleCount += GT_ModHandler.getCapsuleCellContainerCount(tStack) * 64; + tList.add(GT_Utility.copyAmount(64L, new Object[] { tStack })); + tStack.stackSize -= 64; + } + if (tStack.stackSize > 0) { + if (tCapsuleCount + GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(new ItemStack[] { tStack }) <= 64L) { + if (tCapsuleCount + GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(new ItemStack[] { tStack }) < 0L ? tList.size() < 5 : tList.size() < 6) + { + tCapsuleCount += GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(new ItemStack[] { tStack }); + tList.add(tStack); + } + } + } + } + } + } + } + tItemAmount = (tItemAmount * tDensityMultiplier % aMaterial.getDensity() > 0L ? 1 : 0) + tItemAmount * tDensityMultiplier / aMaterial.getDensity(); + if (tList.size() > 0) + { + if ((aMaterial.mExtraData & 0x1) != 0) { + //GT_Values.RA.addElectrolyzerRecipe(GT_Utility.copyAmount(tItemAmount, new Object[] { aStack }), tCapsuleCount > 0L ? (int)tCapsuleCount : 0, (ItemStack)tList.get(0), tList.size() < 2 ? null : (ItemStack)tList.get(1), tList.size() < 3 ? null : (ItemStack)tList.get(2), tList.size() < 4 ? null : (ItemStack)tList.get(3), tList.size() < 5 ? null : (ItemStack)tList.get(4), tList.size() < 6 ? null : tCapsuleCount < 0L ? ItemList.Cell_Empty.get(-tCapsuleCount, new Object[0]) : (ItemStack)tList.get(5), (int)Math.max(1L, Math.abs(aMaterial.getProtons() * 8L * tItemAmount)), Math.min(4, tList.size()) * 30); + GT_Values.RA.addElectrolyzerRecipe(GT_Utility.copyAmount(tItemAmount, new Object[] { aStack }), tCapsuleCount <= 0L ? 0 : (int)tCapsuleCount, (ItemStack)tList.get(0), tList.size() >= 2 ? (ItemStack)tList.get(1) : null, tList.size() >= 3 ? (ItemStack)tList.get(2) : null, tList.size() >= 4 ? (ItemStack)tList.get(3) : null, tList.size() >= 5 ? (ItemStack)tList.get(4) : null, tCapsuleCount >= 0L ? tList.size() >= 6 ? (ItemStack)tList.get(5) : null : ItemList.Cell_Empty.get(-tCapsuleCount, new Object[0]), (int)Math.max(1L, Math.abs(aMaterial.getProtons() * 8L * tItemAmount)), Math.min(4, tList.size()) * 30); + } + if ((aMaterial.mExtraData & 0x2) != 0) { + //GT_Values.RA.addCentrifugeRecipe(GT_Utility.copyAmount(tItemAmount, new Object[] { aStack }), tCapsuleCount > 0L ? (int)tCapsuleCount : 0, (ItemStack)tList.get(0), tList.size() < 2 ? null : (ItemStack)tList.get(1), tList.size() < 3 ? null : (ItemStack)tList.get(2), tList.size() < 4 ? null : (ItemStack)tList.get(3), tList.size() < 5 ? null : (ItemStack)tList.get(4), tList.size() < 6 ? null : tCapsuleCount < 0L ? ItemList.Cell_Empty.get(-tCapsuleCount, new Object[0]) : (ItemStack)tList.get(5), (int)Math.max(1L, Math.abs(aMaterial.getMass() * 2L * tItemAmount))); + GT_Values.RA.addCentrifugeRecipe(GT_Utility.copyAmount(tItemAmount, new Object[] { aStack }), tCapsuleCount <= 0L ? 0 : (int)tCapsuleCount, (ItemStack)tList.get(0), tList.size() >= 2 ? (ItemStack)tList.get(1) : null, tList.size() >= 3 ? (ItemStack)tList.get(2) : null, tList.size() >= 4 ? (ItemStack)tList.get(3) : null, tList.size() >= 5 ? (ItemStack)tList.get(4) : null, tCapsuleCount >= 0L ? tList.size() >= 6 ? (ItemStack)tList.get(5) : null : ItemList.Cell_Empty.get(-tCapsuleCount, new Object[0]), (int)Math.max(1L, Math.abs(aMaterial.getMass() * 2L * tItemAmount))); + } + } + } + } + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCellPlasma.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCellPlasma.java new file mode 100644 index 0000000000..de3e48ab77 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCellPlasma.java @@ -0,0 +1,27 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Utility; +import net.minecraft.item.ItemStack; + +public class ProcessingCellPlasma implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingCellPlasma() + { + OrePrefixes.cellPlasma.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + if (aMaterial == Materials.Empty) { + GT_ModHandler.removeRecipeByOutput(aStack); + } else { + GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_Utility.getFluidForFilledItem(aStack, true) == null ? GT_Utility.getContainerItem(aStack, true) : null, (int)Math.max(1024L, 1024L * aMaterial.getMass()), 4); + GT_Values.RA.addVacuumFreezerRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), gregtech.api.util.GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), (int)Math.max(aMaterial.getMass() * 2L, 1L)); + } + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java new file mode 100644 index 0000000000..9164641d3c --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java @@ -0,0 +1,34 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OreDictNames; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import net.minecraft.item.ItemStack; + +public class ProcessingCircuit implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingCircuit() + { + OrePrefixes.circuit.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + switch (aMaterial) { + case Good: case Advanced: case Data: case Elite: case Master: case Ultimate: + if (!gregtech.api.util.GT_OreDictUnificator.isBlacklisted(aStack)) GT_ModHandler.removeRecipeByOutput(aStack); + break; + case Primitive: + GT_ModHandler.removeRecipeByOutput(aStack); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Circuit_Primitive.get(1L, new Object[0]), new Object[] { GT_ModHandler.getIC2Item("casingadviron", 1L), OrePrefixes.wireGt01.get(Materials.RedAlloy), OrePrefixes.wireGt01.get(Materials.RedAlloy), OrePrefixes.wireGt01.get(Materials.Tin) }); + break; + case Basic: + GT_ModHandler.removeRecipeByOutput(aStack); + GT_ModHandler.addCraftingRecipe(ItemList.Circuit_Basic.get(1L, new Object[0]), new Object[] { "WWW", "CPC", "WWW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Primitive), Character.valueOf('W'), OreDictNames.craftingWireCopper, Character.valueOf('P'), OrePrefixes.plate.get(Materials.Steel) }); + GT_ModHandler.addCraftingRecipe(ItemList.Circuit_Basic.get(1L, new Object[0]), new Object[] { "WCW", "WPW", "WCW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Primitive), Character.valueOf('W'), OreDictNames.craftingWireCopper, Character.valueOf('P'), OrePrefixes.plate.get(Materials.Steel) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Circuit_Basic.get(1L, new Object[0]), new Object[] { ItemList.Circuit_Integrated.getWildcard(1L, new Object[0]) }); + } + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCompressed.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCompressed.java new file mode 100644 index 0000000000..24a28193c4 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCompressed.java @@ -0,0 +1,26 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.IOreRecipeRegistrator; +import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_RecipeRegistrator; +import gregtech.api.util.GT_Utility; +import net.minecraft.item.ItemStack; + +public class ProcessingCompressed implements IOreRecipeRegistrator +{ + public ProcessingCompressed() + { + OrePrefixes.compressed.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + GT_ModHandler.removeRecipeByOutput(aStack); + GregTech_API.registerCover(aStack, new GT_RenderedTexture(aMaterial.mIconSet.mTextures[72], aMaterial.mRGBa, false), null); + GT_RecipeRegistrator.registerUsagesForMaterials(GT_Utility.copyAmount(1L, new Object[] { aStack }), null, false); + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java new file mode 100644 index 0000000000..6fd802eba7 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java @@ -0,0 +1,61 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OreDictNames; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +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 ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingCrafting() + { + OrePrefixes.crafting.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + if (aOreDictName.equals(OreDictNames.craftingQuartz.toString())) { + GT_Values.RA.addAssemblerRecipe(new ItemStack(Blocks.redstone_torch, 3, 32767), GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.Concrete.getMolten(144L), new ItemStack(net.minecraft.init.Items.comparator, 1, 0), 800, 1); + } else if (aOreDictName.equals(OreDictNames.craftingWireCopper.toString())) { + GT_Values.RA.addAssemblerRecipe(ItemList.Circuit_Basic.get(1L, new Object[0]), GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_ModHandler.getIC2Item("frequencyTransmitter", 1L), 800, 1); + } else if (aOreDictName.equals(OreDictNames.craftingWireTin.toString())) { + GT_Values.RA.addAssemblerRecipe(ItemList.Circuit_Basic.get(1L, new Object[0]), GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_ModHandler.getIC2Item("frequencyTransmitter", 1L), 800, 1); + } else if (aOreDictName.equals(OreDictNames.craftingLensBlue.toString())) { + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 13), 2000, 1920); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 13), 2000, 1920); + GT_Values.RA.addLaserEngraverRecipe(ItemList.IC2_LapotronCrystal.getWildcard(1L, new Object[0]), GT_Utility.copyAmount(0L, new Object[] { aStack }), ItemList.Circuit_Parts_Crystal_Chip_Master.get(3L, new Object[0]), 256, 480); + } else if (aOreDictName.equals(OreDictNames.craftingLensYellow.toString())) { + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 14), 2000, 1920); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 14), 2000, 1920); + } else if (aOreDictName.equals(OreDictNames.craftingLensCyan.toString())) { + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 15), 2000, 1920); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 15), 2000, 1920); + } else if (aOreDictName.equals(OreDictNames.craftingLensRed.toString())) { + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Redstone, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("BuildCraft|Silicon", "redstoneChipset", 1L, 0), 50, 120); + + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), ItemList.Circuit_Parts_Wiring_Basic.get(1L, new Object[0]), 64, 30); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.AnnealedCopper, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), ItemList.Circuit_Parts_Wiring_Basic.get(1L, new Object[0]), 64, 30); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), ItemList.Circuit_Parts_Wiring_Advanced.get(1L, new Object[0]), 64, 120); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), ItemList.Circuit_Parts_Wiring_Advanced.get(1L, new Object[0]), 64, 120); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), ItemList.Circuit_Parts_Wiring_Elite.get(1L, new Object[0]), 64, 480); + } else if (aOreDictName.equals(OreDictNames.craftingLensGreen.toString())) { + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Olivine, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), ItemList.Circuit_Parts_Crystal_Chip_Elite.get(1L, new Object[0]), 256, 480); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Emerald, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), ItemList.Circuit_Parts_Crystal_Chip_Elite.get(1L, new Object[0]), 256, 480); + } else if (aOreDictName.equals(OreDictNames.craftingLensWhite.toString())) { + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 19), 2000, 1920); + GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 19), 2000, 1920); + + GT_Values.RA.addLaserEngraverRecipe(new ItemStack(Blocks.sandstone, 1, 2), GT_Utility.copyAmount(0L, new Object[] { aStack }), new ItemStack(Blocks.sandstone, 1, 1), 50, 16); + GT_Values.RA.addLaserEngraverRecipe(new ItemStack(Blocks.stone, 1, 0), GT_Utility.copyAmount(0L, new Object[] { aStack }), new ItemStack(Blocks.stonebrick, 1, 3), 50, 16); + GT_Values.RA.addLaserEngraverRecipe(new ItemStack(Blocks.quartz_block, 1, 0), GT_Utility.copyAmount(0L, new Object[] { aStack }), new ItemStack(Blocks.quartz_block, 1, 1), 50, 16); + GT_Values.RA.addLaserEngraverRecipe(GT_ModHandler.getModItem("appliedenergistics2", "tile.BlockQuartz", 1L), GT_Utility.copyAmount(0L, new Object[] { aStack }), GT_ModHandler.getModItem("appliedenergistics2", "tile.BlockQuartzChiseled", 1L), 50, 16); + } + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java new file mode 100644 index 0000000000..9155ecac45 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java @@ -0,0 +1,51 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingCrop() + { + OrePrefixes.crop.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, net.minecraft.item.ItemStack aStack) + { + GT_ModHandler.addCompressionRecipe(gregtech.api.util.GT_Utility.copyAmount(8L, new Object[] { aStack }), ItemList.IC2_PlantballCompressed.get(1L, new Object[0])); + if (aOreDictName.equals("cropTea")) { + GT_Values.RA.addBrewingRecipe(aStack, FluidRegistry.WATER, FluidRegistry.getFluid("potion.tea"), false); + GT_Values.RA.addBrewingRecipe(aStack, GT_ModHandler.getDistilledWater(1L).getFluid(), FluidRegistry.getFluid("potion.tea"), false); + } else if (aOreDictName.equals("cropGrape")) { + GT_Values.RA.addBrewingRecipe(aStack, FluidRegistry.WATER, FluidRegistry.getFluid("potion.grapejuice"), false); + GT_Values.RA.addBrewingRecipe(aStack, GT_ModHandler.getDistilledWater(1L).getFluid(), FluidRegistry.getFluid("potion.grapejuice"), false); + } else if (aOreDictName.equals("cropChilipepper")) { + GT_ModHandler.addPulverisationRecipe(aStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L)); + } else if (aOreDictName.equals("cropCoffee")) { + GT_ModHandler.addPulverisationRecipe(aStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coffee, 1L)); + } else if (aOreDictName.equals("cropPotato")) { + GT_Values.RA.addSlicerRecipe(aStack, ItemList.Shape_Slicer_Flat.get(0L, new Object[0]), ItemList.Food_Raw_PotatoChips.get(1L, new Object[0]), 64, 4); + GT_Values.RA.addSlicerRecipe(aStack, ItemList.Shape_Slicer_Stripes.get(0L, new Object[0]), ItemList.Food_Raw_Fries.get(1L, new Object[0]), 64, 4); + GT_Values.RA.addBrewingRecipe(aStack, FluidRegistry.WATER, FluidRegistry.getFluid("potion.potatojuice"), true); + GT_Values.RA.addBrewingRecipe(aStack, GT_ModHandler.getDistilledWater(1L).getFluid(), FluidRegistry.getFluid("potion.potatojuice"), true); + } else if (aOreDictName.equals("cropLemon")) { + GT_Values.RA.addSlicerRecipe(aStack, ItemList.Shape_Slicer_Flat.get(0L, new Object[0]), ItemList.Food_Sliced_Lemon.get(4L, new Object[0]), 64, 4); + GT_Values.RA.addBrewingRecipe(aStack, FluidRegistry.WATER, FluidRegistry.getFluid("potion.lemonjuice"), false); + GT_Values.RA.addBrewingRecipe(aStack, GT_ModHandler.getDistilledWater(1L).getFluid(), FluidRegistry.getFluid("potion.lemonjuice"), false); + GT_Values.RA.addBrewingRecipe(aStack, FluidRegistry.getFluid("potion.vodka"), FluidRegistry.getFluid("potion.leninade"), true); + } else if (aOreDictName.equals("cropTomato")) { + GT_Values.RA.addSlicerRecipe(aStack, ItemList.Shape_Slicer_Flat.get(0L, new Object[0]), ItemList.Food_Sliced_Tomato.get(4L, new Object[0]), 64, 4); + } else if (aOreDictName.equals("cropCucumber")) { + GT_Values.RA.addSlicerRecipe(aStack, ItemList.Shape_Slicer_Flat.get(0L, new Object[0]), ItemList.Food_Sliced_Cucumber.get(4L, new Object[0]), 64, 4); + } else if (aOreDictName.equals("cropOnion")) { + GT_Values.RA.addSlicerRecipe(aStack, ItemList.Shape_Slicer_Flat.get(0L, new Object[0]), ItemList.Food_Sliced_Onion.get(4L, new Object[0]), 64, 4); + } + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedCentrifuged.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedCentrifuged.java new file mode 100644 index 0000000000..0af27d1bb1 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedCentrifuged.java @@ -0,0 +1,23 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +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 ProcessingCrushedCentrifuged implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingCrushedCentrifuged() + { + OrePrefixes.crushedCentrifuged.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + GT_Values.RA.addForgeHammerRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), 10, 16); + GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, GT_Utility.selectItemInList(2, aMaterial.mMacerateInto, aMaterial.mOreByProducts), 1L), 10, false); + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedPurified.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedPurified.java new file mode 100644 index 0000000000..384187f2ff --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedPurified.java @@ -0,0 +1,24 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +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 ProcessingCrushedPurified implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingCrushedPurified() + { + OrePrefixes.crushedPurified.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + GT_ModHandler.addThermalCentrifugeRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), (int)Math.min(5000L, Math.abs(aMaterial.getMass() * 20L)), new Object[] { GT_OreDictUnificator.get(OrePrefixes.crushedCentrifuged, aMaterial.mMacerateInto, GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts), 1L) }); + ItemStack tGem = GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L); + if (tGem != null) GT_Values.RA.addSifterRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem, GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L) }, new int[] { 100, 400, 1500, 2000, 4000, 5000 }, 800, 16); + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java new file mode 100644 index 0000000000..92faac979c --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java @@ -0,0 +1,24 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +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 ProcessingCrystallized implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingCrystallized() + { + OrePrefixes.crystal.add(this); + OrePrefixes.crystalline.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + GT_Values.RA.addForgeHammerRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), 10, 16); + GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), null, 10, false); + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java new file mode 100644 index 0000000000..bb24587ee7 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java @@ -0,0 +1,36 @@ +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.interfaces.internal.IGT_RecipeAdder; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingDirty() + { + OrePrefixes.clump.add(this); + OrePrefixes.shard.add(this); + OrePrefixes.crushed.add(this); + OrePrefixes.dirtyGravel.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, net.minecraft.item.ItemStack aStack) + { + GT_Values.RA.addForgeHammerRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), 10, 16); + GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), 1L), GT_OreDictUnificator.get(OrePrefixes.dust, GT_Utility.selectItemInList(0, aMaterial.mMacerateInto, aMaterial.mOreByProducts), 1L), 10, false); + GT_ModHandler.addOreWasherRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), 1000, new Object[] { GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, GT_Utility.selectItemInList(0, aMaterial.mMacerateInto, aMaterial.mOreByProducts), 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L) }); + GT_ModHandler.addThermalCentrifugeRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), (int)Math.min(5000L, Math.abs(aMaterial.getMass() * 20L)), new Object[] { GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedCentrifuged : OrePrefixes.dust, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts), 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L) }); + + if (aMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[] { 10000, 7000, 4000 }, 800, 8); + if (aMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.SodiumPersulfate.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[] { 10000, 7000, 4000 }, 800, 8); + for (Materials tMaterial : aMaterial.mOreByProducts) { + if (tMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[] { 10000, 7000, 4000 }, 800, 8); + if (tMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), Materials.SodiumPersulfate.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[] { 10000, 7000, 4000 }, 800, 8); + } + } +} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java new file mode 100644 index 0000000000..0800d24479 --- /dev/null +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java @@ -0,0 +1,166 @@ +package gregtech.loaders.oreprocessing; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +import gregtech.api.objects.MaterialStack; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeRegistrator; +import gregtech.api.util.GT_Utility; +import java.util.ArrayList; +import java.util.List; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistrator +{ + public ProcessingDust() + { + OrePrefixes.dust.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) + { + if (aMaterial.mFuelPower > 0) GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, new Object[] { aStack }), null, aMaterial.mFuelPower, aMaterial.mFuelType); + if (GT_Utility.getFluidForFilledItem(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), true) == null) GT_Values.RA.addCannerRecipe(aStack, ItemList.Cell_Empty.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), null, 100, 1); + GT_Values.RA.addBoxingRecipe(GT_Utility.copyAmount(16L, new Object[] { aStack }), ItemList.Crate_Empty.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.crateGtDust, aMaterial, 1L), 100, 8); + GT_Values.RA.addUnboxingRecipe(GT_OreDictUnificator.get(OrePrefixes.crateGtDust, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L), ItemList.Crate_Empty.get(1L, new Object[0]), 800, 1); + if (!aMaterial.mBlastFurnaceRequired) { + GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null); + if (aMaterial.mSmeltInto.mArcSmeltInto != aMaterial) { GT_RecipeRegistrator.registerReverseArcSmelting(GT_Utility.copyAmount(1L, new Object[] { aStack }), aMaterial, aPrefix.mMaterialAmount, null, null, null); + } + } + + ItemStack tStack; +if ((null != (tStack = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mSmeltInto, 1L))) && (!aMaterial.contains(SubTag.NO_SMELTING))) +{ + if (aMaterial.mBlastFurnaceRequired) + { + GT_ModHandler.removeFurnaceSmelting(aStack); + GT_Values.RA.addBlastRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), null, null, null, aMaterial.mBlastFurnaceTemp > 1750 ? GT_OreDictUnificator.get(OrePrefixes.ingotHot, aMaterial.mSmeltInto, tStack, 1L) : GT_Utility.copyAmount(1L, new Object[] { tStack }), null, (int)Math.max(aMaterial.getMass() / 40L, 1L) * aMaterial.mBlastFurnaceTemp, 120, aMaterial.mBlastFurnaceTemp); + if (aMaterial.mBlastFurnaceTemp <= 1000) { + GT_ModHandler.addRCBlastFurnaceRecipe(GT_Utility.copyAmount(1L, new Object[] { aStack }), GT_Utility.copyAmount(1L, new Object[] { tStack }), aMaterial.mBlastFurnaceTemp); + } + } + else + { + GT_ModHandler.addSmeltingRecipe(aStack, tStack); + } +} +else if (!aMaterial.contains(SubTag.NO_WORKING)) +{ + if ((!OrePrefixes.block.isIgnored(aMaterial)) && + (null == GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))) { + GT_ModHandler.addCompressionRecipe(GT_Utility.copyAmount(9L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)); + } + if (((OrePrefixes.block.isIgnored(aMaterial)) || (null == GT_OreDictUnificator.get(OrePrefixes.block, aMaterial,