diff --git a/Plan/src/main/java/com/djrapitops/plan/api/CommonAPI.java b/Plan/src/main/java/com/djrapitops/plan/api/CommonAPI.java index 9f602e726..0f6ecd529 100644 --- a/Plan/src/main/java/com/djrapitops/plan/api/CommonAPI.java +++ b/Plan/src/main/java/com/djrapitops/plan/api/CommonAPI.java @@ -23,9 +23,10 @@ public abstract class CommonAPI implements PlanAPI { private final UUIDUtility uuidUtility; private final ErrorHandler errorHandler; - public CommonAPI(UUIDUtility uuidUtility, ErrorHandler errorHandler) { + CommonAPI(UUIDUtility uuidUtility, ErrorHandler errorHandler) { this.uuidUtility = uuidUtility; this.errorHandler = errorHandler; + PlanAPIHolder.set(this); } @Override diff --git a/Plan/src/main/java/com/djrapitops/plan/api/PlanAPI.java b/Plan/src/main/java/com/djrapitops/plan/api/PlanAPI.java index 739910c6b..465d51633 100644 --- a/Plan/src/main/java/com/djrapitops/plan/api/PlanAPI.java +++ b/Plan/src/main/java/com/djrapitops/plan/api/PlanAPI.java @@ -5,10 +5,10 @@ package com.djrapitops.plan.api; import com.djrapitops.plan.data.plugin.PluginData; -import com.djrapitops.plan.system.PlanSystem; import com.djrapitops.plan.system.database.databases.operation.FetchOperations; import java.util.Map; +import java.util.Optional; import java.util.UUID; /** @@ -19,7 +19,16 @@ import java.util.UUID; public interface PlanAPI { static PlanAPI getInstance() { - return PlanSystem.getInstance().getPlanAPI(); + return Optional.ofNullable(PlanAPIHolder.API) + .orElseThrow(() -> new IllegalStateException("PlanAPI has not been initialised yet.")); + } + + class PlanAPIHolder { + static PlanAPI API; + + static void set(PlanAPI api) { + PlanAPIHolder.API = api; + } } void addPluginDataSource(PluginData pluginData); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/PlanSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/PlanSystem.java index d2e295674..e702d5e01 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/PlanSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/PlanSystem.java @@ -4,7 +4,6 @@ */ package com.djrapitops.plan.system; -import com.djrapitops.plan.PlanPlugin; import com.djrapitops.plan.api.PlanAPI; import com.djrapitops.plan.api.exceptions.EnableException; import com.djrapitops.plan.data.plugin.HookHandler; @@ -97,11 +96,6 @@ public class PlanSystem implements SubSystem { this.errorHandler = errorHandler; } - @Deprecated - public static PlanSystem getInstance() { - return PlanPlugin.getInstance().getSystem(); - } - @Override public void enable() throws EnableException { enableSystems(