From 60a13742cd5dea801f083e2286c3f25e50cbd86a Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 8 Oct 2017 11:54:16 -0400 Subject: [PATCH] Fixed pump being able to pump water regardless of block it was on --- core/src/io/anuke/mindustry/world/Block.java | 2 ++ .../io/anuke/mindustry/world/blocks/Blocks.java | 3 +++ .../anuke/mindustry/world/blocks/types/Pump.java | 15 ++++++++++++--- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index cf42d9b163..a14863f7c5 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -6,6 +6,7 @@ import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.ItemStack; +import io.anuke.mindustry.resource.Liquid; import io.anuke.ucore.core.Draw; public class Block{ @@ -26,6 +27,7 @@ public class Block{ public boolean vary = true; //stuff that drops when broken public ItemStack drops = null; + public Liquid liquidDrop = null; public Block(String name) { blocks.add(this); diff --git a/core/src/io/anuke/mindustry/world/blocks/Blocks.java b/core/src/io/anuke/mindustry/world/blocks/Blocks.java index 7f8c3e23d9..00dd85622b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/Blocks.java @@ -2,6 +2,7 @@ package io.anuke.mindustry.world.blocks; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.ItemStack; +import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.Floor; @@ -19,11 +20,13 @@ public class Blocks{ deepwater = new Floor("deepwater"){{ vary = false; solid = true; + liquidDrop = Liquid.water; }}, water = new Floor("water"){{ vary = false; solid = true; + liquidDrop = Liquid.water; }}, stone = new Floor("stone"){{ 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 59135904c4..41fdbc0281 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/Pump.java @@ -2,9 +2,9 @@ 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; +import io.anuke.ucore.util.Mathf; public class Pump extends Conduit{ protected float pumpspeed = 2f; @@ -29,13 +29,22 @@ public class Pump extends Conduit{ Draw.rect(name(), tile.worldx(), tile.worldy()); } + @Override + public void drawOver(Tile tile){ + if(tile.floor().liquidDrop == null){ + Draw.colorl(0.85f + Mathf.absin(Timers.time(), 6f, 0.15f)); + Draw.rect("cross", tile.worldx(), tile.worldy()); + Draw.color(); + } + } + @Override public void update(Tile tile){ ConduitEntity entity = tile.entity(); - if(tile.floor() == Blocks.water && + if(tile.floor().liquidDrop != null && Timers.get(tile, "pump", 8) && entity.liquidAmount < liquidCapacity){ - entity.liquid = Liquid.water; + entity.liquid = tile.floor().liquidDrop; entity.liquidAmount += pumpspeed; }