From 76cd7ba8d11f7bedf980392781972d8aa8cae746 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 26 Aug 2019 22:53:11 -0400 Subject: [PATCH] non-functional loading screen --- .../io/anuke/mindustry/AndroidLauncher.java | 4 +- .../AssetsAnnotationProcessor.java | 17 +-- .../annotations/RemoteWriteGenerator.java | 2 +- .../{Mindustry.java => ClientLauncher.java} | 79 ++++++------ .../anuke/mindustry/{Vars.java => Min.java} | 112 +++++++++++++----- .../io/anuke/mindustry/ai/BlockIndexer.java | 6 +- .../src/io/anuke/mindustry/ai/Pathfinder.java | 5 +- .../io/anuke/mindustry/ai/WaveSpawner.java | 2 +- .../io/anuke/mindustry/content/Blocks.java | 6 +- .../io/anuke/mindustry/content/Bullets.java | 2 +- core/src/io/anuke/mindustry/content/Fx.java | 2 +- .../anuke/mindustry/core/ContentLoader.java | 65 +++++----- core/src/io/anuke/mindustry/core/Control.java | 74 ++++++------ .../io/anuke/mindustry/core/GameState.java | 4 +- core/src/io/anuke/mindustry/core/Logic.java | 6 +- .../io/anuke/mindustry/core/NetClient.java | 12 +- .../io/anuke/mindustry/core/NetServer.java | 2 +- .../src/io/anuke/mindustry/core/Platform.java | 2 +- .../src/io/anuke/mindustry/core/Renderer.java | 2 +- core/src/io/anuke/mindustry/core/UI.java | 50 ++++++-- core/src/io/anuke/mindustry/core/World.java | 19 +-- .../anuke/mindustry/editor/DrawOperation.java | 2 +- .../io/anuke/mindustry/editor/EditorTile.java | 4 +- .../io/anuke/mindustry/editor/EditorTool.java | 4 +- .../io/anuke/mindustry/editor/MapEditor.java | 2 +- .../mindustry/editor/MapEditorDialog.java | 12 +- .../mindustry/editor/MapGenerateDialog.java | 6 +- .../anuke/mindustry/editor/MapInfoDialog.java | 6 +- .../anuke/mindustry/editor/MapLoadDialog.java | 23 ++-- .../anuke/mindustry/editor/MapRenderer.java | 4 +- .../anuke/mindustry/editor/MapSaveDialog.java | 19 ++- .../io/anuke/mindustry/editor/MapView.java | 4 +- .../mindustry/editor/WaveInfoDialog.java | 10 +- .../io/anuke/mindustry/entities/Damage.java | 2 +- .../io/anuke/mindustry/entities/Entities.java | 2 +- .../mindustry/entities/EntityCollisions.java | 4 +- .../io/anuke/mindustry/entities/Units.java | 8 +- .../mindustry/entities/bullet/Bullet.java | 4 +- .../entities/bullet/LiquidBulletType.java | 2 +- .../entities/bullet/MassDriverBolt.java | 2 +- .../mindustry/entities/effect/Decal.java | 2 +- .../anuke/mindustry/entities/effect/Fire.java | 2 +- .../entities/effect/GroundEffectEntity.java | 4 +- .../entities/effect/ItemTransfer.java | 2 +- .../mindustry/entities/effect/Lightning.java | 2 +- .../mindustry/entities/effect/Puddle.java | 2 +- .../entities/effect/RubbleDecal.java | 2 +- .../entities/effect/ScorchDecal.java | 4 +- .../mindustry/entities/impl/EffectEntity.java | 2 +- .../entities/traits/BuilderTrait.java | 4 +- .../mindustry/entities/traits/MinerTrait.java | 2 +- .../mindustry/entities/traits/SolidTrait.java | 4 +- .../mindustry/entities/type/BaseUnit.java | 18 +-- .../mindustry/entities/type/FlyingUnit.java | 4 +- .../mindustry/entities/type/GroundUnit.java | 10 +- .../anuke/mindustry/entities/type/Player.java | 8 +- .../mindustry/entities/type/TileEntity.java | 6 +- .../anuke/mindustry/entities/type/Unit.java | 4 +- .../entities/type/base/BaseDrone.java | 6 +- .../entities/type/base/BuilderDrone.java | 6 +- .../entities/type/base/MinerDrone.java | 6 +- .../entities/type/base/RepairDrone.java | 2 +- .../mindustry/entities/units/Statuses.java | 2 +- .../mindustry/entities/units/UnitDrops.java | 8 +- core/src/io/anuke/mindustry/game/Content.java | 8 +- .../src/io/anuke/mindustry/game/Gamemode.java | 2 +- .../io/anuke/mindustry/game/GlobalData.java | 6 +- .../io/anuke/mindustry/game/LoopControl.java | 2 +- .../io/anuke/mindustry/game/MusicControl.java | 2 +- core/src/io/anuke/mindustry/game/Saves.java | 4 +- .../io/anuke/mindustry/game/SpawnGroup.java | 2 +- core/src/io/anuke/mindustry/game/Teams.java | 4 +- .../src/io/anuke/mindustry/game/Tutorial.java | 4 +- .../mindustry/game/UnlockableContent.java | 4 +- .../mindustry/graphics/BlockRenderer.java | 2 +- .../anuke/mindustry/graphics/CacheLayer.java | 2 +- .../mindustry/graphics/FloorRenderer.java | 4 +- .../mindustry/graphics/MenuRenderer.java | 2 +- .../mindustry/graphics/MinimapRenderer.java | 2 +- .../mindustry/graphics/OverlayRenderer.java | 8 +- .../anuke/mindustry/graphics/Pixelator.java | 4 +- .../anuke/mindustry/input/DesktopInput.java | 2 +- .../anuke/mindustry/input/InputHandler.java | 2 +- .../io/anuke/mindustry/input/MobileInput.java | 2 +- .../io/anuke/mindustry/input/PlaceUtils.java | 2 +- .../io/anuke/mindustry/io/BundleLoader.java | 63 ---------- core/src/io/anuke/mindustry/io/JsonIO.java | 10 +- .../io/anuke/mindustry/io/LegacyMapIO.java | 2 +- core/src/io/anuke/mindustry/io/MapIO.java | 2 +- core/src/io/anuke/mindustry/io/SaveIO.java | 6 +- core/src/io/anuke/mindustry/io/SaveMeta.java | 8 +- .../io/anuke/mindustry/io/SaveVersion.java | 4 +- core/src/io/anuke/mindustry/io/TypeIO.java | 3 +- core/src/io/anuke/mindustry/maps/Map.java | 14 ++- core/src/io/anuke/mindustry/maps/Maps.java | 61 +++++++--- .../mindustry/maps/filters/FilterOption.java | 4 +- .../mindustry/maps/filters/MedianFilter.java | 2 +- .../maps/filters/OreMedianFilter.java | 2 +- .../maps/generators/MapGenerator.java | 4 +- .../maps/generators/RandomGenerator.java | 2 +- .../anuke/mindustry/net/Administration.java | 2 +- .../io/anuke/mindustry/net/CrashSender.java | 10 +- core/src/io/anuke/mindustry/net/Net.java | 2 +- .../src/io/anuke/mindustry/net/NetworkIO.java | 2 +- core/src/io/anuke/mindustry/type/Item.java | 20 ++-- core/src/io/anuke/mindustry/type/Loadout.java | 2 +- core/src/io/anuke/mindustry/type/Weapon.java | 2 +- core/src/io/anuke/mindustry/type/Zone.java | 18 +-- .../io/anuke/mindustry/ui/ItemsDisplay.java | 4 +- core/src/io/anuke/mindustry/ui/Minimap.java | 2 +- .../mindustry/ui/dialogs/AboutDialog.java | 2 +- .../mindustry/ui/dialogs/AdminsDialog.java | 2 +- .../mindustry/ui/dialogs/BansDialog.java | 2 +- .../mindustry/ui/dialogs/ColorPickDialog.java | 4 +- .../mindustry/ui/dialogs/ControlsDialog.java | 4 +- .../ui/dialogs/CustomGameDialog.java | 7 +- .../ui/dialogs/CustomRulesDialog.java | 2 +- .../mindustry/ui/dialogs/DatabaseDialog.java | 12 +- .../mindustry/ui/dialogs/DeployDialog.java | 2 +- .../mindustry/ui/dialogs/DiscordDialog.java | 2 +- .../mindustry/ui/dialogs/FileChooser.java | 2 +- .../mindustry/ui/dialogs/FloatingDialog.java | 2 +- .../mindustry/ui/dialogs/GameOverDialog.java | 2 +- .../mindustry/ui/dialogs/HostDialog.java | 8 +- .../mindustry/ui/dialogs/JoinDialog.java | 10 +- .../mindustry/ui/dialogs/LanguageDialog.java | 4 +- .../mindustry/ui/dialogs/LoadDialog.java | 4 +- .../mindustry/ui/dialogs/LoadoutDialog.java | 2 +- .../mindustry/ui/dialogs/MapPlayDialog.java | 2 +- .../mindustry/ui/dialogs/MapsDialog.java | 24 ++-- .../mindustry/ui/dialogs/MinimapDialog.java | 2 +- .../mindustry/ui/dialogs/PausedDialog.java | 2 +- .../mindustry/ui/dialogs/SaveDialog.java | 2 +- .../ui/dialogs/SettingsMenuDialog.java | 5 +- .../mindustry/ui/dialogs/TechTreeDialog.java | 2 +- .../mindustry/ui/dialogs/ZoneInfoDialog.java | 2 +- .../ui/fragments/BlockConfigFragment.java | 2 +- .../ui/fragments/BlockInventoryFragment.java | 2 +- .../mindustry/ui/fragments/ChatFragment.java | 10 +- .../mindustry/ui/fragments/HudFragment.java | 8 +- .../mindustry/ui/fragments/MenuFragment.java | 2 +- .../ui/fragments/PlacementFragment.java | 2 +- .../ui/fragments/PlayerListFragment.java | 2 +- core/src/io/anuke/mindustry/world/Block.java | 2 +- .../anuke/mindustry/world/BlockStorage.java | 6 +- core/src/io/anuke/mindustry/world/Build.java | 2 +- .../world/DirectionalItemBuffer.java | 2 +- core/src/io/anuke/mindustry/world/Edges.java | 2 +- .../io/anuke/mindustry/world/ItemBuffer.java | 2 +- .../io/anuke/mindustry/world/StaticTree.java | 2 +- core/src/io/anuke/mindustry/world/Tile.java | 2 +- .../mindustry/world/blocks/BuildBlock.java | 2 +- .../anuke/mindustry/world/blocks/Floor.java | 2 +- .../mindustry/world/blocks/ItemSelection.java | 2 +- .../mindustry/world/blocks/StaticWall.java | 2 +- .../world/blocks/defense/DeflectorWall.java | 2 +- .../mindustry/world/blocks/defense/Door.java | 4 +- .../world/blocks/defense/ForceProjector.java | 2 +- .../world/blocks/defense/MendProjector.java | 2 +- .../blocks/defense/OverdriveProjector.java | 2 +- .../defense/turrets/ArtilleryTurret.java | 2 +- .../blocks/defense/turrets/BurstTurret.java | 2 +- .../blocks/defense/turrets/ChargeTurret.java | 2 +- .../blocks/defense/turrets/CooledTurret.java | 2 +- .../blocks/defense/turrets/DoubleTurret.java | 2 +- .../blocks/defense/turrets/ItemTurret.java | 4 +- .../blocks/defense/turrets/LaserTurret.java | 2 +- .../blocks/defense/turrets/LiquidTurret.java | 2 +- .../world/blocks/defense/turrets/Turret.java | 2 +- .../world/blocks/distribution/Conveyor.java | 2 +- .../distribution/ExtendingItemBridge.java | 2 +- .../world/blocks/distribution/ItemBridge.java | 4 +- .../world/blocks/distribution/Junction.java | 2 +- .../blocks/distribution/LiquidBridge.java | 2 +- .../distribution/LiquidExtendingBridge.java | 2 +- .../world/blocks/distribution/MassDriver.java | 2 +- .../world/blocks/distribution/Sorter.java | 2 +- .../world/blocks/power/ImpactReactor.java | 2 +- .../blocks/power/ItemLiquidGenerator.java | 4 +- .../world/blocks/power/NuclearReactor.java | 2 +- .../world/blocks/power/PowerNode.java | 2 +- .../world/blocks/production/Drill.java | 2 +- .../world/blocks/sandbox/ItemSource.java | 2 +- .../world/blocks/sandbox/LiquidSource.java | 4 +- .../world/blocks/storage/CoreBlock.java | 6 +- .../world/blocks/storage/LaunchPad.java | 8 +- .../world/blocks/storage/Unloader.java | 2 +- .../world/blocks/units/CommandCenter.java | 6 +- .../mindustry/world/blocks/units/MechPad.java | 10 +- .../world/blocks/units/UnitFactory.java | 12 +- .../world/consumers/ConsumeItemFilter.java | 2 +- .../world/consumers/ConsumeLiquidFilter.java | 2 +- .../mindustry/world/consumers/Consumers.java | 6 +- .../world/meta/values/AmmoListValue.java | 2 +- .../world/meta/values/ItemFilterValue.java | 2 +- .../world/meta/values/LiquidFilterValue.java | 2 +- .../mindustry/world/modules/ItemModule.java | 2 +- .../mindustry/world/modules/LiquidModule.java | 2 +- .../mindustry/desktop/DesktopLauncher.java | 2 +- .../mindustry/desktop/DesktopPlatform.java | 2 +- ios/src/io/anuke/mindustry/IOSLauncher.java | 4 +- .../io/anuke/mindustry/net/ArcNetClient.java | 2 +- .../io/anuke/mindustry/net/ArcNetServer.java | 2 +- .../mindustry/server/MindustryServer.java | 17 +-- .../anuke/mindustry/server/ServerControl.java | 20 ++-- tests/src/test/java/ApplicationTests.java | 18 ++- tests/src/test/java/ZoneTests.java | 4 +- .../src/test/java/power/PowerTestFixture.java | 6 +- tools/src/io/anuke/mindustry/Generators.java | 4 +- tools/src/io/anuke/mindustry/ImagePacker.java | 6 +- tools/src/io/anuke/mindustry/Upscaler.java | 6 +- 211 files changed, 722 insertions(+), 699 deletions(-) rename core/src/io/anuke/mindustry/{Mindustry.java => ClientLauncher.java} (70%) rename core/src/io/anuke/mindustry/{Vars.java => Min.java} (76%) delete mode 100644 core/src/io/anuke/mindustry/io/BundleLoader.java diff --git a/android/src/io/anuke/mindustry/AndroidLauncher.java b/android/src/io/anuke/mindustry/AndroidLauncher.java index 4792bd6d89..c8de289d80 100644 --- a/android/src/io/anuke/mindustry/AndroidLauncher.java +++ b/android/src/io/anuke/mindustry/AndroidLauncher.java @@ -28,7 +28,7 @@ import io.anuke.mindustry.ui.dialogs.FileChooser; import java.io.*; import java.util.ArrayList; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class AndroidLauncher extends AndroidApplication{ public static final int PERMISSION_REQUEST_CODE = 1; @@ -131,7 +131,7 @@ public class AndroidLauncher extends AndroidApplication{ config.hideStatusBar = true; Net.setClientProvider(new ArcNetClient()); Net.setServerProvider(new ArcNetServer()); - initialize(new Mindustry(), config); + initialize(new ClientLauncher(), config); checkFiles(getIntent()); } diff --git a/annotations/src/main/java/io/anuke/annotations/AssetsAnnotationProcessor.java b/annotations/src/main/java/io/anuke/annotations/AssetsAnnotationProcessor.java index e5777d5fc1..53642c7597 100644 --- a/annotations/src/main/java/io/anuke/annotations/AssetsAnnotationProcessor.java +++ b/annotations/src/main/java/io/anuke/annotations/AssetsAnnotationProcessor.java @@ -60,10 +60,10 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{ void process(String classname, String path, String rtype, String loadMethod) throws Exception{ TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC); - MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); + //MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC); - MethodSpec.Builder loadBegin = MethodSpec.methodBuilder("loadBegin").addModifiers(Modifier.PUBLIC, Modifier.STATIC); + MethodSpec.Builder loadBegin = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); HashSet names = new HashSet<>(); @@ -82,13 +82,14 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{ name = name + "s"; } - load.addStatement(name + " = io.anuke.arc.Core.audio."+loadMethod+"(io.anuke.arc.Core.files.internal(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S))", - path.substring(path.lastIndexOf("/") + 1) + "/" + fname, (path.substring(path.lastIndexOf("/") + 1) + "/" + fname).replace(".ogg", ".mp3")); + String filepath = path.substring(path.lastIndexOf("/") + 1) + "/" + fname; + //load.addStatement(name + " = io.anuke.arc.Core.audio."+loadMethod+"(io.anuke.arc.Core.files.internal(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S))", + //filepath, filepath.replace(".ogg", ".mp3")); - loadBegin.addStatement("io.anuke.arc.Core.assets.load(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S, "+rtype+".class)", - path.substring(path.lastIndexOf("/") + 1) + "/" + fname, - (path.substring(path.lastIndexOf("/") + 1) + "/" + fname).replace(".ogg", ".mp3")); + loadBegin.addStatement("io.anuke.arc.Core.assets.load(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S, "+rtype+".class, " + + "new io.anuke.arc.assets.loaders."+classname.substring(0, classname.length()-1)+"Loader."+classname.substring(0, classname.length()-1)+"Parameter((m, name, type) -> " + name + " = m.get(\"" + filepath + "\")))", + filepath, filepath.replace(".ogg", ".mp3")); dispose.addStatement(name + ".dispose()"); @@ -101,7 +102,7 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{ type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build()); } - type.addMethod(load.build()); + //type.addMethod(load.build()); type.addMethod(loadBegin.build()); type.addMethod(dispose.build()); JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer); diff --git a/annotations/src/main/java/io/anuke/annotations/RemoteWriteGenerator.java b/annotations/src/main/java/io/anuke/annotations/RemoteWriteGenerator.java index 411f8ead86..2b62ad8eeb 100644 --- a/annotations/src/main/java/io/anuke/annotations/RemoteWriteGenerator.java +++ b/annotations/src/main/java/io/anuke/annotations/RemoteWriteGenerator.java @@ -106,7 +106,7 @@ public class RemoteWriteGenerator{ for(VariableElement var : elem.getParameters()){ //special case: calling local-only methods uses the local player if(index == 0 && methodEntry.where == Loc.client){ - results.append("io.anuke.mindustry.Vars.player"); + results.append("io.anuke.mindustry.Min.player"); }else{ results.append(var.getSimpleName()); } diff --git a/core/src/io/anuke/mindustry/Mindustry.java b/core/src/io/anuke/mindustry/ClientLauncher.java similarity index 70% rename from core/src/io/anuke/mindustry/Mindustry.java rename to core/src/io/anuke/mindustry/ClientLauncher.java index ae1a3a1441..fc66020502 100644 --- a/core/src/io/anuke/mindustry/Mindustry.java +++ b/core/src/io/anuke/mindustry/ClientLauncher.java @@ -11,12 +11,11 @@ import io.anuke.mindustry.core.*; import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.gen.*; import io.anuke.mindustry.graphics.*; -import io.anuke.mindustry.io.*; import static io.anuke.arc.Core.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; -public class Mindustry extends ApplicationCore{ +public class ClientLauncher extends ApplicationCore{ private long lastTime; private boolean finished = false; @@ -24,7 +23,6 @@ public class Mindustry extends ApplicationCore{ public void setup(){ Log.setUseColors(false); - Bench.begin("load setup"); Time.setDeltaProvider(() -> { float result = Core.graphics.getDeltaTime() * 60f; return (Float.isNaN(result) || Float.isInfinite(result)) ? 1f : Mathf.clamp(result, 0.0001f, 60f / 10f); @@ -34,45 +32,54 @@ public class Mindustry extends ApplicationCore{ assets = new AssetManager(); atlas = TextureAtlas.blankAtlas(); - assets.load(new Vars()); + assets.load(new Min()); + assets.load(new AssetDescriptor<>("sprites/sprites.atlas", TextureAtlas.class)).loaded = t -> atlas = (TextureAtlas)t; - Bench.begin("cursors"); UI.loadSystemCursors(); - Bench.begin("vars"); - Bench.begin("bundle"); - BundleLoader.load(); + Musics.load(); + Sounds.load(); - Bench.begin("music"); - Musics.loadBegin(); - Bench.begin("sound"); - Sounds.loadBegin(); + add(logic = new Logic()); + add(control = new Control()); + add(renderer = new Renderer()); + add(ui = new UI()); + add(netServer = new NetServer()); + add(netClient = new NetClient()); + + assets.loadRun("content::init+load", ContentLoader.class, () -> { + content.init(); + content.load(); + }); } private void post(){ - Bench.begin("content"); - content.load(); - content.loadColors(); + for(ApplicationListener listener : modules){ + listener.init(); + } + } - Bench.begin("logic"); - add(logic = new Logic()); - Bench.begin("world"); - add(world = new World()); - Bench.begin("control"); - add(control = new Control()); - Bench.begin("renderer"); - add(renderer = new Renderer()); - Bench.begin("ui"); - add(ui = new UI()); - Bench.begin("net"); - add(netServer = new NetServer()); - add(netClient = new NetClient()); - Bench.begin("init"); + @Override + public void add(ApplicationListener module){ + super.add(module); + + //autoload modules when necessary + if(module instanceof Loadable){ + assets.load((Loadable)module); + } + } + + @Override + public void resize(int width, int height){ + super.resize(width, height); + + if(!assets.isFinished()){ + Draw.proj().setOrtho(0, 0, width, height); + } } @Override public void update(){ - // if(!assets.update()){ drawLoading(); }else{ @@ -104,8 +111,14 @@ public class Mindustry extends ApplicationCore{ @Override public void init(){ - super.init(); - Bench.end(); + setup(); + } + + @Override + public void resume(){ + if(finished){ + super.resume(); + } } void drawLoading(){ diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Min.java similarity index 76% rename from core/src/io/anuke/mindustry/Vars.java rename to core/src/io/anuke/mindustry/Min.java index 396ecf8254..ea75d958ba 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Min.java @@ -1,37 +1,36 @@ package io.anuke.mindustry; +import io.anuke.arc.Application.*; import io.anuke.arc.*; -import io.anuke.arc.Application.ApplicationType; import io.anuke.arc.assets.*; -import io.anuke.arc.files.FileHandle; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.util.Structs; +import io.anuke.arc.files.*; +import io.anuke.arc.graphics.*; +import io.anuke.arc.util.*; +import io.anuke.mindustry.ai.*; import io.anuke.mindustry.core.*; import io.anuke.mindustry.entities.*; -import io.anuke.mindustry.entities.bullet.Bullet; -import io.anuke.mindustry.entities.effect.Fire; -import io.anuke.mindustry.entities.effect.Puddle; -import io.anuke.mindustry.entities.impl.EffectEntity; -import io.anuke.mindustry.entities.traits.DrawTrait; -import io.anuke.mindustry.entities.traits.SyncTrait; +import io.anuke.mindustry.entities.bullet.*; +import io.anuke.mindustry.entities.effect.*; +import io.anuke.mindustry.entities.impl.*; +import io.anuke.mindustry.entities.traits.*; import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.game.*; -import io.anuke.mindustry.game.EventType.*; -import io.anuke.mindustry.gen.Serialization; +import io.anuke.mindustry.gen.*; +import io.anuke.mindustry.input.*; +import io.anuke.mindustry.maps.*; import io.anuke.mindustry.net.Net; -import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; +import io.anuke.mindustry.world.blocks.defense.ForceProjector.*; -import java.nio.charset.Charset; -import java.util.Arrays; -import java.util.Locale; +import java.nio.charset.*; +import java.util.*; @SuppressWarnings("unchecked") -public class Vars implements Loadable{ +public class Min implements Loadable{ /** Whether to load locales.*/ public static boolean loadLocales = true; /** IO buffer size. */ public static final int bufferSize = 8192; - /** global charset */ + /** global charset, since Android doesn't support the Charsets class */ public static final Charset charset = Charset.forName("UTF-8"); /** main application name, capitalized */ public static final String appName = "Mindustry"; @@ -116,6 +115,8 @@ public class Vars implements Loadable{ public static FileHandle screenshotDirectory; /** data subdirectory used for custom mmaps */ public static FileHandle customMapDirectory; + /** data subdirectory used for custom mmaps */ + public static FileHandle mapPreviewDirectory; /** tmp subdirectory for map conversion */ public static FileHandle tmpDirectory; /** data subdirectory used for saves */ @@ -137,11 +138,16 @@ public class Vars implements Loadable{ public static DefaultWaves defaultWaves; public static LoopControl loops; + public static World world; + public static Maps maps; + public static WaveSpawner spawner; + public static BlockIndexer indexer; + public static Pathfinder pathfinder; + public static Control control; public static Logic logic; public static Renderer renderer; public static UI ui; - public static World world; public static NetServer netServer; public static NetClient netClient; @@ -160,14 +166,10 @@ public class Vars implements Loadable{ @Override public void loadAsync(){ + loadSettings(); init(); } - @Override - public void loadSync(){ - - } - public static void init(){ Serialization.init(); @@ -190,13 +192,15 @@ public class Vars implements Loadable{ Version.init(); content = new ContentLoader(); - if(!headless){ - content.setVerbose(); - } - loops = new LoopControl(); defaultWaves = new DefaultWaves(); collisions = new EntityCollisions(); + world = new World(); + + maps = new Maps(); + spawner = new WaveSpawner(); + indexer = new BlockIndexer(); + pathfinder = new Pathfinder(); playerGroup = Entities.addGroup(Player.class).enableMapping(); tileGroup = Entities.addGroup(TileEntity.class, false); @@ -227,14 +231,60 @@ public class Vars implements Loadable{ ios = Core.app.getType() == ApplicationType.iOS; android = Core.app.getType() == ApplicationType.Android; - Core.settings.setAppName(appName); - dataDirectory = Core.settings.getDataDirectory(); screenshotDirectory = dataDirectory.child("screenshots/"); customMapDirectory = dataDirectory.child("maps/"); + mapPreviewDirectory = dataDirectory.child("previews/"); saveDirectory = dataDirectory.child("saves/"); tmpDirectory = dataDirectory.child("tmp/"); - Events.fire(new AppLoadEvent()); + maps.load(); + if(!headless){ + content.loadColors(); + maps.loadPreviews(); + } + } + + public static void loadSettings(){ + Core.settings.setAppName(appName); + Core.settings.defaults("locale", "default"); + Core.keybinds.setDefaults(Binding.values()); + Core.settings.load(); + + try{ + //try loading external bundle + FileHandle handle = Core.files.local("bundle"); + + Locale locale = Locale.ENGLISH; + Core.bundle = I18NBundle.createBundle(handle, locale); + + Log.info("NOTE: external translation bundle has been loaded."); + if(!headless){ + Time.run(10f, () -> ui.showInfo("Note: You have successfully loaded an external translation bundle.")); + } + }catch(Throwable e){ + //no external bundle found + + FileHandle handle = Core.files.internal("bundles/bundle"); + + Locale locale; + String loc = Core.settings.getString("locale"); + if(loc.equals("default")){ + locale = Locale.getDefault(); + }else{ + Locale lastLocale; + if(loc.contains("_")){ + String[] split = loc.split("_"); + lastLocale = new Locale(split[0], split[1]); + }else{ + lastLocale = new Locale(loc); + } + + locale = lastLocale; + } + + Locale.setDefault(locale); + Core.bundle = I18NBundle.createBundle(handle, locale); + } } } diff --git a/core/src/io/anuke/mindustry/ai/BlockIndexer.java b/core/src/io/anuke/mindustry/ai/BlockIndexer.java index 19fdfcfb4a..83edec057c 100644 --- a/core/src/io/anuke/mindustry/ai/BlockIndexer.java +++ b/core/src/io/anuke/mindustry/ai/BlockIndexer.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.*; import io.anuke.mindustry.world.meta.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Class used for indexing special target blocks for AI. */ @SuppressWarnings("unchecked") @@ -24,7 +24,7 @@ public class BlockIndexer{ private final static int quadrantSize = 16; /** Set of all ores that are being scanned. */ - private final ObjectSet scanOres = ObjectSet.with(Item.getAllOres().toArray(Item.class)); + private final ObjectSet scanOres = new ObjectSet<>(); private final ObjectSet itemSet = new ObjectSet<>(); /** Stores all ore quadtrants on the map. */ private ObjectMap> ores; @@ -57,6 +57,8 @@ public class BlockIndexer{ }); Events.on(WorldLoadEvent.class, event -> { + scanOres.clear(); + scanOres.addAll(Item.getAllOres()); damagedTiles = new ObjectSet[Team.all.length]; flagMap = new ObjectSet[Team.all.length][BlockFlag.all.length]; diff --git a/core/src/io/anuke/mindustry/ai/Pathfinder.java b/core/src/io/anuke/mindustry/ai/Pathfinder.java index ee37db7460..a00485ca44 100644 --- a/core/src/io/anuke/mindustry/ai/Pathfinder.java +++ b/core/src/io/anuke/mindustry/ai/Pathfinder.java @@ -16,8 +16,7 @@ import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import static io.anuke.mindustry.Vars.state; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.*; public class Pathfinder{ private static final long maxUpdate = Time.millisToNanos(4); @@ -117,7 +116,7 @@ public class Pathfinder{ path.lastSearchTime = Time.millis(); //add all targets to the frontier - for(Tile other : world.indexer.getEnemy(team, BlockFlag.target)){ + for(Tile other : indexer.getEnemy(team, BlockFlag.target)){ path.weights[other.x][other.y] = 0; path.searches[other.x][other.y] = (short)path.search; path.frontier.addFirst(other.pos()); diff --git a/core/src/io/anuke/mindustry/ai/WaveSpawner.java b/core/src/io/anuke/mindustry/ai/WaveSpawner.java index 5863594f4f..d2c6b3710a 100644 --- a/core/src/io/anuke/mindustry/ai/WaveSpawner.java +++ b/core/src/io/anuke/mindustry/ai/WaveSpawner.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class WaveSpawner{ private static final float margin = 40f, coreMargin = tilesize * 3; //how far away from the edge flying units spawn diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index c5784aeeab..b4187be3c4 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -26,7 +26,7 @@ import io.anuke.mindustry.world.consumers.*; import io.anuke.mindustry.world.meta.*; import io.anuke.mindustry.world.modules.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Blocks implements ContentList{ public static Block @@ -515,10 +515,10 @@ public class Blocks implements ContentList{ Draw.alpha(entity.warmup); Lines.lineAngleCenter( - tile.drawx() + Mathf.sin(entity.totalProgress, 6f, Vars.tilesize / 3f * size), + tile.drawx() + Mathf.sin(entity.totalProgress, 6f, Min.tilesize / 3f * size), tile.drawy(), 90, - size * Vars.tilesize / 2f); + size * Min.tilesize / 2f); Draw.reset(); diff --git a/core/src/io/anuke/mindustry/content/Bullets.java b/core/src/io/anuke/mindustry/content/Bullets.java index c0b2ad732c..e970e1c3a0 100644 --- a/core/src/io/anuke/mindustry/content/Bullets.java +++ b/core/src/io/anuke/mindustry/content/Bullets.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.world; public class Bullets implements ContentList{ public static BulletType diff --git a/core/src/io/anuke/mindustry/content/Fx.java b/core/src/io/anuke/mindustry/content/Fx.java index e6cd3b6236..18947df28e 100644 --- a/core/src/io/anuke/mindustry/content/Fx.java +++ b/core/src/io/anuke/mindustry/content/Fx.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.graphics.Drawf; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Item.Icon; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class Fx implements ContentList{ public static Effect diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index 6e085668f0..59157e034b 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -1,16 +1,15 @@ package io.anuke.mindustry.core; import io.anuke.arc.collection.*; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.Pixmap; -import io.anuke.arc.util.Log; +import io.anuke.arc.function.*; +import io.anuke.arc.graphics.*; +import io.anuke.arc.util.*; +import io.anuke.mindustry.*; import io.anuke.mindustry.content.*; -import io.anuke.mindustry.entities.bullet.BulletType; +import io.anuke.mindustry.entities.bullet.*; import io.anuke.mindustry.game.*; import io.anuke.mindustry.type.*; -import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.LegacyColorMapper; +import io.anuke.mindustry.world.*; import static io.anuke.arc.Core.files; @@ -21,8 +20,6 @@ import static io.anuke.arc.Core.files; @SuppressWarnings("unchecked") public class ContentLoader{ private boolean loaded = false; - private boolean verbose = false; - private ObjectMap[] contentNameMap = new ObjectMap[ContentType.values().length]; private Array[] contentMap = new Array[ContentType.values().length]; private MappableContent[][] temporaryMapper; @@ -45,12 +42,14 @@ public class ContentLoader{ new LegacyColorMapper(), }; - public void setVerbose(){ - verbose = true; + public ContentLoader(){ + //hack; allows content to initialize itself by referring to Mins.content, even though it hasn't been fully constructed yet + Min.content = this; + createContent(); } /** Creates all content types. */ - public void load(){ + private void createContent(){ if(loaded){ Log.info("Content already loaded, skipping."); return; @@ -65,8 +64,6 @@ public class ContentLoader{ list.load(); } - int total = 0; - for(ContentType type : ContentType.values()){ for(Content c : contentMap[type.ordinal()]){ @@ -77,7 +74,6 @@ public class ContentLoader{ } contentNameMap[type.ordinal()].put(name, (MappableContent)c); } - total++; } } @@ -91,25 +87,32 @@ public class ContentLoader{ } } - if(verbose){ - Log.info("--- CONTENT INFO ---"); - for(int k = 0; k < contentMap.length; k++){ - Log.info("[{0}]: loaded {1}", ContentType.values()[k].name(), contentMap[k].size); - } - Log.info("Total content loaded: {0}", total); - Log.info("-------------------"); - } - loaded = true; } - public void initialize(Consumer callable){ - initialize(callable, false); + /** Logs content statistics.*/ + public void logContent(){ + Log.info("--- CONTENT INFO ---"); + for(int k = 0; k < contentMap.length; k++){ + Log.info("[{0}]: loaded {1}", ContentType.values()[k].name(), contentMap[k].size); + } + Log.info("Total content loaded: {0}", Array.with(ContentType.values()).mapInt(c -> contentMap[c.ordinal()].size).sum()); + Log.info("-------------------"); + } + + /** Calls Content#init() on everything. Use only after all modules have been created.*/ + public void init(){ + initialize(Content::init); + } + + /** Calls Content#load() on everything. Use only after all modules have been created on the client.*/ + public void load(){ + initialize(Content::load); } /** Initializes all content with the specified function. */ - public void initialize(Consumer callable, boolean override){ - if(initialization.contains(callable) && !override) return; + private void initialize(Consumer callable){ + if(initialization.contains(callable)) return; for(ContentType type : ContentType.values()){ for(Content content : contentMap[type.ordinal()]){ @@ -136,12 +139,8 @@ public class ContentLoader{ pixmap.dispose(); } - public void verbose(boolean verbose){ - this.verbose = verbose; - } - public void dispose(){ - //clear all content, currently not needed + //clear all content, currently not used } public void handleContent(Content content){ diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 556acb1cc4..a64994dc3e 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.core; import io.anuke.arc.*; +import io.anuke.arc.assets.*; import io.anuke.arc.files.*; import io.anuke.arc.graphics.*; import io.anuke.arc.graphics.g2d.*; @@ -13,8 +14,8 @@ import io.anuke.mindustry.content.*; import io.anuke.mindustry.core.GameState.*; import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.type.*; -import io.anuke.mindustry.game.*; import io.anuke.mindustry.game.EventType.*; +import io.anuke.mindustry.game.*; import io.anuke.mindustry.gen.*; import io.anuke.mindustry.input.*; import io.anuke.mindustry.maps.*; @@ -27,7 +28,7 @@ import io.anuke.mindustry.world.blocks.storage.*; import java.io.*; import static io.anuke.arc.Core.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** * Control module. @@ -35,10 +36,10 @@ import static io.anuke.mindustry.Vars.*; * Should not handle any logic-critical state. * This class is not created in the headless server. */ -public class Control implements ApplicationListener{ - public final Saves saves; - public final MusicControl music; - public final Tutorial tutorial; +public class Control implements ApplicationListener, Loadable{ + public Saves saves; + public MusicControl music; + public Tutorial tutorial; public InputHandler input; private Interval timer = new Interval(2); @@ -46,36 +47,6 @@ public class Control implements ApplicationListener{ private boolean wasPaused = false; public Control(){ - saves = new Saves(); - tutorial = new Tutorial(); - music = new MusicControl(); - - UnitScl.dp.setProduct(settings.getInt("uiscale", 100) / 100f); - - Core.input.setCatch(KeyCode.BACK, true); - - content.initialize(Content::init); - Core.atlas = new TextureAtlas("sprites/sprites.atlas"); - Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth(); - content.initialize(Content::load, true); - - data.load(); - - Core.settings.setAppName(appName); - Core.settings.defaults( - "ip", "localhost", - "color-0", Color.rgba8888(playerColors[8]), - "color-1", Color.rgba8888(playerColors[11]), - "color-2", Color.rgba8888(playerColors[13]), - "color-3", Color.rgba8888(playerColors[9]), - "name", "", - "lastBuild", 0 - ); - - createPlayer(); - - saves.load(); - Events.on(StateChangeEvent.class, event -> { if((event.from == State.playing && event.to == State.menu) || (event.from == State.menu && event.to != State.menu)){ Time.runTask(5f, Platform.instance::updateRPC); @@ -176,9 +147,38 @@ public class Control implements ApplicationListener{ Events.on(ZoneConfigureCompleteEvent.class, e -> { ui.hudfrag.showToast(Core.bundle.format("zone.config.complete", e.zone.configureWave)); }); + } + @Override + public void loadAsync(){ + saves = new Saves(); + tutorial = new Tutorial(); + music = new MusicControl(); + + Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth(); + + UnitScl.dp.setProduct(settings.getInt("uiscale", 100) / 100f); + + Core.input.setCatch(KeyCode.BACK, true); + + data.load(); + + Core.settings.defaults( + "ip", "localhost", + "color-0", Color.rgba8888(playerColors[8]), + "name", "", + "lastBuild", 0 + ); + + createPlayer(); + + saves.load(); + } + + @Override + public void loadSync(){ if(android){ - Sounds.empty.loop(0f, 1f, 0f); + //Sounds.empty.loop(0f, 1f, 0f); checkClassicData(); } diff --git a/core/src/io/anuke/mindustry/core/GameState.java b/core/src/io/anuke/mindustry/core/GameState.java index 1e755de6c6..15bbae9dbc 100644 --- a/core/src/io/anuke/mindustry/core/GameState.java +++ b/core/src/io/anuke/mindustry/core/GameState.java @@ -7,8 +7,8 @@ import io.anuke.mindustry.game.EventType.StateChangeEvent; import io.anuke.mindustry.game.*; import io.anuke.mindustry.net.Net; -import static io.anuke.mindustry.Vars.unitGroups; -import static io.anuke.mindustry.Vars.waveTeam; +import static io.anuke.mindustry.Min.unitGroups; +import static io.anuke.mindustry.Min.waveTeam; public class GameState{ /** Current wave number, can be anything in non-wave modes. */ diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index 1cf43878d2..62a7284c12 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -24,7 +24,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** * Logic module. @@ -109,7 +109,7 @@ public class Logic implements ApplicationListener{ } public void runWave(){ - world.spawner.spawnEnemies(); + spawner.spawnEnemies(); state.wave++; state.wavetime = world.isZone() && world.getZone().isBossWave(state.wave) ? state.rules.waveSpacing * state.rules.bossWaveMultiplier : world.isZone() && world.getZone().isLaunchWave(state.wave) ? state.rules.waveSpacing * state.rules.launchWaveMultiplier : state.rules.waveSpacing; @@ -234,7 +234,7 @@ public class Logic implements ApplicationListener{ collisions.collideGroups(bulletGroup, playerGroup); } - world.pathfinder.update(); + pathfinder.update(); } if(!Net.client() && !world.isInvalidMap() && !state.isEditor()){ diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index 81c002966b..4b2571713f 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -9,7 +9,7 @@ import io.anuke.arc.math.RandomXS128; import io.anuke.arc.util.*; import io.anuke.arc.util.io.ReusableByteInStream; import io.anuke.arc.util.serialization.Base64Coder; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Entities; import io.anuke.mindustry.entities.EntityGroup; @@ -33,7 +33,7 @@ import java.io.DataInputStream; import java.io.IOException; import java.util.zip.InflaterInputStream; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class NetClient implements ApplicationListener{ private final static float dataTimeout = 60 * 18; @@ -126,8 +126,8 @@ public class NetClient implements ApplicationListener{ //called on all clients @Remote(called = Loc.server, targets = Loc.server, variants = Variant.both) public static void sendMessage(String message, String sender, Player playersender){ - if(Vars.ui != null){ - Vars.ui.chatfrag.addMessage(message, sender); + if(Min.ui != null){ + Min.ui.chatfrag.addMessage(message, sender); } if(playersender != null){ @@ -139,8 +139,8 @@ public class NetClient implements ApplicationListener{ //equivalent to above method but there's no sender and no console log @Remote(called = Loc.server, targets = Loc.server) public static void sendMessage(String message){ - if(Vars.ui != null){ - Vars.ui.chatfrag.addMessage(message, null); + if(Min.ui != null){ + Min.ui.chatfrag.addMessage(message, null); } } diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 8d210cb930..535166f00c 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -36,7 +36,7 @@ import java.io.*; import java.nio.ByteBuffer; import java.util.zip.DeflaterOutputStream; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class NetServer implements ApplicationListener{ public final static int maxSnapshotSize = 430; diff --git a/core/src/io/anuke/mindustry/core/Platform.java b/core/src/io/anuke/mindustry/core/Platform.java index d66697c25e..d0bb0639d3 100644 --- a/core/src/io/anuke/mindustry/core/Platform.java +++ b/core/src/io/anuke/mindustry/core/Platform.java @@ -9,7 +9,7 @@ import io.anuke.arc.math.RandomXS128; import io.anuke.arc.scene.ui.TextField; import io.anuke.arc.util.serialization.Base64Coder; -import static io.anuke.mindustry.Vars.mobile; +import static io.anuke.mindustry.Min.mobile; public abstract class Platform{ /** Each separate game platform should set this instance to their own implementation. */ diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index c3005cbe79..2b9884b9a8 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -25,7 +25,7 @@ import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.world.blocks.defense.ForceProjector.*; import static io.anuke.arc.Core.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Renderer implements ApplicationListener{ public final BlockRenderer blocks = new BlockRenderer(); diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index a827085625..1cb83530f7 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -3,8 +3,13 @@ package io.anuke.mindustry.core; import io.anuke.arc.*; import io.anuke.arc.Graphics.*; import io.anuke.arc.Graphics.Cursor.*; +import io.anuke.arc.assets.*; +import io.anuke.arc.assets.loaders.*; +import io.anuke.arc.assets.loaders.resolvers.*; +import io.anuke.arc.collection.*; import io.anuke.arc.freetype.*; import io.anuke.arc.freetype.FreeTypeFontGenerator.*; +import io.anuke.arc.freetype.FreetypeFontLoader.*; import io.anuke.arc.function.*; import io.anuke.arc.graphics.*; import io.anuke.arc.graphics.g2d.*; @@ -29,10 +34,10 @@ import io.anuke.mindustry.ui.dialogs.*; import io.anuke.mindustry.ui.fragments.*; import static io.anuke.arc.scene.actions.Actions.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; -public class UI implements ApplicationListener{ - private FreeTypeFontGenerator generator; +public class UI implements ApplicationListener, Loadable{ + private Skin skin; public MenuFragment menufrag; public HudFragment hudfrag; @@ -67,9 +72,25 @@ public class UI implements ApplicationListener{ public Cursor drillCursor, unloadCursor; public UI(){ - Skin skin = new Skin(Core.atlas); - generateFonts(skin); + FileHandleResolver resolver = new InternalFileHandleResolver(); + Core.assets.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver)); + Core.assets.setLoader(BitmapFont.class, null, new FreetypeFontLoader(resolver)); + skin = new Skin(); + setupFonts(); + } + + @Override + public void loadAsync(){ + + } + + @Override + public void loadSync(){ + //TODO type-safe skin files + skin.addRegions(Core.atlas); loadExtraStyle(skin); + skin.getFont("default").getData().markupEnabled = true; + skin.getFont("default").setOwnsTexture(false); skin.load(Core.files.internal("sprites/uiskin.json")); for(BitmapFont font : skin.getAll(BitmapFont.class).values()){ @@ -97,6 +118,11 @@ public class UI implements ApplicationListener{ loadExtraCursors(); } + @Override + public Array getDependencies(){ + return Array.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", BitmapFont.class), new AssetDescriptor<>("default", BitmapFont.class), new AssetDescriptor<>("chat", BitmapFont.class)); + } + /** Called from a static context to make the cursor appear immediately upon startup.*/ public static void loadSystemCursors(){ SystemCursor.arrow.set(Core.graphics.newCursor("cursor")); @@ -130,8 +156,8 @@ public class UI implements ApplicationListener{ unloadCursor = Core.graphics.newCursor("unload"); } - void generateFonts(Skin skin){ - generator = new FreeTypeFontGenerator(Core.files.internal("fonts/font.ttf")); + void setupFonts(){ + String fontName = "fonts/font.ttf"; FreeTypeFontParameter param = new FreeTypeFontParameter(){{ size = (int)(UnitScl.dp.scl(18f)); @@ -148,11 +174,9 @@ public class UI implements ApplicationListener{ incremental = true; }}; - skin.add("outline", generator.generateFont(outlined)); - skin.add("default", generator.generateFont(param)); - skin.add("chat", generator.generateFont(param)); - skin.getFont("default").getData().markupEnabled = true; - skin.getFont("default").setOwnsTexture(false); + Core.assets.load("outline", BitmapFont.class, new FreeTypeFontLoaderParameter(fontName, outlined)).loaded = f -> skin.add("outline", f); + Core.assets.load("default", BitmapFont.class, new FreeTypeFontLoaderParameter(fontName, param)).loaded = f -> skin.add("default", f); + Core.assets.load("chat", BitmapFont.class, new FreeTypeFontLoaderParameter(fontName, param)).loaded = f -> skin.add("chat", f); } @Override @@ -232,7 +256,7 @@ public class UI implements ApplicationListener{ @Override public void dispose(){ - generator.dispose(); + //generator.dispose(); } public void loadAnd(Runnable call){ diff --git a/core/src/io/anuke/mindustry/core/World.java b/core/src/io/anuke/mindustry/core/World.java index 632ea297ee..1d9a4543a4 100644 --- a/core/src/io/anuke/mindustry/core/World.java +++ b/core/src/io/anuke/mindustry/core/World.java @@ -6,7 +6,6 @@ import io.anuke.arc.collection.*; import io.anuke.arc.math.*; import io.anuke.arc.math.geom.*; import io.anuke.arc.util.*; -import io.anuke.mindustry.ai.*; import io.anuke.mindustry.content.*; import io.anuke.mindustry.core.GameState.*; import io.anuke.mindustry.entities.*; @@ -21,13 +20,9 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; -public class World implements ApplicationListener{ - public final Maps maps = new Maps(); - public final BlockIndexer indexer = new BlockIndexer(); - public final WaveSpawner spawner = new WaveSpawner(); - public final Pathfinder pathfinder = new Pathfinder(); +public class World{ public final Context context = new Context(); private Map currentMap; @@ -36,17 +31,7 @@ public class World implements ApplicationListener{ private boolean generating, invalidMap; public World(){ - maps.load(); - } - @Override - public void init(){ - maps.loadLegacyMaps(); - } - - @Override - public void dispose(){ - maps.dispose(); } public boolean isInvalidMap(){ diff --git a/core/src/io/anuke/mindustry/editor/DrawOperation.java b/core/src/io/anuke/mindustry/editor/DrawOperation.java index b5a81a759f..c142922b4b 100755 --- a/core/src/io/anuke/mindustry/editor/DrawOperation.java +++ b/core/src/io/anuke/mindustry/editor/DrawOperation.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class DrawOperation{ private MapEditor editor; diff --git a/core/src/io/anuke/mindustry/editor/EditorTile.java b/core/src/io/anuke/mindustry/editor/EditorTile.java index 6d627399df..fc573adc37 100644 --- a/core/src/io/anuke/mindustry/editor/EditorTile.java +++ b/core/src/io/anuke/mindustry/editor/EditorTile.java @@ -10,8 +10,8 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.*; import io.anuke.mindustry.world.modules.*; -import static io.anuke.mindustry.Vars.state; -import static io.anuke.mindustry.Vars.ui; +import static io.anuke.mindustry.Min.state; +import static io.anuke.mindustry.Min.ui; //TODO somehow remove or replace this class with a more flexible solution public class EditorTile extends Tile{ diff --git a/core/src/io/anuke/mindustry/editor/EditorTool.java b/core/src/io/anuke/mindustry/editor/EditorTool.java index 9da41ad7f2..6e1d4c8dff 100644 --- a/core/src/io/anuke/mindustry/editor/EditorTool.java +++ b/core/src/io/anuke/mindustry/editor/EditorTool.java @@ -5,7 +5,7 @@ import io.anuke.arc.function.*; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Bresenham2; import io.anuke.arc.util.Structs; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.*; @@ -80,7 +80,7 @@ public enum EditorTool{ editor.drawCircle(x, y, tile -> { if(mode == -1){ //erase block - Vars.world.removeBlock(tile); + Min.world.removeBlock(tile); }else if(mode == 0){ //erase ore tile.clearOverlay(); diff --git a/core/src/io/anuke/mindustry/editor/MapEditor.java b/core/src/io/anuke/mindustry/editor/MapEditor.java index bf557eb640..d40a0dbebd 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditor.java +++ b/core/src/io/anuke/mindustry/editor/MapEditor.java @@ -16,7 +16,7 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.BlockPart; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.world; public class MapEditor{ public static final int[] brushSizes = {1, 2, 3, 4, 5, 9, 15, 20}; diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index a5080952e1..53b99ed0c9 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -30,7 +30,7 @@ import io.anuke.mindustry.world.Block.*; import io.anuke.mindustry.world.blocks.*; import io.anuke.mindustry.world.blocks.storage.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MapEditorDialog extends Dialog implements Disposable{ public final MapEditor editor; @@ -93,11 +93,11 @@ public class MapEditorDialog extends Dialog implements Disposable{ "$editor.importmap", "$editor.importmap.description", "icon-load-map", (Runnable)loadDialog::show, "$editor.importfile", "$editor.importfile.description", "icon-file", (Runnable)() -> Platform.instance.showFileChooser("$editor.loadmap", "Map Files", file -> ui.loadAnd(() -> { - world.maps.tryCatchMapError(() -> { + maps.tryCatchMapError(() -> { if(MapIO.isImage(file)){ ui.showInfo("$editor.errorimage"); }else if(file.extension().equalsIgnoreCase(oldMapExtension)){ - editor.beginEdit(world.maps.makeLegacyMap(file)); + editor.beginEdit(maps.makeLegacyMap(file)); }else{ editor.beginEdit(MapIO.createMap(file, true)); } @@ -286,11 +286,11 @@ public class MapEditorDialog extends Dialog implements Disposable{ infoDialog.show(); Core.app.post(() -> ui.showError("$editor.save.noname")); }else{ - Map map = world.maps.all().find(m -> m.name().equals(name)); + Map map = maps.all().find(m -> m.name().equals(name)); if(map != null && !map.custom){ handleSaveBuiltin(map); }else{ - world.maps.saveMap(editor.getTags()); + maps.saveMap(editor.getTags()); ui.showInfoFade("$editor.saved"); } } @@ -670,7 +670,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ int i = 0; blocksOut.clear(); - blocksOut.addAll(Vars.content.blocks()); + blocksOut.addAll(Min.content.blocks()); blocksOut.sort((b1, b2) -> { int core = -Boolean.compare(b1 instanceof CoreBlock, b2 instanceof CoreBlock); if(core != 0) return core; diff --git a/core/src/io/anuke/mindustry/editor/MapGenerateDialog.java b/core/src/io/anuke/mindustry/editor/MapGenerateDialog.java index 7b490f8c63..647e760b3c 100644 --- a/core/src/io/anuke/mindustry/editor/MapGenerateDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapGenerateDialog.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.ui.dialogs.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; @SuppressWarnings("unchecked") public class MapGenerateDialog extends FloatingDialog{ @@ -72,7 +72,7 @@ public class MapGenerateDialog extends FloatingDialog{ }).size(160f, 64f); }else{ buttons.addButton("$settings.reset", () -> { - filters.set(world.maps.readFilters("")); + filters.set(maps.readFilters("")); rebuildFilters(); update(); }).size(160f, 64f); @@ -304,7 +304,7 @@ public class MapGenerateDialog extends FloatingDialog{ } selection.cont.addButton("$filter.defaultores", () -> { - world.maps.addDefaultOres(filters); + maps.addDefaultOres(filters); rebuildFilters(); update(); selection.hide(); diff --git a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java index 82ee7bcd6d..39ac20669f 100644 --- a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java @@ -9,8 +9,6 @@ import io.anuke.mindustry.game.*; import io.anuke.mindustry.io.*; import io.anuke.mindustry.ui.dialogs.*; -import static io.anuke.mindustry.Vars.world; - public class MapInfoDialog extends FloatingDialog{ private final MapEditor editor; private final WaveInfoDialog waveInfo; @@ -61,7 +59,7 @@ public class MapInfoDialog extends FloatingDialog{ t.row(); t.add("$editor.rules").padRight(8).left(); - t.addButton("$edit", () -> ruleInfo.show(Vars.state.rules, () -> Vars.state.rules = new Rules())).left().width(200f); + t.addButton("$edit", () -> ruleInfo.show(Min.state.rules, () -> Min.state.rules = new Rules())).left().width(200f); t.row(); t.add("$editor.waves").padRight(8).left(); @@ -70,7 +68,7 @@ public class MapInfoDialog extends FloatingDialog{ t.row(); t.add("$editor.generation").padRight(8).left(); t.addButton("$edit", - () -> generate.show(world.maps.readFilters(editor.getTags().get("genfilters", "")), + () -> generate.show(Min.maps.readFilters(editor.getTags().get("genfilters", "")), filters -> editor.getTags().put("genfilters", JsonIO.write(filters))) ).left().width(200f); diff --git a/core/src/io/anuke/mindustry/editor/MapLoadDialog.java b/core/src/io/anuke/mindustry/editor/MapLoadDialog.java index de02642f9c..31e339fa05 100644 --- a/core/src/io/anuke/mindustry/editor/MapLoadDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapLoadDialog.java @@ -1,14 +1,14 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.*; import io.anuke.arc.scene.ui.*; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Scaling; -import io.anuke.mindustry.maps.Map; -import io.anuke.mindustry.ui.BorderImage; -import io.anuke.mindustry.ui.dialogs.FloatingDialog; +import io.anuke.arc.scene.ui.layout.*; +import io.anuke.arc.util.*; +import io.anuke.mindustry.maps.*; +import io.anuke.mindustry.ui.*; +import io.anuke.mindustry.ui.dialogs.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.maps; public class MapLoadDialog extends FloatingDialog{ private Map selected = null; @@ -17,7 +17,6 @@ public class MapLoadDialog extends FloatingDialog{ super("$editor.loadmap"); shown(this::rebuild); - rebuild(); TextButton button = new TextButton("$load"); button.setDisabled(() -> selected == null); @@ -35,8 +34,8 @@ public class MapLoadDialog extends FloatingDialog{ public void rebuild(){ cont.clear(); - if(world.maps.all().size > 0){ - selected = world.maps.all().first(); + if(maps.all().size > 0){ + selected = maps.all().first(); } ButtonGroup group = new ButtonGroup<>(); @@ -52,7 +51,7 @@ public class MapLoadDialog extends FloatingDialog{ ScrollPane pane = new ScrollPane(table, "horizontal"); pane.setFadeScrollBars(false); - for(Map map : world.maps.all()){ + for(Map map : maps.all()){ TextButton button = new TextButton(map.name(), "toggle"); button.add(new BorderImage(map.texture, 2f).setScaling(Scaling.fit)).size(16 * 4f); @@ -64,7 +63,7 @@ public class MapLoadDialog extends FloatingDialog{ if(++i % maxcol == 0) table.row(); } - if(world.maps.all().size == 0){ + if(maps.all().size == 0){ table.add("$maps.none").center(); }else{ cont.add("$editor.loadmap"); diff --git a/core/src/io/anuke/mindustry/editor/MapRenderer.java b/core/src/io/anuke/mindustry/editor/MapRenderer.java index 0be885abab..fb53b09732 100644 --- a/core/src/io/anuke/mindustry/editor/MapRenderer.java +++ b/core/src/io/anuke/mindustry/editor/MapRenderer.java @@ -8,7 +8,7 @@ import io.anuke.arc.graphics.Texture; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Disposable; +import io.anuke.arc.util.*; import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.IndexedRenderer; @@ -16,7 +16,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BlockPart; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class MapRenderer implements Disposable{ private static final int chunkSize = 64; diff --git a/core/src/io/anuke/mindustry/editor/MapSaveDialog.java b/core/src/io/anuke/mindustry/editor/MapSaveDialog.java index 57ed966a0a..40ae2553ab 100644 --- a/core/src/io/anuke/mindustry/editor/MapSaveDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapSaveDialog.java @@ -1,14 +1,13 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.scene.ui.TextButton; -import io.anuke.arc.scene.ui.TextField; -import io.anuke.mindustry.core.Platform; -import io.anuke.mindustry.maps.Map; -import io.anuke.mindustry.ui.dialogs.FloatingDialog; +import io.anuke.arc.function.*; +import io.anuke.arc.scene.ui.*; +import io.anuke.mindustry.*; +import io.anuke.mindustry.core.*; +import io.anuke.mindustry.maps.*; +import io.anuke.mindustry.ui.dialogs.*; -import static io.anuke.mindustry.Vars.ui; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.ui; public class MapSaveDialog extends FloatingDialog{ private TextField field; @@ -24,7 +23,7 @@ public class MapSaveDialog extends FloatingDialog{ shown(() -> { cont.clear(); cont.label(() -> { - Map map = world.maps.byName(field.getText()); + Map map = Min.maps.byName(field.getText()); if(map != null){ if(map.custom){ return "$editor.overwrite"; @@ -69,7 +68,7 @@ public class MapSaveDialog extends FloatingDialog{ if(field.getText().isEmpty()){ return true; } - Map map = world.maps.byName(field.getText()); + Map map = Min.maps.byName(field.getText()); return map != null && !map.custom; } } diff --git a/core/src/io/anuke/mindustry/editor/MapView.java b/core/src/io/anuke/mindustry/editor/MapView.java index 0481d4a3f4..82f035ed6a 100644 --- a/core/src/io/anuke/mindustry/editor/MapView.java +++ b/core/src/io/anuke/mindustry/editor/MapView.java @@ -17,8 +17,8 @@ import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.input.Binding; import io.anuke.mindustry.ui.GridImage; -import static io.anuke.mindustry.Vars.mobile; -import static io.anuke.mindustry.Vars.ui; +import static io.anuke.mindustry.Min.mobile; +import static io.anuke.mindustry.Min.ui; public class MapView extends Element implements GestureListener{ private MapEditor editor; diff --git a/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java b/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java index 34c421450d..060648e873 100644 --- a/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java +++ b/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java @@ -10,7 +10,7 @@ import io.anuke.arc.scene.ui.Label; import io.anuke.arc.scene.ui.TextField.TextFieldFilter; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.*; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.*; import io.anuke.mindustry.game.*; import io.anuke.mindustry.graphics.Pal; @@ -18,7 +18,7 @@ import io.anuke.mindustry.io.JsonIO; import io.anuke.mindustry.type.*; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; import static io.anuke.mindustry.game.SpawnGroup.never; public class WaveInfoDialog extends FloatingDialog{ @@ -52,13 +52,13 @@ public class WaveInfoDialog extends FloatingDialog{ dialog.cont.defaults().size(210f, 64f); dialog.cont.addButton("$waves.copy", () -> { ui.showInfoFade("$waves.copied"); - Core.app.setClipboardText(world.maps.writeWaves(groups)); + Core.app.setClipboardText(maps.writeWaves(groups)); dialog.hide(); }).disabled(b -> groups == null); dialog.cont.row(); dialog.cont.addButton("$waves.load", () -> { try{ - groups = world.maps.readWaves(Core.app.getClipboardText()); + groups = maps.readWaves(Core.app.getClipboardText()); buildGroups(); }catch(Exception e){ ui.showError("$waves.invalid"); @@ -242,7 +242,7 @@ public class WaveInfoDialog extends FloatingDialog{ table.add((wave + 1) + "").color(Pal.accent).center().colspan(2).get().setAlignment(Align.center, Align.center); table.row(); - int[] spawned = new int[Vars.content.getBy(ContentType.unit).size]; + int[] spawned = new int[Min.content.getBy(ContentType.unit).size]; for(SpawnGroup spawn : groups){ spawned[spawn.type.id] += spawn.getUnitsSpawned(wave); diff --git a/core/src/io/anuke/mindustry/entities/Damage.java b/core/src/io/anuke/mindustry/entities/Damage.java index 9b75085b0f..77d74b93f7 100644 --- a/core/src/io/anuke/mindustry/entities/Damage.java +++ b/core/src/io/anuke/mindustry/entities/Damage.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.gen.PropCell; import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Utility class for damaging in an area. */ public class Damage{ diff --git a/core/src/io/anuke/mindustry/entities/Entities.java b/core/src/io/anuke/mindustry/entities/Entities.java index 2a6f388ff5..92693a9609 100755 --- a/core/src/io/anuke/mindustry/entities/Entities.java +++ b/core/src/io/anuke/mindustry/entities/Entities.java @@ -10,7 +10,7 @@ import io.anuke.arc.math.geom.Rectangle; import io.anuke.mindustry.entities.traits.DrawTrait; import io.anuke.mindustry.entities.traits.Entity; -import static io.anuke.mindustry.Vars.collisions; +import static io.anuke.mindustry.Min.collisions; public class Entities{ private static final Array> groupArray = new Array<>(); diff --git a/core/src/io/anuke/mindustry/entities/EntityCollisions.java b/core/src/io/anuke/mindustry/entities/EntityCollisions.java index 808f8e4fc8..2534691bb9 100644 --- a/core/src/io/anuke/mindustry/entities/EntityCollisions.java +++ b/core/src/io/anuke/mindustry/entities/EntityCollisions.java @@ -7,8 +7,8 @@ import io.anuke.mindustry.entities.traits.Entity; import io.anuke.mindustry.entities.traits.SolidTrait; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.tilesize; +import static io.anuke.mindustry.Min.world; public class EntityCollisions{ //range for tile collision scanning diff --git a/core/src/io/anuke/mindustry/entities/Units.java b/core/src/io/anuke/mindustry/entities/Units.java index 75bc44dede..2d24672644 100644 --- a/core/src/io/anuke/mindustry/entities/Units.java +++ b/core/src/io/anuke/mindustry/entities/Units.java @@ -11,7 +11,7 @@ import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Utility class for unit and team interactions.*/ public class Units{ @@ -68,13 +68,13 @@ public class Units{ /** Returns the neareset damaged tile. */ public static TileEntity findDamagedTile(Team team, float x, float y){ - Tile tile = Geometry.findClosest(x, y, world.indexer.getDamaged(team)); + Tile tile = Geometry.findClosest(x, y, indexer.getDamaged(team)); return tile == null ? null : tile.entity; } /** Returns the neareset ally tile in a range. */ public static TileEntity findAllyTile(Team team, float x, float y, float range, Predicate pred){ - return world.indexer.findTile(team, x, y, range, pred); + return indexer.findTile(team, x, y, range, pred); } /** Returns the neareset enemy tile in a range. */ @@ -82,7 +82,7 @@ public class Units{ if(team == Team.derelict) return null; for(Team enemy : state.teams.enemiesOf(team)){ - TileEntity entity = world.indexer.findTile(enemy, x, y, range, pred); + TileEntity entity = indexer.findTile(enemy, x, y, range, pred); if(entity != null){ return entity; } diff --git a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java index afe97b5399..068e2e5ac4 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java +++ b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java @@ -16,8 +16,8 @@ import io.anuke.mindustry.entities.type.Unit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.bulletGroup; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.bulletGroup; +import static io.anuke.mindustry.Min.world; public class Bullet extends SolidEntity implements DamageTrait, ScaleTrait, Poolable, DrawTrait, VelocityTrait, TimeTrait, TeamTrait, AbsorbTrait{ public Interval timer = new Interval(3); diff --git a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java index e9edaef777..bae4a02294 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.entities.effect.*; import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class LiquidBulletType extends BulletType{ Liquid liquid; diff --git a/core/src/io/anuke/mindustry/entities/bullet/MassDriverBolt.java b/core/src/io/anuke/mindustry/entities/bullet/MassDriverBolt.java index a3bd379542..03afcb1486 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/MassDriverBolt.java +++ b/core/src/io/anuke/mindustry/entities/bullet/MassDriverBolt.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.entities.Effects; import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.world.blocks.distribution.MassDriver.DriverBulletData; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class MassDriverBolt extends BulletType{ diff --git a/core/src/io/anuke/mindustry/entities/effect/Decal.java b/core/src/io/anuke/mindustry/entities/effect/Decal.java index dd8a499f50..269fae6b97 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Decal.java +++ b/core/src/io/anuke/mindustry/entities/effect/Decal.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.entities.traits.BelowLiquidTrait; import io.anuke.mindustry.entities.traits.DrawTrait; import io.anuke.mindustry.graphics.Pal; -import static io.anuke.mindustry.Vars.groundEffectGroup; +import static io.anuke.mindustry.Min.groundEffectGroup; /** * Class for creating block rubble on the ground. diff --git a/core/src/io/anuke/mindustry/entities/effect/Fire.java b/core/src/io/anuke/mindustry/entities/effect/Fire.java index 8ee58d742a..581405b58b 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Fire.java +++ b/core/src/io/anuke/mindustry/entities/effect/Fire.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.world.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Fire extends TimedEntity implements SaveTrait, SyncTrait{ private static final IntMap map = new IntMap<>(); diff --git a/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java b/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java index 54094c4a87..74c45c2d20 100644 --- a/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java +++ b/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.entities.effect; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.entities.Effects; import io.anuke.mindustry.entities.Effects.Effect; import io.anuke.mindustry.entities.Effects.EffectRenderer; @@ -27,7 +27,7 @@ public class GroundEffectEntity extends EffectEntity{ if(!once && time >= lifetime()){ once = true; time = 0f; - Tile tile = Vars.world.tileWorld(x, y); + Tile tile = Min.world.tileWorld(x, y); if(tile != null && tile.floor().isLiquid){ remove(); } diff --git a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java index 2cb7f567e1..7fd44b83c3 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java +++ b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.effectGroup; +import static io.anuke.mindustry.Min.effectGroup; public class ItemTransfer extends TimedEntity implements DrawTrait{ private Vector2 from = new Vector2(); diff --git a/core/src/io/anuke/mindustry/entities/effect/Lightning.java b/core/src/io/anuke/mindustry/entities/effect/Lightning.java index bc842d7d95..192eeb0a0f 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Lightning.java +++ b/core/src/io/anuke/mindustry/entities/effect/Lightning.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Pal; -import static io.anuke.mindustry.Vars.bulletGroup; +import static io.anuke.mindustry.Min.bulletGroup; public class Lightning extends TimedEntity implements DrawTrait, TimeTrait{ public static final float lifetime = 10f; diff --git a/core/src/io/anuke/mindustry/entities/effect/Puddle.java b/core/src/io/anuke/mindustry/entities/effect/Puddle.java index b9885f5a20..f8efd5d9df 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Puddle.java +++ b/core/src/io/anuke/mindustry/entities/effect/Puddle.java @@ -24,7 +24,7 @@ import io.anuke.mindustry.world.Tile; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrait, SyncTrait{ private static final IntMap map = new IntMap<>(); diff --git a/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java b/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java index 222d1355e4..8391f0eeb6 100644 --- a/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java @@ -5,7 +5,7 @@ import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Mathf; -import static io.anuke.mindustry.Vars.headless; +import static io.anuke.mindustry.Min.headless; public class RubbleDecal extends Decal{ private TextureRegion region; diff --git a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java index 89f4eacf6f..e62b78a716 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java @@ -7,8 +7,8 @@ import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.headless; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.headless; +import static io.anuke.mindustry.Min.world; public class ScorchDecal extends Decal{ private static final int scorches = 5; diff --git a/core/src/io/anuke/mindustry/entities/impl/EffectEntity.java b/core/src/io/anuke/mindustry/entities/impl/EffectEntity.java index 789ce78dfa..82915e8c9f 100644 --- a/core/src/io/anuke/mindustry/entities/impl/EffectEntity.java +++ b/core/src/io/anuke/mindustry/entities/impl/EffectEntity.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.entities.EntityGroup; import io.anuke.mindustry.entities.traits.DrawTrait; import io.anuke.mindustry.entities.traits.Entity; -import static io.anuke.mindustry.Vars.effectGroup; +import static io.anuke.mindustry.Min.effectGroup; public class EffectEntity extends TimedEntity implements Poolable, DrawTrait{ public Effect effect; diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index 1b601d3d7f..991fc2b1af 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.world.blocks.BuildBlock.*; import java.io.*; import java.util.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; import static io.anuke.mindustry.entities.traits.BuilderTrait.BuildDataStatic.*; /** Interface for units that build things.*/ @@ -228,7 +228,7 @@ public interface BuilderTrait extends Entity, TeamTrait{ float px = unit.x + Angles.trnsx(unit.rotation, focusLen); float py = unit.y + Angles.trnsy(unit.rotation, focusLen); - float sz = Vars.tilesize * tile.block().size / 2f; + float sz = Min.tilesize * tile.block().size / 2f; float ang = unit.angleTo(tile); tmptr[0].set(tile.drawx() - sz, tile.drawy() - sz); diff --git a/core/src/io/anuke/mindustry/entities/traits/MinerTrait.java b/core/src/io/anuke/mindustry/entities/traits/MinerTrait.java index 76a66396e1..98e6f333ab 100644 --- a/core/src/io/anuke/mindustry/entities/traits/MinerTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/MinerTrait.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public interface MinerTrait extends Entity{ diff --git a/core/src/io/anuke/mindustry/entities/traits/SolidTrait.java b/core/src/io/anuke/mindustry/entities/traits/SolidTrait.java index 5ebf8105f3..fd43aba206 100644 --- a/core/src/io/anuke/mindustry/entities/traits/SolidTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/SolidTrait.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.entities.traits; import io.anuke.arc.math.geom.*; import io.anuke.arc.math.geom.QuadTree.QuadTreeObject; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; public interface SolidTrait extends QuadTreeObject, MoveTrait, VelocityTrait, Entity, Position{ @@ -33,6 +33,6 @@ public interface SolidTrait extends QuadTreeObject, MoveTrait, VelocityTrait, En } default void move(float x, float y){ - Vars.collisions.move(this, x, y); + Min.collisions.move(this, x, y); } } diff --git a/core/src/io/anuke/mindustry/entities/type/BaseUnit.java b/core/src/io/anuke/mindustry/entities/type/BaseUnit.java index 03f9381aa2..dad0cead6b 100644 --- a/core/src/io/anuke/mindustry/entities/type/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/type/BaseUnit.java @@ -22,7 +22,7 @@ import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Base class for AI units. */ public abstract class BaseUnit extends Unit implements ShooterTrait{ @@ -84,12 +84,12 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ } public boolean isCommanded(){ - return world.indexer.getAllied(team, BlockFlag.comandCenter).size != 0 && world.indexer.getAllied(team, BlockFlag.comandCenter).first().entity instanceof CommandCenterEntity; + return indexer.getAllied(team, BlockFlag.comandCenter).size != 0 && indexer.getAllied(team, BlockFlag.comandCenter).first().entity instanceof CommandCenterEntity; } public UnitCommand getCommand(){ if(isCommanded()){ - return world.indexer.getAllied(team, BlockFlag.comandCenter).first().entity().command; + return indexer.getAllied(team, BlockFlag.comandCenter).first().entity().command; } return null; } @@ -145,12 +145,12 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ } public void targetClosestAllyFlag(BlockFlag flag){ - Tile target = Geometry.findClosest(x, y, world.indexer.getAllied(team, flag)); + Tile target = Geometry.findClosest(x, y, indexer.getAllied(team, flag)); if(target != null) this.target = target.entity; } public void targetClosestEnemyFlag(BlockFlag flag){ - Tile target = Geometry.findClosest(x, y, world.indexer.getEnemy(team, flag)); + Tile target = Geometry.findClosest(x, y, indexer.getEnemy(team, flag)); if(target != null) this.target = target.entity; } @@ -163,8 +163,8 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ public TileEntity getClosestEnemyCore(){ - for(Team enemy : Vars.state.teams.enemiesOf(team)){ - Tile tile = Geometry.findClosest(x, y, Vars.state.teams.get(enemy).cores); + for(Team enemy : Min.state.teams.enemiesOf(team)){ + Tile tile = Geometry.findClosest(x, y, Min.state.teams.get(enemy).cores); if(tile != null){ return tile.entity; } @@ -183,7 +183,7 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ @Override public float getDamageMultipler(){ - return status.getDamageMultiplier() * Vars.state.rules.unitDamageMultiplier; + return status.getDamageMultiplier() * Min.state.rules.unitDamageMultiplier; } @Override @@ -232,7 +232,7 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ @Override public float maxHealth(){ - return type.health * Vars.state.rules.unitHealthMultiplier; + return type.health * Min.state.rules.unitHealthMultiplier; } @Override diff --git a/core/src/io/anuke/mindustry/entities/type/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/type/FlyingUnit.java index 62b2d550be..cb507285ee 100644 --- a/core/src/io/anuke/mindustry/entities/type/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/type/FlyingUnit.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.net.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.meta.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.*; public abstract class FlyingUnit extends BaseUnit{ protected float[] weaponAngles = {0, 0}; @@ -97,7 +97,7 @@ public abstract class FlyingUnit extends BaseUnit{ if(retarget()){ target = getSpawner(); - Tile repair = Geometry.findClosest(x, y, world.indexer.getAllied(team, BlockFlag.repair)); + Tile repair = Geometry.findClosest(x, y, indexer.getAllied(team, BlockFlag.repair)); if(repair != null && damaged()) FlyingUnit.this.target = repair.entity; if(target == null) target = getClosestCore(); } diff --git a/core/src/io/anuke/mindustry/entities/type/GroundUnit.java b/core/src/io/anuke/mindustry/entities/type/GroundUnit.java index 0879325516..0f01cfbee6 100644 --- a/core/src/io/anuke/mindustry/entities/type/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/type/GroundUnit.java @@ -14,7 +14,7 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.*; public abstract class GroundUnit extends BaseUnit{ protected static Vector2 vec = new Vector2(); @@ -223,7 +223,7 @@ public abstract class GroundUnit extends BaseUnit{ protected void moveToCore(){ Tile tile = world.tileWorld(x, y); if(tile == null) return; - Tile targetTile = world.pathfinder.getTargetTile(team, tile); + Tile targetTile = pathfinder.getTargetTile(team, tile); if(tile == targetTile) return; @@ -235,8 +235,8 @@ public abstract class GroundUnit extends BaseUnit{ protected void moveAwayFromCore(){ Team enemy = null; - for(Team team : Vars.state.teams.enemiesOf(team)){ - if(Vars.state.teams.isActive(team)){ + for(Team team : Min.state.teams.enemiesOf(team)){ + if(Min.state.teams.isActive(team)){ enemy = team; break; } @@ -246,7 +246,7 @@ public abstract class GroundUnit extends BaseUnit{ Tile tile = world.tileWorld(x, y); if(tile == null) return; - Tile targetTile = world.pathfinder.getTargetTile(enemy, tile); + Tile targetTile = pathfinder.getTargetTile(enemy, tile); TileEntity core = getClosestCore(); if(tile == targetTile || core == null || dst(core) < 120f) return; diff --git a/core/src/io/anuke/mindustry/entities/type/Player.java b/core/src/io/anuke/mindustry/entities/type/Player.java index 6d0ab81cc5..368c5e4b7f 100644 --- a/core/src/io/anuke/mindustry/entities/type/Player.java +++ b/core/src/io/anuke/mindustry/entities/type/Player.java @@ -12,7 +12,7 @@ import io.anuke.arc.math.geom.*; import io.anuke.arc.scene.ui.layout.*; import io.anuke.arc.util.*; import io.anuke.arc.util.pooling.Pools; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.*; import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.traits.*; @@ -31,7 +31,7 @@ import io.anuke.mindustry.world.blocks.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{ public static final int timerSync = 2; @@ -731,7 +731,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{ target = Units.closestTarget(team, x, y, getWeapon().bullet.range(), u -> u.getTeam() != Team.derelict, u -> u.getTeam() != Team.derelict); if(mech.canHeal && target == null){ - target = Geometry.findClosest(x, y, world.indexer.getDamaged(Team.sharded)); + target = Geometry.findClosest(x, y, indexer.getDamaged(Team.sharded)); if(target != null && dst(target) > getWeapon().bullet.range()){ target = null; }else if(target != null){ @@ -859,7 +859,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{ byte mechid = stream.readByte(); int spawner = stream.readInt(); Tile stile = world.tile(spawner); - Player player = headless ? this : Vars.player; + Player player = headless ? this : Min.player; player.readSaveSuper(stream, version); player.mech = content.getByID(ContentType.mech, mechid); player.dead = false; diff --git a/core/src/io/anuke/mindustry/entities/type/TileEntity.java b/core/src/io/anuke/mindustry/entities/type/TileEntity.java index 7b06a9f066..1d3eca6f4e 100644 --- a/core/src/io/anuke/mindustry/entities/type/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/type/TileEntity.java @@ -20,7 +20,7 @@ import io.anuke.mindustry.world.modules.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ public static final float timeToSleep = 60f * 4; //4 seconds to fall asleep @@ -52,7 +52,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ tile.entity.health = health; if(tile.entity.damaged()){ - world.indexer.notifyTileDamaged(tile.entity); + indexer.notifyTileDamaged(tile.entity); } } } @@ -171,7 +171,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ } if(preHealth >= maxHealth() - 0.00001f && health < maxHealth() && world != null){ //when just damaged - world.indexer.notifyTileDamaged(this); + indexer.notifyTileDamaged(this); } } diff --git a/core/src/io/anuke/mindustry/entities/type/Unit.java b/core/src/io/anuke/mindustry/entities/type/Unit.java index c3ba24a6b9..dd16422162 100644 --- a/core/src/io/anuke/mindustry/entities/type/Unit.java +++ b/core/src/io/anuke/mindustry/entities/type/Unit.java @@ -27,7 +27,7 @@ import io.anuke.mindustry.world.blocks.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public abstract class Unit extends DestructibleEntity implements SaveTrait, TargetTrait, SyncTrait, DrawTrait, TeamTrait{ /** Total duration of hit flash effect */ @@ -256,7 +256,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ //apply knockback based on spawns if(getTeam() != waveTeam){ float relativeSize = state.rules.dropZoneRadius + getSize()/2f + 1f; - for(Tile spawn : world.spawner.getGroundSpawns()){ + for(Tile spawn : spawner.getGroundSpawns()){ if(withinDst(spawn.worldx(), spawn.worldy(), relativeSize)){ velocity.add(Tmp.v1.set(this).sub(spawn.worldx(), spawn.worldy()).setLength(0.1f + 1f - dst(spawn) / relativeSize).scl(0.45f * Time.delta())); } diff --git a/core/src/io/anuke/mindustry/entities/type/base/BaseDrone.java b/core/src/io/anuke/mindustry/entities/type/base/BaseDrone.java index fd245f437c..c771744c05 100644 --- a/core/src/io/anuke/mindustry/entities/type/base/BaseDrone.java +++ b/core/src/io/anuke/mindustry/entities/type/base/BaseDrone.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.entities.units.*; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.*; public abstract class BaseDrone extends FlyingUnit{ public final UnitState retreat = new UnitState(){ @@ -20,7 +20,7 @@ public abstract class BaseDrone extends FlyingUnit{ state.set(getStartState()); }else if(!targetHasFlag(BlockFlag.repair)){ if(retarget()){ - Tile repairPoint = Geometry.findClosest(x, y, world.indexer.getAllied(team, BlockFlag.repair)); + Tile repairPoint = Geometry.findClosest(x, y, indexer.getAllied(team, BlockFlag.repair)); if(repairPoint != null){ target = repairPoint; }else{ @@ -49,7 +49,7 @@ public abstract class BaseDrone extends FlyingUnit{ @Override public void behavior(){ - if(health <= maxHealth() * type.retreatPercent && !state.is(retreat) && Geometry.findClosest(x, y, world.indexer.getAllied(team, BlockFlag.repair)) != null){ + if(health <= maxHealth() * type.retreatPercent && !state.is(retreat) && Geometry.findClosest(x, y, indexer.getAllied(team, BlockFlag.repair)) != null){ setState(retreat); } } diff --git a/core/src/io/anuke/mindustry/entities/type/base/BuilderDrone.java b/core/src/io/anuke/mindustry/entities/type/base/BuilderDrone.java index 21649dbf07..51981a112c 100644 --- a/core/src/io/anuke/mindustry/entities/type/base/BuilderDrone.java +++ b/core/src/io/anuke/mindustry/entities/type/base/BuilderDrone.java @@ -6,7 +6,7 @@ import io.anuke.arc.collection.IntIntMap; import io.anuke.arc.collection.Queue; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.*; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.entities.EntityGroup; import io.anuke.mindustry.entities.traits.BuilderTrait; import io.anuke.mindustry.entities.traits.TargetTrait; @@ -21,7 +21,7 @@ import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class BuilderDrone extends BaseDrone implements BuilderTrait{ private static final StaticReset reset = new StaticReset(); @@ -189,7 +189,7 @@ public class BuilderDrone extends BaseDrone implements BuilderTrait{ } if(isRebuild() && !isBuilding()){ - TeamData data = Vars.state.teams.get(team); + TeamData data = Min.state.teams.get(team); if(!data.brokenBlocks.isEmpty()){ long block = data.brokenBlocks.removeLast(); diff --git a/core/src/io/anuke/mindustry/entities/type/base/MinerDrone.java b/core/src/io/anuke/mindustry/entities/type/base/MinerDrone.java index 450ed3cc34..b456ef2693 100644 --- a/core/src/io/anuke/mindustry/entities/type/base/MinerDrone.java +++ b/core/src/io/anuke/mindustry/entities/type/base/MinerDrone.java @@ -14,7 +14,7 @@ import io.anuke.mindustry.world.Tile; import java.io.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.*; /** A drone that only mines.*/ public class MinerDrone extends BaseDrone implements MinerTrait{ @@ -46,7 +46,7 @@ public class MinerDrone extends BaseDrone implements MinerTrait{ setState(drop); }else{ if(retarget() && targetItem != null){ - target = world.indexer.findClosestOre(x, y, targetItem); + target = indexer.findClosestOre(x, y, targetItem); } if(target instanceof Tile){ @@ -174,6 +174,6 @@ public class MinerDrone extends BaseDrone implements MinerTrait{ if(entity == null){ return; } - targetItem = Structs.findMin(type.toMine, world.indexer::hasOre, (a, b) -> -Integer.compare(entity.items.get(a), entity.items.get(b))); + targetItem = Structs.findMin(type.toMine, indexer::hasOre, (a, b) -> -Integer.compare(entity.items.get(a), entity.items.get(b))); } } diff --git a/core/src/io/anuke/mindustry/entities/type/base/RepairDrone.java b/core/src/io/anuke/mindustry/entities/type/base/RepairDrone.java index be16cd1724..5af88e2c6a 100644 --- a/core/src/io/anuke/mindustry/entities/type/base/RepairDrone.java +++ b/core/src/io/anuke/mindustry/entities/type/base/RepairDrone.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.world.blocks.*; import java.io.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.world; public class RepairDrone extends BaseDrone{ public final UnitState repair = new UnitState(){ diff --git a/core/src/io/anuke/mindustry/entities/units/Statuses.java b/core/src/io/anuke/mindustry/entities/units/Statuses.java index 75551f692b..6bc022270e 100644 --- a/core/src/io/anuke/mindustry/entities/units/Statuses.java +++ b/core/src/io/anuke/mindustry/entities/units/Statuses.java @@ -14,7 +14,7 @@ import io.anuke.mindustry.type.StatusEffect; import java.io.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; /** Class for controlling status effects on an entity. */ public class Statuses implements Saveable{ diff --git a/core/src/io/anuke/mindustry/entities/units/UnitDrops.java b/core/src/io/anuke/mindustry/entities/units/UnitDrops.java index 142f2f3d65..79ade052b1 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitDrops.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitDrops.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.units; import io.anuke.arc.math.Mathf; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.entities.type.BaseUnit; import io.anuke.mindustry.entities.type.TileEntity; @@ -13,13 +13,13 @@ public class UnitDrops{ public static void dropItems(BaseUnit unit){ //items only dropped in waves for enemy team - if(unit.getTeam() != Vars.waveTeam || !Vars.state.rules.unitDrops){ + if(unit.getTeam() != Min.waveTeam || !Min.state.rules.unitDrops){ return; } TileEntity core = unit.getClosestEnemyCore(); - if(core == null || core.dst(unit) > Vars.mineTransferRange){ + if(core == null || core.dst(unit) > Min.mineTransferRange){ return; } @@ -30,7 +30,7 @@ public class UnitDrops{ for(int i = 0; i < 3; i++){ for(Item item : dropTable){ //only drop unlocked items - if(!Vars.headless && !Vars.data.isUnlocked(item)){ + if(!Min.headless && !Min.data.isUnlocked(item)){ continue; } diff --git a/core/src/io/anuke/mindustry/game/Content.java b/core/src/io/anuke/mindustry/game/Content.java index b03177e9c3..1c3f0b4943 100644 --- a/core/src/io/anuke/mindustry/game/Content.java +++ b/core/src/io/anuke/mindustry/game/Content.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.type.ContentType; @@ -9,8 +9,8 @@ public abstract class Content{ public final short id; public Content(){ - this.id = (short)Vars.content.getBy(getContentType()).size; - Vars.content.handleContent(this); + this.id = (short)Min.content.getBy(getContentType()).size; + Min.content.handleContent(this); } /** @@ -19,7 +19,7 @@ public abstract class Content{ */ public abstract ContentType getContentType(); - /** Called after all content is created. Do not use to load regions or texture data! */ + /** Called after all content and modules are created. Do not use to load regions or texture data! */ public void init(){ } diff --git a/core/src/io/anuke/mindustry/game/Gamemode.java b/core/src/io/anuke/mindustry/game/Gamemode.java index 4c8e42e1f1..b9a0e93ba3 100644 --- a/core/src/io/anuke/mindustry/game/Gamemode.java +++ b/core/src/io/anuke/mindustry/game/Gamemode.java @@ -4,7 +4,7 @@ import io.anuke.arc.*; import io.anuke.arc.function.*; import io.anuke.mindustry.maps.*; -import static io.anuke.mindustry.Vars.waveTeam; +import static io.anuke.mindustry.Min.waveTeam; /** Defines preset rule sets. */ public enum Gamemode{ diff --git a/core/src/io/anuke/mindustry/game/GlobalData.java b/core/src/io/anuke/mindustry/game/GlobalData.java index a905f09d39..2a242f35fc 100644 --- a/core/src/io/anuke/mindustry/game/GlobalData.java +++ b/core/src/io/anuke/mindustry/game/GlobalData.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.content.*; import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.type.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Stores player unlocks. Clientside only. */ public class GlobalData{ @@ -106,7 +106,7 @@ public class GlobalData{ @SuppressWarnings("unchecked") public void load(){ unlocked = Core.settings.getObject("unlocks", ObjectMap.class, ObjectMap::new); - for(Item item : Vars.content.items()){ + for(Item item : Min.content.items()){ items.put(item, Core.settings.getInt("item-" + item.name, 0)); } @@ -118,7 +118,7 @@ public class GlobalData{ public void save(){ Core.settings.putObject("unlocks", unlocked); - for(Item item : Vars.content.items()){ + for(Item item : Min.content.items()){ Core.settings.put("item-" + item.name, items.get(item, 0)); } Core.settings.save(); diff --git a/core/src/io/anuke/mindustry/game/LoopControl.java b/core/src/io/anuke/mindustry/game/LoopControl.java index 3924a1c28c..39eafa75e7 100644 --- a/core/src/io/anuke/mindustry/game/LoopControl.java +++ b/core/src/io/anuke/mindustry/game/LoopControl.java @@ -11,7 +11,7 @@ public class LoopControl{ private ObjectMap sounds = new ObjectMap<>(); public void play(Sound sound, Position pos, float volume){ - if(Vars.headless) return; + if(Min.headless) return; float baseVol = sound.calcFalloff(pos.getX(), pos.getY()); float vol = baseVol * volume; diff --git a/core/src/io/anuke/mindustry/game/MusicControl.java b/core/src/io/anuke/mindustry/game/MusicControl.java index 643626c318..54ed2a6786 100644 --- a/core/src/io/anuke/mindustry/game/MusicControl.java +++ b/core/src/io/anuke/mindustry/game/MusicControl.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.core.GameState.*; import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.gen.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Controls playback of multiple music tracks.*/ public class MusicControl{ diff --git a/core/src/io/anuke/mindustry/game/Saves.java b/core/src/io/anuke/mindustry/game/Saves.java index 86873d0a3b..f6f282caf3 100644 --- a/core/src/io/anuke/mindustry/game/Saves.java +++ b/core/src/io/anuke/mindustry/game/Saves.java @@ -17,8 +17,8 @@ import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; -import static io.anuke.mindustry.Vars.saveExtension; -import static io.anuke.mindustry.Vars.state; +import static io.anuke.mindustry.Min.saveExtension; +import static io.anuke.mindustry.Min.state; public class Saves{ private int nextSlot; diff --git a/core/src/io/anuke/mindustry/game/SpawnGroup.java b/core/src/io/anuke/mindustry/game/SpawnGroup.java index 4637ba4bfd..a68d9660c9 100644 --- a/core/src/io/anuke/mindustry/game/SpawnGroup.java +++ b/core/src/io/anuke/mindustry/game/SpawnGroup.java @@ -6,7 +6,7 @@ import io.anuke.arc.util.serialization.JsonValue; import io.anuke.mindustry.entities.type.BaseUnit; import io.anuke.mindustry.type.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; /** * A spawn group defines spawn information for a specific type of unit, with optional extra information like diff --git a/core/src/io/anuke/mindustry/game/Teams.java b/core/src/io/anuke/mindustry/game/Teams.java index be4d1a7e2c..404f2a08b1 100644 --- a/core/src/io/anuke/mindustry/game/Teams.java +++ b/core/src/io/anuke/mindustry/game/Teams.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.game; import io.anuke.annotations.Annotations.Struct; import io.anuke.arc.collection.*; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.world.Tile; /** Class for various team-based utilities. */ @@ -29,7 +29,7 @@ public class Teams{ /** Returns whether a team is active, e.g. whether it has any cores remaining. */ public boolean isActive(Team team){ //the enemy wave team is always active - return team == Vars.waveTeam || get(team).cores.size > 0; + return team == Min.waveTeam || get(team).cores.size > 0; } /** Returns a set of all teams that are enemies of this team. */ diff --git a/core/src/io/anuke/mindustry/game/Tutorial.java b/core/src/io/anuke/mindustry/game/Tutorial.java index eb39c55eca..ce1d9a5fe5 100644 --- a/core/src/io/anuke/mindustry/game/Tutorial.java +++ b/core/src/io/anuke/mindustry/game/Tutorial.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Handles tutorial state. */ public class Tutorial{ @@ -161,7 +161,7 @@ public class Tutorial{ } }, deposit(() -> event("deposit")), - waves(() -> state.wave > 2 && state.enemies() <= 0 && !world.spawner.isSpawning()){ + waves(() -> state.wave > 2 && state.enemies() <= 0 && !spawner.isSpawning()){ void begin(){ state.rules.waveTimer = true; logic.runWave(); diff --git a/core/src/io/anuke/mindustry/game/UnlockableContent.java b/core/src/io/anuke/mindustry/game/UnlockableContent.java index 24edd13949..cbbf9fabb9 100644 --- a/core/src/io/anuke/mindustry/game/UnlockableContent.java +++ b/core/src/io/anuke/mindustry/game/UnlockableContent.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.game; import io.anuke.arc.Core; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; /** Base interface for an unlockable content type. */ public abstract class UnlockableContent extends MappableContent{ @@ -42,7 +42,7 @@ public abstract class UnlockableContent extends MappableContent{ } public final boolean unlocked(){ - return Vars.data.isUnlocked(this); + return Min.data.isUnlocked(this); } public final boolean locked(){ diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index 292052479c..ead7607f46 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.*; import static io.anuke.arc.Core.camera; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class BlockRenderer implements Disposable{ private final static int initialRequests = 32 * 32; diff --git a/core/src/io/anuke/mindustry/graphics/CacheLayer.java b/core/src/io/anuke/mindustry/graphics/CacheLayer.java index 9c96f4d3c5..5d37c7d13f 100644 --- a/core/src/io/anuke/mindustry/graphics/CacheLayer.java +++ b/core/src/io/anuke/mindustry/graphics/CacheLayer.java @@ -6,7 +6,7 @@ import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.glutils.Shader; import static io.anuke.arc.Core.camera; -import static io.anuke.mindustry.Vars.renderer; +import static io.anuke.mindustry.Min.renderer; public enum CacheLayer{ water{ diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index 58d022f579..25a8717c9b 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -15,8 +15,8 @@ import io.anuke.mindustry.world.blocks.Floor; import java.util.Arrays; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.tilesize; +import static io.anuke.mindustry.Min.world; public class FloorRenderer implements Disposable{ private final static int chunksize = 64; diff --git a/core/src/io/anuke/mindustry/graphics/MenuRenderer.java b/core/src/io/anuke/mindustry/graphics/MenuRenderer.java index 240f7e584f..a7c7f2b8d9 100644 --- a/core/src/io/anuke/mindustry/graphics/MenuRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/MenuRenderer.java @@ -19,7 +19,7 @@ import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.OreBlock; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MenuRenderer implements Disposable{ private static final float darkness = 0.3f; diff --git a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java index 754743318e..d9e28ba767 100644 --- a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.io.*; import io.anuke.mindustry.world.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MinimapRenderer implements Disposable{ private static final float baseSize = 16f; diff --git a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java index fda9f63e52..ce26a0c189 100644 --- a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java @@ -9,7 +9,7 @@ import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.util.Time; import io.anuke.arc.util.Tmp; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.type.Player; @@ -18,7 +18,7 @@ import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class OverlayRenderer{ private static final float indicatorLength = 14f; @@ -38,7 +38,7 @@ public class OverlayRenderer{ if(Core.settings.getBool("indicators")){ for(Player player : playerGroup.all()){ - if(Vars.player != player && Vars.player.getTeam() == player.getTeam()){ + if(Min.player != player && Min.player.getTeam() == player.getTeam()){ if(!rect.setSize(Core.camera.width * 0.9f, Core.camera.height * 0.9f) .setCenter(Core.camera.position.x, Core.camera.position.y).contains(player.x, player.y)){ @@ -96,7 +96,7 @@ public class OverlayRenderer{ Lines.stroke(2f); Draw.color(Color.GRAY, Color.LIGHT_GRAY, Mathf.absin(Time.time(), 8f, 1f)); - for(Tile tile : world.spawner.getGroundSpawns()){ + for(Tile tile : spawner.getGroundSpawns()){ if(tile.withinDst(player.x, player.y, state.rules.dropZoneRadius + spawnerMargin)){ Draw.alpha(Mathf.clamp(1f - (player.dst(tile) - state.rules.dropZoneRadius) / spawnerMargin)); Lines.dashCircle(tile.worldx(), tile.worldy(), state.rules.dropZoneRadius); diff --git a/core/src/io/anuke/mindustry/graphics/Pixelator.java b/core/src/io/anuke/mindustry/graphics/Pixelator.java index 8cc252eebd..aa3c7d8b0a 100644 --- a/core/src/io/anuke/mindustry/graphics/Pixelator.java +++ b/core/src/io/anuke/mindustry/graphics/Pixelator.java @@ -10,8 +10,8 @@ import io.anuke.mindustry.entities.type.Player; import static io.anuke.arc.Core.camera; import static io.anuke.arc.Core.graphics; -import static io.anuke.mindustry.Vars.playerGroup; -import static io.anuke.mindustry.Vars.renderer; +import static io.anuke.mindustry.Min.playerGroup; +import static io.anuke.mindustry.Min.renderer; public class Pixelator implements Disposable{ private FrameBuffer buffer = new FrameBuffer(2, 2); diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index caf01eeb25..70f309c08e 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.*; import static io.anuke.arc.Core.scene; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; import static io.anuke.mindustry.input.PlaceMode.*; public class DesktopInput extends InputHandler{ diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index 6ed371a7ec..33e5938988 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -25,7 +25,7 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.ui.fragments.*; import io.anuke.mindustry.world.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public abstract class InputHandler implements InputProcessor{ /** Used for dropping items. */ diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 138a7120eb..df0fb7c5af 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.input.PlaceUtils.*; import io.anuke.mindustry.world.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; import static io.anuke.mindustry.input.PlaceMode.*; public class MobileInput extends InputHandler implements GestureListener{ diff --git a/core/src/io/anuke/mindustry/input/PlaceUtils.java b/core/src/io/anuke/mindustry/input/PlaceUtils.java index 52e06e518b..0e8a2baf9c 100644 --- a/core/src/io/anuke/mindustry/input/PlaceUtils.java +++ b/core/src/io/anuke/mindustry/input/PlaceUtils.java @@ -7,7 +7,7 @@ import io.anuke.arc.math.geom.Point2; import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.world.Block; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class PlaceUtils{ private static final NormalizeResult result = new NormalizeResult(); diff --git a/core/src/io/anuke/mindustry/io/BundleLoader.java b/core/src/io/anuke/mindustry/io/BundleLoader.java deleted file mode 100644 index 74a123b23f..0000000000 --- a/core/src/io/anuke/mindustry/io/BundleLoader.java +++ /dev/null @@ -1,63 +0,0 @@ -package io.anuke.mindustry.io; - -import io.anuke.arc.Core; -import io.anuke.arc.files.FileHandle; -import io.anuke.arc.util.*; -import io.anuke.mindustry.Vars; -import io.anuke.mindustry.input.Binding; - -import java.util.Locale; - -import static io.anuke.mindustry.Vars.headless; - -public class BundleLoader{ - - public static void load(){ - Core.settings.defaults("locale", "default"); - Core.keybinds.setDefaults(Binding.values()); - Core.settings.load(); - loadBundle(); - } - - private static Locale getLocale(){ - String loc = Core.settings.getString("locale"); - if(loc.equals("default")){ - return Locale.getDefault(); - }else{ - Locale lastLocale; - if(loc.contains("_")){ - String[] split = loc.split("_"); - lastLocale = new Locale(split[0], split[1]); - }else{ - lastLocale = new Locale(loc); - } - - return lastLocale; - } - } - - private static void loadBundle(){ - if(headless) return; - - try{ - //try loading external bundle - FileHandle handle = Core.files.local("bundle"); - - Locale locale = Locale.ENGLISH; - Core.bundle = I18NBundle.createBundle(handle, locale); - - Log.info("NOTE: external translation bundle has been loaded."); - if(!headless){ - Time.run(10f, () -> Vars.ui.showInfo("Note: You have successfully loaded an external translation bundle.")); - } - }catch(Throwable e){ - //no external bundle found - - FileHandle handle = Core.files.internal("bundles/bundle"); - - Locale locale = getLocale(); - Locale.setDefault(locale); - Core.bundle = I18NBundle.createBundle(handle, locale); - } - } -} diff --git a/core/src/io/anuke/mindustry/io/JsonIO.java b/core/src/io/anuke/mindustry/io/JsonIO.java index 15f1e18476..ee6ffd7269 100644 --- a/core/src/io/anuke/mindustry/io/JsonIO.java +++ b/core/src/io/anuke/mindustry/io/JsonIO.java @@ -50,7 +50,7 @@ public class JsonIO{ @Override public Zone read(Json json, JsonValue jsonData, Class type){ - return Vars.content.getByName(ContentType.zone, jsonData.asString()); + return Min.content.getByName(ContentType.zone, jsonData.asString()); } }); @@ -63,13 +63,13 @@ public class JsonIO{ @Override public Item read(Json json, JsonValue jsonData, Class type){ if(jsonData.asString() == null) return Items.copper; - Item i = Vars.content.getByName(ContentType.item, jsonData.asString()); + Item i = Min.content.getByName(ContentType.item, jsonData.asString()); return i == null ? Items.copper : i; } }); //TODO extremely hacky and disgusting - for(Block block : Vars.content.blocks()){ + for(Block block : Min.content.blocks()){ Class type = block.getClass(); if(type.isAnonymousClass()) type = type.getSuperclass(); @@ -81,7 +81,7 @@ public class JsonIO{ @Override public Block read(Json json, JsonValue jsonData, Class type){ - return Vars.content.getByName(ContentType.block, jsonData.asString()); + return Min.content.getByName(ContentType.block, jsonData.asString()); } }); } @@ -94,7 +94,7 @@ public class JsonIO{ @Override public Block read(Json json, JsonValue jsonData, Class type){ - return Vars.content.getByName(ContentType.block, jsonData.asString()); + return Min.content.getByName(ContentType.block, jsonData.asString()); } }); diff --git a/core/src/io/anuke/mindustry/io/LegacyMapIO.java b/core/src/io/anuke/mindustry/io/LegacyMapIO.java index d948fbee19..95df3eaaa6 100644 --- a/core/src/io/anuke/mindustry/io/LegacyMapIO.java +++ b/core/src/io/anuke/mindustry/io/LegacyMapIO.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.world.blocks.Floor; import java.io.*; import java.util.zip.InflaterInputStream; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Map IO for the "old" .mmap format. * Differentiate between legacy maps and new maps by checking the extension (or the header).*/ diff --git a/core/src/io/anuke/mindustry/io/MapIO.java b/core/src/io/anuke/mindustry/io/MapIO.java index 722dcaae8b..7f21e14c3f 100644 --- a/core/src/io/anuke/mindustry/io/MapIO.java +++ b/core/src/io/anuke/mindustry/io/MapIO.java @@ -14,7 +14,7 @@ import io.anuke.mindustry.world.blocks.storage.*; import java.io.*; import java.util.zip.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Reads and writes map files. */ //TODO does this class even need to exist??? move to Maps? diff --git a/core/src/io/anuke/mindustry/io/SaveIO.java b/core/src/io/anuke/mindustry/io/SaveIO.java index cb79c0222d..d022dca685 100644 --- a/core/src/io/anuke/mindustry/io/SaveIO.java +++ b/core/src/io/anuke/mindustry/io/SaveIO.java @@ -4,7 +4,7 @@ import io.anuke.arc.collection.*; import io.anuke.arc.files.FileHandle; import io.anuke.arc.util.io.CounterInputStream; import io.anuke.arc.util.io.FastDeflaterOutputStream; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.io.versions.Save1; import io.anuke.mindustry.io.versions.Save2; import io.anuke.mindustry.world.WorldContext; @@ -13,7 +13,7 @@ import java.io.*; import java.util.Arrays; import java.util.zip.InflaterInputStream; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class SaveIO{ /** Format header. This is the string 'MSAV' in ASCII. */ @@ -108,7 +108,7 @@ public class SaveIO{ } public static FileHandle fileFor(int slot){ - return saveDirectory.child(slot + "." + Vars.saveExtension); + return saveDirectory.child(slot + "." + Min.saveExtension); } public static FileHandle backupFileFor(FileHandle file){ diff --git a/core/src/io/anuke/mindustry/io/SaveMeta.java b/core/src/io/anuke/mindustry/io/SaveMeta.java index c3fd749024..7780f4cbae 100644 --- a/core/src/io/anuke/mindustry/io/SaveMeta.java +++ b/core/src/io/anuke/mindustry/io/SaveMeta.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.io; import io.anuke.arc.collection.*; -import io.anuke.mindustry.game.Rules; -import io.anuke.mindustry.maps.Map; +import io.anuke.mindustry.game.*; +import io.anuke.mindustry.maps.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.maps; public class SaveMeta{ public int version; @@ -21,7 +21,7 @@ public class SaveMeta{ this.build = build; this.timestamp = timestamp; this.timePlayed = timePlayed; - this.map = world.maps.all().find(m -> m.name().equals(map)); + this.map = maps.all().find(m -> m.name().equals(map)); this.wave = wave; this.rules = rules; this.tags = tags; diff --git a/core/src/io/anuke/mindustry/io/SaveVersion.java b/core/src/io/anuke/mindustry/io/SaveVersion.java index 90d3af2210..2a08ea91f2 100644 --- a/core/src/io/anuke/mindustry/io/SaveVersion.java +++ b/core/src/io/anuke/mindustry/io/SaveVersion.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.world.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public abstract class SaveVersion extends SaveFileReader{ public final int version; @@ -81,7 +81,7 @@ public abstract class SaveVersion extends SaveFileReader{ if(state.rules.spawns.isEmpty()) state.rules.spawns = defaultWaves.get(); lastReadBuild = map.getInt("build", -1); - Map worldmap = world.maps.byName(map.get("mapname", "\\\\\\")); + Map worldmap = maps.byName(map.get("mapname", "\\\\\\")); world.setMap(worldmap == null ? new Map(StringMap.of( "name", map.get("mapname", "Unknown"), "width", 1, diff --git a/core/src/io/anuke/mindustry/io/TypeIO.java b/core/src/io/anuke/mindustry/io/TypeIO.java index c9ea5dc4fc..e36247b4a2 100644 --- a/core/src/io/anuke/mindustry/io/TypeIO.java +++ b/core/src/io/anuke/mindustry/io/TypeIO.java @@ -3,7 +3,6 @@ package io.anuke.mindustry.io; import io.anuke.annotations.Annotations.ReadClass; import io.anuke.annotations.Annotations.WriteClass; import io.anuke.arc.graphics.Color; -import io.anuke.arc.util.CommandHandler.*; import io.anuke.mindustry.entities.Effects; import io.anuke.mindustry.entities.Effects.Effect; import io.anuke.mindustry.entities.Entities; @@ -23,7 +22,7 @@ import io.anuke.mindustry.world.*; import java.io.*; import java.nio.ByteBuffer; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; /** Class for specifying read/write methods for code generation. */ @SuppressWarnings("unused") diff --git a/core/src/io/anuke/mindustry/maps/Map.java b/core/src/io/anuke/mindustry/maps/Map.java index 7e2e63071a..a1b1bd09c8 100644 --- a/core/src/io/anuke/mindustry/maps/Map.java +++ b/core/src/io/anuke/mindustry/maps/Map.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.game.*; import io.anuke.mindustry.io.*; import io.anuke.mindustry.maps.filters.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.maps; public class Map implements Comparable{ /** Whether this is a custom map. */ @@ -50,16 +50,20 @@ public class Map implements Comparable{ } public Map(StringMap tags){ - this(Vars.customMapDirectory.child(tags.get("name", "unknown")), 0, 0, tags, true); + this(Min.customMapDirectory.child(tags.get("name", "unknown")), 0, 0, tags, true); } public int getHightScore(){ return Core.settings.getInt("hiscore" + file.nameWithoutExtension(), 0); } + public FileHandle previewFile(){ + return Min.mapPreviewDirectory.child(file.nameWithoutExtension() + ".png"); + } + public void setHighScore(int score){ Core.settings.put("hiscore" + file.nameWithoutExtension(), score); - Vars.data.modified(); + Min.data.modified(); } /** Returns the result of applying this map's rules to the specified gamemode.*/ @@ -80,7 +84,7 @@ public class Map implements Comparable{ public Rules rules(Rules base){ try{ Rules result = JsonIO.read(Rules.class, base, tags.get("rules", "{}")); - if(result.spawns.isEmpty()) result.spawns = Vars.defaultWaves.get(); + if(result.spawns.isEmpty()) result.spawns = Min.defaultWaves.get(); return result; }catch(Exception e){ //error reading rules. ignore? @@ -94,7 +98,7 @@ public class Map implements Comparable{ if(tags.getInt("build", -1) < 83 && tags.getInt("build", -1) != -1 && tags.get("genfilters", "").isEmpty()){ return Array.with(); } - return world.maps.readFilters(tags.get("genfilters", "")); + return maps.readFilters(tags.get("genfilters", "")); } public String author(){ diff --git a/core/src/io/anuke/mindustry/maps/Maps.java b/core/src/io/anuke/mindustry/maps/Maps.java index 13590e9aa9..80a543136b 100644 --- a/core/src/io/anuke/mindustry/maps/Maps.java +++ b/core/src/io/anuke/mindustry/maps/Maps.java @@ -1,11 +1,13 @@ package io.anuke.mindustry.maps; import io.anuke.arc.*; +import io.anuke.arc.assets.*; import io.anuke.arc.collection.*; import io.anuke.arc.files.*; import io.anuke.arc.function.*; import io.anuke.arc.graphics.*; import io.anuke.arc.util.*; +import io.anuke.arc.util.async.*; import io.anuke.arc.util.serialization.*; import io.anuke.mindustry.content.*; import io.anuke.mindustry.game.*; @@ -16,9 +18,9 @@ import io.anuke.mindustry.world.blocks.storage.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; -public class Maps implements Disposable{ +public class Maps{ /** List of all built-in maps. Filenames only. */ private static String[] defaultMapNames = {"maze", "fortress", "labyrinth", "islands", "tendrils", "caldera", "wasteland", "shattered", "fork", "triad", "veins", "glacier"}; /** All maps stored in an ordered array. */ @@ -26,6 +28,8 @@ public class Maps implements Disposable{ /** Serializer for meta. */ private Json json = new Json(); + private AsyncExecutor executor = new AsyncExecutor(2); + /** Returns a list of all maps, including custom ones. */ public Array all(){ return maps; @@ -74,7 +78,13 @@ public class Maps implements Disposable{ } public void reload(){ - dispose(); + for(Map map : maps){ + if(map.texture != null){ + map.texture.dispose(); + map.texture = null; + } + } + maps.clear(); load(); } @@ -128,7 +138,10 @@ public class Maps implements Disposable{ } } - map.texture = new Texture(MapIO.generatePreview(world.getTiles())); + Pixmap pix = MapIO.generatePreview(world.getTiles()); + executor.submit(() -> map.previewFile().writePNG(pix)); + + map.texture = new Texture(pix); } maps.add(map); maps.sort(); @@ -284,6 +297,31 @@ public class Maps implements Disposable{ } } + public void loadPreviews(){ + for(Map map : maps){ + try{ + //try to load preview + if(map.previewFile().exists()){ + try{ + Core.assets.load(new AssetDescriptor<>(map.previewFile(), Texture.class)).loaded = t -> map.texture = (Texture)t; + //if it works, keep going + continue; + }catch(Exception e){ + Log.err("Found cached preview, but failed to load it!"); + e.printStackTrace(); + } + } + //if it's here, then the preview failed to load or doesn't exist, make it + //this has to be done synchronously! + Pixmap pix = MapIO.generatePreview(map); + Core.app.post(() -> map.texture = new Texture(pix)); + executor.submit(() -> map.previewFile().writePNG(pix)); + }catch(IOException e){ + e.printStackTrace(); + } + } + } + /** Find a new filename to put a map to. */ private FileHandle findFile(){ //find a map name that isn't used. @@ -301,10 +339,6 @@ public class Maps implements Disposable{ throw new IOException("Map name cannot be empty! File: " + file); } - if(!headless){ - map.texture = new Texture(MapIO.generatePreview(map)); - } - maps.add(map); //maps.sort(); } @@ -321,15 +355,4 @@ public class Maps implements Disposable{ } } } - - @Override - public void dispose(){ - for(Map map : maps){ - if(map.texture != null){ - map.texture.dispose(); - map.texture = null; - } - } - maps.clear(); - } } \ No newline at end of file diff --git a/core/src/io/anuke/mindustry/maps/filters/FilterOption.java b/core/src/io/anuke/mindustry/maps/filters/FilterOption.java index 7874f85c5b..af7b41fc80 100644 --- a/core/src/io/anuke/mindustry/maps/filters/FilterOption.java +++ b/core/src/io/anuke/mindustry/maps/filters/FilterOption.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.Block.*; import io.anuke.mindustry.world.blocks.*; -import static io.anuke.mindustry.Vars.updateEditorOnChange; +import static io.anuke.mindustry.Min.updateEditorOnChange; public abstract class FilterOption{ public static final Predicate floorsOnly = b -> (b instanceof Floor && !(b instanceof OverlayFloor)) && Core.atlas.isFound(b.icon(Icon.full)); @@ -81,7 +81,7 @@ public abstract class FilterOption{ FloatingDialog dialog = new FloatingDialog(""); dialog.setFillParent(false); int i = 0; - for(Block block : Vars.content.blocks()){ + for(Block block : Min.content.blocks()){ if(!filter.test(block)) continue; dialog.cont.addImage(block == Blocks.air ? Core.atlas.find("icon-none-small") : block.icon(Icon.medium)).size(8 * 4).pad(3).get().clicked(() -> { diff --git a/core/src/io/anuke/mindustry/maps/filters/MedianFilter.java b/core/src/io/anuke/mindustry/maps/filters/MedianFilter.java index 9cc4606d20..7053d0fa3f 100644 --- a/core/src/io/anuke/mindustry/maps/filters/MedianFilter.java +++ b/core/src/io/anuke/mindustry/maps/filters/MedianFilter.java @@ -5,7 +5,7 @@ import io.anuke.arc.math.*; import io.anuke.mindustry.maps.filters.FilterOption.*; import io.anuke.mindustry.world.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class MedianFilter extends GenerateFilter{ float radius = 2; diff --git a/core/src/io/anuke/mindustry/maps/filters/OreMedianFilter.java b/core/src/io/anuke/mindustry/maps/filters/OreMedianFilter.java index 8080b49699..b12cc2e47d 100644 --- a/core/src/io/anuke/mindustry/maps/filters/OreMedianFilter.java +++ b/core/src/io/anuke/mindustry/maps/filters/OreMedianFilter.java @@ -52,6 +52,6 @@ public class OreMedianFilter extends GenerateFilter{ int index = Math.min((int)(blocks.size * percentile), blocks.size - 1); int overlay = blocks.get(index); - in.ore = Vars.content.block(overlay); + in.ore = Min.content.block(overlay); } } diff --git a/core/src/io/anuke/mindustry/maps/generators/MapGenerator.java b/core/src/io/anuke/mindustry/maps/generators/MapGenerator.java index 52ad2b35c9..950cea480e 100644 --- a/core/src/io/anuke/mindustry/maps/generators/MapGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generators/MapGenerator.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.*; import io.anuke.mindustry.world.blocks.storage.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MapGenerator extends Generator{ private Map map; @@ -51,7 +51,7 @@ public class MapGenerator extends Generator{ @Override public void init(Loadout loadout){ this.loadout = loadout; - map = world.maps.loadInternalMap(mapName); + map = maps.loadInternalMap(mapName); width = map.width; height = map.height; } diff --git a/core/src/io/anuke/mindustry/maps/generators/RandomGenerator.java b/core/src/io/anuke/mindustry/maps/generators/RandomGenerator.java index 23591e86df..6a24dcd7bb 100644 --- a/core/src/io/anuke/mindustry/maps/generators/RandomGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generators/RandomGenerator.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.world; public abstract class RandomGenerator extends Generator{ protected Block floor; diff --git a/core/src/io/anuke/mindustry/net/Administration.java b/core/src/io/anuke/mindustry/net/Administration.java index c1edec3ecb..c003a6a28b 100644 --- a/core/src/io/anuke/mindustry/net/Administration.java +++ b/core/src/io/anuke/mindustry/net/Administration.java @@ -4,7 +4,7 @@ import io.anuke.annotations.Annotations.Serialize; import io.anuke.arc.Core; import io.anuke.arc.collection.*; -import static io.anuke.mindustry.Vars.headless; +import static io.anuke.mindustry.Min.headless; public class Administration{ diff --git a/core/src/io/anuke/mindustry/net/CrashSender.java b/core/src/io/anuke/mindustry/net/CrashSender.java index cea92225a2..1144a9302e 100644 --- a/core/src/io/anuke/mindustry/net/CrashSender.java +++ b/core/src/io/anuke/mindustry/net/CrashSender.java @@ -50,8 +50,8 @@ public class CrashSender{ } try{ - File file = new File(OS.getAppDataDirectoryString(Vars.appName), "crashes/crash-report-" + DateTimeFormatter.ofPattern("MM_dd_yyyy_HH_mm_ss").format(LocalDateTime.now()) + ".txt"); - Files.createDirectories(Paths.get(OS.getAppDataDirectoryString(Vars.appName), "crashes")); + File file = new File(OS.getAppDataDirectoryString(Min.appName), "crashes/crash-report-" + DateTimeFormatter.ofPattern("MM_dd_yyyy_HH_mm_ss").format(LocalDateTime.now()) + ".txt"); + Files.createDirectories(Paths.get(OS.getAppDataDirectoryString(Min.appName), "crashes")); Files.write(file.toPath(), parseException(exception).getBytes()); writeListener.accept(file); @@ -95,8 +95,8 @@ public class CrashSender{ ex(() -> value.addChild("build", new JsonValue(Version.build))); ex(() -> value.addChild("net", new JsonValue(fn))); ex(() -> value.addChild("server", new JsonValue(fs))); - ex(() -> value.addChild("players", new JsonValue(Vars.playerGroup.size()))); - ex(() -> value.addChild("state", new JsonValue(Vars.state.getState().name()))); + ex(() -> value.addChild("players", new JsonValue(Min.playerGroup.size()))); + ex(() -> value.addChild("state", new JsonValue(Min.state.getState().name()))); ex(() -> value.addChild("os", new JsonValue(System.getProperty("os.name") + "x" + (OS.is64Bit ? "64" : "32")))); ex(() -> value.addChild("trace", new JsonValue(parseException(exception)))); @@ -104,7 +104,7 @@ public class CrashSender{ Log.info("Sending crash report."); //post to crash report URL - httpPost(Vars.crashReportURL, value.toJson(OutputType.json), r -> { + httpPost(Min.crashReportURL, value.toJson(OutputType.json), r -> { Log.info("Crash sent successfully."); sent[0] = true; System.exit(1); diff --git a/core/src/io/anuke/mindustry/net/Net.java b/core/src/io/anuke/mindustry/net/Net.java index 006def1fcf..4f9a57e4f3 100644 --- a/core/src/io/anuke/mindustry/net/Net.java +++ b/core/src/io/anuke/mindustry/net/Net.java @@ -14,7 +14,7 @@ import net.jpountz.lz4.*; import java.io.*; import java.nio.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; @SuppressWarnings("unchecked") public class Net{ diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index 1729f3d4e4..80e2ccec65 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -13,7 +13,7 @@ import java.io.*; import java.nio.ByteBuffer; import java.util.Arrays; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class NetworkIO{ diff --git a/core/src/io/anuke/mindustry/type/Item.java b/core/src/io/anuke/mindustry/type/Item.java index b3ae589254..268e1e564e 100644 --- a/core/src/io/anuke/mindustry/type/Item.java +++ b/core/src/io/anuke/mindustry/type/Item.java @@ -1,16 +1,15 @@ package io.anuke.mindustry.type; -import io.anuke.arc.Core; -import io.anuke.arc.collection.Array; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.mindustry.game.UnlockableContent; -import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.mindustry.world.blocks.OreBlock; +import io.anuke.arc.*; +import io.anuke.arc.collection.*; +import io.anuke.arc.graphics.*; +import io.anuke.arc.graphics.g2d.*; +import io.anuke.arc.scene.ui.layout.*; +import io.anuke.mindustry.game.*; +import io.anuke.mindustry.ui.*; +import io.anuke.mindustry.world.blocks.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class Item extends UnlockableContent implements Comparable{ public final Color color; @@ -40,6 +39,7 @@ public class Item extends UnlockableContent implements Comparable{ this.description = Core.bundle.getOrNull("item." + this.name + ".description"); } + @Override public void load(){ regions = new TextureRegion[Icon.values().length]; for(int i = 0; i < regions.length; i++){ diff --git a/core/src/io/anuke/mindustry/type/Loadout.java b/core/src/io/anuke/mindustry/type/Loadout.java index 05339c3d1b..215a668cdb 100644 --- a/core/src/io/anuke/mindustry/type/Loadout.java +++ b/core/src/io/anuke/mindustry/type/Loadout.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.game.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.storage.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Loadout extends Content{ private final Array outArray = new Array<>(); diff --git a/core/src/io/anuke/mindustry/type/Weapon.java b/core/src/io/anuke/mindustry/type/Weapon.java index 4e77b2bc4a..cf0913e311 100644 --- a/core/src/io/anuke/mindustry/type/Weapon.java +++ b/core/src/io/anuke/mindustry/type/Weapon.java @@ -73,7 +73,7 @@ public class Weapon{ if(player == null) return; //clients do not see their own shoot events: they are simulated completely clientside to prevent laggy visuals //messing with the firerate or any other stats does not affect the server (take that, script kiddies!) - if(Net.client() && player == Vars.player){ + if(Net.client() && player == Min.player){ return; } diff --git a/core/src/io/anuke/mindustry/type/Zone.java b/core/src/io/anuke/mindustry/type/Zone.java index 02ef87b8e1..df78c770aa 100644 --- a/core/src/io/anuke/mindustry/type/Zone.java +++ b/core/src/io/anuke/mindustry/type/Zone.java @@ -1,7 +1,9 @@ package io.anuke.mindustry.type; import io.anuke.arc.*; +import io.anuke.arc.assets.*; import io.anuke.arc.collection.*; +import io.anuke.arc.files.*; import io.anuke.arc.function.*; import io.anuke.arc.graphics.*; import io.anuke.arc.graphics.g2d.*; @@ -15,7 +17,7 @@ import io.anuke.mindustry.world.*; import java.util.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Zone extends UnlockableContent{ public final Generator generator; @@ -39,6 +41,13 @@ public class Zone extends UnlockableContent{ public Zone(String name, Generator generator){ super(name); this.generator = generator; + + if(!headless){ + FileHandle file = Core.files.internal("zones/" + name + ".png"); + if(file.exists()){ + Core.assets.load(new AssetDescriptor<>(file, Texture.class)).loaded = t -> preview = (Texture)t; + } + } } public Rules getRules(){ @@ -174,13 +183,6 @@ public class Zone extends UnlockableContent{ } } - @Override - public void load(){ - if(Core.files.internal("zones/" + name + ".png").exists() && !headless){ - preview = new Texture(Core.files.internal("zones/" + name + ".png")); - } - } - @Override public boolean alwaysUnlocked(){ return alwaysUnlocked; diff --git a/core/src/io/anuke/mindustry/ui/ItemsDisplay.java b/core/src/io/anuke/mindustry/ui/ItemsDisplay.java index 97208b54ab..7b5c481cb6 100644 --- a/core/src/io/anuke/mindustry/ui/ItemsDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ItemsDisplay.java @@ -10,8 +10,8 @@ import io.anuke.mindustry.type.ItemType; import java.text.NumberFormat; import java.util.Locale; -import static io.anuke.mindustry.Vars.content; -import static io.anuke.mindustry.Vars.data; +import static io.anuke.mindustry.Min.content; +import static io.anuke.mindustry.Min.data; /** Displays a list of items, e.g. launched items.*/ public class ItemsDisplay extends Table{ diff --git a/core/src/io/anuke/mindustry/ui/Minimap.java b/core/src/io/anuke/mindustry/ui/Minimap.java index 4dfc419a70..4c63098ad5 100644 --- a/core/src/io/anuke/mindustry/ui/Minimap.java +++ b/core/src/io/anuke/mindustry/ui/Minimap.java @@ -7,7 +7,7 @@ import io.anuke.arc.scene.Element; import io.anuke.arc.scene.event.*; import io.anuke.arc.scene.ui.layout.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Minimap extends Table{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java index bac51b97bf..415f0b16cf 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.ui.Links; import io.anuke.mindustry.ui.Links.LinkEntry; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class AboutDialog extends FloatingDialog{ private Array contributors = new Array<>(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java index 2462ec9fe4..85898e007a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java @@ -4,7 +4,7 @@ import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.mindustry.net.Administration.PlayerInfo; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class AdminsDialog extends FloatingDialog{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/BansDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/BansDialog.java index 9caad501c1..8252a987bc 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/BansDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/BansDialog.java @@ -4,7 +4,7 @@ import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.mindustry.net.Administration.PlayerInfo; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class BansDialog extends FloatingDialog{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java index 3ea7f3d3d4..64e34fab26 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java @@ -7,8 +7,8 @@ import io.anuke.arc.scene.ui.Dialog; import io.anuke.arc.scene.ui.ImageButton; import io.anuke.arc.scene.ui.layout.Table; -import static io.anuke.mindustry.Vars.player; -import static io.anuke.mindustry.Vars.playerColors; +import static io.anuke.mindustry.Min.player; +import static io.anuke.mindustry.Min.playerColors; public class ColorPickDialog extends Dialog{ private Consumer cons; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java index c63c845248..657a42767d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java @@ -4,7 +4,7 @@ import io.anuke.arc.Core; import io.anuke.arc.input.KeyCode; import io.anuke.arc.scene.ui.*; import io.anuke.arc.util.Align; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.graphics.Pal; public class ControlsDialog extends KeybindDialog{ @@ -17,7 +17,7 @@ public class ControlsDialog extends KeybindDialog{ titleTable.row(); titleTable.add(new Image("whiteui")) .growX().height(3f).pad(4f).get().setColor(Pal.accent); - if(Vars.mobile){ + if(Min.mobile){ cont.row(); cont.add("$keybinds.mobile") .center().growX().wrap().get().setAlignment(Align.center); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java index fccf4fff16..617eb2f792 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java @@ -6,13 +6,12 @@ import io.anuke.arc.math.*; import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.layout.*; import io.anuke.arc.util.*; +import io.anuke.mindustry.*; import io.anuke.mindustry.game.*; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.maps.*; import io.anuke.mindustry.ui.*; -import static io.anuke.mindustry.Vars.world; - public class CustomGameDialog extends FloatingDialog{ private MapPlayDialog dialog = new MapPlayDialog(); @@ -42,7 +41,7 @@ public class CustomGameDialog extends FloatingDialog{ int i = 0; maps.defaults().width(170).fillY().top().pad(4f); - for(Map map : world.maps.all()){ + for(Map map : Min.maps.all()){ if(i % maxwidth == 0){ maps.row(); @@ -83,7 +82,7 @@ public class CustomGameDialog extends FloatingDialog{ i++; } - if(world.maps.all().size == 0){ + if(Min.maps.all().size == 0){ maps.add("$maps.none").pad(50); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/CustomRulesDialog.java index e306ecdea3..2efa61890a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/CustomRulesDialog.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.ItemType; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class CustomRulesDialog extends FloatingDialog{ private Table main; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/DatabaseDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/DatabaseDialog.java index 1f5dfc8679..bc8327661f 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/DatabaseDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/DatabaseDialog.java @@ -8,7 +8,7 @@ import io.anuke.arc.scene.event.HandCursorListener; import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.UnlockableContent; @@ -33,7 +33,7 @@ public class DatabaseDialog extends FloatingDialog{ table.margin(20); ScrollPane pane = new ScrollPane(table); - Array[] allContent = Vars.content.getContentMap(); + Array[] allContent = Min.content.getContentMap(); for(int j = 0; j < allContent.length; j++){ ContentType type = ContentType.values()[j]; @@ -56,16 +56,16 @@ public class DatabaseDialog extends FloatingDialog{ UnlockableContent unlock = (UnlockableContent)array.get(i); Image image = unlocked(unlock) ? new Image(unlock.getContentIcon()) : new Image("icon-locked", Pal.gray); - list.add(image).size(unlocked(unlock) ? 8*4 : Vars.iconsize).pad(3); + list.add(image).size(unlocked(unlock) ? 8*4 : Min.iconsize).pad(3); ClickListener listener = new ClickListener(); image.addListener(listener); - if(!Vars.mobile && unlocked(unlock)){ + if(!Min.mobile && unlocked(unlock)){ image.addListener(new HandCursorListener()); image.update(() -> image.getColor().lerp(!listener.isOver() ? Color.LIGHT_GRAY : Color.WHITE, 0.4f * Time.delta())); } if(unlocked(unlock)){ - image.clicked(() -> Vars.ui.content.show(unlock)); + image.clicked(() -> Min.ui.content.show(unlock)); image.addListener(new Tooltip(t -> t.background("button").add(unlock.localizedName()))); } @@ -81,6 +81,6 @@ public class DatabaseDialog extends FloatingDialog{ } boolean unlocked(UnlockableContent content){ - return (!Vars.world.isZone() && !Vars.state.is(State.menu)) || content.unlocked(); + return (!Min.world.isZone() && !Min.state.is(State.menu)) || content.unlocked(); } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/DeployDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/DeployDialog.java index 166697e4ff..0f881aef75 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/DeployDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/DeployDialog.java @@ -26,7 +26,7 @@ import io.anuke.mindustry.type.Zone.*; import io.anuke.mindustry.ui.*; import io.anuke.mindustry.ui.TreeLayout.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class DeployDialog extends FloatingDialog{ private final float nodeSize = UnitScl.dp.scl(230f); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java index c7c343c6c6..fe0ef1ec63 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java @@ -5,7 +5,7 @@ import io.anuke.arc.graphics.Color; import io.anuke.arc.scene.ui.Dialog; import io.anuke.mindustry.graphics.Pal; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class DiscordDialog extends Dialog{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java index e81c312347..197233b1f7 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java @@ -16,7 +16,7 @@ import io.anuke.mindustry.core.Platform; import java.util.Arrays; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class FileChooser extends FloatingDialog{ private static final FileHandle homeDirectory = Core.files.absolute(OS.isMac ? OS.getProperty("user.home") + "/Downloads/" : Core.files.getExternalStoragePath()); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java index 54a502627e..8546fcee21 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.gen.*; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.net.Net; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class FloatingDialog extends Dialog{ private boolean wasPaused; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/GameOverDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/GameOverDialog.java index 3078c01d56..4ce2befb90 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/GameOverDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/GameOverDialog.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.game.*; import io.anuke.mindustry.type.*; import io.anuke.mindustry.type.Item.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class GameOverDialog extends FloatingDialog{ private Team winner; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java index 82ddf20e6b..ae2c49bc80 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java @@ -5,13 +5,13 @@ import io.anuke.arc.graphics.Color; import io.anuke.arc.scene.ui.ImageButton; import io.anuke.arc.util.Strings; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.net.Net; import java.io.IOException; -import static io.anuke.mindustry.Vars.player; -import static io.anuke.mindustry.Vars.ui; +import static io.anuke.mindustry.Min.player; +import static io.anuke.mindustry.Min.ui; public class HostDialog extends FloatingDialog{ float w = 300; @@ -53,7 +53,7 @@ public class HostDialog extends FloatingDialog{ ui.loadfrag.show("$hosting"); Time.runTask(5f, () -> { try{ - Net.host(Vars.port); + Net.host(Min.port); player.isAdmin = true; }catch(IOException e){ ui.showError(Core.bundle.format("server.error", Strings.parseException(e, true))); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java index 7b1486c270..67269ee48e 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java @@ -16,7 +16,7 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.*; import io.anuke.mindustry.net.Packets.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class JoinDialog extends FloatingDialog{ Array servers = new Array<>(); @@ -317,7 +317,7 @@ public class JoinDialog extends FloatingDialog{ Time.runTask(2f, () -> { logic.reset(); Net.reset(); - Vars.netClient.beginConnecting(); + Min.netClient.beginConnecting(); Net.connect(ip, port, () -> { hide(); add.hide(); @@ -357,16 +357,16 @@ public class JoinDialog extends FloatingDialog{ this.port = Integer.parseInt(ip.substring(idx + 1)); }catch(Exception e){ this.ip = ip; - this.port = Vars.port; + this.port = Min.port; } }else{ this.ip = ip; - this.port = Vars.port; + this.port = Min.port; } } String displayIP(){ - return ip + (port != Vars.port ? ":" + port : ""); + return ip + (port != Min.port ? ":" + port : ""); } public Server(){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java index f1a1a15ac2..808e0d2072 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java @@ -8,8 +8,8 @@ import io.anuke.arc.util.Strings; import java.util.Locale; -import static io.anuke.mindustry.Vars.locales; -import static io.anuke.mindustry.Vars.ui; +import static io.anuke.mindustry.Min.locales; +import static io.anuke.mindustry.Min.ui; public class LanguageDialog extends FloatingDialog{ private Locale lastLocale; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index 043bc7585a..7be80c9138 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -16,7 +16,7 @@ import io.anuke.mindustry.net.Net; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class LoadDialog extends FloatingDialog{ ScrollPane pane; @@ -95,7 +95,7 @@ public class LoadDialog extends FloatingDialog{ }, false, FileChooser.saveFiles); }else{ try{ - FileHandle file = Core.files.local("save-" + slot.getName() + "." + Vars.saveExtension); + FileHandle file = Core.files.local("save-" + slot.getName() + "." + Min.saveExtension); slot.exportFile(file); Platform.instance.shareFile(file); }catch(Exception e){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadoutDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadoutDialog.java index eb05a7502f..d7385c3359 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadoutDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadoutDialog.java @@ -8,7 +8,7 @@ import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.layout.*; import io.anuke.mindustry.type.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class LoadoutDialog extends FloatingDialog{ private Runnable hider; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MapPlayDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MapPlayDialog.java index 26ed6bf1c9..2fbf192eff 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MapPlayDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MapPlayDialog.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.game.*; import io.anuke.mindustry.maps.*; import io.anuke.mindustry.ui.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MapPlayDialog extends FloatingDialog{ CustomRulesDialog dialog = new CustomRulesDialog(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java index 41a7ec23c8..9468b83a38 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.io.*; import io.anuke.mindustry.maps.*; import io.anuke.mindustry.ui.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MapsDialog extends FloatingDialog{ private FloatingDialog dialog; @@ -63,7 +63,7 @@ public class MapsDialog extends FloatingDialog{ if(!ios){ buttons.addImageTextButton("$editor.importmap", "icon-load", iconsize, () -> { Platform.instance.showFileChooser("$editor.importmap", "Map File", file -> { - world.maps.tryCatchMapError(() -> { + maps.tryCatchMapError(() -> { if(MapIO.isImage(file)){ ui.showError("$editor.errorimage"); return; @@ -73,14 +73,14 @@ public class MapsDialog extends FloatingDialog{ if(file.extension().equalsIgnoreCase(mapExtension)){ map = MapIO.createMap(file, true); }else{ - map = world.maps.makeLegacyMap(file); + map = maps.makeLegacyMap(file); } //when you attempt to import a save, it will have no name, so generate one String name = map.tags.getOr("name", () -> { String result = "unknown"; int number = 0; - while(world.maps.byName(result + number++) != null) ; + while(maps.byName(result + number++) != null) ; return result + number; }); @@ -90,19 +90,19 @@ public class MapsDialog extends FloatingDialog{ return; } - Map conflict = world.maps.all().find(m -> m.name().equals(name)); + Map conflict = maps.all().find(m -> m.name().equals(name)); if(conflict != null && !conflict.custom){ ui.showInfo(Core.bundle.format("editor.import.exists", name)); }else if(conflict != null){ ui.showConfirm("$confirm", "$editor.overwrite.confirm", () -> { - world.maps.tryCatchMapError(() -> { - world.maps.importMap(file); + maps.tryCatchMapError(() -> { + maps.importMap(file); setup(); }); }); }else{ - world.maps.importMap(map.file); + maps.importMap(map.file); setup(); } @@ -123,7 +123,7 @@ public class MapsDialog extends FloatingDialog{ float mapsize = 200f; int i = 0; - for(Map map : world.maps.all()){ + for(Map map : Min.maps.all()){ if(i % maxwidth == 0){ maps.row(); @@ -143,7 +143,7 @@ public class MapsDialog extends FloatingDialog{ i++; } - if(world.maps.all().size == 0){ + if(Min.maps.all().size == 0){ maps.add("$maps.none"); } @@ -189,7 +189,7 @@ public class MapsDialog extends FloatingDialog{ table.addImageTextButton("$editor.openin", "icon-load-map-small", iconsizesmall, () -> { try{ - Vars.ui.editor.beginEditMap(map.file); + Min.ui.editor.beginEditMap(map.file); dialog.hide(); hide(); }catch(Exception e){ @@ -200,7 +200,7 @@ public class MapsDialog extends FloatingDialog{ table.addImageTextButton("$delete", "icon-trash-16-small", iconsizesmall, () -> { ui.showConfirm("$confirm", Core.bundle.format("map.delete", map.name()), () -> { - world.maps.removeMap(map); + maps.removeMap(map); dialog.hide(); setup(); }); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MinimapDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MinimapDialog.java index 41790548a8..6b9306df18 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MinimapDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MinimapDialog.java @@ -8,7 +8,7 @@ import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; import io.anuke.arc.scene.ui.layout.UnitScl; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MinimapDialog extends FloatingDialog{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java index 62b4f24a79..9973cc56c3 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java @@ -5,7 +5,7 @@ import io.anuke.arc.input.KeyCode; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.net.Net; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class PausedDialog extends FloatingDialog{ private SaveDialog save = new SaveDialog(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java index 1a3966b4d1..13fa5bf96a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java @@ -6,7 +6,7 @@ import io.anuke.arc.util.Time; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Saves.SaveSlot; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class SaveDialog extends LoadDialog{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index 66a12ed80c..4cdba77b96 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -19,7 +19,7 @@ import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.net.Net; import static io.anuke.arc.Core.bundle; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class SettingsMenuDialog extends SettingsDialog{ public SettingsTable graphics; @@ -192,8 +192,7 @@ public class SettingsMenuDialog extends SettingsDialog{ } graphics.sliderPref("uiscale", 100, 25, 400, 25, s -> { - if(Core.graphics.getFrameId() > 10){ - Log.info("changed"); + if(ui.settings != null){ Core.settings.put("uiscalechanged", true); } return s + "%"; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java index 4af3810a1f..76c985549b 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java @@ -22,7 +22,7 @@ import io.anuke.mindustry.ui.*; import io.anuke.mindustry.ui.TreeLayout.*; import io.anuke.mindustry.world.Block.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class TechTreeDialog extends FloatingDialog{ private final float nodeSize = UnitScl.dp.scl(60f); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ZoneInfoDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ZoneInfoDialog.java index 55de763cc2..5c8de837d8 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ZoneInfoDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ZoneInfoDialog.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.type.Zone.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.Block.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ZoneInfoDialog extends FloatingDialog{ private LoadoutDialog loadout = new LoadoutDialog(); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java index b41dd8ea40..52ef3a4b28 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class BlockConfigFragment extends Fragment{ private Table table = new Table(); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index 4a8b96707e..6872115f29 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -27,7 +27,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Item.Icon; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class BlockInventoryFragment extends Fragment{ private final static float holdWithdraw = 20f; diff --git a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java index ca8aab453a..45c119691e 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java @@ -14,15 +14,15 @@ import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.UnitScl; import io.anuke.arc.util.Align; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.input.Binding; import io.anuke.mindustry.net.Net; import static io.anuke.arc.Core.input; import static io.anuke.arc.Core.scene; -import static io.anuke.mindustry.Vars.maxTextLength; -import static io.anuke.mindustry.Vars.mobile; +import static io.anuke.mindustry.Min.maxTextLength; +import static io.anuke.mindustry.Min.mobile; public class ChatFragment extends Table{ private final static int messagesShown = 10; @@ -104,7 +104,7 @@ public class ChatFragment extends Table{ fieldlabel.setStyle(fieldlabel.getStyle()); chatfield = new TextField("", new TextField.TextFieldStyle(scene.skin.get(TextField.TextFieldStyle.class))); - chatfield.setFilter((field, c) -> field.getText().length() < Vars.maxTextLength); + chatfield.setFilter((field, c) -> field.getText().length() < Min.maxTextLength); chatfield.getStyle().background = null; chatfield.getStyle().font = scene.skin.getFont("chat"); chatfield.getStyle().fontColor = Color.WHITE; @@ -114,7 +114,7 @@ public class ChatFragment extends Table{ add(chatfield).padBottom(offsety).padLeft(offsetx).growX().padRight(offsetx).height(28); - if(Vars.mobile){ + if(Min.mobile){ marginBottom(105f); marginRight(240f); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 72a01f3070..91b467a29e 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -29,7 +29,7 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.ui.*; import io.anuke.mindustry.ui.dialogs.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class HudFragment extends Fragment{ public final PlacementFragment blockfrag = new PlacementFragment(); @@ -257,7 +257,7 @@ public class HudFragment extends Fragment{ t.table("flat", c -> c.add("$nearpoint") .update(l -> l.setColor(Tmp.c1.set(Color.WHITE).lerp(Color.SCARLET, Mathf.absin(Time.time(), 10f, 1f)))) .get().setAlignment(Align.center, Align.center)) - .margin(6).update(u -> u.color.a = Mathf.lerpDelta(u.color.a, Mathf.num(world.spawner.playerNear()), 0.1f)).get().color.a = 0f; + .margin(6).update(u -> u.color.a = Mathf.lerpDelta(u.color.a, Mathf.num(spawner.playerNear()), 0.1f)).get().color.a = 0f; }); parent.fill(t -> { @@ -543,7 +543,7 @@ public class HudFragment extends Fragment{ return world.isZone() && world.getZone().metCondition() && !Net.client() && - state.wave % world.getZone().launchPeriod == 0 && !world.spawner.isSpawning(); + state.wave % world.getZone().launchPeriod == 0 && !spawner.isSpawning(); } private boolean canLaunch(){ @@ -639,7 +639,7 @@ public class HudFragment extends Fragment{ } private boolean canSkipWave(){ - return state.rules.waves && ((Net.server() || player.isAdmin) || !Net.active()) && state.enemies() == 0 && !world.spawner.isSpawning() && !state.rules.tutorial; + return state.rules.waves && ((Net.server() || player.isAdmin) || !Net.active()) && state.enemies() == 0 && !spawner.isSpawning() && !state.rules.tutorial; } private void addPlayButton(Table table){ diff --git a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java index 6f6dd9ec8f..bba9187fd5 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java @@ -19,7 +19,7 @@ import io.anuke.mindustry.game.Version; import io.anuke.mindustry.graphics.MenuRenderer; import io.anuke.mindustry.ui.MobileButton; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MenuFragment extends Fragment{ private Texture logo = new Texture("sprites/logo.png"); diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java index 0652803f82..7954838c61 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java @@ -18,7 +18,7 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.Block.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class PlacementFragment extends Fragment{ final int rowWidth = 4; diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java index 2d617d7f34..18477838be 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetConnection; import io.anuke.mindustry.net.Packets.AdminAction; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class PlayerListFragment extends Fragment{ private boolean visible = false; diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 189911c66f..108c92f0c0 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -35,7 +35,7 @@ import io.anuke.mindustry.world.meta.*; import java.util.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Block extends BlockStorage{ public static final int crackRegions = 8, maxCrackSize = 5; diff --git a/core/src/io/anuke/mindustry/world/BlockStorage.java b/core/src/io/anuke/mindustry/world/BlockStorage.java index 358e2d6ddc..32d03f0fab 100644 --- a/core/src/io/anuke/mindustry/world/BlockStorage.java +++ b/core/src/io/anuke/mindustry/world/BlockStorage.java @@ -4,7 +4,7 @@ import io.anuke.arc.collection.Array; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.Fx; import io.anuke.mindustry.entities.Effects; import io.anuke.mindustry.entities.effect.Puddle; @@ -222,8 +222,8 @@ public abstract class BlockStorage extends UnlockableContent{ if(todump == null){ - for(int ii = 0; ii < Vars.content.items().size; ii++){ - Item item = Vars.content.item(ii); + for(int ii = 0; ii < Min.content.items().size; ii++){ + Item item = Min.content.item(ii); if(other.getTeam() == tile.getTeam() && entity.items.has(item) && other.block().acceptItem(item, other, in) && canDump(tile, other, item)){ other.block().handleItem(item, other, in); diff --git a/core/src/io/anuke/mindustry/world/Build.java b/core/src/io/anuke/mindustry/world/Build.java index a97a310922..8340de4f90 100644 --- a/core/src/io/anuke/mindustry/world/Build.java +++ b/core/src/io/anuke/mindustry/world/Build.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Build{ private static final Rectangle rect = new Rectangle(); diff --git a/core/src/io/anuke/mindustry/world/DirectionalItemBuffer.java b/core/src/io/anuke/mindustry/world/DirectionalItemBuffer.java index 2f5d7538b6..10b185ff1d 100644 --- a/core/src/io/anuke/mindustry/world/DirectionalItemBuffer.java +++ b/core/src/io/anuke/mindustry/world/DirectionalItemBuffer.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.type.Item; import java.io.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class DirectionalItemBuffer{ public final long[][] buffers; diff --git a/core/src/io/anuke/mindustry/world/Edges.java b/core/src/io/anuke/mindustry/world/Edges.java index dc9586aca0..381bec2696 100644 --- a/core/src/io/anuke/mindustry/world/Edges.java +++ b/core/src/io/anuke/mindustry/world/Edges.java @@ -5,7 +5,7 @@ import io.anuke.arc.math.geom.*; import java.util.Arrays; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.world; public class Edges{ private static final int maxSize = 11; diff --git a/core/src/io/anuke/mindustry/world/ItemBuffer.java b/core/src/io/anuke/mindustry/world/ItemBuffer.java index 3c80a87f54..fa0bbd1818 100644 --- a/core/src/io/anuke/mindustry/world/ItemBuffer.java +++ b/core/src/io/anuke/mindustry/world/ItemBuffer.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.type.Item; import java.io.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class ItemBuffer{ private final float speed; diff --git a/core/src/io/anuke/mindustry/world/StaticTree.java b/core/src/io/anuke/mindustry/world/StaticTree.java index be6b6c4c76..b970c44e2b 100644 --- a/core/src/io/anuke/mindustry/world/StaticTree.java +++ b/core/src/io/anuke/mindustry/world/StaticTree.java @@ -5,7 +5,7 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.util.Tmp; import io.anuke.mindustry.world.blocks.StaticWall; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class StaticTree extends StaticWall{ diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index e67be3d812..f4e2ede637 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.blocks.*; import io.anuke.mindustry.world.modules.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Tile implements Position, TargetTrait{ /** Tile traversal cost. */ diff --git a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java index a1a7f153c8..09add5f423 100644 --- a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java @@ -24,7 +24,7 @@ import io.anuke.mindustry.world.modules.ItemModule; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class BuildBlock extends Block{ public static final int maxSize = 9; diff --git a/core/src/io/anuke/mindustry/world/blocks/Floor.java b/core/src/io/anuke/mindustry/world/blocks/Floor.java index dbd0218a4f..e612fd7f20 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Floor.java +++ b/core/src/io/anuke/mindustry/world/blocks/Floor.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class Floor extends Block{ /** number of different variant regions to use */ diff --git a/core/src/io/anuke/mindustry/world/blocks/ItemSelection.java b/core/src/io/anuke/mindustry/world/blocks/ItemSelection.java index 2f42b7ab68..f8480046d3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/ItemSelection.java +++ b/core/src/io/anuke/mindustry/world/blocks/ItemSelection.java @@ -10,7 +10,7 @@ import io.anuke.arc.scene.ui.layout.Table; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Item.Icon; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ItemSelection{ diff --git a/core/src/io/anuke/mindustry/world/blocks/StaticWall.java b/core/src/io/anuke/mindustry/world/blocks/StaticWall.java index 0797fee02a..69f9d0f692 100644 --- a/core/src/io/anuke/mindustry/world/blocks/StaticWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/StaticWall.java @@ -6,7 +6,7 @@ import io.anuke.arc.math.Mathf; import io.anuke.mindustry.graphics.CacheLayer; import io.anuke.mindustry.world.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class StaticWall extends Rock{ TextureRegion large; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java index 2b6125fb10..fb85ec7047 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java @@ -11,7 +11,7 @@ import io.anuke.mindustry.entities.type.TileEntity; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class DeflectorWall extends Wall{ public static final float hitTime = 10f; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java index 51bad094fe..5de3b1f397 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.world.*; import java.io.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.*; public class Door extends Wall{ protected final Rectangle rect = new Rectangle(); @@ -40,7 +40,7 @@ public class Door extends Wall{ entity.open = open; Door door = (Door)tile.block(); - world.pathfinder.updateSolid(tile); + pathfinder.updateSolid(tile); if(!entity.open){ Effects.effect(door.openfx, tile.drawx(), tile.drawy()); }else{ diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java index c0a857f625..5f29feb61d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.world.meta.StatUnit; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ForceProjector extends Block{ protected int timerUse = timers++; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java index 7721d95510..8f0341d129 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MendProjector extends Block{ private static Color color = Color.valueOf("84f491"); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java index 5ff8c2ba94..fab9cbabb3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class OverdriveProjector extends Block{ private static Color color = Color.valueOf("feb380"); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java index 62b2770407..2415e6c561 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; /** * Artillery turrets have special shooting calculations done to hit targets. diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java index d746227559..5f188ce389 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java @@ -5,7 +5,7 @@ import io.anuke.arc.util.Time; import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class BurstTurret extends ItemTurret{ protected float burstSpacing = 5; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java index aa7151df98..c0603a2b0e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.entities.type.TileEntity; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class ChargeTurret extends PowerTurret{ diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java index b425dd689d..849c2f73ef 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java @@ -11,7 +11,7 @@ import io.anuke.mindustry.world.consumers.*; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class CooledTurret extends Turret{ /** How much reload is lowered by for each unit of liquid of heat capacity. */ diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java index 2067bd285a..dc8d2f45b6 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class DoubleTurret extends ItemTurret{ protected float shotWidth = 2f; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java index f0d3737d8d..e4d14b5a05 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.world.meta.values.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ItemTurret extends CooledTurret{ protected int maxAmmo = 30; @@ -164,7 +164,7 @@ public class ItemTurret extends CooledTurret{ super.read(stream, revision); byte amount = stream.readByte(); for(int i = 0; i < amount; i++){ - Item item = Vars.content.item(stream.readByte()); + Item item = Min.content.item(stream.readByte()); short a = stream.readShort(); totalAmmo += a; ammo.add(new ItemEntry(item, a)); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java index 3c283e877b..b4efc2db3b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.world.consumers.*; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class LaserTurret extends PowerTurret{ protected float firingMoveFract = 0.25f; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java index 4cbcb4a680..b0a4886d43 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.world.consumers.*; import io.anuke.mindustry.world.meta.*; import io.anuke.mindustry.world.meta.values.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public abstract class LiquidTurret extends Turret{ protected ObjectMap ammo = new ObjectMap<>(); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index 3873f2177d..27eb735589 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -25,7 +25,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.*; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public abstract class Turret extends Block{ protected static final int targetInterval = 20; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java index de6c98d3e3..6916652535 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java @@ -16,7 +16,7 @@ import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Conveyor extends Block{ private static final float itemSpace = 0.4f; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java index 3889a8078a..0a77a11046 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java @@ -5,7 +5,7 @@ import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ExtendingItemBridge extends ItemBridge{ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java index f5a86d0d1d..2102077370 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java @@ -22,8 +22,8 @@ import io.anuke.mindustry.world.meta.BlockGroup; import java.io.*; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.tilesize; +import static io.anuke.mindustry.Min.world; public class ItemBridge extends Block{ protected int timerTransport = timers++; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java index febd11f5d7..33842cdaba 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java @@ -14,7 +14,7 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class Junction extends Block{ protected float speed = 26; //frames taken to go through this junction diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java index cf3c96cdab..84a7d0dd25 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.meta.BlockGroup; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.world; public class LiquidBridge extends ItemBridge{ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java index 9d75b6f849..a85a859358 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.world; public class LiquidExtendingBridge extends ExtendingItemBridge{ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java index 461f294c8f..76fd301cb0 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java @@ -20,7 +20,7 @@ import io.anuke.mindustry.world.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MassDriver extends Block{ protected float range; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java index a7497079f4..63c8a2a056 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -14,7 +14,7 @@ import io.anuke.mindustry.world.meta.BlockGroup; import java.io.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class Sorter extends Block{ private static Item lastItem; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ImpactReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/ImpactReactor.java index a910a20920..2bf8026448 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ImpactReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ImpactReactor.java @@ -16,7 +16,7 @@ import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class ImpactReactor extends PowerGenerator{ protected int timerUse = timers++; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java index a57f165907..f63b014e42 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -17,8 +17,8 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import static io.anuke.mindustry.Vars.content; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.content; +import static io.anuke.mindustry.Min.tilesize; /** * Power generation block which can use items, liquids or both as input sources for power production. diff --git a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java index 0fd084f9b9..961ac3bfdc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java @@ -22,7 +22,7 @@ import io.anuke.mindustry.world.meta.StatUnit; import java.io.*; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class NuclearReactor extends PowerGenerator{ protected final int timerFuel = timers++; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index 358fb27a43..4bbc8e4dc6 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -18,7 +18,7 @@ import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.*; import io.anuke.mindustry.world.meta.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class PowerNode extends PowerBlock{ protected ObjectSet graphs = new ObjectSet<>(); diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java index a4f5216322..18f35d10b9 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.ui.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.meta.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class Drill extends Block{ protected final static float hardnessDrillMultiplier = 50f; diff --git a/core/src/io/anuke/mindustry/world/blocks/sandbox/ItemSource.java b/core/src/io/anuke/mindustry/world/blocks/sandbox/ItemSource.java index 3a6cc3cabe..2b4ff73d0d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/sandbox/ItemSource.java +++ b/core/src/io/anuke/mindustry/world/blocks/sandbox/ItemSource.java @@ -16,7 +16,7 @@ import io.anuke.mindustry.world.meta.BlockGroup; import java.io.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class ItemSource extends Block{ private static Item lastItem; diff --git a/core/src/io/anuke/mindustry/world/blocks/sandbox/LiquidSource.java b/core/src/io/anuke/mindustry/world/blocks/sandbox/LiquidSource.java index cc6c7b1a98..2191ceb037 100644 --- a/core/src/io/anuke/mindustry/world/blocks/sandbox/LiquidSource.java +++ b/core/src/io/anuke/mindustry/world/blocks/sandbox/LiquidSource.java @@ -18,8 +18,8 @@ import io.anuke.mindustry.world.Tile; import java.io.*; -import static io.anuke.mindustry.Vars.content; -import static io.anuke.mindustry.Vars.control; +import static io.anuke.mindustry.Min.content; +import static io.anuke.mindustry.Min.control; public class LiquidSource extends Block{ private static Liquid lastLiquid; diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index b4f02e1fc0..e41b443cd1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -18,7 +18,7 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.meta.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class CoreBlock extends StorageBlock{ protected Mech mech = Mechs.starter; @@ -113,10 +113,10 @@ public class CoreBlock extends StorageBlock{ Draw.color(Pal.accent); Lines.lineAngleCenter( - tile.drawx() + Mathf.sin(entity.time, 6f, Vars.tilesize / 3f * size), + tile.drawx() + Mathf.sin(entity.time, 6f, Min.tilesize / 3f * size), tile.drawy(), 90, - size * Vars.tilesize / 2f); + size * Min.tilesize / 2f); Draw.reset(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/LaunchPad.java b/core/src/io/anuke/mindustry/world/blocks/storage/LaunchPad.java index 71c16f5393..170d5100cb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/LaunchPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/LaunchPad.java @@ -4,7 +4,7 @@ import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.Fx; import io.anuke.mindustry.entities.Effects; import io.anuke.mindustry.entities.type.TileEntity; @@ -15,8 +15,8 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import static io.anuke.mindustry.Vars.data; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Min.data; +import static io.anuke.mindustry.Min.world; public class LaunchPad extends StorageBlock{ protected final int timerLaunch = timers++; @@ -72,7 +72,7 @@ public class LaunchPad extends StorageBlock{ TileEntity entity = tile.entity; if(entity.cons.valid() && world.isZone() && entity.items.total() >= itemCapacity && entity.timer.get(timerLaunch, launchTime / entity.timeScale)){ - for(Item item : Vars.content.items()){ + for(Item item : Min.content.items()){ Effects.effect(Fx.padlaunch, tile); data.addItem(item, entity.items.get(item)); entity.items.set(item, 0); diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java b/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java index 2d237a3f39..3d67325f8b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.world.blocks.ItemSelection; import java.io.*; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class Unloader extends Block{ protected float speed = 1f; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java index 88515617b7..b11e44c5cc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class CommandCenter extends Block{ protected TextureRegion[] commandRegions = new TextureRegion[UnitCommand.all.length]; @@ -41,7 +41,7 @@ public class CommandCenter extends Block{ @Override public void placed(Tile tile){ super.placed(tile); - ObjectSet set = world.indexer.getAllied(tile.getTeam(), BlockFlag.comandCenter); + ObjectSet set = indexer.getAllied(tile.getTeam(), BlockFlag.comandCenter); if(set.size > 0){ CommandCenterEntity entity = tile.entity(); @@ -92,7 +92,7 @@ public class CommandCenter extends Block{ public static void onCommandCenterSet(Player player, Tile tile, UnitCommand command){ Effects.effect(((CommandCenter)tile.block()).effect, tile); - for(Tile center : world.indexer.getAllied(tile.getTeam(), BlockFlag.comandCenter)){ + for(Tile center : indexer.getAllied(tile.getTeam(), BlockFlag.comandCenter)){ if(center.block() instanceof CommandCenter){ CommandCenterEntity entity = center.entity(); entity.command = command; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java index dbb67e8d7f..a36895b894 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java @@ -7,7 +7,7 @@ import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.Fx; import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.entities.Effects; @@ -25,8 +25,8 @@ import io.anuke.mindustry.world.meta.StatUnit; import java.io.*; -import static io.anuke.mindustry.Vars.mobile; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.mobile; +import static io.anuke.mindustry.Min.tilesize; public class MechPad extends Block{ protected Mech mech; @@ -130,10 +130,10 @@ public class MechPad extends Block{ Draw.color(Pal.accent); Lines.lineAngleCenter( - tile.drawx() + Mathf.sin(entity.time, 6f, Vars.tilesize / 3f * size), + tile.drawx() + Mathf.sin(entity.time, 6f, Min.tilesize / 3f * size), tile.drawy(), 90, - size * Vars.tilesize / 2f + 1f); + size * Min.tilesize / 2f + 1f); Draw.reset(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java index 39e7fbae19..23ceaf7df7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java @@ -6,7 +6,7 @@ import io.anuke.arc.Core; import io.anuke.arc.collection.EnumSet; import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.Mathf; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.Fx; import io.anuke.mindustry.entities.Effects; import io.anuke.mindustry.entities.type.*; @@ -67,7 +67,7 @@ public class UnitFactory extends Block{ public void init(){ super.init(); - capacities = new int[Vars.content.items().size]; + capacities = new int[Min.content.items().size]; if(consumes.has(ConsumeType.item)){ ConsumeItems cons = consumes.get(ConsumeType.item); for(ItemStack stack : cons.items){ @@ -137,10 +137,10 @@ public class UnitFactory extends Block{ Draw.alpha(entity.speedScl); Lines.lineAngleCenter( - tile.drawx() + Mathf.sin(entity.time, 20f, Vars.tilesize / 2f * size - 2f), + tile.drawx() + Mathf.sin(entity.time, 20f, Min.tilesize / 2f * size - 2f), tile.drawy(), 90, - size * Vars.tilesize - 4f); + size * Min.tilesize - 4f); Draw.reset(); @@ -156,8 +156,8 @@ public class UnitFactory extends Block{ } if(entity.cons.valid() || tile.isEnemyCheat()){ - entity.time += entity.delta() * entity.speedScl * Vars.state.rules.unitBuildSpeedMultiplier * entity.power.satisfaction; - entity.buildTime += entity.delta() * entity.power.satisfaction * Vars.state.rules.unitBuildSpeedMultiplier; + entity.time += entity.delta() * entity.speedScl * Min.state.rules.unitBuildSpeedMultiplier * entity.power.satisfaction; + entity.buildTime += entity.delta() * entity.power.satisfaction * Min.state.rules.unitBuildSpeedMultiplier; entity.speedScl = Mathf.lerpDelta(entity.speedScl, 1f, 0.05f); }else{ entity.speedScl = Mathf.lerpDelta(entity.speedScl, 0f, 0.05f); diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java index 81503037f0..a2874d5567 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java @@ -11,7 +11,7 @@ import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.values.ItemFilterValue; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ConsumeItemFilter extends Consume{ public final Predicate filter; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java index 04c2efd3ae..5f82964879 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.values.LiquidFilterValue; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class ConsumeLiquidFilter extends ConsumeLiquidBase{ public final Predicate filter; diff --git a/core/src/io/anuke/mindustry/world/consumers/Consumers.java b/core/src/io/anuke/mindustry/world/consumers/Consumers.java index 6839237d2b..b574b9798a 100644 --- a/core/src/io/anuke/mindustry/world/consumers/Consumers.java +++ b/core/src/io/anuke/mindustry/world/consumers/Consumers.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.consumers; import io.anuke.arc.function.Predicate; import io.anuke.arc.util.Structs; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.entities.type.TileEntity; import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.blocks.power.ConditionalConsumePower; @@ -12,8 +12,8 @@ public class Consumers{ private Consume[] map = new Consume[ConsumeType.values().length]; private Consume[] results, optionalResults; - public final boolean[] itemFilters = new boolean[Vars.content.items().size]; - public final boolean[] liquidfilters = new boolean[Vars.content.liquids().size]; + public final boolean[] itemFilters = new boolean[Min.content.items().size]; + public final boolean[] liquidfilters = new boolean[Min.content.liquids().size]; public void init(){ results = Structs.filter(Consume.class, map, m -> m != null); diff --git a/core/src/io/anuke/mindustry/world/meta/values/AmmoListValue.java b/core/src/io/anuke/mindustry/world/meta/values/AmmoListValue.java index 5b05b47881..7d76bce08e 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/AmmoListValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/AmmoListValue.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Item.Icon; import io.anuke.mindustry.world.meta.StatValue; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.tilesize; public class AmmoListValue implements StatValue{ private final ObjectMap map; diff --git a/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java b/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java index 8bb1ecb6a0..cc79d74fd1 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.ui.ItemDisplay; import io.anuke.mindustry.world.meta.StatValue; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class ItemFilterValue implements StatValue{ private final Predicate filter; diff --git a/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java b/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java index e30c2b0ba5..c4a567bf27 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.ui.LiquidDisplay; import io.anuke.mindustry.world.meta.StatValue; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class LiquidFilterValue implements StatValue{ private final Predicate filter; diff --git a/core/src/io/anuke/mindustry/world/modules/ItemModule.java b/core/src/io/anuke/mindustry/world/modules/ItemModule.java index 7e146d8ab0..05f52fd803 100644 --- a/core/src/io/anuke/mindustry/world/modules/ItemModule.java +++ b/core/src/io/anuke/mindustry/world/modules/ItemModule.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.type.ItemStack; import java.io.*; import java.util.Arrays; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class ItemModule extends BlockModule{ private int[] items = new int[content.items().size]; diff --git a/core/src/io/anuke/mindustry/world/modules/LiquidModule.java b/core/src/io/anuke/mindustry/world/modules/LiquidModule.java index 3eb50fc8e4..c35eddca12 100644 --- a/core/src/io/anuke/mindustry/world/modules/LiquidModule.java +++ b/core/src/io/anuke/mindustry/world/modules/LiquidModule.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.type.Liquid; import java.io.*; import java.util.Arrays; -import static io.anuke.mindustry.Vars.content; +import static io.anuke.mindustry.Min.content; public class LiquidModule extends BlockModule{ private float[] liquids = new float[content.liquids().size]; diff --git a/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java b/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java index 59f3b8a960..0fb0efe0e6 100644 --- a/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java @@ -15,7 +15,7 @@ public class DesktopLauncher{ Net.setClientProvider(new ArcNetClient()); Net.setServerProvider(new ArcNetServer()); - new SdlApplication(new Mindustry(), new SdlConfig(){{ + new SdlApplication(new ClientLauncher(), new SdlConfig(){{ title = "Mindustry"; maximized = true; depth = 0; diff --git a/desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java b/desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java index 6ae3809a12..3ece41b972 100644 --- a/desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java +++ b/desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.ui.dialogs.*; import java.net.*; import java.util.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class DesktopPlatform extends Platform{ diff --git a/ios/src/io/anuke/mindustry/IOSLauncher.java b/ios/src/io/anuke/mindustry/IOSLauncher.java index 4161d44017..0bd22cd946 100644 --- a/ios/src/io/anuke/mindustry/IOSLauncher.java +++ b/ios/src/io/anuke/mindustry/IOSLauncher.java @@ -18,7 +18,7 @@ import java.io.*; import java.util.*; import java.util.zip.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; import static org.robovm.apple.foundation.NSPathUtilities.getDocumentsDirectory; public class IOSLauncher extends IOSApplication.Delegate{ @@ -65,7 +65,7 @@ public class IOSLauncher extends IOSApplication.Delegate{ }; IOSApplicationConfiguration config = new IOSApplicationConfiguration(); - return new IOSApplication(new Mindustry(), config); + return new IOSApplication(new ClientLauncher(), config); } @Override diff --git a/net/src/io/anuke/mindustry/net/ArcNetClient.java b/net/src/io/anuke/mindustry/net/ArcNetClient.java index ffb40bb38f..601bb413fc 100644 --- a/net/src/io/anuke/mindustry/net/ArcNetClient.java +++ b/net/src/io/anuke/mindustry/net/ArcNetClient.java @@ -14,7 +14,7 @@ import java.net.*; import java.nio.*; import java.nio.channels.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ArcNetClient implements ClientProvider{ final Client client; diff --git a/net/src/io/anuke/mindustry/net/ArcNetServer.java b/net/src/io/anuke/mindustry/net/ArcNetServer.java index 73002c51b2..aef0aa356c 100644 --- a/net/src/io/anuke/mindustry/net/ArcNetServer.java +++ b/net/src/io/anuke/mindustry/net/ArcNetServer.java @@ -12,7 +12,7 @@ import java.nio.*; import java.nio.channels.*; import java.util.concurrent.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ArcNetServer implements ServerProvider{ final Server server; diff --git a/server/src/io/anuke/mindustry/server/MindustryServer.java b/server/src/io/anuke/mindustry/server/MindustryServer.java index 37f13187b6..15c1e2f67b 100644 --- a/server/src/io/anuke/mindustry/server/MindustryServer.java +++ b/server/src/io/anuke/mindustry/server/MindustryServer.java @@ -1,13 +1,10 @@ package io.anuke.mindustry.server; -import io.anuke.arc.ApplicationListener; -import io.anuke.arc.Core; -import io.anuke.mindustry.Vars; +import io.anuke.arc.*; +import io.anuke.mindustry.*; import io.anuke.mindustry.core.*; -import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.io.BundleLoader; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class MindustryServer implements ApplicationListener{ private String[] args; @@ -20,19 +17,17 @@ public class MindustryServer implements ApplicationListener{ public void init(){ Core.settings.setDataDirectory(Core.files.local("config")); loadLocales = false; - Vars.init(); + Min.init(); headless = true; - BundleLoader.load(); - content.verbose(false); - content.load(); + loadSettings(); Core.app.addListener(logic = new Logic()); Core.app.addListener(world = new World()); Core.app.addListener(netServer = new NetServer()); Core.app.addListener(new ServerControl(args)); - content.initialize(Content::init); + content.init(); } } diff --git a/server/src/io/anuke/mindustry/server/ServerControl.java b/server/src/io/anuke/mindustry/server/ServerControl.java index 934ba7e1fe..1c49899306 100644 --- a/server/src/io/anuke/mindustry/server/ServerControl.java +++ b/server/src/io/anuke/mindustry/server/ServerControl.java @@ -30,7 +30,7 @@ import java.time.format.DateTimeFormatter; import java.util.Scanner; import static io.anuke.arc.util.Log.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; public class ServerControl implements ApplicationListener{ private static final int roundExtraTime = 12; @@ -143,8 +143,8 @@ public class ServerControl implements ApplicationListener{ info("Game over!"); if(Core.settings.getBool("shuffle")){ - if(world.maps.all().size > 0){ - Array maps = world.maps.customMaps().size == 0 ? world.maps.defaultMaps() : world.maps.customMaps(); + if(maps.all().size > 0){ + Array maps = maps.customMaps().size == 0 ? maps.defaultMaps() : maps.customMaps(); Map previous = world.getMap(); Map map = maps.random(previous); @@ -208,7 +208,7 @@ public class ServerControl implements ApplicationListener{ if(lastTask != null) lastTask.cancel(); - Map result = world.maps.all().find(map -> map.name().equalsIgnoreCase(arg[0].replace('_', ' ')) || map.name().equalsIgnoreCase(arg[0])); + Map result = maps.all().find(map -> map.name().equalsIgnoreCase(arg[0].replace('_', ' ')) || map.name().equalsIgnoreCase(arg[0])); if(result == null){ err("No map with name &y'{0}'&lr found.", arg[0]); @@ -259,9 +259,9 @@ public class ServerControl implements ApplicationListener{ }); handler.register("maps", "Display all available maps.", arg -> { - if(!world.maps.all().isEmpty()){ + if(!maps.all().isEmpty()){ info("Maps:"); - for(Map map : world.maps.all()){ + for(Map map : maps.all()){ info(" &ly{0}: &lb&fi{1} / {2}x{3}", map.name(), map.custom ? "Custom" : "Default", map.width, map.height); } }else{ @@ -271,10 +271,10 @@ public class ServerControl implements ApplicationListener{ }); handler.register("reloadmaps", "Reload all maps from disk.", arg -> { - int beforeMaps = world.maps.all().size; - world.maps.reload(); - if(world.maps.all().size > beforeMaps){ - info("&lc{0}&ly new map(s) found and reloaded.", world.maps.all().size - beforeMaps); + int beforeMaps = maps.all().size; + maps.reload(); + if(maps.all().size > beforeMaps){ + info("&lc{0}&ly new map(s) found and reloaded.", maps.all().size - beforeMaps); }else{ info("&lyMaps reloaded."); } diff --git a/tests/src/test/java/ApplicationTests.java b/tests/src/test/java/ApplicationTests.java index 320d121d19..4cd19a369b 100644 --- a/tests/src/test/java/ApplicationTests.java +++ b/tests/src/test/java/ApplicationTests.java @@ -4,16 +4,14 @@ import io.anuke.arc.backends.headless.HeadlessApplication; import io.anuke.arc.math.geom.Point2; import io.anuke.arc.util.Log; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.*; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.*; import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest; import io.anuke.mindustry.entities.type.BaseUnit; import io.anuke.mindustry.entities.type.base.*; -import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.io.BundleLoader; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.type.ContentType; @@ -22,7 +20,7 @@ import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.BlockPart; import org.junit.jupiter.api.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; import static org.junit.jupiter.api.Assertions.*; public class ApplicationTests{ @@ -43,25 +41,23 @@ public class ApplicationTests{ ApplicationCore core = new ApplicationCore(){ @Override public void setup(){ - Vars.init(); + Min.init(); headless = true; - BundleLoader.load(); - content.load(); + load(); + content.createContent(); add(logic = new Logic()); add(world = new World()); add(netServer = new NetServer()); - - content.initialize(Content::init); } @Override public void init(){ super.init(); begins[0] = true; - testMap = world.maps.loadInternalMap("groundZero"); + testMap = maps.loadInternalMap("groundZero"); } }; @@ -100,7 +96,7 @@ public class ApplicationTests{ @Test void spawnWaves(){ world.loadMap(testMap); - assertTrue(world.spawner.countSpawns() > 0, "No spawns present."); + assertTrue(spawner.countSpawns() > 0, "No spawns present."); logic.runWave(); //force trigger delayed spawns Time.setDeltaProvider(() -> 1000f); diff --git a/tests/src/test/java/ZoneTests.java b/tests/src/test/java/ZoneTests.java index 8ad2a2f6fe..c32d65767a 100644 --- a/tests/src/test/java/ZoneTests.java +++ b/tests/src/test/java/ZoneTests.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.storage.CoreBlock; import org.junit.jupiter.api.*; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Min.*; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.DynamicTest.dynamicTest; @@ -65,7 +65,7 @@ public class ZoneTests{ } assertTrue(hasSpawnPoint, "Zone \"" + zone.name + "\" has no spawn points."); - assertTrue(world.spawner.countSpawns() > 0 || (state.rules.attackMode && !state.teams.get(waveTeam).cores.isEmpty()), "Zone \"" + zone.name + "\" has no enemy spawn points: " + world.spawner.countSpawns()); + assertTrue(spawner.countSpawns() > 0 || (state.rules.attackMode && !state.teams.get(waveTeam).cores.isEmpty()), "Zone \"" + zone.name + "\" has no enemy spawn points: " + spawner.countSpawns()); for(Item item : resources){ assertTrue(Structs.contains(zone.resources, item), "Zone \"" + zone.name + "\" is missing item in resource list: \"" + item.name + "\""); diff --git a/tests/src/test/java/power/PowerTestFixture.java b/tests/src/test/java/power/PowerTestFixture.java index c7f8f0f355..e986705126 100644 --- a/tests/src/test/java/power/PowerTestFixture.java +++ b/tests/src/test/java/power/PowerTestFixture.java @@ -4,7 +4,7 @@ import io.anuke.arc.Core; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Log; import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; +import io.anuke.mindustry.Min; import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.core.ContentLoader; import io.anuke.mindustry.world.Block; @@ -31,8 +31,8 @@ public class PowerTestFixture{ @BeforeAll static void initializeDependencies(){ Core.graphics = new FakeGraphics(); - Vars.content = new ContentLoader(); - Vars.content.load(); + Min.content = new ContentLoader(); + Min.content.createContent(); Log.setUseColors(false); Time.setDeltaProvider(() -> 0.5f); } diff --git a/tools/src/io/anuke/mindustry/Generators.java b/tools/src/io/anuke/mindustry/Generators.java index 4012013965..538ca11779 100644 --- a/tools/src/io/anuke/mindustry/Generators.java +++ b/tools/src/io/anuke/mindustry/Generators.java @@ -16,8 +16,8 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; -import static io.anuke.mindustry.Vars.content; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Min.content; +import static io.anuke.mindustry.Min.tilesize; public class Generators{ diff --git a/tools/src/io/anuke/mindustry/ImagePacker.java b/tools/src/io/anuke/mindustry/ImagePacker.java index 119e4d217e..05e068eb38 100644 --- a/tools/src/io/anuke/mindustry/ImagePacker.java +++ b/tools/src/io/anuke/mindustry/ImagePacker.java @@ -19,11 +19,11 @@ public class ImagePacker{ static ObjectMap imageCache = new ObjectMap<>(); public static void main(String[] args) throws IOException{ - Vars.headless = true; + Min.headless = true; Log.setLogger(new NoopLogHandler()); - Vars.content = new ContentLoader(); - Vars.content.load(); + Min.content = new ContentLoader(); + Min.content.createContent(); Log.setLogger(new LogHandler()); Files.walk(Paths.get("../../../assets-raw/sprites_out")).forEach(path -> { diff --git a/tools/src/io/anuke/mindustry/Upscaler.java b/tools/src/io/anuke/mindustry/Upscaler.java index c2fcdb608a..c515191911 100644 --- a/tools/src/io/anuke/mindustry/Upscaler.java +++ b/tools/src/io/anuke/mindustry/Upscaler.java @@ -9,9 +9,9 @@ import io.anuke.arc.util.*; public class Upscaler{ static Res[] resolutions = { - new Res(Vars.iconsizesmall, "-small"), - new Res(Vars.iconsizemed, "-med"), - new Res(Vars.iconsize, ""), + new Res(Min.iconsizesmall, "-small"), + new Res(Min.iconsizemed, "-med"), + new Res(Min.iconsize, ""), }; public static void main(String[] args){