From 1adeaad2319c7efc571f5d69211f132713322c46 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Thu, 16 Feb 2023 14:58:27 -0600 Subject: [PATCH] rename IDhLevel methods --- .../lod/core/api/internal/ClientApi.java | 2 +- .../lod/core/api/internal/ServerApi.java | 4 +- .../seibel/lod/core/level/DhClientLevel.java | 4 +- .../lod/core/level/DhClientServerLevel.java | 50 +++++++++++-------- .../seibel/lod/core/level/DhServerLevel.java | 4 +- .../com/seibel/lod/core/level/IDhLevel.java | 4 +- .../lod/core/world/DhClientServerWorld.java | 2 +- .../seibel/lod/core/world/DhClientWorld.java | 2 +- .../seibel/lod/core/world/DhServerWorld.java | 3 +- 9 files changed, 40 insertions(+), 35 deletions(-) diff --git a/core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java b/core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java index 17942b9cc..5a425b1d0 100644 --- a/core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java +++ b/core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java @@ -122,7 +122,7 @@ public class ClientApi IDhLevel dhLevel = SharedApi.getAbstractDhWorld().getLevel(level); if (dhLevel != null) { - dhLevel.updateChunk(chunk); + dhLevel.updateChunkAsync(chunk); } } } diff --git a/core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java b/core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java index 8986a9d52..04b5580af 100644 --- a/core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java +++ b/core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java @@ -154,7 +154,7 @@ public class ServerApi IDhLevel dhLevel = SharedApi.getAbstractDhWorld().getLevel(level); if (dhLevel != null) { - dhLevel.updateChunk(chunk); + dhLevel.updateChunkAsync(chunk); } } public void serverChunkSaveEvent(IChunkWrapper chunk, ILevelWrapper level) @@ -162,7 +162,7 @@ public class ServerApi IDhLevel dhLevel = SharedApi.getAbstractDhWorld().getLevel(level); if (dhLevel != null) { - dhLevel.updateChunk(chunk); + dhLevel.updateChunkAsync(chunk); } } 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 1d3cfd66b..8ad018021 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 @@ -101,7 +101,7 @@ public class DhClientLevel implements IDhClientLevel } @Override - public void updateChunk(IChunkWrapper chunk) + public void updateChunkAsync(IChunkWrapper chunk) { //TODO } @@ -110,7 +110,7 @@ public class DhClientLevel implements IDhClientLevel public int getMinY() { return this.level.getMinHeight(); } @Override - public CompletableFuture save() { return this.renderFileHandler.flushAndSave(); } + public CompletableFuture saveAsync() { return this.renderFileHandler.flushAndSave(); } @Override public void close() 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 44eb2b084..1e51f9afa 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 @@ -109,13 +109,13 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel } IClientLevelWrapper levelWrapper = renderState.clientLevel; - renderState.close().join(); //TODO: Make it async. + renderState.closeAsync().join(); //TODO: Make it async. renderState = new RenderState(levelWrapper); if (!this.renderStateRef.compareAndSet(null, renderState)) { //FIXME: How to handle this? LOGGER.warn("Failed to set render state due to concurrency after changing view distance"); - renderState.close(); + renderState.closeAsync(); return; } } @@ -143,12 +143,12 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel public void startRenderer(IClientLevelWrapper clientLevel) { - LOGGER.info("Starting renderer for {}", this); + LOGGER.info("Starting renderer for "+this); RenderState renderState = new RenderState(clientLevel); if (!this.renderStateRef.compareAndSet(null, renderState)) { LOGGER.warn("Failed to start renderer due to concurrency"); - renderState.close(); + renderState.closeAsync(); } else { @@ -159,7 +159,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel if (!this.worldGenStateRef.compareAndSet(null, worldGenState)) { LOGGER.warn("Failed to start world gen due to concurrency"); - worldGenState.close(false); + worldGenState.closeAsync(false); } } @@ -172,7 +172,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel RenderState renderState = this.renderStateRef.get(); if (renderState == null) { - LOGGER.error("Tried to call render() on {} when renderer has not been started!", this); + LOGGER.error("Tried to call render() on "+this+" when renderer has not been started!"); return; } renderState.renderer.drawLODs(mcModelViewMatrix, mcProjectionMatrix, partialTicks, profiler); @@ -180,22 +180,26 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel public void stopRenderer() { - LOGGER.info("Stopping renderer for {}", this); + LOGGER.info("Stopping renderer for "+this); RenderState renderState = this.renderStateRef.get(); if (renderState == null) { - LOGGER.warn("Tried to stop renderer for {} when it was not started!", this); + LOGGER.warn("Tried to stop renderer for "+this+" when it was not started!"); return; } - while (!this.renderStateRef.compareAndSet(renderState, null)) + // stop the render state + while (!this.renderStateRef.compareAndSet(renderState, null)) // TODO why is there a while loop here? { renderState = this.renderStateRef.get(); if (renderState == null) + { return; + } } + renderState.closeAsync().join(); //TODO: Make it async. - renderState.close().join(); //TODO: Make it async. + // stop the world generator WorldGenState worldGenState = this.worldGenStateRef.get(); if (worldGenState != null) { @@ -203,9 +207,11 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel { worldGenState = this.worldGenStateRef.get(); if (worldGenState == null) + { return; + } } - worldGenState.close(true).join(); //TODO: Make it async. + worldGenState.closeAsync(true).join(); //TODO: Make it async. } } @@ -234,7 +240,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel public ILevelWrapper getLevelWrapper() { return this.serverLevel; } @Override - public void updateChunk(IChunkWrapper chunk) + public void updateChunkAsync(IChunkWrapper chunk) { CompletableFuture future = this.chunkToLodBuilder.tryGenerateData(chunk); if (future != null) @@ -253,12 +259,12 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel public int getMinY() { return this.serverLevel.getMinHeight(); } @Override - public CompletableFuture save() + public CompletableFuture saveAsync() { RenderState renderState = this.renderStateRef.get(); if (renderState != null) { - return renderState.renderFileHandler.flushAndSave().thenCombine(this.dataFileHandler.flushAndSave(), (a, b) -> null); + return renderState.renderFileHandler.flushAndSave().thenCombine(this.dataFileHandler.flushAndSave(), (voidA, voidB) -> null); } else { @@ -280,7 +286,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel return; } } - renderState.close().join(); //TODO: Make this async. + renderState.closeAsync().join(); //TODO: Make this async. } WorldGenState wgs = this.worldGenStateRef.get(); @@ -294,10 +300,10 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel return; } } - wgs.close(true).join(); //TODO: Make it async. + wgs.closeAsync(true).join(); //TODO: Make it async. } - LOGGER.info("Closed {}", this); + LOGGER.info("Closed "+this); } @@ -317,7 +323,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel if (!this.worldGenStateRef.compareAndSet(null, newWgs)) { LOGGER.warn("Failed to start world gen due to concurrency"); - newWgs.close(false); + newWgs.closeAsync(false); } } else if (!shouldDoWorldGen && wgs != null) @@ -331,7 +337,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel return; } } - wgs.close(true).join(); //TODO: Make it async. + wgs.closeAsync(true).join(); //TODO: Make it async. } } @@ -384,7 +390,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel this.clientLevel = clientLevel; this.renderFileHandler = new RenderFileHandler(thisParent.dataFileHandler, thisParent, thisParent.saveStructure.getRenderCacheFolder(thisParent.serverLevel)); - this.quadtree = new LodQuadTree(DhClientServerLevel.this, Config.Client.Graphics.Quality.lodChunkRenderDistance.get() * 16, + 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); this.renderBufferHandler = new RenderBufferHandler(this.quadtree); @@ -394,7 +400,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel - CompletableFuture close() + CompletableFuture closeAsync() { this.renderer.close(); this.renderBufferHandler.close(); @@ -429,7 +435,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel - CompletableFuture close(boolean doInterrupt) + CompletableFuture closeAsync(boolean doInterrupt) { DhClientServerLevel.this.dataFileHandler.clearGenerationQueue(); return this.worldGenerationQueue.startClosing(true, doInterrupt) diff --git a/core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java index 36026a340..1173f06d8 100644 --- a/core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java +++ b/core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java @@ -52,7 +52,7 @@ public class DhServerLevel implements IDhServerLevel } @Override - public CompletableFuture save() { return this.dataFileHandler.flushAndSave(); } + public CompletableFuture saveAsync() { return this.dataFileHandler.flushAndSave(); } @Override public void doWorldGen() @@ -76,7 +76,7 @@ public class DhServerLevel implements IDhServerLevel } @Override - public void updateChunk(IChunkWrapper chunk) + public void updateChunkAsync(IChunkWrapper chunk) { //TODO } diff --git a/core/src/main/java/com/seibel/lod/core/level/IDhLevel.java b/core/src/main/java/com/seibel/lod/core/level/IDhLevel.java index 29c1851ec..15fbf4ff1 100644 --- a/core/src/main/java/com/seibel/lod/core/level/IDhLevel.java +++ b/core/src/main/java/com/seibel/lod/core/level/IDhLevel.java @@ -9,14 +9,14 @@ import java.util.concurrent.CompletableFuture; public interface IDhLevel extends AutoCloseable { int getMinY(); - CompletableFuture save(); + CompletableFuture saveAsync(); void dumpRamUsage(); /** May return either a client or server level wrapper. */ ILevelWrapper getLevelWrapper(); - void updateChunk(IChunkWrapper chunk); + void updateChunkAsync(IChunkWrapper chunk); IFullDataSourceProvider getFileHandler(); diff --git a/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java index 33c90e020..62c7e6826 100644 --- a/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java @@ -121,7 +121,7 @@ public class DhClientServerWorld extends AbstractDhWorld implements IDhClientWor @Override public CompletableFuture saveAndFlush() { - return CompletableFuture.allOf(this.dhLevels.stream().map(DhClientServerLevel::save).toArray(CompletableFuture[]::new)); + return CompletableFuture.allOf(this.dhLevels.stream().map(DhClientServerLevel::saveAsync).toArray(CompletableFuture[]::new)); } @Override diff --git a/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java index c36486da4..f04aa3f97 100644 --- a/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java @@ -109,7 +109,7 @@ public class DhClientWorld extends AbstractDhWorld implements IDhClientWorld @Override public CompletableFuture saveAndFlush() { - return CompletableFuture.allOf(this.levels.values().stream().map(DhClientLevel::save).toArray(CompletableFuture[]::new)); + return CompletableFuture.allOf(this.levels.values().stream().map(DhClientLevel::saveAsync).toArray(CompletableFuture[]::new)); } @Override diff --git a/core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java index c7f35d976..64194a8f9 100644 --- a/core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java @@ -3,7 +3,6 @@ package com.seibel.lod.core.world; import com.seibel.lod.core.level.DhServerLevel; import com.seibel.lod.core.level.IDhLevel; import com.seibel.lod.core.file.structure.LocalSaveStructure; -import com.seibel.lod.core.level.IDhServerLevel; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper; @@ -83,7 +82,7 @@ public class DhServerWorld extends AbstractDhWorld implements IDhServerWorld @Override public CompletableFuture saveAndFlush() { - return CompletableFuture.allOf(this.levels.values().stream().map(DhServerLevel::save).toArray(CompletableFuture[]::new)); + return CompletableFuture.allOf(this.levels.values().stream().map(DhServerLevel::saveAsync).toArray(CompletableFuture[]::new)); } @Override