diff options
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 | 84 |
1 files changed, 40 insertions, 44 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 09d8730df5..02c479cc94 100644 --- a/src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java @@ -1,7 +1,5 @@ package gregtech.api.util; -import gregtech.api.interfaces.internal.IGT_CraftingRecipe; -import gregtech.api.objects.ReverseShapelessRecipe; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.inventory.InventoryCrafting; @@ -10,19 +8,17 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.oredict.ShapelessOreRecipe; +import gregtech.api.interfaces.internal.IGT_CraftingRecipe; +import gregtech.api.objects.ReverseShapelessRecipe; + public class GT_Shapeless_Recipe extends ShapelessOreRecipe implements IGT_CraftingRecipe { - public final boolean /*mDismantleable,*/ mRemovableByGT, mKeepingNBT; + + 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) { + 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; @@ -42,8 +38,8 @@ public class GT_Shapeless_Recipe extends ShapelessOreRecipe implements IGT_Craft if (tStack != null) { if ((tStack.hasTagCompound() != aGrid.getStackInSlot(i).hasTagCompound()) || (tStack.hasTagCompound() - && !tStack.getTagCompound() - .equals(aGrid.getStackInSlot(i).getTagCompound()))) return false; + && !tStack.getTagCompound().equals(aGrid.getStackInSlot(i).getTagCompound()))) + return false; } tStack = aGrid.getStackInSlot(i); } @@ -60,51 +56,51 @@ public class GT_Shapeless_Recipe extends ShapelessOreRecipe implements IGT_Craft 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; - } + 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); + 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 && + // 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, + // 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); - // } + // 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]); + 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); |