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