Added LiquidDrill
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
package io.anuke.mindustry.core;
|
||||
|
||||
import com.badlogic.gdx.utils.ByteArray;
|
||||
import com.badlogic.gdx.utils.IntMap;
|
||||
import com.badlogic.gdx.utils.ObjectMap;
|
||||
import com.badlogic.gdx.utils.TimeUtils;
|
||||
import com.badlogic.gdx.utils.*;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.entities.Player;
|
||||
import io.anuke.mindustry.entities.SyncEntity;
|
||||
|
||||
@@ -65,7 +65,7 @@ public class Recipes {
|
||||
new Recipe(production, ProductionBlocks.titaniumdrill, stack(Item.iron, 50), stack(Item.steel, 50)),
|
||||
new Recipe(production, ProductionBlocks.uraniumdrill, stack(Item.iron, 40), stack(Item.steel, 40)),
|
||||
new Recipe(production, ProductionBlocks.quartzextractor, stack(Item.titanium, 40), stack(Item.dirium, 40)),
|
||||
new Recipe(production, ProductionBlocks.biomatterextractor, stack(Item.titanium, 40), stack(Item.dirium, 40)),
|
||||
new Recipe(production, ProductionBlocks.cultivator, stack(Item.titanium, 40), stack(Item.dirium, 40)),
|
||||
new Recipe(production, ProductionBlocks.laserdrill, stack(Item.titanium, 40), stack(Item.dirium, 40)),
|
||||
|
||||
new Recipe(power, ProductionBlocks.coalgenerator, stack(Item.iron, 30), stack(Item.stone, 20)),
|
||||
|
||||
@@ -216,10 +216,12 @@ public class ProductionBlocks{
|
||||
}
|
||||
},
|
||||
|
||||
biomatterextractor = new Drill("biomatterextractor"){
|
||||
cultivator = new LiquidDrill("cultivator"){
|
||||
{
|
||||
resource = Blocks.grass;
|
||||
result = Item.biomatter;
|
||||
inputLiquid = Liquid.water;
|
||||
inputLiquidAmount = 0.1f;
|
||||
time = 5;
|
||||
size = 2;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ public class Teleporter extends PowerBlock{
|
||||
TeleporterEntity entity = tile.entity();
|
||||
if(entity != null){
|
||||
entity.color = data;
|
||||
Arrays.fill(entity.items, 0);
|
||||
Arrays.fill(entity.inventory.items, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package io.anuke.mindustry.world.blocks.types.production;
|
||||
|
||||
import io.anuke.mindustry.resource.Liquid;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
|
||||
/**A drill that uses liquid as fuel.*/
|
||||
public class LiquidDrill extends Drill {
|
||||
protected Liquid inputLiquid = Liquid.water;
|
||||
protected float inputLiquidAmount = 0.1f; //per frame
|
||||
|
||||
public LiquidDrill(String name){
|
||||
super(name);
|
||||
|
||||
hasLiquids = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(Tile tile){
|
||||
float consume = Math.min(liquidCapacity, inputLiquidAmount * Timers.delta());
|
||||
|
||||
if(tile.entity.liquid.amount >= consume){
|
||||
tile.entity.liquid.amount -= consume;
|
||||
super.update(tile);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptLiquid(Tile tile, Tile source, Liquid liquid, float amount) {
|
||||
return super.acceptLiquid(tile, source, liquid, amount) && liquid == inputLiquid;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user