aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdiel Kavash <19243993+AbdielKavash@users.noreply.github.com>2023-12-23 10:17:04 -0600
committerGitHub <noreply@github.com>2023-12-23 17:17:04 +0100
commit5077f31cfa1f4b614335a1f61b087b3e9d901751 (patch)
tree37d142968595748f34c5b55aa2e0efba4f1dd8ff
parent97dbd5f932035cce522d58c12b831723e5dc1f39 (diff)
downloadGT5-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.java1
-rw-r--r--src/main/java/gregtech/api/util/GT_ModHandler.java18
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;
}