From 8b8172421e3ccd630c6d1ca2d3b6450535dec0bc Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 8 Oct 2017 11:50:31 -0400 Subject: [PATCH] Fixed error when saving with empty conduits --- .../mindustry/world/blocks/types/Conduit.java | 5 +++-- .../mindustry/world/blocks/types/Pump.java | 4 +++- desktop/mindustry-saves/2.mins | Bin 362 -> 1594 bytes 3 files changed, 6 insertions(+), 3 deletions(-) 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 d52c495f97acf62a5872e4704553b0be0fbdfc3d..55b363adbff773199a7627977e404c8828f45d45 100644 GIT binary patch literal 1594 zcmZQzU|?rpV2t~-cA7Q=0|TS0M1qL(`x%PPA5}9M7#LC**q9mQT4Grl%@DM1DXEhP{Gq+J=r z;AdbkR)I29mVy`p3=HCGAO=4Jg8__Tu?!?4$iN`H9K_&fV35>+GQ>2Y3}H~1Fz_=l z2(N*PXz73$f(#5odLRZr1A{n>A+{bWBBKvw$iqYg4WJ^@o1hGF6DUK>49bv!F_gDK zMdY_LGB7YmgLoPY3~USx@;g8RQcwX-1_t?^XaeH9K#~Fs3=&o#h9Coj1Xx6nfkA#3 znp$3Ks1l*wAcg<~1D_3)A!!R@2r@88!5DmYP!Z#OAcg<~gUWsoLy&<%+5yTiI{;z` zFfhm-gfdhdp$w5jAj?%jJWwEuI)S*dAOge%35$YNXn~j-AaM|bA%%fK(iy}OU|^7P z1_?tw|DS<@LHGzr0B)v;3y6zirU+OCijXL#Dp9a1Ne1g#Cqc&Q9syY>$iTpU6vP18 z>jAV<_38;*Y2aEv| z;q?NEfWrP1h#|nhU=9;RI@UeA;`cWa26^e=?hXT1LA2g zfI>yk55yK=U=TS6l2HKhKv5@f9>fx4U=Z~Oi6c2*99=-{0=f#Y0FosV0U#A{v&92Z zxC$3RRtYdLs0M-;RW02ASl07-$0iklz?KLdkM6o?_nz+i9-%CNc(W$4|3GWZ{Y z7y=9oT8SWrAOnN=BM?J?fk6Yt;CTWS5dt$nR-`~hL}3hDFawl>pMj+K85mSy40SL= zfPuj*4J0MVz`*?i#1LR$P=_(JGC(4N3=H}(hA~Wv3sl5|k_OjHs2VkxhzXbhDigAx RQkK~uh5!SDeh!Es2mrsChI;@2 literal 362 zcmZQzU|?flV2si~y0AZ-;F7J$2j(%k_}~BQl4-LK%wupi_wjTo zNlXOuKq^gKa?XW=c}y<;Z>PCr?l1=N7#WhgvaFK z+a~7{{N4*B$H3rhcQnW)XBHbsAK3QmE`>t3z&s`w|D)GjG6F(DJVplRK!1LhNbfHo zeIPSm_PIoysRHwuT>PYMTq4bGgLn)K&ZcJ{xs-m81?dBudD*2fJ_XEUatRP9aLM`# ovfYT0!Pzh7noCTq14tjp%%|EeiJAgn9+Qjj%W9YK;-w%S0H^X-YXATM