diff options
author | Antifluxfield <lyj_299792458@163.com> | 2017-10-30 10:03:28 +0800 |
---|---|---|
committer | Antifluxfield <lyj_299792458@163.com> | 2017-10-30 10:03:28 +0800 |
commit | f96993bd339827161960b1528c589271b3d78573 (patch) | |
tree | ae3584ea4a31056d53b131381d1a09588ed9b0a3 /src/main/java/gregtech/api/util/GT_ModHandler.java | |
parent | 22c2f16509e7c1ddbd960275a7f442643e3c9da8 (diff) | |
download | GT5-Unofficial-f96993bd339827161960b1528c589271b3d78573.tar.gz GT5-Unofficial-f96993bd339827161960b1528c589271b3d78573.tar.bz2 GT5-Unofficial-f96993bd339827161960b1528c589271b3d78573.zip |
Soldering Tools for cable connection
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_ModHandler.java')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_ModHandler.java | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java index daa1b67069..82f3e525ba 100644 --- a/src/main/java/gregtech/api/util/GT_ModHandler.java +++ b/src/main/java/gregtech/api/util/GT_ModHandler.java @@ -1718,21 +1718,12 @@ public class GT_ModHandler { EntityPlayer tPlayer = (EntityPlayer) aPlayer; if (tPlayer.capabilities.isCreativeMode) return true; if (isElectricItem(aStack) && ic2.api.item.ElectricItem.manager.getCharge(aStack) > 1000.0d) { - for (int i = 0; i < tPlayer.inventory.mainInventory.length; i++) { - if (GT_Utility.isStackInList(tPlayer.inventory.mainInventory[i], GregTech_API.sSolderingMetalList)) { - if (tPlayer.inventory.mainInventory[i].stackSize < 1) return false; - if (tPlayer.inventory.mainInventory[i].stackSize == 1) { - tPlayer.inventory.mainInventory[i] = null; - } else { - tPlayer.inventory.mainInventory[i].stackSize--; - } - if (tPlayer.inventoryContainer != null) tPlayer.inventoryContainer.detectAndSendChanges(); - if (canUseElectricItem(aStack, 10000)) { - return GT_ModHandler.useElectricItem(aStack, 10000, (EntityPlayer) aPlayer); - } - GT_ModHandler.useElectricItem(aStack, (int) ic2.api.item.ElectricItem.manager.getCharge(aStack), (EntityPlayer) aPlayer); - return false; + if (consumeSolderingMaterial(tPlayer)) { + if (canUseElectricItem(aStack, 10000)) { + return GT_ModHandler.useElectricItem(aStack, 10000, (EntityPlayer) aPlayer); } + GT_ModHandler.useElectricItem(aStack, (int) ic2.api.item.ElectricItem.manager.getCharge(aStack), (EntityPlayer) aPlayer); + return false; } } } else { @@ -1744,6 +1735,26 @@ public class GT_ModHandler { } /** + * Simply consumes some soldering material + */ + public static boolean consumeSolderingMaterial(EntityPlayer aPlayer) { + if (aPlayer.capabilities.isCreativeMode) return true; + for (int i = 0; i < aPlayer.inventory.mainInventory.length; i++) { + if (GT_Utility.isStackInList(aPlayer.inventory.mainInventory[i], GregTech_API.sSolderingMetalList)) { + if (aPlayer.inventory.mainInventory[i].stackSize < 1) return false; + if (aPlayer.inventory.mainInventory[i].stackSize == 1) { + aPlayer.inventory.mainInventory[i] = null; + } else { + aPlayer.inventory.mainInventory[i].stackSize--; + } + if (aPlayer.inventoryContainer != null) aPlayer.inventoryContainer.detectAndSendChanges(); + return true; + } + } + return false; + } + + /** * Is this an electric Item, which can charge other Items? */ public static boolean isChargerItem(ItemStack aStack) { |