diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/EternalCore.java b/eternalcore-core/src/main/java/com/eternalcode/core/EternalCore.java index c65ad7aeb..8ac7b5066 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/EternalCore.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/EternalCore.java @@ -1,6 +1,8 @@ package com.eternalcode.core; import com.eternalcode.core.compatibility.CompatibilityService; +import com.eternalcode.core.configuration.ReloadableConfig; +import com.eternalcode.core.configuration.compatibility.ConfigurationCompatibilityV21_2; import com.eternalcode.core.injector.DependencyInjector; import com.eternalcode.core.injector.annotations.component.Component; import com.eternalcode.core.injector.annotations.component.ConfigurationFile; @@ -78,6 +80,8 @@ public EternalCore(Plugin plugin) { beanFactory.addCandidate(beanCandidate); } + beanFactory.initializeCandidates(ConfigurationCompatibilityV21_2.class); // TODO: Remove this when the cdn will be fixed + beanFactory.initializeCandidates(ReloadableConfig.class); // TODO: Remove this when the cdn will be fixed beanFactory.initializeCandidates(); this.publisher = beanFactory.getDependency(Publisher.class); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/configuration/compatibility/ConfigurationCompatibilityV21_2.java b/eternalcore-core/src/main/java/com/eternalcode/core/configuration/compatibility/ConfigurationCompatibilityV21_2.java index 3bb32900d..0e6701b9b 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/configuration/compatibility/ConfigurationCompatibilityV21_2.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/configuration/compatibility/ConfigurationCompatibilityV21_2.java @@ -7,9 +7,10 @@ import com.eternalcode.core.injector.annotations.component.Controller; import com.eternalcode.core.publish.Subscribe; +// TODO: Make this package private @Controller @Compatibility(from = @Version(minor = 21, patch = 2)) -class ConfigurationCompatibilityV21_2 { +public class ConfigurationCompatibilityV21_2 { @Subscribe void onConfigSettingsSetup(ConfigurationSettingsSetupEvent event) { diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportSettingsImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportSettingsImpl.java index b83b93407..34da3af6d 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportSettingsImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportSettingsImpl.java @@ -31,7 +31,7 @@ public class RandomTeleportSettingsImpl implements RandomTeleportSettings, Migra "# If you want to use a static radius, set the type to STATIC_RADIUS and set the radius here.", "# If you using WORLD_BORDER_RADIUS, this value will be ignored." }) - public RandomTeleportRadiusConfig radius = new RandomTeleportRadiusConfig(5000, 5000, 5000, 5000); + public RandomTeleportRadiusConfig radius = new RandomTeleportRadiusConfig(-5000, 5000, -5000, 5000); @Deprecated public Integer randomTeleportRadius = null; @Description("# Teleport to a specific world, if left empty it will teleport to the player's current world") diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportTaskService.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportTaskService.java index 366e6c6e6..6d45902a0 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportTaskService.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportTaskService.java @@ -42,10 +42,9 @@ class RandomTeleportTaskService { CompletableFuture createTeleport(Player player) { World world = resolveWorld(player, randomTeleportSettings); - RandomTeleportRadius radius = this.randomTeleportSettings.radius(); return this.randomTeleportSafeLocationService.getSafeRandomLocation( world, - radius, + this.randomTeleportSettings.radius(), this.randomTeleportSettings.teleportAttempts() ).thenCompose(location -> this.createTeleport(player, location)); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/injector/bean/LazyBeanCandidate.java b/eternalcore-core/src/main/java/com/eternalcode/core/injector/bean/LazyBeanCandidate.java index 6ed6f1af0..55deec453 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/injector/bean/LazyBeanCandidate.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/injector/bean/LazyBeanCandidate.java @@ -15,9 +15,7 @@ public LazyBeanCandidate(String name, Supplier instanceSupplier) { @Override public boolean isCandidate(Class clazz) { - Class type = this.getInstance().getClass(); - - return clazz.isAssignableFrom(type); + return clazz.isAssignableFrom(getType()); } @Override diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/injector/bean/LazyFieldBeanCandidate.java b/eternalcore-core/src/main/java/com/eternalcode/core/injector/bean/LazyFieldBeanCandidate.java index dded5caef..db8333681 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/injector/bean/LazyFieldBeanCandidate.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/injector/bean/LazyFieldBeanCandidate.java @@ -28,7 +28,7 @@ public LazyFieldBeanCandidate(Supplier instance, Field field, Bean bean) } public LazyFieldBeanCandidate(DependencyInjector dependencyInjector, Class componentClass, Field field, Bean bean) { - this(() -> dependencyInjector.newInstance(componentClass), field, bean); + this(() -> dependencyInjector.getDependencyProvider().getDependency(componentClass), field, bean); } @Override