Unit assembler gallium requirement

This commit is contained in:
Anuken
2021-12-19 21:33:39 -05:00
parent 430fe2fd0a
commit 0ccb8846d3
3 changed files with 13 additions and 4 deletions

View File

@@ -1163,7 +1163,8 @@ public class Blocks{
craftTime = 60f * 2f;
outputLiquid = new LiquidStack(Liquids.gallium, 2f);
continuousLiquidOutput = true;
outputLiquid = new LiquidStack(Liquids.gallium, 1f / 60f);
outputItem = new ItemStack(Items.scrap, 1);
}};
@@ -3315,8 +3316,7 @@ public class Blocks{
//endregion
//region units - erekir
//TODO 5x5?
//TODO completely unfinished
//TODO requirements
tankAssembler = new UnitAssembler("tank-assembler"){{
requirements(Category.units, with(Items.graphite, 10));
size = 5;
@@ -3325,6 +3325,9 @@ public class Blocks{
consumes.power(2f);
areaSize = 13;
//TODO unit production is rarely continuous, can be double
consumes.liquid(Liquids.gallium, 1f / 60f);
droneType = UnitTypes.assemblyDrone;
}};

View File

@@ -226,6 +226,12 @@ public class UnitAssembler extends PayloadBlock{
return plans.get(Math.min(currentTier, plans.size - 1));
}
@Override
public boolean shouldConsume(){
//liquid is only consumed when building is being done
return enabled && !wasOccupied && Units.canCreate(team, plan().unit) && consumes.get(ConsumeType.payload).valid(this);
}
@Override
public void drawSelect(){
for(var module : modules){