diff options
author | repo-alt <wvk17@yandex.ru> | 2022-06-21 16:34:22 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-21 15:34:22 +0200 |
commit | a40555951ee32158de3aadadfe628f3bbe4fe961 (patch) | |
tree | 245c01337f2891ad059c67728fd690dee5b8008c /src | |
parent | 5828ba998dca600eb4c6cd23bf349b8f0645e16e (diff) | |
download | GT5-Unofficial-a40555951ee32158de3aadadfe628f3bbe4fe961.tar.gz GT5-Unofficial-a40555951ee32158de3aadadfe628f3bbe4fe961.tar.bz2 GT5-Unofficial-a40555951ee32158de3aadadfe628f3bbe4fe961.zip |
Added cached items list to the ME Output bus scanner output (#1075)
* Added cached items list to the ME Output bus scanner output
* limit dumping to 100 stacks
* Added a tooltip for GT++
https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/10520
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java index ee378d65c2..f2750564a1 100644 --- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java +++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java @@ -1,5 +1,8 @@ package gregtech.common.tileentities.machines; +import java.util.ArrayList; +import java.util.List; + import appeng.api.AEApi; import appeng.api.networking.GridFlags; import appeng.api.networking.security.BaseActionSource; @@ -12,9 +15,12 @@ import appeng.api.util.AECableType; import appeng.me.GridAccessException; import appeng.me.helpers.AENetworkProxy; import appeng.me.helpers.IGridProxyable; +import appeng.util.IWideReadableNumberConverter; import appeng.util.Platform; +import appeng.util.ReadableNumberConverter; import cpw.mods.fml.common.Optional; import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -27,6 +33,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; @@ -43,7 +50,10 @@ public class GT_MetaTileEntity_Hatch_OutputBus_ME extends GT_MetaTileEntity_Hatc public GT_MetaTileEntity_Hatch_OutputBus_ME(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional, 1, new String[]{ - "Item Output for Multiblocks", "Stores directly into ME"}, 0); + "Item Output for Multiblocks", "Stores directly into ME", + "To use in GT++ multiblocks", " turn off overflow control", + " with a soldering iron." + }, 0); } public GT_MetaTileEntity_Hatch_OutputBus_ME(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { @@ -168,9 +178,11 @@ public class GT_MetaTileEntity_Hatch_OutputBus_ME extends GT_MetaTileEntity_Hatc @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - tickCounter = aTick; - if (tickCounter > (lastOutputTick + 40)) - flushCachedStack(); + if (GT_Values.GT.isServerSide()) { + tickCounter = aTick; + if (tickCounter > (lastOutputTick + 40)) + flushCachedStack(); + } super.onPostTick(aBaseMetaTileEntity, aTick); } @@ -224,4 +236,30 @@ public class GT_MetaTileEntity_Hatch_OutputBus_ME extends GT_MetaTileEntity_Hatc public boolean isLastOutputFailed() { return lastOutputFailed; } + + @Override + public boolean isGivingInformation() { + return true; + } + + @Override + public String[] getInfoData() { + List<String> ss = new ArrayList<>(); + ss.add("The bus is " + ((getProxy() != null && getProxy().isActive())? + EnumChatFormatting.GREEN + "online" : EnumChatFormatting.RED + "offline") + EnumChatFormatting.RESET); + if (itemCache.isEmpty()) { + ss.add("The bus has no cached items"); + } + else { + IWideReadableNumberConverter nc = ReadableNumberConverter.INSTANCE; + ss.add(String.format("The bus contains %d cached stacks: ", itemCache.size())); + int counter = 0; + for (IAEItemStack s : itemCache) { + ss.add(s.getItem().getItemStackDisplayName(s.getItemStack()) + ": " + + EnumChatFormatting.GOLD + nc.toWideReadableForm(s.getStackSize()) + EnumChatFormatting.RESET); + if (++counter > 100) break; + } + } + return ss.toArray(new String[itemCache.size() + 2]); + } } |