diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 00653983d0..f73b14d351 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -262,6 +262,7 @@ public class NetServer extends Module{ sync(); }else if(!closing){ closing = true; + weapons.clear(); Vars.ui.loadfrag.show("$text.server.closing"); Timers.runTask(5f, () -> { Net.closeServer(); diff --git a/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java b/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java index 2153999a45..9ce3a90efd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java @@ -1,18 +1,17 @@ package io.anuke.mindustry.world.blocks; import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.blocks.types.LiquidBlock; import io.anuke.mindustry.world.blocks.types.distribution.*; public class DistributionBlocks{ public static final Block - conduit = new LiquidBlock("conduit"){{ + conduit = new Conduit("conduit"){{ health = 45; }}, - pulseconduit = new LiquidBlock("pulseconduit"){{ + pulseconduit = new Conduit("pulseconduit"){{ liquidCapacity = 16f; flowfactor = 4.9f; health = 65; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conduit.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conduit.java new file mode 100644 index 0000000000..58ee6f7eef --- /dev/null +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conduit.java @@ -0,0 +1,16 @@ +package io.anuke.mindustry.world.blocks.types.distribution; + +import io.anuke.mindustry.world.Block; +import io.anuke.mindustry.world.blocks.types.LiquidBlock; + +public class Conduit extends LiquidBlock { + + public Conduit(String name) { + super(name); + } + + @Override + public boolean canReplace(Block other) { + return other instanceof Conduit && other != this; + } +} diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/LiquidJunction.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/LiquidJunction.java index 829d680be9..427a66f167 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/LiquidJunction.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/LiquidJunction.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.LiquidBlock; import io.anuke.ucore.core.Draw; -public class LiquidJunction extends LiquidBlock{ +public class LiquidJunction extends Conduit{ public LiquidJunction(String name) { super(name); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/LiquidRouter.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/LiquidRouter.java index 3e6308e6fa..1b26876753 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/LiquidRouter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/LiquidRouter.java @@ -2,10 +2,9 @@ package io.anuke.mindustry.world.blocks.types.distribution; import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.blocks.types.LiquidBlock; import io.anuke.ucore.core.Draw; -public class LiquidRouter extends LiquidBlock{ +public class LiquidRouter extends Conduit{ protected final int timerDump = timers++; public LiquidRouter(String name) { diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerLaser.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerLaser.java index 60ceafe8d1..ba7e09c94b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerLaser.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerLaser.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.world.blocks.types.distribution; import com.badlogic.gdx.graphics.Color; +import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.production.Generator; @@ -15,7 +16,12 @@ public class PowerLaser extends Generator{ laserDirections = 1; health = 50; } - + + @Override + public boolean canReplace(Block other) { + return other instanceof PowerLaser && other != this; + } + @Override public void update(Tile tile){ distributeLaserPower(tile);