From 8964caf2aa750a792ae230f27dc0711174b480c4 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 8 Nov 2021 16:09:43 -0500 Subject: [PATCH] Conduit bridge fixes --- core/src/mindustry/content/Blocks.java | 2 ++ core/src/mindustry/input/Placement.java | 2 +- core/src/mindustry/world/blocks/distribution/Duct.java | 2 +- core/src/mindustry/world/blocks/liquid/Conduit.java | 8 ++++++-- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index fda62ea1ee..5428c27b32 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1441,6 +1441,8 @@ public class Blocks implements ContentList{ requirements(Category.liquid, with(Items.graphite, 4, Items.beryllium, 8)); range = 4; hasPower = false; + + ((Conduit)reinforcedConduit).rotBridgeReplacement = this; }}; reinforcedLiquidRouter = new LiquidRouter("reinforced-liquid-router"){{ diff --git a/core/src/mindustry/input/Placement.java b/core/src/mindustry/input/Placement.java index 55044dc8e0..b15c205cec 100644 --- a/core/src/mindustry/input/Placement.java +++ b/core/src/mindustry/input/Placement.java @@ -175,7 +175,7 @@ public class Placement{ plans.set(result); } - public static void calculateDuctBridges(Seq plans, DuctBridge bridge){ + public static void calculateBridges(Seq plans, DirectionBridge bridge){ if(isSidePlace(plans)) return; //check for orthogonal placement + unlocked state diff --git a/core/src/mindustry/world/blocks/distribution/Duct.java b/core/src/mindustry/world/blocks/distribution/Duct.java index 1c1d6049b8..8061b2e0dd 100644 --- a/core/src/mindustry/world/blocks/distribution/Duct.java +++ b/core/src/mindustry/world/blocks/distribution/Duct.java @@ -75,7 +75,7 @@ public class Duct extends Block implements Autotiler{ @Override public void handlePlacementLine(Seq plans){ - Placement.calculateDuctBridges(plans, (DuctBridge)Blocks.ductBridge); + Placement.calculateBridges(plans, (DuctBridge)Blocks.ductBridge); } public class DuctBuild extends Building{ diff --git a/core/src/mindustry/world/blocks/liquid/Conduit.java b/core/src/mindustry/world/blocks/liquid/Conduit.java index 32d539f22c..7fc599fca7 100644 --- a/core/src/mindustry/world/blocks/liquid/Conduit.java +++ b/core/src/mindustry/world/blocks/liquid/Conduit.java @@ -31,7 +31,7 @@ public class Conduit extends LiquidBlock implements Autotiler{ public @Load("@-cap") TextureRegion capRegion; public boolean leaks = true; - public @Nullable Block junctionReplacement, bridgeReplacement; + public @Nullable Block junctionReplacement, bridgeReplacement, rotBridgeReplacement; public Conduit(String name){ super(name); @@ -87,7 +87,11 @@ public class Conduit extends LiquidBlock implements Autotiler{ public void handlePlacementLine(Seq plans){ if(bridgeReplacement == null) return; - Placement.calculateBridges(plans, (ItemBridge)bridgeReplacement); + if(rotBridgeReplacement instanceof DirectionBridge duct){ + Placement.calculateBridges(plans, duct); + }else{ + Placement.calculateBridges(plans, (ItemBridge)bridgeReplacement); + } } @Override