diff --git a/api/src/main/java/lol/pyr/znpcsplus/api/NpcApiProvider.java b/api/src/main/java/lol/pyr/znpcsplus/api/NpcApiProvider.java index 4ac5d54..1221709 100644 --- a/api/src/main/java/lol/pyr/znpcsplus/api/NpcApiProvider.java +++ b/api/src/main/java/lol/pyr/znpcsplus/api/NpcApiProvider.java @@ -1,25 +1,31 @@ package lol.pyr.znpcsplus.api; +import org.bukkit.Bukkit; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.ServicePriority; + public class NpcApiProvider { - private static NpcApi plugin = null; + private static NpcApi api = null; private NpcApiProvider() { throw new UnsupportedOperationException(); } public static NpcApi get() { - if (plugin == null) throw new IllegalStateException( + if (api == null) throw new IllegalStateException( "ZNPCsPlus plugin isn't enabled yet!\n" + "Please add it to your plugin.yml as a depend or softdepend." ); - return plugin; + return api; } - public static void register(NpcApi plugin) { - NpcApiProvider.plugin = plugin; + public static void register(Plugin plugin, NpcApi api) { + NpcApiProvider.api = api; + Bukkit.getServicesManager().register(NpcApi.class, api, plugin, ServicePriority.Normal); } public static void unregister() { - NpcApiProvider.plugin = null; + Bukkit.getServicesManager().unregister(api); + NpcApiProvider.api = null; } } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java index 288d014..32cdf28 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java @@ -142,7 +142,7 @@ public class ZNpcsPlus extends JavaPlugin { shutdownTasks.add(adventure::close); if (configManager.getConfig().autoSaveEnabled()) shutdownTasks.add(npcRegistry::save); - NpcApiProvider.register(new ZNPCsPlusApi(npcRegistry, typeRegistry, propertyRegistry)); + NpcApiProvider.register(this, new ZNPCsPlusApi(npcRegistry, typeRegistry, propertyRegistry)); enabled = true; log(ChatColor.WHITE + " * Loading complete! (" + (System.currentTimeMillis() - before) + "ms)"); log("");