Additional unit tests for the patcher + many bugfixes
This commit is contained in:
@@ -70,6 +70,15 @@ public class ConsumeGenerator extends PowerGenerator{
|
||||
super.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPatch(){
|
||||
super.afterPatch();
|
||||
|
||||
filterItem = findConsumer(c -> c instanceof ConsumeItemFilter);
|
||||
filterLiquid = findConsumer(c -> c instanceof ConsumeLiquidFilter);
|
||||
if(filterItem instanceof ConsumeItemEfficiency eff) eff.itemDurationMultipliers = itemDurationMultipliers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStats(){
|
||||
stats.timePeriod = itemDuration;
|
||||
|
||||
@@ -119,8 +119,19 @@ public class Reconstructor extends UnitBlock{
|
||||
|
||||
@Override
|
||||
public void init(){
|
||||
capacities = new int[Vars.content.items().size];
|
||||
initCapacities();
|
||||
super.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPatch(){
|
||||
initCapacities();
|
||||
super.afterPatch();
|
||||
}
|
||||
|
||||
public void initCapacities(){
|
||||
capacities = new int[Vars.content.items().size];
|
||||
itemCapacity = 10;
|
||||
ConsumeItems cons = findConsumer(c -> c instanceof ConsumeItems);
|
||||
if(cons != null){
|
||||
for(ItemStack stack : cons.items){
|
||||
@@ -130,8 +141,6 @@ public class Reconstructor extends UnitBlock{
|
||||
}
|
||||
|
||||
consumeBuilder.each(c -> c.multiplier = b -> state.rules.unitCost(b.team));
|
||||
|
||||
super.init();
|
||||
}
|
||||
|
||||
public void addUpgrade(UnitType from, UnitType to){
|
||||
|
||||
@@ -80,7 +80,19 @@ public class UnitFactory extends UnitBlock{
|
||||
|
||||
@Override
|
||||
public void init(){
|
||||
initCapacities();
|
||||
super.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPatch(){
|
||||
initCapacities();
|
||||
super.afterPatch();
|
||||
}
|
||||
|
||||
public void initCapacities(){
|
||||
capacities = new int[Vars.content.items().size];
|
||||
itemCapacity = 10; //unit factories can't control their own capacity externally, setting the value does nothing
|
||||
for(UnitPlan plan : plans){
|
||||
for(ItemStack stack : plan.requirements){
|
||||
capacities[stack.item.id] = Math.max(capacities[stack.item.id], stack.amount * 2);
|
||||
@@ -89,8 +101,6 @@ public class UnitFactory extends UnitBlock{
|
||||
}
|
||||
|
||||
consumeBuilder.each(c -> c.multiplier = b -> state.rules.unitCost(b.team));
|
||||
|
||||
super.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -22,7 +22,6 @@ public class ConsumeLiquid extends ConsumeLiquidBase{
|
||||
this(null, 0f);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void apply(Block block){
|
||||
super.apply(block);
|
||||
|
||||
Reference in New Issue
Block a user