Fixed JSON planet support
This commit is contained in:
@@ -21,12 +21,10 @@ public abstract class BasicGenerator implements WorldGenerator{
|
|||||||
protected Rand rand = new Rand();
|
protected Rand rand = new Rand();
|
||||||
|
|
||||||
protected int width, height;
|
protected int width, height;
|
||||||
protected Tiles tiles;
|
protected @Nullable Tiles tiles;
|
||||||
|
|
||||||
//for drawing
|
//for drawing
|
||||||
protected Block floor;
|
protected @Nullable Block floor, block, ore;
|
||||||
protected Block block;
|
|
||||||
protected Block ore;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void generate(Tiles tiles){
|
public void generate(Tiles tiles){
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package mindustry.maps.generators;
|
|||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.struct.ObjectIntMap.*;
|
import arc.struct.ObjectIntMap.*;
|
||||||
|
import arc.util.*;
|
||||||
import arc.util.noise.*;
|
import arc.util.noise.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.ctype.*;
|
import mindustry.ctype.*;
|
||||||
@@ -20,7 +21,7 @@ public abstract class PlanetGenerator extends BasicGenerator implements HexMeshe
|
|||||||
public int seed = 0;
|
public int seed = 0;
|
||||||
|
|
||||||
protected IntSeq ints = new IntSeq();
|
protected IntSeq ints = new IntSeq();
|
||||||
protected Sector sector;
|
protected @Nullable Sector sector;
|
||||||
|
|
||||||
/** Should generate sector bases for a planet. */
|
/** Should generate sector bases for a planet. */
|
||||||
public void generateSector(Sector sector){
|
public void generateSector(Sector sector){
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package mindustry.maps.planet;
|
|||||||
|
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
|
import arc.util.*;
|
||||||
import arc.util.noise.*;
|
import arc.util.noise.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.game.*;
|
import mindustry.game.*;
|
||||||
@@ -21,7 +22,7 @@ public class AsteroidGenerator extends BlankPlanetGenerator{
|
|||||||
|
|
||||||
public float thoriumScl = 1f, copperScale = 1f, leadScale = 1f, graphiteScale = 1f, berylliumScale = 1f;
|
public float thoriumScl = 1f, copperScale = 1f, leadScale = 1f, graphiteScale = 1f, berylliumScale = 1f;
|
||||||
|
|
||||||
Rand rand;
|
@Nullable Rand rand;
|
||||||
int seed;
|
int seed;
|
||||||
|
|
||||||
void asteroid(int ax, int ay, int radius){
|
void asteroid(int ax, int ay, int radius){
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import mindustry.game.Objectives.*;
|
|||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
import mindustry.graphics.g3d.*;
|
import mindustry.graphics.g3d.*;
|
||||||
|
import mindustry.graphics.g3d.PlanetGrid.*;
|
||||||
import mindustry.io.*;
|
import mindustry.io.*;
|
||||||
import mindustry.maps.generators.*;
|
import mindustry.maps.generators.*;
|
||||||
import mindustry.maps.planet.*;
|
import mindustry.maps.planet.*;
|
||||||
@@ -499,6 +500,7 @@ public class ContentParser{
|
|||||||
SectorPreset out = new SectorPreset(name, locate(ContentType.planet, value.getString("planet", "serpulo")), value.getInt("sector"));
|
SectorPreset out = new SectorPreset(name, locate(ContentType.planet, value.getString("planet", "serpulo")), value.getInt("sector"));
|
||||||
value.remove("sector");
|
value.remove("sector");
|
||||||
value.remove("planet");
|
value.remove("planet");
|
||||||
|
currentContent = out;
|
||||||
read(() -> readFields(out, value));
|
read(() -> readFields(out, value));
|
||||||
return out;
|
return out;
|
||||||
},
|
},
|
||||||
@@ -508,12 +510,14 @@ public class ContentParser{
|
|||||||
Planet parent = locate(ContentType.planet, value.getString("parent"));
|
Planet parent = locate(ContentType.planet, value.getString("parent"));
|
||||||
Planet planet = new Planet(name, parent, value.getFloat("radius", 1f), value.getInt("sectorSize", 0));
|
Planet planet = new Planet(name, parent, value.getFloat("radius", 1f), value.getInt("sectorSize", 0));
|
||||||
|
|
||||||
//TODO unimplemented; still needs generator + mesh
|
|
||||||
if(value.has("mesh")){
|
if(value.has("mesh")){
|
||||||
planet.meshLoader = () -> parser.readValue(GenericMesh.class, value.get("mesh"));
|
planet.meshLoader = () -> parser.readValue(GenericMesh.class, value.get("mesh"));
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO unimplemented!!
|
//always one sector right now...
|
||||||
|
planet.sectors.add(new Sector(planet, Ptile.empty));
|
||||||
|
|
||||||
|
currentContent = planet;
|
||||||
read(() -> readFields(planet, value));
|
read(() -> readFields(planet, value));
|
||||||
return planet;
|
return planet;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user