Work on saves

This commit is contained in:
austin 2021-08-01 19:10:24 -04:00
parent 57c94eccf8
commit dd51345a5a
5 changed files with 29 additions and 12 deletions

1
saves/terrain.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -285,7 +285,7 @@ public class LoadingThread extends Thread {
Globals.serverTerrainManager.load(); Globals.serverTerrainManager.load();
} else { } else {
Globals.serverTerrainManager.generate(); Globals.serverTerrainManager.generate();
// Globals.serverTerrainManager.save(); Globals.serverTerrainManager.save();
} }
} }

View File

@ -85,7 +85,7 @@ public class ServerTerrainManager {
Gson gson = new Gson(); Gson gson = new Gson();
String terrainOutRaw = gson.toJson(model); String terrainOutRaw = gson.toJson(model);
try { try {
Files.write(new File("./Config/terrain.json").toPath(), terrainOutRaw.getBytes()); Files.write(new File("./terrain.json").toPath(), terrainOutRaw.getBytes());
} catch (IOException ex) { } catch (IOException ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
@ -93,7 +93,7 @@ public class ServerTerrainManager {
public void load(){ public void load(){
Gson gson = new Gson(); Gson gson = new Gson();
model = FileLoadingUtils.loadObjectFromAssetPath("./Config/terrain.json", TerrainModel.class); model = FileLoadingUtils.loadObjectFromSavePath("./terrain.json", TerrainModel.class);
} }
public float[][] getTerrainAtChunk(int x, int y){ public float[][] getTerrainAtChunk(int x, int y){

View File

@ -183,7 +183,7 @@ public class Globals {
public static EntityManager entityManager; public static EntityManager entityManager;
//terrain manager //terrain manager
public static boolean LOAD_TERRAIN = false; public static boolean LOAD_TERRAIN = true;
public static ServerTerrainManager serverTerrainManager; public static ServerTerrainManager serverTerrainManager;
public static Vector3f spawnPoint = new Vector3f(1000,0,1000); public static Vector3f spawnPoint = new Vector3f(1000,0,1000);

View File

@ -106,7 +106,7 @@ public class FileLoadingUtils {
// return rVal; // return rVal;
// } // }
public static String sanitizeAssetFilePath(String filePath){ public static String sanitizeFilePath(String filePath){
String rVal = new String(filePath); String rVal = new String(filePath);
rVal = rVal.trim(); rVal = rVal.trim();
if(!rVal.startsWith("/")){ if(!rVal.startsWith("/")){
@ -135,34 +135,50 @@ public class FileLoadingUtils {
} }
public static File getAssetFile(String pathName){ public static File getAssetFile(String pathName){
String sanitizedFilePath = sanitizeAssetFilePath(pathName); String sanitizedFilePath = sanitizeFilePath(pathName);
File targetFile = new File("./assets" + sanitizedFilePath); File targetFile = new File("./assets" + sanitizedFilePath);
return targetFile; return targetFile;
} }
public static File getSaveFile(String pathName){
String sanitizedFilePath = sanitizeFilePath(pathName);
File targetFile = new File("./saves" + sanitizedFilePath);
return targetFile;
}
public static InputStream getAssetFileAsStream(String pathName) throws IOException{ public static InputStream getAssetFileAsStream(String pathName) throws IOException{
String sanitizedFilePath = sanitizeAssetFilePath(pathName); String sanitizedFilePath = sanitizeFilePath(pathName);
File targetFile = new File("./assets" + sanitizedFilePath); File targetFile = new File("./assets" + sanitizedFilePath);
return Files.newInputStream(targetFile.toPath()); return Files.newInputStream(targetFile.toPath());
} }
public static String getAssetFileAsString(String pathName) throws IOException{ public static String getAssetFileAsString(String pathName) throws IOException{
String sanitizedFilePath = sanitizeAssetFilePath(pathName); String sanitizedFilePath = sanitizeFilePath(pathName);
File targetFile = new File("./assets" + sanitizedFilePath); File targetFile = new File("./assets" + sanitizedFilePath);
return Files.readString(targetFile.toPath()); return Files.readString(targetFile.toPath());
} }
public static <T>T loadObjectFromAssetPath(String pathName, Class<T> className){ public static <T>T loadObjectFromAssetPath(String pathName, Class<T> className){
T rVal = null; T rVal = null;
String sanitizedFilePath = sanitizeAssetFilePath(pathName); String sanitizedFilePath = sanitizeFilePath(pathName);
String rawJSON = ""; Gson gson = new Gson();
try { try {
rawJSON = readStreamToString(Files.newInputStream(getAssetFile(sanitizedFilePath).toPath())); rVal = gson.fromJson(Files.newBufferedReader(getAssetFile(sanitizedFilePath).toPath()), className);
} catch (IOException ex) { } catch (IOException ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
return rVal;
}
public static <T>T loadObjectFromSavePath(String pathName, Class<T> className){
T rVal = null;
String sanitizedFilePath = sanitizeFilePath(pathName);
Gson gson = new Gson(); Gson gson = new Gson();
rVal = gson.fromJson(rawJSON, className); try {
rVal = gson.fromJson(Files.newBufferedReader(getSaveFile(sanitizedFilePath).toPath()), className);
} catch (IOException ex) {
ex.printStackTrace();
}
return rVal; return rVal;
} }