diff options
author | Shawn Buckley <shawntbuckley@gmail.com> | 2015-10-21 22:15:09 -0400 |
---|---|---|
committer | Shawn Buckley <shawntbuckley@gmail.com> | 2015-10-21 22:15:09 -0400 |
commit | 123aa6ed288b2f67b0d47177f4d27cd6893daf3a (patch) | |
tree | 358e3704182f5b6fda44fa8b20605ab63edca092 /src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java | |
parent | 43ddecc7b9715d2038747566f89930b5db8d0181 (diff) | |
download | GT5-Unofficial-123aa6ed288b2f67b0d47177f4d27cd6893daf3a.tar.gz GT5-Unofficial-123aa6ed288b2f67b0d47177f4d27cd6893daf3a.tar.bz2 GT5-Unofficial-123aa6ed288b2f67b0d47177f4d27cd6893daf3a.zip |
Reformat code
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java | 165 |
1 files changed, 84 insertions, 81 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java b/src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java index 1fcca0809b..937ba0a837 100644 --- a/src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java @@ -11,85 +11,88 @@ import net.minecraft.world.World; import net.minecraftforge.oredict.ShapelessOreRecipe; public class GT_Shapeless_Recipe extends ShapelessOreRecipe implements IGT_CraftingRecipe { - public final boolean mDismantleable, mRemovableByGT, mKeepingNBT; - private final Enchantment[] mEnchantmentsAdded; - private final int[] mEnchantmentLevelsAdded; - - public GT_Shapeless_Recipe(ItemStack aResult, boolean aDismantleAble, boolean aRemovableByGT, boolean aKeepingNBT, Enchantment[] aEnchantmentsAdded, int[] aEnchantmentLevelsAdded, Object... aRecipe) { - super(aResult, aRecipe); - mEnchantmentsAdded = aEnchantmentsAdded; - mEnchantmentLevelsAdded = aEnchantmentLevelsAdded; - mRemovableByGT = aRemovableByGT; - mKeepingNBT = aKeepingNBT; - mDismantleable = aDismantleAble; - } - - @Override - public boolean matches(InventoryCrafting aGrid, World aWorld) { - if (mKeepingNBT) { - ItemStack tStack = null; - for (int i = 0; i < aGrid.getSizeInventory(); i++) { - if (aGrid.getStackInSlot(i) != null) { - if (tStack != null) { - if ((tStack.hasTagCompound() != aGrid.getStackInSlot(i).hasTagCompound()) || (tStack.hasTagCompound() && !tStack.getTagCompound().equals(aGrid.getStackInSlot(i).getTagCompound()))) return false; - } - tStack = aGrid.getStackInSlot(i); - } - } - } - return super.matches(aGrid, aWorld); - } - - @Override - public ItemStack getCraftingResult(InventoryCrafting aGrid) { - ItemStack rStack = super.getCraftingResult(aGrid); - if (rStack != null) { - // Update the Stack - GT_Utility.updateItemStack(rStack); - - // Keeping NBT - if (mKeepingNBT) for (int i = 0; i < aGrid.getSizeInventory(); i++) { - if (aGrid.getStackInSlot(i) != null && aGrid.getStackInSlot(i).hasTagCompound()) { - rStack.setTagCompound((NBTTagCompound)aGrid.getStackInSlot(i).getTagCompound().copy()); - break; - } - } - - // Charge Values - if (GT_ModHandler.isElectricItem(rStack)) { - GT_ModHandler.dischargeElectricItem(rStack, Integer.MAX_VALUE, Integer.MAX_VALUE, true, false, true); - int tCharge = 0; - for (int i = 0; i < aGrid.getSizeInventory(); i++) tCharge += GT_ModHandler.dischargeElectricItem(aGrid.getStackInSlot(i), Integer.MAX_VALUE, Integer.MAX_VALUE, true, true, true); - if (tCharge > 0) GT_ModHandler.chargeElectricItem(rStack, tCharge, Integer.MAX_VALUE, true, false); - } - - // Saving Ingredients inside the Item. - if (mDismantleable) { - NBTTagCompound rNBT = rStack.getTagCompound(), tNBT = new NBTTagCompound(); - if (rNBT == null) rNBT = new NBTTagCompound(); - for (int i = 0; i < 9; i++) { - ItemStack tStack = aGrid.getStackInSlot(i); - if (tStack != null && GT_Utility.getContainerItem(tStack, true) == null && !(tStack.getItem() instanceof GT_MetaGenerated_Tool)) { - tStack = GT_Utility.copyAmount(1, tStack); - GT_ModHandler.dischargeElectricItem(tStack, Integer.MAX_VALUE, Integer.MAX_VALUE, true, false, true); - tNBT.setTag("Ingredient."+i, tStack.writeToNBT(new NBTTagCompound())); - } - } - rNBT.setTag("GT.CraftingComponents", tNBT); - rStack.setTagCompound(rNBT); - } - - // Add Enchantments - for (int i = 0; i < mEnchantmentsAdded.length; i++) GT_Utility.ItemNBT.addEnchantment(rStack, mEnchantmentsAdded[i], EnchantmentHelper.getEnchantmentLevel(mEnchantmentsAdded[i].effectId, rStack) + mEnchantmentLevelsAdded[i]); - - // Update the Stack again - GT_Utility.updateItemStack(rStack); - } - return rStack; - } - - @Override - public boolean isRemovable() { - return mRemovableByGT; - } + public final boolean mDismantleable, mRemovableByGT, mKeepingNBT; + private final Enchantment[] mEnchantmentsAdded; + private final int[] mEnchantmentLevelsAdded; + + public GT_Shapeless_Recipe(ItemStack aResult, boolean aDismantleAble, boolean aRemovableByGT, boolean aKeepingNBT, Enchantment[] aEnchantmentsAdded, int[] aEnchantmentLevelsAdded, Object... aRecipe) { + super(aResult, aRecipe); + mEnchantmentsAdded = aEnchantmentsAdded; + mEnchantmentLevelsAdded = aEnchantmentLevelsAdded; + mRemovableByGT = aRemovableByGT; + mKeepingNBT = aKeepingNBT; + mDismantleable = aDismantleAble; + } + + @Override + public boolean matches(InventoryCrafting aGrid, World aWorld) { + if (mKeepingNBT) { + ItemStack tStack = null; + for (int i = 0; i < aGrid.getSizeInventory(); i++) { + if (aGrid.getStackInSlot(i) != null) { + if (tStack != null) { + if ((tStack.hasTagCompound() != aGrid.getStackInSlot(i).hasTagCompound()) || (tStack.hasTagCompound() && !tStack.getTagCompound().equals(aGrid.getStackInSlot(i).getTagCompound()))) + return false; + } + tStack = aGrid.getStackInSlot(i); + } + } + } + return super.matches(aGrid, aWorld); + } + + @Override + public ItemStack getCraftingResult(InventoryCrafting aGrid) { + ItemStack rStack = super.getCraftingResult(aGrid); + if (rStack != null) { + // Update the Stack + GT_Utility.updateItemStack(rStack); + + // Keeping NBT + if (mKeepingNBT) for (int i = 0; i < aGrid.getSizeInventory(); i++) { + if (aGrid.getStackInSlot(i) != null && aGrid.getStackInSlot(i).hasTagCompound()) { + rStack.setTagCompound((NBTTagCompound) aGrid.getStackInSlot(i).getTagCompound().copy()); + break; + } + } + + // Charge Values + if (GT_ModHandler.isElectricItem(rStack)) { + GT_ModHandler.dischargeElectricItem(rStack, Integer.MAX_VALUE, Integer.MAX_VALUE, true, false, true); + int tCharge = 0; + for (int i = 0; i < aGrid.getSizeInventory(); i++) + tCharge += GT_ModHandler.dischargeElectricItem(aGrid.getStackInSlot(i), Integer.MAX_VALUE, Integer.MAX_VALUE, true, true, true); + if (tCharge > 0) GT_ModHandler.chargeElectricItem(rStack, tCharge, Integer.MAX_VALUE, true, false); + } + + // Saving Ingredients inside the Item. + if (mDismantleable) { + NBTTagCompound rNBT = rStack.getTagCompound(), tNBT = new NBTTagCompound(); + if (rNBT == null) rNBT = new NBTTagCompound(); + for (int i = 0; i < 9; i++) { + ItemStack tStack = aGrid.getStackInSlot(i); + if (tStack != null && GT_Utility.getContainerItem(tStack, true) == null && !(tStack.getItem() instanceof GT_MetaGenerated_Tool)) { + tStack = GT_Utility.copyAmount(1, tStack); + GT_ModHandler.dischargeElectricItem(tStack, Integer.MAX_VALUE, Integer.MAX_VALUE, true, false, true); + tNBT.setTag("Ingredient." + i, tStack.writeToNBT(new NBTTagCompound())); + } + } + rNBT.setTag("GT.CraftingComponents", tNBT); + rStack.setTagCompound(rNBT); + } + + // Add Enchantments + for (int i = 0; i < mEnchantmentsAdded.length; i++) + GT_Utility.ItemNBT.addEnchantment(rStack, mEnchantmentsAdded[i], EnchantmentHelper.getEnchantmentLevel(mEnchantmentsAdded[i].effectId, rStack) + mEnchantmentLevelsAdded[i]); + + // Update the Stack again + GT_Utility.updateItemStack(rStack); + } + return rStack; + } + + @Override + public boolean isRemovable() { + return mRemovableByGT; + } }
\ No newline at end of file |