Fixed error when saving with empty conduits

This commit is contained in:
Anuken 2017-10-08 11:50:31 -04:00
parent 2c9921748c
commit 8b8172421e
3 changed files with 6 additions and 3 deletions

View File

@ -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();
}
}

View File

@ -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;
}

Binary file not shown.