Minor WorldGeneratorInjector refactoring

This commit is contained in:
James Seibel
2022-11-25 10:08:47 -06:00
parent 0a806c1218
commit 00c7f7adaf
6 changed files with 23 additions and 23 deletions
@@ -13,7 +13,7 @@ import com.seibel.lod.api.interfaces.world.IDhApiLevelWrapper;
public interface IDhApiWorldGenerator extends IDhApiOverrideable
{
/** Returns which thread chunk generation requests can be created on. */
EDhApiWorldGenThreadMode getCoreThreadingMode();
EDhApiWorldGenThreadMode getThreadingMode();
IDhApiChunkWrapper generateCoreChunk(int chunkPosX, int chunkPosZ, IDhApiLevelWrapper serverLevelWrapper, EDhApiWorldGenerationStep maxStepToGenerate);
@@ -31,7 +31,7 @@ import java.util.HashMap;
* This is done so other mods can override our world generator(s) to improve or replace them.
*
* @author James Seibel
* @version 2022-9-8
* @version 2022-11-25
*/
public class WorldGeneratorInjector
{
@@ -78,7 +78,7 @@ public class WorldGeneratorInjector
*/
public void bind(IDhApiWorldGenerator worldGeneratorImplementation) throws IllegalStateException, IllegalArgumentException
{
bind(null, worldGeneratorImplementation);
this.bind(null, worldGeneratorImplementation);
}
/**
@@ -93,17 +93,17 @@ public class WorldGeneratorInjector
if (levelForWorldGenerator != null)
{
// bind this generator to a specific level
if (!worldGeneratorByLevelWrapper.containsKey(levelForWorldGenerator))
if (!this.worldGeneratorByLevelWrapper.containsKey(levelForWorldGenerator))
{
worldGeneratorByLevelWrapper.put(levelForWorldGenerator, new OverrideInjector(this.corePackagePath));
this.worldGeneratorByLevelWrapper.put(levelForWorldGenerator, new OverrideInjector(this.corePackagePath));
}
worldGeneratorByLevelWrapper.get(levelForWorldGenerator).bind(IDhApiWorldGenerator.class, worldGeneratorImplementation);
this.worldGeneratorByLevelWrapper.get(levelForWorldGenerator).bind(IDhApiWorldGenerator.class, worldGeneratorImplementation);
}
else
{
// a null level wrapper binds the generator to all levels
backupUniversalWorldGenerators.bind(IDhApiWorldGenerator.class, worldGeneratorImplementation);
this.backupUniversalWorldGenerators.bind(IDhApiWorldGenerator.class, worldGeneratorImplementation);
}
}
@@ -117,7 +117,7 @@ public class WorldGeneratorInjector
*/
public IDhApiWorldGenerator get() throws ClassCastException
{
return backupUniversalWorldGenerators.get(IDhApiWorldGenerator.class);
return this.backupUniversalWorldGenerators.get(IDhApiWorldGenerator.class);
}
/**
@@ -129,21 +129,21 @@ public class WorldGeneratorInjector
*/
public IDhApiWorldGenerator get(IDhApiLevelWrapper levelForWorldGenerator) throws ClassCastException
{
if (!worldGeneratorByLevelWrapper.containsKey(levelForWorldGenerator))
if (!this.worldGeneratorByLevelWrapper.containsKey(levelForWorldGenerator))
{
// no generator exists for this specific level.
// check for a backup universal world generator
return backupUniversalWorldGenerators.get(IDhApiWorldGenerator.class);
return this.backupUniversalWorldGenerators.get(IDhApiWorldGenerator.class);
}
// use the existing world generator
return worldGeneratorByLevelWrapper.get(levelForWorldGenerator).get(IDhApiWorldGenerator.class);
return this.worldGeneratorByLevelWrapper.get(levelForWorldGenerator).get(IDhApiWorldGenerator.class);
}
/** Removes all bound world generators. */
public void clearBoundDependencies() // TODO this should be done when leaving the current world/server
public void clear()
{
this.worldGeneratorByLevelWrapper.clear();
this.backupUniversalWorldGenerators.clear();
@@ -34,7 +34,7 @@ public class WorldGeneratorTestCore implements IDhApiWorldGenerator
/** Returns which thread chunk generation requests can be created on. */
@Override
public EDhApiWorldGenThreadMode getCoreThreadingMode()
public EDhApiWorldGenThreadMode getThreadingMode()
{
return THREAD_MODE;
}
@@ -33,7 +33,7 @@ public class WorldGeneratorTestPrimary implements IDhApiWorldGenerator
//======================//
@Override
public EDhApiWorldGenThreadMode getCoreThreadingMode() { return THREAD_MODE; }
public EDhApiWorldGenThreadMode getThreadingMode() { return THREAD_MODE; }
@Override
public IDhApiChunkWrapper generateCoreChunk(int chunkPosX, int chunkPosZ, IDhApiLevelWrapper serverLevelWrapper, EDhApiWorldGenerationStep maxStepToGenerate)
@@ -33,7 +33,7 @@ public class WorldGeneratorTestSecondary implements IDhApiWorldGenerator
//======================//
@Override
public EDhApiWorldGenThreadMode getCoreThreadingMode() { return THREAD_MODE; }
public EDhApiWorldGenThreadMode getThreadingMode() { return THREAD_MODE; }
@Override
public IDhApiChunkWrapper generateCoreChunk(int chunkPosX, int chunkPosZ, IDhApiLevelWrapper serverLevelWrapper, EDhApiWorldGenerationStep maxStepToGenerate)
@@ -189,7 +189,7 @@ public class DependencyInjectorTest
// standard get
generator = TEST_INJECTOR.get();
Assert.assertEquals("Override returned incorrect override type.", generator.getPriority(), OverrideInjector.CORE_PRIORITY);
Assert.assertEquals("Incorrect generator returned.", generator.getCoreThreadingMode(), WorldGeneratorTestCore.THREAD_MODE);
Assert.assertEquals("Incorrect generator returned.", generator.getThreadingMode(), WorldGeneratorTestCore.THREAD_MODE);
// secondary override
@@ -197,7 +197,7 @@ public class DependencyInjectorTest
// priority gets
generator = TEST_INJECTOR.get();
Assert.assertEquals("Override returned incorrect override type.", generator.getPriority(), WorldGeneratorTestSecondary.PRIORITY);
Assert.assertEquals("Incorrect override object returned.", generator.getCoreThreadingMode(), WorldGeneratorTestSecondary.THREAD_MODE);
Assert.assertEquals("Incorrect override object returned.", generator.getThreadingMode(), WorldGeneratorTestSecondary.THREAD_MODE);
// primary override
@@ -205,13 +205,13 @@ public class DependencyInjectorTest
// priority gets
generator = TEST_INJECTOR.get();
Assert.assertEquals("Override returned incorrect override type.", generator.getPriority(), WorldGeneratorTestPrimary.PRIORITY);
Assert.assertEquals("Incorrect override object returned.", generator.getCoreThreadingMode(), WorldGeneratorTestPrimary.THREAD_MODE);
Assert.assertEquals("Incorrect override object returned.", generator.getThreadingMode(), WorldGeneratorTestPrimary.THREAD_MODE);
// in-line get
// (make sure the returned type is correct and compiles, the actual value doesn't matter)
EDhApiWorldGenThreadMode threadMode = TEST_INJECTOR.get().getCoreThreadingMode();
EDhApiWorldGenThreadMode threadMode = TEST_INJECTOR.get().getThreadingMode();
}
@@ -243,7 +243,7 @@ public class DependencyInjectorTest
generator = TEST_INJECTOR.get();
Assert.assertNotNull("Backup generator not bound.", generator);
Assert.assertEquals("Incorrect backup generator bound.", generator.getPriority(), OverrideInjector.CORE_PRIORITY);
Assert.assertEquals("Incorrect backup generator bound.", generator.getCoreThreadingMode(), WorldGeneratorTestCore.THREAD_MODE);
Assert.assertEquals("Incorrect backup generator bound.", generator.getThreadingMode(), WorldGeneratorTestCore.THREAD_MODE);
// bind level specific
@@ -254,13 +254,13 @@ public class DependencyInjectorTest
generator = TEST_INJECTOR.get(boundLevel);
Assert.assertNotNull("Level generator not bound.", generator);
Assert.assertEquals("Incorrect level generator bound.", generator.getPriority(), WorldGeneratorTestPrimary.PRIORITY);
Assert.assertEquals("Incorrect level generator bound.", generator.getCoreThreadingMode(), WorldGeneratorTestPrimary.THREAD_MODE);
Assert.assertEquals("Incorrect level generator bound.", generator.getThreadingMode(), WorldGeneratorTestPrimary.THREAD_MODE);
// get unbound level generator
generator = TEST_INJECTOR.get(unboundLevel);
Assert.assertNotNull("Backup level generator not bound.", generator);
Assert.assertEquals("Incorrect level generator bound.", generator.getPriority(), OverrideInjector.CORE_PRIORITY);
Assert.assertEquals("Incorrect level generator bound.", generator.getCoreThreadingMode(), WorldGeneratorTestCore.THREAD_MODE);
Assert.assertEquals("Incorrect level generator bound.", generator.getThreadingMode(), WorldGeneratorTestCore.THREAD_MODE);
}