From f31bcfc6d55d4dae2f81f41a17c9945b0c7688b8 Mon Sep 17 00:00:00 2001 From: aroooo Date: Thu, 20 Oct 2022 21:45:32 +0200 Subject: [PATCH] feat(internals): disable plugin when invalid server version is found --- core/src/main/java/net/artelnatif/nicko/NickoBukkit.java | 8 ++++++++ .../java/net/artelnatif/nicko/impl/InternalsProvider.java | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/net/artelnatif/nicko/NickoBukkit.java b/core/src/main/java/net/artelnatif/nicko/NickoBukkit.java index 4e42077..5f9b167 100644 --- a/core/src/main/java/net/artelnatif/nicko/NickoBukkit.java +++ b/core/src/main/java/net/artelnatif/nicko/NickoBukkit.java @@ -15,6 +15,8 @@ import net.artelnatif.nicko.utils.ServerUtils; import org.bukkit.command.PluginCommand; import org.bukkit.plugin.java.JavaPlugin; +import java.util.logging.Level; + public class NickoBukkit extends JavaPlugin { private static NickoBukkit plugin; @@ -26,6 +28,12 @@ public class NickoBukkit extends JavaPlugin { public void onEnable() { plugin = this; + getLogger().info("Loading internals..."); + if (getInternals() == null) { + getLogger().log(Level.SEVERE, "Nicko could not find a valid implementation for this server version. Is your server supported?"); + getServer().getPluginManager().disablePlugin(this); + } + final PluginCommand command = getCommand("nicko"); if (command != null) { command.setExecutor(new NickoCommand()); diff --git a/core/src/main/java/net/artelnatif/nicko/impl/InternalsProvider.java b/core/src/main/java/net/artelnatif/nicko/impl/InternalsProvider.java index bb5c236..8b76903 100644 --- a/core/src/main/java/net/artelnatif/nicko/impl/InternalsProvider.java +++ b/core/src/main/java/net/artelnatif/nicko/impl/InternalsProvider.java @@ -3,7 +3,6 @@ package net.artelnatif.nicko.impl; import org.bukkit.Bukkit; import java.lang.reflect.InvocationTargetException; -import java.util.logging.Level; public class InternalsProvider { private static Internals internals; @@ -19,7 +18,7 @@ public class InternalsProvider { internals = (Internals) Class.forName(fullClassName).getConstructors()[0].newInstance(); } catch (InvocationTargetException | ClassNotFoundException | InstantiationException | IllegalAccessException | ClassCastException exception) { - Bukkit.getLogger().log(Level.SEVERE, "Nicko could not find a valid implementation for this server version. Is your server supported?"); + internals = null; } }