diff options
author | Harry <harryyunull@gmail.com> | 2023-08-17 15:49:12 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-17 21:49:12 +0200 |
commit | 77057455dd9e4235e5c3500cea92dad7acda5790 (patch) | |
tree | 0890138277e4259cbb6204c072d07dd2af60f024 /src/main | |
parent | 48e53a7b8f01f7e8522f854bfeab9eae3bcad2cb (diff) | |
download | GT5-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.java | 12 |
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; } |