register api to ServicesManager

This commit is contained in:
Pyrbu 2023-05-25 15:36:00 +01:00
parent 7234c7d20d
commit 491aaa7787
2 changed files with 13 additions and 7 deletions

@ -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;
}
}

@ -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("");