diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 73b912ab..d0fc3739 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1245,6 +1245,9 @@ Small collision engine code formatting Fix testing apparatus for native code on windows Fix doxygen also pointing at native code lib folder +(14/06/2024) +Fix arena loading + # TODO diff --git a/src/main/java/electrosphere/entity/scene/SceneLoader.java b/src/main/java/electrosphere/entity/scene/SceneLoader.java index 729e38df..0272a990 100644 --- a/src/main/java/electrosphere/entity/scene/SceneLoader.java +++ b/src/main/java/electrosphere/entity/scene/SceneLoader.java @@ -79,9 +79,12 @@ public class SceneLoader { ((GriddedDataCellManager)realm.getDataCellManager()).loadAllCells(); } if(file.getRealmDescriptor() != null && file.getRealmDescriptor().getType().equals(RealmDescriptor.REALM_DESCRIPTOR_GRIDDED)){ + serverWorldData.getServerTerrainManager().overrideChunkGenerator(new DefaultChunkGenerator()); if(serverWorldData.getServerTerrainManager().getChunkGenerator() instanceof DefaultChunkGenerator){ DefaultChunkGenerator chunkGenerator = (DefaultChunkGenerator)serverWorldData.getServerTerrainManager().getChunkGenerator(); chunkGenerator.setBaseVoxelId(file.getRealmDescriptor().getBaseVoxel()); + } else { + throw new Error("Failed to load " + serverWorldData.getServerTerrainManager().getChunkGenerator()); } } } break; diff --git a/src/main/java/electrosphere/server/terrain/manager/ServerTerrainManager.java b/src/main/java/electrosphere/server/terrain/manager/ServerTerrainManager.java index 70805d82..29e06ff5 100644 --- a/src/main/java/electrosphere/server/terrain/manager/ServerTerrainManager.java +++ b/src/main/java/electrosphere/server/terrain/manager/ServerTerrainManager.java @@ -234,6 +234,14 @@ public class ServerTerrainManager { public TerrainModel getModel() { return model; } + + /** + * Overrides the chunk generator + * @param generator The new chunk generator + */ + public void overrideChunkGenerator(ChunkGenerator generator){ + this.chunkGenerator = generator; + } /** * Performs logic once a server chunk is available