Additional unit tests for the patcher + many bugfixes

This commit is contained in:
Anuken
2025-10-23 22:31:06 -04:00
parent effbdecbd5
commit bed851afe9
9 changed files with 176 additions and 37 deletions
@@ -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);