aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GT_ModHandler.java
diff options
context:
space:
mode:
authorAntifluxfield <lyj_299792458@163.com>2017-10-30 10:03:28 +0800
committerAntifluxfield <lyj_299792458@163.com>2017-10-30 10:03:28 +0800
commitf96993bd339827161960b1528c589271b3d78573 (patch)
treeae3584ea4a31056d53b131381d1a09588ed9b0a3 /src/main/java/gregtech/api/util/GT_ModHandler.java
parent22c2f16509e7c1ddbd960275a7f442643e3c9da8 (diff)
downloadGT5-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.java39
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) {