From c087930016a5ccbef9d9c93bc612498cc34162a3 Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Sat, 3 Dec 2022 13:58:00 +0800 Subject: [PATCH 1/3] add contents display on cells and fix pattern terminal encode overflow --- .../client/gui/container/FCBasePartContainer.java | 1 + .../gui/container/FCBasePartContainerEx.java | 1 + .../common/item/ItemBasicFluidStorageCell.java | 14 ++++++++++++++ .../github/common/storage/FluidCellInventory.java | 13 ++++++++++++- .../github/common/storage/IFluidCellInventory.java | 4 ++++ .../java/com/glodblock/github/util/NameConst.java | 1 + src/main/resources/assets/ae2fc/lang/en_US.lang | 1 + src/main/resources/assets/ae2fc/lang/zh_CN.lang | 1 + 8 files changed, 35 insertions(+), 1 deletion(-) 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 5e729316..fc716886 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 @@ -327,6 +327,7 @@ public class FCBasePartContainer extends FCBaseMonitorContain implements IAEAppE 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 72e394f6..34366869 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 @@ -290,6 +290,7 @@ public class FCBasePartContainerEx extends FCBaseMonitorContain implements IAEAp 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 26a8ad24..6b639c94 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; @@ -52,8 +53,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 final static HashMap icon = new HashMap<>(); + @SuppressWarnings("Guava") public ItemBasicFluidStorageCell( final CellType whichCell, final int kilobytes ) { super( Optional.of( kilobytes + "k" ) ); @@ -137,6 +140,17 @@ public class ItemBasicFluidStorageCell extends AEBaseItem implements IStorageFlu lines.add( cellInventory.getStoredFluidTypes() + " " + GuiText.Of.getLocal() + ' ' + cellInventory.getTotalFluidTypes() + ' ' + GuiText.Types.getLocal() ); + if (GuiScreen.isShiftKeyDown()) { + 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 : GuiText.Excluded).getLocal(); 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 3ec27129..aa4d5a0e 100644 --- a/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java +++ b/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java @@ -18,6 +18,9 @@ import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; +import java.util.ArrayList; +import java.util.List; + public class FluidCellInventory implements IFluidCellInventory { private static final String FLUID_TYPE_TAG = "ft"; @@ -465,10 +468,18 @@ public class FluidCellInventory implements IFluidCellInventory { { 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 288504ef..2b891946 100644 --- a/src/main/java/com/glodblock/github/common/storage/IFluidCellInventory.java +++ b/src/main/java/com/glodblock/github/common/storage/IFluidCellInventory.java @@ -5,6 +5,8 @@ import appeng.api.storage.data.IAEFluidStack; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; +import java.util.List; + public interface IFluidCellInventory extends IMEInventory { @@ -71,4 +73,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 79d8da28..dd5b37cf 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=编写样板 From 52e3e0baaa1b814967c998bbaef1e3074ccb4729 Mon Sep 17 00:00:00 2001 From: Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> Date: Tue, 6 Dec 2022 00:37:43 +0800 Subject: [PATCH 2/3] use ctrl --- .../glodblock/github/common/item/ItemBasicFluidStorageCell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 6b639c94..bc78af08 100644 --- a/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java +++ b/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java @@ -140,7 +140,7 @@ public class ItemBasicFluidStorageCell extends AEBaseItem implements IStorageFlu lines.add( cellInventory.getStoredFluidTypes() + " " + GuiText.Of.getLocal() + ' ' + cellInventory.getTotalFluidTypes() + ' ' + GuiText.Types.getLocal() ); - if (GuiScreen.isShiftKeyDown()) { + if (GuiScreen.isCtrlKeyDown()) { if (cellInventory.getStoredFluidTypes() > 0) { lines.add(StatCollector.translateToLocal(NameConst.TT_CELL_CONTENTS)); for (IAEFluidStack fluid : cellInventory.getContents()) { From c2e91139b2daa34428e3c47f018db6b827158e42 Mon Sep 17 00:00:00 2001 From: GitHub GTNH Actions <> Date: Mon, 5 Dec 2022 16:40:38 +0000 Subject: [PATCH 3/3] spotlessApply --- .../gui/container/FCBasePartContainer.java | 7 +++---- .../gui/container/FCBasePartContainerEx.java | 7 +++---- .../item/ItemBasicFluidStorageCell.java | 20 +++++++++++-------- .../common/storage/FluidCellInventory.java | 5 ++--- .../common/storage/IFluidCellInventory.java | 6 ++---- 5 files changed, 22 insertions(+), 23 deletions(-) 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 4ad7082e..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 @@ -385,10 +385,9 @@ public class FCBasePartContainer extends FCBaseMonitorContain private NBTBase createItemTag(final ItemStack i) { final NBTTagCompound c = new NBTTagCompound(); - if( i != null ) - { - i.writeToNBT( c ); - c.setInteger( "Count", i.stackSize ); + 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 725d48d6..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 @@ -355,10 +355,9 @@ public class FCBasePartContainerEx extends FCBaseMonitorContain private NBTBase createItemTag(final ItemStack i) { final NBTTagCompound c = new NBTTagCompound(); - if( i != null ) - { - i.writeToNBT( c ); - c.setInteger( "Count", i.stackSize ); + 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 d1967220..934f4a6d 100644 --- a/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java +++ b/src/main/java/com/glodblock/github/common/item/ItemBasicFluidStorageCell.java @@ -52,12 +52,11 @@ public class ItemBasicFluidStorageCell extends AEBaseItem implements IStorageFlu private final int perType; private final double idleDrain; private final ReadableNumberConverter format = ReadableNumberConverter.INSTANCE; - private final static HashMap icon = new HashMap<>(); + private static final HashMap icon = new HashMap<>(); @SuppressWarnings("Guava") - public ItemBasicFluidStorageCell( final CellType whichCell, final int kilobytes ) - { - super( Optional.of( kilobytes + "k" ) ); + public ItemBasicFluidStorageCell(final CellType whichCell, final int kilobytes) { + super(Optional.of(kilobytes + "k")); setUnlocalizedName(NameConst.ITEM_FLUID_STORAGE + kilobytes); this.setFeature(EnumSet.of(AEFeature.StorageCells)); this.setMaxStackSize(1); @@ -146,15 +145,20 @@ public class ItemBasicFluidStorageCell extends AEBaseItem implements IStorageFlu 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()))); + 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 : GuiText.Excluded).getLocal(); + if (handler.isPreformatted()) { + final String list = (handler.getIncludeExcludeMode() == IncludeExclude.WHITELIST + ? GuiText.Included + : GuiText.Excluded) + .getLocal(); lines.add(GuiText.Partitioned.getLocal() + " - " + list + ' ' + GuiText.Precise.getLocal()); if (GuiScreen.isShiftKeyDown()) { 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 2efb612f..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; @@ -18,9 +20,6 @@ import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; -import java.util.ArrayList; -import java.util.List; - public class FluidCellInventory implements IFluidCellInventory { private static final String FLUID_TYPE_TAG = "ft"; 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 2b891946..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,13 +2,11 @@ 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; -import java.util.List; - -public interface IFluidCellInventory extends IMEInventory -{ +public interface IFluidCellInventory extends IMEInventory { /** * @return the item stack of this storage cell.