Fixed pump being able to pump water regardless of block it was on
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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"){{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user