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 bd0ef9c36..6aee08848 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,7 +1,7 @@
package com.seibel.lod.api.items.interfaces.override;
-import com.seibel.lod.core.dependencyInjection.IBindable;
-import com.seibel.lod.core.dependencyInjection.IOverrideInjector;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IOverrideInjector;
/**
* Implemented by all DhApi objects that can be overridden.
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 0d1ea70ef..fee05d831 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,6 +1,6 @@
package com.seibel.lod.api.methods.events.interfaces;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
/**
* A combination of all interfaces required by all
diff --git a/core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java b/api/src/main/java/com/seibel/lod/core/DependencyInjection/DependencyInjector.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java
rename to api/src/main/java/com/seibel/lod/core/DependencyInjection/DependencyInjector.java
index 3f9656be6..4e13fdbfd 100644
--- a/core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java
+++ b/api/src/main/java/com/seibel/lod/core/DependencyInjection/DependencyInjector.java
@@ -17,7 +17,10 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.dependencyInjection;
+package com.seibel.lod.core.DependencyInjection;
+
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IDependencyInjector;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java b/api/src/main/java/com/seibel/lod/core/DependencyInjection/DhApiEventInjector.java
similarity index 76%
rename from core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java
rename to api/src/main/java/com/seibel/lod/core/DependencyInjection/DhApiEventInjector.java
index 3127a1632..873e716f5 100644
--- a/core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java
+++ b/api/src/main/java/com/seibel/lod/core/DependencyInjection/DhApiEventInjector.java
@@ -17,26 +17,23 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.dependencyInjection;
+package com.seibel.lod.core.DependencyInjection;
import com.seibel.lod.api.methods.events.interfaces.IDhApiEvent;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IDhApiEventInjector;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
/**
- * This class takes care of dependency injection for mods accessors. (for mod compatibility
- * support).
- *
- * If a IModAccessor returns null either that means the mod isn't loaded in the game
- * or an Accessor hasn't been implemented for the given Minecraft version.
- *
+ * This class takes care of dependency injection for API events.
+ *
* @author James Seibel
- * @author Leetom
- * @version 2022-8-15
+ * @version 2022-9-13
*/
-public class DhApiEventInjector extends DependencyInjector // Note to self: Don't try adding a generic type to IDhApiEvent, the consturctor won't accept it
+public class DhApiEventInjector extends DependencyInjector implements IDhApiEventInjector // Note to self: Don't try adding a generic type to IDhApiEvent, the consturctor won't accept it
{
private static final Logger LOGGER = LogManager.getLogger(DhApiEventInjector.class.getSimpleName());
@@ -50,12 +47,7 @@ public class DhApiEventInjector extends DependencyInjector // Note
}
- /**
- * Unlinks the given event handler, preventing the handler from being called in the future.
- *
- * @throws IllegalArgumentException if the implementation object doesn't implement the interface
- * @return true if the handler was unbound, false if the handler wasn't bound.
- */
+ @Override
public boolean unbind(Class extends IDhApiEvent> dependencyInterface, Class extends IDhApiEvent> dependencyClassToRemove) throws IllegalArgumentException
{
// make sure the given dependency implements the necessary interfaces
@@ -99,14 +91,7 @@ public class DhApiEventInjector extends DependencyInjector // Note
return false;
}
- /**
- * Fires all bound events of the given type (does nothing if no events are bound).
- *
- * @param dependencyInterface event type
- * @param eventParameterObject event parameter
- * @return if any of the events returned that this event should be canceled.
- * @param the parameter type taken by the event handlers.
- */
+ @Override
public > boolean fireAllEvents(Class dependencyInterface, T eventParameterObject)
{
boolean cancelEvent = false;
diff --git a/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java b/api/src/main/java/com/seibel/lod/core/DependencyInjection/OverrideInjector.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java
rename to api/src/main/java/com/seibel/lod/core/DependencyInjection/OverrideInjector.java
index 04b2085ef..16692e7ef 100644
--- a/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java
+++ b/api/src/main/java/com/seibel/lod/core/DependencyInjection/OverrideInjector.java
@@ -17,9 +17,10 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.dependencyInjection;
+package com.seibel.lod.core.DependencyInjection;
import com.seibel.lod.api.items.interfaces.override.IDhApiOverrideable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IOverrideInjector;
import com.seibel.lod.core.util.StringUtil;
import java.util.HashMap;
diff --git a/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java b/api/src/main/java/com/seibel/lod/core/DependencyInjection/OverridePriorityListContainer.java
similarity index 95%
rename from core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java
rename to api/src/main/java/com/seibel/lod/core/DependencyInjection/OverridePriorityListContainer.java
index f2d0d59d2..114d2afae 100644
--- a/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java
+++ b/api/src/main/java/com/seibel/lod/core/DependencyInjection/OverridePriorityListContainer.java
@@ -1,6 +1,7 @@
-package com.seibel.lod.core.dependencyInjection;
+package com.seibel.lod.core.DependencyInjection;
import com.seibel.lod.api.items.interfaces.override.IDhApiOverrideable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import java.util.ArrayList;
diff --git a/core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java b/api/src/main/java/com/seibel/lod/core/DependencyInjection/WorldGeneratorInjector.java
similarity index 97%
rename from core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java
rename to api/src/main/java/com/seibel/lod/core/DependencyInjection/WorldGeneratorInjector.java
index 4169be5b3..c9a87b6e1 100644
--- a/core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java
+++ b/api/src/main/java/com/seibel/lod/core/DependencyInjection/WorldGeneratorInjector.java
@@ -17,10 +17,11 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.dependencyInjection;
+package com.seibel.lod.core.DependencyInjection;
import com.seibel.lod.api.items.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import com.seibel.lod.core.util.StringUtil;
import java.util.HashMap;
diff --git a/api/src/main/java/com/seibel/lod/core/ModInfo.java b/api/src/main/java/com/seibel/lod/core/ModInfo.java
index 1cc37f87f..153292c58 100644
--- a/api/src/main/java/com/seibel/lod/core/ModInfo.java
+++ b/api/src/main/java/com/seibel/lod/core/ModInfo.java
@@ -19,8 +19,6 @@
package com.seibel.lod.core;
-import java.util.Locale;
-
/**
* This file is similar to mcmod.info
*
@@ -50,6 +48,5 @@ public final class ModInfo
public static final int API_MAJOR_VERSION = 0;
/** This version should be updated whenever new methods are added to the DH API */
public static final int API_MINOR_VERSION = 0;
-
-
+
}
diff --git a/api/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java b/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IBindable.java
similarity index 96%
rename from api/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java
rename to api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IBindable.java
index 3f90701d2..37db6fd05 100644
--- a/api/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java
+++ b/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IBindable.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package com.seibel.lod.core.dependencyInjection;
+package com.seibel.lod.core.interfaces.dependencyInjection;
/**
* Necessary for all singletons that can be dependency injected.
diff --git a/api/src/main/java/com/seibel/lod/core/dependencyInjection/IDependencyInjector.java b/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IDependencyInjector.java
similarity index 98%
rename from api/src/main/java/com/seibel/lod/core/dependencyInjection/IDependencyInjector.java
rename to api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IDependencyInjector.java
index b02272025..ff779b375 100644
--- a/api/src/main/java/com/seibel/lod/core/dependencyInjection/IDependencyInjector.java
+++ b/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IDependencyInjector.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.dependencyInjection;
+package com.seibel.lod.core.interfaces.dependencyInjection;
import java.util.ArrayList;
diff --git a/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IDhApiEventInjector.java b/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IDhApiEventInjector.java
new file mode 100644
index 000000000..2df2d5e08
--- /dev/null
+++ b/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IDhApiEventInjector.java
@@ -0,0 +1,51 @@
+/*
+ * This file is part of the Distant Horizons mod (formerly the LOD Mod),
+ * licensed under the GNU LGPL v3 License.
+ *
+ * Copyright (C) 2020-2022 James Seibel
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ */
+
+package com.seibel.lod.core.interfaces.dependencyInjection;
+
+import com.seibel.lod.api.methods.events.interfaces.IDhApiEvent;
+
+/**
+ * This class takes care of dependency injection for API events.
+ *
+ * @author James Seibel
+ * @version 2022-9-13
+ */
+public interface IDhApiEventInjector extends IDependencyInjector // Note to self: Don't try adding a generic type to IDhApiEvent, the consturctor won't accept it
+{
+
+ /**
+ * Unlinks the given event handler, preventing the handler from being called in the future.
+ *
+ * @throws IllegalArgumentException if the implementation object doesn't implement the interface
+ * @return true if the handler was unbound, false if the handler wasn't bound.
+ */
+ public boolean unbind(Class extends IDhApiEvent> dependencyInterface, Class extends IDhApiEvent> dependencyClassToRemove) throws IllegalArgumentException;
+
+ /**
+ * Fires all bound events of the given type (does nothing if no events are bound).
+ *
+ * @param dependencyInterface event type
+ * @param eventParameterObject event parameter
+ * @return if any of the events returned that this event should be canceled.
+ * @param the parameter type taken by the event handlers.
+ */
+ public > boolean fireAllEvents(Class dependencyInterface, T eventParameterObject);
+
+}
diff --git a/api/src/main/java/com/seibel/lod/core/dependencyInjection/IOverrideInjector.java b/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IOverrideInjector.java
similarity index 97%
rename from api/src/main/java/com/seibel/lod/core/dependencyInjection/IOverrideInjector.java
rename to api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IOverrideInjector.java
index 3adc2f7d8..096a93584 100644
--- a/api/src/main/java/com/seibel/lod/core/dependencyInjection/IOverrideInjector.java
+++ b/api/src/main/java/com/seibel/lod/core/interfaces/dependencyInjection/IOverrideInjector.java
@@ -1,4 +1,4 @@
-package com.seibel.lod.core.dependencyInjection;
+package com.seibel.lod.core.interfaces.dependencyInjection;
import com.seibel.lod.api.items.interfaces.override.IDhApiOverrideable;
diff --git a/core/src/main/java/com/seibel/lod/core/util/StringUtil.java b/api/src/main/java/com/seibel/lod/core/util/StringUtil.java
similarity index 100%
rename from core/src/main/java/com/seibel/lod/core/util/StringUtil.java
rename to api/src/main/java/com/seibel/lod/core/util/StringUtil.java
diff --git a/core/src/main/java/com/seibel/lod/core/IReflectionHandler.java b/core/src/main/java/com/seibel/lod/core/IReflectionHandler.java
index 01008bcfd..5fa40927e 100644
--- a/core/src/main/java/com/seibel/lod/core/IReflectionHandler.java
+++ b/core/src/main/java/com/seibel/lod/core/IReflectionHandler.java
@@ -20,7 +20,7 @@
package com.seibel.lod.core;
import com.seibel.lod.api.items.enums.rendering.EFogDrawMode;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
/**
* A singleton used to get variables from methods
diff --git a/core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java
index d0b978366..20233d1ef 100644
--- a/core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java
@@ -19,6 +19,8 @@
package com.seibel.lod.core.dependencyInjection;
+import com.seibel.lod.core.DependencyInjection.DependencyInjector;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import com.seibel.lod.core.logging.DhLoggerBuilder;
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IModAccessor;
import org.apache.logging.log4j.Logger;
diff --git a/core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java
index 7ccbe925c..70f0385df 100644
--- a/core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java
+++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java
@@ -19,6 +19,9 @@
package com.seibel.lod.core.dependencyInjection;
+import com.seibel.lod.core.DependencyInjection.DependencyInjector;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
+
/**
* This class takes care of dependency injection
* for singletons.
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 743ac4b73..585a985ca 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 09d2a4b7f..818fb6620 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
@@ -20,7 +20,7 @@
package com.seibel.lod.core.wrapperInterfaces;
import com.seibel.lod.core.level.ILevel;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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/chunk/IChunkWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java
index 7b2cbe1f6..68a75d1ec 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,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.chunk;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
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 371637890..929076ee0 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 366294be4..8478dc2d9 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
@@ -22,7 +22,7 @@ package com.seibel.lod.core.wrapperInterfaces.config;
import com.seibel.lod.api.items.enums.config.*;
import com.seibel.lod.api.items.enums.rendering.*;
import com.seibel.lod.core.config.Config;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 d3b07aba7..933bd3576 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,7 +24,7 @@ import java.util.ArrayList;
import com.seibel.lod.core.ModInfo;
import com.seibel.lod.core.enums.ELodDirection;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import com.seibel.lod.core.pos.DhBlockPos;
import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
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 4b4d3bbc8..77971e118 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,7 +22,7 @@ package com.seibel.lod.core.wrapperInterfaces.minecraft;
import java.awt.Color;
import java.util.HashSet;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import com.seibel.lod.core.dependencyInjection.ModAccessorInjector;
import com.seibel.lod.core.dependencyInjection.SingletonInjector;
import com.seibel.lod.core.pos.DhBlockPos;
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 6d0f788b3..cc49eeaab 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 d08e2745c..9abdae7ad 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 08f156e14..484daccb8 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 33d2f7a41..698c38786 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 bf0f822ae..7c38fd0b1 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
/**
* Checks if a mod is loaded
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 9f20b0eb0..49f153b82 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
/**
* @author James Seibel
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 6963a4cf6..9653e2fb3 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 a8127a0f9..254a35543 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,7 +19,7 @@
package com.seibel.lod.core.wrapperInterfaces.world;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import com.seibel.lod.core.pos.DhBlockPos;
import com.seibel.lod.core.pos.DhChunkPos;
import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
diff --git a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java
index 049c262cc..9f76831a4 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.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 126140ae5..9cadf4041 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.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 0a96355b0..cbe385b63 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 21b4922d0..d1bfafd98 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 7f43f6781..547cba870 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.dependencyInjection.IBindable;
+import com.seibel.lod.core.interfaces.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 b8ffd472d..90e3cc156 100644
--- a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java
+++ b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java
@@ -1,7 +1,7 @@
package testItems.singletonInjection.objects;
-import com.seibel.lod.core.dependencyInjection.DependencyInjector;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.DependencyInjection.DependencyInjector;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import testItems.singletonInjection.interfaces.ISingletonTestOne;
import testItems.singletonInjection.interfaces.ISingletonTestTwo;
diff --git a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java
index ef5805c09..667891290 100644
--- a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java
+++ b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java
@@ -1,7 +1,7 @@
package testItems.singletonInjection.objects;
-import com.seibel.lod.core.dependencyInjection.DependencyInjector;
-import com.seibel.lod.core.dependencyInjection.IBindable;
+import com.seibel.lod.core.DependencyInjection.DependencyInjector;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
import testItems.singletonInjection.interfaces.ISingletonTestOne;
import testItems.singletonInjection.interfaces.ISingletonTestTwo;
diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java
index 6396ad250..1043cd4be 100644
--- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java
+++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java
@@ -5,7 +5,7 @@ import com.seibel.lod.api.items.enums.worldGeneration.EDhApiWorldGenerationStep;
import com.seibel.lod.api.items.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import com.seibel.lod.api.items.interfaces.world.IDhApiChunkWrapper;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
-import com.seibel.lod.core.dependencyInjection.OverrideInjector;
+import com.seibel.lod.core.DependencyInjection.OverrideInjector;
/**
* Dummy test implementation object for world generator injection unit tests.
diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java
index 73189914b..582fdb95f 100644
--- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java
+++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java
@@ -5,10 +5,7 @@ import com.seibel.lod.api.items.enums.worldGeneration.EDhApiWorldGenerationStep;
import com.seibel.lod.api.items.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import com.seibel.lod.api.items.interfaces.world.IDhApiChunkWrapper;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
-import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode;
-import com.seibel.lod.core.enums.worldGeneration.EWorldGenerationStep;
-import com.seibel.lod.core.dependencyInjection.OverrideInjector;
-import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
+import com.seibel.lod.core.DependencyInjection.OverrideInjector;
/**
* Dummy test implementation object for world generator injection unit tests.
diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java
index c3f07c7dd..81886f2b7 100644
--- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java
+++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java
@@ -5,10 +5,7 @@ import com.seibel.lod.api.items.enums.worldGeneration.EDhApiWorldGenerationStep;
import com.seibel.lod.api.items.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import com.seibel.lod.api.items.interfaces.world.IDhApiChunkWrapper;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
-import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode;
-import com.seibel.lod.core.enums.worldGeneration.EWorldGenerationStep;
-import com.seibel.lod.core.dependencyInjection.OverrideInjector;
-import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
+import com.seibel.lod.core.DependencyInjection.OverrideInjector;
/**
* Dummy test implementation object for world generator injection unit tests.
diff --git a/core/src/test/java/tests/DependencyInjectorTest.java b/core/src/test/java/tests/DependencyInjectorTest.java
index 00db3c49d..7f44fc9b0 100644
--- a/core/src/test/java/tests/DependencyInjectorTest.java
+++ b/core/src/test/java/tests/DependencyInjectorTest.java
@@ -3,11 +3,10 @@ package tests;
import com.seibel.lod.api.items.enums.worldGeneration.EDhApiWorldGenThreadMode;
import com.seibel.lod.api.items.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
-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.DependencyInjection.DependencyInjector;
+import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
+import com.seibel.lod.core.DependencyInjection.OverrideInjector;
+import com.seibel.lod.core.DependencyInjection.WorldGeneratorInjector;
import org.junit.Assert;
import org.junit.Test;