diff options
author | Abdiel Kavash <19243993+AbdielKavash@users.noreply.github.com> | 2023-12-23 10:17:04 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-23 17:17:04 +0100 |
commit | 5077f31cfa1f4b614335a1f61b087b3e9d901751 (patch) | |
tree | 37d142968595748f34c5b55aa2e0efba4f1dd8ff | |
parent | 97dbd5f932035cce522d58c12b831723e5dc1f39 (diff) | |
download | GT5-Unofficial-5077f31cfa1f4b614335a1f61b087b3e9d901751.tar.gz GT5-Unofficial-5077f31cfa1f4b614335a1f61b087b3e9d901751.tar.bz2 GT5-Unofficial-5077f31cfa1f4b614335a1f61b087b3e9d901751.zip |
Allow a soldering iron to use soldering material from an IC2 Tool Box. (#2421)
* Allow a soldering iron to use soldering material from an IC2 Tool Box.
* Add error message about insufficient soldering material.
-rw-r--r-- | src/main/java/gregtech/api/util/GT_LanguageManager.java | 1 | ||||
-rw-r--r-- | src/main/java/gregtech/api/util/GT_ModHandler.java | 18 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java index d3b46fd726..2ef251c599 100644 --- a/src/main/java/gregtech/api/util/GT_LanguageManager.java +++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java @@ -249,6 +249,7 @@ public class GT_LanguageManager { addStringLocalization("Interaction_DESCRIPTION_Index_092", " set to: "); addStringLocalization("Interaction_DESCRIPTION_Index_093", "Strong"); addStringLocalization("Interaction_DESCRIPTION_Index_094", "Weak"); + addStringLocalization("Interaction_DESCRIPTION_Index_094.1", "Not enough soldering material!"); addStringLocalization("Interaction_DESCRIPTION_Index_095", "Input from Output Side allowed"); addStringLocalization("Interaction_DESCRIPTION_Index_096", "Input from Output Side forbidden"); addStringLocalization("Interaction_DESCRIPTION_Index_098", "Do not regulate Item Stack Size"); diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java index 4489c98676..d867914c58 100644 --- a/src/main/java/gregtech/api/util/GT_ModHandler.java +++ b/src/main/java/gregtech/api/util/GT_ModHandler.java @@ -81,6 +81,7 @@ import ic2.api.reactor.IReactorComponent; import ic2.api.recipe.IRecipeInput; import ic2.api.recipe.RecipeInputItemStack; import ic2.api.recipe.RecipeOutput; +import ic2.core.item.ItemToolbox; /** * NEVER INCLUDE THIS FILE IN YOUR MOD!!! @@ -2290,12 +2291,27 @@ public class GT_ModHandler { public static boolean consumeSolderingMaterial(EntityPlayer aPlayer) { if (aPlayer.capabilities.isCreativeMode) return true; - if (consumeSolderingMaterial(aPlayer.inventory)) { + IInventory tInventory = aPlayer.inventory; + if (consumeSolderingMaterial(tInventory)) { if (aPlayer.inventoryContainer != null) { aPlayer.inventoryContainer.detectAndSendChanges(); } return true; } + for (int i = 0; i < tInventory.getSizeInventory(); i++) { + ItemStack tStack = tInventory.getStackInSlot(i); + if (tStack != null && tStack.getItem() instanceof ItemToolbox) { + IInventory tToolboxInventory = ((ItemToolbox) tStack.getItem()).getInventory(aPlayer, tStack); + if (consumeSolderingMaterial(tToolboxInventory)) { + tInventory.markDirty(); + if (aPlayer.inventoryContainer != null) { + aPlayer.inventoryContainer.detectAndSendChanges(); + } + return true; + } + } + } + GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("094.1", "Not enough soldering material!")); return false; } |