diff --git a/core/src/io/anuke/mindustry/world/blocks/types/Conduit.java b/core/src/io/anuke/mindustry/world/blocks/types/Conduit.java index f2d4a2c9c7..bc535a1ea7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/Conduit.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/Conduit.java @@ -106,13 +106,14 @@ public class Conduit extends Block{ @Override public void write(DataOutputStream stream) throws IOException{ - stream.writeByte(liquid.ordinal()); + stream.writeByte(liquid == null ? -1 : liquid.ordinal()); stream.writeByte((byte)(liquidAmount)); } @Override public void read(DataInputStream stream) throws IOException{ - liquid = Liquid.values()[stream.readByte()]; + byte ordinal = stream.readByte(); + liquid = ordinal == -1 ? null : Liquid.values()[ordinal]; liquidAmount = stream.readByte(); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/Pump.java b/core/src/io/anuke/mindustry/world/blocks/types/Pump.java index 705da5655f..59135904c4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/Pump.java @@ -2,6 +2,7 @@ package io.anuke.mindustry.world.blocks.types; import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.Blocks; import io.anuke.ucore.core.Draw; import io.anuke.ucore.core.Timers; @@ -32,7 +33,8 @@ public class Pump extends Conduit{ public void update(Tile tile){ ConduitEntity entity = tile.entity(); - if(Timers.get(tile, "pump", 8) && entity.liquidAmount < liquidCapacity){ + if(tile.floor() == Blocks.water && + Timers.get(tile, "pump", 8) && entity.liquidAmount < liquidCapacity){ entity.liquid = Liquid.water; entity.liquidAmount += pumpspeed; } diff --git a/desktop/mindustry-saves/2.mins b/desktop/mindustry-saves/2.mins index d52c495f97..55b363adbf 100644 Binary files a/desktop/mindustry-saves/2.mins and b/desktop/mindustry-saves/2.mins differ