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.entities.TileEntity;
|
||||||
import io.anuke.mindustry.resource.Item;
|
import io.anuke.mindustry.resource.Item;
|
||||||
import io.anuke.mindustry.resource.ItemStack;
|
import io.anuke.mindustry.resource.ItemStack;
|
||||||
|
import io.anuke.mindustry.resource.Liquid;
|
||||||
import io.anuke.ucore.core.Draw;
|
import io.anuke.ucore.core.Draw;
|
||||||
|
|
||||||
public class Block{
|
public class Block{
|
||||||
@@ -26,6 +27,7 @@ public class Block{
|
|||||||
public boolean vary = true;
|
public boolean vary = true;
|
||||||
//stuff that drops when broken
|
//stuff that drops when broken
|
||||||
public ItemStack drops = null;
|
public ItemStack drops = null;
|
||||||
|
public Liquid liquidDrop = null;
|
||||||
|
|
||||||
public Block(String name) {
|
public Block(String name) {
|
||||||
blocks.add(this);
|
blocks.add(this);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package io.anuke.mindustry.world.blocks;
|
|||||||
|
|
||||||
import io.anuke.mindustry.resource.Item;
|
import io.anuke.mindustry.resource.Item;
|
||||||
import io.anuke.mindustry.resource.ItemStack;
|
import io.anuke.mindustry.resource.ItemStack;
|
||||||
|
import io.anuke.mindustry.resource.Liquid;
|
||||||
import io.anuke.mindustry.world.Block;
|
import io.anuke.mindustry.world.Block;
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
import io.anuke.mindustry.world.blocks.types.Floor;
|
import io.anuke.mindustry.world.blocks.types.Floor;
|
||||||
@@ -19,11 +20,13 @@ public class Blocks{
|
|||||||
deepwater = new Floor("deepwater"){{
|
deepwater = new Floor("deepwater"){{
|
||||||
vary = false;
|
vary = false;
|
||||||
solid = true;
|
solid = true;
|
||||||
|
liquidDrop = Liquid.water;
|
||||||
}},
|
}},
|
||||||
|
|
||||||
water = new Floor("water"){{
|
water = new Floor("water"){{
|
||||||
vary = false;
|
vary = false;
|
||||||
solid = true;
|
solid = true;
|
||||||
|
liquidDrop = Liquid.water;
|
||||||
}},
|
}},
|
||||||
|
|
||||||
stone = new Floor("stone"){{
|
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.resource.Liquid;
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
import io.anuke.mindustry.world.blocks.Blocks;
|
|
||||||
import io.anuke.ucore.core.Draw;
|
import io.anuke.ucore.core.Draw;
|
||||||
import io.anuke.ucore.core.Timers;
|
import io.anuke.ucore.core.Timers;
|
||||||
|
import io.anuke.ucore.util.Mathf;
|
||||||
|
|
||||||
public class Pump extends Conduit{
|
public class Pump extends Conduit{
|
||||||
protected float pumpspeed = 2f;
|
protected float pumpspeed = 2f;
|
||||||
@@ -29,13 +29,22 @@ public class Pump extends Conduit{
|
|||||||
Draw.rect(name(), tile.worldx(), tile.worldy());
|
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
|
@Override
|
||||||
public void update(Tile tile){
|
public void update(Tile tile){
|
||||||
ConduitEntity entity = tile.entity();
|
ConduitEntity entity = tile.entity();
|
||||||
|
|
||||||
if(tile.floor() == Blocks.water &&
|
if(tile.floor().liquidDrop != null &&
|
||||||
Timers.get(tile, "pump", 8) && entity.liquidAmount < liquidCapacity){
|
Timers.get(tile, "pump", 8) && entity.liquidAmount < liquidCapacity){
|
||||||
entity.liquid = Liquid.water;
|
entity.liquid = tile.floor().liquidDrop;
|
||||||
entity.liquidAmount += pumpspeed;
|
entity.liquidAmount += pumpspeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user