aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java46
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]);
+ }
}