diff --git a/build.gradle b/build.gradle index a156cf7c..377a8de3 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ processResources { } loom { - accessWidenerPath = file("src/main/resources/voxelmon.accesswidener") + accessWidenerPath = file("src/main/resources/zenith.accesswidener") } dependencies { diff --git a/src/main/java/me/cortex/voxelmon/client/IGetVoxelCore.java b/src/main/java/me/cortex/voxelmon/client/IGetVoxelCore.java deleted file mode 100644 index 07f6c679..00000000 --- a/src/main/java/me/cortex/voxelmon/client/IGetVoxelCore.java +++ /dev/null @@ -1,7 +0,0 @@ -package me.cortex.voxelmon.client; - -import me.cortex.voxelmon.client.core.VoxelCore; - -public interface IGetVoxelCore { - VoxelCore getVoxelCore(); -} diff --git a/src/main/java/me/cortex/voxelmon/client/core/TreeDistanceTracker.java b/src/main/java/me/cortex/voxelmon/client/core/TreeDistanceTracker.java deleted file mode 100644 index f6dd49d8..00000000 --- a/src/main/java/me/cortex/voxelmon/client/core/TreeDistanceTracker.java +++ /dev/null @@ -1,10 +0,0 @@ -package me.cortex.voxelmon.client.core; - -//Tracks the distance with respect to the entire world size -public class TreeDistanceTracker { - private final int scalingFactor; - - public TreeDistanceTracker(int scalingFactor) { - this.scalingFactor = scalingFactor; - } -} diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/ColourMapping.java b/src/main/java/me/cortex/voxelmon/client/core/rendering/building/ColourMapping.java deleted file mode 100644 index 3dc57c85..00000000 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/ColourMapping.java +++ /dev/null @@ -1,9 +0,0 @@ -package me.cortex.voxelmon.client.core.rendering.building; - -//Class for generating holding and remapping colours and ids -// used during building and then remapping into the global colour array before insertion into the world -public class ColourMapping { - public void reset() { - - } -} diff --git a/src/main/java/me/cortex/zenith/client/IGetVoxelCore.java b/src/main/java/me/cortex/zenith/client/IGetVoxelCore.java new file mode 100644 index 00000000..d4bb85e7 --- /dev/null +++ b/src/main/java/me/cortex/zenith/client/IGetVoxelCore.java @@ -0,0 +1,7 @@ +package me.cortex.zenith.client; + +import me.cortex.zenith.client.core.VoxelCore; + +public interface IGetVoxelCore { + VoxelCore getVoxelCore(); +} diff --git a/src/main/java/me/cortex/voxelmon/client/Test.java b/src/main/java/me/cortex/zenith/client/Test.java similarity index 81% rename from src/main/java/me/cortex/voxelmon/client/Test.java rename to src/main/java/me/cortex/zenith/client/Test.java index d016e473..5ee1b56e 100644 --- a/src/main/java/me/cortex/voxelmon/client/Test.java +++ b/src/main/java/me/cortex/zenith/client/Test.java @@ -1,8 +1,9 @@ -package me.cortex.voxelmon.client; +package me.cortex.zenith.client; -import me.cortex.voxelmon.common.world.storage.LMDBInterface; -import me.cortex.voxelmon.common.world.storage.StorageBackend; -import me.cortex.voxelmon.client.importers.WorldImporter; +import me.cortex.zenith.common.world.storage.lmdb.LMDBInterface; +import me.cortex.zenith.common.world.storage.StorageBackend; +import me.cortex.zenith.client.importers.WorldImporter; +import me.cortex.zenith.common.world.storage.lmdb.LMDBStorageBackend; import org.lwjgl.system.MemoryUtil; import java.io.File; @@ -33,7 +34,7 @@ public class Test { } public static void main2(String[] args) throws Exception { - var storage = new StorageBackend(new File("run/storagefile.db")); + var storage = new LMDBStorageBackend(new File("run/storagefile.db")); for (int i = 0; i < 2; i++) { new Thread(()->{ //storage.getSectionData(1143914312599863680L); @@ -45,7 +46,7 @@ public class Test { //storage.setSectionData(1143914312599863680L, ByteBuffer.allocateDirect(12345)); //storage.close(); - System.out.println(storage.getIdMappings()); + System.out.println(storage.getIdMappingsData()); storage.putIdMapping(1, ByteBuffer.allocateDirect(12)); Thread.sleep(1000); diff --git a/src/main/java/me/cortex/voxelmon/client/Voxelmon.java b/src/main/java/me/cortex/zenith/client/Voxelmon.java similarity index 83% rename from src/main/java/me/cortex/voxelmon/client/Voxelmon.java rename to src/main/java/me/cortex/zenith/client/Voxelmon.java index 43bbe428..fa53c286 100644 --- a/src/main/java/me/cortex/voxelmon/client/Voxelmon.java +++ b/src/main/java/me/cortex/zenith/client/Voxelmon.java @@ -1,7 +1,7 @@ -package me.cortex.voxelmon.client; +package me.cortex.zenith.client; //import me.cortex.voxelmon.client.terrain.WorldImportCommand; -import me.cortex.voxelmon.client.terrain.WorldImportCommand; +import me.cortex.zenith.client.terrain.WorldImportCommand; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; diff --git a/src/main/java/me/cortex/voxelmon/client/core/DistanceTracker.java b/src/main/java/me/cortex/zenith/client/core/DistanceTracker.java similarity index 92% rename from src/main/java/me/cortex/voxelmon/client/core/DistanceTracker.java rename to src/main/java/me/cortex/zenith/client/core/DistanceTracker.java index ad995408..1348812f 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/DistanceTracker.java +++ b/src/main/java/me/cortex/zenith/client/core/DistanceTracker.java @@ -1,11 +1,11 @@ -package me.cortex.voxelmon.client.core; +package me.cortex.zenith.client.core; //Contains the logic to determine what is loaded and at what LoD level, dispatches render changes // also determines what faces are built etc import it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap; -import me.cortex.voxelmon.client.core.rendering.RenderTracker; -import me.cortex.voxelmon.client.core.util.RingUtil; +import me.cortex.zenith.client.core.rendering.RenderTracker; +import me.cortex.zenith.client.core.util.RingUtil; import net.minecraft.client.MinecraftClient; //Can use ring logic @@ -17,21 +17,23 @@ public class DistanceTracker { private final TransitionRing2D[] rings; private final RenderTracker tracker; private final int scale; + private final int minYSection; + private final int maxYSection; public DistanceTracker(RenderTracker tracker, int rings, int scale) { this.rings = new TransitionRing2D[rings]; this.tracker = tracker; this.scale = scale; + this.minYSection = MinecraftClient.getInstance().world.getBottomSectionCoord()/2; + this.maxYSection = MinecraftClient.getInstance().world.getTopSectionCoord()/2; + this.rings[0] = new TransitionRing2D(5, MinecraftClient.getInstance().options.getClampedViewDistance()/2, (x, z)->{ - if (false) { - return; - } - for (int y = -2; y < 10; y++) { + for (int y = this.minYSection; y <= this.maxYSection; y++) { this.tracker.remLvl0(x, y, z); } }, (x, z) -> { - for (int y = -2; y < 10; y++) { + for (int y = this.minYSection; y <= this.maxYSection; y++) { this.tracker.addLvl0(x, y, z); } }); @@ -46,13 +48,13 @@ public class DistanceTracker { } private void inc(int lvl, int x, int z) { - for (int y = -2>>lvl; y <= 10>>lvl; y++) { + for (int y = this.minYSection>>lvl; y <= this.maxYSection>>lvl; y++) { this.tracker.inc(lvl, x, y, z); } } private void dec(int lvl, int x, int z) { - for (int y = -2>>lvl; y <= 10>>lvl; y++) { + for (int y = this.minYSection>>lvl; y <= this.maxYSection>>lvl; y++) { this.tracker.dec(lvl, x, y, z); } } diff --git a/src/main/java/me/cortex/voxelmon/client/core/VoxelCore.java b/src/main/java/me/cortex/zenith/client/core/VoxelCore.java similarity index 91% rename from src/main/java/me/cortex/voxelmon/client/core/VoxelCore.java rename to src/main/java/me/cortex/zenith/client/core/VoxelCore.java index 5b32dd9f..9352971a 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/VoxelCore.java +++ b/src/main/java/me/cortex/zenith/client/core/VoxelCore.java @@ -1,14 +1,15 @@ -package me.cortex.voxelmon.client.core; +package me.cortex.zenith.client.core; -import me.cortex.voxelmon.client.core.rendering.*; -import me.cortex.voxelmon.client.core.rendering.building.RenderGenerationService; -import me.cortex.voxelmon.client.core.util.DebugUtil; -import me.cortex.voxelmon.common.world.WorldEngine; -import me.cortex.voxelmon.client.core.other.BiomeColour; -import me.cortex.voxelmon.client.core.other.BlockStateColour; -import me.cortex.voxelmon.client.core.other.ColourResolver; -import me.cortex.voxelmon.common.world.other.Mapper; -import me.cortex.voxelmon.client.importers.WorldImporter; +import me.cortex.zenith.client.core.rendering.*; +import me.cortex.zenith.client.core.rendering.building.RenderGenerationService; +import me.cortex.zenith.client.core.util.DebugUtil; +import me.cortex.zenith.common.world.WorldEngine; +import me.cortex.zenith.client.core.other.BiomeColour; +import me.cortex.zenith.client.core.other.BlockStateColour; +import me.cortex.zenith.client.core.other.ColourResolver; +import me.cortex.zenith.common.world.other.Mapper; +import me.cortex.zenith.client.importers.WorldImporter; +import me.cortex.zenith.common.world.storage.lmdb.LMDBStorageBackend; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.client.render.Camera; @@ -64,7 +65,7 @@ public class VoxelCore { SharedIndexBuffer.INSTANCE.id(); this.renderer = new Gl46FarWorldRenderer(); System.out.println("Renderer initialized"); - this.world = new WorldEngine(new File("storagefile.db"), 2, 15, 5);//"storagefile.db"//"ethoslab.db" + this.world = new WorldEngine(new LMDBStorageBackend(new File("storagefile.db")), 2, 20, 5);//"storagefile.db"//"ethoslab.db" System.out.println("World engine"); this.renderTracker = new RenderTracker(this.world, this.renderer); @@ -196,7 +197,7 @@ public class VoxelCore { public WorldImporter createWorldImporter(World mcWorld, File worldPath) { var importer = new WorldImporter(this.world, mcWorld); - importer.importWorldAsyncStart(worldPath, 5, null, ()->{ + importer.importWorldAsyncStart(worldPath, 15, null, ()->{ System.err.println("DONE IMPORT"); }); return importer; diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/GlBuffer.java b/src/main/java/me/cortex/zenith/client/core/gl/GlBuffer.java similarity index 87% rename from src/main/java/me/cortex/voxelmon/client/core/gl/GlBuffer.java rename to src/main/java/me/cortex/zenith/client/core/gl/GlBuffer.java index f7d3fedb..e27fb45e 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/GlBuffer.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/GlBuffer.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.core.gl; +package me.cortex.zenith.client.core.gl; -import me.cortex.voxelmon.common.util.TrackedObject; +import me.cortex.zenith.common.util.TrackedObject; import static org.lwjgl.opengl.GL15.glDeleteBuffers; import static org.lwjgl.opengl.GL44C.glBufferStorage; diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/GlFence.java b/src/main/java/me/cortex/zenith/client/core/gl/GlFence.java similarity index 89% rename from src/main/java/me/cortex/voxelmon/client/core/gl/GlFence.java rename to src/main/java/me/cortex/zenith/client/core/gl/GlFence.java index 7038bbbd..433553dc 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/GlFence.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/GlFence.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.core.gl; +package me.cortex.zenith.client.core.gl; -import me.cortex.voxelmon.common.util.TrackedObject; +import me.cortex.zenith.common.util.TrackedObject; import static org.lwjgl.opengl.GL32.*; diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/GlFramebuffer.java b/src/main/java/me/cortex/zenith/client/core/gl/GlFramebuffer.java similarity index 88% rename from src/main/java/me/cortex/voxelmon/client/core/gl/GlFramebuffer.java rename to src/main/java/me/cortex/zenith/client/core/gl/GlFramebuffer.java index 61a25266..620a33ae 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/GlFramebuffer.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/GlFramebuffer.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.core.gl; +package me.cortex.zenith.client.core.gl; -import me.cortex.voxelmon.common.util.TrackedObject; +import me.cortex.zenith.common.util.TrackedObject; import static org.lwjgl.opengl.GL45C.*; diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/GlPersistentMappedBuffer.java b/src/main/java/me/cortex/zenith/client/core/gl/GlPersistentMappedBuffer.java similarity index 90% rename from src/main/java/me/cortex/voxelmon/client/core/gl/GlPersistentMappedBuffer.java rename to src/main/java/me/cortex/zenith/client/core/gl/GlPersistentMappedBuffer.java index d474205d..8f5fdfe4 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/GlPersistentMappedBuffer.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/GlPersistentMappedBuffer.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.core.gl; +package me.cortex.zenith.client.core.gl; -import me.cortex.voxelmon.common.util.TrackedObject; +import me.cortex.zenith.common.util.TrackedObject; import static org.lwjgl.opengl.ARBMapBufferRange.GL_MAP_WRITE_BIT; import static org.lwjgl.opengl.GL15.glDeleteBuffers; diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/GlTexture.java b/src/main/java/me/cortex/zenith/client/core/gl/GlTexture.java similarity index 91% rename from src/main/java/me/cortex/voxelmon/client/core/gl/GlTexture.java rename to src/main/java/me/cortex/zenith/client/core/gl/GlTexture.java index 6227c065..e56fd041 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/GlTexture.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/GlTexture.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.core.gl; +package me.cortex.zenith.client.core.gl; -import me.cortex.voxelmon.common.util.TrackedObject; +import me.cortex.zenith.common.util.TrackedObject; import static org.lwjgl.opengl.ARBFramebufferObject.glDeleteFramebuffers; import static org.lwjgl.opengl.ARBFramebufferObject.glGenFramebuffers; diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/shader/IShaderProcessor.java b/src/main/java/me/cortex/zenith/client/core/gl/shader/IShaderProcessor.java similarity index 64% rename from src/main/java/me/cortex/voxelmon/client/core/gl/shader/IShaderProcessor.java rename to src/main/java/me/cortex/zenith/client/core/gl/shader/IShaderProcessor.java index a4eeeed3..1a60d5b2 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/shader/IShaderProcessor.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/shader/IShaderProcessor.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.gl.shader; +package me.cortex.zenith.client.core.gl.shader; public interface IShaderProcessor { String process(ShaderType type, String source); diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/shader/Shader.java b/src/main/java/me/cortex/zenith/client/core/gl/shader/Shader.java similarity index 96% rename from src/main/java/me/cortex/voxelmon/client/core/gl/shader/Shader.java rename to src/main/java/me/cortex/zenith/client/core/gl/shader/Shader.java index fe699722..2111a720 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/shader/Shader.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/shader/Shader.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.core.gl.shader; +package me.cortex.zenith.client.core.gl.shader; -import me.cortex.voxelmon.common.util.TrackedObject; +import me.cortex.zenith.common.util.TrackedObject; import org.lwjgl.opengl.GL20C; import java.util.HashMap; diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/shader/ShaderLoader.java b/src/main/java/me/cortex/zenith/client/core/gl/shader/ShaderLoader.java similarity index 89% rename from src/main/java/me/cortex/voxelmon/client/core/gl/shader/ShaderLoader.java rename to src/main/java/me/cortex/zenith/client/core/gl/shader/ShaderLoader.java index d85e9d96..61df8a94 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/shader/ShaderLoader.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/shader/ShaderLoader.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.gl.shader; +package me.cortex.zenith.client.core.gl.shader; import me.jellysquid.mods.sodium.client.gl.shader.ShaderConstants; import me.jellysquid.mods.sodium.client.gl.shader.ShaderParser; diff --git a/src/main/java/me/cortex/voxelmon/client/core/gl/shader/ShaderType.java b/src/main/java/me/cortex/zenith/client/core/gl/shader/ShaderType.java similarity index 91% rename from src/main/java/me/cortex/voxelmon/client/core/gl/shader/ShaderType.java rename to src/main/java/me/cortex/zenith/client/core/gl/shader/ShaderType.java index 9fcf8082..dca5ad4c 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/gl/shader/ShaderType.java +++ b/src/main/java/me/cortex/zenith/client/core/gl/shader/ShaderType.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.gl.shader; +package me.cortex.zenith.client.core.gl.shader; import static org.lwjgl.opengl.GL20.GL_FRAGMENT_SHADER; diff --git a/src/main/java/me/cortex/voxelmon/client/core/other/BiomeColour.java b/src/main/java/me/cortex/zenith/client/core/other/BiomeColour.java similarity index 61% rename from src/main/java/me/cortex/voxelmon/client/core/other/BiomeColour.java rename to src/main/java/me/cortex/zenith/client/core/other/BiomeColour.java index 159d130b..118ca331 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/other/BiomeColour.java +++ b/src/main/java/me/cortex/zenith/client/core/other/BiomeColour.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.other; +package me.cortex.zenith.client.core.other; public record BiomeColour(int id, int foliageColour, int waterColour) { } diff --git a/src/main/java/me/cortex/voxelmon/client/core/other/BlockStateColour.java b/src/main/java/me/cortex/zenith/client/core/other/BlockStateColour.java similarity index 63% rename from src/main/java/me/cortex/voxelmon/client/core/other/BlockStateColour.java rename to src/main/java/me/cortex/zenith/client/core/other/BlockStateColour.java index 7aeebcd2..12310827 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/other/BlockStateColour.java +++ b/src/main/java/me/cortex/zenith/client/core/other/BlockStateColour.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.other; +package me.cortex.zenith.client.core.other; public record BlockStateColour(int id, int biomeTintMsk, int[] faceColours) { } diff --git a/src/main/java/me/cortex/voxelmon/client/core/other/ColourResolver.java b/src/main/java/me/cortex/zenith/client/core/other/ColourResolver.java similarity index 99% rename from src/main/java/me/cortex/voxelmon/client/core/other/ColourResolver.java rename to src/main/java/me/cortex/zenith/client/core/other/ColourResolver.java index 52ab7092..a3ace29b 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/other/ColourResolver.java +++ b/src/main/java/me/cortex/zenith/client/core/other/ColourResolver.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.other; +package me.cortex.zenith.client.core.other; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/AbstractFarWorldRenderer.java b/src/main/java/me/cortex/zenith/client/core/rendering/AbstractFarWorldRenderer.java similarity index 93% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/AbstractFarWorldRenderer.java rename to src/main/java/me/cortex/zenith/client/core/rendering/AbstractFarWorldRenderer.java index a7fc4605..e67b2d5c 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/AbstractFarWorldRenderer.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/AbstractFarWorldRenderer.java @@ -1,13 +1,13 @@ -package me.cortex.voxelmon.client.core.rendering; +package me.cortex.zenith.client.core.rendering; //NOTE: an idea on how to do it is so that any render section, we _keep_ aquired (yes this will be very memory intensive) // could maybe tosomething else -import me.cortex.voxelmon.client.core.gl.GlBuffer; -import me.cortex.voxelmon.client.core.rendering.building.BuiltSectionGeometry; -import me.cortex.voxelmon.client.core.rendering.util.UploadStream; -import me.cortex.voxelmon.client.core.other.BiomeColour; -import me.cortex.voxelmon.client.core.other.BlockStateColour; +import me.cortex.zenith.client.core.gl.GlBuffer; +import me.cortex.zenith.client.core.rendering.building.BuiltSectionGeometry; +import me.cortex.zenith.client.core.rendering.util.UploadStream; +import me.cortex.zenith.client.core.other.BiomeColour; +import me.cortex.zenith.client.core.other.BlockStateColour; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.Camera; import net.minecraft.client.render.Frustum; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/GeometryManager.java b/src/main/java/me/cortex/zenith/client/core/rendering/GeometryManager.java similarity index 95% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/GeometryManager.java rename to src/main/java/me/cortex/zenith/client/core/rendering/GeometryManager.java index bb41156f..3967e3be 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/GeometryManager.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/GeometryManager.java @@ -1,12 +1,12 @@ -package me.cortex.voxelmon.client.core.rendering; +package me.cortex.zenith.client.core.rendering; import it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap; import it.unimi.dsi.fastutil.longs.LongArrayList; import it.unimi.dsi.fastutil.objects.ObjectArrayList; -import me.cortex.voxelmon.client.core.gl.GlBuffer; -import me.cortex.voxelmon.client.core.rendering.building.BuiltSectionGeometry; -import me.cortex.voxelmon.client.core.rendering.util.BufferArena; -import me.cortex.voxelmon.client.core.rendering.util.UploadStream; +import me.cortex.zenith.client.core.gl.GlBuffer; +import me.cortex.zenith.client.core.rendering.building.BuiltSectionGeometry; +import me.cortex.zenith.client.core.rendering.util.BufferArena; +import me.cortex.zenith.client.core.rendering.util.UploadStream; import org.lwjgl.system.MemoryUtil; import java.util.concurrent.ConcurrentLinkedDeque; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/Gl46FarWorldRenderer.java b/src/main/java/me/cortex/zenith/client/core/rendering/Gl46FarWorldRenderer.java similarity index 94% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/Gl46FarWorldRenderer.java rename to src/main/java/me/cortex/zenith/client/core/rendering/Gl46FarWorldRenderer.java index 9f6dcb06..d126d7ed 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/Gl46FarWorldRenderer.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/Gl46FarWorldRenderer.java @@ -1,11 +1,11 @@ -package me.cortex.voxelmon.client.core.rendering; +package me.cortex.zenith.client.core.rendering; import com.mojang.blaze3d.systems.RenderSystem; -import me.cortex.voxelmon.client.core.gl.GlBuffer; -import me.cortex.voxelmon.client.core.gl.shader.Shader; -import me.cortex.voxelmon.client.core.gl.shader.ShaderType; -import me.cortex.voxelmon.client.core.rendering.util.UploadStream; -import me.cortex.voxelmon.client.mixin.joml.AccessFrustumIntersection; +import me.cortex.zenith.client.core.gl.GlBuffer; +import me.cortex.zenith.client.core.gl.shader.Shader; +import me.cortex.zenith.client.core.gl.shader.ShaderType; +import me.cortex.zenith.client.core.rendering.util.UploadStream; +import me.cortex.zenith.client.mixin.joml.AccessFrustumIntersection; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.util.math.MatrixStack; import org.joml.Matrix4f; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/ModelManager.java b/src/main/java/me/cortex/zenith/client/core/rendering/ModelManager.java similarity index 67% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/ModelManager.java rename to src/main/java/me/cortex/zenith/client/core/rendering/ModelManager.java index 3b331cc5..9525432a 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/ModelManager.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/ModelManager.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.rendering; +package me.cortex.zenith.client.core.rendering; //Manages the storage and updating of model states, textures and colours public class ModelManager { diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/NvFarWorldRenderer.java b/src/main/java/me/cortex/zenith/client/core/rendering/NvFarWorldRenderer.java similarity index 86% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/NvFarWorldRenderer.java rename to src/main/java/me/cortex/zenith/client/core/rendering/NvFarWorldRenderer.java index 97d2dcb5..65669b87 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/NvFarWorldRenderer.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/NvFarWorldRenderer.java @@ -1,8 +1,8 @@ -package me.cortex.voxelmon.client.core.rendering; +package me.cortex.zenith.client.core.rendering; -import me.cortex.voxelmon.client.core.gl.shader.Shader; -import me.cortex.voxelmon.client.core.gl.shader.ShaderType; -import me.cortex.voxelmon.client.core.rendering.util.UploadStream; +import me.cortex.zenith.client.core.gl.shader.Shader; +import me.cortex.zenith.client.core.gl.shader.ShaderType; +import me.cortex.zenith.client.core.rendering.util.UploadStream; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.util.math.MatrixStack; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/PostProcessing.java b/src/main/java/me/cortex/zenith/client/core/rendering/PostProcessing.java similarity index 91% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/PostProcessing.java rename to src/main/java/me/cortex/zenith/client/core/rendering/PostProcessing.java index c0b3a9d3..9a6bb73d 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/PostProcessing.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/PostProcessing.java @@ -1,9 +1,9 @@ -package me.cortex.voxelmon.client.core.rendering; +package me.cortex.zenith.client.core.rendering; -import me.cortex.voxelmon.client.core.gl.GlFramebuffer; -import me.cortex.voxelmon.client.core.gl.GlTexture; -import me.cortex.voxelmon.client.core.gl.shader.Shader; -import me.cortex.voxelmon.client.core.gl.shader.ShaderType; +import me.cortex.zenith.client.core.gl.GlFramebuffer; +import me.cortex.zenith.client.core.gl.GlTexture; +import me.cortex.zenith.client.core.gl.shader.Shader; +import me.cortex.zenith.client.core.gl.shader.ShaderType; import org.lwjgl.opengl.GL11C; import static org.lwjgl.opengl.ARBFramebufferObject.*; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/RenderTracker.java b/src/main/java/me/cortex/zenith/client/core/rendering/RenderTracker.java similarity index 96% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/RenderTracker.java rename to src/main/java/me/cortex/zenith/client/core/rendering/RenderTracker.java index b986112b..bfe125ff 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/RenderTracker.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/RenderTracker.java @@ -1,9 +1,9 @@ -package me.cortex.voxelmon.client.core.rendering; +package me.cortex.zenith.client.core.rendering; -import me.cortex.voxelmon.client.core.rendering.building.BuiltSectionGeometry; -import me.cortex.voxelmon.client.core.rendering.building.RenderGenerationService; -import me.cortex.voxelmon.common.world.WorldEngine; -import me.cortex.voxelmon.common.world.WorldSection; +import me.cortex.zenith.client.core.rendering.building.BuiltSectionGeometry; +import me.cortex.zenith.client.core.rendering.building.RenderGenerationService; +import me.cortex.zenith.common.world.WorldEngine; +import me.cortex.zenith.common.world.WorldSection; import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.Direction; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/SharedIndexBuffer.java b/src/main/java/me/cortex/zenith/client/core/rendering/SharedIndexBuffer.java similarity index 91% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/SharedIndexBuffer.java rename to src/main/java/me/cortex/zenith/client/core/rendering/SharedIndexBuffer.java index c53c3876..f3c07a07 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/SharedIndexBuffer.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/SharedIndexBuffer.java @@ -1,9 +1,9 @@ -package me.cortex.voxelmon.client.core.rendering; +package me.cortex.zenith.client.core.rendering; -import me.cortex.voxelmon.client.core.gl.GlBuffer; -import me.cortex.voxelmon.client.core.rendering.util.UploadStream; -import me.cortex.voxelmon.client.core.util.IndexUtil; -import me.cortex.voxelmon.common.util.MemoryBuffer; +import me.cortex.zenith.client.core.gl.GlBuffer; +import me.cortex.zenith.client.core.rendering.util.UploadStream; +import me.cortex.zenith.client.core.util.IndexUtil; +import me.cortex.zenith.common.util.MemoryBuffer; import org.lwjgl.system.MemoryUtil; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/BuiltSectionGeometry.java b/src/main/java/me/cortex/zenith/client/core/rendering/building/BuiltSectionGeometry.java similarity index 87% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/building/BuiltSectionGeometry.java rename to src/main/java/me/cortex/zenith/client/core/rendering/building/BuiltSectionGeometry.java index cfc0d12b..83112958 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/BuiltSectionGeometry.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/building/BuiltSectionGeometry.java @@ -1,7 +1,7 @@ -package me.cortex.voxelmon.client.core.rendering.building; +package me.cortex.zenith.client.core.rendering.building; -import me.cortex.voxelmon.common.util.MemoryBuffer; -import me.cortex.voxelmon.common.world.WorldEngine; +import me.cortex.zenith.common.util.MemoryBuffer; +import me.cortex.zenith.common.world.WorldEngine; public class BuiltSectionGeometry { public final long position; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/QuadEncoder.java b/src/main/java/me/cortex/zenith/client/core/rendering/building/QuadEncoder.java similarity index 95% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/building/QuadEncoder.java rename to src/main/java/me/cortex/zenith/client/core/rendering/building/QuadEncoder.java index 0ad0374f..a75b5a07 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/QuadEncoder.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/building/QuadEncoder.java @@ -1,8 +1,8 @@ -package me.cortex.voxelmon.client.core.rendering.building; +package me.cortex.zenith.client.core.rendering.building; -import me.cortex.voxelmon.client.core.util.Mesher2D; -import me.cortex.voxelmon.common.world.other.Mapper; +import me.cortex.zenith.client.core.util.Mesher2D; +import me.cortex.zenith.common.world.other.Mapper; import net.minecraft.client.color.block.BlockColors; import net.minecraft.client.world.ClientWorld; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/RenderDataFactory.java b/src/main/java/me/cortex/zenith/client/core/rendering/building/RenderDataFactory.java similarity index 97% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/building/RenderDataFactory.java rename to src/main/java/me/cortex/zenith/client/core/rendering/building/RenderDataFactory.java index 82d14f3e..720ae5d0 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/RenderDataFactory.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/building/RenderDataFactory.java @@ -1,11 +1,11 @@ -package me.cortex.voxelmon.client.core.rendering.building; +package me.cortex.zenith.client.core.rendering.building; import it.unimi.dsi.fastutil.longs.LongArrayList; -import me.cortex.voxelmon.common.util.MemoryBuffer; -import me.cortex.voxelmon.client.core.util.Mesher2D; -import me.cortex.voxelmon.common.world.WorldEngine; -import me.cortex.voxelmon.common.world.WorldSection; -import me.cortex.voxelmon.common.world.other.Mapper; +import me.cortex.zenith.common.util.MemoryBuffer; +import me.cortex.zenith.client.core.util.Mesher2D; +import me.cortex.zenith.common.world.WorldEngine; +import me.cortex.zenith.common.world.WorldSection; +import me.cortex.zenith.common.world.other.Mapper; import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.Direction; import org.lwjgl.system.MemoryUtil; @@ -17,7 +17,6 @@ public class RenderDataFactory { private final WorldEngine world; private final long[] sectionCache = new long[32*32*32]; private final long[] connectedSectionCache = new long[32*32*32]; - private final ColourMapping colourCache = new ColourMapping(); private final QuadEncoder encoder; public RenderDataFactory(WorldEngine world) { this.world = world; @@ -34,7 +33,6 @@ public class RenderDataFactory { //buildMask in the lower 6 bits contains the faces to build, the next 6 bits are whether the edge face builds against // its neigbor or not (0 if it does 1 if it doesnt (0 is default behavior)) public BuiltSectionGeometry generateMesh(WorldSection section, int buildMask) { - this.colourCache.reset(); //TODO: to speed it up more, check like section.isEmpty() and stuff like that, have masks for if a slice/layer is entirly air etc //TODO: instead of having it check its neighbors with the same lod level, compare against 1 level lower, this will prevent cracks and seams from diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/RenderGenerationService.java b/src/main/java/me/cortex/zenith/client/core/rendering/building/RenderGenerationService.java similarity index 97% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/building/RenderGenerationService.java rename to src/main/java/me/cortex/zenith/client/core/rendering/building/RenderGenerationService.java index c29ac19c..aa5d051e 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/building/RenderGenerationService.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/building/RenderGenerationService.java @@ -1,8 +1,8 @@ -package me.cortex.voxelmon.client.core.rendering.building; +package me.cortex.zenith.client.core.rendering.building; import it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap; -import me.cortex.voxelmon.common.world.WorldEngine; -import me.cortex.voxelmon.common.world.WorldSection; +import me.cortex.zenith.common.world.WorldEngine; +import me.cortex.zenith.common.world.WorldSection; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Semaphore; diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/util/BufferArena.java b/src/main/java/me/cortex/zenith/client/core/rendering/util/BufferArena.java similarity index 87% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/util/BufferArena.java rename to src/main/java/me/cortex/zenith/client/core/rendering/util/BufferArena.java index 97ee4231..6f31f977 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/util/BufferArena.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/util/BufferArena.java @@ -1,8 +1,8 @@ -package me.cortex.voxelmon.client.core.rendering.util; +package me.cortex.zenith.client.core.rendering.util; -import me.cortex.voxelmon.client.core.gl.GlBuffer; -import me.cortex.voxelmon.client.core.util.AllocationArena; -import me.cortex.voxelmon.common.util.MemoryBuffer; +import me.cortex.zenith.client.core.gl.GlBuffer; +import me.cortex.zenith.client.core.util.AllocationArena; +import me.cortex.zenith.common.util.MemoryBuffer; import org.lwjgl.system.MemoryUtil; public class BufferArena { diff --git a/src/main/java/me/cortex/voxelmon/client/core/rendering/util/UploadStream.java b/src/main/java/me/cortex/zenith/client/core/rendering/util/UploadStream.java similarity index 93% rename from src/main/java/me/cortex/voxelmon/client/core/rendering/util/UploadStream.java rename to src/main/java/me/cortex/zenith/client/core/rendering/util/UploadStream.java index 4cef6176..4a0f536d 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/rendering/util/UploadStream.java +++ b/src/main/java/me/cortex/zenith/client/core/rendering/util/UploadStream.java @@ -1,15 +1,15 @@ -package me.cortex.voxelmon.client.core.rendering.util; +package me.cortex.zenith.client.core.rendering.util; import it.unimi.dsi.fastutil.longs.LongArrayList; -import me.cortex.voxelmon.client.core.gl.GlBuffer; -import me.cortex.voxelmon.client.core.gl.GlFence; -import me.cortex.voxelmon.client.core.gl.GlPersistentMappedBuffer; -import me.cortex.voxelmon.client.core.util.AllocationArena; +import me.cortex.zenith.client.core.gl.GlBuffer; +import me.cortex.zenith.client.core.gl.GlFence; +import me.cortex.zenith.client.core.gl.GlPersistentMappedBuffer; +import me.cortex.zenith.client.core.util.AllocationArena; import java.util.ArrayDeque; import java.util.Deque; -import static me.cortex.voxelmon.client.core.util.AllocationArena.SIZE_LIMIT; +import static me.cortex.zenith.client.core.util.AllocationArena.SIZE_LIMIT; import static org.lwjgl.opengl.ARBDirectStateAccess.glCopyNamedBufferSubData; import static org.lwjgl.opengl.ARBDirectStateAccess.glFlushMappedNamedBufferRange; import static org.lwjgl.opengl.ARBMapBufferRange.*; diff --git a/src/main/java/me/cortex/voxelmon/client/core/util/AllocationArena.java b/src/main/java/me/cortex/zenith/client/core/util/AllocationArena.java similarity index 99% rename from src/main/java/me/cortex/voxelmon/client/core/util/AllocationArena.java rename to src/main/java/me/cortex/zenith/client/core/util/AllocationArena.java index 46829e8f..f6bcd56b 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/util/AllocationArena.java +++ b/src/main/java/me/cortex/zenith/client/core/util/AllocationArena.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.util; +package me.cortex.zenith.client.core.util; import it.unimi.dsi.fastutil.longs.LongRBTreeSet; diff --git a/src/main/java/me/cortex/voxelmon/client/core/util/ByteBufferBackedInputStream.java b/src/main/java/me/cortex/zenith/client/core/util/ByteBufferBackedInputStream.java similarity index 93% rename from src/main/java/me/cortex/voxelmon/client/core/util/ByteBufferBackedInputStream.java rename to src/main/java/me/cortex/zenith/client/core/util/ByteBufferBackedInputStream.java index 4f93c608..8848f973 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/util/ByteBufferBackedInputStream.java +++ b/src/main/java/me/cortex/zenith/client/core/util/ByteBufferBackedInputStream.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.util; +package me.cortex.zenith.client.core.util; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/me/cortex/voxelmon/client/core/util/DebugUtil.java b/src/main/java/me/cortex/zenith/client/core/util/DebugUtil.java similarity index 98% rename from src/main/java/me/cortex/voxelmon/client/core/util/DebugUtil.java rename to src/main/java/me/cortex/zenith/client/core/util/DebugUtil.java index b8c573fc..30d3bfef 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/util/DebugUtil.java +++ b/src/main/java/me/cortex/zenith/client/core/util/DebugUtil.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.util; +package me.cortex.zenith.client.core.util; import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.render.*; diff --git a/src/main/java/me/cortex/voxelmon/client/core/util/IndexUtil.java b/src/main/java/me/cortex/zenith/client/core/util/IndexUtil.java similarity index 93% rename from src/main/java/me/cortex/voxelmon/client/core/util/IndexUtil.java rename to src/main/java/me/cortex/zenith/client/core/util/IndexUtil.java index 6c7c6f84..d24158a3 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/util/IndexUtil.java +++ b/src/main/java/me/cortex/zenith/client/core/util/IndexUtil.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.core.util; +package me.cortex.zenith.client.core.util; -import me.cortex.voxelmon.common.util.MemoryBuffer; +import me.cortex.zenith.common.util.MemoryBuffer; import org.lwjgl.system.MemoryUtil; public class IndexUtil { diff --git a/src/main/java/me/cortex/voxelmon/client/core/util/Mesher2D.java b/src/main/java/me/cortex/zenith/client/core/util/Mesher2D.java similarity index 99% rename from src/main/java/me/cortex/voxelmon/client/core/util/Mesher2D.java rename to src/main/java/me/cortex/zenith/client/core/util/Mesher2D.java index bd458922..8977f476 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/util/Mesher2D.java +++ b/src/main/java/me/cortex/zenith/client/core/util/Mesher2D.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.util; +package me.cortex.zenith.client.core.util; import java.util.Arrays; import java.util.BitSet; diff --git a/src/main/java/me/cortex/voxelmon/client/core/util/RingUtil.java b/src/main/java/me/cortex/zenith/client/core/util/RingUtil.java similarity index 98% rename from src/main/java/me/cortex/voxelmon/client/core/util/RingUtil.java rename to src/main/java/me/cortex/zenith/client/core/util/RingUtil.java index cabd35d0..94b0e512 100644 --- a/src/main/java/me/cortex/voxelmon/client/core/util/RingUtil.java +++ b/src/main/java/me/cortex/zenith/client/core/util/RingUtil.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.core.util; +package me.cortex.zenith.client.core.util; import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntOpenHashSet; diff --git a/src/main/java/me/cortex/voxelmon/client/importers/WorldImporter.java b/src/main/java/me/cortex/zenith/client/importers/WorldImporter.java similarity index 83% rename from src/main/java/me/cortex/voxelmon/client/importers/WorldImporter.java rename to src/main/java/me/cortex/zenith/client/importers/WorldImporter.java index cbdc4439..c3728dd2 100644 --- a/src/main/java/me/cortex/voxelmon/client/importers/WorldImporter.java +++ b/src/main/java/me/cortex/zenith/client/importers/WorldImporter.java @@ -1,10 +1,10 @@ -package me.cortex.voxelmon.client.importers; +package me.cortex.zenith.client.importers; import com.mojang.serialization.Codec; -import me.cortex.voxelmon.client.core.util.ByteBufferBackedInputStream; -import me.cortex.voxelmon.common.voxelization.VoxelizedSection; -import me.cortex.voxelmon.common.voxelization.WorldConversionFactory; -import me.cortex.voxelmon.common.world.WorldEngine; +import me.cortex.zenith.client.core.util.ByteBufferBackedInputStream; +import me.cortex.zenith.common.voxelization.VoxelizedSection; +import me.cortex.zenith.common.voxelization.WorldConversionFactory; +import me.cortex.zenith.common.world.WorldEngine; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; @@ -29,6 +29,7 @@ import java.nio.file.Path; import java.nio.file.StandardOpenOption; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; public class WorldImporter { @@ -36,13 +37,18 @@ public class WorldImporter { private final WorldEngine world; private final World mcWorld; + private final RegistryEntry defaultBiome; private final Codec>> biomeCodec; + private final AtomicInteger totalRegions = new AtomicInteger(); + private final AtomicInteger regionsProcessed = new AtomicInteger(); + private final AtomicInteger percentMarker = new AtomicInteger(); public WorldImporter(WorldEngine worldEngine, World mcWorld) { this.world = worldEngine; this.mcWorld = mcWorld; var biomeRegistry = mcWorld.getRegistryManager().get(RegistryKeys.BIOME); + this.defaultBiome = biomeRegistry.entryOf(BiomeKeys.PLAINS); this.biomeCodec = PalettedContainer.createReadableContainerCodec(biomeRegistry.getIndexedEntries(), biomeRegistry.createEntryCodec(), PalettedContainer.PaletteProvider.BIOME, biomeRegistry.entryOf(BiomeKeys.PLAINS)); } @@ -50,7 +56,8 @@ public class WorldImporter { public void importWorldAsyncStart(File directory, int threads, Function updateCallback, Runnable onCompletion) { this.worker = new Thread(() -> { var workers = new ForkJoinPool(threads); - for (var file : directory.listFiles()) { + var files = directory.listFiles(); + for (var file : files) { if (!file.isFile()) { continue; } @@ -62,9 +69,19 @@ public class WorldImporter { } int rx = Integer.parseInt(sections[1]); int rz = Integer.parseInt(sections[2]); + this.totalRegions.addAndGet(1); workers.submit(() -> { try { this.importRegionFile(file.toPath(), rx, rz); + int regionsProcessedCount = this.regionsProcessed.addAndGet(1); + synchronized (this.world) { + int percentMark = this.percentMarker.get(); + int percent = (regionsProcessedCount*100)/this.totalRegions.get(); + if (percent > percentMark) { + System.out.println(regionsProcessedCount + "/" + this.totalRegions.get()); + this.percentMarker.addAndGet(1); + } + } } catch ( Exception e) { e.printStackTrace(); @@ -173,8 +190,7 @@ public class WorldImporter { } var blockStates = BLOCK_STATE_CODEC.parse(NbtOps.INSTANCE, section.getCompound("block_states")).result().get(); - var biomes = this.biomeCodec.parse(NbtOps.INSTANCE, section.getCompound("biomes")).result().get(); - + var biomes = this.biomeCodec.parse(NbtOps.INSTANCE, section.getCompound("biomes")).result().orElse(null); VoxelizedSection csec = WorldConversionFactory.convert( this.world.getMapper(), blockStates, @@ -182,11 +198,12 @@ public class WorldImporter { (bx, by, bz, state) -> (byte) 0, x, y, - z + z, + this.defaultBiome ); this.world.insertUpdate(csec); - while (this.world.savingService.getTaskCount() > 2000) { + while (this.world.savingService.getTaskCount() > 4000) { try { Thread.sleep(250); } catch (InterruptedException e) { diff --git a/src/main/java/me/cortex/voxelmon/client/mixin/joml/AccessFrustumIntersection.java b/src/main/java/me/cortex/zenith/client/mixin/joml/AccessFrustumIntersection.java similarity index 86% rename from src/main/java/me/cortex/voxelmon/client/mixin/joml/AccessFrustumIntersection.java rename to src/main/java/me/cortex/zenith/client/mixin/joml/AccessFrustumIntersection.java index 630123df..542466dd 100644 --- a/src/main/java/me/cortex/voxelmon/client/mixin/joml/AccessFrustumIntersection.java +++ b/src/main/java/me/cortex/zenith/client/mixin/joml/AccessFrustumIntersection.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.mixin.joml; +package me.cortex.zenith.client.mixin.joml; import org.joml.FrustumIntersection; import org.joml.Vector4f; diff --git a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinBackgroundRenderer.java b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinBackgroundRenderer.java similarity index 90% rename from src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinBackgroundRenderer.java rename to src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinBackgroundRenderer.java index 912c74e8..c7b378d3 100644 --- a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinBackgroundRenderer.java +++ b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinBackgroundRenderer.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.mixin.minecraft; +package me.cortex.zenith.client.mixin.minecraft; import net.minecraft.client.render.BackgroundRenderer; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinClientChunkManager.java b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinClientChunkManager.java similarity index 92% rename from src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinClientChunkManager.java rename to src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinClientChunkManager.java index fbcb45da..36f3ecbe 100644 --- a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinClientChunkManager.java +++ b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinClientChunkManager.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.mixin.minecraft; +package me.cortex.zenith.client.mixin.minecraft; -import me.cortex.voxelmon.client.IGetVoxelCore; +import me.cortex.zenith.client.IGetVoxelCore; import net.minecraft.client.MinecraftClient; import net.minecraft.client.world.ClientChunkManager; import net.minecraft.util.math.ChunkPos; diff --git a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinDebugHud.java b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinDebugHud.java similarity index 88% rename from src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinDebugHud.java rename to src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinDebugHud.java index 9c20d77f..ff1c4ce4 100644 --- a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinDebugHud.java +++ b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinDebugHud.java @@ -1,6 +1,6 @@ -package me.cortex.voxelmon.client.mixin.minecraft; +package me.cortex.zenith.client.mixin.minecraft; -import me.cortex.voxelmon.client.IGetVoxelCore; +import me.cortex.zenith.client.IGetVoxelCore; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.hud.DebugHud; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinGameRenderer.java b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinGameRenderer.java similarity index 91% rename from src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinGameRenderer.java rename to src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinGameRenderer.java index 9bdc652a..b768f60c 100644 --- a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinGameRenderer.java +++ b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinGameRenderer.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.mixin.minecraft; +package me.cortex.zenith.client.mixin.minecraft; import net.minecraft.client.render.GameRenderer; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinMinecraftClient.java b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinMinecraftClient.java similarity index 93% rename from src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinMinecraftClient.java rename to src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinMinecraftClient.java index 734c4c9a..02f6df3b 100644 --- a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinMinecraftClient.java +++ b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinMinecraftClient.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.mixin.minecraft; +package me.cortex.zenith.client.mixin.minecraft; import net.minecraft.client.MinecraftClient; import net.minecraft.client.RunArgs; diff --git a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinWorldRenderer.java b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinWorldRenderer.java similarity index 95% rename from src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinWorldRenderer.java rename to src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinWorldRenderer.java index 9f2cddfc..f495b643 100644 --- a/src/main/java/me/cortex/voxelmon/client/mixin/minecraft/MixinWorldRenderer.java +++ b/src/main/java/me/cortex/zenith/client/mixin/minecraft/MixinWorldRenderer.java @@ -1,7 +1,7 @@ -package me.cortex.voxelmon.client.mixin.minecraft; +package me.cortex.zenith.client.mixin.minecraft; -import me.cortex.voxelmon.client.IGetVoxelCore; -import me.cortex.voxelmon.client.core.VoxelCore; +import me.cortex.zenith.client.IGetVoxelCore; +import me.cortex.zenith.client.core.VoxelCore; import net.minecraft.client.render.*; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.world.ClientWorld; @@ -82,6 +82,6 @@ public abstract class MixinWorldRenderer implements IGetVoxelCore { @Redirect(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/GameRenderer;getViewDistance()F"), require = 0) private float changeRD(GameRenderer instance) { float viewDistance = instance.getViewDistance(); - return 16*1512; + return 16*5120; } } diff --git a/src/main/java/me/cortex/voxelmon/client/terrain/SparseTerrainGenerator.java b/src/main/java/me/cortex/zenith/client/terrain/SparseTerrainGenerator.java similarity index 98% rename from src/main/java/me/cortex/voxelmon/client/terrain/SparseTerrainGenerator.java rename to src/main/java/me/cortex/zenith/client/terrain/SparseTerrainGenerator.java index 9c8b07c4..815486bb 100644 --- a/src/main/java/me/cortex/voxelmon/client/terrain/SparseTerrainGenerator.java +++ b/src/main/java/me/cortex/zenith/client/terrain/SparseTerrainGenerator.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.terrain; +package me.cortex.zenith.client.terrain; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.world.biome.Biome; diff --git a/src/main/java/me/cortex/voxelmon/client/terrain/TestSparseGenCommand.java b/src/main/java/me/cortex/zenith/client/terrain/TestSparseGenCommand.java similarity index 96% rename from src/main/java/me/cortex/voxelmon/client/terrain/TestSparseGenCommand.java rename to src/main/java/me/cortex/zenith/client/terrain/TestSparseGenCommand.java index 9e949af5..ec42d53c 100644 --- a/src/main/java/me/cortex/voxelmon/client/terrain/TestSparseGenCommand.java +++ b/src/main/java/me/cortex/zenith/client/terrain/TestSparseGenCommand.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.client.terrain; +package me.cortex.zenith.client.terrain; import com.mojang.brigadier.CommandDispatcher; import net.minecraft.client.MinecraftClient; diff --git a/src/main/java/me/cortex/voxelmon/client/terrain/WorldImportCommand.java b/src/main/java/me/cortex/zenith/client/terrain/WorldImportCommand.java similarity index 89% rename from src/main/java/me/cortex/voxelmon/client/terrain/WorldImportCommand.java rename to src/main/java/me/cortex/zenith/client/terrain/WorldImportCommand.java index 244f740b..af2ddacd 100644 --- a/src/main/java/me/cortex/voxelmon/client/terrain/WorldImportCommand.java +++ b/src/main/java/me/cortex/zenith/client/terrain/WorldImportCommand.java @@ -1,10 +1,10 @@ -package me.cortex.voxelmon.client.terrain; +package me.cortex.zenith.client.terrain; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; -import me.cortex.voxelmon.client.IGetVoxelCore; -import me.cortex.voxelmon.client.importers.WorldImporter; +import me.cortex.zenith.client.IGetVoxelCore; +import me.cortex.zenith.client.importers.WorldImporter; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.minecraft.client.MinecraftClient; diff --git a/src/main/java/me/cortex/voxelmon/common/util/MemoryBuffer.java b/src/main/java/me/cortex/zenith/common/util/MemoryBuffer.java similarity index 94% rename from src/main/java/me/cortex/voxelmon/common/util/MemoryBuffer.java rename to src/main/java/me/cortex/zenith/common/util/MemoryBuffer.java index 829ef329..7376403c 100644 --- a/src/main/java/me/cortex/voxelmon/common/util/MemoryBuffer.java +++ b/src/main/java/me/cortex/zenith/common/util/MemoryBuffer.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.util; +package me.cortex.zenith.common.util; import org.lwjgl.system.MemoryUtil; diff --git a/src/main/java/me/cortex/voxelmon/common/util/TrackedObject.java b/src/main/java/me/cortex/zenith/common/util/TrackedObject.java similarity index 97% rename from src/main/java/me/cortex/voxelmon/common/util/TrackedObject.java rename to src/main/java/me/cortex/zenith/common/util/TrackedObject.java index c0d5808d..4d8a84b3 100644 --- a/src/main/java/me/cortex/voxelmon/common/util/TrackedObject.java +++ b/src/main/java/me/cortex/zenith/common/util/TrackedObject.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.util; +package me.cortex.zenith.common.util; import java.lang.ref.Cleaner; diff --git a/src/main/java/me/cortex/voxelmon/common/util/VolatileHolder.java b/src/main/java/me/cortex/zenith/common/util/VolatileHolder.java similarity index 61% rename from src/main/java/me/cortex/voxelmon/common/util/VolatileHolder.java rename to src/main/java/me/cortex/zenith/common/util/VolatileHolder.java index 0a858bd0..4acf4bb1 100644 --- a/src/main/java/me/cortex/voxelmon/common/util/VolatileHolder.java +++ b/src/main/java/me/cortex/zenith/common/util/VolatileHolder.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.util; +package me.cortex.zenith.common.util; public class VolatileHolder { public volatile T obj; diff --git a/src/main/java/me/cortex/voxelmon/common/voxelization/I3dSupplier.java b/src/main/java/me/cortex/zenith/common/voxelization/I3dSupplier.java similarity index 60% rename from src/main/java/me/cortex/voxelmon/common/voxelization/I3dSupplier.java rename to src/main/java/me/cortex/zenith/common/voxelization/I3dSupplier.java index e88db1dc..ed6b3a4a 100644 --- a/src/main/java/me/cortex/voxelmon/common/voxelization/I3dSupplier.java +++ b/src/main/java/me/cortex/zenith/common/voxelization/I3dSupplier.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.voxelization; +package me.cortex.zenith.common.voxelization; public interface I3dSupplier { T supply(int x, int y, int z); diff --git a/src/main/java/me/cortex/voxelmon/common/voxelization/ILightingSupplier.java b/src/main/java/me/cortex/zenith/common/voxelization/ILightingSupplier.java similarity index 73% rename from src/main/java/me/cortex/voxelmon/common/voxelization/ILightingSupplier.java rename to src/main/java/me/cortex/zenith/common/voxelization/ILightingSupplier.java index 49a601cc..598290e3 100644 --- a/src/main/java/me/cortex/voxelmon/common/voxelization/ILightingSupplier.java +++ b/src/main/java/me/cortex/zenith/common/voxelization/ILightingSupplier.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.voxelization; +package me.cortex.zenith.common.voxelization; import net.minecraft.block.BlockState; diff --git a/src/main/java/me/cortex/voxelmon/common/voxelization/VoxelizedSection.java b/src/main/java/me/cortex/zenith/common/voxelization/VoxelizedSection.java similarity index 94% rename from src/main/java/me/cortex/voxelmon/common/voxelization/VoxelizedSection.java rename to src/main/java/me/cortex/zenith/common/voxelization/VoxelizedSection.java index 8f584cb5..66a5f265 100644 --- a/src/main/java/me/cortex/voxelmon/common/voxelization/VoxelizedSection.java +++ b/src/main/java/me/cortex/zenith/common/voxelization/VoxelizedSection.java @@ -1,7 +1,7 @@ -package me.cortex.voxelmon.common.voxelization; +package me.cortex.zenith.common.voxelization; -import me.cortex.voxelmon.common.world.other.Mapper; +import me.cortex.zenith.common.world.other.Mapper; //16x16x16 block section public class VoxelizedSection { diff --git a/src/main/java/me/cortex/voxelmon/common/voxelization/WorldConversionFactory.java b/src/main/java/me/cortex/zenith/common/voxelization/WorldConversionFactory.java similarity index 91% rename from src/main/java/me/cortex/voxelmon/common/voxelization/WorldConversionFactory.java rename to src/main/java/me/cortex/zenith/common/voxelization/WorldConversionFactory.java index be62d86f..b6959d8c 100644 --- a/src/main/java/me/cortex/voxelmon/common/voxelization/WorldConversionFactory.java +++ b/src/main/java/me/cortex/zenith/common/voxelization/WorldConversionFactory.java @@ -1,7 +1,7 @@ -package me.cortex.voxelmon.common.voxelization; +package me.cortex.zenith.common.voxelization; -import me.cortex.voxelmon.common.world.other.Mipper; -import me.cortex.voxelmon.common.world.other.Mapper; +import me.cortex.zenith.common.world.other.Mipper; +import me.cortex.zenith.common.world.other.Mapper; import net.minecraft.block.BlockState; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.world.biome.Biome; @@ -25,7 +25,8 @@ public class WorldConversionFactory { ILightingSupplier lightSupplier, int sx, int sy, - int sz) { + int sz, + RegistryEntry defaultBiome) { long[] section = new long[4*4*4+2*2*2+1];//Mipping long[][] subSections = new long[4*4*4][]; long[] current = new long[4*4*4+2*2*2]; @@ -33,7 +34,10 @@ public class WorldConversionFactory { for (int oy = 0; oy < 4; oy++) { for (int oz = 0; oz < 4; oz++) { for (int ox = 0; ox < 4; ox++) { - RegistryEntry biome = biomeContainer.get(ox, oy, oz); + RegistryEntry biome = defaultBiome; + if (biomeContainer != null) { + biome = biomeContainer.get(ox, oy, oz); + } int nonAir = 0; for (int iy = 0; iy < 4; iy++) { for (int iz = 0; iz < 4; iz++) { diff --git a/src/main/java/me/cortex/voxelmon/common/world/ActiveSectionTracker.java b/src/main/java/me/cortex/zenith/common/world/ActiveSectionTracker.java similarity index 97% rename from src/main/java/me/cortex/voxelmon/common/world/ActiveSectionTracker.java rename to src/main/java/me/cortex/zenith/common/world/ActiveSectionTracker.java index 503cd654..5e41bf07 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/ActiveSectionTracker.java +++ b/src/main/java/me/cortex/zenith/common/world/ActiveSectionTracker.java @@ -1,7 +1,7 @@ -package me.cortex.voxelmon.common.world; +package me.cortex.zenith.common.world; import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; -import me.cortex.voxelmon.common.util.VolatileHolder; +import me.cortex.zenith.common.util.VolatileHolder; public class ActiveSectionTracker { //Deserialize into the supplied section, returns true on success, false on failure diff --git a/src/main/java/me/cortex/voxelmon/common/world/SaveLoadSystem.java b/src/main/java/me/cortex/zenith/common/world/SaveLoadSystem.java similarity index 98% rename from src/main/java/me/cortex/voxelmon/common/world/SaveLoadSystem.java rename to src/main/java/me/cortex/zenith/common/world/SaveLoadSystem.java index 585bc808..699e1375 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/SaveLoadSystem.java +++ b/src/main/java/me/cortex/zenith/common/world/SaveLoadSystem.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.world; +package me.cortex.zenith.common.world; import it.unimi.dsi.fastutil.longs.Long2ShortOpenHashMap; import it.unimi.dsi.fastutil.longs.LongArrayList; @@ -48,7 +48,7 @@ public class SaveLoadSystem { raw.limit(raw.position()); raw.rewind(); ByteBuffer compressedData = MemoryUtil.memAlloc((int)ZSTD_COMPRESSBOUND(raw.remaining())); - long compressedSize = ZSTD_compress(compressedData, raw, 10); + long compressedSize = ZSTD_compress(compressedData, raw, 15); compressedData.limit((int) compressedSize); compressedData.rewind(); MemoryUtil.memFree(raw); diff --git a/src/main/java/me/cortex/voxelmon/common/world/WorldEngine.java b/src/main/java/me/cortex/zenith/common/world/WorldEngine.java similarity index 91% rename from src/main/java/me/cortex/voxelmon/common/world/WorldEngine.java rename to src/main/java/me/cortex/zenith/common/world/WorldEngine.java index 84309812..6619309f 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/WorldEngine.java +++ b/src/main/java/me/cortex/zenith/common/world/WorldEngine.java @@ -1,13 +1,12 @@ -package me.cortex.voxelmon.common.world; +package me.cortex.zenith.common.world; -import me.cortex.voxelmon.common.voxelization.VoxelizedSection; -import me.cortex.voxelmon.common.world.other.Mapper; -import me.cortex.voxelmon.common.world.service.SectionSavingService; -import me.cortex.voxelmon.common.world.service.VoxelIngestService; -import me.cortex.voxelmon.common.world.storage.StorageBackend; +import me.cortex.zenith.common.voxelization.VoxelizedSection; +import me.cortex.zenith.common.world.other.Mapper; +import me.cortex.zenith.common.world.service.SectionSavingService; +import me.cortex.zenith.common.world.service.VoxelIngestService; +import me.cortex.zenith.common.world.storage.StorageBackend; import org.lwjgl.system.MemoryUtil; -import java.io.File; import java.util.Arrays; import java.util.function.Consumer; @@ -21,6 +20,8 @@ public class WorldEngine { public final VoxelIngestService ingestService; public final SectionSavingService savingService; private Consumer dirtyCallback; + private final int maxMipLevels; + public void setDirtyCallback(Consumer tracker) { this.dirtyCallback = dirtyCallback; @@ -28,12 +29,9 @@ public class WorldEngine { public Mapper getMapper() {return this.mapper;} - private final int maxMipLevels; - - - public WorldEngine(File storagePath, int ingestWorkers, int savingServiceWorkers, int maxMipLayers) { + public WorldEngine(StorageBackend storageBackend, int ingestWorkers, int savingServiceWorkers, int maxMipLayers) { this.maxMipLevels = maxMipLayers; - this.storage = new StorageBackend(storagePath); + this.storage = storageBackend; this.mapper = new Mapper(this.storage); this.sectionTracker = new ActiveSectionTracker(maxMipLayers, this::unsafeLoadSection); diff --git a/src/main/java/me/cortex/voxelmon/common/world/WorldSection.java b/src/main/java/me/cortex/zenith/common/world/WorldSection.java similarity index 98% rename from src/main/java/me/cortex/voxelmon/common/world/WorldSection.java rename to src/main/java/me/cortex/zenith/common/world/WorldSection.java index 2fce0c08..6f871cc2 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/WorldSection.java +++ b/src/main/java/me/cortex/zenith/common/world/WorldSection.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.world; +package me.cortex.zenith.common.world; import java.util.Arrays; diff --git a/src/main/java/me/cortex/voxelmon/common/world/other/Mapper.java b/src/main/java/me/cortex/zenith/common/world/other/Mapper.java similarity index 97% rename from src/main/java/me/cortex/voxelmon/common/world/other/Mapper.java rename to src/main/java/me/cortex/zenith/common/world/other/Mapper.java index 41cb1ec1..8e94130a 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/other/Mapper.java +++ b/src/main/java/me/cortex/zenith/common/world/other/Mapper.java @@ -1,7 +1,7 @@ -package me.cortex.voxelmon.common.world.other; +package me.cortex.zenith.common.world.other; import it.unimi.dsi.fastutil.objects.ObjectArrayList; -import me.cortex.voxelmon.common.world.storage.StorageBackend; +import me.cortex.zenith.common.world.storage.StorageBackend; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; @@ -44,8 +44,8 @@ public class Mapper { this.storage = storage; //Insert air since its a special entry (index 0) var airEntry = new StateEntry(0, Blocks.AIR.getDefaultState()); - block2stateEntry.put(airEntry.state, airEntry); - blockId2stateEntry.add(airEntry); + this.block2stateEntry.put(airEntry.state, airEntry); + this.blockId2stateEntry.add(airEntry); this.loadFromStorage(); } @@ -71,7 +71,7 @@ public class Mapper { } private void loadFromStorage() { - var mappings = this.storage.getIdMappings(); + var mappings = this.storage.getIdMappingsData(); List sentries = new ArrayList<>(); List bentries = new ArrayList<>(); List> sentryErrors = new ArrayList<>(); diff --git a/src/main/java/me/cortex/voxelmon/common/world/other/Mipper.java b/src/main/java/me/cortex/zenith/common/world/other/Mipper.java similarity index 96% rename from src/main/java/me/cortex/voxelmon/common/world/other/Mipper.java rename to src/main/java/me/cortex/zenith/common/world/other/Mipper.java index 1774c1f6..a65e3d45 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/other/Mipper.java +++ b/src/main/java/me/cortex/zenith/common/world/other/Mipper.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.world.other; +package me.cortex.zenith.common.world.other; //Mipper for data public class Mipper { diff --git a/src/main/java/me/cortex/voxelmon/common/world/service/SectionSavingService.java b/src/main/java/me/cortex/zenith/common/world/service/SectionSavingService.java similarity index 94% rename from src/main/java/me/cortex/voxelmon/common/world/service/SectionSavingService.java rename to src/main/java/me/cortex/zenith/common/world/service/SectionSavingService.java index 73dbc5ce..1a6980e9 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/service/SectionSavingService.java +++ b/src/main/java/me/cortex/zenith/common/world/service/SectionSavingService.java @@ -1,8 +1,8 @@ -package me.cortex.voxelmon.common.world.service; +package me.cortex.zenith.common.world.service; -import me.cortex.voxelmon.common.world.SaveLoadSystem; -import me.cortex.voxelmon.common.world.WorldEngine; -import me.cortex.voxelmon.common.world.WorldSection; +import me.cortex.zenith.common.world.SaveLoadSystem; +import me.cortex.zenith.common.world.WorldEngine; +import me.cortex.zenith.common.world.WorldSection; import org.lwjgl.system.MemoryUtil; import java.util.concurrent.ConcurrentLinkedDeque; diff --git a/src/main/java/me/cortex/voxelmon/common/world/service/VoxelIngestService.java b/src/main/java/me/cortex/zenith/common/world/service/VoxelIngestService.java similarity index 94% rename from src/main/java/me/cortex/voxelmon/common/world/service/VoxelIngestService.java rename to src/main/java/me/cortex/zenith/common/world/service/VoxelIngestService.java index d2f3269d..719b185c 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/service/VoxelIngestService.java +++ b/src/main/java/me/cortex/zenith/common/world/service/VoxelIngestService.java @@ -1,9 +1,9 @@ -package me.cortex.voxelmon.common.world.service; +package me.cortex.zenith.common.world.service; import it.unimi.dsi.fastutil.Pair; -import me.cortex.voxelmon.common.voxelization.VoxelizedSection; -import me.cortex.voxelmon.common.voxelization.WorldConversionFactory; -import me.cortex.voxelmon.common.world.WorldEngine; +import me.cortex.zenith.common.voxelization.VoxelizedSection; +import me.cortex.zenith.common.voxelization.WorldConversionFactory; +import me.cortex.zenith.common.world.WorldEngine; import net.minecraft.util.math.ChunkSectionPos; import net.minecraft.world.LightType; import net.minecraft.world.chunk.ChunkNibbleArray; @@ -69,7 +69,8 @@ public class VoxelIngestService { }, chunk.getPos().x, i, - chunk.getPos().z + chunk.getPos().z, + null ); this.world.insertUpdate(csec); diff --git a/src/main/java/me/cortex/zenith/common/world/storage/StorageBackend.java b/src/main/java/me/cortex/zenith/common/world/storage/StorageBackend.java new file mode 100644 index 00000000..7bf1ca4f --- /dev/null +++ b/src/main/java/me/cortex/zenith/common/world/storage/StorageBackend.java @@ -0,0 +1,22 @@ +package me.cortex.zenith.common.world.storage; + +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +import java.nio.ByteBuffer; + +public abstract class StorageBackend { + + public abstract ByteBuffer getSectionData(long key); + + public abstract void setSectionData(long key, ByteBuffer data); + + public abstract void deleteSectionData(long key); + + public abstract void putIdMapping(int id, ByteBuffer data); + + public abstract Int2ObjectOpenHashMap getIdMappingsData(); + + public abstract void flush(); + + public abstract void close(); +} diff --git a/src/main/java/me/cortex/voxelmon/common/world/storage/Cursor.java b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/Cursor.java similarity index 80% rename from src/main/java/me/cortex/voxelmon/common/world/storage/Cursor.java rename to src/main/java/me/cortex/zenith/common/world/storage/lmdb/Cursor.java index 703bb3c6..89c58b6b 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/storage/Cursor.java +++ b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/Cursor.java @@ -1,8 +1,8 @@ -package me.cortex.voxelmon.common.world.storage; +package me.cortex.zenith.common.world.storage.lmdb; import org.lwjgl.util.lmdb.MDBVal; -import static me.cortex.voxelmon.common.world.storage.LMDBInterface.E; +import static me.cortex.zenith.common.world.storage.lmdb.LMDBInterface.E; import static org.lwjgl.util.lmdb.LMDB.*; public class Cursor implements AutoCloseable { diff --git a/src/main/java/me/cortex/voxelmon/common/world/storage/LMDBInterface.java b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/LMDBInterface.java similarity index 98% rename from src/main/java/me/cortex/voxelmon/common/world/storage/LMDBInterface.java rename to src/main/java/me/cortex/zenith/common/world/storage/lmdb/LMDBInterface.java index 3d882d4a..de080f92 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/storage/LMDBInterface.java +++ b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/LMDBInterface.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.world.storage; +package me.cortex.zenith.common.world.storage.lmdb; import org.lwjgl.PointerBuffer; import org.lwjgl.system.MemoryStack; diff --git a/src/main/java/me/cortex/voxelmon/common/world/storage/StorageBackend.java b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/LMDBStorageBackend.java similarity index 94% rename from src/main/java/me/cortex/voxelmon/common/world/storage/StorageBackend.java rename to src/main/java/me/cortex/zenith/common/world/storage/lmdb/LMDBStorageBackend.java index 68797da2..e20f5f57 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/storage/StorageBackend.java +++ b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/LMDBStorageBackend.java @@ -1,6 +1,7 @@ -package me.cortex.voxelmon.common.world.storage; +package me.cortex.zenith.common.world.storage.lmdb; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import me.cortex.zenith.common.world.storage.StorageBackend; import org.lwjgl.system.MemoryUtil; import org.lwjgl.util.lmdb.MDBVal; @@ -12,8 +13,9 @@ import java.util.concurrent.locks.ReentrantLock; import java.util.function.Supplier; import static org.lwjgl.util.lmdb.LMDB.*; +import static org.lwjgl.util.lmdb.LMDB.MDB_NOTFOUND; -public class StorageBackend { +public class LMDBStorageBackend extends StorageBackend { private static final long GROW_SIZE = 1<<25;//Grow by 33 mb each time private final AtomicInteger accessingCounts = new AtomicInteger(); @@ -22,7 +24,7 @@ public class StorageBackend { private final LMDBInterface dbi; private final LMDBInterface.Database sectionDatabase; private final LMDBInterface.Database idMappingDatabase; - public StorageBackend(File file) { + public LMDBStorageBackend(File file) { this.dbi = new LMDBInterface.Builder() .setMaxDbs(2) .open(file.getAbsolutePath(), MDB_NOSUBDIR)//MDB_NOLOCK (IF I DO THIS, must sync the db manually)// TODO: THIS @@ -123,7 +125,7 @@ public class StorageBackend { })); } - public Int2ObjectOpenHashMap getIdMappings() { + public Int2ObjectOpenHashMap getIdMappingsData() { return this.synchronizedTransaction(() -> { Int2ObjectOpenHashMap mapping = new Int2ObjectOpenHashMap<>(); this.idMappingDatabase.transaction(MDB_RDONLY, transaction -> { @@ -154,5 +156,4 @@ public class StorageBackend { this.idMappingDatabase.close(); this.dbi.close(); } - } diff --git a/src/main/java/me/cortex/voxelmon/common/world/storage/TransactionCallback.java b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionCallback.java similarity index 71% rename from src/main/java/me/cortex/voxelmon/common/world/storage/TransactionCallback.java rename to src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionCallback.java index 94d54179..a01f6345 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/storage/TransactionCallback.java +++ b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionCallback.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.world.storage; +package me.cortex.zenith.common.world.storage.lmdb; import org.lwjgl.system.MemoryStack; diff --git a/src/main/java/me/cortex/voxelmon/common/world/storage/TransactionWrappedCallback.java b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionWrappedCallback.java similarity index 63% rename from src/main/java/me/cortex/voxelmon/common/world/storage/TransactionWrappedCallback.java rename to src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionWrappedCallback.java index f785679f..a8831b8a 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/storage/TransactionWrappedCallback.java +++ b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionWrappedCallback.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.world.storage; +package me.cortex.zenith.common.world.storage.lmdb; public interface TransactionWrappedCallback { T exec(TransactionWrapper wrapper); diff --git a/src/main/java/me/cortex/voxelmon/common/world/storage/TransactionWrapper.java b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionWrapper.java similarity index 95% rename from src/main/java/me/cortex/voxelmon/common/world/storage/TransactionWrapper.java rename to src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionWrapper.java index 712d691e..717b0bbb 100644 --- a/src/main/java/me/cortex/voxelmon/common/world/storage/TransactionWrapper.java +++ b/src/main/java/me/cortex/zenith/common/world/storage/lmdb/TransactionWrapper.java @@ -1,4 +1,4 @@ -package me.cortex.voxelmon.common.world.storage; +package me.cortex.zenith.common.world.storage.lmdb; import org.lwjgl.PointerBuffer; import org.lwjgl.system.MemoryStack; @@ -6,7 +6,7 @@ import org.lwjgl.util.lmdb.MDBVal; import java.nio.ByteBuffer; -import static me.cortex.voxelmon.common.world.storage.LMDBInterface.E; +import static me.cortex.zenith.common.world.storage.lmdb.LMDBInterface.E; import static org.lwjgl.system.MemoryStack.stackPush; import static org.lwjgl.util.lmdb.LMDB.*; diff --git a/src/main/resources/assets/voxelmon/shaders/lod/blit_nodepth/quad.frag b/src/main/resources/assets/zenith/shaders/lod/blit_nodepth/quad.frag similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/blit_nodepth/quad.frag rename to src/main/resources/assets/zenith/shaders/lod/blit_nodepth/quad.frag diff --git a/src/main/resources/assets/voxelmon/shaders/lod/blit_nodepth/quad.vert b/src/main/resources/assets/zenith/shaders/lod/blit_nodepth/quad.vert similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/blit_nodepth/quad.vert rename to src/main/resources/assets/zenith/shaders/lod/blit_nodepth/quad.vert diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/bindings.glsl b/src/main/resources/assets/zenith/shaders/lod/gl46/bindings.glsl similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/bindings.glsl rename to src/main/resources/assets/zenith/shaders/lod/gl46/bindings.glsl diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/cmdgen.comp b/src/main/resources/assets/zenith/shaders/lod/gl46/cmdgen.comp similarity index 92% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/cmdgen.comp rename to src/main/resources/assets/zenith/shaders/lod/gl46/cmdgen.comp index 74734305..1df241c0 100644 --- a/src/main/resources/assets/voxelmon/shaders/lod/gl46/cmdgen.comp +++ b/src/main/resources/assets/zenith/shaders/lod/gl46/cmdgen.comp @@ -3,10 +3,10 @@ layout(local_size_x = 128, local_size_y = 1, local_size_x = 1) in; -#import -#import -#import -#import +#import +#import +#import +#import //https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shader_16bit_storage.txt // adds support for uint8_t which can use for compact visibility buffer diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/cull/raster.frag b/src/main/resources/assets/zenith/shaders/lod/gl46/cull/raster.frag similarity index 86% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/cull/raster.frag rename to src/main/resources/assets/zenith/shaders/lod/gl46/cull/raster.frag index 2455f6c6..6a7b9af5 100644 --- a/src/main/resources/assets/voxelmon/shaders/lod/gl46/cull/raster.frag +++ b/src/main/resources/assets/zenith/shaders/lod/gl46/cull/raster.frag @@ -1,7 +1,7 @@ #version 460 core #extension GL_ARB_gpu_shader_int64 : enable #define VISIBILITY_ACCESS writeonly -#import +#import flat in uint id; flat in uint value; //out vec4 colour; diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/cull/raster.vert b/src/main/resources/assets/zenith/shaders/lod/gl46/cull/raster.vert similarity index 88% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/cull/raster.vert rename to src/main/resources/assets/zenith/shaders/lod/gl46/cull/raster.vert index f6858676..4ac89195 100644 --- a/src/main/resources/assets/voxelmon/shaders/lod/gl46/cull/raster.vert +++ b/src/main/resources/assets/zenith/shaders/lod/gl46/cull/raster.vert @@ -1,8 +1,8 @@ #version 460 core #extension GL_ARB_gpu_shader_int64 : enable #define VISIBILITY_ACCESS writeonly -#import -#import +#import +#import flat out uint id; flat out uint value; diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/frustum.glsl b/src/main/resources/assets/zenith/shaders/lod/gl46/frustum.glsl similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/frustum.glsl rename to src/main/resources/assets/zenith/shaders/lod/gl46/frustum.glsl diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/quad_format.glsl b/src/main/resources/assets/zenith/shaders/lod/gl46/quad_format.glsl similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/quad_format.glsl rename to src/main/resources/assets/zenith/shaders/lod/gl46/quad_format.glsl diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/quads.frag b/src/main/resources/assets/zenith/shaders/lod/gl46/quads.frag similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/quads.frag rename to src/main/resources/assets/zenith/shaders/lod/gl46/quads.frag diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/quads.vert b/src/main/resources/assets/zenith/shaders/lod/gl46/quads.vert similarity index 97% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/quads.vert rename to src/main/resources/assets/zenith/shaders/lod/gl46/quads.vert index 06de08c3..431b5e46 100644 --- a/src/main/resources/assets/voxelmon/shaders/lod/gl46/quads.vert +++ b/src/main/resources/assets/zenith/shaders/lod/gl46/quads.vert @@ -1,8 +1,8 @@ #version 460 core #extension GL_ARB_gpu_shader_int64 : enable -#import -#import +#import +#import layout(location = 0) out flat vec4 colour; diff --git a/src/main/resources/assets/voxelmon/shaders/lod/gl46/section.glsl b/src/main/resources/assets/zenith/shaders/lod/gl46/section.glsl similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/gl46/section.glsl rename to src/main/resources/assets/zenith/shaders/lod/gl46/section.glsl diff --git a/src/main/resources/assets/voxelmon/shaders/lod/nvmesh/primary.frag b/src/main/resources/assets/zenith/shaders/lod/nvmesh/primary.frag similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/nvmesh/primary.frag rename to src/main/resources/assets/zenith/shaders/lod/nvmesh/primary.frag diff --git a/src/main/resources/assets/voxelmon/shaders/lod/nvmesh/primary.mesh b/src/main/resources/assets/zenith/shaders/lod/nvmesh/primary.mesh similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/nvmesh/primary.mesh rename to src/main/resources/assets/zenith/shaders/lod/nvmesh/primary.mesh diff --git a/src/main/resources/assets/voxelmon/shaders/lod/nvmesh/primary.task b/src/main/resources/assets/zenith/shaders/lod/nvmesh/primary.task similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/nvmesh/primary.task rename to src/main/resources/assets/zenith/shaders/lod/nvmesh/primary.task diff --git a/src/main/resources/assets/voxelmon/shaders/lod/ssao/ssao.comp b/src/main/resources/assets/zenith/shaders/lod/ssao/ssao.comp similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/lod/ssao/ssao.comp rename to src/main/resources/assets/zenith/shaders/lod/ssao/ssao.comp diff --git a/src/main/resources/assets/zenith/shaders/postprocess/ssao.comp b/src/main/resources/assets/zenith/shaders/postprocess/ssao.comp new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/voxelmon/shaders/quads.frag b/src/main/resources/assets/zenith/shaders/quads.frag similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/quads.frag rename to src/main/resources/assets/zenith/shaders/quads.frag diff --git a/src/main/resources/assets/voxelmon/shaders/quads.vert b/src/main/resources/assets/zenith/shaders/quads.vert similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/quads.vert rename to src/main/resources/assets/zenith/shaders/quads.vert diff --git a/src/main/resources/assets/voxelmon/shaders/ray/ray.glsl b/src/main/resources/assets/zenith/shaders/ray/ray.glsl similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/ray/ray.glsl rename to src/main/resources/assets/zenith/shaders/ray/ray.glsl diff --git a/src/main/resources/assets/voxelmon/shaders/ray/storage.glsl b/src/main/resources/assets/zenith/shaders/ray/storage.glsl similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/ray/storage.glsl rename to src/main/resources/assets/zenith/shaders/ray/storage.glsl diff --git a/src/main/resources/assets/voxelmon/shaders/ray/tracer.glsl b/src/main/resources/assets/zenith/shaders/ray/tracer.glsl similarity index 100% rename from src/main/resources/assets/voxelmon/shaders/ray/tracer.glsl rename to src/main/resources/assets/zenith/shaders/ray/tracer.glsl diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 98eea41d..112eb137 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -14,14 +14,14 @@ "environment": "client", "entrypoints": { "client": [ - "me.cortex.voxelmon.client.Voxelmon" + "me.cortex.zenith.client.Voxelmon" ] }, "mixins": [ - "voxelmon.mixins.json" + "zenith.mixins.json" ], "depends": { "fabricloader": ">=0.14.22" }, - "accessWidener": "voxelmon.accesswidener" + "accessWidener": "zenith.accesswidener" } diff --git a/src/main/resources/voxelmon.accesswidener b/src/main/resources/zenith.accesswidener similarity index 100% rename from src/main/resources/voxelmon.accesswidener rename to src/main/resources/zenith.accesswidener diff --git a/src/main/resources/voxelmon.mixins.json b/src/main/resources/zenith.mixins.json similarity index 88% rename from src/main/resources/voxelmon.mixins.json rename to src/main/resources/zenith.mixins.json index 7346b5e3..65463ae0 100644 --- a/src/main/resources/voxelmon.mixins.json +++ b/src/main/resources/zenith.mixins.json @@ -1,6 +1,6 @@ { "required": true, - "package": "me.cortex.voxelmon.client.mixin", + "package": "me.cortex.zenith.client.mixin", "compatibilityLevel": "JAVA_17", "client": [ "minecraft.MixinBackgroundRenderer",