diff --git a/core/src/mindustry/ai/WaveSpawner.java b/core/src/mindustry/ai/WaveSpawner.java index f5930ef7f2..f9490dbef2 100644 --- a/core/src/mindustry/ai/WaveSpawner.java +++ b/core/src/mindustry/ai/WaveSpawner.java @@ -156,7 +156,7 @@ public class WaveSpawner{ } if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam)){ - for(Building core : state.teams.get(state.rules.waveTeam).cores){ + for(Building core : state.rules.waveTeam.data().cores){ cons.get(core.x, core.y); } } diff --git a/core/src/mindustry/audio/SoundControl.java b/core/src/mindustry/audio/SoundControl.java index a5c34814bb..00939df0f1 100644 --- a/core/src/mindustry/audio/SoundControl.java +++ b/core/src/mindustry/audio/SoundControl.java @@ -209,7 +209,7 @@ public class SoundControl{ /** Whether to play dark music.*/ protected boolean isDark(){ - if(state.teams.get(player.team()).hasCore() && state.teams.get(player.team()).core().healthf() < 0.85f){ + if(player.team().data().hasCore() && player.team().data().core().healthf() < 0.85f){ //core damaged -> dark return true; } diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index 169ffcc2b9..a2e6a0c575 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -43,7 +43,7 @@ public class Logic implements ApplicationListener{ Events.on(BlockBuildEndEvent.class, event -> { if(!event.breaking){ - TeamData data = state.teams.get(event.team); + TeamData data = event.team.data(); Iterator it = data.blocks.iterator(); while(it.hasNext()){ BlockPlan b = it.next(); diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java index 22472cbcea..04117e67a5 100644 --- a/core/src/mindustry/core/NetClient.java +++ b/core/src/mindustry/core/NetClient.java @@ -457,7 +457,7 @@ public class NetClient implements ApplicationListener{ int teams = input.readUnsignedByte(); for(int i = 0; i < teams; i++){ int team = input.readUnsignedByte(); - TeamData data = state.teams.get(Team.all[team]); + TeamData data = Team.all[team].data(); if(data.cores.any()){ data.cores.first().items.read(dataReads); }else{ diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java index 38a4954792..8627230a0f 100644 --- a/core/src/mindustry/core/World.java +++ b/core/src/mindustry/core/World.java @@ -6,7 +6,6 @@ import arc.math.*; import arc.math.geom.*; import arc.math.geom.Geometry.*; import arc.struct.*; -import arc.struct.ObjectIntMap.*; import arc.util.*; import arc.util.noise.*; import mindustry.content.*; @@ -21,7 +20,6 @@ import mindustry.maps.*; import mindustry.maps.filters.*; import mindustry.maps.filters.GenerateFilter.*; import mindustry.type.*; -import mindustry.type.Weather.*; import mindustry.world.*; import mindustry.world.blocks.environment.*; import mindustry.world.blocks.legacy.*; @@ -336,7 +334,7 @@ public class World{ ui.showErrorMessage("@map.nospawn.pvp"); } }else if(checkRules.attackMode){ //attack maps need two cores to be valid - invalidMap = state.teams.get(state.rules.waveTeam).noCores(); + invalidMap = state.rules.waveTeam.data().noCores(); if(invalidMap){ ui.showErrorMessage("@map.nospawn.attack"); } diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index 78319d44f0..8493610a4f 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -222,7 +222,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, } } - TeamData data = state.teams.get(team); + TeamData data = team.data(); if(checkPrevious){ //remove existing blocks that have been placed here. diff --git a/core/src/mindustry/graphics/BlockRenderer.java b/core/src/mindustry/graphics/BlockRenderer.java index 032fe2709d..b67124e78b 100644 --- a/core/src/mindustry/graphics/BlockRenderer.java +++ b/core/src/mindustry/graphics/BlockRenderer.java @@ -194,7 +194,7 @@ public class BlockRenderer{ } if(brokenFade > 0.001f){ - for(BlockPlan block : state.teams.get(player.team()).blocks){ + for(BlockPlan block : player.team().data().blocks){ Block b = content.block(block.block); if(!camera.bounds(Tmp.r1).grow(tilesize * 2f).overlaps(Tmp.r2.setSize(b.size * tilesize).setCenter(block.x * tilesize + b.offset, block.y * tilesize + b.offset))) continue; diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index 1ea2433660..f30cf1333b 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -133,7 +133,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ public static void deletePlans(Player player, int[] positions){ if(netServer.admins.allowAction(player, ActionType.removePlanned, a -> a.plans = positions)){ - var it = state.teams.get(player.team()).blocks.iterator(); + var it = player.team().data().blocks.iterator(); //O(n^2) search here; no way around it outer: while(it.hasNext()){ @@ -885,7 +885,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ removed.clear(); //remove blocks to rebuild - Iterator broken = state.teams.get(player.team()).blocks.iterator(); + Iterator broken = player.team().data().blocks.iterator(); while(broken.hasNext()){ BlockPlan req = broken.next(); Block block = content.block(req.block); diff --git a/core/src/mindustry/ui/fragments/HudFragment.java b/core/src/mindustry/ui/fragments/HudFragment.java index 4ea70af80f..79dcf85e40 100644 --- a/core/src/mindustry/ui/fragments/HudFragment.java +++ b/core/src/mindustry/ui/fragments/HudFragment.java @@ -286,7 +286,7 @@ public class HudFragment extends Fragment{ .update(label -> label.color.set(Color.orange).lerp(Color.scarlet, Mathf.absin(Time.time, 2f, 1f))), true, () -> { if(!shown || state.isPaused()) return false; - if(state.isMenu() || !state.teams.get(player.team()).hasCore()){ + if(state.isMenu() || !player.team().data().hasCore()){ coreAttackTime[0] = 0f; return false; } diff --git a/tests/src/test/java/ApplicationTests.java b/tests/src/test/java/ApplicationTests.java index 04ec2ef6ed..8bb1a1524e 100644 --- a/tests/src/test/java/ApplicationTests.java +++ b/tests/src/test/java/ApplicationTests.java @@ -739,7 +739,7 @@ public class ApplicationTests{ core.build.items.set(item, 3000); } - assertEquals(core.build, state.teams.get(Team.sharded).core()); + assertEquals(core.build, Team.sharded.data().core()); } void depositTest(Block block, Item item){ diff --git a/tests/src/test/java/SectorTests.java b/tests/src/test/java/SectorTests.java index 6f07e77313..8df675c04f 100644 --- a/tests/src/test/java/SectorTests.java +++ b/tests/src/test/java/SectorTests.java @@ -96,7 +96,7 @@ public class SectorTests{ assertTrue(Team.sharded.core().items.total() < 1000, "Sector must not have starting resources: " + zone); assertTrue(hasSpawnPoint, "Sector \"" + zone.name + "\" has no spawn points."); - assertTrue(spawner.countSpawns() > 0 || (state.rules.attackMode && state.teams.get(state.rules.waveTeam).hasCore()), "Sector \"" + zone.name + "\" has no enemy spawn points: " + spawner.countSpawns()); + assertTrue(spawner.countSpawns() > 0 || (state.rules.attackMode && state.rules.waveTeam.data().hasCore()), "Sector \"" + zone.name + "\" has no enemy spawn points: " + spawner.countSpawns()); })); }