diff --git a/core/assets/planets/TODO.dat b/core/assets/planets/TODO.dat index d2aaaa70b4..bc38622ff5 100644 Binary files a/core/assets/planets/TODO.dat and b/core/assets/planets/TODO.dat differ diff --git a/core/src/mindustry/Vars.java b/core/src/mindustry/Vars.java index c756c29886..12821c4bed 100644 --- a/core/src/mindustry/Vars.java +++ b/core/src/mindustry/Vars.java @@ -210,6 +210,16 @@ public class Vars implements Loadable{ Version.init(); + dataDirectory = Core.settings.getDataDirectory(); + screenshotDirectory = dataDirectory.child("screenshots/"); + customMapDirectory = dataDirectory.child("maps/"); + mapPreviewDirectory = dataDirectory.child("previews/"); + saveDirectory = dataDirectory.child("saves/"); + tmpDirectory = dataDirectory.child("tmp/"); + modDirectory = dataDirectory.child("mods/"); + schematicDirectory = dataDirectory.child("schematics/"); + bebuildDirectory = dataDirectory.child("be_builds/"); + if(tree == null) tree = new FileTree(); if(mods == null) mods = new Mods(); @@ -233,16 +243,6 @@ public class Vars implements Loadable{ ios = Core.app.getType() == ApplicationType.iOS; android = Core.app.getType() == ApplicationType.Android; - dataDirectory = Core.settings.getDataDirectory(); - screenshotDirectory = dataDirectory.child("screenshots/"); - customMapDirectory = dataDirectory.child("maps/"); - mapPreviewDirectory = dataDirectory.child("previews/"); - saveDirectory = dataDirectory.child("saves/"); - tmpDirectory = dataDirectory.child("tmp/"); - modDirectory = dataDirectory.child("mods/"); - schematicDirectory = dataDirectory.child("schematics/"); - bebuildDirectory = dataDirectory.child("be_builds/"); - modDirectory.mkdirs(); mods.load(); diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java index 8cbc8e958d..90f9179fcb 100644 --- a/core/src/mindustry/core/World.java +++ b/core/src/mindustry/core/World.java @@ -26,7 +26,7 @@ import static mindustry.Vars.*; public class World{ public final Context context = new Context(); - private Map currentMap; + private Map currentMap = new Map(new StringMap()); public @NonNull Tiles tiles = new Tiles(0, 0); private boolean generating, invalidMap; @@ -214,6 +214,7 @@ public class World{ } public void loadSector(Sector sector){ + currentMap = new Map(StringMap.of("name", sector.planet.localizedName + "; Sector " + sector.id)); state.rules.sector = sector; int size = sector.getSize(); loadGenerator(size, size, tiles -> sector.planet.generator.generate(tiles, sector)); diff --git a/core/src/mindustry/maps/planet/TODOPlanetGenerator.java b/core/src/mindustry/maps/planet/TODOPlanetGenerator.java index 7828e51949..2880ddac27 100644 --- a/core/src/mindustry/maps/planet/TODOPlanetGenerator.java +++ b/core/src/mindustry/maps/planet/TODOPlanetGenerator.java @@ -216,6 +216,8 @@ public class TODOPlanetGenerator extends PlanetGenerator{ }); schematics.placeLoadout(Loadouts.advancedShard, spawn.x, spawn.y); + + state.rules.waves = true; } } diff --git a/core/src/mindustry/type/Planet.java b/core/src/mindustry/type/Planet.java index 42c4abc293..ec43b3362e 100644 --- a/core/src/mindustry/type/Planet.java +++ b/core/src/mindustry/type/Planet.java @@ -89,8 +89,10 @@ public class Planet extends UnlockableContent{ } } - //for now - sectors.each(s -> s.unlocked = true); + for(Sector sector : sectors){ + sector.unlocked = true; + sector.generate(); + } }else{ sectors = new Array<>(); } diff --git a/core/src/mindustry/type/Sector.java b/core/src/mindustry/type/Sector.java index 3c3c4d2f28..fa07800efd 100644 --- a/core/src/mindustry/type/Sector.java +++ b/core/src/mindustry/type/Sector.java @@ -4,6 +4,7 @@ import arc.math.geom.*; import arc.util.ArcAnnotate.*; import arc.util.*; import arc.util.io.*; +import arc.util.noise.*; import mindustry.*; import mindustry.ctype.*; import mindustry.game.Saves.*; @@ -38,6 +39,11 @@ public class Sector{ this.data = data; } + public void generate(){ + //TODO use simplex and a seed + hostility = Noise.snoise3(tile.v.x, tile.v.y, tile.v.z, 4f, 1f); + } + public boolean locked(){ return !unlocked; } diff --git a/tools/src/mindustry/tools/SectorDataGenerator.java b/tools/src/mindustry/tools/SectorDataGenerator.java index 7691e71748..ba1909b8f9 100644 --- a/tools/src/mindustry/tools/SectorDataGenerator.java +++ b/tools/src/mindustry/tools/SectorDataGenerator.java @@ -61,9 +61,9 @@ public class SectorDataGenerator{ continue; } - Item item = tile.floor().itemDrop; Liquid liquid = tile.floor().liquidDrop; - if(item != null) content.add(item); + if(tile.floor().itemDrop != null) content.add(tile.floor().itemDrop); + if(tile.overlay().itemDrop != null) content.add(tile.overlay().itemDrop); if(liquid != null) content.add(liquid); if(!tile.block().isStatic()){