Added LiquidDrill

This commit is contained in:
Anuken
2018-03-09 10:09:32 -05:00
parent 3131e8c7e9
commit c46f1ec590
7 changed files with 40 additions and 9 deletions

View File

@@ -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;

View File

@@ -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)),

View File

@@ -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;
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}