diff --git a/core/src/main/java/com/seibel/lod/core/file/renderfile/ILodRenderSourceProvider.java b/core/src/main/java/com/seibel/lod/core/file/renderfile/ILodRenderSourceProvider.java
index bf7141772..961e6b22c 100644
--- a/core/src/main/java/com/seibel/lod/core/file/renderfile/ILodRenderSourceProvider.java
+++ b/core/src/main/java/com/seibel/lod/core/file/renderfile/ILodRenderSourceProvider.java
@@ -10,7 +10,7 @@ import java.util.concurrent.CompletableFuture;
/**
* This represents LOD data that is stored in long term storage (IE LOD files stored on the hard drive)
- * Example: {@link RenderFileHandler RenderFileHandler}
+ * Example: {@link RenderSourceFileHandler RenderSourceFileHandler}
*
* This is used to create {@link ColumnRenderSource}'s
*/
diff --git a/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderMetaDataFile.java b/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderMetaDataFile.java
index 9c689045a..5c1265246 100644
--- a/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderMetaDataFile.java
+++ b/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderMetaDataFile.java
@@ -1,5 +1,6 @@
package com.seibel.lod.core.file.renderfile;
+import com.seibel.lod.core.datatype.render.ColumnRenderLoader;
import com.seibel.lod.core.datatype.render.ColumnRenderSource;
import com.seibel.lod.core.datatype.render.AbstractRenderSourceLoader;
import com.seibel.lod.core.datatype.full.sources.ChunkSizedFullDataSource;
@@ -33,7 +34,7 @@ public class RenderMetaDataFile extends AbstractMetaDataFile
// null - Nothing is loaded or being loaded
AtomicReference data = new AtomicReference<>(null);
- private final RenderFileHandler fileHandler;
+ private final RenderSourceFileHandler fileHandler;
private boolean doesFileExist;
@@ -46,11 +47,11 @@ public class RenderMetaDataFile extends AbstractMetaDataFile
* NOTE: should only be used if there is NOT an existing file.
* @throws IOException if a file already exists for this position
*/
- public static RenderMetaDataFile createNewFileForPos(RenderFileHandler fileHandler, DhSectionPos pos) throws IOException
+ public static RenderMetaDataFile createNewFileForPos(RenderSourceFileHandler fileHandler, DhSectionPos pos) throws IOException
{
return new RenderMetaDataFile(fileHandler, pos);
}
- private RenderMetaDataFile(RenderFileHandler fileHandler, DhSectionPos pos) throws IOException
+ private RenderMetaDataFile(RenderSourceFileHandler fileHandler, DhSectionPos pos) throws IOException
{
super(fileHandler.computeRenderFilePath(pos), pos);
this.fileHandler = fileHandler;
@@ -62,11 +63,11 @@ public class RenderMetaDataFile extends AbstractMetaDataFile
* NOTE: should only be used if there IS an existing file.
* @throws IOException if no file exists for this position
*/
- public static RenderMetaDataFile createFromExistingFile(RenderFileHandler fileHandler, File path) throws IOException
+ public static RenderMetaDataFile createFromExistingFile(RenderSourceFileHandler fileHandler, File path) throws IOException
{
return new RenderMetaDataFile(fileHandler, path);
}
- private RenderMetaDataFile(RenderFileHandler fileHandler, File path) throws IOException
+ private RenderMetaDataFile(RenderSourceFileHandler fileHandler, File path) throws IOException
{
super(path);
this.fileHandler = fileHandler;
diff --git a/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderFileHandler.java b/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderSourceFileHandler.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/file/renderfile/RenderFileHandler.java
rename to core/src/main/java/com/seibel/lod/core/file/renderfile/RenderSourceFileHandler.java
index d13e9a174..a0cc74d44 100644
--- a/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderFileHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderSourceFileHandler.java
@@ -2,7 +2,6 @@ package com.seibel.lod.core.file.renderfile;
import com.google.common.collect.HashMultimap;
import com.seibel.lod.core.datatype.full.IFullDataSource;
-import com.seibel.lod.core.datatype.render.AbstractRenderSourceLoader;
import com.seibel.lod.core.datatype.render.ColumnRenderSource;
import com.seibel.lod.core.datatype.full.sources.ChunkSizedFullDataSource;
import com.seibel.lod.core.datatype.transform.DataRenderTransformer;
@@ -24,9 +23,10 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
-public class RenderFileHandler implements ILodRenderSourceProvider
+public class RenderSourceFileHandler implements ILodRenderSourceProvider
{
public static final String RENDER_FILE_EXTENSION = ".rlod";
+ public static final long RENDER_SOURCE_TYPE_ID = ColumnRenderSource.TYPE_ID;
private static final Logger LOGGER = DhLoggerBuilder.getLogger();
@@ -42,7 +42,7 @@ public class RenderFileHandler implements ILodRenderSourceProvider
- public RenderFileHandler(IFullDataSourceProvider sourceProvider, IDhClientLevel level, File saveRootDir)
+ public RenderSourceFileHandler(IFullDataSourceProvider sourceProvider, IDhClientLevel level, File saveRootDir)
{
this.fullDataSourceProvider = sourceProvider;
this.level = level;
@@ -339,9 +339,7 @@ public class RenderFileHandler implements ILodRenderSourceProvider
//file.metaData.dataVersion.set(newDataVersion);
file.metaData.dataLevel = currentRenderSource.getDataDetail();
- file.loader = AbstractRenderSourceLoader.getLoader(currentRenderSource.getClass(), currentRenderSource.getRenderVersion());
- file.dataType = currentRenderSource.getClass();
- file.metaData.dataTypeId = file.loader.renderTypeId;
+ file.metaData.dataTypeId = RENDER_SOURCE_TYPE_ID;
file.metaData.loaderVersion = currentRenderSource.getRenderVersion();
file.save(currentRenderSource, this.level);
}
diff --git a/core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java
index 8ad018021..4821ea7ff 100644
--- a/core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java
+++ b/core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java
@@ -1,10 +1,10 @@
package com.seibel.lod.core.level;
import com.seibel.lod.core.file.fullDatafile.IFullDataSourceProvider;
+import com.seibel.lod.core.file.renderfile.RenderSourceFileHandler;
import com.seibel.lod.core.render.LodQuadTree;
import com.seibel.lod.core.util.FileScanUtil;
import com.seibel.lod.core.file.fullDatafile.RemoteFullDataFileHandler;
-import com.seibel.lod.core.file.renderfile.RenderFileHandler;
import com.seibel.lod.core.pos.DhBlockPos2D;
import com.seibel.lod.core.render.RenderBufferHandler;
import com.seibel.lod.core.file.structure.ClientOnlySaveStructure;
@@ -31,7 +31,7 @@ public class DhClientLevel implements IDhClientLevel
private static final IMinecraftClientWrapper MC_CLIENT = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class);
public final ClientOnlySaveStructure save;
public final RemoteFullDataFileHandler dataFileHandler;
- public final RenderFileHandler renderFileHandler;
+ public final RenderSourceFileHandler renderSourceFileHandler;
public final RenderBufferHandler renderBufferHandler; //TODO: Should this be owned by renderer?
public final IClientLevelWrapper level;
public LodRenderer renderer = null;
@@ -45,12 +45,12 @@ public class DhClientLevel implements IDhClientLevel
save.getDataFolder(level).mkdirs();
save.getRenderCacheFolder(level).mkdirs();
this.dataFileHandler = new RemoteFullDataFileHandler(this, save.getDataFolder(level));
- this.renderFileHandler = new RenderFileHandler(this.dataFileHandler, this, save.getRenderCacheFolder(level));
+ this.renderSourceFileHandler = new RenderSourceFileHandler(this.dataFileHandler, this, save.getRenderCacheFolder(level));
this.tree = new LodQuadTree(this, Config.Client.Graphics.Quality.lodChunkRenderDistance.get() * 16,
- MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, this.renderFileHandler);
+ MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, this.renderSourceFileHandler);
this.renderBufferHandler = new RenderBufferHandler(this.tree);
this.level = level;
- FileScanUtil.scanFiles(save, level, this.dataFileHandler, this.renderFileHandler);
+ FileScanUtil.scanFiles(save, level, this.dataFileHandler, this.renderSourceFileHandler);
LOGGER.info("Started DHLevel for {} with saves at {}", level, save);
}
@@ -110,12 +110,12 @@ public class DhClientLevel implements IDhClientLevel
public int getMinY() { return this.level.getMinHeight(); }
@Override
- public CompletableFuture saveAsync() { return this.renderFileHandler.flushAndSave(); }
+ public CompletableFuture saveAsync() { return this.renderSourceFileHandler.flushAndSave(); }
@Override
public void close()
{
- this.renderFileHandler.close();
+ this.renderSourceFileHandler.close();
LOGGER.info("Closed DHLevel for {}", this.level);
}
diff --git a/core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java
index 0dbf1b8e3..5d62b0d40 100644
--- a/core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java
+++ b/core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java
@@ -7,6 +7,7 @@ import com.seibel.lod.core.datatype.full.sources.ChunkSizedFullDataSource;
import com.seibel.lod.core.datatype.full.sources.FullDataSource;
import com.seibel.lod.core.datatype.transform.ChunkToLodBuilder;
import com.seibel.lod.core.file.fullDatafile.IFullDataSourceProvider;
+import com.seibel.lod.core.file.renderfile.RenderSourceFileHandler;
import com.seibel.lod.core.generation.BatchGenerator;
import com.seibel.lod.core.generation.WorldGenerationQueue;
import com.seibel.lod.core.pos.DhLodPos;
@@ -14,7 +15,6 @@ import com.seibel.lod.core.pos.DhSectionPos;
import com.seibel.lod.core.render.LodQuadTree;
import com.seibel.lod.core.file.fullDatafile.GeneratedFullDataFileHandler;
import com.seibel.lod.core.util.FileScanUtil;
-import com.seibel.lod.core.file.renderfile.RenderFileHandler;
import com.seibel.lod.core.pos.DhBlockPos2D;
import com.seibel.lod.core.render.RenderBufferHandler;
import com.seibel.lod.core.file.structure.LocalSaveStructure;
@@ -130,7 +130,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
DhLodPos pos = data.getBBoxLodPos().convertToDetailLevel(FullDataSource.SECTION_SIZE_OFFSET);
if (renderState != null)
{
- renderState.renderFileHandler.write(new DhSectionPos(pos.detailLevel, pos.x, pos.z), data);
+ renderState.renderSourceFileHandler.write(new DhSectionPos(pos.detailLevel, pos.x, pos.z), data);
}
else
{
@@ -264,7 +264,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
RenderState renderState = this.renderStateRef.get();
if (renderState != null)
{
- return renderState.renderFileHandler.flushAndSave().thenCombine(this.dataFileHandler.flushAndSave(), (voidA, voidB) -> null);
+ return renderState.renderSourceFileHandler.flushAndSave().thenCombine(this.dataFileHandler.flushAndSave(), (voidA, voidB) -> null);
}
else
{
@@ -377,7 +377,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
{
public final IClientLevelWrapper clientLevel;
public final LodQuadTree quadtree;
- public final RenderFileHandler renderFileHandler;
+ public final RenderSourceFileHandler renderSourceFileHandler;
public final LodRenderer renderer;
@@ -387,13 +387,13 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
DhClientServerLevel thisParent = DhClientServerLevel.this;
this.clientLevel = clientLevel;
- this.renderFileHandler = new RenderFileHandler(thisParent.dataFileHandler, thisParent, thisParent.saveStructure.getRenderCacheFolder(thisParent.serverLevel));
+ this.renderSourceFileHandler = new RenderSourceFileHandler(thisParent.dataFileHandler, thisParent, thisParent.saveStructure.getRenderCacheFolder(thisParent.serverLevel));
this.quadtree = new LodQuadTree(DhClientServerLevel.this, Config.Client.Graphics.Quality.lodChunkRenderDistance.get() * LodUtil.CHUNK_WIDTH,
- MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, this.renderFileHandler);
+ MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, this.renderSourceFileHandler);
RenderBufferHandler renderBufferHandler = new RenderBufferHandler(this.quadtree);
- FileScanUtil.scanFiles(thisParent.saveStructure, thisParent.serverLevel, null, this.renderFileHandler);
+ FileScanUtil.scanFiles(thisParent.saveStructure, thisParent.serverLevel, null, this.renderSourceFileHandler);
this.renderer = new LodRenderer(renderBufferHandler);
}
@@ -403,7 +403,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
{
this.renderer.close();
this.quadtree.close();
- return this.renderFileHandler.flushAndSave();
+ return this.renderSourceFileHandler.flushAndSave();
}
}