Better patcher multi-dimensional array support

This commit is contained in:
Anuken 2025-11-04 23:54:39 -05:00
parent 3656e90ae1
commit 11a7a41648
3 changed files with 49 additions and 2 deletions

View file

@ -73,7 +73,7 @@ public class PatcherTests{
@Test
void reconstructorPlans() throws Exception{
var reconstructor = ((Reconstructor)Blocks.additiveReconstructor);
var prev = reconstructor.upgrades;
var prev = reconstructor.upgrades.copy();
var prevConsumes = reconstructor.<ConsumeItems>findConsumer(c -> c instanceof ConsumeItems).items;
Vars.state.patcher.apply(Seq.with(
@ -98,6 +98,46 @@ public class PatcherTests{
}
@Test
void reconstructorPlansEditSpecific() throws Exception{
var reconstructor = ((Reconstructor)Blocks.additiveReconstructor);
var prev = reconstructor.upgrades.copy();
Vars.state.patcher.apply(Seq.with(
"""
block.additive-reconstructor.upgrades.1: [dagger, flare]
"""
));
assertNoWarnings();
var plan = reconstructor.upgrades.get(1);
assertArrayEquals(new UnitType[]{UnitTypes.dagger, UnitTypes.flare}, plan);
resetAfter();
assertEquals(prev, reconstructor.upgrades);
}
@Test
void reconstructorPlansAdd() throws Exception{
var reconstructor = ((Reconstructor)Blocks.additiveReconstructor);
var prev = reconstructor.upgrades.copy();
Vars.state.patcher.apply(Seq.with(
"""
block.additive-reconstructor.upgrades.+: [[dagger, flare]]
"""
));
assertNoWarnings();
var plan = reconstructor.upgrades.peek();
assertArrayEquals(new UnitType[]{UnitTypes.dagger, UnitTypes.flare}, plan);
resetAfter();
assertEquals(prev, reconstructor.upgrades);
}
@Test
void unitWeapons() throws Exception{
UnitTypes.dagger.checkStats();