fix worldguard hook failing to initialize

This commit is contained in:
2024-10-28 19:52:35 +01:00
parent ee3526c55d
commit 6a5e5f8d44
3 changed files with 9 additions and 4 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<groupId>me.youhavetrouble</groupId> <groupId>me.youhavetrouble</groupId>
<artifactId>PreventStabby</artifactId> <artifactId>PreventStabby</artifactId>
<version>2.0.0-pre-5</version> <version>2.0.0-rc-1</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>PreventStabby</name> <name>PreventStabby</name>
@@ -11,6 +11,7 @@ import me.youhavetrouble.preventstabby.listeners.PvpListener;
import me.youhavetrouble.preventstabby.listeners.UtilListener; import me.youhavetrouble.preventstabby.listeners.UtilListener;
import me.youhavetrouble.preventstabby.util.*; import me.youhavetrouble.preventstabby.util.*;
import org.bstats.bukkit.Metrics; import org.bstats.bukkit.Metrics;
import org.bstats.charts.MultiLineChart;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand; import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
@@ -63,11 +64,13 @@ public final class PreventStabby extends JavaPlugin {
public void onLoad() { public void onLoad() {
if (getServer().getPluginManager().getPlugin("WorldGuard") != null) { if (getServer().getPluginManager().getPlugin("WorldGuard") != null) {
try { try {
WorldGuardHook.init(); WorldGuardHook.init(this.getLogger());
worldGuardHook = true; worldGuardHook = true;
} catch (NoClassDefFoundError e) { } catch (NoClassDefFoundError e) {
worldGuardHook = false; worldGuardHook = false;
} }
} else {
worldGuardHook = false;
} }
} }
@@ -15,17 +15,19 @@ import com.sk89q.worldguard.protection.regions.RegionQuery;
import me.youhavetrouble.preventstabby.PreventStabby; import me.youhavetrouble.preventstabby.PreventStabby;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.logging.Logger;
public class WorldGuardHook { public class WorldGuardHook {
private static FlagRegistry flagRegistry; private static FlagRegistry flagRegistry;
public static StateFlag FORCE_PVP_FLAG; public static StateFlag FORCE_PVP_FLAG;
public static void init() { public static void init(Logger logger) {
try { try {
Class.forName("com.sk89q.worldguard.protection.flags.registry.FlagRegistry"); Class.forName("com.sk89q.worldguard.protection.flags.registry.FlagRegistry");
WorldGuardPlugin worldGuardPlugin = WorldGuardPlugin.inst(); WorldGuardPlugin worldGuardPlugin = WorldGuardPlugin.inst();
if (WorldGuard.getInstance() == null || worldGuardPlugin == null) return; if (WorldGuard.getInstance() == null || worldGuardPlugin == null) return;
PreventStabby.getPlugin().getLogger().info("[PreventStabby] Hooking into WorldGuard"); logger.info("Hooking into WorldGuard");
flagRegistry = WorldGuard.getInstance().getFlagRegistry(); flagRegistry = WorldGuard.getInstance().getFlagRegistry();
createForcePvpFlag(); createForcePvpFlag();
} catch (NoClassDefFoundError | ClassNotFoundException ignored) { } catch (NoClassDefFoundError | ClassNotFoundException ignored) {