From 53a96658f62f184f6e9a9891d98e60545c4ee2c9 Mon Sep 17 00:00:00 2001 From: trinsdar <30245301+Trinsdar@users.noreply.github.com> Date: Wed, 29 Nov 2023 23:50:29 -0500 Subject: [PATCH] made pipes with only plate covers not get added as nodes --- .../antimatter/blockentity/pipe/BlockEntityPipe.java | 10 +++++++++- .../java/muramasa/antimatter/cover/CoverPlate.java | 5 +++++ .../main/java/muramasa/antimatter/cover/ICover.java | 3 +++ 3 files changed, 17 insertions(+), 1 deletion(-) 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 7cbdd3886..a4828f06b 100644 --- a/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityPipe.java +++ b/common/src/main/java/muramasa/antimatter/blockentity/pipe/BlockEntityPipe.java @@ -7,6 +7,7 @@ import muramasa.antimatter.capability.*; import muramasa.antimatter.capability.pipe.PipeCoverHandler; import muramasa.antimatter.cover.CoverFactory; +import muramasa.antimatter.cover.CoverPlate; import muramasa.antimatter.cover.ICover; import muramasa.antimatter.gui.GuiData; import muramasa.antimatter.gui.GuiInstance; @@ -90,7 +91,14 @@ public Holder getPipeCapHolder() { } public boolean isConnector() { - return !this.getBlockState().getValue(BlockPipe.TICKING); + return !this.getBlockState().getValue(BlockPipe.TICKING) || this.coverHandler.map(p -> { + for (ICover cover : p.getAll()) { + if (cover.isNode()){ + return false; + } + } + return true; + }).orElse(true); } public void onBlockUpdate(BlockPos neighbor) { diff --git a/common/src/main/java/muramasa/antimatter/cover/CoverPlate.java b/common/src/main/java/muramasa/antimatter/cover/CoverPlate.java index 80ffa22fc..2f1735f37 100644 --- a/common/src/main/java/muramasa/antimatter/cover/CoverPlate.java +++ b/common/src/main/java/muramasa/antimatter/cover/CoverPlate.java @@ -100,4 +100,9 @@ public InteractionResult onInteract(Player player, InteractionHand hand, Directi public boolean blocksCapability(Class cap, Direction side) { return super.blocksCapability(cap, side) && !(source().getTile() instanceof BlockEntityPipe); } + + @Override + public boolean isNode() { + return false; + } } diff --git a/common/src/main/java/muramasa/antimatter/cover/ICover.java b/common/src/main/java/muramasa/antimatter/cover/ICover.java index a422220da..2ff18ae62 100644 --- a/common/src/main/java/muramasa/antimatter/cover/ICover.java +++ b/common/src/main/java/muramasa/antimatter/cover/ICover.java @@ -218,6 +218,9 @@ default boolean isEmpty() { return this == empty; } + default boolean isNode(){ + return !isEmpty(); + } ICover empty = new ICover() { @Override