diff --git a/src/main/java/com/seibel/lod/core/api/ClientApi.java b/src/main/java/com/seibel/lod/core/api/ClientApi.java
index 3a769159e..db9d2aecf 100644
--- a/src/main/java/com/seibel/lod/core/api/ClientApi.java
+++ b/src/main/java/com/seibel/lod/core/api/ClientApi.java
@@ -29,12 +29,12 @@ 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.SingletonHandler;
import com.seibel.lod.core.util.ThreadMapUtil;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftRenderWrapper;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IProfilerWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper;
/**
* This holds the methods that should be called
diff --git a/src/main/java/com/seibel/lod/core/api/EventApi.java b/src/main/java/com/seibel/lod/core/api/EventApi.java
index d11faeb5f..96e4d381a 100644
--- a/src/main/java/com/seibel/lod/core/api/EventApi.java
+++ b/src/main/java/com/seibel/lod/core/api/EventApi.java
@@ -29,13 +29,13 @@ 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.SingletonHandler;
import com.seibel.lod.core.util.ThreadMapUtil;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.chunk.IChunkWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IDimensionTypeWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
/**
* This holds the methods that should be called
diff --git a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/LodBufferBuilderFactory.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/LodBufferBuilderFactory.java
index 279bcc2e7..9725276b1 100644
--- a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/LodBufferBuilderFactory.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/LodBufferBuilderFactory.java
@@ -55,13 +55,13 @@ 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.SingletonHandler;
import com.seibel.lod.core.util.ThreadMapUtil;
-import com.seibel.lod.core.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
/**
* This object creates the buffers that are
diff --git a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java
index 6c24bbec6..41239212e 100644
--- a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/AbstractLodTemplate.java
@@ -26,7 +26,7 @@ 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.wrapperAdapters.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
/**
* This is the abstract class used to create different
diff --git a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java
index deed68908..29e3fda66 100644
--- a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/CubicLodTemplate.java
@@ -28,7 +28,7 @@ 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.core.wrapperAdapters.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
/**
* Builds LODs as rectangular prisms.
diff --git a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java
index dfd6ae9a5..e53fd85d2 100644
--- a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/DynamicLodTemplate.java
@@ -26,7 +26,7 @@ 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.wrapperAdapters.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
/**
* TODO DynamicLodTemplate
diff --git a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java
index 84c8aa503..ffe8c2679 100644
--- a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java
+++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/lodTemplates/TriangularLodTemplate.java
@@ -26,7 +26,7 @@ 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.wrapperAdapters.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
/**
* TODO #21 TriangularLodTemplate
diff --git a/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilder.java b/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilder.java
index ef2659ec1..4a7d9efd5 100644
--- a/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilder.java
+++ b/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilder.java
@@ -33,20 +33,20 @@ 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.SingletonHandler;
import com.seibel.lod.core.util.ThreadMapUtil;
-import com.seibel.lod.core.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockColorSingletonWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockColorWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockShapeWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.IChunkWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IBiomeWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IDimensionTypeWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockColorSingletonWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockColorWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockShapeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
/**
* This object is in charge of creating Lod related objects.
diff --git a/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodGenWorker.java b/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodGenWorker.java
index 544640195..82802e062 100644
--- a/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodGenWorker.java
+++ b/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodGenWorker.java
@@ -28,12 +28,12 @@ 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.core.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
-import com.seibel.lod.core.wrapperAdapters.worldGeneration.AbstractWorldGeneratorWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.worldGeneration.AbstractWorldGeneratorWrapper;
/**
* This is used to generate a LodChunk at a given ChunkPos.
diff --git a/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodWorldGenerator.java b/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodWorldGenerator.java
index a6ff68876..e97498c7c 100644
--- a/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodWorldGenerator.java
+++ b/src/main/java/com/seibel/lod/core/builders/worldGeneration/LodWorldGenerator.java
@@ -34,12 +34,12 @@ 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.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
/**
* A singleton that handles all long distance LOD world generation.
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/handlers/IReflectionHandler.java b/src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java
similarity index 74%
rename from src/main/java/com/seibel/lod/core/wrapperAdapters/handlers/IReflectionHandler.java
rename to src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java
index d1b8839e7..fe0da0f80 100644
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/handlers/IReflectionHandler.java
+++ b/src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.wrapperAdapters.handlers;
+package com.seibel.lod.core.handlers;
import com.seibel.lod.core.enums.rendering.FogQuality;
import com.seibel.lod.core.objects.math.Mat4f;
@@ -25,21 +25,24 @@ import com.seibel.lod.core.objects.math.Mat4f;
/**
* A singleton used to get variables from methods
* where they are private or potentially absent.
- * Specifically the fog setting in Optifine or the
+ * Specifically the fog setting used by Optifine or the
* presence/absence of other mods.
+ *
+ * This interface doesn't necessarily have to exist, but
+ * it makes using the singleton handler more uniform (always
+ * passing in interfaces), and it may be needed in the future if
+ * we find that reflection handlers need to be different for
+ * different MC versions.
*
* @author James Seibel
- * @version 11-18-2021
+ * @version 11-20-2021
*/
public interface IReflectionHandler
{
- /**
- * Get what type of fog optifine is currently set to render.
- * @return the fog quality
- */
+ /** @returns the type of fog optifine is currently set to render. */
public FogQuality getFogQuality();
- /** Detect if Vivecraft is present. Attempts to find the "VRRenderer" class. */
+ /** @returns if Vivecraft is present. Attempts to find the "VRRenderer" class. */
public boolean vivecraftPresent();
/**
diff --git a/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java b/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java
index a32d3f048..f9caae835 100644
--- a/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java
+++ b/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java
@@ -27,7 +27,6 @@ import org.apache.logging.log4j.Logger;
import com.seibel.lod.core.ModInfo;
import com.seibel.lod.core.enums.rendering.FogQuality;
import com.seibel.lod.core.objects.math.Mat4f;
-import com.seibel.lod.core.wrapperAdapters.handlers.IReflectionHandler;
/**
* A singleton used to get variables from methods
diff --git a/src/main/java/com/seibel/lod/core/objects/Box.java b/src/main/java/com/seibel/lod/core/objects/Box.java
index 9ecfec9c2..a617daefb 100644
--- a/src/main/java/com/seibel/lod/core/objects/Box.java
+++ b/src/main/java/com/seibel/lod/core/objects/Box.java
@@ -29,13 +29,14 @@ 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.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
/**
* Similar to Minecraft's AxisAlignedBoundingBox.
+ *
* @author Leonardo Amato
* @version 10-2-2021
*/
diff --git a/src/main/java/com/seibel/lod/core/objects/MinDefaultMax.java b/src/main/java/com/seibel/lod/core/objects/MinDefaultMax.java
index 95f69ab39..e16f0d21b 100644
--- a/src/main/java/com/seibel/lod/core/objects/MinDefaultMax.java
+++ b/src/main/java/com/seibel/lod/core/objects/MinDefaultMax.java
@@ -1,3 +1,22 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.core.objects;
/**
@@ -5,7 +24,7 @@ package com.seibel.lod.core.objects;
*
* @author James Seibel
* @version 11-14-2021
- * @param The type of data this object is storing
+ * @param The data type this object is storing
*/
public class MinDefaultMax
{
diff --git a/src/main/java/com/seibel/lod/core/objects/PosToRenderContainer.java b/src/main/java/com/seibel/lod/core/objects/PosToRenderContainer.java
index 45e064ac5..5a42e7212 100644
--- a/src/main/java/com/seibel/lod/core/objects/PosToRenderContainer.java
+++ b/src/main/java/com/seibel/lod/core/objects/PosToRenderContainer.java
@@ -26,6 +26,8 @@ import com.seibel.lod.core.util.LevelPosUtil;
import com.seibel.lod.core.util.LodUtil;
/**
+ * Holds a levelPos that needs to be rendered.
+ *
* @author Leonardo Amato
* @version 9-18-2021
*/
diff --git a/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java b/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java
index 9a4dea5ef..0180b8434 100644
--- a/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java
@@ -35,13 +35,13 @@ 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.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IDimensionTypeWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
diff --git a/src/main/java/com/seibel/lod/core/objects/lod/LodWorld.java b/src/main/java/com/seibel/lod/core/objects/lod/LodWorld.java
index add724432..9897d297d 100644
--- a/src/main/java/com/seibel/lod/core/objects/lod/LodWorld.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/LodWorld.java
@@ -23,7 +23,7 @@ import java.util.Hashtable;
import java.util.Map;
import com.seibel.lod.core.api.ClientApi;
-import com.seibel.lod.core.wrapperAdapters.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
/**
* This stores all LODs for a given world.
diff --git a/src/main/java/com/seibel/lod/core/objects/lod/RegionPos.java b/src/main/java/com/seibel/lod/core/objects/lod/RegionPos.java
index 265424a95..f50754d02 100644
--- a/src/main/java/com/seibel/lod/core/objects/lod/RegionPos.java
+++ b/src/main/java/com/seibel/lod/core/objects/lod/RegionPos.java
@@ -20,10 +20,10 @@
package com.seibel.lod.core.objects.lod;
import com.seibel.lod.core.util.LodUtil;
-import com.seibel.lod.core.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
/**
* This object is similar to ChunkPos or BlockPos.
diff --git a/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java b/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java
index 34a8bd6ff..9d843ddf4 100644
--- a/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java
+++ b/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java
@@ -23,7 +23,7 @@ import java.nio.FloatBuffer;
/**
* A (almost) exact copy of Minecraft's 1.16.5
- * implementation of a 4x4 matrix.
+ * implementation of a 4x4 float matrix.
*
* @author James Seibel
* @version 11-11-2021
diff --git a/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java b/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java
index 02e16b42e..fe25d8889 100644
--- a/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java
+++ b/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java
@@ -23,7 +23,7 @@ import com.seibel.lod.core.util.LodUtil;
/**
* A (almost) exact copy of Minecraft's 1.16.5
- * implementation of a 3 element vector.
+ * implementation of a 3 element float vector.
*
* @author James Seibel
* @version 11-11-2021
diff --git a/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java b/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java
index 3ba53c2a4..a65a404f0 100644
--- a/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java
+++ b/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java
@@ -23,7 +23,7 @@ import com.seibel.lod.core.util.LodUtil;
/**
* A (almost) exact copy of Minecraft's 1.16.5
- * implementation of a 3 element vector.
+ * implementation of a 3 element integer vector.
*
* @author James Seibel
* @version 11-11-2021
diff --git a/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java b/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java
index 5b744b3c0..116ed0f0c 100644
--- a/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java
@@ -1,3 +1,22 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.core.objects.opengl;
import com.google.common.collect.ImmutableList;
diff --git a/src/main/java/com/seibel/lod/core/objects/opengl/LodBufferBuilder.java b/src/main/java/com/seibel/lod/core/objects/opengl/LodBufferBuilder.java
index f6b99aedf..a017591a0 100644
--- a/src/main/java/com/seibel/lod/core/objects/opengl/LodBufferBuilder.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/LodBufferBuilder.java
@@ -1,3 +1,22 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.core.objects.opengl;
import java.nio.Buffer;
@@ -16,7 +35,9 @@ import com.google.common.collect.Lists;
/**
* A (almost) exact copy of Minecraft's
- * BufferBuilder object.
+ * BufferBuilder object.
+ * Which allows for creating and filling
+ * OpenGL buffers.
*
* @author James Seibel
* @version 11-13-2021
diff --git a/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexBuffer.java b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexBuffer.java
index 1e56012c3..4b73d53f9 100644
--- a/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexBuffer.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexBuffer.java
@@ -1,3 +1,22 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.core.objects.opengl;
import org.lwjgl.opengl.GL15;
@@ -6,11 +25,11 @@ import com.seibel.lod.core.enums.rendering.GlProxyContext;
import com.seibel.lod.core.render.GlProxy;
/**
- * a (almost) exact copy of MC's
- * VertexBuffer object.
+ * This is a container for a OpenGL
+ * VBO (Vertex Buffer Object).
*
* @author James Seibel
- * @version 11-13-2021
+ * @version 11-20-2021
*/
public class LodVertexBuffer implements AutoCloseable
{
@@ -31,10 +50,7 @@ public class LodVertexBuffer implements AutoCloseable
{
if (this.id >= 0)
{
- if (GlProxy.getInstance().getGlContext() == GlProxyContext.NONE)
- throw new IllegalStateException("Thread [" +Thread.currentThread().getName() + "] tried to close the [" + LodVertexBuffer.class.getSimpleName() + "] with id [" + this.id + "] outside a OpenGL contex.");
-
- GL15.glDeleteBuffers(this.id);
+ GlProxy.getInstance().recordOpenGlCall(() -> GL15.glDeleteBuffers(this.id));
this.id = -1;
}
}
diff --git a/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java
index ab6fe76eb..c0281b6b2 100644
--- a/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java
@@ -1,3 +1,22 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.core.objects.opengl;
import java.util.stream.Collectors;
@@ -8,6 +27,9 @@ import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.ints.IntList;
/**
+ * This is used to represent a single vertex
+ * stored in GPU memory,
+ *
* A (almost) exact copy of Minecraft's
* VertexFormat class, several methods
* were commented out since we didn't need them.
@@ -139,7 +161,7 @@ public class LodVertexFormat
*/
- /* not currently needed has Position/Normal/Color/UV
+ /* not currently needed has-Position/Normal/Color/UV
public boolean hasPosition()
{
return elements.stream().anyMatch(e -> e.getUsage() == LodVertexFormatElement.Usage.POSITION);
diff --git a/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java
index cdbf61441..65e892a6b 100644
--- a/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java
+++ b/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java
@@ -1,10 +1,31 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.core.objects.opengl;
import org.lwjgl.opengl.GL11;
/**
+ * This object is used to build LodVertexFormats.
+ *
* A (almost) exact copy of Minecraft's
- * VertexFormatElement class.
+ * VertexFormatElement class.
* A number of things were removed from the original
* object since we didn't need them, specifically "usage".
*
diff --git a/src/main/java/com/seibel/lod/core/render/GlProxy.java b/src/main/java/com/seibel/lod/core/render/GlProxy.java
index 0c70020a9..0befb13b4 100644
--- a/src/main/java/com/seibel/lod/core/render/GlProxy.java
+++ b/src/main/java/com/seibel/lod/core/render/GlProxy.java
@@ -35,8 +35,8 @@ import com.seibel.lod.core.api.ClientApi;
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.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
/**
* A singleton that holds references to different openGL contexts
diff --git a/src/main/java/com/seibel/lod/core/render/LodRenderer.java b/src/main/java/com/seibel/lod/core/render/LodRenderer.java
index e64e3f9e9..eb9ad3dd1 100644
--- a/src/main/java/com/seibel/lod/core/render/LodRenderer.java
+++ b/src/main/java/com/seibel/lod/core/render/LodRenderer.java
@@ -33,6 +33,7 @@ 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.IReflectionHandler;
import com.seibel.lod.core.objects.lod.LodDimension;
import com.seibel.lod.core.objects.lod.RegionPos;
import com.seibel.lod.core.objects.math.Mat4f;
@@ -44,14 +45,13 @@ 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.core.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.handlers.IReflectionHandler;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IProfilerWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper;
import com.seibel.lod.forge.wrappers.minecraft.MinecraftRenderWrapper;
/**
diff --git a/src/main/java/com/seibel/lod/core/render/RenderUtil.java b/src/main/java/com/seibel/lod/core/render/RenderUtil.java
index de0909eb0..b3dd210cf 100644
--- a/src/main/java/com/seibel/lod/core/render/RenderUtil.java
+++ b/src/main/java/com/seibel/lod/core/render/RenderUtil.java
@@ -21,8 +21,8 @@ package com.seibel.lod.core.render;
import com.seibel.lod.core.objects.math.Vec3f;
import com.seibel.lod.core.util.LodUtil;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
import com.seibel.lod.forge.wrappers.minecraft.MinecraftRenderWrapper;
/**
diff --git a/src/main/java/com/seibel/lod/core/util/ColorUtil.java b/src/main/java/com/seibel/lod/core/util/ColorUtil.java
index 012e7088d..1933246d2 100644
--- a/src/main/java/com/seibel/lod/core/util/ColorUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/ColorUtil.java
@@ -21,8 +21,7 @@ package com.seibel.lod.core.util;
import java.awt.Color;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
/**
*
diff --git a/src/main/java/com/seibel/lod/core/util/DetailDistanceUtil.java b/src/main/java/com/seibel/lod/core/util/DetailDistanceUtil.java
index 0f58b8682..981327270 100644
--- a/src/main/java/com/seibel/lod/core/util/DetailDistanceUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/DetailDistanceUtil.java
@@ -22,8 +22,7 @@ package com.seibel.lod.core.util;
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.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
import com.seibel.lod.forge.wrappers.minecraft.MinecraftRenderWrapper;
/**
diff --git a/src/main/java/com/seibel/lod/core/util/LodUtil.java b/src/main/java/com/seibel/lod/core/util/LodUtil.java
index 6a4b9a793..1dcd2cdea 100644
--- a/src/main/java/com/seibel/lod/core/util/LodUtil.java
+++ b/src/main/java/com/seibel/lod/core/util/LodUtil.java
@@ -31,14 +31,13 @@ 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.core.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IDimensionTypeWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
import com.seibel.lod.forge.wrappers.minecraft.MinecraftRenderWrapper;
/**
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/SingletonHandler.java b/src/main/java/com/seibel/lod/core/util/SingletonHandler.java
similarity index 67%
rename from src/main/java/com/seibel/lod/core/wrapperAdapters/SingletonHandler.java
rename to src/main/java/com/seibel/lod/core/util/SingletonHandler.java
index 7bb59085e..cb6791660 100644
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/SingletonHandler.java
+++ b/src/main/java/com/seibel/lod/core/util/SingletonHandler.java
@@ -1,4 +1,23 @@
-package com.seibel.lod.core.wrapperAdapters;
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.util;
import java.util.HashMap;
import java.util.Map;
@@ -8,7 +27,7 @@ import java.util.Map;
* for singletons.
*
* @author James Seibel
- * @version 11-15-2021
+ * @version 11-20-2021
*/
public class SingletonHandler
{
@@ -66,10 +85,10 @@ public class SingletonHandler
@SuppressWarnings("unchecked")
public static T get(Class objectClass) throws NullPointerException, ClassCastException
{
- //
+ // throw an error if the given singleton doesn't exist.
if (!singletons.containsKey(objectClass))
{
- throw new NullPointerException("The singleton [" + objectClass.getSimpleName() + "] was never bound.");
+ throw new NullPointerException("The singleton [" + objectClass.getSimpleName() + "] was never bound. If you are calling [bind], make sure it is happening before you call [get].");
}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/IWrapperFactory.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/IWrapperFactory.java
deleted file mode 100644
index 72d9c6896..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/IWrapperFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters;
-
-import com.seibel.lod.core.builders.lodBuilding.LodBuilder;
-import com.seibel.lod.core.objects.lod.LodDimension;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
-import com.seibel.lod.core.wrapperAdapters.worldGeneration.AbstractWorldGeneratorWrapper;
-
-/**
- * This handles creating abstract wrapper objects.
- *
- * @author James Seibel
- * @version 11-18-2021
- */
-public interface IWrapperFactory
-{
- public AbstractBlockPosWrapper createBlockPos();
- public AbstractBlockPosWrapper createBlockPos(int x, int y, int z);
-
-
- public AbstractChunkPosWrapper createChunkPos();
- public AbstractChunkPosWrapper createChunkPos(int x, int z);
- public AbstractChunkPosWrapper createChunkPos(AbstractChunkPosWrapper newChunkPos);
- public AbstractChunkPosWrapper createChunkPos(AbstractBlockPosWrapper blockPos);
-
-
- public AbstractWorldGeneratorWrapper createWorldGenerator(LodBuilder newLodBuilder, LodDimension newLodDimension, IWorldWrapper worldWrapper);
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/block/AbstractBlockPosWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/block/AbstractBlockPosWrapper.java
deleted file mode 100644
index 1ded1f571..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/block/AbstractBlockPosWrapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.block;
-
-import com.seibel.lod.core.enums.LodDirection;
-
-public abstract class AbstractBlockPosWrapper
-{
- public AbstractBlockPosWrapper() { }
- public AbstractBlockPosWrapper(int x, int y, int z) { }
-
-
-
- public abstract void set(int x, int y, int z);
-
- public abstract int getX();
- public abstract int getY();
- public abstract int getZ();
-
- public abstract int get(LodDirection.Axis axis);
-
- /** returns itself */
- public abstract AbstractBlockPosWrapper offset(int x, int y, int z);
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockColorSingletonWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockColorSingletonWrapper.java
deleted file mode 100644
index 7ac448d8e..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockColorSingletonWrapper.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.block;
-
-/**
- * Contains the static methods for IBlockColorWrapper
- *
- * @author James Seibel
- * @version 11-17-2021
- */
-public interface IBlockColorSingletonWrapper
-{
- /** returns the base color of water (grey value) */
- public IBlockColorWrapper getWaterColor();
-}
-
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockColorWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockColorWrapper.java
deleted file mode 100644
index 6d9506bf5..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockColorWrapper.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.block;
-
-/**
- * This class wraps the minecraft Block class
- *
- * @author James Seibel
- * @version 11-17-2021
- */
-public interface IBlockColorWrapper
-{
- //--------------//
- //Colors getters//
- //--------------//
-
- public boolean hasColor();
-
- public int getColor();
-
-
- //------------//
- //Tint getters//
- //------------//
-
- public boolean hasTint();
-
- public boolean hasGrassTint();
-
- public boolean hasFolliageTint();
-
- public boolean hasWaterTint();
-
-}
-
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockShapeWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockShapeWrapper.java
deleted file mode 100644
index 6bdf7717a..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/block/IBlockShapeWrapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-
-package com.seibel.lod.core.wrapperAdapters.block;
-
-//This class wraps the minecraft Block class
-public interface IBlockShapeWrapper
-{
- public boolean ofBlockToAvoid();
-
- //-----------------//
- //Avoidance getters//
- //-----------------//
-
- public boolean isNonFull();
-
- public boolean hasNoCollision();
-
- public boolean isToAvoid();
-}
\ No newline at end of file
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/chunk/AbstractChunkPosWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/chunk/AbstractChunkPosWrapper.java
deleted file mode 100644
index 3e595c730..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/chunk/AbstractChunkPosWrapper.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.chunk;
-
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-
-
-/**
- * This class wraps minecraft's ChunkPos class
- *
- * @author James Seibel
- * @version 11-18-2021
- */
-public abstract class AbstractChunkPosWrapper
-{
- public AbstractChunkPosWrapper(AbstractChunkPosWrapper newChunkPos) { }
- public AbstractChunkPosWrapper(AbstractBlockPosWrapper blockPos) { }
- public AbstractChunkPosWrapper(int chunkX, int chunkZ) { }
- public AbstractChunkPosWrapper() { }
-
-
-
- public abstract int getX();
- public abstract int getZ();
-
- public abstract int getMinBlockX();
- public abstract int getMinBlockZ();
-
- public abstract int getRegionX();
- public abstract int getRegionZ();
-
- public abstract AbstractBlockPosWrapper getWorldPosition();
-
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/chunk/IChunkWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/chunk/IChunkWrapper.java
deleted file mode 100644
index 3a39f70aa..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/chunk/IChunkWrapper.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.chunk;
-
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockColorWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockShapeWrapper;
-import com.seibel.lod.forge.wrappers.world.BiomeWrapper;
-
-/**
- *
- * @author ??
- * @version 11-17-2021
- */
-public interface IChunkWrapper
-{
- public int getHeight();
-
- public boolean isPositionInWater(AbstractBlockPosWrapper blockPos);
-
- public int getHeightMapValue(int xRel, int zRel);
-
- public BiomeWrapper getBiome(int xRel, int yAbs, int zRel);
-
- public IBlockColorWrapper getBlockColorWrapper(AbstractBlockPosWrapper blockPos);
-
- public IBlockShapeWrapper getBlockShapeWrapper(AbstractBlockPosWrapper blockPos);
-
- public AbstractChunkPosWrapper getPos();
-
- public boolean isLightCorrect();
-
- public boolean isWaterLogged(AbstractBlockPosWrapper blockPos);
-
- public int getEmittedBrightness(AbstractBlockPosWrapper blockPos);
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IMinecraftRenderWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IMinecraftRenderWrapper.java
deleted file mode 100644
index 7124ce9f6..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IMinecraftRenderWrapper.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.minecraft;
-
-import java.util.HashSet;
-
-import com.seibel.lod.core.objects.math.Mat4f;
-import com.seibel.lod.core.objects.math.Vec3d;
-import com.seibel.lod.core.objects.math.Vec3f;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-
-/**
- * Contains everything related to
- * rendering in Minecraft.
- *
- * @author James Seibel
- * @version 11-18-2021
- */
-public interface IMinecraftRenderWrapper
-{
- public Vec3f getLookAtVector();
-
- public AbstractBlockPosWrapper getCameraBlockPosition();
-
- public boolean playerHasBlindnessEffect();
-
- public Vec3d getCameraExactPosition();
-
- public Mat4f getDefaultProjectionMatrix(float partialTicks);
-
- public double getGamma();
-
- public double getFov(float partialTicks);
-
- /** Measured in chunks */
- public int getRenderDistance();
-
- public int getScreenWidth();
- public int getScreenHeight();
-
- /**
- * This method returns the ChunkPos of all chunks that Minecraft
- * is going to render this frame.
- */
- public HashSet getRenderedChunks();
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IProfilerWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IProfilerWrapper.java
deleted file mode 100644
index d277aff72..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IProfilerWrapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.minecraft;
-
-/**
- *
- *
- * @author James Seibel
- * @version 11-20-2021
- */
-public interface IProfilerWrapper
-{
- public void push(String newSection);
-
- public void popPush(String newSection);
-
- public void pop();
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/misc/ILightMapWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/misc/ILightMapWrapper.java
deleted file mode 100644
index 1d71719c7..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/misc/ILightMapWrapper.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.misc;
-
-/**
- *
- * @author Leonardo Amato
- * @version 11-13-2021
- */
-public interface ILightMapWrapper
-{
- public int getLightValue(int skyLight, int blockLight);
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IBiomeWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IBiomeWrapper.java
deleted file mode 100644
index 91d1d2833..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IBiomeWrapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.world;
-
-/**
- * This class wraps the minecraft BlockPos.Mutable (and BlockPos) class
- *
- * @author James Seibel
- * @version 11-15-2021
- */
-public interface IBiomeWrapper
-{
- /** Returns a color int for the given biome. */
- public int getColorForBiome(int x, int z);
-
- public int getGrassTint(int x, int z);
-
- public int getFolliageTint();
-
- public int getWaterTint();
-
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IDimensionTypeWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IDimensionTypeWrapper.java
deleted file mode 100644
index ea07b72df..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IDimensionTypeWrapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.world;
-
-/**
- *
- *
- * @author James Seibel
- * @version 11-15-2021
- */
-public interface IDimensionTypeWrapper
-{
- public String getDimensionName();
-
- public boolean hasCeiling();
-
- public boolean hasSkyLight();
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IWorldWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IWorldWrapper.java
deleted file mode 100644
index 0ca5058a4..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IWorldWrapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.world;
-
-import java.io.File;
-
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-
-/**
- *
- * @author ??
- * @version 11-15-2021
- */
-public interface IWorldWrapper
-{
- public IDimensionTypeWrapper getDimensionType();
-
- public int getBlockLight(AbstractBlockPosWrapper blockPos);
-
- public int getSkyLight(AbstractBlockPosWrapper blockPos);
-
- public IBiomeWrapper getBiome(AbstractBlockPosWrapper blockPos);
-
- public boolean hasCeiling();
-
- public boolean hasSkyLight();
-
- public boolean isEmpty();
-
- public int getHeight();
-
- public int getSeaLevel();
-
- /** @throws UnsupportedOperationException if the WorldWrapper isn't for a ServerWorld */
- public File getSaveFolder() throws UnsupportedOperationException;
-
-
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/worldGeneration/AbstractWorldGeneratorWrapper.java b/src/main/java/com/seibel/lod/core/wrapperAdapters/worldGeneration/AbstractWorldGeneratorWrapper.java
deleted file mode 100644
index 8ca243d57..000000000
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/worldGeneration/AbstractWorldGeneratorWrapper.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.seibel.lod.core.wrapperAdapters.worldGeneration;
-
-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.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
-
-/**
- * This is used for generating chunks
- * in a variety of detail and threading levels.
- *
- * @author James Seibel
- * @version 11-20-2021
- */
-public abstract class AbstractWorldGeneratorWrapper
-{
- public AbstractWorldGeneratorWrapper(LodBuilder newLodBuilder, LodDimension newLodDimension, IWorldWrapper worldWrapper)
- {
-
- }
-
-
- public abstract void generateBiomesOnly(AbstractChunkPosWrapper pos, DistanceGenerationMode generationMode);
-
- public abstract void generateSurface(AbstractChunkPosWrapper pos);
-
- public abstract void generateFeatures(AbstractChunkPosWrapper pos);
-
- public abstract void generateFull(AbstractChunkPosWrapper pos);
-}
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java
new file mode 100644
index 000000000..8aadc4783
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces;
+
+import com.seibel.lod.core.builders.lodBuilding.LodBuilder;
+import com.seibel.lod.core.objects.lod.LodDimension;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.worldGeneration.AbstractWorldGeneratorWrapper;
+
+/**
+ * This handles creating abstract wrapper objects.
+ *
+ * @author James Seibel
+ * @version 11-18-2021
+ */
+public interface IWrapperFactory
+{
+ public AbstractBlockPosWrapper createBlockPos();
+ public AbstractBlockPosWrapper createBlockPos(int x, int y, int z);
+
+
+ public AbstractChunkPosWrapper createChunkPos();
+ public AbstractChunkPosWrapper createChunkPos(int x, int z);
+ public AbstractChunkPosWrapper createChunkPos(AbstractChunkPosWrapper newChunkPos);
+ public AbstractChunkPosWrapper createChunkPos(AbstractBlockPosWrapper blockPos);
+
+
+ public AbstractWorldGeneratorWrapper createWorldGenerator(LodBuilder newLodBuilder, LodDimension newLodDimension, IWorldWrapper worldWrapper);
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/AbstractBlockPosWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/AbstractBlockPosWrapper.java
new file mode 100644
index 000000000..880606d4d
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/AbstractBlockPosWrapper.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.block;
+
+import com.seibel.lod.core.enums.LodDirection;
+
+/**
+ * BlockPos needs to be abstract instead of a interfaces
+ * so that we can define its constructors.
+ *
+ * @author James Seibel
+ * @version 11-20-2021
+ */
+public abstract class AbstractBlockPosWrapper
+{
+ public AbstractBlockPosWrapper() { }
+ public AbstractBlockPosWrapper(int x, int y, int z) { }
+
+
+
+ public abstract void set(int x, int y, int z);
+
+ public abstract int getX();
+ public abstract int getY();
+ public abstract int getZ();
+
+ public abstract int get(LodDirection.Axis axis);
+
+ /** returns itself */
+ public abstract AbstractBlockPosWrapper offset(int x, int y, int z);
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockColorSingletonWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockColorSingletonWrapper.java
new file mode 100644
index 000000000..cf905a3be
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockColorSingletonWrapper.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.block;
+
+/**
+ * Contains methods that would have been static in BlockColorWrapper.
+ * Since interfaces can't create/implement static methods we have
+ * to split the object up in two.
+ *
+ * @author James Seibel
+ * @version 11-17-2021
+ */
+public interface IBlockColorSingletonWrapper
+{
+ /** @returns the base color of water (grey) */
+ public IBlockColorWrapper getWaterColor();
+}
+
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockColorWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockColorWrapper.java
new file mode 100644
index 000000000..1ee012905
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockColorWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.block;
+
+/**
+ * @author James Seibel
+ * @version 11-17-2021
+ */
+public interface IBlockColorWrapper
+{
+ //--------------//
+ //Colors getters//
+ //--------------//
+
+ public boolean hasColor();
+
+ public int getColor();
+
+
+ //------------//
+ //Tint getters//
+ //------------//
+
+ public boolean hasTint();
+
+ public boolean hasGrassTint();
+
+ public boolean hasFolliageTint();
+
+ public boolean hasWaterTint();
+
+}
+
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockShapeWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockShapeWrapper.java
new file mode 100644
index 000000000..a36cd8474
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockShapeWrapper.java
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.block;
+
+/**
+ * @author James Seibel
+ * @version 11-20-2021
+ */
+public interface IBlockShapeWrapper
+{
+ public boolean ofBlockToAvoid();
+
+ //-----------------//
+ //Avoidance getters//
+ //-----------------//
+
+ public boolean isNonFull();
+
+ public boolean hasNoCollision();
+
+ public boolean isToAvoid();
+}
\ No newline at end of file
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/AbstractChunkPosWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/AbstractChunkPosWrapper.java
new file mode 100644
index 000000000..a19b8c964
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/AbstractChunkPosWrapper.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.chunk;
+
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+
+
+/**
+ * This is abstract instead of a interface so
+ * we can define its constructors.
+ *
+ * @author James Seibel
+ * @version 11-18-2021
+ */
+public abstract class AbstractChunkPosWrapper
+{
+ public AbstractChunkPosWrapper(AbstractChunkPosWrapper newChunkPos) { }
+ public AbstractChunkPosWrapper(AbstractBlockPosWrapper blockPos) { }
+ public AbstractChunkPosWrapper(int chunkX, int chunkZ) { }
+ public AbstractChunkPosWrapper() { }
+
+
+
+ public abstract int getX();
+ public abstract int getZ();
+
+ public abstract int getMinBlockX();
+ public abstract int getMinBlockZ();
+
+ public abstract int getRegionX();
+ public abstract int getRegionZ();
+
+ public abstract AbstractBlockPosWrapper getWorldPosition();
+
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java
new file mode 100644
index 000000000..94d3312f0
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.chunk;
+
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockColorWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockShapeWrapper;
+import com.seibel.lod.forge.wrappers.world.BiomeWrapper;
+
+/**
+ * @author James Seibel
+ * @version 11-17-2021
+ */
+public interface IChunkWrapper
+{
+ public int getHeight();
+
+ public boolean isPositionInWater(AbstractBlockPosWrapper blockPos);
+
+ public int getHeightMapValue(int xRel, int zRel);
+
+ public BiomeWrapper getBiome(int xRel, int yAbs, int zRel);
+
+ public IBlockColorWrapper getBlockColorWrapper(AbstractBlockPosWrapper blockPos);
+
+ public IBlockShapeWrapper getBlockShapeWrapper(AbstractBlockPosWrapper blockPos);
+
+ public AbstractChunkPosWrapper getPos();
+
+ public boolean isLightCorrect();
+
+ public boolean isWaterLogged(AbstractBlockPosWrapper blockPos);
+
+ public int getEmittedBrightness(AbstractBlockPosWrapper blockPos);
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/config/ILodConfigWrapperSingleton.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java
similarity index 95%
rename from src/main/java/com/seibel/lod/core/wrapperAdapters/config/ILodConfigWrapperSingleton.java
rename to src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java
index 6f062d75d..1757e5dbb 100644
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/config/ILodConfigWrapperSingleton.java
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java
@@ -1,4 +1,23 @@
-package com.seibel.lod.core.wrapperAdapters.config;
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.config;
import com.seibel.lod.core.enums.config.BlocksToAvoid;
import com.seibel.lod.core.enums.config.BufferRebuildTimes;
@@ -18,8 +37,9 @@ import com.seibel.lod.core.objects.MinDefaultMax;
import com.seibel.lod.core.util.LodUtil;
/**
- * This holds the config defaults and setters/getters
- * that should be hooked into the host mod loader (Fabric, Forge, etc.).
+ * This holds the config defaults, setters/getters
+ * that should be hooked into the host mod loader (Fabric, Forge, etc.), and
+ * the options that should be implemented in a configWrapperSingleton.
*
* @author James Seibel
* @version 11-16-2021
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
new file mode 100644
index 000000000..e84e8fa39
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.minecraft;
+
+import java.util.HashSet;
+
+import com.seibel.lod.core.objects.math.Mat4f;
+import com.seibel.lod.core.objects.math.Vec3d;
+import com.seibel.lod.core.objects.math.Vec3f;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+
+/**
+ * Contains everything related to
+ * rendering in Minecraft.
+ *
+ * @author James Seibel
+ * @version 11-18-2021
+ */
+public interface IMinecraftRenderWrapper
+{
+ public Vec3f getLookAtVector();
+
+ public AbstractBlockPosWrapper getCameraBlockPosition();
+
+ public boolean playerHasBlindnessEffect();
+
+ public Vec3d getCameraExactPosition();
+
+ public Mat4f getDefaultProjectionMatrix(float partialTicks);
+
+ public double getGamma();
+
+ public double getFov(float partialTicks);
+
+ /** Measured in chunks */
+ public int getRenderDistance();
+
+ public int getScreenWidth();
+ public int getScreenHeight();
+
+ /**
+ * This method returns the ChunkPos of all chunks that Minecraft
+ * is going to render this frame.
+ */
+ public HashSet getRenderedChunks();
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IMinecraftWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftWrapper.java
similarity index 87%
rename from src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IMinecraftWrapper.java
rename to src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftWrapper.java
index d87ddd024..6fd49e28d 100644
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/minecraft/IMinecraftWrapper.java
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftWrapper.java
@@ -17,22 +17,21 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.wrapperAdapters.minecraft;
+package com.seibel.lod.core.wrapperInterfaces.minecraft;
import java.awt.Color;
import java.io.File;
import java.util.ArrayList;
import com.seibel.lod.core.enums.LodDirection;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.misc.ILightMapWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IDimensionTypeWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.misc.ILightMapWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
/**
- * A singleton that wraps the Minecraft class
- * to allow for easier movement between Minecraft versions.
+ * Contains everything related to the Minecraft object.
*
* @author James Seibel
* @version 9-16-2021
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java
new file mode 100644
index 000000000..702a2eb4c
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.minecraft;
+
+/**
+ * @author James Seibel
+ * @version 11-20-2021
+ */
+public interface IProfilerWrapper
+{
+ public void push(String newSection);
+
+ public void popPush(String newSection);
+
+ public void pop();
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java
new file mode 100644
index 000000000..7ec9d0cf0
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java
@@ -0,0 +1,29 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.misc;
+
+/**
+ * @author James Seibel
+ * @version 11-20-2021
+ */
+public interface ILightMapWrapper
+{
+ public int getLightValue(int skyLight, int blockLight);
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IBiomeColorWrapperSingleton.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeColorWrapperSingleton.java
similarity index 85%
rename from src/main/java/com/seibel/lod/core/wrapperAdapters/world/IBiomeColorWrapperSingleton.java
rename to src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeColorWrapperSingleton.java
index 023f10856..ddf8a2ad9 100644
--- a/src/main/java/com/seibel/lod/core/wrapperAdapters/world/IBiomeColorWrapperSingleton.java
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeColorWrapperSingleton.java
@@ -17,14 +17,15 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.wrapperAdapters.world;
+package com.seibel.lod.core.wrapperInterfaces.world;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
/**
+ * Contains everything related to biome colors.
*
- * @author Cola?
+ * @author James Seibel
* @version 11-15-2021
*/
public interface IBiomeColorWrapperSingleton
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java
new file mode 100644
index 000000000..239518878
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.world;
+
+/**
+ * @author James Seibel
+ * @version 11-15-2021
+ */
+public interface IBiomeWrapper
+{
+ /** Returns a color int for the given biome. */
+ public int getColorForBiome(int x, int z);
+
+ public int getGrassTint(int x, int z);
+
+ public int getFolliageTint();
+
+ public int getWaterTint();
+
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java
new file mode 100644
index 000000000..bc3b463c0
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.world;
+
+/**
+ * @author James Seibel
+ * @version 11-15-2021
+ */
+public interface IDimensionTypeWrapper
+{
+ public String getDimensionName();
+
+ public boolean hasCeiling();
+
+ public boolean hasSkyLight();
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IWorldWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IWorldWrapper.java
new file mode 100644
index 000000000..ee7fd28bc
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IWorldWrapper.java
@@ -0,0 +1,59 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.world;
+
+import java.io.File;
+
+import com.seibel.lod.core.enums.WorldType;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+
+/**
+ * Can be either a Server world or a Client world.
+ *
+ * @author James Seibel
+ * @version 11-20-2021
+ */
+public interface IWorldWrapper
+{
+ public IDimensionTypeWrapper getDimensionType();
+
+ public WorldType getWorldType();
+
+ public int getBlockLight(AbstractBlockPosWrapper blockPos);
+
+ public int getSkyLight(AbstractBlockPosWrapper blockPos);
+
+ public IBiomeWrapper getBiome(AbstractBlockPosWrapper blockPos);
+
+ public boolean hasCeiling();
+
+ public boolean hasSkyLight();
+
+ public boolean isEmpty();
+
+ public int getHeight();
+
+ public int getSeaLevel();
+
+ /** @throws UnsupportedOperationException if the WorldWrapper isn't for a ServerWorld */
+ public File getSaveFolder() throws UnsupportedOperationException;
+
+
+}
diff --git a/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractWorldGeneratorWrapper.java b/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractWorldGeneratorWrapper.java
new file mode 100644
index 000000000..f462bf0ab
--- /dev/null
+++ b/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractWorldGeneratorWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.wrapperInterfaces.worldGeneration;
+
+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.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
+
+/**
+ * This is used for generating chunks
+ * in a variety of detail and threading levels.
+ *
+ * Abstract instead of a interface so
+ * we can define its constructors.
+ *
+ * @author James Seibel
+ * @version 11-20-2021
+ */
+public abstract class AbstractWorldGeneratorWrapper
+{
+ public AbstractWorldGeneratorWrapper(LodBuilder newLodBuilder, LodDimension newLodDimension, IWorldWrapper worldWrapper) { }
+
+
+ public abstract void generateBiomesOnly(AbstractChunkPosWrapper pos, DistanceGenerationMode generationMode);
+
+ public abstract void generateSurface(AbstractChunkPosWrapper pos);
+
+ public abstract void generateFeatures(AbstractChunkPosWrapper pos);
+
+ public abstract void generateFull(AbstractChunkPosWrapper pos);
+}
diff --git a/src/main/java/com/seibel/lod/forge/ForgeClientProxy.java b/src/main/java/com/seibel/lod/forge/ForgeClientProxy.java
index 4cbef841b..4ddf72131 100644
--- a/src/main/java/com/seibel/lod/forge/ForgeClientProxy.java
+++ b/src/main/java/com/seibel/lod/forge/ForgeClientProxy.java
@@ -20,7 +20,7 @@
package com.seibel.lod.forge;
import com.seibel.lod.core.api.EventApi;
-import com.seibel.lod.core.wrapperAdapters.chunk.IChunkWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import com.seibel.lod.forge.wrappers.chunk.ChunkWrapper;
import com.seibel.lod.forge.wrappers.world.DimensionTypeWrapper;
import com.seibel.lod.forge.wrappers.world.WorldWrapper;
diff --git a/src/main/java/com/seibel/lod/forge/ForgeConfig.java b/src/main/java/com/seibel/lod/forge/ForgeConfig.java
index b7afe6496..4bf59c8f9 100644
--- a/src/main/java/com/seibel/lod/forge/ForgeConfig.java
+++ b/src/main/java/com/seibel/lod/forge/ForgeConfig.java
@@ -43,15 +43,15 @@ 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.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IAdvanced;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IAdvanced.IBuffers;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IAdvanced.IDebugging;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IAdvanced.IThreading;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IGraphics;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IGraphics.IAdvancedGraphics;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IGraphics.IFogQuality;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IGraphics.IQuality;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton.IClient.IWorldGenerator;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IAdvanced;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IGraphics;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IWorldGenerator;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IAdvanced.IBuffers;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IAdvanced.IDebugging;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IAdvanced.IThreading;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IGraphics.IAdvancedGraphics;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IGraphics.IFogQuality;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IGraphics.IQuality;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.eventbus.api.SubscribeEvent;
diff --git a/src/main/java/com/seibel/lod/forge/ForgeMain.java b/src/main/java/com/seibel/lod/forge/ForgeMain.java
index c953dfa91..86d9c5ce5 100644
--- a/src/main/java/com/seibel/lod/forge/ForgeMain.java
+++ b/src/main/java/com/seibel/lod/forge/ForgeMain.java
@@ -20,7 +20,7 @@
package com.seibel.lod.forge;
import com.seibel.lod.core.ModInfo;
-import com.seibel.lod.forge.wrappers.DependencySetup;
+import com.seibel.lod.forge.wrappers.ForgeDependencySetup;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.SubscribeEvent;
@@ -48,7 +48,7 @@ public class ForgeMain
private void init(final FMLCommonSetupEvent event)
{
// make sure the dependencies are set up before the mod needs them
- DependencySetup.createInitialBindings();
+ ForgeDependencySetup.createInitialBindings();
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, ForgeConfig.CLIENT_SPEC);
}
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/DependencySetup.java b/src/main/java/com/seibel/lod/forge/wrappers/ForgeDependencySetup.java
similarity index 70%
rename from src/main/java/com/seibel/lod/forge/wrappers/DependencySetup.java
rename to src/main/java/com/seibel/lod/forge/wrappers/ForgeDependencySetup.java
index 3fbd42367..f5267f435 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/DependencySetup.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/ForgeDependencySetup.java
@@ -1,13 +1,13 @@
package com.seibel.lod.forge.wrappers;
+import com.seibel.lod.core.handlers.IReflectionHandler;
import com.seibel.lod.core.handlers.ReflectionHandler;
-import com.seibel.lod.core.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockColorSingletonWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.handlers.IReflectionHandler;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftRenderWrapper;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockColorSingletonWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
import com.seibel.lod.forge.wrappers.block.BlockColorSingletonWrapper;
import com.seibel.lod.forge.wrappers.config.LodConfigWrapperSingleton;
import com.seibel.lod.forge.wrappers.minecraft.MinecraftRenderWrapper;
@@ -22,7 +22,7 @@ import com.seibel.lod.forge.wrappers.minecraft.MinecraftWrapper;
* @author James Seibel
* @version 11-20-2021
*/
-public class DependencySetup
+public class ForgeDependencySetup
{
public static void createInitialBindings()
{
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/McObjectConverter.java b/src/main/java/com/seibel/lod/forge/wrappers/McObjectConverter.java
index f8df930a7..d0c08a9ea 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/McObjectConverter.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/McObjectConverter.java
@@ -30,21 +30,12 @@ import net.minecraft.util.math.vector.Matrix4f;
/**
* This class converts to and from Minecraft objects (Ex: Matrix4f)
* and objects we created (Ex: Mat4f).
- * Since we don't want to deal with a bunch of tiny changes
- * every time Minecraft renames a variable in Matrix4f or something.
*
* @author James Seibel
- * @version 11-11-2021
+ * @version 11-20-2021
*/
public class McObjectConverter
{
-
- public McObjectConverter()
- {
-
- }
-
-
/** 4x4 float matrix converter */
public static Mat4f Convert(Matrix4f mcMatrix)
{
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/WrapperFactory.java b/src/main/java/com/seibel/lod/forge/wrappers/WrapperFactory.java
index 8607bee86..fa27662ca 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/WrapperFactory.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/WrapperFactory.java
@@ -1,12 +1,31 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.forge.wrappers;
import com.seibel.lod.core.builders.lodBuilding.LodBuilder;
import com.seibel.lod.core.objects.lod.LodDimension;
-import com.seibel.lod.core.wrapperAdapters.IWrapperFactory;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
-import com.seibel.lod.core.wrapperAdapters.worldGeneration.AbstractWorldGeneratorWrapper;
+import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.worldGeneration.AbstractWorldGeneratorWrapper;
import com.seibel.lod.forge.wrappers.block.BlockPosWrapper;
import com.seibel.lod.forge.wrappers.chunk.ChunkPosWrapper;
import com.seibel.lod.forge.wrappers.worldGeneration.WorldGeneratorWrapper;
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/WrapperUtil.java b/src/main/java/com/seibel/lod/forge/wrappers/WrapperUtil.java
index 2384f431a..5f515d71f 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/WrapperUtil.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/WrapperUtil.java
@@ -1,11 +1,35 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.forge.wrappers;
import net.minecraft.world.gen.Heightmap;
+/**
+ * Stores any variables or code that
+ * may be shared between wrapper objects.
+ *
+ * @author James Seibel
+ * @version 11-20-2021
+ */
public class WrapperUtil
{
-
/** If we ever need to use a heightmap for any reason, use this one. */
- public static final Heightmap.Type DEFAULT_HEIGHTMAP = Heightmap.Type.WORLD_SURFACE_WG;
-
+ public static final Heightmap.Type DEFAULT_HEIGHTMAP = Heightmap.Type.WORLD_SURFACE_WG;
}
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/block/BlockColorSingletonWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/block/BlockColorSingletonWrapper.java
index 68a6ad4cc..57eb0dbc4 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/block/BlockColorSingletonWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/block/BlockColorSingletonWrapper.java
@@ -1,22 +1,42 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.forge.wrappers.block;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockColorSingletonWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockColorWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockColorSingletonWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockColorWrapper;
import net.minecraft.block.Blocks;
/**
- * This class wraps the minecraft Block class
+ * Contains methods that would have been static in BlockColorWrapper.
+ * Since interfaces can't create/implement static methods we have
+ * to split the object up in two.
*
- * @author ??
+ * @author James Seibel
* @version 11-17-2021
*/
public class BlockColorSingletonWrapper implements IBlockColorSingletonWrapper
{
public static final BlockColorSingletonWrapper INSTANCE = new BlockColorSingletonWrapper();
- /** return base color of water (grey value) */
@Override
public IBlockColorWrapper getWaterColor()
{
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/block/BlockColorWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/block/BlockColorWrapper.java
index 8568e0792..9bc8a9b68 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/block/BlockColorWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/block/BlockColorWrapper.java
@@ -1,3 +1,22 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.forge.wrappers.block;
import java.util.List;
@@ -7,7 +26,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import com.seibel.lod.core.util.ColorUtil;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockColorWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockColorWrapper;
import com.seibel.lod.forge.wrappers.minecraft.MinecraftWrapper;
import net.minecraft.block.AbstractPlantBlock;
@@ -29,8 +48,6 @@ import net.minecraftforge.client.model.data.ModelDataMap;
/**
- * This class wraps the minecraft Block color class
- *
* @author ??
* @version 11-17-2021
*/
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/block/BlockPosWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/block/BlockPosWrapper.java
index 0f38093bb..8939d209e 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/block/BlockPosWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/block/BlockPosWrapper.java
@@ -1,12 +1,35 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.forge.wrappers.block;
import java.util.Objects;
import com.seibel.lod.core.enums.LodDirection;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
import net.minecraft.util.math.BlockPos;
+/**
+ * @author James Seibel
+ * @version 11-20-2021
+ */
public class BlockPosWrapper extends AbstractBlockPosWrapper
{
private final BlockPos.Mutable blockPos;
@@ -22,26 +45,31 @@ public class BlockPosWrapper extends AbstractBlockPosWrapper
this.blockPos = new BlockPos.Mutable(x, y, z);
}
+ @Override
public void set(int x, int y, int z)
{
blockPos.set(x, y, z);
}
+ @Override
public int getX()
{
return blockPos.getX();
}
+ @Override
public int getY()
{
return blockPos.getY();
}
+ @Override
public int getZ()
{
return blockPos.getZ();
}
+ @Override
public int get(LodDirection.Axis axis)
{
return axis.choose(getX(), getY(), getZ());
@@ -64,6 +92,7 @@ public class BlockPosWrapper extends AbstractBlockPosWrapper
return Objects.hash(blockPos);
}
+ @Override
public BlockPosWrapper offset(int x, int y, int z)
{
blockPos.set(blockPos.getX() + x, blockPos.getY() + y, blockPos.getZ() + z);
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/block/BlockShapeWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/block/BlockShapeWrapper.java
index 0a494a0e1..5a9d71f0b 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/block/BlockShapeWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/block/BlockShapeWrapper.java
@@ -1,3 +1,21 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package com.seibel.lod.forge.wrappers.block;
@@ -5,9 +23,9 @@ import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockShapeWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.IChunkWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockShapeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import com.seibel.lod.forge.wrappers.chunk.ChunkWrapper;
import net.minecraft.block.Block;
@@ -20,8 +38,6 @@ import net.minecraft.world.IBlockReader;
/**
- * This class wraps Minecraft's Block class
- *
* @author ??
* @version 11-18-2021
*/
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/chunk/ChunkPosWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/chunk/ChunkPosWrapper.java
index 1c345246f..1442e8307 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/chunk/ChunkPosWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/chunk/ChunkPosWrapper.java
@@ -1,9 +1,28 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.forge.wrappers.chunk;
import java.util.Objects;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
import com.seibel.lod.forge.wrappers.block.BlockPosWrapper;
import net.minecraft.util.math.BlockPos;
@@ -11,8 +30,6 @@ import net.minecraft.util.math.ChunkPos;
/**
- * This class wraps minecraft's ChunkPos class
- *
* @author James Seibel
* @version 11-18-2021
*/
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/chunk/ChunkWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/chunk/ChunkWrapper.java
index b26d866e3..cebaf940d 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/chunk/ChunkWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/chunk/ChunkWrapper.java
@@ -1,9 +1,28 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.forge.wrappers.chunk;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockColorWrapper;
-import com.seibel.lod.core.wrapperAdapters.block.IBlockShapeWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.IChunkWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockColorWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.IBlockShapeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import com.seibel.lod.forge.wrappers.WrapperUtil;
import com.seibel.lod.forge.wrappers.block.BlockColorWrapper;
import com.seibel.lod.forge.wrappers.block.BlockPosWrapper;
@@ -17,7 +36,6 @@ import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.world.chunk.IChunk;
/**
- *
* @author ??
* @version 11-17-2021
*/
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/config/LodConfigWrapperSingleton.java b/src/main/java/com/seibel/lod/forge/wrappers/config/LodConfigWrapperSingleton.java
index b35afe61e..ebbe7c444 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/config/LodConfigWrapperSingleton.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/config/LodConfigWrapperSingleton.java
@@ -1,3 +1,22 @@
+/*
+ * This file is part of the Distant Horizon mod (formerly the LOD Mod),
+ * licensed under the GNU GPL v3 License.
+ *
+ * Copyright (C) 2020 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package com.seibel.lod.forge.wrappers.config;
import com.seibel.lod.core.enums.config.BlocksToAvoid;
@@ -14,13 +33,10 @@ 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.wrapperAdapters.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
import com.seibel.lod.forge.ForgeConfig;
/**
- * This holds the config defaults and setters/getters
- * that should be hooked into the host mod loader (Fabric, Forge, etc.).
- *
* @author James Seibel
* @version 11-16-2021
*/
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftRenderWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftRenderWrapper.java
index 3769c6d24..2e5737ee0 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftRenderWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftRenderWrapper.java
@@ -5,9 +5,9 @@ import java.util.HashSet;
import com.seibel.lod.core.objects.math.Mat4f;
import com.seibel.lod.core.objects.math.Vec3d;
import com.seibel.lod.core.objects.math.Vec3f;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftRenderWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
import com.seibel.lod.forge.wrappers.McObjectConverter;
import com.seibel.lod.forge.wrappers.block.BlockPosWrapper;
import com.seibel.lod.forge.wrappers.chunk.ChunkPosWrapper;
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftWrapper.java
index c53a94e86..557906bb5 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftWrapper.java
@@ -27,11 +27,11 @@ import com.seibel.lod.core.ModInfo;
import com.seibel.lod.core.api.ClientApi;
import com.seibel.lod.core.enums.LodDirection;
import com.seibel.lod.core.util.LodUtil;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IMinecraftWrapper;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IProfilerWrapper;
-import com.seibel.lod.core.wrapperAdapters.misc.ILightMapWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IDimensionTypeWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper;
+import com.seibel.lod.core.wrapperInterfaces.misc.ILightMapWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
import com.seibel.lod.forge.wrappers.McObjectConverter;
import com.seibel.lod.forge.wrappers.block.BlockPosWrapper;
import com.seibel.lod.forge.wrappers.chunk.ChunkPosWrapper;
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/minecraft/ProfilerWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/minecraft/ProfilerWrapper.java
index 9478cc200..78c9f4a7e 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/minecraft/ProfilerWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/minecraft/ProfilerWrapper.java
@@ -1,6 +1,6 @@
package com.seibel.lod.forge.wrappers.minecraft;
-import com.seibel.lod.core.wrapperAdapters.minecraft.IProfilerWrapper;
+import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper;
import net.minecraft.profiler.IProfiler;
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/misc/LightMapWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/misc/LightMapWrapper.java
index d445bc2c6..a5181b9e5 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/misc/LightMapWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/misc/LightMapWrapper.java
@@ -1,6 +1,6 @@
package com.seibel.lod.forge.wrappers.misc;
-import com.seibel.lod.core.wrapperAdapters.misc.ILightMapWrapper;
+import com.seibel.lod.core.wrapperInterfaces.misc.ILightMapWrapper;
import net.minecraft.client.renderer.texture.NativeImage;
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/world/BiomeColorWrapperSingleton.java b/src/main/java/com/seibel/lod/forge/wrappers/world/BiomeColorWrapperSingleton.java
index f7c638b89..316b9c4b9 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/world/BiomeColorWrapperSingleton.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/world/BiomeColorWrapperSingleton.java
@@ -19,16 +19,15 @@
package com.seibel.lod.forge.wrappers.world;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IBiomeColorWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IBiomeColorWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
import com.seibel.lod.forge.wrappers.block.BlockPosWrapper;
import net.minecraft.world.biome.BiomeColors;
/**
- *
* @author Cola?
* @version 11-15-2021
*/
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/world/BiomeWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/world/BiomeWrapper.java
index 8ebb4f10e..455af70af 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/world/BiomeWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/world/BiomeWrapper.java
@@ -5,7 +5,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import com.seibel.lod.core.util.ColorUtil;
-import com.seibel.lod.core.wrapperAdapters.world.IBiomeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper;
import com.seibel.lod.forge.wrappers.block.BlockColorSingletonWrapper;
import com.seibel.lod.forge.wrappers.block.BlockColorWrapper;
@@ -14,8 +14,6 @@ import net.minecraft.world.biome.Biome;
/**
- * This class wraps the minecraft BlockPos.Mutable (and BlockPos) class
- *
* @author James Seibel
* @version 11-15-2021
*/
@@ -45,6 +43,7 @@ public class BiomeWrapper implements IBiomeWrapper
}
+
/** Returns a color int for the given biome. */
@Override
public int getColorForBiome(int x, int z)
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/world/DimensionTypeWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/world/DimensionTypeWrapper.java
index a9cd88d9e..13cdd0fd7 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/world/DimensionTypeWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/world/DimensionTypeWrapper.java
@@ -3,12 +3,11 @@ package com.seibel.lod.forge.wrappers.world;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import com.seibel.lod.core.wrapperAdapters.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
import net.minecraft.world.DimensionType;
/**
- *
* @author ??
* @version 11-15-2021
*/
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/world/WorldWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/world/WorldWrapper.java
index b4c2960a2..15dbdfa0e 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/world/WorldWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/world/WorldWrapper.java
@@ -5,8 +5,8 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import com.seibel.lod.core.enums.WorldType;
-import com.seibel.lod.core.wrapperAdapters.block.AbstractBlockPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.block.AbstractBlockPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
import com.seibel.lod.forge.wrappers.block.BlockPosWrapper;
import net.minecraft.client.world.ClientWorld;
@@ -15,10 +15,9 @@ import net.minecraft.world.server.ServerChunkProvider;
import net.minecraft.world.server.ServerWorld;
/**
- *
* @author James Seibel
* @author ??
- * @version 11-15-2021
+ * @version 11-20-2021
*/
public class WorldWrapper implements IWorldWrapper
{
@@ -61,6 +60,12 @@ public class WorldWrapper implements IWorldWrapper
worldWrapperMap.clear();
}
+ @Override
+ public WorldType getWorldType()
+ {
+ return worldType;
+ }
+
@Override
public DimensionTypeWrapper getDimensionType()
{
diff --git a/src/main/java/com/seibel/lod/forge/wrappers/worldGeneration/WorldGeneratorWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/worldGeneration/WorldGeneratorWrapper.java
index f175fac3c..2eb0c95da 100644
--- a/src/main/java/com/seibel/lod/forge/wrappers/worldGeneration/WorldGeneratorWrapper.java
+++ b/src/main/java/com/seibel/lod/forge/wrappers/worldGeneration/WorldGeneratorWrapper.java
@@ -12,11 +12,11 @@ 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.core.wrapperAdapters.SingletonHandler;
-import com.seibel.lod.core.wrapperAdapters.chunk.AbstractChunkPosWrapper;
-import com.seibel.lod.core.wrapperAdapters.config.ILodConfigWrapperSingleton;
-import com.seibel.lod.core.wrapperAdapters.world.IWorldWrapper;
-import com.seibel.lod.core.wrapperAdapters.worldGeneration.AbstractWorldGeneratorWrapper;
+import com.seibel.lod.core.util.SingletonHandler;
+import com.seibel.lod.core.wrapperInterfaces.chunk.AbstractChunkPosWrapper;
+import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
+import com.seibel.lod.core.wrapperInterfaces.world.IWorldWrapper;
+import com.seibel.lod.core.wrapperInterfaces.worldGeneration.AbstractWorldGeneratorWrapper;
import com.seibel.lod.forge.wrappers.WrapperUtil;
import com.seibel.lod.forge.wrappers.chunk.ChunkPosWrapper;
import com.seibel.lod.forge.wrappers.chunk.ChunkWrapper;
@@ -39,9 +39,6 @@ import net.minecraft.world.server.ServerWorld;
import net.minecraft.world.server.ServerWorldLightManager;
/**
- * This is used for generating chunks
- * in a variety of detail and threading levels.
- *
* @author James Seibel
* @version 11-13-2021
*/