diff options
| author | Martin Robertz <dream-master@gmx.net> | 2021-07-23 08:26:28 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-23 08:26:28 +0200 |
| commit | 21af3cfb1f0915d1041c370bd39cf5341e307f58 (patch) | |
| tree | 8317554fcf80ab36a0c48c3fdd13d73e8bb98960 /src/main/java/gregtech/common/covers | |
| parent | ad85b6950f9693d636ea1867ac388d7c7ed47e73 (diff) | |
| parent | cc08b8898a3cdc3a207fe93ff7d2d6b359a66f9b (diff) | |
| download | GT5-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.java | 18 |
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); |
