aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorHarry <harryyunull@gmail.com>2023-08-17 15:49:12 -0400
committerGitHub <noreply@github.com>2023-08-17 21:49:12 +0200
commit77057455dd9e4235e5c3500cea92dad7acda5790 (patch)
tree0890138277e4259cbb6204c072d07dd2af60f024 /src/main
parent48e53a7b8f01f7e8522f854bfeab9eae3bcad2cb (diff)
downloadGT5-Unofficial-77057455dd9e4235e5c3500cea92dad7acda5790.tar.gz
GT5-Unofficial-77057455dd9e4235e5c3500cea92dad7acda5790.tar.bz2
GT5-Unofficial-77057455dd9e4235e5c3500cea92dad7acda5790.zip
Crafting input - Optimize isEmpty check to reduce lag (#2239)
* Optimize isEmpty check * rearrage
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_CraftingInput_ME.java12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_CraftingInput_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_CraftingInput_ME.java
index e3c8b86461..ab8271e8fe 100644
--- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_CraftingInput_ME.java
+++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_CraftingInput_ME.java
@@ -146,15 +146,11 @@ public class GT_MetaTileEntity_Hatch_CraftingInput_ME extends GT_MetaTileEntity_
}
private boolean isEmpty() {
- if (itemInventory.isEmpty() && fluidInventory.isEmpty()) return true;
+ // if one item / fluid is empty then it should be safe to assume all other is empty,
+ // or at least won't require a recipe check, as long as the pattern is sane
+ if (!itemInventory.isEmpty()) return itemInventory.get(0) == null || itemInventory.get(0).stackSize <= 0;
- for (ItemStack itemStack : itemInventory) {
- if (itemStack != null && itemStack.stackSize > 0) return false;
- }
-
- for (FluidStack fluidStack : fluidInventory) {
- if (fluidStack != null && fluidStack.amount > 0) return false;
- }
+ if (!fluidInventory.isEmpty()) return fluidInventory.get(0) == null || fluidInventory.get(0).amount <= 0;
return true;
}