diff --git a/src/main/java/com/seibel/lod/api/forge/ForgeConfig.java b/src/main/java/com/seibel/lod/api/forge/ForgeConfig.java
index b64abf648..6c20f1520 100644
--- a/src/main/java/com/seibel/lod/api/forge/ForgeConfig.java
+++ b/src/main/java/com/seibel/lod/api/forge/ForgeConfig.java
@@ -28,22 +28,22 @@ import org.apache.logging.log4j.LogManager;
import com.electronwill.nightconfig.core.file.CommentedFileConfig;
import com.electronwill.nightconfig.core.io.WritingMode;
import com.seibel.lod.ModInfo;
-import com.seibel.lod.config.LodConfig;
-import com.seibel.lod.enums.config.BlockToAvoid;
-import com.seibel.lod.enums.config.BufferRebuildTimes;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.enums.config.GenerationPriority;
-import com.seibel.lod.enums.config.GpuUploadMethod;
-import com.seibel.lod.enums.config.HorizontalQuality;
-import com.seibel.lod.enums.config.HorizontalResolution;
-import com.seibel.lod.enums.config.HorizontalScale;
-import com.seibel.lod.enums.config.LodTemplate;
-import com.seibel.lod.enums.config.VanillaOverdraw;
-import com.seibel.lod.enums.config.VerticalQuality;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.enums.rendering.FogDistance;
-import com.seibel.lod.enums.rendering.FogDrawOverride;
-import com.seibel.lod.objects.MinDefaultMax;
+import com.seibel.lod.core.config.LodConfig;
+import com.seibel.lod.core.enums.config.BlockToAvoid;
+import com.seibel.lod.core.enums.config.BufferRebuildTimes;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.GenerationPriority;
+import com.seibel.lod.core.enums.config.GpuUploadMethod;
+import com.seibel.lod.core.enums.config.HorizontalQuality;
+import com.seibel.lod.core.enums.config.HorizontalResolution;
+import com.seibel.lod.core.enums.config.HorizontalScale;
+import com.seibel.lod.core.enums.config.LodTemplate;
+import com.seibel.lod.core.enums.config.VanillaOverdraw;
+import com.seibel.lod.core.enums.config.VerticalQuality;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.enums.rendering.FogDistance;
+import com.seibel.lod.core.enums.rendering.FogDrawOverride;
+import com.seibel.lod.core.objects.MinDefaultMax;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.eventbus.api.SubscribeEvent;
diff --git a/src/main/java/com/seibel/lod/api/lod/ApiShared.java b/src/main/java/com/seibel/lod/api/lod/ApiShared.java
index 6ce15b250..bca122d1b 100644
--- a/src/main/java/com/seibel/lod/api/lod/ApiShared.java
+++ b/src/main/java/com/seibel/lod/api/lod/ApiShared.java
@@ -19,9 +19,9 @@
package com.seibel.lod.api.lod;
-import com.seibel.lod.builders.bufferBuilding.LodBufferBuilderFactory;
-import com.seibel.lod.builders.lodBuilding.LodBuilder;
-import com.seibel.lod.objects.lod.LodWorld;
+import com.seibel.lod.core.builders.bufferBuilding.LodBufferBuilderFactory;
+import com.seibel.lod.core.builders.lodBuilding.LodBuilder;
+import com.seibel.lod.core.objects.lod.LodWorld;
/**
* This stores objects and variables that
diff --git a/src/main/java/com/seibel/lod/api/lod/ClientApi.java b/src/main/java/com/seibel/lod/api/lod/ClientApi.java
index 6b657e9ed..c2697e91d 100644
--- a/src/main/java/com/seibel/lod/api/lod/ClientApi.java
+++ b/src/main/java/com/seibel/lod/api/lod/ClientApi.java
@@ -23,13 +23,13 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.builders.worldGeneration.LodGenWorker;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.objects.math.Mat4f;
-import com.seibel.lod.render.GlProxy;
-import com.seibel.lod.render.LodRenderer;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.ThreadMapUtil;
+import com.seibel.lod.core.builders.worldGeneration.LodGenWorker;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.objects.math.Mat4f;
+import com.seibel.lod.core.render.GlProxy;
+import com.seibel.lod.core.render.LodRenderer;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.ThreadMapUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import net.minecraft.profiler.IProfiler;
diff --git a/src/main/java/com/seibel/lod/api/lod/EventApi.java b/src/main/java/com/seibel/lod/api/lod/EventApi.java
index fe74de7df..e4b30146e 100644
--- a/src/main/java/com/seibel/lod/api/lod/EventApi.java
+++ b/src/main/java/com/seibel/lod/api/lod/EventApi.java
@@ -22,15 +22,15 @@ package com.seibel.lod.api.lod;
import org.lwjgl.glfw.GLFW;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.builders.worldGeneration.LodWorldGenerator;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.objects.lod.RegionPos;
-import com.seibel.lod.render.LodRenderer;
-import com.seibel.lod.util.DataPointUtil;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.LodUtil;
-import com.seibel.lod.util.ThreadMapUtil;
+import com.seibel.lod.core.builders.worldGeneration.LodWorldGenerator;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.objects.lod.RegionPos;
+import com.seibel.lod.core.render.LodRenderer;
+import com.seibel.lod.core.util.DataPointUtil;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.LodUtil;
+import com.seibel.lod.core.util.ThreadMapUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.chunk.ChunkWrapper;
import com.seibel.lod.wrappers.world.DimensionTypeWrapper;
diff --git a/src/main/java/com/seibel/lod/builders/bufferBuilding/LodBufferBuilderFactory.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/LodBufferBuilderFactory.java
similarity index 97%
rename from src/main/java/com/seibel/lod/builders/bufferBuilding/LodBufferBuilderFactory.java
rename to src/main/java/com/seibel/lod/core/builders/bufferBuilding/LodBufferBuilderFactory.java
index 276d616ad..a814c292c 100644
--- a/src/main/java/com/seibel/lod/builders/bufferBuilding/LodBufferBuilderFactory.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/LodBufferBuilderFactory.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.bufferBuilding;
+package com.seibel.lod.core.builders.bufferBuilding;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -38,25 +38,25 @@ import org.lwjgl.opengl.GL45;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.seibel.lod.api.forge.ForgeConfig;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.enums.LodDirection;
-import com.seibel.lod.enums.config.GpuUploadMethod;
-import com.seibel.lod.enums.config.VanillaOverdraw;
-import com.seibel.lod.enums.rendering.GlProxyContext;
-import com.seibel.lod.objects.Box;
-import com.seibel.lod.objects.PosToRenderContainer;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.objects.lod.LodRegion;
-import com.seibel.lod.objects.lod.RegionPos;
-import com.seibel.lod.objects.opengl.LodBufferBuilder;
-import com.seibel.lod.objects.opengl.LodVertexBuffer;
-import com.seibel.lod.render.GlProxy;
-import com.seibel.lod.render.LodRenderer;
-import com.seibel.lod.util.DataPointUtil;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.LevelPosUtil;
-import com.seibel.lod.util.LodThreadFactory;
-import com.seibel.lod.util.LodUtil;
-import com.seibel.lod.util.ThreadMapUtil;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.enums.config.GpuUploadMethod;
+import com.seibel.lod.core.enums.config.VanillaOverdraw;
+import com.seibel.lod.core.enums.rendering.GlProxyContext;
+import com.seibel.lod.core.objects.Box;
+import com.seibel.lod.core.objects.PosToRenderContainer;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.objects.lod.LodRegion;
+import com.seibel.lod.core.objects.lod.RegionPos;
+import com.seibel.lod.core.objects.opengl.LodBufferBuilder;
+import com.seibel.lod.core.objects.opengl.LodVertexBuffer;
+import com.seibel.lod.core.render.GlProxy;
+import com.seibel.lod.core.render.LodRenderer;
+import com.seibel.lod.core.util.DataPointUtil;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
+import com.seibel.lod.core.util.LodThreadFactory;
+import com.seibel.lod.core.util.LodUtil;
+import com.seibel.lod.core.util.ThreadMapUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
diff --git a/src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java
similarity index 84%
rename from src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java
rename to src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java
index 4dca9bab9..53c0a490b 100644
--- a/src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java
@@ -17,16 +17,16 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.bufferBuilding.lodTemplates;
+package com.seibel.lod.core.builders.bufferBuilding.lodTemplates;
import java.util.Map;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.objects.Box;
-import com.seibel.lod.objects.opengl.LodBufferBuilder;
-import com.seibel.lod.util.ColorUtil;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.objects.Box;
+import com.seibel.lod.core.objects.opengl.LodBufferBuilder;
+import com.seibel.lod.core.util.ColorUtil;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
-import com.seibel.lod.enums.LodDirection;
/**
* This is the abstract class used to create different
diff --git a/src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java
similarity index 90%
rename from src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java
rename to src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java
index 0475ad70e..19b6f09bd 100644
--- a/src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java
@@ -17,18 +17,18 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.bufferBuilding.lodTemplates;
+package com.seibel.lod.core.builders.bufferBuilding.lodTemplates;
import java.util.Map;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.objects.Box;
-import com.seibel.lod.objects.opengl.LodBufferBuilder;
-import com.seibel.lod.util.ColorUtil;
-import com.seibel.lod.util.DataPointUtil;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.objects.Box;
+import com.seibel.lod.core.objects.opengl.LodBufferBuilder;
+import com.seibel.lod.core.util.ColorUtil;
+import com.seibel.lod.core.util.DataPointUtil;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
-import com.seibel.lod.enums.LodDirection;
/**
* Builds LODs as rectangular prisms.
diff --git a/src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java
similarity index 85%
rename from src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java
rename to src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java
index 9f5719d5d..0b470dcfd 100644
--- a/src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java
@@ -17,16 +17,16 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.bufferBuilding.lodTemplates;
+package com.seibel.lod.core.builders.bufferBuilding.lodTemplates;
import java.util.Map;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.objects.Box;
-import com.seibel.lod.objects.opengl.LodBufferBuilder;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.enums.LodDirection;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.objects.Box;
+import com.seibel.lod.core.objects.opengl.LodBufferBuilder;
/**
* TODO DynamicLodTemplate
diff --git a/src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java
similarity index 84%
rename from src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java
rename to src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java
index 805d171ea..67954e011 100644
--- a/src/main/java/com/seibel/lod/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java
@@ -17,16 +17,16 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.bufferBuilding.lodTemplates;
+package com.seibel.lod.core.builders.bufferBuilding.lodTemplates;
import java.util.Map;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.objects.Box;
-import com.seibel.lod.objects.opengl.LodBufferBuilder;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.enums.LodDirection;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.objects.Box;
+import com.seibel.lod.core.objects.opengl.LodBufferBuilder;
/**
* TODO #21 TriangularLodTemplate
diff --git a/src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilder.java b/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilder.java
similarity index 96%
rename from src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilder.java
rename to src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilder.java
index 13e37a8c7..8859bbe3e 100644
--- a/src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilder.java
+++ b/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilder.java
@@ -17,24 +17,24 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.lodBuilding;
+package com.seibel.lod.core.builders.lodBuilding;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.enums.config.HorizontalResolution;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.objects.lod.LodRegion;
-import com.seibel.lod.objects.lod.LodWorld;
-import com.seibel.lod.util.ColorUtil;
-import com.seibel.lod.util.DataPointUtil;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.LevelPosUtil;
-import com.seibel.lod.util.LodThreadFactory;
-import com.seibel.lod.util.LodUtil;
-import com.seibel.lod.util.ThreadMapUtil;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.HorizontalResolution;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.objects.lod.LodRegion;
+import com.seibel.lod.core.objects.lod.LodWorld;
+import com.seibel.lod.core.util.ColorUtil;
+import com.seibel.lod.core.util.DataPointUtil;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
+import com.seibel.lod.core.util.LodThreadFactory;
+import com.seibel.lod.core.util.LodUtil;
+import com.seibel.lod.core.util.ThreadMapUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.block.BlockColorWrapper;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
diff --git a/src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilderConfig.java b/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java
similarity index 96%
rename from src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilderConfig.java
rename to src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java
index 5b2034d8e..fc81a85f5 100644
--- a/src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilderConfig.java
+++ b/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java
@@ -17,9 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.lodBuilding;
+package com.seibel.lod.core.builders.lodBuilding;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
/**
* This is used to easily configure how LodChunks are generated.
diff --git a/src/main/java/com/seibel/lod/builders/worldGeneration/LodGenWorker.java b/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodGenWorker.java
similarity index 96%
rename from src/main/java/com/seibel/lod/builders/worldGeneration/LodGenWorker.java
rename to src/main/java/com/seibel/lod/core/builders/worldGeneration/LodGenWorker.java
index a943d8972..fcaefbaaa 100644
--- a/src/main/java/com/seibel/lod/builders/worldGeneration/LodGenWorker.java
+++ b/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodGenWorker.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.worldGeneration;
+package com.seibel.lod.core.builders.worldGeneration;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -25,10 +25,10 @@ import java.util.concurrent.Executors;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.seibel.lod.api.forge.ForgeConfig;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.builders.lodBuilding.LodBuilder;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.builders.lodBuilding.LodBuilder;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
import com.seibel.lod.wrappers.world.WorldWrapper;
import com.seibel.lod.wrappers.worldGeneration.WorldGeneratorWrapper;
diff --git a/src/main/java/com/seibel/lod/builders/worldGeneration/LodWorldGenerator.java b/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodWorldGenerator.java
similarity index 93%
rename from src/main/java/com/seibel/lod/builders/worldGeneration/LodWorldGenerator.java
rename to src/main/java/com/seibel/lod/core/builders/worldGeneration/LodWorldGenerator.java
index f104dd868..b2503d88b 100644
--- a/src/main/java/com/seibel/lod/builders/worldGeneration/LodWorldGenerator.java
+++ b/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodWorldGenerator.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.builders.worldGeneration;
+package com.seibel.lod.core.builders.worldGeneration;
import java.util.HashSet;
import java.util.Set;
@@ -26,15 +26,15 @@ import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.builders.lodBuilding.LodBuilder;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.objects.PosToGenerateContainer;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.render.LodRenderer;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.LevelPosUtil;
-import com.seibel.lod.util.LodThreadFactory;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.builders.lodBuilding.LodBuilder;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.objects.PosToGenerateContainer;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.render.LodRenderer;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
+import com.seibel.lod.core.util.LodThreadFactory;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
import com.seibel.lod.wrappers.world.WorldWrapper;
diff --git a/src/main/java/com/seibel/lod/config/LodConfig.java b/src/main/java/com/seibel/lod/core/config/LodConfig.java
similarity index 96%
rename from src/main/java/com/seibel/lod/config/LodConfig.java
rename to src/main/java/com/seibel/lod/core/config/LodConfig.java
index 968bc964f..8b86eb08a 100644
--- a/src/main/java/com/seibel/lod/config/LodConfig.java
+++ b/src/main/java/com/seibel/lod/core/config/LodConfig.java
@@ -1,21 +1,21 @@
-package com.seibel.lod.config;
+package com.seibel.lod.core.config;
-import com.seibel.lod.enums.config.BlockToAvoid;
-import com.seibel.lod.enums.config.BufferRebuildTimes;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.enums.config.GenerationPriority;
-import com.seibel.lod.enums.config.GpuUploadMethod;
-import com.seibel.lod.enums.config.HorizontalQuality;
-import com.seibel.lod.enums.config.HorizontalResolution;
-import com.seibel.lod.enums.config.HorizontalScale;
-import com.seibel.lod.enums.config.LodTemplate;
-import com.seibel.lod.enums.config.VanillaOverdraw;
-import com.seibel.lod.enums.config.VerticalQuality;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.enums.rendering.FogDistance;
-import com.seibel.lod.enums.rendering.FogDrawOverride;
-import com.seibel.lod.objects.MinDefaultMax;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.enums.config.BlockToAvoid;
+import com.seibel.lod.core.enums.config.BufferRebuildTimes;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.GenerationPriority;
+import com.seibel.lod.core.enums.config.GpuUploadMethod;
+import com.seibel.lod.core.enums.config.HorizontalQuality;
+import com.seibel.lod.core.enums.config.HorizontalResolution;
+import com.seibel.lod.core.enums.config.HorizontalScale;
+import com.seibel.lod.core.enums.config.LodTemplate;
+import com.seibel.lod.core.enums.config.VanillaOverdraw;
+import com.seibel.lod.core.enums.config.VerticalQuality;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.enums.rendering.FogDistance;
+import com.seibel.lod.core.enums.rendering.FogDrawOverride;
+import com.seibel.lod.core.objects.MinDefaultMax;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.config.LodConfigWrapper;
/**
diff --git a/src/main/java/com/seibel/lod/enums/LodDirection.java b/src/main/java/com/seibel/lod/core/enums/LodDirection.java
similarity index 99%
rename from src/main/java/com/seibel/lod/enums/LodDirection.java
rename to src/main/java/com/seibel/lod/core/enums/LodDirection.java
index fa6e6b1a5..79c8f9a08 100644
--- a/src/main/java/com/seibel/lod/enums/LodDirection.java
+++ b/src/main/java/com/seibel/lod/core/enums/LodDirection.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.enums;
+package com.seibel.lod.core.enums;
import java.util.Arrays;
import java.util.Locale;
@@ -8,7 +8,7 @@ import java.util.stream.Collectors;
import javax.annotation.Nullable;
-import com.seibel.lod.objects.math.Vec3i;
+import com.seibel.lod.core.objects.math.Vec3i;
/**
* A (almost) exact copy of Minecraft's
diff --git a/src/main/java/com/seibel/lod/enums/WorldType.java b/src/main/java/com/seibel/lod/core/enums/WorldType.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/WorldType.java
rename to src/main/java/com/seibel/lod/core/enums/WorldType.java
index b8a74d999..a36b06194 100644
--- a/src/main/java/com/seibel/lod/enums/WorldType.java
+++ b/src/main/java/com/seibel/lod/core/enums/WorldType.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums;
+package com.seibel.lod.core.enums;
/**
* ServerWorld, ClientWorld, Unknown
diff --git a/src/main/java/com/seibel/lod/enums/config/BlockToAvoid.java b/src/main/java/com/seibel/lod/core/enums/config/BlockToAvoid.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/config/BlockToAvoid.java
rename to src/main/java/com/seibel/lod/core/enums/config/BlockToAvoid.java
index a768b2d85..28c4348f8 100644
--- a/src/main/java/com/seibel/lod/enums/config/BlockToAvoid.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/BlockToAvoid.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* heightmap
diff --git a/src/main/java/com/seibel/lod/enums/config/BufferRebuildTimes.java b/src/main/java/com/seibel/lod/core/enums/config/BufferRebuildTimes.java
similarity index 97%
rename from src/main/java/com/seibel/lod/enums/config/BufferRebuildTimes.java
rename to src/main/java/com/seibel/lod/core/enums/config/BufferRebuildTimes.java
index 1fdbf47ca..de7ea7c41 100644
--- a/src/main/java/com/seibel/lod/enums/config/BufferRebuildTimes.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/BufferRebuildTimes.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* FREQUENT
diff --git a/src/main/java/com/seibel/lod/enums/config/DistanceGenerationMode.java b/src/main/java/com/seibel/lod/core/enums/config/DistanceGenerationMode.java
similarity index 98%
rename from src/main/java/com/seibel/lod/enums/config/DistanceGenerationMode.java
rename to src/main/java/com/seibel/lod/core/enums/config/DistanceGenerationMode.java
index c71973fde..cc6dfd126 100644
--- a/src/main/java/com/seibel/lod/enums/config/DistanceGenerationMode.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/DistanceGenerationMode.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* NONE
diff --git a/src/main/java/com/seibel/lod/enums/config/GenerationPriority.java b/src/main/java/com/seibel/lod/core/enums/config/GenerationPriority.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/config/GenerationPriority.java
rename to src/main/java/com/seibel/lod/core/enums/config/GenerationPriority.java
index 58721d6c4..5fd22cd7a 100644
--- a/src/main/java/com/seibel/lod/enums/config/GenerationPriority.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/GenerationPriority.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* Near_First
diff --git a/src/main/java/com/seibel/lod/enums/config/GpuUploadMethod.java b/src/main/java/com/seibel/lod/core/enums/config/GpuUploadMethod.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/config/GpuUploadMethod.java
rename to src/main/java/com/seibel/lod/core/enums/config/GpuUploadMethod.java
index 997ffbc22..ac103aef1 100644
--- a/src/main/java/com/seibel/lod/enums/config/GpuUploadMethod.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/GpuUploadMethod.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* Buffer_Storage, Sub_Data, Buffer_Mapping
diff --git a/src/main/java/com/seibel/lod/enums/config/HorizontalQuality.java b/src/main/java/com/seibel/lod/core/enums/config/HorizontalQuality.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/config/HorizontalQuality.java
rename to src/main/java/com/seibel/lod/core/enums/config/HorizontalQuality.java
index 6af03fcd8..e91ed0f68 100644
--- a/src/main/java/com/seibel/lod/enums/config/HorizontalQuality.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/HorizontalQuality.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* Lowest
diff --git a/src/main/java/com/seibel/lod/enums/config/HorizontalResolution.java b/src/main/java/com/seibel/lod/core/enums/config/HorizontalResolution.java
similarity index 98%
rename from src/main/java/com/seibel/lod/enums/config/HorizontalResolution.java
rename to src/main/java/com/seibel/lod/core/enums/config/HorizontalResolution.java
index bdd481dc4..794b67f71 100644
--- a/src/main/java/com/seibel/lod/enums/config/HorizontalResolution.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/HorizontalResolution.java
@@ -17,12 +17,12 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
import java.util.ArrayList;
import java.util.Collections;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.util.LodUtil;
/**
* chunk
diff --git a/src/main/java/com/seibel/lod/enums/config/HorizontalScale.java b/src/main/java/com/seibel/lod/core/enums/config/HorizontalScale.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/config/HorizontalScale.java
rename to src/main/java/com/seibel/lod/core/enums/config/HorizontalScale.java
index 779f70043..e710de006 100644
--- a/src/main/java/com/seibel/lod/enums/config/HorizontalScale.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/HorizontalScale.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* Low
diff --git a/src/main/java/com/seibel/lod/enums/config/LodTemplate.java b/src/main/java/com/seibel/lod/core/enums/config/LodTemplate.java
similarity index 78%
rename from src/main/java/com/seibel/lod/enums/config/LodTemplate.java
rename to src/main/java/com/seibel/lod/core/enums/config/LodTemplate.java
index 9d7fa8651..397699c7d 100644
--- a/src/main/java/com/seibel/lod/enums/config/LodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/LodTemplate.java
@@ -17,12 +17,12 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
-import com.seibel.lod.builders.bufferBuilding.lodTemplates.AbstractLodTemplate;
-import com.seibel.lod.builders.bufferBuilding.lodTemplates.CubicLodTemplate;
-import com.seibel.lod.builders.bufferBuilding.lodTemplates.DynamicLodTemplate;
-import com.seibel.lod.builders.bufferBuilding.lodTemplates.TriangularLodTemplate;
+import com.seibel.lod.core.builders.bufferBuilding.lodTemplates.AbstractLodTemplate;
+import com.seibel.lod.core.builders.bufferBuilding.lodTemplates.CubicLodTemplate;
+import com.seibel.lod.core.builders.bufferBuilding.lodTemplates.DynamicLodTemplate;
+import com.seibel.lod.core.builders.bufferBuilding.lodTemplates.TriangularLodTemplate;
/**
* Cubic, Triangular, Dynamic
diff --git a/src/main/java/com/seibel/lod/enums/config/ShadingMode.java b/src/main/java/com/seibel/lod/core/enums/config/ShadingMode.java
similarity index 88%
rename from src/main/java/com/seibel/lod/enums/config/ShadingMode.java
rename to src/main/java/com/seibel/lod/core/enums/config/ShadingMode.java
index 5e1eb7657..1971d51bb 100644
--- a/src/main/java/com/seibel/lod/enums/config/ShadingMode.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/ShadingMode.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* NONE, GAME_SHADING
diff --git a/src/main/java/com/seibel/lod/enums/config/VanillaOverdraw.java b/src/main/java/com/seibel/lod/core/enums/config/VanillaOverdraw.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/config/VanillaOverdraw.java
rename to src/main/java/com/seibel/lod/core/enums/config/VanillaOverdraw.java
index 51d7c04da..e28552893 100644
--- a/src/main/java/com/seibel/lod/enums/config/VanillaOverdraw.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/VanillaOverdraw.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* None, Dynamic, Always
diff --git a/src/main/java/com/seibel/lod/enums/config/VerticalQuality.java b/src/main/java/com/seibel/lod/core/enums/config/VerticalQuality.java
similarity index 97%
rename from src/main/java/com/seibel/lod/enums/config/VerticalQuality.java
rename to src/main/java/com/seibel/lod/core/enums/config/VerticalQuality.java
index 1f8a26f9b..9d82f9486 100644
--- a/src/main/java/com/seibel/lod/enums/config/VerticalQuality.java
+++ b/src/main/java/com/seibel/lod/core/enums/config/VerticalQuality.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.config;
+package com.seibel.lod.core.enums.config;
/**
* heightmap
diff --git a/src/main/java/com/seibel/lod/enums/rendering/DebugMode.java b/src/main/java/com/seibel/lod/core/enums/rendering/DebugMode.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/rendering/DebugMode.java
rename to src/main/java/com/seibel/lod/core/enums/rendering/DebugMode.java
index 2ecf20a93..cdc02fa1f 100644
--- a/src/main/java/com/seibel/lod/enums/rendering/DebugMode.java
+++ b/src/main/java/com/seibel/lod/core/enums/rendering/DebugMode.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.rendering;
+package com.seibel.lod.core.enums.rendering;
/**
* off, detail, detail wireframe
diff --git a/src/main/java/com/seibel/lod/enums/rendering/FogDistance.java b/src/main/java/com/seibel/lod/core/enums/rendering/FogDistance.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/rendering/FogDistance.java
rename to src/main/java/com/seibel/lod/core/enums/rendering/FogDistance.java
index d7e0bdaf5..a52d33f7b 100644
--- a/src/main/java/com/seibel/lod/enums/rendering/FogDistance.java
+++ b/src/main/java/com/seibel/lod/core/enums/rendering/FogDistance.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.rendering;
+package com.seibel.lod.core.enums.rendering;
/**
* NEAR, FAR, or NEAR_AND_FAR.
diff --git a/src/main/java/com/seibel/lod/enums/rendering/FogDrawOverride.java b/src/main/java/com/seibel/lod/core/enums/rendering/FogDrawOverride.java
similarity index 96%
rename from src/main/java/com/seibel/lod/enums/rendering/FogDrawOverride.java
rename to src/main/java/com/seibel/lod/core/enums/rendering/FogDrawOverride.java
index fe330a280..63363a14e 100644
--- a/src/main/java/com/seibel/lod/enums/rendering/FogDrawOverride.java
+++ b/src/main/java/com/seibel/lod/core/enums/rendering/FogDrawOverride.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.rendering;
+package com.seibel.lod.core.enums.rendering;
/**
* USE_OPTIFINE_FOG_SETTING,
diff --git a/src/main/java/com/seibel/lod/enums/rendering/FogQuality.java b/src/main/java/com/seibel/lod/core/enums/rendering/FogQuality.java
similarity index 95%
rename from src/main/java/com/seibel/lod/enums/rendering/FogQuality.java
rename to src/main/java/com/seibel/lod/core/enums/rendering/FogQuality.java
index 460c82bdf..97528e85e 100644
--- a/src/main/java/com/seibel/lod/enums/rendering/FogQuality.java
+++ b/src/main/java/com/seibel/lod/core/enums/rendering/FogQuality.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.rendering;
+package com.seibel.lod.core.enums.rendering;
/**
* fast, fancy, or off
diff --git a/src/main/java/com/seibel/lod/enums/rendering/GlProxyContext.java b/src/main/java/com/seibel/lod/core/enums/rendering/GlProxyContext.java
similarity index 95%
rename from src/main/java/com/seibel/lod/enums/rendering/GlProxyContext.java
rename to src/main/java/com/seibel/lod/core/enums/rendering/GlProxyContext.java
index cd7965705..3ce459f7b 100644
--- a/src/main/java/com/seibel/lod/enums/rendering/GlProxyContext.java
+++ b/src/main/java/com/seibel/lod/core/enums/rendering/GlProxyContext.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.enums.rendering;
+package com.seibel.lod.core.enums.rendering;
/**
* Minecraft, Lod_Builder, None
diff --git a/src/main/java/com/seibel/lod/handlers/ChunkFileLoader.java b/src/main/java/com/seibel/lod/core/handlers/ChunkFileLoader.java
similarity index 98%
rename from src/main/java/com/seibel/lod/handlers/ChunkFileLoader.java
rename to src/main/java/com/seibel/lod/core/handlers/ChunkFileLoader.java
index 6a20605a7..81cb0068e 100644
--- a/src/main/java/com/seibel/lod/handlers/ChunkFileLoader.java
+++ b/src/main/java/com/seibel/lod/core/handlers/ChunkFileLoader.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.handlers;
+package com.seibel.lod.core.handlers;
/**
*
diff --git a/src/main/java/com/seibel/lod/handlers/LodDimensionFileHandler.java b/src/main/java/com/seibel/lod/core/handlers/LodDimensionFileHandler.java
similarity index 96%
rename from src/main/java/com/seibel/lod/handlers/LodDimensionFileHandler.java
rename to src/main/java/com/seibel/lod/core/handlers/LodDimensionFileHandler.java
index 6501f5ce5..af91f1090 100644
--- a/src/main/java/com/seibel/lod/handlers/LodDimensionFileHandler.java
+++ b/src/main/java/com/seibel/lod/core/handlers/LodDimensionFileHandler.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.handlers;
+package com.seibel.lod.core.handlers;
import java.io.*;
import java.nio.file.Files;
@@ -30,15 +30,15 @@ import org.apache.commons.compress.compressors.xz.XZCompressorInputStream;
import org.apache.commons.compress.compressors.xz.XZCompressorOutputStream;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.enums.config.VerticalQuality;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.objects.lod.LodRegion;
-import com.seibel.lod.objects.lod.RegionPos;
-import com.seibel.lod.objects.lod.VerticalLevelContainer;
-import com.seibel.lod.util.LodThreadFactory;
-import com.seibel.lod.util.LodUtil;
-import com.seibel.lod.util.ThreadMapUtil;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.VerticalQuality;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.objects.lod.LodRegion;
+import com.seibel.lod.core.objects.lod.RegionPos;
+import com.seibel.lod.core.objects.lod.VerticalLevelContainer;
+import com.seibel.lod.core.util.LodThreadFactory;
+import com.seibel.lod.core.util.LodUtil;
+import com.seibel.lod.core.util.ThreadMapUtil;
/**
* This object handles creating LodRegions
diff --git a/src/main/java/com/seibel/lod/handlers/ReflectionHandler.java b/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java
similarity index 97%
rename from src/main/java/com/seibel/lod/handlers/ReflectionHandler.java
rename to src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java
index 515deae21..b413d6fbc 100644
--- a/src/main/java/com/seibel/lod/handlers/ReflectionHandler.java
+++ b/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java
@@ -17,14 +17,14 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.handlers;
+package com.seibel.lod.core.handlers;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.enums.rendering.FogQuality;
-import com.seibel.lod.objects.math.Mat4f;
+import com.seibel.lod.core.enums.rendering.FogQuality;
+import com.seibel.lod.core.objects.math.Mat4f;
import com.seibel.lod.wrappers.MinecraftWrapper;
/**
diff --git a/src/main/java/com/seibel/lod/objects/Box.java b/src/main/java/com/seibel/lod/core/objects/Box.java
similarity index 98%
rename from src/main/java/com/seibel/lod/objects/Box.java
rename to src/main/java/com/seibel/lod/core/objects/Box.java
index 227a5defb..27d2a2e21 100644
--- a/src/main/java/com/seibel/lod/objects/Box.java
+++ b/src/main/java/com/seibel/lod/core/objects/Box.java
@@ -17,19 +17,19 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects;
+package com.seibel.lod.core.objects;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.enums.LodDirection;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.objects.math.Vec3i;
-import com.seibel.lod.util.ColorUtil;
-import com.seibel.lod.util.DataPointUtil;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.objects.math.Vec3i;
+import com.seibel.lod.core.util.ColorUtil;
+import com.seibel.lod.core.util.DataPointUtil;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
diff --git a/src/main/java/com/seibel/lod/objects/MinDefaultMax.java b/src/main/java/com/seibel/lod/core/objects/MinDefaultMax.java
similarity index 91%
rename from src/main/java/com/seibel/lod/objects/MinDefaultMax.java
rename to src/main/java/com/seibel/lod/core/objects/MinDefaultMax.java
index 4433e6a43..95f69ab39 100644
--- a/src/main/java/com/seibel/lod/objects/MinDefaultMax.java
+++ b/src/main/java/com/seibel/lod/core/objects/MinDefaultMax.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.objects;
+package com.seibel.lod.core.objects;
/**
* Used when setting up configuration fields.
diff --git a/src/main/java/com/seibel/lod/objects/PosToGenerateContainer.java b/src/main/java/com/seibel/lod/core/objects/PosToGenerateContainer.java
similarity index 98%
rename from src/main/java/com/seibel/lod/objects/PosToGenerateContainer.java
rename to src/main/java/com/seibel/lod/core/objects/PosToGenerateContainer.java
index 5efa58d14..80ca0ec88 100644
--- a/src/main/java/com/seibel/lod/objects/PosToGenerateContainer.java
+++ b/src/main/java/com/seibel/lod/core/objects/PosToGenerateContainer.java
@@ -17,9 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects;
+package com.seibel.lod.core.objects;
-import com.seibel.lod.util.LevelPosUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
/**
* Holds the levelPos that need to be generated.
diff --git a/src/main/java/com/seibel/lod/objects/PosToRenderContainer.java b/src/main/java/com/seibel/lod/core/objects/PosToRenderContainer.java
similarity index 97%
rename from src/main/java/com/seibel/lod/objects/PosToRenderContainer.java
rename to src/main/java/com/seibel/lod/core/objects/PosToRenderContainer.java
index 4212a58c8..0a51c0176 100644
--- a/src/main/java/com/seibel/lod/objects/PosToRenderContainer.java
+++ b/src/main/java/com/seibel/lod/core/objects/PosToRenderContainer.java
@@ -17,13 +17,13 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects;
+package com.seibel.lod.core.objects;
import java.util.Arrays;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.util.LevelPosUtil;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
+import com.seibel.lod.core.util.LodUtil;
/**
* @author Leonardo Amato
diff --git a/src/main/java/com/seibel/lod/objects/lod/LevelContainer.java b/src/main/java/com/seibel/lod/core/objects/lod/LevelContainer.java
similarity index 98%
rename from src/main/java/com/seibel/lod/objects/lod/LevelContainer.java
rename to src/main/java/com/seibel/lod/core/objects/lod/LevelContainer.java
index 6591a4ac1..b314fbcf7 100644
--- a/src/main/java/com/seibel/lod/objects/lod/LevelContainer.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/LevelContainer.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.lod;
+package com.seibel.lod.core.objects.lod;
/**
* A level container is a quad tree level
diff --git a/src/main/java/com/seibel/lod/objects/lod/LodDimension.java b/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java
similarity index 97%
rename from src/main/java/com/seibel/lod/objects/lod/LodDimension.java
rename to src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java
index 7ef887733..dc01aa968 100644
--- a/src/main/java/com/seibel/lod/objects/lod/LodDimension.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.lod;
+package com.seibel.lod.core.objects.lod;
import java.io.File;
import java.io.IOException;
@@ -25,17 +25,17 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.enums.config.GenerationPriority;
-import com.seibel.lod.enums.config.VerticalQuality;
-import com.seibel.lod.handlers.LodDimensionFileHandler;
-import com.seibel.lod.objects.PosToGenerateContainer;
-import com.seibel.lod.objects.PosToRenderContainer;
-import com.seibel.lod.util.DataPointUtil;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.LevelPosUtil;
-import com.seibel.lod.util.LodThreadFactory;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.GenerationPriority;
+import com.seibel.lod.core.enums.config.VerticalQuality;
+import com.seibel.lod.core.handlers.LodDimensionFileHandler;
+import com.seibel.lod.core.objects.PosToGenerateContainer;
+import com.seibel.lod.core.objects.PosToRenderContainer;
+import com.seibel.lod.core.util.DataPointUtil;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
+import com.seibel.lod.core.util.LodThreadFactory;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
import com.seibel.lod.wrappers.world.DimensionTypeWrapper;
diff --git a/src/main/java/com/seibel/lod/objects/lod/LodRegion.java b/src/main/java/com/seibel/lod/core/objects/lod/LodRegion.java
similarity index 97%
rename from src/main/java/com/seibel/lod/objects/lod/LodRegion.java
rename to src/main/java/com/seibel/lod/core/objects/lod/LodRegion.java
index 4cffd60bd..7acd6b8cf 100644
--- a/src/main/java/com/seibel/lod/objects/lod/LodRegion.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/LodRegion.java
@@ -17,16 +17,16 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.lod;
+package com.seibel.lod.core.objects.lod;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.enums.config.VerticalQuality;
-import com.seibel.lod.objects.PosToGenerateContainer;
-import com.seibel.lod.objects.PosToRenderContainer;
-import com.seibel.lod.util.DataPointUtil;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.LevelPosUtil;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.VerticalQuality;
+import com.seibel.lod.core.objects.PosToGenerateContainer;
+import com.seibel.lod.core.objects.PosToRenderContainer;
+import com.seibel.lod.core.util.DataPointUtil;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
+import com.seibel.lod.core.util.LodUtil;
/**
* This object holds all loaded LevelContainers acting as a quad tree
diff --git a/src/main/java/com/seibel/lod/objects/lod/LodWorld.java b/src/main/java/com/seibel/lod/core/objects/lod/LodWorld.java
similarity index 99%
rename from src/main/java/com/seibel/lod/objects/lod/LodWorld.java
rename to src/main/java/com/seibel/lod/core/objects/lod/LodWorld.java
index 47cc4b5d7..6827e2d98 100644
--- a/src/main/java/com/seibel/lod/objects/lod/LodWorld.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/LodWorld.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.lod;
+package com.seibel.lod.core.objects.lod;
import java.util.Hashtable;
import java.util.Map;
diff --git a/src/main/java/com/seibel/lod/objects/lod/RegionPos.java b/src/main/java/com/seibel/lod/core/objects/lod/RegionPos.java
similarity index 96%
rename from src/main/java/com/seibel/lod/objects/lod/RegionPos.java
rename to src/main/java/com/seibel/lod/core/objects/lod/RegionPos.java
index cf0a441ea..35b523307 100644
--- a/src/main/java/com/seibel/lod/objects/lod/RegionPos.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/RegionPos.java
@@ -17,9 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.lod;
+package com.seibel.lod.core.objects.lod;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
diff --git a/src/main/java/com/seibel/lod/objects/lod/VerticalLevelContainer.java b/src/main/java/com/seibel/lod/core/objects/lod/VerticalLevelContainer.java
similarity index 95%
rename from src/main/java/com/seibel/lod/objects/lod/VerticalLevelContainer.java
rename to src/main/java/com/seibel/lod/core/objects/lod/VerticalLevelContainer.java
index 30932c0e3..7938f5790 100644
--- a/src/main/java/com/seibel/lod/objects/lod/VerticalLevelContainer.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/VerticalLevelContainer.java
@@ -17,13 +17,13 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.lod;
+package com.seibel.lod.core.objects.lod;
-import com.seibel.lod.util.DataPointUtil;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.LevelPosUtil;
-import com.seibel.lod.util.LodUtil;
-import com.seibel.lod.util.ThreadMapUtil;
+import com.seibel.lod.core.util.DataPointUtil;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
+import com.seibel.lod.core.util.LodUtil;
+import com.seibel.lod.core.util.ThreadMapUtil;
/**
*
diff --git a/src/main/java/com/seibel/lod/objects/math/Mat4f.java b/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java
similarity index 99%
rename from src/main/java/com/seibel/lod/objects/math/Mat4f.java
rename to src/main/java/com/seibel/lod/core/objects/math/Mat4f.java
index e0ebfc1c3..34a8bd6ff 100644
--- a/src/main/java/com/seibel/lod/objects/math/Mat4f.java
+++ b/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.math;
+package com.seibel.lod.core.objects.math;
import java.nio.FloatBuffer;
diff --git a/src/main/java/com/seibel/lod/objects/math/Vec3f.java b/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java
similarity index 98%
rename from src/main/java/com/seibel/lod/objects/math/Vec3f.java
rename to src/main/java/com/seibel/lod/core/objects/math/Vec3f.java
index 202ef0449..02e16b42e 100644
--- a/src/main/java/com/seibel/lod/objects/math/Vec3f.java
+++ b/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java
@@ -17,9 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.math;
+package com.seibel.lod.core.objects.math;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.util.LodUtil;
/**
* A (almost) exact copy of Minecraft's 1.16.5
diff --git a/src/main/java/com/seibel/lod/objects/math/Vec3i.java b/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java
similarity index 98%
rename from src/main/java/com/seibel/lod/objects/math/Vec3i.java
rename to src/main/java/com/seibel/lod/core/objects/math/Vec3i.java
index c44bbad24..b8033c3b9 100644
--- a/src/main/java/com/seibel/lod/objects/math/Vec3i.java
+++ b/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java
@@ -17,9 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.math;
+package com.seibel.lod.core.objects.math;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.util.LodUtil;
import net.minecraft.util.math.vector.Vector3i;
diff --git a/src/main/java/com/seibel/lod/objects/opengl/DefaultLodVertexFormats.java b/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java
similarity index 98%
rename from src/main/java/com/seibel/lod/objects/opengl/DefaultLodVertexFormats.java
rename to src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java
index ee06f9325..5b744b3c0 100644
--- a/src/main/java/com/seibel/lod/objects/opengl/DefaultLodVertexFormats.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.objects.opengl;
+package com.seibel.lod.core.objects.opengl;
import com.google.common.collect.ImmutableList;
diff --git a/src/main/java/com/seibel/lod/objects/opengl/LodBufferBuilder.java b/src/main/java/com/seibel/lod/core/objects/opengl/LodBufferBuilder.java
similarity index 99%
rename from src/main/java/com/seibel/lod/objects/opengl/LodBufferBuilder.java
rename to src/main/java/com/seibel/lod/core/objects/opengl/LodBufferBuilder.java
index 3fa22c744..f6b99aedf 100644
--- a/src/main/java/com/seibel/lod/objects/opengl/LodBufferBuilder.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/LodBufferBuilder.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.objects.opengl;
+package com.seibel.lod.core.objects.opengl;
import java.nio.Buffer;
import java.nio.ByteBuffer;
diff --git a/src/main/java/com/seibel/lod/objects/opengl/LodVertexBuffer.java b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexBuffer.java
similarity index 86%
rename from src/main/java/com/seibel/lod/objects/opengl/LodVertexBuffer.java
rename to src/main/java/com/seibel/lod/core/objects/opengl/LodVertexBuffer.java
index 0657701b6..1e56012c3 100644
--- a/src/main/java/com/seibel/lod/objects/opengl/LodVertexBuffer.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexBuffer.java
@@ -1,9 +1,9 @@
-package com.seibel.lod.objects.opengl;
+package com.seibel.lod.core.objects.opengl;
import org.lwjgl.opengl.GL15;
-import com.seibel.lod.enums.rendering.GlProxyContext;
-import com.seibel.lod.render.GlProxy;
+import com.seibel.lod.core.enums.rendering.GlProxyContext;
+import com.seibel.lod.core.render.GlProxy;
/**
* a (almost) exact copy of MC's
diff --git a/src/main/java/com/seibel/lod/objects/opengl/LodVertexFormat.java b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java
similarity index 98%
rename from src/main/java/com/seibel/lod/objects/opengl/LodVertexFormat.java
rename to src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java
index c135fea6e..ab6fe76eb 100644
--- a/src/main/java/com/seibel/lod/objects/opengl/LodVertexFormat.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.objects.opengl;
+package com.seibel.lod.core.objects.opengl;
import java.util.stream.Collectors;
diff --git a/src/main/java/com/seibel/lod/objects/opengl/LodVertexFormatElement.java b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java
similarity index 98%
rename from src/main/java/com/seibel/lod/objects/opengl/LodVertexFormatElement.java
rename to src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java
index b132dc54e..cdbf61441 100644
--- a/src/main/java/com/seibel/lod/objects/opengl/LodVertexFormatElement.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.objects.opengl;
+package com.seibel.lod.core.objects.opengl;
import org.lwjgl.opengl.GL11;
diff --git a/src/main/java/com/seibel/lod/objects/rending/NearFarFogSettings.java b/src/main/java/com/seibel/lod/core/objects/rending/NearFarFogSettings.java
similarity index 91%
rename from src/main/java/com/seibel/lod/objects/rending/NearFarFogSettings.java
rename to src/main/java/com/seibel/lod/core/objects/rending/NearFarFogSettings.java
index f73942635..d7d542d86 100644
--- a/src/main/java/com/seibel/lod/objects/rending/NearFarFogSettings.java
+++ b/src/main/java/com/seibel/lod/core/objects/rending/NearFarFogSettings.java
@@ -17,10 +17,10 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.objects.rending;
+package com.seibel.lod.core.objects.rending;
-import com.seibel.lod.enums.rendering.FogDistance;
-import com.seibel.lod.enums.rendering.FogQuality;
+import com.seibel.lod.core.enums.rendering.FogDistance;
+import com.seibel.lod.core.enums.rendering.FogQuality;
/**
* This object is just a replacement for an array
diff --git a/src/main/java/com/seibel/lod/render/GlProxy.java b/src/main/java/com/seibel/lod/core/render/GlProxy.java
similarity index 98%
rename from src/main/java/com/seibel/lod/render/GlProxy.java
rename to src/main/java/com/seibel/lod/core/render/GlProxy.java
index 65506870c..62c761a91 100644
--- a/src/main/java/com/seibel/lod/render/GlProxy.java
+++ b/src/main/java/com/seibel/lod/core/render/GlProxy.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.render;
+package com.seibel.lod.core.render;
import org.lwjgl.glfw.GLFW;
import org.lwjgl.opengl.GL;
@@ -30,9 +30,9 @@ import com.mojang.blaze3d.systems.IRenderCall;
import com.mojang.blaze3d.systems.RenderSystem;
import com.seibel.lod.ModInfo;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.enums.rendering.GlProxyContext;
-import com.seibel.lod.render.shader.LodShader;
-import com.seibel.lod.render.shader.LodShaderProgram;
+import com.seibel.lod.core.enums.rendering.GlProxyContext;
+import com.seibel.lod.core.render.shader.LodShader;
+import com.seibel.lod.core.render.shader.LodShaderProgram;
import com.seibel.lod.wrappers.MinecraftWrapper;
/**
diff --git a/src/main/java/com/seibel/lod/render/LodRenderer.java b/src/main/java/com/seibel/lod/core/render/LodRenderer.java
similarity index 96%
rename from src/main/java/com/seibel/lod/render/LodRenderer.java
rename to src/main/java/com/seibel/lod/core/render/LodRenderer.java
index 8b0dd9ca0..a327fe365 100644
--- a/src/main/java/com/seibel/lod/render/LodRenderer.java
+++ b/src/main/java/com/seibel/lod/core/render/LodRenderer.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.render;
+package com.seibel.lod.core.render;
import java.util.HashSet;
@@ -28,23 +28,23 @@ import org.lwjgl.opengl.NVFogDistance;
import com.seibel.lod.api.forge.ForgeConfig;
import com.seibel.lod.api.lod.ApiShared;
-import com.seibel.lod.builders.bufferBuilding.LodBufferBuilderFactory;
-import com.seibel.lod.builders.bufferBuilding.LodBufferBuilderFactory.VertexBuffersAndOffset;
-import com.seibel.lod.enums.config.GpuUploadMethod;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.enums.rendering.FogDistance;
-import com.seibel.lod.enums.rendering.FogDrawOverride;
-import com.seibel.lod.enums.rendering.FogQuality;
-import com.seibel.lod.handlers.ReflectionHandler;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.objects.lod.RegionPos;
-import com.seibel.lod.objects.math.Mat4f;
-import com.seibel.lod.objects.opengl.LodVertexBuffer;
-import com.seibel.lod.objects.rending.NearFarFogSettings;
-import com.seibel.lod.render.shader.LodShaderProgram;
-import com.seibel.lod.util.DetailDistanceUtil;
-import com.seibel.lod.util.LevelPosUtil;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.builders.bufferBuilding.LodBufferBuilderFactory;
+import com.seibel.lod.core.builders.bufferBuilding.LodBufferBuilderFactory.VertexBuffersAndOffset;
+import com.seibel.lod.core.enums.config.GpuUploadMethod;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.enums.rendering.FogDistance;
+import com.seibel.lod.core.enums.rendering.FogDrawOverride;
+import com.seibel.lod.core.enums.rendering.FogQuality;
+import com.seibel.lod.core.handlers.ReflectionHandler;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.objects.lod.RegionPos;
+import com.seibel.lod.core.objects.math.Mat4f;
+import com.seibel.lod.core.objects.opengl.LodVertexBuffer;
+import com.seibel.lod.core.objects.rending.NearFarFogSettings;
+import com.seibel.lod.core.render.shader.LodShaderProgram;
+import com.seibel.lod.core.util.DetailDistanceUtil;
+import com.seibel.lod.core.util.LevelPosUtil;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.McObjectConverter;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
diff --git a/src/main/java/com/seibel/lod/render/RenderUtil.java b/src/main/java/com/seibel/lod/core/render/RenderUtil.java
similarity index 98%
rename from src/main/java/com/seibel/lod/render/RenderUtil.java
rename to src/main/java/com/seibel/lod/core/render/RenderUtil.java
index c3a29a56a..7489bd271 100644
--- a/src/main/java/com/seibel/lod/render/RenderUtil.java
+++ b/src/main/java/com/seibel/lod/core/render/RenderUtil.java
@@ -17,9 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.render;
+package com.seibel.lod.core.render;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
diff --git a/src/main/java/com/seibel/lod/render/shader/LodShader.java b/src/main/java/com/seibel/lod/core/render/shader/LodShader.java
similarity index 98%
rename from src/main/java/com/seibel/lod/render/shader/LodShader.java
rename to src/main/java/com/seibel/lod/core/render/shader/LodShader.java
index edcb31346..dd2b17f88 100644
--- a/src/main/java/com/seibel/lod/render/shader/LodShader.java
+++ b/src/main/java/com/seibel/lod/core/render/shader/LodShader.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.render.shader;
+package com.seibel.lod.core.render.shader;
import java.io.BufferedReader;
import java.io.FileInputStream;
diff --git a/src/main/java/com/seibel/lod/render/shader/LodShaderProgram.java b/src/main/java/com/seibel/lod/core/render/shader/LodShaderProgram.java
similarity index 98%
rename from src/main/java/com/seibel/lod/render/shader/LodShaderProgram.java
rename to src/main/java/com/seibel/lod/core/render/shader/LodShaderProgram.java
index 6a1a58f6e..36e561eea 100644
--- a/src/main/java/com/seibel/lod/render/shader/LodShaderProgram.java
+++ b/src/main/java/com/seibel/lod/core/render/shader/LodShaderProgram.java
@@ -17,14 +17,14 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.render.shader;
+package com.seibel.lod.core.render.shader;
import java.nio.FloatBuffer;
import org.lwjgl.opengl.GL20;
import org.lwjgl.system.MemoryStack;
-import com.seibel.lod.objects.math.Mat4f;
+import com.seibel.lod.core.objects.math.Mat4f;
/**
diff --git a/src/main/java/com/seibel/lod/util/ColorUtil.java b/src/main/java/com/seibel/lod/core/util/ColorUtil.java
similarity index 99%
rename from src/main/java/com/seibel/lod/util/ColorUtil.java
rename to src/main/java/com/seibel/lod/core/util/ColorUtil.java
index 990cbfdcc..a3e6eb875 100644
--- a/src/main/java/com/seibel/lod/util/ColorUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/ColorUtil.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.util;
+package com.seibel.lod.core.util;
import java.awt.Color;
diff --git a/src/main/java/com/seibel/lod/util/DataPointUtil.java b/src/main/java/com/seibel/lod/core/util/DataPointUtil.java
similarity index 98%
rename from src/main/java/com/seibel/lod/util/DataPointUtil.java
rename to src/main/java/com/seibel/lod/core/util/DataPointUtil.java
index 7457c4bf5..5adb977e8 100644
--- a/src/main/java/com/seibel/lod/util/DataPointUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/DataPointUtil.java
@@ -17,11 +17,11 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.util;
+package com.seibel.lod.core.util;
-import static com.seibel.lod.builders.bufferBuilding.LodBufferBuilderFactory.skyLightPlayer;
+import static com.seibel.lod.core.builders.bufferBuilding.LodBufferBuilderFactory.skyLightPlayer;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
/**
*
diff --git a/src/main/java/com/seibel/lod/util/DetailDistanceUtil.java b/src/main/java/com/seibel/lod/core/util/DetailDistanceUtil.java
similarity index 96%
rename from src/main/java/com/seibel/lod/util/DetailDistanceUtil.java
rename to src/main/java/com/seibel/lod/core/util/DetailDistanceUtil.java
index f380806f9..992e2d33e 100644
--- a/src/main/java/com/seibel/lod/util/DetailDistanceUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/DetailDistanceUtil.java
@@ -17,12 +17,12 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.util;
+package com.seibel.lod.core.util;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.enums.config.HorizontalQuality;
-import com.seibel.lod.enums.config.HorizontalResolution;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.HorizontalQuality;
+import com.seibel.lod.core.enums.config.HorizontalResolution;
import com.seibel.lod.wrappers.MinecraftWrapper;
/**
diff --git a/src/main/java/com/seibel/lod/util/LevelPosUtil.java b/src/main/java/com/seibel/lod/core/util/LevelPosUtil.java
similarity index 99%
rename from src/main/java/com/seibel/lod/util/LevelPosUtil.java
rename to src/main/java/com/seibel/lod/core/util/LevelPosUtil.java
index 11cbfc4f4..2dfe29440 100644
--- a/src/main/java/com/seibel/lod/util/LevelPosUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/LevelPosUtil.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.util;
+package com.seibel.lod.core.util;
/**
*
diff --git a/src/main/java/com/seibel/lod/util/LodThreadFactory.java b/src/main/java/com/seibel/lod/core/util/LodThreadFactory.java
similarity index 97%
rename from src/main/java/com/seibel/lod/util/LodThreadFactory.java
rename to src/main/java/com/seibel/lod/core/util/LodThreadFactory.java
index 62369e5bd..c12e8e0ff 100644
--- a/src/main/java/com/seibel/lod/util/LodThreadFactory.java
+++ b/src/main/java/com/seibel/lod/core/util/LodThreadFactory.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.util;
+package com.seibel.lod.core.util;
import java.util.concurrent.ThreadFactory;
diff --git a/src/main/java/com/seibel/lod/util/LodUtil.java b/src/main/java/com/seibel/lod/core/util/LodUtil.java
similarity index 97%
rename from src/main/java/com/seibel/lod/util/LodUtil.java
rename to src/main/java/com/seibel/lod/core/util/LodUtil.java
index 0c8513712..dbce7df7b 100644
--- a/src/main/java/com/seibel/lod/util/LodUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/LodUtil.java
@@ -17,21 +17,21 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.util;
+package com.seibel.lod.core.util;
import java.awt.Color;
import java.io.File;
import java.util.HashSet;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.enums.LodDirection;
-import com.seibel.lod.enums.config.HorizontalResolution;
-import com.seibel.lod.enums.config.VanillaOverdraw;
-import com.seibel.lod.objects.Box;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.objects.lod.RegionPos;
-import com.seibel.lod.objects.opengl.DefaultLodVertexFormats;
-import com.seibel.lod.objects.opengl.LodVertexFormat;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.enums.config.HorizontalResolution;
+import com.seibel.lod.core.enums.config.VanillaOverdraw;
+import com.seibel.lod.core.objects.Box;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.objects.lod.RegionPos;
+import com.seibel.lod.core.objects.opengl.DefaultLodVertexFormats;
+import com.seibel.lod.core.objects.opengl.LodVertexFormat;
import com.seibel.lod.wrappers.MinecraftWrapper;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
diff --git a/src/main/java/com/seibel/lod/util/ThreadMapUtil.java b/src/main/java/com/seibel/lod/core/util/ThreadMapUtil.java
similarity index 98%
rename from src/main/java/com/seibel/lod/util/ThreadMapUtil.java
rename to src/main/java/com/seibel/lod/core/util/ThreadMapUtil.java
index 4ba194e25..03f311b87 100644
--- a/src/main/java/com/seibel/lod/util/ThreadMapUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/ThreadMapUtil.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.util;
+package com.seibel.lod.core.util;
import java.util.Arrays;
import java.util.HashMap;
@@ -25,9 +25,8 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import com.seibel.lod.objects.Box;
-
-import com.seibel.lod.enums.LodDirection;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.objects.Box;
/**
* Holds data used by specific threads so
diff --git a/src/main/java/com/seibel/lod/mixin/MixinWorldRenderer.java b/src/main/java/com/seibel/lod/mixin/MixinWorldRenderer.java
index 6b0c2e3c3..fa130a77c 100644
--- a/src/main/java/com/seibel/lod/mixin/MixinWorldRenderer.java
+++ b/src/main/java/com/seibel/lod/mixin/MixinWorldRenderer.java
@@ -27,7 +27,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.objects.math.Mat4f;
+import com.seibel.lod.core.objects.math.Mat4f;
import com.seibel.lod.wrappers.McObjectConverter;
import net.minecraft.client.renderer.RenderType;
diff --git a/src/main/java/com/seibel/lod/wrappers/McObjectConverter.java b/src/main/java/com/seibel/lod/wrappers/McObjectConverter.java
index 9ad4c073b..a77d70aa7 100644
--- a/src/main/java/com/seibel/lod/wrappers/McObjectConverter.java
+++ b/src/main/java/com/seibel/lod/wrappers/McObjectConverter.java
@@ -21,8 +21,8 @@ package com.seibel.lod.wrappers;
import java.nio.FloatBuffer;
-import com.seibel.lod.enums.LodDirection;
-import com.seibel.lod.objects.math.Mat4f;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.objects.math.Mat4f;
import net.minecraft.util.Direction;
import net.minecraft.util.math.vector.Matrix4f;
diff --git a/src/main/java/com/seibel/lod/wrappers/MinecraftWrapper.java b/src/main/java/com/seibel/lod/wrappers/MinecraftWrapper.java
index 5efd2cc38..412e3f510 100644
--- a/src/main/java/com/seibel/lod/wrappers/MinecraftWrapper.java
+++ b/src/main/java/com/seibel/lod/wrappers/MinecraftWrapper.java
@@ -25,8 +25,8 @@ import java.util.ArrayList;
import com.seibel.lod.ModInfo;
import com.seibel.lod.api.lod.ClientApi;
-import com.seibel.lod.enums.LodDirection;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.enums.LodDirection;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
import com.seibel.lod.wrappers.world.DimensionTypeWrapper;
diff --git a/src/main/java/com/seibel/lod/wrappers/block/BlockColorWrapper.java b/src/main/java/com/seibel/lod/wrappers/block/BlockColorWrapper.java
index 259919a2c..2fc42721a 100644
--- a/src/main/java/com/seibel/lod/wrappers/block/BlockColorWrapper.java
+++ b/src/main/java/com/seibel/lod/wrappers/block/BlockColorWrapper.java
@@ -6,7 +6,7 @@ import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import com.seibel.lod.util.ColorUtil;
+import com.seibel.lod.core.util.ColorUtil;
import com.seibel.lod.wrappers.MinecraftWrapper;
import net.minecraft.block.AbstractPlantBlock;
diff --git a/src/main/java/com/seibel/lod/wrappers/block/BlockPosWrapper.java b/src/main/java/com/seibel/lod/wrappers/block/BlockPosWrapper.java
index 5eb39473e..e5b4409cf 100644
--- a/src/main/java/com/seibel/lod/wrappers/block/BlockPosWrapper.java
+++ b/src/main/java/com/seibel/lod/wrappers/block/BlockPosWrapper.java
@@ -1,9 +1,10 @@
package com.seibel.lod.wrappers.block;
-import com.seibel.lod.enums.LodDirection;
import net.minecraft.util.math.BlockPos;
import java.util.Objects;
+import com.seibel.lod.core.enums.LodDirection;
+
public class BlockPosWrapper {
private final BlockPos.Mutable blockPos;
diff --git a/src/main/java/com/seibel/lod/wrappers/chunk/ChunkWrapper.java b/src/main/java/com/seibel/lod/wrappers/chunk/ChunkWrapper.java
index db9fffd60..9fd96e73b 100644
--- a/src/main/java/com/seibel/lod/wrappers/chunk/ChunkWrapper.java
+++ b/src/main/java/com/seibel/lod/wrappers/chunk/ChunkWrapper.java
@@ -1,6 +1,6 @@
package com.seibel.lod.wrappers.chunk;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.block.BlockColorWrapper;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import com.seibel.lod.wrappers.block.BlockShapeWrapper;
diff --git a/src/main/java/com/seibel/lod/wrappers/config/LodConfigWrapper.java b/src/main/java/com/seibel/lod/wrappers/config/LodConfigWrapper.java
index 774ece8c3..f04b0554f 100644
--- a/src/main/java/com/seibel/lod/wrappers/config/LodConfigWrapper.java
+++ b/src/main/java/com/seibel/lod/wrappers/config/LodConfigWrapper.java
@@ -1,20 +1,20 @@
package com.seibel.lod.wrappers.config;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.enums.config.BlockToAvoid;
-import com.seibel.lod.enums.config.BufferRebuildTimes;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.enums.config.GenerationPriority;
-import com.seibel.lod.enums.config.GpuUploadMethod;
-import com.seibel.lod.enums.config.HorizontalQuality;
-import com.seibel.lod.enums.config.HorizontalResolution;
-import com.seibel.lod.enums.config.HorizontalScale;
-import com.seibel.lod.enums.config.LodTemplate;
-import com.seibel.lod.enums.config.VanillaOverdraw;
-import com.seibel.lod.enums.config.VerticalQuality;
-import com.seibel.lod.enums.rendering.DebugMode;
-import com.seibel.lod.enums.rendering.FogDistance;
-import com.seibel.lod.enums.rendering.FogDrawOverride;
+import com.seibel.lod.core.enums.config.BlockToAvoid;
+import com.seibel.lod.core.enums.config.BufferRebuildTimes;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.enums.config.GenerationPriority;
+import com.seibel.lod.core.enums.config.GpuUploadMethod;
+import com.seibel.lod.core.enums.config.HorizontalQuality;
+import com.seibel.lod.core.enums.config.HorizontalResolution;
+import com.seibel.lod.core.enums.config.HorizontalScale;
+import com.seibel.lod.core.enums.config.LodTemplate;
+import com.seibel.lod.core.enums.config.VanillaOverdraw;
+import com.seibel.lod.core.enums.config.VerticalQuality;
+import com.seibel.lod.core.enums.rendering.DebugMode;
+import com.seibel.lod.core.enums.rendering.FogDistance;
+import com.seibel.lod.core.enums.rendering.FogDrawOverride;
/**
* This holds the config defaults and setters/getters
diff --git a/src/main/java/com/seibel/lod/wrappers/world/BiomeWrapper.java b/src/main/java/com/seibel/lod/wrappers/world/BiomeWrapper.java
index e673a7de7..ebc57f350 100644
--- a/src/main/java/com/seibel/lod/wrappers/world/BiomeWrapper.java
+++ b/src/main/java/com/seibel/lod/wrappers/world/BiomeWrapper.java
@@ -1,6 +1,6 @@
package com.seibel.lod.wrappers.world;
-import com.seibel.lod.util.ColorUtil;
+import com.seibel.lod.core.util.ColorUtil;
import com.seibel.lod.wrappers.block.BlockColorWrapper;
import net.minecraft.block.Blocks;
diff --git a/src/main/java/com/seibel/lod/wrappers/world/WorldWrapper.java b/src/main/java/com/seibel/lod/wrappers/world/WorldWrapper.java
index f0c1ef89e..59101a8af 100644
--- a/src/main/java/com/seibel/lod/wrappers/world/WorldWrapper.java
+++ b/src/main/java/com/seibel/lod/wrappers/world/WorldWrapper.java
@@ -4,7 +4,7 @@ import java.io.File;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import com.seibel.lod.enums.WorldType;
+import com.seibel.lod.core.enums.WorldType;
import com.seibel.lod.wrappers.block.BlockPosWrapper;
import net.minecraft.client.world.ClientWorld;
diff --git a/src/main/java/com/seibel/lod/wrappers/worldGeneration/LodServerWorld.java b/src/main/java/com/seibel/lod/wrappers/worldGeneration/LodServerWorld.java
index bbb103501..c526e92c2 100644
--- a/src/main/java/com/seibel/lod/wrappers/worldGeneration/LodServerWorld.java
+++ b/src/main/java/com/seibel/lod/wrappers/worldGeneration/LodServerWorld.java
@@ -25,7 +25,7 @@ import java.util.Random;
import java.util.function.Predicate;
import java.util.stream.Stream;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.util.LodUtil;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
diff --git a/src/main/java/com/seibel/lod/wrappers/worldGeneration/WorldGeneratorWrapper.java b/src/main/java/com/seibel/lod/wrappers/worldGeneration/WorldGeneratorWrapper.java
index fe7ae9cbc..5367a9a92 100644
--- a/src/main/java/com/seibel/lod/wrappers/worldGeneration/WorldGeneratorWrapper.java
+++ b/src/main/java/com/seibel/lod/wrappers/worldGeneration/WorldGeneratorWrapper.java
@@ -8,11 +8,11 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Supplier;
import com.seibel.lod.api.forge.ForgeConfig;
-import com.seibel.lod.builders.lodBuilding.LodBuilder;
-import com.seibel.lod.builders.lodBuilding.LodBuilderConfig;
-import com.seibel.lod.enums.config.DistanceGenerationMode;
-import com.seibel.lod.objects.lod.LodDimension;
-import com.seibel.lod.util.LodUtil;
+import com.seibel.lod.core.builders.lodBuilding.LodBuilder;
+import com.seibel.lod.core.builders.lodBuilding.LodBuilderConfig;
+import com.seibel.lod.core.enums.config.DistanceGenerationMode;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.wrappers.chunk.ChunkPosWrapper;
import com.seibel.lod.wrappers.chunk.ChunkWrapper;
import com.seibel.lod.wrappers.world.WorldWrapper;