aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/covers
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-07-23 08:26:28 +0200
committerGitHub <noreply@github.com>2021-07-23 08:26:28 +0200
commit21af3cfb1f0915d1041c370bd39cf5341e307f58 (patch)
tree8317554fcf80ab36a0c48c3fdd13d73e8bb98960 /src/main/java/gregtech/common/covers
parentad85b6950f9693d636ea1867ac388d7c7ed47e73 (diff)
parentcc08b8898a3cdc3a207fe93ff7d2d6b359a66f9b (diff)
downloadGT5-Unofficial-21af3cfb1f0915d1041c370bd39cf5341e307f58.tar.gz
GT5-Unofficial-21af3cfb1f0915d1041c370bd39cf5341e307f58.tar.bz2
GT5-Unofficial-21af3cfb1f0915d1041c370bd39cf5341e307f58.zip
Merge pull request #600 from repo-alt/experimental
ME Output bus optimization
Diffstat (limited to 'src/main/java/gregtech/common/covers')
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
index 0bd90745a4..f1c1bc7df7 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
@@ -6,10 +6,13 @@ import gregtech.api.gui.widgets.GT_GuiFakeItemButton;
import gregtech.api.gui.widgets.GT_GuiIcon;
import gregtech.api.gui.widgets.GT_GuiIconCheckButton;
import gregtech.api.gui.widgets.GT_GuiIntegerTextBox;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.net.GT_Packet_TileEntityCover;
import gregtech.api.util.GT_CoverBehavior;
import gregtech.api.util.GT_Utility;
+import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_OutputBus_ME;
import gregtech.common.tileentities.storage.GT_MetaTileEntity_DigitalChestBase;
import net.minecraft.client.gui.GuiButton;
@@ -43,13 +46,22 @@ public class GT_Cover_ItemMeter extends GT_CoverBehavior {
long tMax = 0;
long tUsed = 0;
- if (aTileEntity instanceof GT_MetaTileEntity_DigitalChestBase) {
- GT_MetaTileEntity_DigitalChestBase dc = (GT_MetaTileEntity_DigitalChestBase)aTileEntity;
+ IMetaTileEntity mte = ((IGregTechTileEntity)aTileEntity).getMetaTileEntity();
+ if (mte instanceof GT_MetaTileEntity_DigitalChestBase) {
+ GT_MetaTileEntity_DigitalChestBase dc = (GT_MetaTileEntity_DigitalChestBase)mte;
tMax = dc.getMaxItemCount(); // currently it is limited by int, but there is not much reason for that
ItemStack[] inv = dc.getStoredItemData();
if (inv != null && inv.length > 1 && inv[1] != null)
tUsed = inv[1].stackSize;
- } else {
+ }
+ else if (mte instanceof GT_MetaTileEntity_Hatch_OutputBus_ME) {
+ if (((GT_MetaTileEntity_Hatch_OutputBus_ME)mte).isLastOutputFailed())
+ {
+ tMax = 64;
+ tUsed = 64;
+ }
+ }
+ else {
int[] tSlots = (aCoverVariable & SLOT_MASK) > 0 ?
new int[] {(aCoverVariable & SLOT_MASK) - 1} :
aTileEntity.getAccessibleSlotsFromSide(aSide);