Patcher ObjectFloatMap support

This commit is contained in:
Anuken
2025-10-31 13:13:05 -04:00
parent 1df6c5d0ca
commit 5257ae26a3
3 changed files with 53 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ import mindustry.entities.bullet.*;
import mindustry.gen.*;
import mindustry.type.*;
import mindustry.world.blocks.defense.turrets.*;
import mindustry.world.blocks.production.*;
import mindustry.world.blocks.units.*;
import mindustry.world.meta.*;
import org.junit.jupiter.api.*;
@@ -263,6 +264,32 @@ public class PatcherTests{
assertEquals(2, Vars.state.patcher.patches.first().warnings.size);
}
@Test
void testObjectFloatMap() throws Exception{
Vars.state.patcher.apply(Seq.with("""
block.mechanical-drill.drillMultipliers: {
titanium: 2.0
}
block.mechanical-drill: {
drillMultipliers: {
copper: 3.0
}
}
block.mechanical-drill.drillMultipliers.surge-alloy: 10
"""));
assertEquals(new Seq<>(), Vars.state.patcher.patches.first().warnings);
assertEquals(2f, ((Drill)Blocks.mechanicalDrill).drillMultipliers.get(Items.titanium, 0f));
assertEquals(3f, ((Drill)Blocks.mechanicalDrill).drillMultipliers.get(Items.copper, 0f));
assertEquals(10f, ((Drill)Blocks.mechanicalDrill).drillMultipliers.get(Items.surgeAlloy, 0f));
Vars.logic.reset();
assertEquals(0f, ((Drill)Blocks.mechanicalDrill).drillMultipliers.get(Items.titanium, 0f));
assertEquals(0f, ((Drill)Blocks.mechanicalDrill).drillMultipliers.get(Items.surgeAlloy, 0f));
}
@Test
void testAttributes() throws Exception{
Vars.state.patcher.apply(Seq.with("""