mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-12-15 15:20:57 -08:00
Better patcher multi-dimensional array support
This commit is contained in:
parent
3656e90ae1
commit
11a7a41648
3 changed files with 49 additions and 2 deletions
|
|
@ -238,6 +238,13 @@ public class ContentPatcher{
|
|||
}, value, false);
|
||||
}
|
||||
}else{
|
||||
if(metadata != null){
|
||||
var meta = new FieldData(metadata.type.isArray() ? metadata.type.getComponentType() : metadata.elementType, null, null);
|
||||
if(meta.type != null){
|
||||
metadata = meta;
|
||||
}
|
||||
}
|
||||
|
||||
int i = Strings.parseInt(field);
|
||||
int length = object instanceof Seq s ? s.size : Array.getLength(object);
|
||||
|
||||
|
|
|
|||
|
|
@ -26,4 +26,4 @@ org.gradle.caching=true
|
|||
org.gradle.internal.http.socketTimeout=100000
|
||||
org.gradle.internal.http.connectionTimeout=100000
|
||||
android.enableR8.fullMode=false
|
||||
archash=9087cfbb2b
|
||||
archash=d677d2a72c
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue