From f56fa20cc739a1eb80e9cf014845b986d5aa4de3 Mon Sep 17 00:00:00 2001 From: Chawanya-c Date: Tue, 19 Apr 2022 11:27:18 +0700 Subject: [PATCH] filterable power node connections --- core/src/mindustry/world/Block.java | 4 ++++ core/src/mindustry/world/blocks/power/PowerNode.java | 1 + 2 files changed, 5 insertions(+) diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 2a3a9ea12c..a93c7533e1 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -670,6 +670,10 @@ public class Block extends UnlockableContent{ return isVisible() && (!state.rules.bannedBlocks.contains(this) || state.rules.editor) && supportsEnv(state.rules.environment); } + public boolean shouldConnect(Building build){ + return true; + } + /** @return whether this block supports a specific environment. */ public boolean supportsEnv(int env){ return (envEnabled & env) != 0 && (envDisabled & env) == 0 && (envRequired == 0 || (envRequired & env) == envRequired); diff --git a/core/src/mindustry/world/blocks/power/PowerNode.java b/core/src/mindustry/world/blocks/power/PowerNode.java index 10ffdfc425..13745af32d 100644 --- a/core/src/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/mindustry/world/blocks/power/PowerNode.java @@ -205,6 +205,7 @@ public class PowerNode extends PowerBlock{ overlaps(tile.x * tilesize + offset, tile.y * tilesize + offset, other.tile(), laserRange * tilesize) && other.team == team && !graphs.contains(other.power.graph) && !PowerNode.insulated(tile, other.tile) && + other.block.shouldConnect(other) && !(other instanceof PowerNodeBuild obuild && obuild.power.links.size >= ((PowerNode)obuild.block).maxNodes) && !Structs.contains(Edges.getEdges(size), p -> { //do not link to adjacent buildings var t = world.tile(tile.x + p.x, tile.y + p.y);