From cc35cf69b8b9ef2c2cabdee4cb3542e176148116 Mon Sep 17 00:00:00 2001 From: trinsdar <30245301+Trinsdar@users.noreply.github.com> Date: Thu, 30 Nov 2023 19:34:52 -0500 Subject: [PATCH] improved scanning method in BlockEntityBase --- .../main/java/muramasa/antimatter/Data.java | 4 ++-- .../blockentity/BlockEntityBase.java | 2 +- .../blockentity/BlockEntityFakeBlock.java | 4 ++-- .../blockentity/BlockEntityMachine.java | 4 ++-- .../blockentity/BlockEntityStorage.java | 4 ++-- .../pipe/BlockEntityFluidPipe.java | 4 ++-- .../blockentity/pipe/BlockEntityPipe.java | 4 ++-- .../single/BlockEntityBatteryBuffer.java | 4 ++-- .../single/BlockEntityInfiniteStorage.java | 4 ++-- .../single/BlockEntityTransformer.java | 4 ++-- .../antimatter/client/event/ClientEvents.java | 2 +- ...DebugScannerItem.java => ScannerItem.java} | 24 +++++++++++++++---- 12 files changed, 39 insertions(+), 25 deletions(-) rename common/src/main/java/muramasa/antimatter/item/{DebugScannerItem.java => ScannerItem.java} (90%) diff --git a/common/src/main/java/muramasa/antimatter/Data.java b/common/src/main/java/muramasa/antimatter/Data.java index 64e73dd76..29ce37c41 100644 --- a/common/src/main/java/muramasa/antimatter/Data.java +++ b/common/src/main/java/muramasa/antimatter/Data.java @@ -11,7 +11,7 @@ import muramasa.antimatter.gui.container.ContainerCover; import muramasa.antimatter.gui.container.ContainerMachine; import muramasa.antimatter.gui.container.ContainerMultiMachine; -import muramasa.antimatter.item.DebugScannerItem; +import muramasa.antimatter.item.ScannerItem; import muramasa.antimatter.item.ItemCover; import muramasa.antimatter.item.ItemFluidIcon; import muramasa.antimatter.machine.types.BasicMachine; @@ -43,7 +43,7 @@ public class Data { public static final Material WRENCH_MATERIAL = new Material(MaterialColor.METAL, false, true, true, true, false, false, PushReaction.NORMAL); - public static DebugScannerItem DEBUG_SCANNER = new DebugScannerItem(Ref.ID, "debug_scanner").tip(ChatFormatting.AQUA + "" + ChatFormatting.ITALIC + "Development Item"); + public static ScannerItem DEBUG_SCANNER = new ScannerItem(Ref.ID, "debug_scanner", false).tip(ChatFormatting.AQUA + "" + ChatFormatting.ITALIC + "Development Item"); public static ItemFluidIcon FLUID_ICON = new ItemFluidIcon(); //public static Machine MACHINE_INVALID = new Machine<>(Ref.ID, "invalid"); diff --git a/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityBase.java b/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityBase.java index f0dee72cb..8a66b73b6 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityBase.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityBase.java @@ -43,7 +43,7 @@ public boolean isServerSide() { //TODO pass constant StringBuilder - public List getInfo() { + public List getInfo(boolean simple) { List info = new ObjectArrayList<>(); info.add("Tile: " + getClass().getSimpleName()); return info; diff --git a/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityFakeBlock.java b/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityFakeBlock.java index d3901f6cd..4c60f7728 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityFakeBlock.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityFakeBlock.java @@ -172,8 +172,8 @@ public BlockState getState() { } @Override - public List getInfo() { - List list = super.getInfo(); + public List getInfo(boolean simple) { + List list = super.getInfo(simple); if (getState() != null) list.add("State: " + getState().toString()); if (facing != null) diff --git a/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityMachine.java b/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityMachine.java index 824557afc..66a06a75c 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityMachine.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityMachine.java @@ -691,8 +691,8 @@ public CompoundTag getUpdateTag() { @Override - public List getInfo() { - List info = super.getInfo(); + public List getInfo(boolean simple) { + List info = super.getInfo(simple); info.add("Machine: " + getMachineType().getId() + " Tier: " + getMachineTier().getId()); info.add("State: " + getMachineState().getId()); String slots = ""; diff --git a/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityStorage.java b/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityStorage.java index 573959a06..45300cf70 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityStorage.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/BlockEntityStorage.java @@ -53,8 +53,8 @@ public void onLoad() { } @Override - public List getInfo() { - List info = super.getInfo(); + public List getInfo(boolean simple) { + List info = super.getInfo(simple); energyHandler.ifPresent(h -> { info.add("Amperage In: " + h.availableAmpsInput(this.getMaxInputVoltage())); info.add("Amperage Out: " + h.availableAmpsOutput()); diff --git a/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityFluidPipe.java b/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityFluidPipe.java index a0e8bc714..619e8c121 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityFluidPipe.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityFluidPipe.java @@ -385,8 +385,8 @@ public int drawInfo(InfoRenderWidget.TesseractFluidWidget instance, PoseStack st } @Override - public List getInfo() { - List list = super.getInfo(); + public List getInfo(boolean simple) { + List list = super.getInfo(simple); fluidHandler.ifPresent(t -> { for (int i = 0; i < t.getSize(); i++) { FluidHolder stack = t.getFluidInTank(i); diff --git a/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityPipe.java b/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityPipe.java index a00d70aa2..dce96894e 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityPipe.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityPipe.java @@ -367,8 +367,8 @@ public CompoundTag getUpdateTag() { } @Override - public List getInfo() { - List info = super.getInfo(); + public List getInfo(boolean simple) { + List info = super.getInfo(simple); info.add("Pipe Type: " + getPipeType().getId()); info.add("Pipe Size: " + getPipeSize().getId()); return info; diff --git a/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityBatteryBuffer.java b/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityBatteryBuffer.java index 15d3e82be..8d40e9493 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityBatteryBuffer.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityBatteryBuffer.java @@ -67,8 +67,8 @@ public long getOutputAmperage() { } @Override - public List getInfo() { - List info = super.getInfo(); + public List getInfo(boolean simple) { + List info = super.getInfo(simple); energyHandler.ifPresent(h -> { info.add("Amperage In: " + h.availableAmpsInput(this.getMaxInputVoltage())); info.add("Amperage Out: " + h.availableAmpsOutput()); diff --git a/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityInfiniteStorage.java b/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityInfiniteStorage.java index e1dbe56b1..2ec46d0d1 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityInfiniteStorage.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityInfiniteStorage.java @@ -140,8 +140,8 @@ public void onGuiEvent(IGuiEvent event, Player playerEntity) { } @Override - public List getInfo() { - List info = super.getInfo(); + public List getInfo(boolean simple) { + List info = super.getInfo(simple); energyHandler.ifPresent(h -> { info.add("Voltage Out: " + h.getOutputVoltage()); info.add("Amperage Out: " + h.getOutputAmperage()); diff --git a/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityTransformer.java b/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityTransformer.java index 19a1fcde9..3b27cda12 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityTransformer.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/single/BlockEntityTransformer.java @@ -102,8 +102,8 @@ public MachineState getDefaultMachineState() { } @Override - public List getInfo() { - List info = super.getInfo(); + public List getInfo(boolean simple) { + List info = super.getInfo(simple); energyHandler.ifPresent(h -> { info.add("Voltage In: " + h.getInputVoltage()); info.add("Voltage Out: " + h.getOutputVoltage()); diff --git a/common/src/main/java/muramasa/antimatter/client/event/ClientEvents.java b/common/src/main/java/muramasa/antimatter/client/event/ClientEvents.java index d303327aa..6e17af917 100644 --- a/common/src/main/java/muramasa/antimatter/client/event/ClientEvents.java +++ b/common/src/main/java/muramasa/antimatter/client/event/ClientEvents.java @@ -147,7 +147,7 @@ public static void onRenderDebugInfo(ArrayList left) { } BlockEntity tile = world.getBlockEntity(pos); if (tile instanceof BlockEntityBase b) { - left.addAll(b.getInfo()); + left.addAll(b.getInfo(false)); } if (MC.player.isCrouching()) { left.add(""); diff --git a/common/src/main/java/muramasa/antimatter/item/DebugScannerItem.java b/common/src/main/java/muramasa/antimatter/item/ScannerItem.java similarity index 90% rename from common/src/main/java/muramasa/antimatter/item/DebugScannerItem.java rename to common/src/main/java/muramasa/antimatter/item/ScannerItem.java index 7dfeafd39..ab2e877c0 100644 --- a/common/src/main/java/muramasa/antimatter/item/DebugScannerItem.java +++ b/common/src/main/java/muramasa/antimatter/item/ScannerItem.java @@ -2,6 +2,8 @@ import it.unimi.dsi.fastutil.objects.ObjectArrayList; import muramasa.antimatter.AntimatterAPI; +import muramasa.antimatter.Data; +import muramasa.antimatter.Ref; import muramasa.antimatter.block.BlockStone; import muramasa.antimatter.block.BlockStorage; import muramasa.antimatter.blockentity.BlockEntityBase; @@ -27,16 +29,28 @@ import java.util.List; -public class DebugScannerItem extends ItemBasic { +public class ScannerItem extends ItemBasic { + final boolean simple; - public DebugScannerItem(String domain, String id) { - super(domain, id); + public ScannerItem(String domain, String id, boolean simple) { + this(domain, id, simple, "", new Properties().tab(Ref.TAB_ITEMS)); + + } + + public ScannerItem(String domain, String id, boolean simple, String subDir, Properties properties) { + super(domain, id, subDir, properties); + this.simple = simple; } + public ScannerItem(String domain, String id, boolean simple, Properties properties) { + this(domain, id, simple, "", properties); + } + + @Override public void appendHoverText(ItemStack stack, @Nullable Level world, List tooltip, TooltipFlag flag) { tooltip.add(Utils.literal(this.tooltip)); - if (Screen.hasShiftDown()) { + if (Screen.hasShiftDown() && this == Data.DEBUG_SCANNER) { tooltip.add(Utils.literal("Blocks: " + AntimatterAPI.all(Block.class).size())); tooltip.add(Utils.literal("Machines: " + Machine.getTypes(MachineFlag.BASIC, MachineFlag.MULTI, MachineFlag.HATCH).size())); tooltip.add(Utils.literal("Pipes: " + AntimatterAPI.all(BlockPipe.class).size())); @@ -56,7 +70,7 @@ public InteractionResult useOn(UseOnContext context) { BlockState state = context.getLevel().getBlockState(context.getClickedPos()); BlockEntity tile = context.getLevel().getBlockEntity(context.getClickedPos()); if (tile instanceof BlockEntityBase) { - ((BlockEntityBase) tile).getInfo().forEach(s -> context.getPlayer().sendMessage(Utils.literal(s), context.getPlayer().getUUID())); + ((BlockEntityBase) tile).getInfo(simple).forEach(s -> context.getPlayer().sendMessage(Utils.literal(s), context.getPlayer().getUUID())); } if (state.getBlock() instanceof BlockDynamic && context.getPlayer() != null) { ((BlockDynamic) state.getBlock()).getInfo(new ObjectArrayList<>(), context.getLevel(), state, context.getClickedPos()).forEach(s -> {