Added RTG generator
This commit is contained in:
@@ -100,7 +100,7 @@ public class Control extends Module{
|
||||
|
||||
spawns = Array.with(
|
||||
new EnemySpawn(TitanEnemy.class){{
|
||||
after = 3;
|
||||
after = 4;
|
||||
spacing = 2;
|
||||
scaling = 5;
|
||||
}},
|
||||
|
||||
@@ -17,7 +17,6 @@ public enum Recipe{
|
||||
titaniumwalllarge(defense, DefenseBlocks.titaniumwalllarge, stack(Item.titanium, 8)),
|
||||
duriumwalllarge(defense, DefenseBlocks.diriumwalllarge, stack(Item.dirium, 8)),
|
||||
titaniumshieldwall(defense, DefenseBlocks.titaniumshieldwall, stack(Item.titanium, 2)),
|
||||
shieldgenerator(defense, DefenseBlocks.shieldgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
|
||||
conveyor(distribution, DistributionBlocks.conveyor, stack(Item.stone, 1)),
|
||||
steelconveyor(distribution, DistributionBlocks.steelconveyor, stack(Item.steel, 1)),
|
||||
@@ -60,11 +59,15 @@ public enum Recipe{
|
||||
coalgenerator(power, ProductionBlocks.coalgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
thermalgenerator(power, ProductionBlocks.thermalgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
combustiongenerator(power, ProductionBlocks.combustiongenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
rtgenerator(power, ProductionBlocks.rtgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
nuclearreactor(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
powerbooster(power, DistributionBlocks.powerbooster, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
powerlaser(power, DistributionBlocks.powerlaser, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
powerlaserrouter(power, DistributionBlocks.powerlaserrouter, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
teleporter(power, DistributionBlocks.teleporter, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
|
||||
shieldgenerator(power, DefenseBlocks.shieldgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
|
||||
teleporter(distribution, DistributionBlocks.teleporter, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||
|
||||
healturret(power, DefenseBlocks.repairturret, stack(Item.iron, 30)),
|
||||
megahealturret(power, DefenseBlocks.megarepairturret, stack(Item.iron, 20), stack(Item.steel, 30)),
|
||||
|
||||
@@ -46,7 +46,9 @@ public class DistributionBlocks{
|
||||
|
||||
},
|
||||
liquidjunction = new LiquidJunction("liquidjunction"){
|
||||
|
||||
{
|
||||
formalName = "liquid junction";
|
||||
}
|
||||
},
|
||||
liquiditemjunction = new LiquidItemJunction("liquiditemjunction"){
|
||||
{
|
||||
|
||||
@@ -239,7 +239,7 @@ public class ProductionBlocks{
|
||||
formalName = "thermal generator";
|
||||
//TODO
|
||||
generateLiquid = Liquid.lava;
|
||||
inputLiquid = 5f;
|
||||
inputLiquid = 20f;
|
||||
generatePower = 1f;
|
||||
powerCapacity = 40f;
|
||||
}
|
||||
@@ -254,7 +254,7 @@ public class ProductionBlocks{
|
||||
formalName = "combustion generator";
|
||||
//TODO
|
||||
generateLiquid = Liquid.oil;
|
||||
inputLiquid = 8f;
|
||||
inputLiquid = 14f;
|
||||
generatePower = 1f;
|
||||
powerCapacity = 40f;
|
||||
}
|
||||
@@ -264,6 +264,21 @@ public class ProductionBlocks{
|
||||
return "Generates power from oil.";
|
||||
}
|
||||
},
|
||||
rtgenerator = new ItemPowerGenerator("rtgenerator"){
|
||||
{
|
||||
//TODO make this generate slowly
|
||||
formalName = "radioisotope generator";
|
||||
generateItem = Item.uranium;
|
||||
generateAmount = 10f;
|
||||
powerCapacity = 40f;
|
||||
generateTime = 50f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Generates small amounts of power from uranium.";
|
||||
}
|
||||
},
|
||||
nuclearReactor = new LiquidItemPowerGenerator("nuclearreactor"){
|
||||
{
|
||||
//TODO
|
||||
|
||||
@@ -8,11 +8,13 @@ import io.anuke.mindustry.entities.TileEntity;
|
||||
import io.anuke.mindustry.resource.Item;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.ucore.core.Effects;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
|
||||
public class ItemPowerGenerator extends Generator{
|
||||
public int itemCapacity = 20;
|
||||
public Item generateItem;
|
||||
public float generateAmount;
|
||||
public float generateTime = 2f;
|
||||
|
||||
public ItemPowerGenerator(String name) {
|
||||
super(name);
|
||||
@@ -37,7 +39,7 @@ public class ItemPowerGenerator extends Generator{
|
||||
public void update(Tile tile){
|
||||
PowerEntity entity = tile.entity();
|
||||
|
||||
if(entity.hasItem(generateItem) && tryAddPower(tile, generateAmount)){
|
||||
if(Timers.get(tile, "generate", generateTime) && entity.hasItem(generateItem) && tryAddPower(tile, generateAmount)){
|
||||
Effects.effect(Fx.generate, tile.entity);
|
||||
entity.removeItem(generateItem, 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user