diff --git a/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainer.java b/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainer.java index 32d1d025..f08ea98a 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainer.java +++ b/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainer.java @@ -387,6 +387,7 @@ public class FCBasePartContainer extends FCBaseMonitorContain if (i != null) { i.writeToNBT(c); + c.setInteger("Count", i.stackSize); } return c; diff --git a/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainerEx.java b/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainerEx.java index c447fdbb..1832cbfd 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainerEx.java +++ b/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainerEx.java @@ -357,6 +357,7 @@ public class FCBasePartContainerEx extends FCBaseMonitorContain if (i != null) { i.writeToNBT(c); + c.setInteger("Count", i.stackSize); } return c; diff --git a/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java b/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java index 704f6004..934f4a6d 100644 --- a/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java +++ b/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java @@ -17,6 +17,7 @@ import appeng.items.contents.CellConfig; import appeng.items.contents.CellUpgrades; import appeng.util.InventoryAdaptor; import appeng.util.Platform; +import appeng.util.ReadableNumberConverter; import com.glodblock.github.FluidCraft; import com.glodblock.github.common.Config; import com.glodblock.github.common.storage.CellType; @@ -50,8 +51,10 @@ public class ItemBasicFluidStorageCell extends AEBaseItem implements IStorageFlu private final int totalBytes; private final int perType; private final double idleDrain; + private final ReadableNumberConverter format = ReadableNumberConverter.INSTANCE; private static final HashMap icon = new HashMap<>(); + @SuppressWarnings("Guava") public ItemBasicFluidStorageCell(final CellType whichCell, final int kilobytes) { super(Optional.of(kilobytes + "k")); setUnlocalizedName(NameConst.ITEM_FLUID_STORAGE + kilobytes); @@ -137,6 +140,20 @@ public class ItemBasicFluidStorageCell extends AEBaseItem implements IStorageFlu lines.add(cellInventory.getStoredFluidTypes() + " " + GuiText.Of.getLocal() + ' ' + cellInventory.getTotalFluidTypes() + ' ' + GuiText.Types.getLocal()); + if (GuiScreen.isCtrlKeyDown()) { + if (cellInventory.getStoredFluidTypes() > 0) { + lines.add(StatCollector.translateToLocal(NameConst.TT_CELL_CONTENTS)); + for (IAEFluidStack fluid : cellInventory.getContents()) { + if (fluid != null) { + lines.add(String.format( + " %s x%smB", + fluid.getFluidStack().getLocalizedName(), + format.toWideReadableForm(fluid.getStackSize()))); + } + } + } + } + if (handler.isPreformatted()) { final String list = (handler.getIncludeExcludeMode() == IncludeExclude.WHITELIST ? GuiText.Included diff --git a/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java b/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java index 15272c77..944b3b2e 100644 --- a/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java +++ b/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java @@ -11,6 +11,8 @@ import appeng.api.storage.data.IAEFluidStack; import appeng.api.storage.data.IItemList; import appeng.util.Platform; import appeng.util.item.AEFluidStack; +import java.util.ArrayList; +import java.util.List; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -409,10 +411,18 @@ public class FluidCellInventory implements IFluidCellInventory { for (final IAEFluidStack i : this.getCellItems()) { out.add(i); } - return out; } + @Override + public List getContents() { + List ret = new ArrayList<>(); + for (IAEFluidStack fluid : this.getCellItems()) { + ret.add(fluid); + } + return ret; + } + @Override public StorageChannel getChannel() { return StorageChannel.FLUIDS; diff --git a/src/main/java/com/glodblock/github/common/storage/IFluidCellInventory.java b/src/main/java/com/glodblock/github/common/storage/IFluidCellInventory.java index 7adda2bb..b932e8d5 100644 --- a/src/main/java/com/glodblock/github/common/storage/IFluidCellInventory.java +++ b/src/main/java/com/glodblock/github/common/storage/IFluidCellInventory.java @@ -2,6 +2,7 @@ package com.glodblock.github.common.storage; import appeng.api.storage.IMEInventory; import appeng.api.storage.data.IAEFluidStack; +import java.util.List; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -70,4 +71,6 @@ public interface IFluidCellInventory extends IMEInventory { long getStoredFluidTypes(); long getTotalFluidTypes(); + + List getContents(); } diff --git a/src/main/java/com/glodblock/github/util/NameConst.java b/src/main/java/com/glodblock/github/util/NameConst.java index 30554a12..8a0df252 100644 --- a/src/main/java/com/glodblock/github/util/NameConst.java +++ b/src/main/java/com/glodblock/github/util/NameConst.java @@ -34,6 +34,7 @@ public class NameConst { public static final String TT_DUMP_TANK = TT_KEY + "dump_tank"; public static final String TT_REQUEST_SIZE = TT_KEY + "request_size"; public static final String TT_BATCH_SIZE = TT_KEY + "batch_size"; + public static final String TT_CELL_CONTENTS = TT_KEY + "cell_contents"; public static final String WAILA_KEY = FluidCraft.MODID + ".waila."; public static final String WAILA_ENABLE = WAILA_KEY + "enable"; diff --git a/src/main/resources/assets/ae2fc/lang/en_US.lang b/src/main/resources/assets/ae2fc/lang/en_US.lang index cd045272..9d5f7405 100644 --- a/src/main/resources/assets/ae2fc/lang/en_US.lang +++ b/src/main/resources/assets/ae2fc/lang/en_US.lang @@ -37,6 +37,7 @@ ae2fc.waila.disable=Disable ae2fc.tooltip.request_size=Amount to Maintain ae2fc.tooltip.batch_size=Crafting Batch Size +ae2fc.tooltip.cell_contents=Contains Fluid: ae2fc.tooltip.fluid_terminal=uh So we don't need EC2 anymore? ae2fc.tooltip.invalid_fluid=Invalid fluid! ae2fc.tooltip.encode_pattern=Encode Patter diff --git a/src/main/resources/assets/ae2fc/lang/zh_CN.lang b/src/main/resources/assets/ae2fc/lang/zh_CN.lang index a90e92cd..57ada4a3 100644 --- a/src/main/resources/assets/ae2fc/lang/zh_CN.lang +++ b/src/main/resources/assets/ae2fc/lang/zh_CN.lang @@ -37,6 +37,7 @@ ae2fc.waila.disable=禁用 ae2fc.tooltip.request_size=缓存量 ae2fc.tooltip.batch_size=批量制作数量 +ae2fc.tooltip.cell_contents=内含流体: ae2fc.tooltip.fluid_terminal=我们不再需要EC2了吗? ae2fc.tooltip.invalid_fluid=流体无效! ae2fc.tooltip.encode_pattern=编写样板