diff --git a/api/src/main/java/com/seibel/lod/api/DhApiMain.java b/api/src/main/java/com/seibel/lod/api/DhApiMain.java
index e3f82a937..c1e790a6b 100644
--- a/api/src/main/java/com/seibel/lod/api/DhApiMain.java
+++ b/api/src/main/java/com/seibel/lod/api/DhApiMain.java
@@ -1,7 +1,7 @@
package com.seibel.lod.api;
import com.seibel.lod.core.ModInfo;
-import com.seibel.lod.core.a7.datatype.full.FullDataSource;
+import com.seibel.lod.core.datatype.full.FullDataSource;
/**
* This holds API methods related to version numbers and other unchanging endpoints.
diff --git a/api/src/main/java/com/seibel/lod/api/items/interfaces/override/IDhApiOverrideable.java b/api/src/main/java/com/seibel/lod/api/items/interfaces/override/IDhApiOverrideable.java
index ab8fb189e..bddb9617f 100644
--- a/api/src/main/java/com/seibel/lod/api/items/interfaces/override/IDhApiOverrideable.java
+++ b/api/src/main/java/com/seibel/lod/api/items/interfaces/override/IDhApiOverrideable.java
@@ -1,8 +1,8 @@
package com.seibel.lod.api.items.interfaces.override;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.ICoreDhApiOverrideable;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
-import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.OverrideInjector;
/**
* Implemented by all DhApi objects that can be overridden.
diff --git a/api/src/main/java/com/seibel/lod/api/items/objects/math/DhApiMat4f.java b/api/src/main/java/com/seibel/lod/api/items/objects/math/DhApiMat4f.java
index 1d63ee6f1..81301f792 100644
--- a/api/src/main/java/com/seibel/lod/api/items/objects/math/DhApiMat4f.java
+++ b/api/src/main/java/com/seibel/lod/api/items/objects/math/DhApiMat4f.java
@@ -19,7 +19,7 @@
package com.seibel.lod.api.items.objects.math;
-import com.seibel.lod.core.objects.math.Mat4f;
+import com.seibel.lod.core.util.math.Mat4f;
/**
* A simple way to store a 4x4 array
diff --git a/api/src/main/java/com/seibel/lod/api/methods/events/DhApiEventRegister.java b/api/src/main/java/com/seibel/lod/api/methods/events/DhApiEventRegister.java
index d7a7caebc..bac209f8f 100644
--- a/api/src/main/java/com/seibel/lod/api/methods/events/DhApiEventRegister.java
+++ b/api/src/main/java/com/seibel/lod/api/methods/events/DhApiEventRegister.java
@@ -2,7 +2,7 @@ package com.seibel.lod.api.methods.events;
import com.seibel.lod.api.items.objects.DhApiResult;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.events.ICoreDhApiEvent;
-import com.seibel.lod.core.handlers.dependencyInjection.DhApiEventInjector;
+import com.seibel.lod.core.dependencyInjection.DhApiEventInjector;
/**
* Handles adding/removing event handlers.
diff --git a/api/src/main/java/com/seibel/lod/api/methods/events/interfaces/IDhApiEvent.java b/api/src/main/java/com/seibel/lod/api/methods/events/interfaces/IDhApiEvent.java
index 8c71ff66e..60a4c25ff 100644
--- a/api/src/main/java/com/seibel/lod/api/methods/events/interfaces/IDhApiEvent.java
+++ b/api/src/main/java/com/seibel/lod/api/methods/events/interfaces/IDhApiEvent.java
@@ -1,7 +1,7 @@
package com.seibel.lod.api.methods.events.interfaces;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.events.ICoreDhApiEvent;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* A combination of all interfaces required by all
diff --git a/api/src/main/java/com/seibel/lod/api/override/DhApiWorldGeneratorOverrideRegister.java b/api/src/main/java/com/seibel/lod/api/override/DhApiWorldGeneratorOverrideRegister.java
index 17632b3bb..38333e5f0 100644
--- a/api/src/main/java/com/seibel/lod/api/override/DhApiWorldGeneratorOverrideRegister.java
+++ b/api/src/main/java/com/seibel/lod/api/override/DhApiWorldGeneratorOverrideRegister.java
@@ -3,7 +3,7 @@ package com.seibel.lod.api.override;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
import com.seibel.lod.api.items.objects.DhApiResult;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.worldGenerator.ICoreDhApiWorldGenerator;
-import com.seibel.lod.core.handlers.dependencyInjection.WorldGeneratorInjector;
+import com.seibel.lod.core.dependencyInjection.WorldGeneratorInjector;
/**
* Handles adding world generator overrides.
diff --git a/api/src/test/java/tests/EventInjectorTest.java b/api/src/test/java/tests/EventInjectorTest.java
index 8d193bbe4..e881d4a1b 100644
--- a/api/src/test/java/tests/EventInjectorTest.java
+++ b/api/src/test/java/tests/EventInjectorTest.java
@@ -1,9 +1,8 @@
package tests;
import com.seibel.lod.core.api.external.coreImplementations.objects.events.abstractEvents.CoreDhApiTestEvent;
-import com.seibel.lod.core.handlers.dependencyInjection.*;
+import com.seibel.lod.core.dependencyInjection.DhApiEventInjector;
import org.junit.Assert;
-import org.junit.Test;
import testItems.events.abstractObjects.DhApiTestEvent;
import testItems.events.objects.DhTestEvent;
import testItems.events.objects.DhTestEventAlt;
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java b/core/src/main/java/com/seibel/lod/core/IReflectionHandler.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java
rename to core/src/main/java/com/seibel/lod/core/IReflectionHandler.java
index 14224be75..3b5306789 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/IReflectionHandler.java
@@ -17,10 +17,10 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers;
+package com.seibel.lod.core;
import com.seibel.lod.core.enums.rendering.EFogDrawMode;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* A singleton used to get variables from methods
diff --git a/core/src/main/java/com/seibel/lod/core/a7/Initializer.java b/core/src/main/java/com/seibel/lod/core/Initializer.java
similarity index 60%
rename from core/src/main/java/com/seibel/lod/core/a7/Initializer.java
rename to core/src/main/java/com/seibel/lod/core/Initializer.java
index bb2941913..af8b4084c 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/Initializer.java
+++ b/core/src/main/java/com/seibel/lod/core/Initializer.java
@@ -1,8 +1,8 @@
-package com.seibel.lod.core.a7;
+package com.seibel.lod.core;
-import com.seibel.lod.core.a7.datatype.column.ColumnRenderLoader;
-import com.seibel.lod.core.a7.datatype.full.FullDataLoader;
-import com.seibel.lod.core.a7.datatype.full.SparseDataLoader;
+import com.seibel.lod.core.datatype.column.ColumnRenderLoader;
+import com.seibel.lod.core.datatype.full.FullDataLoader;
+import com.seibel.lod.core.datatype.full.SparseDataLoader;
public class Initializer {
public static void init() {
diff --git a/core/src/main/java/com/seibel/lod/core/objects/ParsedIp.java b/core/src/main/java/com/seibel/lod/core/ParsedIp.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/objects/ParsedIp.java
rename to core/src/main/java/com/seibel/lod/core/ParsedIp.java
index 464ceca9e..123ceb797 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/ParsedIp.java
+++ b/core/src/main/java/com/seibel/lod/core/ParsedIp.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects;
+package com.seibel.lod.core;
/**
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java b/core/src/main/java/com/seibel/lod/core/ReflectionHandler.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java
rename to core/src/main/java/com/seibel/lod/core/ReflectionHandler.java
index f0206bad2..0b890d86d 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/ReflectionHandler.java
@@ -17,12 +17,12 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers;
+package com.seibel.lod.core;
import java.lang.invoke.MethodHandles;
import java.lang.reflect.Field;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/CombinableResult.java b/core/src/main/java/com/seibel/lod/core/a7/util/CombinableResult.java
deleted file mode 100644
index 6acfb7acb..000000000
--- a/core/src/main/java/com/seibel/lod/core/a7/util/CombinableResult.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.seibel.lod.core.a7.util;
-
-public interface CombinableResult {
- T combineWith(T b, T c, T d);
-}
diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/ConcurrentQuadCombinableProviderTree.java b/core/src/main/java/com/seibel/lod/core/a7/util/ConcurrentQuadCombinableProviderTree.java
deleted file mode 100644
index 4e522465b..000000000
--- a/core/src/main/java/com/seibel/lod/core/a7/util/ConcurrentQuadCombinableProviderTree.java
+++ /dev/null
@@ -1,347 +0,0 @@
-package com.seibel.lod.core.a7.util;
-
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.util.Atomics;
-import com.seibel.lod.core.util.LodUtil;
-import org.apache.logging.log4j.Logger;
-
-import java.lang.ref.WeakReference;
-import java.util.Objects;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ThreadLocalRandom;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.concurrent.atomic.AtomicReferenceArray;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-import java.util.function.Function;
-
-public class ConcurrentQuadCombinableProviderTree> {
- private static final Logger LOGGER = DhLoggerBuilder.getLogger();
- public static class Node {
- private final DhLodPos pos;
- public final AtomicReference> future;
- // The child node is stored as a weak reference so that it can be garbage collected when that node's future is completed
- // and which then releases the hold on that node, thus allowing automatic garbage collection.
- public final AtomicReferenceArray>> children = new AtomicReferenceArray<>(4);
- @SuppressWarnings("unused")
- AtomicReference> parent = null; // This is only used to ensure that the parent is not garbage collected before the child.
- private Node(DhLodPos pos, CompletableFuture future) {
- this.pos = pos;
- this.future = new AtomicReference<>(future);
- }
- private Node(DhLodPos pos, CompletableFuture future, Node parent) {
- this.pos = pos;
- this.future = new AtomicReference<>(future);
- this.parent = new AtomicReference<>(parent);
- }
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- Node node = (Node) o;
- return pos.equals(node.pos);
- }
- @Override
- public int hashCode() {
- return pos.hashCode();
- }
- public Node setIfNullAndGet(int childIndex, Node newChild) {
- WeakReference> newRef = new WeakReference<>(newChild);
- WeakReference> oldRef;
- do {
- oldRef = Atomics.compareAndExchange(children, childIndex, null, newRef);
- if (oldRef == null) return newChild; // CompareAndExchange succeeded
- Node oldNode = oldRef.get();
- if (oldNode != null) return oldNode; // CompareAndExchange failed with old node not null
- // Otherwise, the old node weak reference is null.
- } while (!children.compareAndSet(childIndex, oldRef, newRef)); // If this cas fails, then try again. (Some other thread beat us to it.)
- return newChild; // If we get here, then we successfully replaced the old node weak reference with the new one.
- }
- }
-
- static class RootMap {
- private final ConcurrentHashMap>> roots = new ConcurrentHashMap<>();
- private final int topLevel;
-
- RootMap(int topLevel) {
- this.topLevel = topLevel;
- }
-
- public int getTopLevel() {
- return topLevel;
- }
- public Node get(DhLodPos pos) {
- WeakReference> ref = roots.get(pos);
- return ref == null ? null : ref.get();
- }
- public Node compareNullAndExchange(DhLodPos pos, Node newRoot) {
- WeakReference> newRef = new WeakReference<>(newRoot);
- WeakReference> oldRef;
- do {
- oldRef = roots.putIfAbsent(pos, newRef);
- if (oldRef == null) return null; // putIfAbsent succeeded
- Node oldRoot = oldRef.get();
- if (oldRoot != null) return oldRoot; // putIfAbsent failed with old root not null
- // Otherwise, the old root weak reference is null.
- } while (!roots.replace(pos, oldRef, newRef)); // If this cas fails, then try again. (Some other thread beat us to it.)
- return null; // If we get here, then we successfully replaced the old root weak reference with the new one, so return null.
- }
- public boolean compareNullAndSet(DhLodPos pos, Node newRoot) {
- WeakReference> newRef = new WeakReference<>(newRoot);
- WeakReference> oldRef;
- do {
- oldRef = roots.putIfAbsent(pos, newRef);
- if (oldRef == null) return true; // putIfAbsent succeeded
- Node oldRoot = oldRef.get();
- if (oldRoot != null) return false; // putIfAbsent failed with old root not null
- // Otherwise, the old root weak reference is null.
- } while (!roots.replace(pos, oldRef, newRef)); // If this cas fails, then try again. (Some other thread beat us to it.)
- return true; // If we get here, then we successfully replaced the old root weak reference with the new one.
- }
- public Node setIfNullAndGet(DhLodPos pos, Node newRoot) {
- WeakReference> newRef = new WeakReference<>(newRoot);
- WeakReference> oldRef;
- do {
- oldRef = roots.putIfAbsent(pos, newRef);
- if (oldRef == null) return newRoot; // putIfAbsent succeeded
- Node oldRoot = oldRef.get();
- if (oldRoot != null) return oldRoot; // putIfAbsent failed with old root not null
- // Otherwise, the old root weak reference is null.
- } while (!roots.replace(pos, oldRef, newRef)); // If this cas fails, then try again. (Some other thread beat us to it.)
- return newRoot; // If we get here, then we successfully replaced the old root weak reference with the new one.
- }
- public void clean() {
- roots.forEach((k,v) -> {
- if (v.get() == null) // Remove the entry if the root is null
- roots.remove(k, v); // But only if what we check is what we will be removing. (A CAS operation)
- // Otherwise, continue.
- // (It is not important that we must remove the entry if the root is null,
- // as this is just a cleanup op to shrink the map.)
- });
- }
- }
-
- private final ReentrantReadWriteLock rootMapGlobalLock = new ReentrantReadWriteLock();
- private final AtomicReference> rootMap = new AtomicReference<>(new RootMap<>(0));
-
-
- public ConcurrentQuadCombinableProviderTree() {}
- @Override
- public String toString() {
- return "CQCPT@" + rootMap.get().topLevel + "(~" + rootMap.get().roots.size() + ")";
- }
-
- // Atomically update and get the generation future
- private CompletableFuture checkAndMakeFuture(Node node, Function> allNullCompleter) {
- CompletableFuture future = new CompletableFuture<>();
- CompletableFuture casValue = Atomics.compareAndExchange(node.future, null, future);
- if (casValue != null) { // cas failed. Existing future. Return it.
- return casValue;
- }
-
- // Next, we need to make the future completable.
- // We first check for each child connection if it exists. If it does, we store it for a later 'allOf'.
- boolean allNull = true;
- @SuppressWarnings("unchecked")
- CompletableFuture[] childFutures = new CompletableFuture[4];
- for (int i = 0; i < 4; i++) {
- WeakReference> childRef = node.children.get(i);
- Node nextChild = childRef == null ? null : childRef.get();
- if (nextChild != null) { // child node exists. Recursively make or get the child's future.
- allNull = false;
- childFutures[i] = checkAndMakeFuture(nextChild, allNullCompleter);
- }
- }
- if (allNull) { // all children are null. We can then just run the allNullCompleter in this node.
- allNullCompleter.apply(node.pos).whenComplete((r, e) -> {
- // NOTE(*1): This *HAVE* to get the future via the node reference instead of directly capturing the future,
- // as otherwise the node will be garbage collected before the future is completed.
- // With this, we can guarantee that the node is garbage collected only when the future is (being) completed.
- // (The actual order is not important however as long as the node is still alive when the generation is in progress)
- CompletableFuture f = node.future.get();
- LodUtil.assertTrue(f != null, "Future should not be null");
- if (e != null) {
- f.completeExceptionally(e);
- } else {
- f.complete(r);
- }
- });
- } else { // some children exist. We need to wait for some or all of them to complete.
- // But before that, we need to create the children node where they are missing.
- for (int i = 0; i < 4; i++) {
- if (childFutures[i] == null) {
- CompletableFuture newChildFuture = new CompletableFuture<>();
- Node newChild = new Node<>(node.pos.getChild(i), newChildFuture, node);
- node.children.set(i, new WeakReference<>(newChild));
- childFutures[i] = newChildFuture;
- // Since the child is new, we can be sure that it doesn't have any children.
- // So, we need to make the new child's future completable by running the allNullCompleter.
- // (The above relies on the fact that we did a CAS on the beginning of this method,
- // which means that we have unique access to the node and its links to the children, and that
- // no other thread can be concurrently modifying its links)
- allNullCompleter.apply(newChild.pos).whenComplete((r, e) -> {
- // NOTE: Same as 'NOTE(*1)', we *HAVE* to get the future via the node reference instead of directly capturing the future.
- CompletableFuture f = newChild.future.get();
- LodUtil.assertTrue(f != null, "Future should not be null");
- if (e != null) {
- f.completeExceptionally(e);
- } else {
- f.complete(r);
- }
- });
- }
- LodUtil.assertTrue(childFutures[i] != null);
- }
- // Now, we can wait for all the child futures to complete, and then complete this node's future with
- // the combined result of all child futures.
- CompletableFuture.allOf(childFutures).handle((v, e) -> {
- // NOTE: Same as 'NOTE(*1)', we *HAVE* to get the future via the node reference instead of directly capturing the future.
- CompletableFuture f = node.future.get();
- LodUtil.assertTrue(f != null, "Future should not be null");
- if (e != null) {
- f.completeExceptionally(e);
- } else {
- try {
- f.complete(childFutures[0].join().combineWith(
- childFutures[1].join(), childFutures[2].join(), childFutures[3].join()));
- } catch (Throwable e2) {
- f.completeExceptionally(e2);
- }
- }
- return null;
- });
- }
- return future;
- }
-
- public CompletableFuture createOrUseExisting(DhLodPos pos, Function> completer) {
- LOGGER.info("Creating or using existing future for {}", pos);
- int cleanRng = ThreadLocalRandom.current().nextInt(0, 10);
- if (cleanRng == 0) cleanIfNeeded();
- // First, ensure that the root map is locked for reading. (The lock is for the structure of the map, not the values)
- rootMapGlobalLock.readLock().lock();
- RootMap map = rootMap.get();
- // Next, do different thing depending on the top level of the map compared to the target position.
- if (map.topLevel == pos.detail) { // The target position is at the top level, meaning that we can directly use the root.
- // Make the future and node first for the later CAS on null.
- CompletableFuture future = new CompletableFuture<>();
- Node newNode = new Node(pos, future); // No parent node as it's the root.
- Node cas = map.compareNullAndExchange(pos, newNode); // CAS the node into the map.
- rootMapGlobalLock.readLock().unlock(); // We're done with the map, as following code no longer accesses it.
-
- if (cas == null) { // cas succeeded. Which means no existing overlapping node in same detail level.
- // Reason: Since any lower level nodes should have upper level nodes as parent up to the top level,
- // and that there are no same level nodes, we can assume that the new node does not overlap any existing nodes.
- // Therefore, we can apply the completer function to the new node, and return the future.
- completer.apply(pos).whenComplete((r, e) -> {
- // See NOTE(*1) above.
- CompletableFuture f = newNode.future.get();
- LodUtil.assertTrue(f != null, "Future should not be null");
- if (e != null) {
- f.completeExceptionally(e);
- } else {
- f.complete(r);
- }
- });
- return future;
- } else { // cas failed. Existing overlapping node.
- // Run the checkAndMakeFuture method on the existing node to update and get the generation future.
- return checkAndMakeFuture(cas, completer);
- }
- } else if (map.topLevel > pos.detail) {
- // We need to traverse down the tree with the following rules during the traversal:
- // 1. If the next node is not null and has a future, halt and return that future.
- // 2. If the next node is not null with no future, continue traversing down the tree.
- // 3. if the next node is null, create a new node and CompareExchange it into the current node, and run rule 1/2.
- // Note that DO NOT assume that all subsequent nodes will fall into case 3, as someone else can concurrently
- // use and modify the newly created node!
-
- // To start, just treat the rootMap as the... well, root, and it's content as the children node.
- // We can then traverse down the tree until we reach the target node or hit the 1st case and return prematurely.
-
- // First iteration:
- Node currentNode;
- DhLodPos childPos = pos.convertUpwardsTo((byte) map.topLevel);
- Node childNode = map.setIfNullAndGet( // rule 3: if null, create a new node.
- childPos, new Node(childPos, null)); // No parent node as it's the root.
- rootMapGlobalLock.readLock().unlock(); // We're done with the map, as following code no longer accesses it.
-
- CompletableFuture future = childNode.future.get();
- if (future != null) { // rule 1: if future is not null, halt and return the future.
- return future;
- } else { // rule 2: if future is null, continue traversing down the tree.
- currentNode = childNode;
-
- // Second and subsequent iterations:
- while (currentNode.pos.detail > pos.detail) {
- childPos = pos.convertUpwardsTo((byte) (currentNode.pos.detail - 1));
- // Note: It is important that child link is set and created before we check the child future,
- // so to avoid race conditions with checkAndMakeFuture.
- childNode = currentNode.setIfNullAndGet(childPos.getChildIndexOfParent(),
- new Node(childPos, null, currentNode)); // rule 3: if null, create a new node.
- CompletableFuture childFuture = childNode.future.get();
- if (childFuture != null) { // rule 1: if future is not null, halt and return the future.
- return childFuture;
- } else { // rule 2: if future is null, continue traversing down the tree.
- currentNode = childNode;
- }
- }
- }
- // At this point, we have reached the target node.
- LodUtil.assertTrue(currentNode.pos.equals(pos));
- // We can now run the checkAndMakeFuture method on the target node to update and get the generation future.
- return checkAndMakeFuture(currentNode, completer); // Technically, this will rerun the 1st rule. But code is cleaner this way.
- } else { // map.topLevel < pos.detail
- // Now, this is the complex case. We need to rebase the tree to the higher detail level.
- // For now, this implementation will do a lock based version. However, I will figure out a way to do this without a lock.
-
- rootMapGlobalLock.readLock().unlock();
- while (map.topLevel < pos.detail) {
- map = rebaseUpward(pos.detail);
- }
- LodUtil.assertTrue(map.topLevel >= pos.detail);
- return createOrUseExisting(pos, completer); // After rebasing, we can just call the createOrUseExisting method again.
- }
- }
-
- private RootMap rebaseUpward(int targetLevel) {
- rootMapGlobalLock.writeLock().lock();
- try {
- RootMap map = rootMap.get();
- if (map.topLevel >= targetLevel) {
- return map;
- }
- // At this point, we have exclusive access to the rootMap.
- map.clean(); // Clean the map. (Could actually be done with just readLock.)
- RootMap newMap = new RootMap<>(map.topLevel + 1);
- map.roots.forEach((pos, nodeRef) -> {
- Node node = nodeRef.get();
- if (node == null) return; // If null, ignore that node.
- LodUtil.assertTrue(pos.detail+1 == newMap.topLevel);
- LodUtil.assertTrue(node.parent.get() == null);
- LodUtil.assertTrue(node.pos.equals(pos));
- DhLodPos newPos = pos.convertUpwardsTo((byte) (pos.detail+1));
-
- // Create the parent node, or if it already exists, use it to set the child node's parent.
- // NOTE: While this section is protected by the rootMapGlobalLock, we still need to use the normal
- // CAS methods to setAndGet the parent node, as the parent node may be GC'd concurrently by other threads
- // who have just completed the node's future, and caused the GC parent chain up to the new map.
- Node newParentNode = newMap.setIfNullAndGet(newPos, new Node(newPos, null));
- node.parent.set(newParentNode);
- });
- boolean casWorked = rootMap.compareAndSet(map, newMap);
- LodUtil.assertTrue(casWorked);
- return newMap;
- } finally {
- rootMapGlobalLock.writeLock().unlock();
- }
- }
-
- public void cleanIfNeeded() {
- if (rootMapGlobalLock.readLock().tryLock()) {
- rootMap.get().clean();
- rootMapGlobalLock.readLock().unlock();
- }
- }
-}
diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/LazySectionPosTree.java b/core/src/main/java/com/seibel/lod/core/a7/util/LazySectionPosTree.java
deleted file mode 100644
index 768173cab..000000000
--- a/core/src/main/java/com/seibel/lod/core/a7/util/LazySectionPosTree.java
+++ /dev/null
@@ -1,514 +0,0 @@
-package com.seibel.lod.core.a7.util;
-
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.util.LodUtil;
-import org.apache.commons.lang3.NotImplementedException;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentSkipListMap;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.BiConsumer;
-import java.util.function.BiFunction;
-import java.util.function.Function;
-
-public class LazySectionPosTree implements ConcurrentMap {
- class Node implements Entry {
- private Node parent;
- private int child0to3;
- private final DhLodPos pos;
- private final AtomicInteger sizeCounter = size;
- private T value = null;
- private Node child0 = null;
- private Node child1 = null;
- private Node child2 = null;
- private Node child3 = null;
- private Node(Node parent, int child0to3, DhLodPos pos) {
- this.parent = parent;
- this.child0to3 = child0to3;
- this.pos = pos;
- }
- private Node(Node parent, int child0to3, DhLodPos pos, T value) {
- this.parent = parent;
- this.child0to3 = child0to3;
- this.pos = pos;
- this.value = value;
- }
- @Override
- public DhLodPos getKey() {
- return pos;
- }
- @Override
- public T getValue() {
- return value;
- }
- @Override
- public T setValue(T value) {
- T old = this.value;
- this.value = value;
- if (old == null && value != null) {
- sizeCounter.incrementAndGet();
- } else if (old != null && value == null) {
- sizeCounter.decrementAndGet();
- }
- return old;
- }
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- Node node = (Node) o;
- return pos.equals(node.pos);
- }
- @Override
- public int hashCode() {
- return pos.hashCode();
- }
- private T setIfAbsent(T value) {
- T old = this.value;
- if (old == null) {
- this.value = value;
- sizeCounter.incrementAndGet();
- }
- return old;
- }
- private T computeIfAbsent(@NotNull Function super DhLodPos, ? extends T> mappingFunction) {
- if (value == null) {
- value = mappingFunction.apply(pos);
- sizeCounter.incrementAndGet();
- }
- return value;
- }
- private T computeIfPresent(@NotNull BiFunction super DhLodPos, ? super T, ? extends T> remappingFunction) {
- if (value != null) {
- T newValue = remappingFunction.apply(pos, value);
- if (newValue != null) {
- value = newValue;
- } else {
- sizeCounter.decrementAndGet();
- value = null;
- }
- }
- return value;
- }
-
-
- private boolean noChildren() {
- return child0 == null && child1 == null && child2 == null && child3 == null;
- }
-
- private Node makeOrGetChild(int child0to3) {
- LodUtil.assertTrue(child0to3 >= 0 && child0to3 <= 3);
- switch (child0to3) {
- case 0:
- return child0 == null ? child0 = new Node(this, 0, pos.getChild(0)) : child0;
- case 1:
- return child1 == null ? child1 = new Node(this, 1, pos.getChild(1)) : child1;
- case 2:
- return child2 == null ? child2 = new Node(this, 2, pos.getChild(2)) : child2;
- case 3:
- return child3 == null ? child3 = new Node(this, 3, pos.getChild(3)) : child3;
- }
- LodUtil.assertNotReach();
- return new Node(null, 0, pos.getChild(0)); // unreachable. Just hack to make contract happy.
- }
- private Node getChild(int child0to3) {
- LodUtil.assertTrue(child0to3 >= 0 && child0to3 <= 3);
- switch (child0to3) {
- case 0:
- return child0;
- case 1:
- return child1;
- case 2:
- return child2;
- case 3:
- return child3;
- }
- LodUtil.assertNotReach();
- return null;
- }
- private void removeChild(int child0to3) {
- LodUtil.assertTrue(child0to3 >= 0 && child0to3 <= 3);
- switch (child0to3) {
- case 0:
- child0 = null;
- break;
- case 1:
- child1 = null;
- break;
- case 2:
- child2 = null;
- break;
- case 3:
- child3 = null;
- break;
- }
- LodUtil.assertNotReach();
- }
- private void setChild(int child0to3, Node child) {
- LodUtil.assertTrue(child0to3 >= 0 && child0to3 <= 3);
- child.parent = this;
- switch (child0to3) {
- case 0:
- child0 = child;
- child.child0to3 = 0;
- break;
- case 1:
- child1 = child;
- child.child0to3 = 1;
- break;
- case 2:
- child2 = child;
- child.child0to3 = 2;
- break;
- case 3:
- child3 = child;
- child.child0to3 = 3;
- break;
- }
- LodUtil.assertNotReach();
- }
- }
- private ConcurrentSkipListMap nodes = new ConcurrentSkipListMap<>();
- private byte topLevel = 0;
- private AtomicInteger size = new AtomicInteger(0);
- public LazySectionPosTree() {}
- @Override
- public int hashCode() {
- throw new NotImplementedException();
- }
- @Override
- public boolean equals(Object obj) {
- throw new NotImplementedException();
- }
- @Override
- protected Object clone() throws CloneNotSupportedException {
- throw new NotImplementedException();
- }
- @Override
- public String toString() {
- throw new NotImplementedException();
- }
-
- @Override
- public int size() {
- return size.get();
- }
- @Override
- public boolean isEmpty() {
- return size.get() == 0;
- }
-
- private Node travel(Node from, DhLodPos pos) {
- if (from == null) return null;
- LodUtil.assertTrue(pos != null);
- LodUtil.assertTrue(from.pos.detail > pos.detail);
- LodUtil.assertTrue(from.pos.overlaps(pos));
- byte iterDetail = from.pos.detail;
- while (iterDetail > pos.detail) {
- from = from.getChild(pos.convertUpwardsTo(--iterDetail).getChildIndexOfParent());
- if (from == null) return null;
- }
- LodUtil.assertTrue(from.pos.equals(pos));
- return from;
- }
- private Node initTravel(Node from, DhLodPos pos) {
- LodUtil.assertTrue(from != null);
- LodUtil.assertTrue(pos != null);
- LodUtil.assertTrue(from.pos.detail > pos.detail);
- LodUtil.assertTrue(from.pos.overlaps(pos));
- byte iterDetail = from.pos.detail;
- while (iterDetail > pos.detail)
- from = from.makeOrGetChild(pos.convertUpwardsTo(--iterDetail).getChildIndexOfParent());
- LodUtil.assertTrue(from.pos.equals(pos));
- return from;
- }
-
- private void upcastTreeBase() {
-
- }
- private byte upcastSingeTreeBase() {
- byte nextLevel = (byte) (topLevel + 1);
- ConcurrentSkipListMap newBase = new ConcurrentSkipListMap<>();
- nodes.forEach((pos, node) ->
- newBase.compute(pos.convertUpwardsTo(nextLevel), (key, old) -> {
- if (old == null) {
- old = new Node(null, 0, pos.convertUpwardsTo(nextLevel));
- }
- old.setChild(pos.getChildIndexOfParent(), node);
- return old;
- })
- );
- nodes = newBase; // todo: cas operation to here. (Will be block free but not wait free)
- topLevel = nextLevel; //todo: atomic???
- return nextLevel;
- }
- private void downcastTreeBase() {
- byte prevLevel = (byte) (topLevel - 1);
- ConcurrentSkipListMap newBase = new ConcurrentSkipListMap<>();
-
-
- }
-
-
-
- @Override
- public boolean containsKey(Object key) {
- DhLodPos pos = (DhLodPos) key;
- if (pos.detail > topLevel) return false;
- if (pos.detail == topLevel) return nodes.containsKey(pos);
- Node node = travel(nodes.get(pos.convertUpwardsTo(topLevel)), pos);
- return node != null;
- }
-
- @Override
- public boolean containsValue(Object value) {
- throw new UnsupportedOperationException("Such operation is not supported in LazySectionPosTree");
- }
-
- @Override
- public T get(Object key) {
- DhLodPos pos = (DhLodPos) key;
- if (pos.detail > topLevel) return null;
- if (pos.detail == topLevel) return nodes.get(pos).value;
- Node node = travel(nodes.get(pos.convertUpwardsTo(topLevel)), pos);
- return node == null ? null : node.value;
- }
-
- @Override
- public T getOrDefault(Object key, T defaultValue) {
- T value = get(key);
- return value == null ? defaultValue : value;
- }
-
- @Nullable
- @Override
- public T put(DhLodPos key, T value) {
- if (key.detail == topLevel) {
- return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, value)).setValue(value);
- }
- if (key.detail < topLevel) {
- Node node = initTravel(nodes.get(key.convertUpwardsTo(topLevel)), key);
- return node.setValue(value);
- }
- // key.detail > topLevel:
- // Rebase the tree
- //upcastTreeBase(key.detail);
- return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, value)).setValue(value);
- }
-
- private void removeNode(Node node) {
- if (node.parent != null) {
- node.parent.removeChild(node.child0to3);
- if (node.parent.noChildren()) {
- removeNode(node.parent);
- }
- }
- else nodes.remove(node.pos);
- }
-
- @Override
- public T remove(Object key) {
- DhLodPos pos = (DhLodPos) key;
- if (pos.detail > topLevel) return null;
- Node node;
- if (pos.detail == topLevel) {
- node = nodes.remove(pos);
- } else {
- node = travel(nodes.get(pos.convertUpwardsTo(topLevel)), pos);
- }
- if (node == null) return null;
- // Pop the value
- T value = node.setValue(null);
- // Delete the node if there are no children
- if (node.noChildren()) {
- removeNode(node);
- }
- return value;
- }
-
- @Override
- public boolean remove(@NotNull Object key, Object value) {
- DhLodPos pos = (DhLodPos) key;
- if (pos.detail > topLevel) return false;
- Node node;
- if (pos.detail == topLevel) {
- node = nodes.get(pos);
- } else {
- node = travel(nodes.get(pos.convertUpwardsTo(topLevel)), pos);
- }
- if (node == null) return false;
- //TODO: Make this atomic
- if (node.value.equals(value)) {
- removeNode(node);
- return true;
- }
- return false;
- }
-
- @Override
- public boolean replace(@NotNull DhLodPos key, @NotNull T oldValue, @NotNull T newValue) {
- if (key.detail > topLevel) return false;
- Node node;
- if (key.detail == topLevel) {
- node = nodes.get(key);
- } else {
- node = travel(nodes.get(key.convertUpwardsTo(topLevel)), key);
- }
- if (node == null) return false;
- //TODO: Make this atomic
- if (node.value.equals(oldValue)) {
- node.setValue(newValue);
- return true;
- }
- return false;
- }
-
- @Override
- public T replace(@NotNull DhLodPos key, @NotNull T value) {
- if (key.detail == topLevel) {
- Node n = nodes.get(key);
- //TODO: Make this atomic
- if (n == null || n.value==null) return null;
- return n.setValue(value);
- }
- if (key.detail < topLevel) {
- Node node = travel(nodes.get(key.convertUpwardsTo(topLevel)), key);
- //TODO: Make this atomic
- if (node == null || node.value==null) return null;
- return node.setValue(value);
- }
- // key.detail > topLevel: Does not exist
- return null;
- }
-
- @Nullable
- @Override
- public T putIfAbsent(@NotNull DhLodPos key, T value) {
- if (key.detail == topLevel) {
- return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, null)).setIfAbsent(value);
- }
- if (key.detail < topLevel) {
- Node node = initTravel(nodes.get(key.convertUpwardsTo(topLevel)), key);
- return node.setIfAbsent(value);
- }
- // key.detail > topLevel:
- // Rebase the tree
- //upcastTreeBase(key.detail);
- return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, null)).setIfAbsent(value);
-
- }
-
- @Override
- public T computeIfAbsent(DhLodPos key, @NotNull Function super DhLodPos, ? extends T> mappingFunction) {
- if (key.detail == topLevel) {
- return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, null)).computeIfAbsent(mappingFunction);
- }
- if (key.detail < topLevel) {
- Node node = initTravel(nodes.get(key.convertUpwardsTo(topLevel)), key);
- return node.computeIfAbsent(mappingFunction);
- }
- // key.detail > topLevel:
- // Rebase the tree
- //upcastTreeBase(key.detail);
- return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, null)).computeIfAbsent(mappingFunction);
-
- }
-
- @Override
- public T computeIfPresent(DhLodPos key, @NotNull BiFunction super DhLodPos, ? super T, ? extends T> remappingFunction) {
- if (key.detail == topLevel) {
- Node n = nodes.get(key);
- if (n == null) return null;
- T r = n.computeIfPresent(remappingFunction);
- if (r == null && n.noChildren()) {
- nodes.remove(key);
- }
- return r;
- }
- if (key.detail < topLevel) {
- Node node = travel(nodes.get(key.convertUpwardsTo(topLevel)), key);
- if (node == null) return null;
- T r = node.computeIfPresent(remappingFunction);
- if (r == null && node.noChildren()) {
- removeNode(node);
- }
- }
- // key.detail > topLevel: Does not exist
- return null;
- }
-
- // TODO: Improve this naive implementation of compute
- @Override
- public T compute(DhLodPos key, @NotNull BiFunction super DhLodPos, ? super T, ? extends T> remappingFunction) {
- T r = get(key);
- if (r == null) {
- r = remappingFunction.apply(key, null);
- if (r != null) {
- put(key, r);
- }
- } else {
- r = remappingFunction.apply(key, r);
- if (r != null) {
- put(key, r);
- } else {
- remove(key);
- }
- }
- return r;
- }
-
- // TODO: Optimize putAll
- @Override
- public void putAll(@NotNull Map extends DhLodPos, ? extends T> m) {
- for (Map.Entry extends DhLodPos, ? extends T> entry : m.entrySet()) {
- put(entry.getKey(), entry.getValue());
- }
- }
-
- @Override
- public void clear() {
- nodes.clear();
- size = new AtomicInteger(0); // Do this to swap the counter obj so old nodes won't mess up the counter
- }
-
- @NotNull
- @Override
- public Set keySet() {
- //TODO
- throw new NotImplementedException();
- }
-
- @NotNull
- @Override
- public Collection values() {
- //TODO
- throw new NotImplementedException();
- }
-
- @NotNull
- @Override
- public Set> entrySet() {
- //TODO
- throw new NotImplementedException();
- }
-
- @Override
- public void forEach(BiConsumer super DhLodPos, ? super T> action) {
- //TODO
- throw new NotImplementedException();
- }
-
- @Override
- public void replaceAll(BiFunction super DhLodPos, ? super T, ? extends T> function) {
- //TODO
- throw new NotImplementedException();
- }
-
- // merge: Use default implementation
- //public T merge(DhLodPos key, @NotNull T value, @NotNull BiFunction super T, ? super T, ? extends T> remappingFunction);
-}
diff --git a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/events/ICoreDhApiEvent.java b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/events/ICoreDhApiEvent.java
index a6508b0d2..0280ec631 100644
--- a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/events/ICoreDhApiEvent.java
+++ b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/events/ICoreDhApiEvent.java
@@ -1,6 +1,6 @@
package com.seibel.lod.core.api.external.coreImplementations.interfaces.events;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* A combination of all interfaces required by all
diff --git a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/override/ICoreDhApiOverrideable.java b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/override/ICoreDhApiOverrideable.java
index ba52144d0..b135d7f85 100644
--- a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/override/ICoreDhApiOverrideable.java
+++ b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/override/ICoreDhApiOverrideable.java
@@ -1,7 +1,7 @@
package com.seibel.lod.core.api.external.coreImplementations.interfaces.override;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
-import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.OverrideInjector;
/**
* Implemented by all DhApi objects that can be overridden.
diff --git a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/objects/events/sharedParameterObjects/CoreDhApiRenderParam.java b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/objects/events/sharedParameterObjects/CoreDhApiRenderParam.java
index 80114e4cd..0ba4f337b 100644
--- a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/objects/events/sharedParameterObjects/CoreDhApiRenderParam.java
+++ b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/objects/events/sharedParameterObjects/CoreDhApiRenderParam.java
@@ -1,6 +1,6 @@
package com.seibel.lod.core.api.external.coreImplementations.objects.events.sharedParameterObjects;
-import com.seibel.lod.core.objects.math.Mat4f;
+import com.seibel.lod.core.util.math.Mat4f;
/**
* Parameter passed into Render events.
diff --git a/core/src/main/java/com/seibel/lod/core/api/internal/a7/ClientApi.java b/core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java
similarity index 93%
rename from core/src/main/java/com/seibel/lod/core/api/internal/a7/ClientApi.java
rename to core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java
index b247f44f7..05eb7b578 100644
--- a/core/src/main/java/com/seibel/lod/core/api/internal/a7/ClientApi.java
+++ b/core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java
@@ -17,26 +17,28 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.api.internal.a7;
+package com.seibel.lod.core.api.internal;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.world.*;
+import com.seibel.lod.core.level.IClientLevel;
import com.seibel.lod.core.api.external.coreImplementations.objects.events.abstractEvents.*;
import com.seibel.lod.core.api.external.coreImplementations.objects.events.sharedParameterObjects.CoreDhApiRenderParam;
-import com.seibel.lod.core.api.external.coreImplementations.objects.wrappers.CoreDhApiLevelWrapper;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.ModInfo;
import com.seibel.lod.core.enums.rendering.EDebugMode;
import com.seibel.lod.core.enums.rendering.ERendererMode;
-import com.seibel.lod.core.handlers.dependencyInjection.DhApiEventInjector;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.DhApiEventInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.ConfigBasedLogger;
import com.seibel.lod.core.logging.ConfigBasedSpamLogger;
import com.seibel.lod.core.logging.SpamReducedLogger;
-import com.seibel.lod.core.objects.math.Mat4f;
-import com.seibel.lod.core.render.GLProxy;
-import com.seibel.lod.core.render.RenderSystemTest;
-import com.seibel.lod.core.render.RenderUtil;
+import com.seibel.lod.core.util.math.Mat4f;
+import com.seibel.lod.core.render.glObject.GLProxy;
+import com.seibel.lod.core.render.renderer.TestRenderer;
+import com.seibel.lod.core.util.RenderUtil;
+import com.seibel.lod.core.world.DhClientWorld;
+import com.seibel.lod.core.world.DhWorld;
+import com.seibel.lod.core.world.IClientWorld;
+import com.seibel.lod.core.world.WorldEnvironment;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
@@ -64,7 +66,7 @@ public class ClientApi
public static boolean prefLoggerEnabled = false;
public static final ClientApi INSTANCE = new ClientApi();
- public static RenderSystemTest testRenderer = new RenderSystemTest();
+ public static TestRenderer testRenderer = new TestRenderer();
private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class);
private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class);
diff --git a/core/src/main/java/com/seibel/lod/core/api/internal/a7/ServerApi.java b/core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java
similarity index 93%
rename from core/src/main/java/com/seibel/lod/core/api/internal/a7/ServerApi.java
rename to core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java
index 08f6895ad..6d50c8c03 100644
--- a/core/src/main/java/com/seibel/lod/core/api/internal/a7/ServerApi.java
+++ b/core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java
@@ -17,13 +17,13 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.api.internal.a7;
+package com.seibel.lod.core.api.internal;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.world.DhClientServerWorld;
-import com.seibel.lod.core.a7.world.DhServerWorld;
-import com.seibel.lod.core.a7.world.IServerWorld;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.world.DhClientServerWorld;
+import com.seibel.lod.core.world.DhServerWorld;
+import com.seibel.lod.core.world.IServerWorld;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.wrapperInterfaces.IVersionConstants;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/api/internal/a7/SharedApi.java b/core/src/main/java/com/seibel/lod/core/api/internal/SharedApi.java
similarity index 56%
rename from core/src/main/java/com/seibel/lod/core/api/internal/a7/SharedApi.java
rename to core/src/main/java/com/seibel/lod/core/api/internal/SharedApi.java
index 904f8fe5d..dadce5712 100644
--- a/core/src/main/java/com/seibel/lod/core/api/internal/a7/SharedApi.java
+++ b/core/src/main/java/com/seibel/lod/core/api/internal/SharedApi.java
@@ -1,11 +1,9 @@
-package com.seibel.lod.core.api.internal.a7;
+package com.seibel.lod.core.api.internal;
-import com.seibel.lod.core.a7.Initializer;
-import com.seibel.lod.core.a7.world.WorldEnvironment;
-import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.a7.world.DhWorld;
+import com.seibel.lod.core.Initializer;
+import com.seibel.lod.core.world.WorldEnvironment;
+import com.seibel.lod.core.world.DhWorld;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper;
-import org.apache.logging.log4j.Logger;
public class SharedApi
{
diff --git a/core/src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java b/core/src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java
index 1c08e2594..b56f4816d 100644
--- a/core/src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java
+++ b/core/src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java
@@ -1,18 +1,13 @@
package com.seibel.lod.core.config.file;
import com.electronwill.nightconfig.core.file.CommentedFileConfig;
-import com.seibel.lod.core.ModInfo;
import com.seibel.lod.core.config.ConfigBase;
import com.seibel.lod.core.config.types.AbstractConfigType;
import com.seibel.lod.core.config.types.ConfigEntry;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper;
-import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-import org.json.simple.parser.ParseException;
import java.io.IOException;
import java.nio.file.Files;
diff --git a/core/src/main/java/com/seibel/lod/core/config/gui/ConfigScreen.java b/core/src/main/java/com/seibel/lod/core/config/gui/ConfigScreen.java
index 3aaa1e6bf..ec7aa645b 100644
--- a/core/src/main/java/com/seibel/lod/core/config/gui/ConfigScreen.java
+++ b/core/src/main/java/com/seibel/lod/core/config/gui/ConfigScreen.java
@@ -1,11 +1,11 @@
package com.seibel.lod.core.config.gui;
import com.seibel.lod.core.enums.config.EGpuUploadMethod;
-import com.seibel.lod.core.render.GLProxy;
-import com.seibel.lod.core.render.objects.GLState;
-import com.seibel.lod.core.render.objects.GLVertexBuffer;
-import com.seibel.lod.core.render.objects.ShaderProgram;
-import com.seibel.lod.core.render.objects.VertexAttribute;
+import com.seibel.lod.core.render.glObject.GLProxy;
+import com.seibel.lod.core.render.glObject.GLState;
+import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer;
+import com.seibel.lod.core.render.glObject.shader.ShaderProgram;
+import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttribute;
import org.lwjgl.opengl.GL32;
import java.nio.ByteBuffer;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/DataSourceLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/DataSourceLoader.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/DataSourceLoader.java
rename to core/src/main/java/com/seibel/lod/core/datatype/DataSourceLoader.java
index 0624d9ce5..9f1bc8b80 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/DataSourceLoader.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/DataSourceLoader.java
@@ -1,8 +1,8 @@
-package com.seibel.lod.core.a7.datatype;
+package com.seibel.lod.core.datatype;
import com.google.common.collect.HashMultimap;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.save.io.file.DataMetaFile;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.io.datafile.DataMetaFile;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodDataSource.java b/core/src/main/java/com/seibel/lod/core/datatype/LodDataSource.java
similarity index 57%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/LodDataSource.java
rename to core/src/main/java/com/seibel/lod/core/datatype/LodDataSource.java
index ca202f0e0..3c5cfd4f4 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodDataSource.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/LodDataSource.java
@@ -1,9 +1,9 @@
-package com.seibel.lod.core.a7.datatype;
+package com.seibel.lod.core.datatype;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.save.io.file.DataMetaFile;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.io.datafile.DataMetaFile;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodRenderSource.java b/core/src/main/java/com/seibel/lod/core/datatype/LodRenderSource.java
similarity index 79%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/LodRenderSource.java
rename to core/src/main/java/com/seibel/lod/core/datatype/LodRenderSource.java
index c0c6df329..040e96e3f 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodRenderSource.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/LodRenderSource.java
@@ -1,12 +1,11 @@
-package com.seibel.lod.core.a7.datatype;
+package com.seibel.lod.core.datatype;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.render.LodQuadTree;
-import com.seibel.lod.core.a7.render.RenderBuffer;
-import com.seibel.lod.core.a7.save.io.render.RenderMetaFile;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.render.LodQuadTree;
+import com.seibel.lod.core.render.RenderBuffer;
+import com.seibel.lod.core.io.renderfile.RenderMetaFile;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/PlaceHolderRenderSource.java b/core/src/main/java/com/seibel/lod/core/datatype/PlaceHolderRenderSource.java
similarity index 81%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/PlaceHolderRenderSource.java
rename to core/src/main/java/com/seibel/lod/core/datatype/PlaceHolderRenderSource.java
index 9e749d6fd..7ac6f5bd9 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/PlaceHolderRenderSource.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/PlaceHolderRenderSource.java
@@ -1,11 +1,11 @@
-package com.seibel.lod.core.a7.datatype;
+package com.seibel.lod.core.datatype;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.render.LodQuadTree;
-import com.seibel.lod.core.a7.render.RenderBuffer;
-import com.seibel.lod.core.a7.save.io.render.RenderMetaFile;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.render.LodQuadTree;
+import com.seibel.lod.core.render.RenderBuffer;
+import com.seibel.lod.core.io.renderfile.RenderMetaFile;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/RenderSourceLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/RenderSourceLoader.java
similarity index 93%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/RenderSourceLoader.java
rename to core/src/main/java/com/seibel/lod/core/datatype/RenderSourceLoader.java
index a68ab8a35..7173beda2 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/RenderSourceLoader.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/RenderSourceLoader.java
@@ -1,9 +1,9 @@
-package com.seibel.lod.core.a7.datatype;
+package com.seibel.lod.core.datatype;
import com.google.common.collect.HashMultimap;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.save.io.render.RenderMetaFile;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.io.renderfile.RenderMetaFile;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderLoader.java
similarity index 68%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderLoader.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderLoader.java
index aa3c4e17b..8f104f559 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderLoader.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderLoader.java
@@ -1,14 +1,14 @@
-package com.seibel.lod.core.a7.datatype.column;
+package com.seibel.lod.core.datatype.column;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.full.FullDataSource;
-import com.seibel.lod.core.a7.datatype.full.SparseDataSource;
-import com.seibel.lod.core.a7.datatype.transform.FullToColumnTransformer;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.datatype.RenderSourceLoader;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.save.io.render.RenderMetaFile;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.full.FullDataSource;
+import com.seibel.lod.core.datatype.full.SparseDataSource;
+import com.seibel.lod.core.datatype.transform.FullToColumnTransformer;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.datatype.RenderSourceLoader;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.io.renderfile.RenderMetaFile;
import com.seibel.lod.core.util.LodUtil;
import java.io.DataInputStream;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderSource.java b/core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderSource.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderSource.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderSource.java
index 91ab87076..29bf6d5bb 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderSource.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderSource.java
@@ -1,21 +1,21 @@
-package com.seibel.lod.core.a7.datatype.column;
+package com.seibel.lod.core.datatype.column;
-import com.seibel.lod.core.a7.datatype.column.accessor.*;
-import com.seibel.lod.core.a7.datatype.column.render.ColumnRenderBuffer;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.transform.FullToColumnTransformer;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.render.RenderBuffer;
-import com.seibel.lod.core.a7.render.a7LodRenderer;
-import com.seibel.lod.core.a7.save.io.render.RenderMetaFile;
+import com.seibel.lod.core.datatype.column.accessor.*;
+import com.seibel.lod.core.datatype.column.render.ColumnRenderBuffer;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.datatype.transform.FullToColumnTransformer;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.render.RenderBuffer;
+import com.seibel.lod.core.render.renderer.LodRenderer;
+import com.seibel.lod.core.io.renderfile.RenderMetaFile;
import com.seibel.lod.core.enums.ELodDirection;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.render.LodQuadTree;
-import com.seibel.lod.core.a7.render.LodRenderSection;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.util.Reference;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.render.LodQuadTree;
+import com.seibel.lod.core.render.LodRenderSection;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.util.objects.Reference;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
@@ -339,10 +339,10 @@ public class ColumnRenderSource implements LodRenderSource, IColumnDatatype {
LodUtil.assertTrue(swapped == null);
}
- if(a7LodRenderer.transparencyEnabled) {
+ if(LodRenderer.transparencyEnabled) {
RenderBuffer oldBuffersTransparent = referenceSlotsTransparent.getAndSet(newBuffers[1]);
- if (a7LodRenderer.transparencyEnabled) {
+ if (LodRenderer.transparencyEnabled) {
if (oldBuffersTransparent instanceof ColumnRenderBuffer) {
swapped = usedBufferTransparent.swap((ColumnRenderBuffer) oldBuffersTransparent);
LodUtil.assertTrue(swapped == null);
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnArrayView.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnArrayView.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnArrayView.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnArrayView.java
index a05d95051..1041af13c 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnArrayView.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnArrayView.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.datatype.column.accessor;
+package com.seibel.lod.core.datatype.column.accessor;
import java.util.Arrays;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnFormat.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnFormat.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnFormat.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnFormat.java
index 8897bcd43..c7b9fbea0 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnFormat.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnFormat.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.a7.datatype.column.accessor;
+package com.seibel.lod.core.datatype.column.accessor;
import com.seibel.lod.core.logging.SpamReducedLogger;
import com.seibel.lod.core.util.ColorUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnQuadView.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnQuadView.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnQuadView.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnQuadView.java
index e48654329..7270b7079 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnQuadView.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnQuadView.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.datatype.column.accessor;
+package com.seibel.lod.core.datatype.column.accessor;
public class ColumnQuadView implements IColumnDataView {
private final long[] data;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDataView.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDataView.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDataView.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDataView.java
index a1b3650e6..c9d771bdc 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDataView.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDataView.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.datatype.column.accessor;
+package com.seibel.lod.core.datatype.column.accessor;
import java.util.Iterator;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDatatype.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDatatype.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDatatype.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDatatype.java
index 0004e1e35..98bf3dfb9 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDatatype.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDatatype.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.datatype.column.accessor;
+package com.seibel.lod.core.datatype.column.accessor;
public interface IColumnDatatype {
byte getDetailOffset();
diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferMergeDirectionEnum.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferMergeDirectionEnum.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferMergeDirectionEnum.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferMergeDirectionEnum.java
index 0d4dd13d8..5359cab08 100644
--- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferMergeDirectionEnum.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferMergeDirectionEnum.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.builders.lodBuilding.bufferBuilding;
+package com.seibel.lod.core.datatype.column.render;
/**
* EastWest
diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferQuad.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferQuad.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferQuad.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferQuad.java
index fd0008267..1669809c9 100644
--- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferQuad.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferQuad.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.builders.lodBuilding.bufferBuilding;
+package com.seibel.lod.core.datatype.column.render;
import com.seibel.lod.core.enums.ELodDirection;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnBox.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnBox.java
index e1da28c8a..f23f7e5b5 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnBox.java
@@ -17,14 +17,13 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.a7.datatype.column.render;
+package com.seibel.lod.core.datatype.column.render;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat;
-import com.seibel.lod.core.a7.render.a7LodRenderer;
-import com.seibel.lod.core.builders.lodBuilding.bufferBuilding.LodQuadBuilder;
+import com.seibel.lod.core.datatype.column.accessor.ColumnArrayView;
+import com.seibel.lod.core.datatype.column.accessor.ColumnFormat;
+import com.seibel.lod.core.render.renderer.LodRenderer;
import com.seibel.lod.core.enums.ELodDirection;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.util.ColorUtil;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
@@ -42,9 +41,9 @@ public class ColumnBox
byte skyLightTop = skyLight;
byte skyLightBot = ColumnFormat.doesItExist(botData) ? ColumnFormat.getLightSky(botData) : 0;
- boolean isTransparent = ColorUtil.getAlpha(color)<255 && a7LodRenderer.transparencyEnabled;
- boolean isTopTransparent = ColumnFormat.getAlpha(topData)<255 && a7LodRenderer.transparencyEnabled;
- boolean isBotTransparent = ColumnFormat.getAlpha(botData)<255 && a7LodRenderer.transparencyEnabled;
+ boolean isTransparent = ColorUtil.getAlpha(color)<255 && LodRenderer.transparencyEnabled;
+ boolean isTopTransparent = ColumnFormat.getAlpha(topData)<255 && LodRenderer.transparencyEnabled;
+ boolean isBotTransparent = ColumnFormat.getAlpha(botData)<255 && LodRenderer.transparencyEnabled;
// Up direction case
@@ -53,7 +52,7 @@ public class ColumnBox
boolean skipTop = ColumnFormat.doesItExist(topData) && (ColumnFormat.getDepth(topData) == maxY) && !isTopTransparent;
boolean skipBot = ColumnFormat.doesItExist(botData) && (ColumnFormat.getHeight(botData) == y) && !isBotTransparent;
- if(a7LodRenderer.transparencyEnabled && a7LodRenderer.fakeOceanFloor) {
+ if(LodRenderer.transparencyEnabled && LodRenderer.fakeOceanFloor) {
if (!isTransparent && isTopTransparent && ColumnFormat.doesItExist(topData)) {
skyLightTop = (byte) LodUtil.clamp(0, 15 - (ColumnFormat.getHeight(topData) - y), 15);
ySize = (short) (ColumnFormat.getHeight(topData) - y - 1);
@@ -181,23 +180,23 @@ public class ColumnBox
boolean allAbove = true;
short previousDepth = -1;
byte nextSkyLight = upSkyLight;
- boolean isTransparent = ColorUtil.getAlpha(color) < 255 && a7LodRenderer.transparencyEnabled;
+ boolean isTransparent = ColorUtil.getAlpha(color) < 255 && LodRenderer.transparencyEnabled;
boolean lastWasTransparent = false;
for (i = 0; i < dataPoint.size() && ColumnFormat.doesItExist(adjData.get(i))
&& !ColumnFormat.isVoid(adjData.get(i)); i++)
{
long adjPoint = adjData.get(i);
- boolean isAdjTransparent = ColumnFormat.getAlpha(adjPoint) < 255 && a7LodRenderer.transparencyEnabled;
+ boolean isAdjTransparent = ColumnFormat.getAlpha(adjPoint) < 255 && LodRenderer.transparencyEnabled;
- if (!isTransparent && isAdjTransparent && a7LodRenderer.transparencyEnabled)
+ if (!isTransparent && isAdjTransparent && LodRenderer.transparencyEnabled)
continue;
short height = ColumnFormat.getHeight(adjPoint);
short depth = ColumnFormat.getDepth(adjPoint);
- if(a7LodRenderer.transparencyEnabled && a7LodRenderer.fakeOceanFloor)
+ if(LodRenderer.transparencyEnabled && LodRenderer.fakeOceanFloor)
{
if(lastWasTransparent && !isAdjTransparent)
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnRenderBuffer.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnRenderBuffer.java
similarity index 93%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnRenderBuffer.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnRenderBuffer.java
index 0881d11d3..c73406962 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnRenderBuffer.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnRenderBuffer.java
@@ -1,25 +1,25 @@
-package com.seibel.lod.core.a7.datatype.column.render;
+package com.seibel.lod.core.datatype.column.render;
-import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.render.a7LodRenderer;
-import com.seibel.lod.core.a7.util.UncheckedInterruptedException;
-import com.seibel.lod.core.a7.render.RenderBuffer;
+import com.seibel.lod.core.datatype.column.ColumnRenderSource;
+import com.seibel.lod.core.datatype.column.accessor.ColumnArrayView;
+import com.seibel.lod.core.datatype.column.accessor.ColumnFormat;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.render.renderer.LodRenderer;
+import com.seibel.lod.core.util.objects.UncheckedInterruptedException;
+import com.seibel.lod.core.render.RenderBuffer;
import com.seibel.lod.core.config.Config;
-import com.seibel.lod.core.builders.lodBuilding.bufferBuilding.CubicLodTemplate;
-import com.seibel.lod.core.builders.lodBuilding.bufferBuilding.LodQuadBuilder;
import com.seibel.lod.core.enums.ELodDirection;
import com.seibel.lod.core.enums.config.EGpuUploadMethod;
import com.seibel.lod.core.enums.rendering.EDebugMode;
import com.seibel.lod.core.enums.rendering.EGLProxyContext;
import com.seibel.lod.core.logging.ConfigBasedLogger;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.render.GLProxy;
-import com.seibel.lod.core.render.objects.GLVertexBuffer;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.render.glObject.GLProxy;
+import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer;
import com.seibel.lod.core.util.*;
+import com.seibel.lod.core.util.objects.Reference;
+import com.seibel.lod.core.util.objects.StatsMap;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -28,7 +28,7 @@ import java.nio.ByteBuffer;
import java.util.Iterator;
import java.util.concurrent.*;
-import static com.seibel.lod.core.render.GLProxy.GL_LOGGER;
+import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER;
public class ColumnRenderBuffer extends RenderBuffer {
@@ -42,9 +42,9 @@ public class ColumnRenderBuffer extends RenderBuffer {
private static final Logger LOGGER = DhLoggerBuilder.getLogger(MethodHandles.lookup().lookupClass().getSimpleName());
private static final long MAX_BUFFER_UPLOAD_TIMEOUT_NANOSECONDS = 1_000_000;
GLVertexBuffer[] vbos;
- public final DHBlockPos pos;
+ public final DhBlockPos pos;
- public ColumnRenderBuffer(DHBlockPos pos) {
+ public ColumnRenderBuffer(DhBlockPos pos) {
this.pos = pos;
vbos = new GLVertexBuffer[0];
}
@@ -135,7 +135,7 @@ public class ColumnRenderBuffer extends RenderBuffer {
}
@Override
- public boolean render(a7LodRenderer renderContext) {
+ public boolean render(LodRenderer renderContext) {
boolean hasRendered = false;
renderContext.setupOffset(pos);
for (GLVertexBuffer vbo : vbos) {
@@ -232,11 +232,11 @@ public class ColumnRenderBuffer extends RenderBuffer {
if (buffersSlotOpaque == null)
buffersSlotOpaque = new ColumnRenderBuffer(
- new DHBlockPos(data.sectionPos.getCorner().getCorner(), clientLevel.getMinY())
+ new DhBlockPos(data.sectionPos.getCorner().getCorner(), clientLevel.getMinY())
);
if (buffersSlotTransparent == null)
buffersSlotTransparent = new ColumnRenderBuffer(
- new DHBlockPos(data.sectionPos.getCorner().getCorner(), clientLevel.getMinY())
+ new DhBlockPos(data.sectionPos.getCorner().getCorner(), clientLevel.getMinY())
);
try {
buffersSlotOpaque.uploadBuffer(builders[0], method);
@@ -374,7 +374,7 @@ public class ColumnRenderBuffer extends RenderBuffer {
// We send the call to create the vertices
- if(ColumnFormat.getAlpha(data) == 255 || !a7LodRenderer.transparencyEnabled)
+ if(ColumnFormat.getAlpha(data) == 255 || !LodRenderer.transparencyEnabled)
{
CubicLodTemplate.addLodToBuffer(data, adjDataTop, adjDataBot, adjData, detailLevel,
x, z, quadBuilderOpaque, debugMode);
@@ -388,7 +388,7 @@ public class ColumnRenderBuffer extends RenderBuffer {
}
}
quadBuilderOpaque.mergeQuads();
- if(a7LodRenderer.transparencyEnabled)
+ if(LodRenderer.transparencyEnabled)
quadBuilderTransparent.mergeQuads();
}
}
diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/CubicLodTemplate.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/CubicLodTemplate.java
similarity index 91%
rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/CubicLodTemplate.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/CubicLodTemplate.java
index ad72b8edd..35a61056e 100644
--- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/CubicLodTemplate.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/CubicLodTemplate.java
@@ -17,13 +17,12 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.builders.lodBuilding.bufferBuilding;
+package com.seibel.lod.core.datatype.column.render;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat;
+import com.seibel.lod.core.datatype.column.accessor.ColumnFormat;
import com.seibel.lod.core.enums.rendering.EDebugMode;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView;
-import com.seibel.lod.core.a7.datatype.column.render.ColumnBox;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.datatype.column.accessor.ColumnArrayView;
import com.seibel.lod.core.util.ColorUtil;
import com.seibel.lod.core.util.LevelPosUtil;
import com.seibel.lod.core.util.LodUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/LodQuadBuilder.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/LodQuadBuilder.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/LodQuadBuilder.java
rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/LodQuadBuilder.java
index 151ba2d15..c444d2e60 100644
--- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/LodQuadBuilder.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/LodQuadBuilder.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.builders.lodBuilding.bufferBuilding;
+package com.seibel.lod.core.datatype.column.render;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
@@ -25,12 +25,12 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
-import com.seibel.lod.core.a7.render.RenderBuffer;
+import com.seibel.lod.core.render.RenderBuffer;
import com.seibel.lod.core.enums.ELodDirection;
import com.seibel.lod.core.enums.ELodDirection.Axis;
import com.seibel.lod.core.enums.config.EGpuUploadMethod;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.render.objects.GLVertexBuffer;
+import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer;
import com.seibel.lod.core.util.ColorUtil;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/ChunkSizedData.java b/core/src/main/java/com/seibel/lod/core/datatype/full/ChunkSizedData.java
similarity index 84%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/ChunkSizedData.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/ChunkSizedData.java
index 8bc0da235..f78754f92 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/ChunkSizedData.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/ChunkSizedData.java
@@ -1,7 +1,7 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
-import com.seibel.lod.core.a7.datatype.full.accessor.FullArrayView;
-import com.seibel.lod.core.a7.pos.DhLodPos;
+import com.seibel.lod.core.datatype.full.accessor.FullArrayView;
+import com.seibel.lod.core.pos.DhLodPos;
public class ChunkSizedData extends FullArrayView {
public final byte dataDetail;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataDownSampler.java b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataDownSampler.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataDownSampler.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/FullDataDownSampler.java
index 7df69f634..dbd27e0ee 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataDownSampler.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataDownSampler.java
@@ -1,10 +1,10 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.full.accessor.SingleFullArrayView;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.save.io.file.IDataSourceProvider;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.full.accessor.SingleFullArrayView;
+import com.seibel.lod.core.pos.DhLodPos;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.io.datafile.IDataSourceProvider;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataLoader.java
similarity index 62%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataLoader.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/FullDataLoader.java
index e45002822..5bbfbd2c4 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataLoader.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataLoader.java
@@ -1,11 +1,10 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
-import com.seibel.lod.core.a7.datatype.DataSourceLoader;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.save.io.file.DataMetaFile;
+import com.seibel.lod.core.datatype.DataSourceLoader;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.io.datafile.DataMetaFile;
-import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataSource.java b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataSource.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataSource.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/FullDataSource.java
index a0ed0773c..713671c7f 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataSource.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataSource.java
@@ -1,14 +1,14 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
-import com.seibel.lod.core.a7.datatype.full.accessor.FullArrayView;
-import com.seibel.lod.core.a7.datatype.full.accessor.SingleFullArrayView;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.pos.DhBlockPos2D;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.save.io.file.DataMetaFile;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.util.UnclosableInputStream;
+import com.seibel.lod.core.datatype.full.accessor.FullArrayView;
+import com.seibel.lod.core.datatype.full.accessor.SingleFullArrayView;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.pos.DhBlockPos2D;
+import com.seibel.lod.core.pos.DhLodPos;
+import com.seibel.lod.core.io.datafile.DataMetaFile;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.util.objects.UnclosableInputStream;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullFormat.java b/core/src/main/java/com/seibel/lod/core/datatype/full/FullFormat.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullFormat.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/FullFormat.java
index 883c2f071..7a82c4f7d 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullFormat.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/FullFormat.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
// Static class for the data format:
// ID: blockState id Y: Height(signed) DP: Depth(signed?) (Depth means the length of the block!)
@@ -16,7 +16,7 @@ package com.seibel.lod.core.a7.datatype.full;
import com.seibel.lod.core.util.LodUtil;
import org.jetbrains.annotations.Contract;
-import static com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat.MAX_WORLD_Y_SIZE;
+import static com.seibel.lod.core.datatype.column.accessor.ColumnFormat.MAX_WORLD_Y_SIZE;
public class FullFormat {
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/IdBiomeBlockStateMap.java b/core/src/main/java/com/seibel/lod/core/datatype/full/IdBiomeBlockStateMap.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/IdBiomeBlockStateMap.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/IdBiomeBlockStateMap.java
index 2ea0ba4dd..19e6a72cd 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/IdBiomeBlockStateMap.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/IdBiomeBlockStateMap.java
@@ -1,7 +1,6 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
-import com.seibel.lod.core.a7.util.UnclosableInputStream;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SampledDataSource.java b/core/src/main/java/com/seibel/lod/core/datatype/full/SampledDataSource.java
similarity index 66%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/SampledDataSource.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/SampledDataSource.java
index 1fcad0d6a..3ea593039 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SampledDataSource.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/SampledDataSource.java
@@ -1,6 +1,6 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
+import com.seibel.lod.core.pos.DhSectionPos;
public class SampledDataSource extends FullDataSource {
private boolean[] isGenerated;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataLoader.java
similarity index 61%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataLoader.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataLoader.java
index eaed74dcf..5f6d5cc8d 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataLoader.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataLoader.java
@@ -1,11 +1,10 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
-import com.seibel.lod.core.a7.datatype.DataSourceLoader;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.save.io.file.DataMetaFile;
+import com.seibel.lod.core.datatype.DataSourceLoader;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.io.datafile.DataMetaFile;
-import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataSource.java b/core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataSource.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataSource.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataSource.java
index 408bfcb35..4be22c326 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataSource.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataSource.java
@@ -1,13 +1,12 @@
-package com.seibel.lod.core.a7.datatype.full;
+package com.seibel.lod.core.datatype.full;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.full.accessor.FullArrayView;
-import com.seibel.lod.core.a7.datatype.full.accessor.SingleFullArrayView;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.save.io.file.DataMetaFile;
-import com.seibel.lod.core.a7.util.UnclosableInputStream;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.full.accessor.FullArrayView;
+import com.seibel.lod.core.datatype.full.accessor.SingleFullArrayView;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.pos.DhLodPos;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.io.datafile.DataMetaFile;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/FullArrayView.java b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/FullArrayView.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/FullArrayView.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/accessor/FullArrayView.java
index 5d966bb4a..c3a5b1fb5 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/FullArrayView.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/FullArrayView.java
@@ -1,7 +1,7 @@
-package com.seibel.lod.core.a7.datatype.full.accessor;
+package com.seibel.lod.core.datatype.full.accessor;
-import com.seibel.lod.core.a7.datatype.full.FullFormat;
-import com.seibel.lod.core.a7.datatype.full.IdBiomeBlockStateMap;
+import com.seibel.lod.core.datatype.full.FullFormat;
+import com.seibel.lod.core.datatype.full.IdBiomeBlockStateMap;
import com.seibel.lod.core.util.LodUtil;
public class FullArrayView implements IFullDataView {
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataType.java b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataType.java
similarity index 87%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataType.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataType.java
index 73ab7115b..4b8c94b00 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataType.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataType.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.datatype.full.accessor;
+package com.seibel.lod.core.datatype.full.accessor;
public interface IFullDataType {
byte getDetailOffset();
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataView.java b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataView.java
similarity index 87%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataView.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataView.java
index a8f310028..424600ed5 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataView.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataView.java
@@ -1,6 +1,6 @@
-package com.seibel.lod.core.a7.datatype.full.accessor;
+package com.seibel.lod.core.datatype.full.accessor;
-import com.seibel.lod.core.a7.datatype.full.IdBiomeBlockStateMap;
+import com.seibel.lod.core.datatype.full.IdBiomeBlockStateMap;
import com.seibel.lod.core.util.LodUtil;
import java.util.Iterator;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/SingleFullArrayView.java b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/SingleFullArrayView.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/SingleFullArrayView.java
rename to core/src/main/java/com/seibel/lod/core/datatype/full/accessor/SingleFullArrayView.java
index 66ae6bd68..2d9cd3677 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/SingleFullArrayView.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/SingleFullArrayView.java
@@ -1,7 +1,7 @@
-package com.seibel.lod.core.a7.datatype.full.accessor;
+package com.seibel.lod.core.datatype.full.accessor;
-import com.seibel.lod.core.a7.datatype.full.FullFormat;
-import com.seibel.lod.core.a7.datatype.full.IdBiomeBlockStateMap;
+import com.seibel.lod.core.datatype.full.FullFormat;
+import com.seibel.lod.core.datatype.full.IdBiomeBlockStateMap;
public class SingleFullArrayView implements IFullDataView {
private final long[][] dataArrays;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/DataRenderTransformer.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/DataRenderTransformer.java
similarity index 76%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/transform/DataRenderTransformer.java
rename to core/src/main/java/com/seibel/lod/core/datatype/transform/DataRenderTransformer.java
index 9833b9b78..d37200813 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/DataRenderTransformer.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/DataRenderTransformer.java
@@ -1,10 +1,10 @@
-package com.seibel.lod.core.a7.datatype.transform;
+package com.seibel.lod.core.datatype.transform;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.datatype.column.ColumnRenderLoader;
-import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource;
-import com.seibel.lod.core.a7.level.IClientLevel;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.datatype.column.ColumnRenderLoader;
+import com.seibel.lod.core.datatype.column.ColumnRenderSource;
+import com.seibel.lod.core.level.IClientLevel;
import com.seibel.lod.core.util.LodUtil;
import java.util.concurrent.CompletableFuture;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/FullToColumnTransformer.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/FullToColumnTransformer.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/transform/FullToColumnTransformer.java
rename to core/src/main/java/com/seibel/lod/core/datatype/transform/FullToColumnTransformer.java
index 58ed2921b..82c36d76e 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/FullToColumnTransformer.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/FullToColumnTransformer.java
@@ -1,17 +1,17 @@
-package com.seibel.lod.core.a7.datatype.transform;
+package com.seibel.lod.core.datatype.transform;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat;
-import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnQuadView;
-import com.seibel.lod.core.a7.datatype.full.*;
-import com.seibel.lod.core.a7.datatype.full.accessor.SingleFullArrayView;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.datatype.column.accessor.ColumnFormat;
+import com.seibel.lod.core.datatype.column.ColumnRenderSource;
+import com.seibel.lod.core.datatype.column.accessor.ColumnArrayView;
+import com.seibel.lod.core.datatype.column.accessor.ColumnQuadView;
+import com.seibel.lod.core.datatype.full.*;
+import com.seibel.lod.core.datatype.full.accessor.SingleFullArrayView;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.pos.DhSectionPos;
import com.seibel.lod.core.config.Config;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.objects.DHBlockPos;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.pos.DhBlockPos;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
@@ -172,7 +172,7 @@ public class FullToColumnTransformer {
IBlockStateWrapper block = entry.blockState;
if (block.equals(AIR)) continue;
isVoid = false;
- int color = level.computeBaseColor(new DHBlockPos(blockX, y + level.getMinY(), blockZ), biome, block);
+ int color = level.computeBaseColor(new DhBlockPos(blockX, y + level.getMinY(), blockZ), biome, block);
long columnData = ColumnFormat.createDataPoint(y + blockLength, y, color, light, genMode);
column.set(offset, columnData);
offset++;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodBuilder.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilder.java
similarity index 88%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/LodBuilder.java
rename to core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilder.java
index bc8f0fc83..c9422b7e1 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodBuilder.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilder.java
@@ -1,14 +1,14 @@
-package com.seibel.lod.core.a7.datatype;
+package com.seibel.lod.core.datatype.transform;
import java.util.concurrent.*;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.transform.LodDataBuilder;
-import com.seibel.lod.core.a7.level.ILevel;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.level.ILevel;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.logging.ConfigBasedLogger;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.util.*;
+import com.seibel.lod.core.util.objects.EventLoop;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import org.apache.logging.log4j.LogManager;
@@ -17,14 +17,14 @@ public class LodBuilder {
public static final ConfigBasedLogger LOGGER = new ConfigBasedLogger(LogManager.getLogger(),
() -> Config.Client.Advanced.Debugging.DebugSwitch.logLodBuilderEvent.get());
static class Task {
- final DHChunkPos chunkPos;
+ final DhChunkPos chunkPos;
final CompletableFuture future;
- Task(DHChunkPos chunkPos, CompletableFuture future) {
+ Task(DhChunkPos chunkPos, CompletableFuture future) {
this.chunkPos = chunkPos;
this.future = future;
}
}
- private final ConcurrentHashMap latestChunkToBuild = new ConcurrentHashMap<>();
+ private final ConcurrentHashMap latestChunkToBuild = new ConcurrentHashMap<>();
private final ConcurrentLinkedDeque taskToBuild = new ConcurrentLinkedDeque<>();
private final ExecutorService executor = LodUtil.makeSingleThreadPool(LodBuilder.class);
private final EventLoop ticker = new EventLoop(executor, this::_tick);
diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilderConfig.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java
rename to core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilderConfig.java
index 55c6aff5b..1f8aee8bd 100644
--- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilderConfig.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.builders.lodBuilding;
+package com.seibel.lod.core.datatype.transform;
import com.seibel.lod.core.enums.config.EDistanceGenerationMode;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/LodDataBuilder.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodDataBuilder.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/datatype/transform/LodDataBuilder.java
rename to core/src/main/java/com/seibel/lod/core/datatype/transform/LodDataBuilder.java
index a9b522f9c..67acc4d35 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/LodDataBuilder.java
+++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodDataBuilder.java
@@ -1,8 +1,8 @@
-package com.seibel.lod.core.a7.datatype.transform;
+package com.seibel.lod.core.datatype.transform;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.full.FullFormat;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.datatype.full.FullFormat;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DependencyInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DependencyInjector.java
rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java
index 2dd0ab61a..ce8217da0 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DependencyInjector.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dependencyInjection;
+package com.seibel.lod.core.dependencyInjection;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DhApiEventInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DhApiEventInjector.java
rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java
index fc4164f21..6dd3de6f4 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DhApiEventInjector.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dependencyInjection;
+package com.seibel.lod.core.dependencyInjection;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.events.ICoreDhApiEvent;
import org.apache.logging.log4j.LogManager;
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/IBindable.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/IBindable.java
rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java
index 9ce077eff..3f90701d2 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/IBindable.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dependencyInjection;
+package com.seibel.lod.core.dependencyInjection;
/**
* Necessary for all singletons that can be dependency injected.
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java
rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java
index b88bd2242..d0b978366 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dependencyInjection;
+package com.seibel.lod.core.dependencyInjection;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IModAccessor;
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverrideInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverrideInjector.java
rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java
index 6adb12b3a..d21f00ced 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverrideInjector.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dependencyInjection;
+package com.seibel.lod.core.dependencyInjection;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.ICoreDhApiOverrideable;
import com.seibel.lod.core.util.StringUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverridePriorityListContainer.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverridePriorityListContainer.java
rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java
index faefcc8a9..f66a876d4 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverridePriorityListContainer.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.handlers.dependencyInjection;
+package com.seibel.lod.core.dependencyInjection;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.ICoreDhApiOverrideable;
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/SingletonInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/SingletonInjector.java
rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java
index bf3869b28..7ccbe925c 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/SingletonInjector.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dependencyInjection;
+package com.seibel.lod.core.dependencyInjection;
/**
* This class takes care of dependency injection
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/WorldGeneratorInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/WorldGeneratorInjector.java
rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java
index 5d2cf9122..bae6cc046 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/WorldGeneratorInjector.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java
@@ -17,12 +17,11 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dependencyInjection;
+package com.seibel.lod.core.dependencyInjection;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.worldGenerator.ICoreDhApiWorldGenerator;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper;
import com.seibel.lod.core.util.StringUtil;
-import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
import java.util.HashMap;
diff --git a/core/src/main/java/com/seibel/lod/core/enums/ELodDirection.java b/core/src/main/java/com/seibel/lod/core/enums/ELodDirection.java
index af760595e..9da16ace9 100644
--- a/core/src/main/java/com/seibel/lod/core/enums/ELodDirection.java
+++ b/core/src/main/java/com/seibel/lod/core/enums/ELodDirection.java
@@ -25,7 +25,7 @@ import java.util.Map;
import java.util.function.Predicate;
import java.util.stream.Collectors;
-import com.seibel.lod.core.objects.math.Vec3i;
+import com.seibel.lod.core.util.math.Vec3i;
/**
* An (almost) exact copy of Minecraft's
diff --git a/core/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java b/core/src/main/java/com/seibel/lod/core/generation/BatchGenerator.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java
rename to core/src/main/java/com/seibel/lod/core/generation/BatchGenerator.java
index 94edf3664..f9f6bccb9 100644
--- a/core/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java
+++ b/core/src/main/java/com/seibel/lod/core/generation/BatchGenerator.java
@@ -17,15 +17,14 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.builders.worldGeneration;
+package com.seibel.lod.core.generation;
-import com.seibel.lod.core.a7.generation.IChunkGenerator;
-import com.seibel.lod.core.a7.level.ILevel;
+import com.seibel.lod.core.level.ILevel;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.enums.config.EDistanceGenerationMode;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
@@ -260,7 +259,7 @@ public class BatchGenerator implements IChunkGenerator
}
@Override
- public CompletableFuture generateChunks(DHChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer) {
+ public CompletableFuture generateChunks(DhChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer) {
EDistanceGenerationMode mode = Config.Client.WorldGenerator.distanceGenerationMode.get();
Steps targetStep = null;
switch (mode) {
diff --git a/core/src/main/java/com/seibel/lod/core/a7/generation/GenerationQueue.java b/core/src/main/java/com/seibel/lod/core/generation/GenerationQueue.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/a7/generation/GenerationQueue.java
rename to core/src/main/java/com/seibel/lod/core/generation/GenerationQueue.java
index 5a30f5dd6..6d9d0c349 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/generation/GenerationQueue.java
+++ b/core/src/main/java/com/seibel/lod/core/generation/GenerationQueue.java
@@ -1,11 +1,11 @@
-package com.seibel.lod.core.a7.generation;
+package com.seibel.lod.core.generation;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.pos.DhBlockPos2D;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.util.UncheckedInterruptedException;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.pos.DhBlockPos2D;
+import com.seibel.lod.core.pos.DhLodPos;
+import com.seibel.lod.core.util.objects.UncheckedInterruptedException;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
@@ -355,7 +355,7 @@ public class GenerationQueue implements Closeable {
LodUtil.assertTrue(granularity >= minGranularity && granularity <= maxGranularity);
LodUtil.assertTrue(dataDetail >= minDataDetail && dataDetail <= maxDataDetail);
- DHChunkPos chunkPosMin = new DHChunkPos(pos.getCorner());
+ DhChunkPos chunkPosMin = new DhChunkPos(pos.getCorner());
logger.info("Generating section {} with granularity {} at {}", pos, granularity, chunkPosMin);
task.genFuture = generator.generate(
chunkPosMin, granularity, dataDetail, task.group::accept);
diff --git a/core/src/main/java/com/seibel/lod/core/a7/generation/IChunkGenerator.java b/core/src/main/java/com/seibel/lod/core/generation/IChunkGenerator.java
similarity index 59%
rename from core/src/main/java/com/seibel/lod/core/a7/generation/IChunkGenerator.java
rename to core/src/main/java/com/seibel/lod/core/generation/IChunkGenerator.java
index 0969ccc83..af98fc9a6 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/generation/IChunkGenerator.java
+++ b/core/src/main/java/com/seibel/lod/core/generation/IChunkGenerator.java
@@ -1,19 +1,18 @@
-package com.seibel.lod.core.a7.generation;
+package com.seibel.lod.core.generation;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.transform.LodDataBuilder;
-import com.seibel.lod.core.objects.DHChunkPos;
-import com.seibel.lod.core.util.gridList.ArrayGridList;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.datatype.transform.LodDataBuilder;
+import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
public interface IChunkGenerator extends IGenerator {
- CompletableFuture generateChunks(DHChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer);
+ CompletableFuture generateChunks(DhChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer);
@Override
- default CompletableFuture generate(DHChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer) {
+ default CompletableFuture generate(DhChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer) {
return generateChunks(chunkPosMin, granularity, targetDataDetail, (chunk) -> {
resultConsumer.accept(LodDataBuilder.createChunkData(chunk));
});
diff --git a/core/src/main/java/com/seibel/lod/core/a7/generation/IGenerator.java b/core/src/main/java/com/seibel/lod/core/generation/IGenerator.java
similarity index 85%
rename from core/src/main/java/com/seibel/lod/core/a7/generation/IGenerator.java
rename to core/src/main/java/com/seibel/lod/core/generation/IGenerator.java
index 70e3583d2..ed5f7c0b7 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/generation/IGenerator.java
+++ b/core/src/main/java/com/seibel/lod/core/generation/IGenerator.java
@@ -1,8 +1,7 @@
-package com.seibel.lod.core.a7.generation;
+package com.seibel.lod.core.generation;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.objects.DHChunkPos;
-import com.seibel.lod.core.util.gridList.ArrayGridList;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.pos.DhChunkPos;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
@@ -28,7 +27,7 @@ public interface IGenerator extends AutoCloseable {
// Start a generation event
// (Note that the chunkPos is always aligned to the granularity)
// (For example, if the granularity is 4, data detail is 0, the chunkPos will be aligned to 16x16 blocks)
- CompletableFuture generate(DHChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer);
+ CompletableFuture generate(DhChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer);
// Return whether the generator is currently busy and cannot accept new generation requests.
boolean isBusy();
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/LevelToFileMatcher.java b/core/src/main/java/com/seibel/lod/core/io/LevelToFileMatcher.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/LevelToFileMatcher.java
rename to core/src/main/java/com/seibel/lod/core/io/LevelToFileMatcher.java
index 1112fd484..b0adcb15c 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/LevelToFileMatcher.java
+++ b/core/src/main/java/com/seibel/lod/core/io/LevelToFileMatcher.java
@@ -1,11 +1,9 @@
-package com.seibel.lod.core.a7.save.io;
+package com.seibel.lod.core.io;
import com.seibel.lod.core.config.Config;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.handlers.dimensionFinder.PlayerData;
-import com.seibel.lod.core.handlers.dimensionFinder.SubDimCompare;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.ConfigBasedLogger;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
@@ -97,7 +95,7 @@ public class LevelToFileMatcher implements AutoCloseable {
}
// relevant positions
- DHChunkPos playerChunkPos = new DHChunkPos(playerData.playerBlockPos);
+ DhChunkPos playerChunkPos = new DhChunkPos(playerData.playerBlockPos);
int startingBlockPosX = playerChunkPos.getMinBlockX();
int startingBlockPosZ = playerChunkPos.getMinBlockZ();
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/MetaFile.java b/core/src/main/java/com/seibel/lod/core/io/MetaFile.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/MetaFile.java
rename to core/src/main/java/com/seibel/lod/core/io/MetaFile.java
index e7eb6532c..84dbef08d 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/MetaFile.java
+++ b/core/src/main/java/com/seibel/lod/core/io/MetaFile.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.save.io;
+package com.seibel.lod.core.io;
import java.io.*;
import java.nio.ByteBuffer;
@@ -12,8 +12,8 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.zip.Adler32;
import java.util.zip.CheckedOutputStream;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.util.UnclosableOutputStream;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.util.objects.UnclosableOutputStream;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/PlayerData.java b/core/src/main/java/com/seibel/lod/core/io/PlayerData.java
similarity index 91%
rename from core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/PlayerData.java
rename to core/src/main/java/com/seibel/lod/core/io/PlayerData.java
index 1d3e45dc0..48feb3e4d 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/PlayerData.java
+++ b/core/src/main/java/com/seibel/lod/core/io/PlayerData.java
@@ -17,12 +17,12 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dimensionFinder;
+package com.seibel.lod.core.io;
import com.electronwill.nightconfig.core.file.CommentedFileConfig;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.objects.DHBlockPos;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.pos.DhBlockPos;
import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
@@ -45,7 +45,7 @@ public class PlayerData
public static final String PLAYER_BLOCK_POS_X_PATH = "playerBlockPosX";
public static final String PLAYER_BLOCK_POS_Y_PATH = "playerBlockPosY";
public static final String PLAYER_BLOCK_POS_Z_PATH = "playerBlockPosZ";
- public DHBlockPos playerBlockPos;
+ public DhBlockPos playerBlockPos;
// not implemented yet
public static final String WORLD_SPAWN_POS_X_PATH = "worldSpawnBlockPosX";
@@ -55,7 +55,7 @@ public class PlayerData
* The client world has access to a spawn point, so this should be possible to fill in.
* I'm not sure what this will look like for worlds that don't have a spawn point.
*/
- public DHBlockPos worldSpawnPointBlockPos;
+ public DhBlockPos worldSpawnPointBlockPos;
@Nullable
public static PlayerData tryGetPlayerData(IMinecraftClientWrapper mcClient) {
if (!mcClient.playerExists()) return null;
@@ -86,11 +86,11 @@ public class PlayerData
int x = toml.getIntOrElse(PLAYER_BLOCK_POS_X_PATH, 0);
int y = toml.getIntOrElse(PLAYER_BLOCK_POS_Y_PATH, 0);
int z = toml.getIntOrElse(PLAYER_BLOCK_POS_Z_PATH, 0);
- this.playerBlockPos = new DHBlockPos(x, y, z);
+ this.playerBlockPos = new DhBlockPos(x, y, z);
}
else
{
- this.playerBlockPos = new DHBlockPos(0, 0, 0);
+ this.playerBlockPos = new DhBlockPos(0, 0, 0);
}
}
}
diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/SubDimCompare.java b/core/src/main/java/com/seibel/lod/core/io/SubDimCompare.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/SubDimCompare.java
rename to core/src/main/java/com/seibel/lod/core/io/SubDimCompare.java
index 518c55c84..fce8c2da5 100644
--- a/core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/SubDimCompare.java
+++ b/core/src/main/java/com/seibel/lod/core/io/SubDimCompare.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.handlers.dimensionFinder;
+package com.seibel.lod.core.io;
import com.seibel.lod.core.config.Config;
import org.jetbrains.annotations.NotNull;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataFileHandler.java b/core/src/main/java/com/seibel/lod/core/io/datafile/DataFileHandler.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataFileHandler.java
rename to core/src/main/java/com/seibel/lod/core/io/datafile/DataFileHandler.java
index fd6a624c3..d91a816d2 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataFileHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/io/datafile/DataFileHandler.java
@@ -1,14 +1,13 @@
-package com.seibel.lod.core.a7.save.io.file;
+package com.seibel.lod.core.io.datafile;
import com.google.common.collect.HashMultimap;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.full.FullDataSource;
-import com.seibel.lod.core.a7.datatype.full.SparseDataSource;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.save.io.MetaFile;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.datatype.full.FullDataSource;
+import com.seibel.lod.core.datatype.full.SparseDataSource;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.pos.DhLodPos;
+import com.seibel.lod.core.pos.DhSectionPos;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataMetaFile.java b/core/src/main/java/com/seibel/lod/core/io/datafile/DataMetaFile.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataMetaFile.java
rename to core/src/main/java/com/seibel/lod/core/io/datafile/DataMetaFile.java
index 2c72afc32..cf327e0c1 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataMetaFile.java
+++ b/core/src/main/java/com/seibel/lod/core/io/datafile/DataMetaFile.java
@@ -1,23 +1,21 @@
-package com.seibel.lod.core.a7.save.io.file;
+package com.seibel.lod.core.io.datafile;
import java.io.*;
import java.lang.ref.*;
import java.util.Set;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.DataSourceLoader;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.save.io.MetaFile;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.DataSourceLoader;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.pos.DhLodPos;
+import com.seibel.lod.core.io.MetaFile;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.pos.DhSectionPos;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/GeneratedDataFileHandler.java b/core/src/main/java/com/seibel/lod/core/io/datafile/GeneratedDataFileHandler.java
similarity index 93%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/GeneratedDataFileHandler.java
rename to core/src/main/java/com/seibel/lod/core/io/datafile/GeneratedDataFileHandler.java
index c2c5de641..4d9b53b0f 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/GeneratedDataFileHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/io/datafile/GeneratedDataFileHandler.java
@@ -1,12 +1,12 @@
-package com.seibel.lod.core.a7.save.io.file;
+package com.seibel.lod.core.io.datafile;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.full.FullDataSource;
-import com.seibel.lod.core.a7.datatype.full.SparseDataSource;
-import com.seibel.lod.core.a7.generation.GenerationQueue;
-import com.seibel.lod.core.a7.level.IServerLevel;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.datatype.full.FullDataSource;
+import com.seibel.lod.core.datatype.full.SparseDataSource;
+import com.seibel.lod.core.generation.GenerationQueue;
+import com.seibel.lod.core.level.IServerLevel;
+import com.seibel.lod.core.pos.DhSectionPos;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/IDataSourceProvider.java b/core/src/main/java/com/seibel/lod/core/io/datafile/IDataSourceProvider.java
similarity index 69%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/IDataSourceProvider.java
rename to core/src/main/java/com/seibel/lod/core/io/datafile/IDataSourceProvider.java
index 0b5978e3b..c5c947624 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/IDataSourceProvider.java
+++ b/core/src/main/java/com/seibel/lod/core/io/datafile/IDataSourceProvider.java
@@ -1,17 +1,11 @@
-package com.seibel.lod.core.a7.save.io.file;
+package com.seibel.lod.core.io.datafile;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.full.FullFormat;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.pos.DhSectionPos;
-import javax.annotation.Nullable;
import java.io.File;
-import java.nio.file.Path;
import java.util.Collection;
-import java.util.Collections;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import java.util.function.Consumer;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/RemoteDataFileHandler.java b/core/src/main/java/com/seibel/lod/core/io/datafile/RemoteDataFileHandler.java
similarity index 60%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/RemoteDataFileHandler.java
rename to core/src/main/java/com/seibel/lod/core/io/datafile/RemoteDataFileHandler.java
index e05e63823..1438e75ea 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/RemoteDataFileHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/io/datafile/RemoteDataFileHandler.java
@@ -1,7 +1,6 @@
-package com.seibel.lod.core.a7.save.io.file;
+package com.seibel.lod.core.io.datafile;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.util.LodUtil;
+import com.seibel.lod.core.level.ILevel;
import java.io.File;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/IRenderSourceProvider.java b/core/src/main/java/com/seibel/lod/core/io/renderfile/IRenderSourceProvider.java
similarity index 68%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/render/IRenderSourceProvider.java
rename to core/src/main/java/com/seibel/lod/core/io/renderfile/IRenderSourceProvider.java
index 115853781..4d88cf937 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/IRenderSourceProvider.java
+++ b/core/src/main/java/com/seibel/lod/core/io/renderfile/IRenderSourceProvider.java
@@ -1,8 +1,8 @@
-package com.seibel.lod.core.a7.save.io.render;
+package com.seibel.lod.core.io.renderfile;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.pos.DhSectionPos;
import java.io.File;
import java.util.Collection;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderFileHandler.java b/core/src/main/java/com/seibel/lod/core/io/renderfile/RenderFileHandler.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderFileHandler.java
rename to core/src/main/java/com/seibel/lod/core/io/renderfile/RenderFileHandler.java
index 1476ad62e..a6ccbfa74 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderFileHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/io/renderfile/RenderFileHandler.java
@@ -1,18 +1,18 @@
-package com.seibel.lod.core.a7.save.io.render;
+package com.seibel.lod.core.io.renderfile;
import com.google.common.collect.HashMultimap;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.PlaceHolderRenderSource;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.datatype.RenderSourceLoader;
-import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.transform.DataRenderTransformer;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.save.io.file.IDataSourceProvider;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.util.UncheckedInterruptedException;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.PlaceHolderRenderSource;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.datatype.RenderSourceLoader;
+import com.seibel.lod.core.datatype.column.ColumnRenderSource;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.datatype.transform.DataRenderTransformer;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.pos.DhLodPos;
+import com.seibel.lod.core.io.datafile.IDataSourceProvider;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.util.objects.UncheckedInterruptedException;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.util.LodUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderMetaFile.java b/core/src/main/java/com/seibel/lod/core/io/renderfile/RenderMetaFile.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderMetaFile.java
rename to core/src/main/java/com/seibel/lod/core/io/renderfile/RenderMetaFile.java
index f365e615f..d0ea51643 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderMetaFile.java
+++ b/core/src/main/java/com/seibel/lod/core/io/renderfile/RenderMetaFile.java
@@ -1,19 +1,15 @@
-package com.seibel.lod.core.a7.save.io.render;
+package com.seibel.lod.core.io.renderfile;
-import com.seibel.lod.core.a7.datatype.DataSourceLoader;
-import com.seibel.lod.core.a7.datatype.LodDataSource;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.datatype.RenderSourceLoader;
-import com.seibel.lod.core.a7.datatype.full.ChunkSizedData;
-import com.seibel.lod.core.a7.datatype.transform.DataRenderTransformer;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.pos.DhLodPos;
-import com.seibel.lod.core.a7.save.io.MetaFile;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
+import com.seibel.lod.core.datatype.LodDataSource;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.datatype.RenderSourceLoader;
+import com.seibel.lod.core.datatype.full.ChunkSizedData;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.pos.DhLodPos;
+import com.seibel.lod.core.io.MetaFile;
+import com.seibel.lod.core.pos.DhSectionPos;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.a7.save.io.file.DataMetaFile;
-import com.seibel.lod.core.a7.save.io.file.IDataSourceProvider;
import com.seibel.lod.core.util.LodUtil;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/structure/ClientOnlySaveStructure.java b/core/src/main/java/com/seibel/lod/core/io/structure/ClientOnlySaveStructure.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/a7/save/structure/ClientOnlySaveStructure.java
rename to core/src/main/java/com/seibel/lod/core/io/structure/ClientOnlySaveStructure.java
index ada5d3d01..da35ad4dc 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/structure/ClientOnlySaveStructure.java
+++ b/core/src/main/java/com/seibel/lod/core/io/structure/ClientOnlySaveStructure.java
@@ -1,10 +1,10 @@
-package com.seibel.lod.core.a7.save.structure;
+package com.seibel.lod.core.io.structure;
-import com.seibel.lod.core.a7.save.io.LevelToFileMatcher;
+import com.seibel.lod.core.io.LevelToFileMatcher;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.enums.config.EServerFolderNameMode;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.objects.ParsedIp;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.ParsedIp;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/structure/LocalSaveStructure.java b/core/src/main/java/com/seibel/lod/core/io/structure/LocalSaveStructure.java
similarity index 87%
rename from core/src/main/java/com/seibel/lod/core/a7/save/structure/LocalSaveStructure.java
rename to core/src/main/java/com/seibel/lod/core/io/structure/LocalSaveStructure.java
index 3015efe33..8d7eeb612 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/structure/LocalSaveStructure.java
+++ b/core/src/main/java/com/seibel/lod/core/io/structure/LocalSaveStructure.java
@@ -1,7 +1,5 @@
-package com.seibel.lod.core.a7.save.structure;
+package com.seibel.lod.core.io.structure;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/structure/SaveStructure.java b/core/src/main/java/com/seibel/lod/core/io/structure/SaveStructure.java
similarity index 93%
rename from core/src/main/java/com/seibel/lod/core/a7/save/structure/SaveStructure.java
rename to core/src/main/java/com/seibel/lod/core/io/structure/SaveStructure.java
index a93a1e6f3..8cda20962 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/save/structure/SaveStructure.java
+++ b/core/src/main/java/com/seibel/lod/core/io/structure/SaveStructure.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.save.structure;
+package com.seibel.lod.core.io.structure;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/jar/JarDependencySetup.java b/core/src/main/java/com/seibel/lod/core/jar/JarDependencySetup.java
index 753b7d008..0b92041d5 100644
--- a/core/src/main/java/com/seibel/lod/core/jar/JarDependencySetup.java
+++ b/core/src/main/java/com/seibel/lod/core/jar/JarDependencySetup.java
@@ -1,6 +1,6 @@
package com.seibel.lod.core.jar;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.jar.wrapperInterfaces.config.ConfigWrapper;
import com.seibel.lod.core.wrapperInterfaces.config.IConfigWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/jar/gui/BaseJFrame.java b/core/src/main/java/com/seibel/lod/core/jar/gui/BaseJFrame.java
index b3c61fbe8..ac8c80642 100644
--- a/core/src/main/java/com/seibel/lod/core/jar/gui/BaseJFrame.java
+++ b/core/src/main/java/com/seibel/lod/core/jar/gui/BaseJFrame.java
@@ -3,8 +3,7 @@ package com.seibel.lod.core.jar.gui;
import com.formdev.flatlaf.FlatDarkLaf;
import com.formdev.flatlaf.FlatLightLaf;
import com.formdev.flatlaf.extras.FlatSVGIcon;
-import com.seibel.lod.core.JarMain;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.jar.JarUtils;
import com.seibel.lod.core.wrapperInterfaces.config.IConfigWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/DhClientLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java
similarity index 78%
rename from core/src/main/java/com/seibel/lod/core/a7/level/DhClientLevel.java
rename to core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java
index 7d744aa4b..f2fb89a29 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/level/DhClientLevel.java
+++ b/core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java
@@ -1,18 +1,18 @@
-package com.seibel.lod.core.a7.level;
+package com.seibel.lod.core.level;
-import com.seibel.lod.core.a7.render.LodQuadTree;
-import com.seibel.lod.core.a7.util.FileScanner;
-import com.seibel.lod.core.a7.save.io.file.RemoteDataFileHandler;
-import com.seibel.lod.core.a7.save.io.render.RenderFileHandler;
-import com.seibel.lod.core.a7.pos.DhBlockPos2D;
-import com.seibel.lod.core.a7.render.RenderBufferHandler;
-import com.seibel.lod.core.a7.save.structure.ClientOnlySaveStructure;
+import com.seibel.lod.core.render.LodQuadTree;
+import com.seibel.lod.core.util.FileScanUtil;
+import com.seibel.lod.core.io.datafile.RemoteDataFileHandler;
+import com.seibel.lod.core.io.renderfile.RenderFileHandler;
+import com.seibel.lod.core.pos.DhBlockPos2D;
+import com.seibel.lod.core.render.RenderBufferHandler;
+import com.seibel.lod.core.io.structure.ClientOnlySaveStructure;
import com.seibel.lod.core.config.Config;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.objects.math.Mat4f;
-import com.seibel.lod.core.a7.render.a7LodRenderer;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.util.math.Mat4f;
+import com.seibel.lod.core.render.renderer.LodRenderer;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper;
@@ -31,7 +31,7 @@ public class DhClientLevel implements IClientLevel {
public final RenderFileHandler renderFileHandler;
public final RenderBufferHandler renderBufferHandler; //TODO: Should this be owned by renderer?
public final IClientLevelWrapper level;
- public a7LodRenderer renderer = null;
+ public LodRenderer renderer = null;
public LodQuadTree tree;
public DhClientLevel(ClientOnlySaveStructure save, IClientLevelWrapper level) {
@@ -44,7 +44,7 @@ public class DhClientLevel implements IClientLevel {
MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, renderFileHandler);
renderBufferHandler = new RenderBufferHandler(tree);
this.level = level;
- FileScanner.scanFile(save, level, dataFileHandler, renderFileHandler);
+ FileScanUtil.scanFile(save, level, dataFileHandler, renderFileHandler);
LOGGER.info("Started DHLevel for {} with saves at {}", level, save);
}
@@ -63,7 +63,7 @@ public class DhClientLevel implements IClientLevel {
@Override
public void render(Mat4f mcModelViewMatrix, Mat4f mcProjectionMatrix, float partialTicks, IProfilerWrapper profiler) {
if (renderer == null) {
- renderer = new a7LodRenderer(this);
+ renderer = new LodRenderer(this);
}
renderer.drawLODs(mcModelViewMatrix, mcProjectionMatrix, partialTicks, profiler);
}
@@ -74,7 +74,7 @@ public class DhClientLevel implements IClientLevel {
}
@Override
- public int computeBaseColor(DHBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block) {
+ public int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block) {
return 0; //TODO
}
diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/DhClientServerLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java
similarity index 88%
rename from core/src/main/java/com/seibel/lod/core/a7/level/DhClientServerLevel.java
rename to core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java
index af9562cfc..a7cdf1fcd 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/level/DhClientServerLevel.java
+++ b/core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java
@@ -1,21 +1,21 @@
-package com.seibel.lod.core.a7.level;
+package com.seibel.lod.core.level;
-import com.seibel.lod.core.a7.generation.GenerationQueue;
-import com.seibel.lod.core.a7.render.LodQuadTree;
-import com.seibel.lod.core.a7.save.io.file.GeneratedDataFileHandler;
-import com.seibel.lod.core.a7.util.FileScanner;
-import com.seibel.lod.core.a7.save.io.render.RenderFileHandler;
-import com.seibel.lod.core.a7.pos.DhBlockPos2D;
-import com.seibel.lod.core.a7.render.RenderBufferHandler;
-import com.seibel.lod.core.a7.save.structure.LocalSaveStructure;
-import com.seibel.lod.core.builders.worldGeneration.BatchGenerator;
+import com.seibel.lod.core.generation.GenerationQueue;
+import com.seibel.lod.core.render.LodQuadTree;
+import com.seibel.lod.core.io.datafile.GeneratedDataFileHandler;
+import com.seibel.lod.core.util.FileScanUtil;
+import com.seibel.lod.core.io.renderfile.RenderFileHandler;
+import com.seibel.lod.core.pos.DhBlockPos2D;
+import com.seibel.lod.core.render.RenderBufferHandler;
+import com.seibel.lod.core.io.structure.LocalSaveStructure;
+import com.seibel.lod.core.generation.BatchGenerator;
import com.seibel.lod.core.config.Config;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.logging.f3.F3Screen;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.objects.math.Mat4f;
-import com.seibel.lod.core.a7.render.a7LodRenderer;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.util.math.Mat4f;
+import com.seibel.lod.core.render.renderer.LodRenderer;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
@@ -39,7 +39,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel {
public RenderBufferHandler renderBufferHandler = null; //TODO: Should this be owned by renderer?
public final IServerLevelWrapper serverLevel;
public IClientLevelWrapper clientLevel;
- public a7LodRenderer renderer = null;
+ public LodRenderer renderer = null;
public LodQuadTree tree = null;
public volatile BatchGenerator worldGenerator = null;
private final ReentrantLock renderStateLifecycleLock = new ReentrantLock();
@@ -52,7 +52,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel {
save.getDataFolder(level).mkdirs();
save.getRenderCacheFolder(level).mkdirs();
dataFileHandler = new GeneratedDataFileHandler(this, save.getDataFolder(level));
- FileScanner.scanFile(save, serverLevel, dataFileHandler, null);
+ FileScanUtil.scanFile(save, serverLevel, dataFileHandler, null);
LOGGER.info("Started DHLevel for {} with saves at {}", level, save);
f3Msg = new F3Screen.NestedMessage(this::f3Log);
}
@@ -108,7 +108,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel {
tree = new LodQuadTree(this, Config.Client.Graphics.Quality.lodChunkRenderDistance.get() * 16,
MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, renderFileHandler);
renderBufferHandler = new RenderBufferHandler(tree);
- FileScanner.scanFile(save, serverLevel, null, renderFileHandler);
+ FileScanUtil.scanFile(save, serverLevel, null, renderFileHandler);
} finally {
renderStateLifecycleLock.unlock();
}
@@ -123,7 +123,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel {
return;
}
if (renderer == null) {
- renderer = new a7LodRenderer(this);
+ renderer = new LodRenderer(this);
}
renderer.drawLODs(mcModelViewMatrix, mcProjectionMatrix, partialTicks, profiler);
} finally {
@@ -172,7 +172,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel {
}
@Override
- public int computeBaseColor(DHBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block) {
+ public int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block) {
return clientLevel.computeBaseColor(pos, biome, block);
}
diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/DhServerLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java
similarity index 83%
rename from core/src/main/java/com/seibel/lod/core/a7/level/DhServerLevel.java
rename to core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java
index 92f40b2eb..8c563ef1d 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/level/DhServerLevel.java
+++ b/core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java
@@ -1,9 +1,8 @@
-package com.seibel.lod.core.a7.level;
+package com.seibel.lod.core.level;
-import com.seibel.lod.core.a7.save.io.file.RemoteDataFileHandler;
-import com.seibel.lod.core.a7.util.FileScanner;
-import com.seibel.lod.core.a7.save.io.file.DataFileHandler;
-import com.seibel.lod.core.a7.save.structure.LocalSaveStructure;
+import com.seibel.lod.core.util.FileScanUtil;
+import com.seibel.lod.core.io.datafile.DataFileHandler;
+import com.seibel.lod.core.io.structure.LocalSaveStructure;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper;
@@ -24,7 +23,7 @@ public class DhServerLevel implements IServerLevel
this.level = level;
save.getDataFolder(level).mkdirs();
dataFileHandler = new DataFileHandler(this, save.getDataFolder(level)); //FIXME: GenerationQueue
- FileScanner.scanFile(save, level, dataFileHandler, null);
+ FileScanUtil.scanFile(save, level, dataFileHandler, null);
LOGGER.info("Started DHLevel for {} with saves at {}", level, save);
}
diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/IClientLevel.java b/core/src/main/java/com/seibel/lod/core/level/IClientLevel.java
similarity index 72%
rename from core/src/main/java/com/seibel/lod/core/a7/level/IClientLevel.java
rename to core/src/main/java/com/seibel/lod/core/level/IClientLevel.java
index b39af928b..afafbed7a 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/level/IClientLevel.java
+++ b/core/src/main/java/com/seibel/lod/core/level/IClientLevel.java
@@ -1,8 +1,8 @@
-package com.seibel.lod.core.a7.level;
+package com.seibel.lod.core.level;
-import com.seibel.lod.core.a7.render.RenderBufferHandler;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.objects.math.Mat4f;
+import com.seibel.lod.core.render.RenderBufferHandler;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.util.math.Mat4f;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper;
@@ -18,7 +18,7 @@ public interface IClientLevel extends ILevel {
RenderBufferHandler getRenderBufferHandler();
- int computeBaseColor(DHBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block);
+ int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block);
IClientLevelWrapper getClientLevelWrapper();
}
diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/ILevel.java b/core/src/main/java/com/seibel/lod/core/level/ILevel.java
similarity index 90%
rename from core/src/main/java/com/seibel/lod/core/a7/level/ILevel.java
rename to core/src/main/java/com/seibel/lod/core/level/ILevel.java
index a6c4c311a..cbe5b5f38 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/level/ILevel.java
+++ b/core/src/main/java/com/seibel/lod/core/level/ILevel.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.level;
+package com.seibel.lod.core.level;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/IServerLevel.java b/core/src/main/java/com/seibel/lod/core/level/IServerLevel.java
similarity index 85%
rename from core/src/main/java/com/seibel/lod/core/a7/level/IServerLevel.java
rename to core/src/main/java/com/seibel/lod/core/level/IServerLevel.java
index 9382f6e29..1277d7d15 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/level/IServerLevel.java
+++ b/core/src/main/java/com/seibel/lod/core/level/IServerLevel.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.level;
+package com.seibel.lod.core.level;
import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedLogger.java b/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedLogger.java
index e08fbbe77..54fb5e69f 100644
--- a/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedLogger.java
+++ b/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedLogger.java
@@ -20,7 +20,7 @@
package com.seibel.lod.core.logging;
import com.seibel.lod.core.enums.config.ELoggerMode;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedSpamLogger.java b/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedSpamLogger.java
index 65290b1ea..d523ff93e 100644
--- a/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedSpamLogger.java
+++ b/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedSpamLogger.java
@@ -20,7 +20,7 @@
package com.seibel.lod.core.logging;
import com.seibel.lod.core.enums.config.ELoggerMode;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/logging/f3/F3Screen.java b/core/src/main/java/com/seibel/lod/core/logging/f3/F3Screen.java
index b0aa0164a..d755ecfbf 100644
--- a/core/src/main/java/com/seibel/lod/core/logging/f3/F3Screen.java
+++ b/core/src/main/java/com/seibel/lod/core/logging/f3/F3Screen.java
@@ -1,7 +1,6 @@
package com.seibel.lod.core.logging.f3;
import com.seibel.lod.core.ModInfo;
-import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView;
import java.lang.ref.WeakReference;
import java.util.Arrays;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/DHBlockPos.java b/core/src/main/java/com/seibel/lod/core/pos/DhBlockPos.java
similarity index 89%
rename from core/src/main/java/com/seibel/lod/core/objects/DHBlockPos.java
rename to core/src/main/java/com/seibel/lod/core/pos/DhBlockPos.java
index be3d1f3c8..48c346285 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/DHBlockPos.java
+++ b/core/src/main/java/com/seibel/lod/core/pos/DhBlockPos.java
@@ -17,13 +17,11 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects;
-
-import com.seibel.lod.core.a7.pos.DhBlockPos2D;
+package com.seibel.lod.core.pos;
import java.util.Objects;
-public class DHBlockPos {
+public class DhBlockPos {
public static final boolean DO_CHECKS = false;
// 26 bits wide as that just encompasses the maximum possible value
@@ -46,19 +44,19 @@ public class DHBlockPos {
public final int y;
public final int z;
- public DHBlockPos(int x, int y, int z) {
+ public DhBlockPos(int x, int y, int z) {
this.x = x;
this.y = y;
this.z = z;
}
- public DHBlockPos() {
+ public DhBlockPos() {
this(0, 0, 0);
}
- public DHBlockPos(DHBlockPos pos) {
+ public DhBlockPos(DhBlockPos pos) {
this(pos.x, pos.y, pos.z);
}
- public DHBlockPos(DhBlockPos2D pos, int y) {
+ public DhBlockPos(DhBlockPos2D pos, int y) {
this(pos.x, y, pos.z);
}
@@ -104,7 +102,7 @@ public class DHBlockPos {
public static int getZ(long packed) { // Z is at the middle
return (int)(packed <<(64 - PACKED_Z_OFFSET - PACKED_Z_LENGTH) >> (64 - PACKED_Z_LENGTH));
}
- public DHBlockPos(long packed) {
+ public DhBlockPos(long packed) {
this(getX(packed), getY(packed), getZ(packed));
}
@@ -112,12 +110,12 @@ public class DHBlockPos {
return asLong(x, y, z);
}
- public DHBlockPos offset(int x, int y, int z)
+ public DhBlockPos offset(int x, int y, int z)
{
- return new DHBlockPos(this.x + x, this.y + y, this.z + z);
+ return new DhBlockPos(this.x + x, this.y + y, this.z + z);
}
- public int getManhattanDistance(DHBlockPos otherPos)
+ public int getManhattanDistance(DhBlockPos otherPos)
{
return Math.abs(this.getX() - otherPos.getX()) + Math.abs(this.getY() - otherPos.getY()) + Math.abs(this.getZ() - otherPos.getZ());
}
@@ -126,7 +124,7 @@ public class DHBlockPos {
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- DHBlockPos that = (DHBlockPos) o;
+ DhBlockPos that = (DhBlockPos) o;
return x == that.x && y == that.y && z == that.z;
}
@@ -148,7 +146,7 @@ public class DHBlockPos {
if (packed != expected) {
throw new IllegalArgumentException("Packed values don't match: " + packed + " != " + expected);
}
- DHBlockPos pos = new DHBlockPos(packed);
+ DhBlockPos pos = new DhBlockPos(packed);
if (pos.getX() != x || pos.getY() != y || pos.getZ() != z) {
throw new IllegalArgumentException("Values after decode don't match: " + pos + " != " + x + ", " + y + ", " + z);
}
diff --git a/core/src/main/java/com/seibel/lod/core/a7/pos/DhBlockPos2D.java b/core/src/main/java/com/seibel/lod/core/pos/DhBlockPos2D.java
similarity index 87%
rename from core/src/main/java/com/seibel/lod/core/a7/pos/DhBlockPos2D.java
rename to core/src/main/java/com/seibel/lod/core/pos/DhBlockPos2D.java
index e17c27159..e01ec430e 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/pos/DhBlockPos2D.java
+++ b/core/src/main/java/com/seibel/lod/core/pos/DhBlockPos2D.java
@@ -1,11 +1,7 @@
-package com.seibel.lod.core.a7.pos;
+package com.seibel.lod.core.pos;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.objects.Pos2D;
import com.seibel.lod.core.util.LodUtil;
-import java.util.Objects;
-
public class DhBlockPos2D {
public final int x;
public final int z;
@@ -14,7 +10,7 @@ public class DhBlockPos2D {
this.z = z;
}
- public DhBlockPos2D(DHBlockPos blockPos) {
+ public DhBlockPos2D(DhBlockPos blockPos) {
this.x = blockPos.x;
this.z = blockPos.z;
}
diff --git a/core/src/main/java/com/seibel/lod/core/objects/DHChunkPos.java b/core/src/main/java/com/seibel/lod/core/pos/DhChunkPos.java
similarity index 85%
rename from core/src/main/java/com/seibel/lod/core/objects/DHChunkPos.java
rename to core/src/main/java/com/seibel/lod/core/pos/DhChunkPos.java
index ef42746b8..1fe736caa 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/DHChunkPos.java
+++ b/core/src/main/java/com/seibel/lod/core/pos/DhChunkPos.java
@@ -17,37 +17,36 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects;
+package com.seibel.lod.core.pos;
import java.util.Objects;
-import com.seibel.lod.core.a7.pos.DhBlockPos2D;
import com.seibel.lod.core.util.LevelPosUtil;
import com.seibel.lod.core.util.LodUtil;
-public class DHChunkPos {
+public class DhChunkPos {
public final int x; // Low 32 bits
public final int z; // High 32 bits
- public DHChunkPos(int x, int z) {
+ public DhChunkPos(int x, int z) {
this.x = x;
this.z = z;
}
- public DHChunkPos(DHBlockPos blockPos) {
+ public DhChunkPos(DhBlockPos blockPos) {
this.x = blockPos.x >> 4; // Same as div 16
this.z = blockPos.z >> 4; // Same as div 16
}
- public DHChunkPos(DhBlockPos2D blockPos) {
+ public DhChunkPos(DhBlockPos2D blockPos) {
this.x = blockPos.x >> 4; // Same as div 16
this.z = blockPos.z >> 4; // Same as div 16
}
- public DHBlockPos center() {
- return new DHBlockPos(8 + x << 4, 0, 8 + z << 4);
+ public DhBlockPos center() {
+ return new DhBlockPos(8 + x << 4, 0, 8 + z << 4);
}
- public DHBlockPos corner() {
- return new DHBlockPos(x << 4, 0, z << 4);
+ public DhBlockPos corner() {
+ return new DhBlockPos(x << 4, 0, z << 4);
}
public static long toLong(int x, int z) {
@@ -61,7 +60,7 @@ public class DHChunkPos {
return (int)(chunkPos & 0xFFFFFFFFL);
}
- public DHChunkPos(long packed) {
+ public DhChunkPos(long packed) {
this(getX(packed), getZ(packed));
}
@@ -110,7 +109,7 @@ public class DHChunkPos {
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- DHChunkPos that = (DHChunkPos) o;
+ DhChunkPos that = (DhChunkPos) o;
return x == that.x && z == that.z;
}
@@ -130,7 +129,7 @@ public class DHChunkPos {
if (packed != expected) {
throw new IllegalArgumentException("Packed values don't match: " + packed + " != " + expected);
}
- DHChunkPos pos = new DHChunkPos(packed);
+ DhChunkPos pos = new DhChunkPos(packed);
if (pos.x != x || pos.z != z) {
throw new IllegalArgumentException("Values after decode don't match: " + pos + " != " + x + ", " + z);
}
diff --git a/core/src/main/java/com/seibel/lod/core/a7/pos/DhLodPos.java b/core/src/main/java/com/seibel/lod/core/pos/DhLodPos.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/a7/pos/DhLodPos.java
rename to core/src/main/java/com/seibel/lod/core/pos/DhLodPos.java
index 88c7be0b5..3591c2e1e 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/pos/DhLodPos.java
+++ b/core/src/main/java/com/seibel/lod/core/pos/DhLodPos.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.pos;
+package com.seibel.lod.core.pos;
import com.seibel.lod.core.util.LodUtil;
import org.jetbrains.annotations.NotNull;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/pos/DhLodUnit.java b/core/src/main/java/com/seibel/lod/core/pos/DhLodUnit.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/a7/pos/DhLodUnit.java
rename to core/src/main/java/com/seibel/lod/core/pos/DhLodUnit.java
index 226ed59bf..2b6fe2099 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/pos/DhLodUnit.java
+++ b/core/src/main/java/com/seibel/lod/core/pos/DhLodUnit.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.pos;
+package com.seibel.lod.core.pos;
public class DhLodUnit {
public final byte detail;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/pos/DhSectionPos.java b/core/src/main/java/com/seibel/lod/core/pos/DhSectionPos.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/a7/pos/DhSectionPos.java
rename to core/src/main/java/com/seibel/lod/core/pos/DhSectionPos.java
index b98e4a6f9..26fb6fbc9 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/pos/DhSectionPos.java
+++ b/core/src/main/java/com/seibel/lod/core/pos/DhSectionPos.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.pos;
+package com.seibel.lod.core.pos;
import com.seibel.lod.core.enums.ELodDirection;
import com.seibel.lod.core.util.LodUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/Pos2D.java b/core/src/main/java/com/seibel/lod/core/pos/Pos2D.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/objects/Pos2D.java
rename to core/src/main/java/com/seibel/lod/core/pos/Pos2D.java
index 848423544..862ba2b2a 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/Pos2D.java
+++ b/core/src/main/java/com/seibel/lod/core/pos/Pos2D.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects;
+package com.seibel.lod.core.pos;
import com.seibel.lod.core.util.LodUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/LodQuadTree.java b/core/src/main/java/com/seibel/lod/core/render/LodQuadTree.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/a7/render/LodQuadTree.java
rename to core/src/main/java/com/seibel/lod/core/render/LodQuadTree.java
index db5494f93..98968892e 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/render/LodQuadTree.java
+++ b/core/src/main/java/com/seibel/lod/core/render/LodQuadTree.java
@@ -1,13 +1,12 @@
-package com.seibel.lod.core.a7.render;
+package com.seibel.lod.core.render;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.pos.DhBlockPos2D;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.save.io.render.IRenderSourceProvider;
+import com.seibel.lod.core.datatype.column.ColumnRenderSource;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.pos.DhBlockPos2D;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.io.renderfile.IRenderSourceProvider;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.objects.Pos2D;
+import com.seibel.lod.core.pos.Pos2D;
import com.seibel.lod.core.util.DetailDistanceUtil;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.util.gridList.MovableGridRingList;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/LodRenderSection.java b/core/src/main/java/com/seibel/lod/core/render/LodRenderSection.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/render/LodRenderSection.java
rename to core/src/main/java/com/seibel/lod/core/render/LodRenderSection.java
index b07d4933b..d0ce8d525 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/render/LodRenderSection.java
+++ b/core/src/main/java/com/seibel/lod/core/render/LodRenderSection.java
@@ -1,9 +1,9 @@
-package com.seibel.lod.core.a7.render;
+package com.seibel.lod.core.render;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.a7.save.io.render.IRenderSourceProvider;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.io.renderfile.IRenderSourceProvider;
import java.util.concurrent.CompletableFuture;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/RenderBuffer.java b/core/src/main/java/com/seibel/lod/core/render/RenderBuffer.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/render/RenderBuffer.java
rename to core/src/main/java/com/seibel/lod/core/render/RenderBuffer.java
index e7225921b..4fe82e1d7 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/render/RenderBuffer.java
+++ b/core/src/main/java/com/seibel/lod/core/render/RenderBuffer.java
@@ -17,11 +17,11 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.a7.render;
+package com.seibel.lod.core.render;
-import com.seibel.lod.core.render.LodRenderProgram;
+import com.seibel.lod.core.render.renderer.LodRenderer;
import com.seibel.lod.core.util.LodUtil;
-import com.seibel.lod.core.util.StatsMap;
+import com.seibel.lod.core.util.objects.StatsMap;
public abstract class RenderBuffer implements AutoCloseable
{
@@ -32,7 +32,7 @@ public abstract class RenderBuffer implements AutoCloseable
// ========== Called by render thread ==========
/* Called on... well... rendering.
* Return false if nothing rendered. (Optional) */
- public abstract boolean render(a7LodRenderer renderContext);
+ public abstract boolean render(LodRenderer renderContext);
// ========== Called by any thread. (thread safe) ==========
diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/RenderBufferHandler.java b/core/src/main/java/com/seibel/lod/core/render/RenderBufferHandler.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/a7/render/RenderBufferHandler.java
rename to core/src/main/java/com/seibel/lod/core/render/RenderBufferHandler.java
index a5d594ee9..18d46bb84 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/render/RenderBufferHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/render/RenderBufferHandler.java
@@ -1,8 +1,9 @@
-package com.seibel.lod.core.a7.render;
+package com.seibel.lod.core.render;
-import com.seibel.lod.core.a7.datatype.LodRenderSource;
-import com.seibel.lod.core.objects.Pos2D;
-import com.seibel.lod.core.a7.pos.DhSectionPos;
+import com.seibel.lod.core.datatype.LodRenderSource;
+import com.seibel.lod.core.pos.Pos2D;
+import com.seibel.lod.core.pos.DhSectionPos;
+import com.seibel.lod.core.render.renderer.LodRenderer;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.util.gridList.MovableGridRingList;
@@ -27,7 +28,7 @@ public class RenderBufferHandler {
* This will render all opaque lods
* @param renderContext
*/
- public void renderOpaque(a7LodRenderer renderContext) {
+ public void renderOpaque(LodRenderer renderContext) {
RenderBuffer buff;
buff = renderBufferSlotOpaque.get();
@@ -47,7 +48,7 @@ public class RenderBufferHandler {
* This will render all transparent lods
* @param renderContext
*/
- public void renderTransparent(a7LodRenderer renderContext) {
+ public void renderTransparent(LodRenderer renderContext) {
RenderBuffer buff;
buff = renderBufferSlotTransparent.get();
if (buff != null) {
@@ -145,13 +146,13 @@ public class RenderBufferHandler {
renderBufferNodes = new MovableGridRingList<>(referenceList.getHalfSize(), center);
}
- public void render(a7LodRenderer renderContext) {
+ public void render(LodRenderer renderContext) {
//TODO: This might get locked by update() causing move() call. Is there a way to avoid this?
// Maybe dupe the base list and use atomic swap on render? Or is this not worth it?
//TODO: Directional culling
//TODO: Ordered by distance
renderBufferNodes.forEachOrdered(n -> n.renderOpaque(renderContext));
- if(a7LodRenderer.transparencyEnabled)
+ if(LodRenderer.transparencyEnabled)
renderBufferNodes.forEachOrdered(n -> n.renderTransparent(renderContext));
}
diff --git a/core/src/main/java/com/seibel/lod/core/objects/FogSettings.java b/core/src/main/java/com/seibel/lod/core/render/fog/FogSettings.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/objects/FogSettings.java
rename to core/src/main/java/com/seibel/lod/core/render/fog/FogSettings.java
index 2f20ee167..2964dbcb3 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/FogSettings.java
+++ b/core/src/main/java/com/seibel/lod/core/render/fog/FogSettings.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects;
+package com.seibel.lod.core.render.fog;
import com.seibel.lod.core.enums.rendering.EFogFalloff;
diff --git a/core/src/main/java/com/seibel/lod/core/render/LodFogConfig.java b/core/src/main/java/com/seibel/lod/core/render/fog/LodFogConfig.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/render/LodFogConfig.java
rename to core/src/main/java/com/seibel/lod/core/render/fog/LodFogConfig.java
index d6cc1dab2..a728cb7d6 100644
--- a/core/src/main/java/com/seibel/lod/core/render/LodFogConfig.java
+++ b/core/src/main/java/com/seibel/lod/core/render/fog/LodFogConfig.java
@@ -17,16 +17,15 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render;
+package com.seibel.lod.core.render.fog;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.enums.rendering.EFogDrawMode;
import com.seibel.lod.core.enums.rendering.EFogDistance;
import com.seibel.lod.core.enums.rendering.*;
-import com.seibel.lod.core.handlers.IReflectionHandler;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.objects.FogSettings;
-import com.seibel.lod.core.render.objects.Shader;
+import com.seibel.lod.core.IReflectionHandler;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.render.glObject.shader.Shader;
import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
import java.io.FileOutputStream;
@@ -34,7 +33,7 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Objects;
-import static com.seibel.lod.core.render.GLProxy.GL_LOGGER;
+import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER;
/**
* This holds fog related settings and
@@ -59,7 +58,7 @@ public class LodFogConfig
final boolean drawNearFog;
- final int earthCurveRatio; // FIXME: Move this out of here
+ public final int earthCurveRatio; // FIXME: Move this out of here
public static LodFogConfig generateFogConfig()
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLEnums.java b/core/src/main/java/com/seibel/lod/core/render/glObject/GLEnums.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/render/objects/GLEnums.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/GLEnums.java
index a6ce998a9..6768dfd80 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/GLEnums.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/GLEnums.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject;
import static org.lwjgl.opengl.GL46.*;
diff --git a/core/src/main/java/com/seibel/lod/core/render/GLProxy.java b/core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/render/GLProxy.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java
index fc163a76e..52b5c2b19 100644
--- a/core/src/main/java/com/seibel/lod/core/render/GLProxy.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render;
+package com.seibel.lod.core.render.glObject;
import java.io.FileNotFoundException;
import java.io.PrintStream;
@@ -42,9 +42,9 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.seibel.lod.core.ModInfo;
import com.seibel.lod.core.enums.config.EGpuUploadMethod;
import com.seibel.lod.core.enums.rendering.EGLProxyContext;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.util.GLMessage;
-import com.seibel.lod.core.util.GLMessageOutputStream;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.util.objects.GLMessage;
+import com.seibel.lod.core.util.objects.GLMessageOutputStream;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
/**
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLState.java b/core/src/main/java/com/seibel/lod/core/render/glObject/GLState.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/render/objects/GLState.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/GLState.java
index 7a5cfbbec..757fe613d 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/GLState.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/GLState.java
@@ -17,8 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject;
+import com.seibel.lod.core.render.glObject.GLEnums;
import org.lwjgl.opengl.GL32;
public class GLState {
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/LightmapTexture.java b/core/src/main/java/com/seibel/lod/core/render/glObject/LightmapTexture.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/render/objects/LightmapTexture.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/LightmapTexture.java
index ac556f538..ce73e3f35 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/LightmapTexture.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/LightmapTexture.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject;
import org.lwjgl.opengl.GL32;
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLBuffer.java b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLBuffer.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/render/objects/GLBuffer.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLBuffer.java
index ff6f1116b..8e2a32657 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/GLBuffer.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLBuffer.java
@@ -1,11 +1,11 @@
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.buffer;
import com.seibel.lod.core.enums.config.EGpuUploadMethod;
import com.seibel.lod.core.enums.rendering.EGLProxyContext;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.render.GLProxy;
+import com.seibel.lod.core.render.glObject.GLProxy;
import com.seibel.lod.core.util.LodUtil;
-import com.seibel.lod.core.util.UnitBytes;
+import com.seibel.lod.core.util.math.UnitBytes;
import org.apache.logging.log4j.Logger;
import org.lwjgl.opengl.GL32;
import org.lwjgl.opengl.GL44;
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLElementBuffer.java b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLElementBuffer.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/render/objects/GLElementBuffer.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLElementBuffer.java
index a80e5a26b..ff64a083a 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/GLElementBuffer.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLElementBuffer.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.buffer;
import org.lwjgl.opengl.GL32;
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLVertexBuffer.java b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLVertexBuffer.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/render/objects/GLVertexBuffer.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLVertexBuffer.java
index 3f35cf94a..bea05f5d4 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/GLVertexBuffer.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLVertexBuffer.java
@@ -17,9 +17,10 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.buffer;
import java.nio.ByteBuffer;
+
import org.lwjgl.opengl.GL32;
import com.seibel.lod.core.enums.config.EGpuUploadMethod;
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/QuadElementBuffer.java b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/QuadElementBuffer.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/render/objects/QuadElementBuffer.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/buffer/QuadElementBuffer.java
index 6484cd9b2..a6a1944fc 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/QuadElementBuffer.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/QuadElementBuffer.java
@@ -1,8 +1,9 @@
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.buffer;
import com.seibel.lod.core.enums.config.EGpuUploadMethod;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.render.GLProxy;
+import com.seibel.lod.core.render.glObject.GLProxy;
+import com.seibel.lod.core.render.glObject.GLEnums;
import org.apache.logging.log4j.Logger;
import org.lwjgl.opengl.GL32;
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/Shader.java b/core/src/main/java/com/seibel/lod/core/render/glObject/shader/Shader.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/render/objects/Shader.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/shader/Shader.java
index d2a2825a7..ef4cfc8a5 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/Shader.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/shader/Shader.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.shader;
import java.io.BufferedReader;
import java.io.FileInputStream;
@@ -28,7 +28,7 @@ import java.io.InputStreamReader;
import org.lwjgl.opengl.GL32;
-import static com.seibel.lod.core.render.GLProxy.GL_LOGGER;
+import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER;
/**
* This object holds a OpenGL reference to a shader
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/ShaderProgram.java b/core/src/main/java/com/seibel/lod/core/render/glObject/shader/ShaderProgram.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/render/objects/ShaderProgram.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/shader/ShaderProgram.java
index bd6af7f89..d2a1c656b 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/ShaderProgram.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/shader/ShaderProgram.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.shader;
import java.awt.Color;
import java.nio.FloatBuffer;
@@ -26,9 +26,9 @@ import java.util.function.Supplier;
import org.lwjgl.opengl.GL32;
import org.lwjgl.system.MemoryStack;
-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.util.math.Mat4f;
+import com.seibel.lod.core.util.math.Vec3d;
+import com.seibel.lod.core.util.math.Vec3f;
/**
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttribute.java b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttribute.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/render/objects/VertexAttribute.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttribute.java
index f5b24ad1d..554f24f20 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttribute.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttribute.java
@@ -17,9 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.vertexAttribute;
-import com.seibel.lod.core.render.GLProxy;
+import com.seibel.lod.core.render.glObject.GLProxy;
import org.lwjgl.opengl.GL32;
import com.seibel.lod.core.util.LodUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePostGL43.java b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePostGL43.java
similarity index 96%
rename from core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePostGL43.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePostGL43.java
index fa9fbc8c0..45023fd97 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePostGL43.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePostGL43.java
@@ -17,11 +17,11 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.vertexAttribute;
import org.lwjgl.opengl.GL43;
-import static com.seibel.lod.core.render.GLProxy.GL_LOGGER;
+import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER;
// In OpenGL 4.3 and later, Vertex Attribute got a make-over.
// Now it provides support for buffer binding points natively.
diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePreGL43.java b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePreGL43.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePreGL43.java
rename to core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePreGL43.java
index 10ffaf918..119d373c0 100644
--- a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePreGL43.java
+++ b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePreGL43.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render.objects;
+package com.seibel.lod.core.render.glObject.vertexAttribute;
import java.util.ArrayList;
import java.util.Iterator;
@@ -26,7 +26,7 @@ import java.util.TreeSet;
import org.lwjgl.opengl.GL32;
-import static com.seibel.lod.core.render.GLProxy.GL_LOGGER;
+import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER;
public final class VertexAttributePreGL43 extends VertexAttribute {
diff --git a/core/src/main/java/com/seibel/lod/core/render/LodRenderProgram.java b/core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderProgram.java
similarity index 90%
rename from core/src/main/java/com/seibel/lod/core/render/LodRenderProgram.java
rename to core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderProgram.java
index fdcbe51ad..ff0753c33 100644
--- a/core/src/main/java/com/seibel/lod/core/render/LodRenderProgram.java
+++ b/core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderProgram.java
@@ -17,14 +17,20 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render;
+package com.seibel.lod.core.render.renderer;
import java.awt.Color;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.objects.math.Mat4f;
-import com.seibel.lod.core.objects.math.Vec3f;
-import com.seibel.lod.core.render.objects.*;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.render.fog.LodFogConfig;
+import com.seibel.lod.core.render.glObject.GLProxy;
+import com.seibel.lod.core.render.glObject.shader.Shader;
+import com.seibel.lod.core.render.glObject.shader.ShaderProgram;
+import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttribute;
+import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttributePostGL43;
+import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttributePreGL43;
+import com.seibel.lod.core.util.math.Mat4f;
+import com.seibel.lod.core.util.math.Vec3f;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.IVersionConstants;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/a7LodRenderer.java b/core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderer.java
similarity index 91%
rename from core/src/main/java/com/seibel/lod/core/a7/render/a7LodRenderer.java
rename to core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderer.java
index 8407a5692..575c18c57 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/render/a7LodRenderer.java
+++ b/core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderer.java
@@ -17,29 +17,29 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.a7.render;
+package com.seibel.lod.core.render.renderer;
-import com.seibel.lod.core.a7.level.IClientLevel;
+import com.seibel.lod.core.level.IClientLevel;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.config.types.ConfigEntry;
import com.seibel.lod.core.enums.rendering.EDebugMode;
import com.seibel.lod.core.enums.rendering.EFogColorMode;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.ConfigBasedLogger;
import com.seibel.lod.core.logging.ConfigBasedSpamLogger;
-import com.seibel.lod.core.objects.DHBlockPos;
-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.render.GLProxy;
-import com.seibel.lod.core.render.LodFogConfig;
-import com.seibel.lod.core.render.LodRenderProgram;
-import com.seibel.lod.core.render.RenderUtil;
-import com.seibel.lod.core.render.objects.GLState;
-import com.seibel.lod.core.render.objects.GLVertexBuffer;
-import com.seibel.lod.core.render.objects.QuadElementBuffer;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.render.RenderBuffer;
+import com.seibel.lod.core.render.RenderBufferHandler;
+import com.seibel.lod.core.util.RenderUtil;
+import com.seibel.lod.core.render.fog.LodFogConfig;
+import com.seibel.lod.core.render.glObject.GLProxy;
+import com.seibel.lod.core.util.math.Mat4f;
+import com.seibel.lod.core.util.math.Vec3d;
+import com.seibel.lod.core.util.math.Vec3f;
+import com.seibel.lod.core.render.glObject.GLState;
+import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer;
+import com.seibel.lod.core.render.glObject.buffer.QuadElementBuffer;
import com.seibel.lod.core.util.LodUtil;
-import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper;
@@ -58,12 +58,12 @@ import java.util.concurrent.TimeUnit;
* @author James Seibel
* @version 2022-8-21
*/
-public class a7LodRenderer
+public class LodRenderer
{
- public static final ConfigBasedLogger EVENT_LOGGER = new ConfigBasedLogger(LogManager.getLogger(a7LodRenderer.class),
+ public static final ConfigBasedLogger EVENT_LOGGER = new ConfigBasedLogger(LogManager.getLogger(LodRenderer.class),
() -> Config.Client.Advanced.Debugging.DebugSwitch.logRendererBufferEvent.get());
- public static ConfigBasedSpamLogger tickLogger = new ConfigBasedSpamLogger(LogManager.getLogger(a7LodRenderer.class),
+ public static ConfigBasedSpamLogger tickLogger = new ConfigBasedSpamLogger(LogManager.getLogger(LodRenderer.class),
() -> Config.Client.Advanced.Debugging.DebugSwitch.logRendererBufferEvent.get(),1);
public static final boolean ENABLE_DRAW_LAG_SPIKE_LOGGING = false;
public static final boolean ENABLE_DUMP_GL_STATE = true;
@@ -74,7 +74,7 @@ public class a7LodRenderer
public static boolean transparencyEnabled = true;
public static boolean fakeOceanFloor = true;
- public void setupOffset(DHBlockPos pos) {
+ public void setupOffset(DhBlockPos pos) {
Vec3d cam = MC_RENDER.getCameraExactPosition();
shaderProgram.setModelPos(new Vec3f((float) (pos.x - cam.x), (float) (pos.y - cam.y), (float) (pos.z - cam.z)));
}
@@ -109,7 +109,7 @@ public class a7LodRenderer
public QuadElementBuffer quadIBO = null;
public boolean isSetupComplete = false;
- public a7LodRenderer(IClientLevel level)
+ public LodRenderer(IClientLevel level)
{
this.level = level;
}
@@ -231,7 +231,7 @@ public class a7LodRenderer
boolean cullingDisabled = Config.Client.Graphics.AdvancedGraphics.disableDirectionalCulling.get();
Vec3d cameraPos = MC_RENDER.getCameraExactPosition();
- DHBlockPos cameraBlockPos = MC_RENDER.getCameraBlockPosition();
+ DhBlockPos cameraBlockPos = MC_RENDER.getCameraBlockPosition();
Vec3f cameraDir = MC_RENDER.getLookAtVector();
int drawCount = 0;
diff --git a/core/src/main/java/com/seibel/lod/core/render/RenderSystemTest.java b/core/src/main/java/com/seibel/lod/core/render/renderer/TestRenderer.java
similarity index 87%
rename from core/src/main/java/com/seibel/lod/core/render/RenderSystemTest.java
rename to core/src/main/java/com/seibel/lod/core/render/renderer/TestRenderer.java
index fa71af36f..18e39c1de 100644
--- a/core/src/main/java/com/seibel/lod/core/render/RenderSystemTest.java
+++ b/core/src/main/java/com/seibel/lod/core/render/renderer/TestRenderer.java
@@ -17,18 +17,19 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render;
+package com.seibel.lod.core.render.renderer;
import com.seibel.lod.core.enums.config.EGpuUploadMethod;
import com.seibel.lod.core.enums.config.ELoggerMode;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.ConfigBasedLogger;
import com.seibel.lod.core.logging.ConfigBasedSpamLogger;
-import com.seibel.lod.core.render.objects.GLVertexBuffer;
-import com.seibel.lod.core.render.objects.GLState;
-import com.seibel.lod.core.render.objects.ShaderProgram;
-import com.seibel.lod.core.render.objects.VertexAttribute;
+import com.seibel.lod.core.render.glObject.GLProxy;
+import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer;
+import com.seibel.lod.core.render.glObject.GLState;
+import com.seibel.lod.core.render.glObject.shader.ShaderProgram;
+import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttribute;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
import org.apache.logging.log4j.LogManager;
import org.lwjgl.opengl.GL32;
@@ -37,14 +38,14 @@ import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-public class RenderSystemTest {
+public class TestRenderer {
- public RenderSystemTest() {}
+ public TestRenderer() {}
public static final ConfigBasedLogger logger = new ConfigBasedLogger(
- LogManager.getLogger(RenderSystemTest.class), () -> ELoggerMode.LOG_ALL_TO_CHAT);
+ LogManager.getLogger(TestRenderer.class), () -> ELoggerMode.LOG_ALL_TO_CHAT);
public static final ConfigBasedSpamLogger spamLogger = new ConfigBasedSpamLogger(
- LogManager.getLogger(RenderSystemTest.class), () -> ELoggerMode.LOG_ALL_TO_CHAT, 1);
+ LogManager.getLogger(TestRenderer.class), () -> ELoggerMode.LOG_ALL_TO_CHAT, 1);
private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class);
ShaderProgram basicShader;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/DefaultLodVertexFormats.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java
rename to core/src/main/java/com/seibel/lod/core/render/vertexFormat/DefaultLodVertexFormats.java
index 8ed68475b..d73ed1ab3 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java
+++ b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/DefaultLodVertexFormats.java
@@ -17,9 +17,11 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects.opengl;
+package com.seibel.lod.core.render.vertexFormat;
import com.google.common.collect.ImmutableList;
+import com.seibel.lod.core.render.vertexFormat.LodVertexFormat;
+import com.seibel.lod.core.render.vertexFormat.LodVertexFormatElement;
/**
* A (almost) exact copy of MC's
diff --git a/core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormat.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java
rename to core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormat.java
index 7287a2846..463544c90 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java
+++ b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormat.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects.opengl;
+package com.seibel.lod.core.render.vertexFormat;
import java.util.stream.Collectors;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormatElement.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java
rename to core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormatElement.java
index 96af231ad..e141b5921 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java
+++ b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormatElement.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects.opengl;
+package com.seibel.lod.core.render.vertexFormat;
import org.lwjgl.opengl.GL11;
diff --git a/core/src/main/java/com/seibel/lod/core/util/Atomics.java b/core/src/main/java/com/seibel/lod/core/util/AtomicsUtil.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/util/Atomics.java
rename to core/src/main/java/com/seibel/lod/core/util/AtomicsUtil.java
index fc38bcaa4..ccb26fad3 100644
--- a/core/src/main/java/com/seibel/lod/core/util/Atomics.java
+++ b/core/src/main/java/com/seibel/lod/core/util/AtomicsUtil.java
@@ -6,7 +6,7 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.atomic.AtomicReferenceArray;
import java.util.function.Predicate;
-public class Atomics {
+public class AtomicsUtil {
// While java 8 does have built in atomic operations, there doesn't seem to be any Compare And Exchange operation...
// So here we implement our own.
diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/FileScanner.java b/core/src/main/java/com/seibel/lod/core/util/FileScanUtil.java
similarity index 88%
rename from core/src/main/java/com/seibel/lod/core/a7/util/FileScanner.java
rename to core/src/main/java/com/seibel/lod/core/util/FileScanUtil.java
index c8381b6d4..600a43270 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/util/FileScanner.java
+++ b/core/src/main/java/com/seibel/lod/core/util/FileScanUtil.java
@@ -1,8 +1,8 @@
-package com.seibel.lod.core.a7.util;
+package com.seibel.lod.core.util;
-import com.seibel.lod.core.a7.save.io.file.IDataSourceProvider;
-import com.seibel.lod.core.a7.save.io.render.IRenderSourceProvider;
-import com.seibel.lod.core.a7.save.structure.SaveStructure;
+import com.seibel.lod.core.io.datafile.IDataSourceProvider;
+import com.seibel.lod.core.io.renderfile.IRenderSourceProvider;
+import com.seibel.lod.core.io.structure.SaveStructure;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
import org.apache.logging.log4j.Logger;
@@ -14,7 +14,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
// Static util class??
-public class FileScanner {
+public class FileScanUtil {
private static final Logger LOGGER = DhLoggerBuilder.getLogger();
public static final int MAX_SCAN_DEPTH = 5;
public static final String LOD_FILE_POSTFIX = ".lod";
diff --git a/core/src/main/java/com/seibel/lod/core/util/LodUtil.java b/core/src/main/java/com/seibel/lod/core/util/LodUtil.java
index 0a7230fa1..f932df0e3 100644
--- a/core/src/main/java/com/seibel/lod/core/util/LodUtil.java
+++ b/core/src/main/java/com/seibel/lod/core/util/LodUtil.java
@@ -26,14 +26,15 @@ import java.util.concurrent.Executors;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.enums.config.EServerFolderNameMode;
import com.seibel.lod.core.enums.config.EVanillaOverdraw;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.logging.DhLoggerBuilder;
-import com.seibel.lod.core.objects.DHChunkPos;
-import com.seibel.lod.core.objects.ParsedIp;
-import com.seibel.lod.core.objects.Pos2D;
-import com.seibel.lod.core.objects.opengl.DefaultLodVertexFormats;
-import com.seibel.lod.core.objects.opengl.LodVertexFormat;
+import com.seibel.lod.core.pos.DhChunkPos;
+import com.seibel.lod.core.ParsedIp;
+import com.seibel.lod.core.pos.Pos2D;
+import com.seibel.lod.core.render.vertexFormat.DefaultLodVertexFormats;
+import com.seibel.lod.core.render.vertexFormat.LodVertexFormat;
import com.seibel.lod.core.util.gridList.EdgeDistanceBooleanGrid;
+import com.seibel.lod.core.util.objects.LodThreadFactory;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
@@ -305,7 +306,7 @@ public class LodUtil
if (offset == Integer.MAX_VALUE) return null;
int renderDist = MC_RENDER.getRenderDistance() + 1;
- Iterator posIter = MC_RENDER.getVanillaRenderedChunks().iterator();
+ Iterator posIter = MC_RENDER.getVanillaRenderedChunks().iterator();
return new EdgeDistanceBooleanGrid(new Iterator() {
@Override
@@ -315,7 +316,7 @@ public class LodUtil
@Override
public Pos2D next() {
- DHChunkPos pos = posIter.next();
+ DhChunkPos pos = posIter.next();
return new Pos2D(pos.getX(), pos.getZ());
}
},
diff --git a/core/src/main/java/com/seibel/lod/core/render/RenderUtil.java b/core/src/main/java/com/seibel/lod/core/util/RenderUtil.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/render/RenderUtil.java
rename to core/src/main/java/com/seibel/lod/core/util/RenderUtil.java
index 31abccd87..97dd665d6 100644
--- a/core/src/main/java/com/seibel/lod/core/render/RenderUtil.java
+++ b/core/src/main/java/com/seibel/lod/core/util/RenderUtil.java
@@ -17,19 +17,18 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.render;
+package com.seibel.lod.core.util;
-import com.seibel.lod.core.a7.level.IClientLevel;
-import com.seibel.lod.core.a7.world.DhWorld;
-import com.seibel.lod.core.a7.world.IClientWorld;
-import com.seibel.lod.core.api.internal.a7.SharedApi;
+import com.seibel.lod.core.level.IClientLevel;
+import com.seibel.lod.core.world.DhWorld;
+import com.seibel.lod.core.world.IClientWorld;
+import com.seibel.lod.core.api.internal.SharedApi;
import com.seibel.lod.core.config.Config;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.objects.DHChunkPos;
-import com.seibel.lod.core.objects.math.Mat4f;
-import com.seibel.lod.core.objects.math.Vec3f;
-import com.seibel.lod.core.util.LodUtil;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.pos.DhChunkPos;
+import com.seibel.lod.core.util.math.Mat4f;
+import com.seibel.lod.core.util.math.Vec3f;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
@@ -55,7 +54,7 @@ public class RenderUtil
* Returns if the given ChunkPos is in the loaded area of the world.
* @param center the center of the loaded world (probably the player's ChunkPos)
*/
- public static boolean isChunkPosInLoadedArea(DHChunkPos pos, DHChunkPos center)
+ public static boolean isChunkPosInLoadedArea(DhChunkPos pos, DhChunkPos center)
{
return (pos.getX() >= center.getX() - MC_RENDER.getRenderDistance()
&& pos.getX() <= center.getX() + MC_RENDER.getRenderDistance())
@@ -96,7 +95,7 @@ public class RenderUtil
* Returns true if one of the region's 4 corners is in front
* of the camera.
*/
- public static boolean isRegionInViewFrustum(DHBlockPos playerBlockPos, Vec3f cameraDir, int vboRegionX, int vboRegionZ)
+ public static boolean isRegionInViewFrustum(DhBlockPos playerBlockPos, Vec3f cameraDir, int vboRegionX, int vboRegionZ)
{
// convert the vbo position into a direction vector
// starting from the player's position
diff --git a/core/src/main/java/com/seibel/lod/core/util/gridList/ArrayGridList.java b/core/src/main/java/com/seibel/lod/core/util/gridList/ArrayGridList.java
index 0f24cc4df..6a9acf533 100644
--- a/core/src/main/java/com/seibel/lod/core/util/gridList/ArrayGridList.java
+++ b/core/src/main/java/com/seibel/lod/core/util/gridList/ArrayGridList.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.util.gridList;
-import com.seibel.lod.core.objects.Pos2D;
+import com.seibel.lod.core.pos.Pos2D;
import java.util.ArrayList;
import java.util.function.BiConsumer;
diff --git a/core/src/main/java/com/seibel/lod/core/util/gridList/EdgeDistanceBooleanGrid.java b/core/src/main/java/com/seibel/lod/core/util/gridList/EdgeDistanceBooleanGrid.java
index 2a3686ae9..deb619b7e 100644
--- a/core/src/main/java/com/seibel/lod/core/util/gridList/EdgeDistanceBooleanGrid.java
+++ b/core/src/main/java/com/seibel/lod/core/util/gridList/EdgeDistanceBooleanGrid.java
@@ -19,8 +19,8 @@
package com.seibel.lod.core.util.gridList;
-import com.seibel.lod.core.objects.BoolType;
-import com.seibel.lod.core.objects.Pos2D;
+import com.seibel.lod.core.util.objects.BoolType;
+import com.seibel.lod.core.pos.Pos2D;
import java.util.Iterator;
import java.util.function.IntPredicate;
diff --git a/core/src/main/java/com/seibel/lod/core/util/gridList/MovableGridRingList.java b/core/src/main/java/com/seibel/lod/core/util/gridList/MovableGridRingList.java
index 8a58978e1..6a7791bfa 100644
--- a/core/src/main/java/com/seibel/lod/core/util/gridList/MovableGridRingList.java
+++ b/core/src/main/java/com/seibel/lod/core/util/gridList/MovableGridRingList.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.util.gridList;
-import com.seibel.lod.core.objects.Pos2D;
+import com.seibel.lod.core.pos.Pos2D;
import com.seibel.lod.core.util.LodUtil;
import java.util.ArrayList;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java b/core/src/main/java/com/seibel/lod/core/util/math/Mat4f.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java
rename to core/src/main/java/com/seibel/lod/core/util/math/Mat4f.java
index 537d14925..d3fcadb10 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java
+++ b/core/src/main/java/com/seibel/lod/core/util/math/Mat4f.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects.math;
+package com.seibel.lod.core.util.math;
import java.nio.FloatBuffer;
diff --git a/core/src/main/java/com/seibel/lod/core/util/UnitBytes.java b/core/src/main/java/com/seibel/lod/core/util/math/UnitBytes.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/util/UnitBytes.java
rename to core/src/main/java/com/seibel/lod/core/util/math/UnitBytes.java
index 2ca943708..2b33dfbf5 100644
--- a/core/src/main/java/com/seibel/lod/core/util/UnitBytes.java
+++ b/core/src/main/java/com/seibel/lod/core/util/math/UnitBytes.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.math;
import java.util.Objects;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3d.java b/core/src/main/java/com/seibel/lod/core/util/math/Vec3d.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/objects/math/Vec3d.java
rename to core/src/main/java/com/seibel/lod/core/util/math/Vec3d.java
index ff4355e94..403a4f03f 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3d.java
+++ b/core/src/main/java/com/seibel/lod/core/util/math/Vec3d.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects.math;
+package com.seibel.lod.core.util.math;
import com.seibel.lod.core.util.LodUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java b/core/src/main/java/com/seibel/lod/core/util/math/Vec3f.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java
rename to core/src/main/java/com/seibel/lod/core/util/math/Vec3f.java
index 31c5c5d82..b9e308023 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java
+++ b/core/src/main/java/com/seibel/lod/core/util/math/Vec3f.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects.math;
+package com.seibel.lod.core.util.math;
import com.seibel.lod.core.util.LodUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java b/core/src/main/java/com/seibel/lod/core/util/math/Vec3i.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java
rename to core/src/main/java/com/seibel/lod/core/util/math/Vec3i.java
index 930575c0b..2c27c11a6 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java
+++ b/core/src/main/java/com/seibel/lod/core/util/math/Vec3i.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects.math;
+package com.seibel.lod.core.util.math;
import com.seibel.lod.core.util.LodUtil;
diff --git a/core/src/main/java/com/seibel/lod/core/objects/BoolType.java b/core/src/main/java/com/seibel/lod/core/util/objects/BoolType.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/objects/BoolType.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/BoolType.java
index 38b0c5cff..4cdc928fa 100644
--- a/core/src/main/java/com/seibel/lod/core/objects/BoolType.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/BoolType.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.objects;
+package com.seibel.lod.core.util.objects;
public final class BoolType {
public static final BoolType TRUE = new BoolType();
diff --git a/core/src/main/java/com/seibel/lod/core/util/DummyRunExecutorService.java b/core/src/main/java/com/seibel/lod/core/util/objects/DummyRunExecutorService.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/util/DummyRunExecutorService.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/DummyRunExecutorService.java
index 35f8535f4..2dc64e81d 100644
--- a/core/src/main/java/com/seibel/lod/core/util/DummyRunExecutorService.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/DummyRunExecutorService.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.objects;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/core/src/main/java/com/seibel/lod/core/util/EventLoop.java b/core/src/main/java/com/seibel/lod/core/util/objects/EventLoop.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/util/EventLoop.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/EventLoop.java
index 01c4f49d3..b0e63dc2c 100644
--- a/core/src/main/java/com/seibel/lod/core/util/EventLoop.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/EventLoop.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.objects;
import com.seibel.lod.core.ModInfo;
import com.seibel.lod.core.logging.DhLoggerBuilder;
diff --git a/core/src/main/java/com/seibel/lod/core/util/EventTimer.java b/core/src/main/java/com/seibel/lod/core/util/objects/EventTimer.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/util/EventTimer.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/EventTimer.java
index b07a4b359..db76adceb 100644
--- a/core/src/main/java/com/seibel/lod/core/util/EventTimer.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/EventTimer.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.objects;
import java.time.Duration;
import java.util.ArrayList;
diff --git a/core/src/main/java/com/seibel/lod/core/util/GLMessage.java b/core/src/main/java/com/seibel/lod/core/util/objects/GLMessage.java
similarity index 99%
rename from core/src/main/java/com/seibel/lod/core/util/GLMessage.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/GLMessage.java
index 982a5b622..695c4c7c5 100644
--- a/core/src/main/java/com/seibel/lod/core/util/GLMessage.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/GLMessage.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.objects;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/util/GLMessageOutputStream.java b/core/src/main/java/com/seibel/lod/core/util/objects/GLMessageOutputStream.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/util/GLMessageOutputStream.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/GLMessageOutputStream.java
index b0e4f49df..ddf9ad058 100644
--- a/core/src/main/java/com/seibel/lod/core/util/GLMessageOutputStream.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/GLMessageOutputStream.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.objects;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
diff --git a/core/src/main/java/com/seibel/lod/core/util/LodThreadFactory.java b/core/src/main/java/com/seibel/lod/core/util/objects/LodThreadFactory.java
similarity index 98%
rename from core/src/main/java/com/seibel/lod/core/util/LodThreadFactory.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/LodThreadFactory.java
index 69539c224..926743581 100644
--- a/core/src/main/java/com/seibel/lod/core/util/LodThreadFactory.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/LodThreadFactory.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.objects;
import java.lang.invoke.MethodHandles;
import java.lang.ref.WeakReference;
diff --git a/core/src/main/java/com/seibel/lod/core/util/Reference.java b/core/src/main/java/com/seibel/lod/core/util/objects/Reference.java
similarity index 87%
rename from core/src/main/java/com/seibel/lod/core/util/Reference.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/Reference.java
index e0e49d506..699e58428 100644
--- a/core/src/main/java/com/seibel/lod/core/util/Reference.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/Reference.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.objects;
public class Reference {
public T v;
diff --git a/core/src/main/java/com/seibel/lod/core/util/StatsMap.java b/core/src/main/java/com/seibel/lod/core/util/objects/StatsMap.java
similarity index 94%
rename from core/src/main/java/com/seibel/lod/core/util/StatsMap.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/StatsMap.java
index dbe0ee02c..c3b3b072c 100644
--- a/core/src/main/java/com/seibel/lod/core/util/StatsMap.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/StatsMap.java
@@ -17,7 +17,9 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.util;
+package com.seibel.lod.core.util.objects;
+
+import com.seibel.lod.core.util.math.UnitBytes;
import java.util.TreeMap;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/UncheckedInterruptedException.java b/core/src/main/java/com/seibel/lod/core/util/objects/UncheckedInterruptedException.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/a7/util/UncheckedInterruptedException.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/UncheckedInterruptedException.java
index 2b06e5dc8..e4594cdc2 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/util/UncheckedInterruptedException.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/UncheckedInterruptedException.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.util;
+package com.seibel.lod.core.util.objects;
import java.util.concurrent.CompletionException;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/UnclosableInputStream.java b/core/src/main/java/com/seibel/lod/core/util/objects/UnclosableInputStream.java
similarity index 88%
rename from core/src/main/java/com/seibel/lod/core/a7/util/UnclosableInputStream.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/UnclosableInputStream.java
index 3eae49f3a..3a4860be7 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/util/UnclosableInputStream.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/UnclosableInputStream.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.util;
+package com.seibel.lod.core.util.objects;
import java.io.FilterInputStream;
import java.io.IOException;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/UnclosableOutputStream.java b/core/src/main/java/com/seibel/lod/core/util/objects/UnclosableOutputStream.java
similarity index 87%
rename from core/src/main/java/com/seibel/lod/core/a7/util/UnclosableOutputStream.java
rename to core/src/main/java/com/seibel/lod/core/util/objects/UnclosableOutputStream.java
index 508e4735f..676f85507 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/util/UnclosableOutputStream.java
+++ b/core/src/main/java/com/seibel/lod/core/util/objects/UnclosableOutputStream.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.util;
+package com.seibel.lod.core.util.objects;
import java.io.FilterOutputStream;
import java.io.IOException;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/DhClientServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/world/DhClientServerWorld.java
rename to core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java
index 2b18b9bd1..be706da31 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/world/DhClientServerWorld.java
+++ b/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java
@@ -1,11 +1,10 @@
-package com.seibel.lod.core.a7.world;
+package com.seibel.lod.core.world;
-import com.seibel.lod.core.a7.level.DhClientServerLevel;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.save.structure.LocalSaveStructure;
-import com.seibel.lod.core.config.Config;
+import com.seibel.lod.core.level.DhClientServerLevel;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.io.structure.LocalSaveStructure;
import com.seibel.lod.core.logging.f3.F3Screen;
-import com.seibel.lod.core.util.EventLoop;
+import com.seibel.lod.core.util.objects.EventLoop;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.world.IClientLevelWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
@@ -14,8 +13,6 @@ import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper;
import java.io.File;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/DhClientWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/world/DhClientWorld.java
rename to core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java
index 806b1311d..aadad37ac 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/world/DhClientWorld.java
+++ b/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java
@@ -1,11 +1,11 @@
-package com.seibel.lod.core.a7.world;
+package com.seibel.lod.core.world;
-import com.seibel.lod.core.a7.level.DhClientLevel;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.save.structure.ClientOnlySaveStructure;
+import com.seibel.lod.core.level.DhClientLevel;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.io.structure.ClientOnlySaveStructure;
import com.seibel.lod.core.config.Config;
import com.seibel.lod.core.util.DetailDistanceUtil;
-import com.seibel.lod.core.util.EventLoop;
+import com.seibel.lod.core.util.objects.EventLoop;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.world.IClientLevelWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/DhServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java
similarity index 92%
rename from core/src/main/java/com/seibel/lod/core/a7/world/DhServerWorld.java
rename to core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java
index 2110cbe49..441063d2d 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/world/DhServerWorld.java
+++ b/core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java
@@ -1,8 +1,8 @@
-package com.seibel.lod.core.a7.world;
+package com.seibel.lod.core.world;
-import com.seibel.lod.core.a7.level.DhServerLevel;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.a7.save.structure.LocalSaveStructure;
+import com.seibel.lod.core.level.DhServerLevel;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.io.structure.LocalSaveStructure;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/DhWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhWorld.java
similarity index 91%
rename from core/src/main/java/com/seibel/lod/core/a7/world/DhWorld.java
rename to core/src/main/java/com/seibel/lod/core/world/DhWorld.java
index 8f69cad4d..47cb2eb3b 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/world/DhWorld.java
+++ b/core/src/main/java/com/seibel/lod/core/world/DhWorld.java
@@ -1,6 +1,6 @@
-package com.seibel.lod.core.a7.world;
+package com.seibel.lod.core.world;
-import com.seibel.lod.core.a7.level.ILevel;
+import com.seibel.lod.core.level.ILevel;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/IClientWorld.java b/core/src/main/java/com/seibel/lod/core/world/IClientWorld.java
similarity index 60%
rename from core/src/main/java/com/seibel/lod/core/a7/world/IClientWorld.java
rename to core/src/main/java/com/seibel/lod/core/world/IClientWorld.java
index f9d36cbc8..20bc05bb6 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/world/IClientWorld.java
+++ b/core/src/main/java/com/seibel/lod/core/world/IClientWorld.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.world;
+package com.seibel.lod.core.world;
public interface IClientWorld {
void clientTick();
diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/IServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/IServerWorld.java
similarity index 68%
rename from core/src/main/java/com/seibel/lod/core/a7/world/IServerWorld.java
rename to core/src/main/java/com/seibel/lod/core/world/IServerWorld.java
index adc899dc6..630c510dc 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/world/IServerWorld.java
+++ b/core/src/main/java/com/seibel/lod/core/world/IServerWorld.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.world;
+package com.seibel.lod.core.world;
public interface IServerWorld {
void serverTick();
diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/WorldEnvironment.java b/core/src/main/java/com/seibel/lod/core/world/WorldEnvironment.java
similarity index 69%
rename from core/src/main/java/com/seibel/lod/core/a7/world/WorldEnvironment.java
rename to core/src/main/java/com/seibel/lod/core/world/WorldEnvironment.java
index b595277d8..2a01962ae 100644
--- a/core/src/main/java/com/seibel/lod/core/a7/world/WorldEnvironment.java
+++ b/core/src/main/java/com/seibel/lod/core/world/WorldEnvironment.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.a7.world;
+package com.seibel.lod.core.world;
public enum WorldEnvironment {
Client_Only,
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IVersionConstants.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IVersionConstants.java
index 40f1dffb4..743ac4b73 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IVersionConstants.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IVersionConstants.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* A singleton that contains variables specific to each version of Minecraft
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java
index d272a1a51..09d2a4b7f 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java
@@ -19,8 +19,8 @@
package com.seibel.lod.core.wrapperInterfaces;
-import com.seibel.lod.core.a7.level.ILevel;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.level.ILevel;
+import com.seibel.lod.core.dependencyInjection.IBindable;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper;
import com.seibel.lod.core.wrapperInterfaces.worldGeneration.AbstractBatchGenerationEnvionmentWrapper;
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockStateWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockStateWrapper.java
index 7fa4fa1be..b6c038a18 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockStateWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockStateWrapper.java
@@ -1,10 +1,5 @@
package com.seibel.lod.core.wrapperInterfaces.block;
-import com.seibel.lod.core.enums.ELodDirection;
-import com.seibel.lod.core.enums.config.EBlocksToAvoid;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
-
public interface IBlockStateWrapper {
String serialize();
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java
index 500947e12..7b2cbe1f6 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java
@@ -19,8 +19,8 @@
package com.seibel.lod.core.wrapperInterfaces.chunk;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper;
@@ -91,5 +91,5 @@ public interface IChunkWrapper extends IBindable
IBlockStateWrapper getBlockState(int x, int y, int z);
IBiomeWrapper getBiome(int x, int y, int z);
- DHChunkPos getChunkPos();
+ DhChunkPos getChunkPos();
}
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/IConfigWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/IConfigWrapper.java
index 58cd1b49c..371637890 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/IConfigWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/IConfigWrapper.java
@@ -1,6 +1,6 @@
package com.seibel.lod.core.wrapperInterfaces.config;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
public interface IConfigWrapper extends IBindable {
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java
index 971b28883..1013600d3 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java
@@ -26,9 +26,9 @@ import com.seibel.lod.core.enums.rendering.EFogDistance;
import com.seibel.lod.core.enums.rendering.ERendererMode;
import com.seibel.lod.core.enums.config.*;
import com.seibel.lod.core.enums.rendering.*;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.objects.FogSettings;
+import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.render.fog.FogSettings;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
/**
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java
index e81ddf069..d3b07aba7 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java
@@ -24,10 +24,9 @@ import java.util.ArrayList;
import com.seibel.lod.core.ModInfo;
import com.seibel.lod.core.enums.ELodDirection;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.objects.DHChunkPos;
-import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
+import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
import org.apache.logging.log4j.Level;
@@ -71,9 +70,9 @@ public interface IMinecraftClientWrapper extends IBindable
boolean playerExists();
- DHBlockPos getPlayerBlockPos();
+ DhBlockPos getPlayerBlockPos();
- DHChunkPos getPlayerChunkPos();
+ DhChunkPos getPlayerChunkPos();
@Deprecated
ILevelWrapper getWrappedClientWorld();
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
index b91b2cd61..4b4d3bbc8 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
@@ -22,14 +22,14 @@ package com.seibel.lod.core.wrapperInterfaces.minecraft;
import java.awt.Color;
import java.util.HashSet;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
-import com.seibel.lod.core.handlers.dependencyInjection.ModAccessorInjector;
-import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.objects.DHChunkPos;
-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.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.ModAccessorInjector;
+import com.seibel.lod.core.dependencyInjection.SingletonInjector;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.pos.DhChunkPos;
+import com.seibel.lod.core.util.math.Mat4f;
+import com.seibel.lod.core.util.math.Vec3d;
+import com.seibel.lod.core.util.math.Vec3f;
import com.seibel.lod.core.wrapperInterfaces.IVersionConstants;
import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
import com.seibel.lod.core.wrapperInterfaces.misc.ILightMapWrapper;
@@ -47,7 +47,7 @@ public interface IMinecraftRenderWrapper extends IBindable
{
Vec3f getLookAtVector();
- DHBlockPos getCameraBlockPosition();
+ DhBlockPos getCameraBlockPosition();
boolean playerHasBlindnessEffect();
@@ -83,7 +83,7 @@ public interface IMinecraftRenderWrapper extends IBindable
*
* If not implemented this calls {@link #getMaximumRenderedChunks()}.
*/
- default HashSet getVanillaRenderedChunks()
+ default HashSet getVanillaRenderedChunks()
{
ISodiumAccessor sodium = ModAccessorInjector.INSTANCE.get(ISodiumAccessor.class);
return sodium==null ? getMaximumRenderedChunks() : sodium.getNormalRenderedChunks();
@@ -99,7 +99,7 @@ public interface IMinecraftRenderWrapper extends IBindable
* Doesn't need to be implemented.
* Returns every chunk position within the vanilla render distance.
*/
- default HashSet getMaximumRenderedChunks()
+ default HashSet getMaximumRenderedChunks()
{
IMinecraftClientWrapper mcWrapper = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class);
IWrapperFactory factory = SingletonInjector.INSTANCE.get(IWrapperFactory.class);
@@ -109,13 +109,13 @@ public interface IMinecraftRenderWrapper extends IBindable
int chunkDist = this.getRenderDistance() + 1; // For some reason having '+1' is actually closer to real value
- DHChunkPos centerChunkPos = mcWrapper.getPlayerChunkPos();
+ DhChunkPos centerChunkPos = mcWrapper.getPlayerChunkPos();
int centerChunkX = centerChunkPos.getX();
int centerChunkZ = centerChunkPos.getZ();
int chunkDist2Mul4 = chunkDist*chunkDist*4;
// add every position within render distance
- HashSet renderedPos = new HashSet();
+ HashSet renderedPos = new HashSet();
for (int deltaChunkX = -chunkDist; deltaChunkX <= chunkDist; deltaChunkX++)
{
for(int deltaChunkZ = -chunkDist; deltaChunkZ <= chunkDist; deltaChunkZ++)
@@ -125,7 +125,7 @@ public interface IMinecraftRenderWrapper extends IBindable
continue;
}
if (!clientWorld.hasChunkLoaded(centerChunkX + deltaChunkX, centerChunkZ + deltaChunkZ)) continue;
- renderedPos.add(new DHChunkPos(centerChunkX + deltaChunkX, centerChunkZ + deltaChunkZ));
+ renderedPos.add(new DhChunkPos(centerChunkX + deltaChunkX, centerChunkZ + deltaChunkZ));
}
}
return renderedPos;
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java
index e17eb437c..6d0f788b3 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java
@@ -1,6 +1,6 @@
package com.seibel.lod.core.wrapperInterfaces.minecraft;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
import java.io.File;
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java
index 483e954a1..d08e2745c 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.minecraft;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* @author James Seibel
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java
index 1b67bafdf..08f156e14 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.misc;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* @author James Seibel
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModAccessor.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModAccessor.java
index 675bc6a23..33d2f7a41 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModAccessor.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModAccessor.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.modAccessor;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* @author Leetom
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModChecker.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModChecker.java
index 6a976146d..bf0f822ae 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModChecker.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModChecker.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.modAccessor;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* Checks if a mod is loaded
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java
index 7efed65fa..b5a935484 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java
@@ -19,14 +19,14 @@
package com.seibel.lod.core.wrapperInterfaces.modAccessor;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.pos.DhChunkPos;
import java.util.HashSet;
public interface IOptifineAccessor extends IModAccessor
{
/** Can be null */
- HashSet getNormalRenderedChunks();
+ HashSet getNormalRenderedChunks();
/**
* Returns the percentage multiplier of the screen's current resolution.
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/ISodiumAccessor.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/ISodiumAccessor.java
index 2b6ff234e..9ca8f7094 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/ISodiumAccessor.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/ISodiumAccessor.java
@@ -19,10 +19,10 @@
package com.seibel.lod.core.wrapperInterfaces.modAccessor;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.pos.DhChunkPos;
import java.util.HashSet;
public interface ISodiumAccessor extends IModAccessor {
- HashSet getNormalRenderedChunks();
+ HashSet getNormalRenderedChunks();
}
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java
index 7efd44049..9f20b0eb0 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.world;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* @author James Seibel
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IClientLevelWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IClientLevelWrapper.java
index a7c61b5be..6df90b3a6 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IClientLevelWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IClientLevelWrapper.java
@@ -1,6 +1,6 @@
package com.seibel.lod.core.wrapperInterfaces.world;
-import com.seibel.lod.core.objects.DHBlockPos;
+import com.seibel.lod.core.pos.DhBlockPos;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
import javax.annotation.Nullable;
@@ -8,5 +8,5 @@ import javax.annotation.Nullable;
public interface IClientLevelWrapper extends ILevelWrapper {
@Nullable
IServerLevelWrapper tryGetServerSideWrapper();
- int computeBaseColor(DHBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper blockState);
+ int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper blockState);
}
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java
index 6cc9eb765..6963a4cf6 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.world;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* @author James Seibel
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/ILevelWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/ILevelWrapper.java
index 028cb74d6..a8127a0f9 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/ILevelWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/ILevelWrapper.java
@@ -19,12 +19,9 @@
package com.seibel.lod.core.wrapperInterfaces.world;
-import java.io.File;
-
-import com.seibel.lod.core.enums.ELevelType;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
-import com.seibel.lod.core.objects.DHBlockPos;
-import com.seibel.lod.core.objects.DHChunkPos;
+import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.pos.DhBlockPos;
+import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
@@ -50,13 +47,13 @@ public interface ILevelWrapper extends IBindable
default short getMinHeight() { return 0; }
- default IChunkWrapper tryGetChunk(DHChunkPos pos) { return null; }
+ default IChunkWrapper tryGetChunk(DhChunkPos pos) { return null; }
boolean hasChunkLoaded(int chunkX, int chunkZ);
- IBlockStateWrapper getBlockState(DHBlockPos pos);
+ IBlockStateWrapper getBlockState(DhBlockPos pos);
- IBiomeWrapper getBiome(DHBlockPos pos);
+ IBiomeWrapper getBiome(DhBlockPos pos);
Object unwrapLevel();
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractBatchGenerationEnvionmentWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractBatchGenerationEnvionmentWrapper.java
index bda96e1dd..20fde8285 100644
--- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractBatchGenerationEnvionmentWrapper.java
+++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractBatchGenerationEnvionmentWrapper.java
@@ -19,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.worldGeneration;
-import com.seibel.lod.core.a7.level.ILevel;
+import com.seibel.lod.core.level.ILevel;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
import java.util.concurrent.CompletableFuture;
diff --git a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java
index 07c8f0b98..049c262cc 100644
--- a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java
+++ b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java
@@ -1,6 +1,6 @@
package testItems.overrideInjection.objects;
-import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.dependencyInjection.OverrideInjector;
import testItems.overrideInjection.interfaces.IOverrideTest;
/**
diff --git a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestPrimary.java b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestPrimary.java
index 947f3ee74..126140ae5 100644
--- a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestPrimary.java
+++ b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestPrimary.java
@@ -1,6 +1,6 @@
package testItems.overrideInjection.objects;
-import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.dependencyInjection.OverrideInjector;
import testItems.overrideInjection.interfaces.IOverrideTest;
/**
diff --git a/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java b/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java
index 2866816a5..0a96355b0 100644
--- a/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java
+++ b/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java
@@ -1,6 +1,6 @@
package testItems.singletonInjection.interfaces;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* Dummy test interface for dependency unit tests.
diff --git a/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java b/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java
index e74bb4799..21b4922d0 100644
--- a/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java
+++ b/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java
@@ -1,6 +1,6 @@
package testItems.singletonInjection.interfaces;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
/**
* Dummy test interface for dependency unit tests.
diff --git a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java
index 8f894d9e4..7f43f6781 100644
--- a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java
+++ b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java
@@ -1,6 +1,6 @@
package testItems.singletonInjection.objects;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.IBindable;
import testItems.singletonInjection.interfaces.ISingletonTestOne;
import testItems.singletonInjection.interfaces.ISingletonTestTwo;
diff --git a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java
index 226247869..b8ffd472d 100644
--- a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java
+++ b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java
@@ -1,10 +1,9 @@
package testItems.singletonInjection.objects;
-import com.seibel.lod.core.handlers.dependencyInjection.DependencyInjector;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.DependencyInjector;
+import com.seibel.lod.core.dependencyInjection.IBindable;
import testItems.singletonInjection.interfaces.ISingletonTestOne;
import testItems.singletonInjection.interfaces.ISingletonTestTwo;
-import tests.DependencyInjectorTest;
/**
* Dummy test implementation object for dependency injection unit tests.
diff --git a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java
index be4d606b9..ef5805c09 100644
--- a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java
+++ b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java
@@ -1,10 +1,9 @@
package testItems.singletonInjection.objects;
-import com.seibel.lod.core.handlers.dependencyInjection.DependencyInjector;
-import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.DependencyInjector;
+import com.seibel.lod.core.dependencyInjection.IBindable;
import testItems.singletonInjection.interfaces.ISingletonTestOne;
import testItems.singletonInjection.interfaces.ISingletonTestTwo;
-import tests.DependencyInjectorTest;
/**
* Dummy test implementation object for dependency injection unit tests.
diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java
index 4ce35da3a..e9b6aaa57 100644
--- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java
+++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java
@@ -4,7 +4,7 @@ import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.
import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper;
import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode;
import com.seibel.lod.core.enums.worldGeneration.EWorldGenerationStep;
-import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.dependencyInjection.OverrideInjector;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
/**
diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java
index 5127710ca..5be747a4b 100644
--- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java
+++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java
@@ -4,7 +4,7 @@ import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.
import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper;
import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode;
import com.seibel.lod.core.enums.worldGeneration.EWorldGenerationStep;
-import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.dependencyInjection.OverrideInjector;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
/**
diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java
index bf3b14bcc..774ba4fd8 100644
--- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java
+++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java
@@ -4,7 +4,7 @@ import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.
import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper;
import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode;
import com.seibel.lod.core.enums.worldGeneration.EWorldGenerationStep;
-import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.dependencyInjection.OverrideInjector;
import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
/**
diff --git a/core/src/test/java/tests/DependencyInjectorTest.java b/core/src/test/java/tests/DependencyInjectorTest.java
index 2f01fda45..536d807f5 100644
--- a/core/src/test/java/tests/DependencyInjectorTest.java
+++ b/core/src/test/java/tests/DependencyInjectorTest.java
@@ -2,8 +2,11 @@ package tests;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.worldGenerator.ICoreDhApiWorldGenerator;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper;
+import com.seibel.lod.core.dependencyInjection.DependencyInjector;
+import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.dependencyInjection.WorldGeneratorInjector;
import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode;
-import com.seibel.lod.core.handlers.dependencyInjection.*;
import org.junit.Assert;
import org.junit.Test;