From 74c63341c3304ca95f9f3207205e2f4d9286f290 Mon Sep 17 00:00:00 2001 From: AlexProgrammerDE <40795980+AlexProgrammerDE@users.noreply.github.com> Date: Fri, 13 Nov 2020 15:54:54 +0100 Subject: [PATCH] Use wrapper to get luckperms instance The google inject parser from sponge caused issues to i wrote a small wrapper to prevent it from throwing errors. --- .../pistonmotd/bukkit/PingEventPaper.java | 4 ++-- .../pistonmotd/bukkit/PistonMOTDBukkit.java | 7 +++---- .../pistonmotd/bungee/PingEvent.java | 4 ++-- .../pistonmotd/bungee/PistonMOTDBungee.java | 7 +++---- .../pistonmotd/sponge/PingEvent.java | 4 ++-- .../pistonmotd/sponge/PistonMOTDSponge.java | 13 +++++-------- .../pistonmotd/utils/LuckPermsWrapper.java | 12 ++++++++++++ .../pistonmotd/velocity/PingEvent.java | 4 ++-- .../pistonmotd/velocity/PistonMOTDVelocity.java | 11 +++-------- 9 files changed, 34 insertions(+), 32 deletions(-) create mode 100644 src/main/java/me/alexprogrammerde/pistonmotd/utils/LuckPermsWrapper.java diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/bukkit/PingEventPaper.java b/src/main/java/me/alexprogrammerde/pistonmotd/bukkit/PingEventPaper.java index 7286505c..c7358773 100644 --- a/src/main/java/me/alexprogrammerde/pistonmotd/bukkit/PingEventPaper.java +++ b/src/main/java/me/alexprogrammerde/pistonmotd/bukkit/PingEventPaper.java @@ -46,13 +46,13 @@ public void onPing(PaperServerListPingEvent event) { event.setVersion(PlaceholderUtil.parseText(config.getString("extended.protocol.activated"))); } - if (config.getBoolean("hooks.extended.luckpermsplayercounter") && plugin.luckperms != null) { + if (config.getBoolean("hooks.extended.luckpermsplayercounter") && plugin.luckpermsWrapper != null) { event.getPlayerSample().clear(); int i = 0; for (Player player : plugin.getServer().getOnlinePlayers()) { - CachedMetaData metaData = plugin.luckperms.getPlayerAdapter(Player.class).getMetaData(player); + CachedMetaData metaData = plugin.luckpermsWrapper.luckperms.getPlayerAdapter(Player.class).getMetaData(player); String prefix = metaData.getPrefix() == null ? "" : metaData.getPrefix(); diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/bukkit/PistonMOTDBukkit.java b/src/main/java/me/alexprogrammerde/pistonmotd/bukkit/PistonMOTDBukkit.java index 641e5ca8..f2d3c9bd 100644 --- a/src/main/java/me/alexprogrammerde/pistonmotd/bukkit/PistonMOTDBukkit.java +++ b/src/main/java/me/alexprogrammerde/pistonmotd/bukkit/PistonMOTDBukkit.java @@ -2,12 +2,11 @@ import io.papermc.lib.PaperLib; import me.alexprogrammerde.pistonmotd.api.PlaceholderUtil; +import me.alexprogrammerde.pistonmotd.utils.LuckPermsWrapper; import me.alexprogrammerde.pistonmotd.utils.UpdateChecker; import me.alexprogrammerde.pistonmotd.utils.UpdateParser; import me.alexprogrammerde.pistonmotd.utils.UpdateType; import net.kyori.adventure.platform.bukkit.BukkitAudiences; -import net.luckperms.api.LuckPerms; -import net.luckperms.api.LuckPermsProvider; import org.bstats.bukkit.MetricsLite; import org.bukkit.ChatColor; import org.bukkit.event.HandlerList; @@ -21,7 +20,7 @@ public class PistonMOTDBukkit extends JavaPlugin { private Logger log; protected File icons; - protected LuckPerms luckperms = null; + protected LuckPermsWrapper luckpermsWrapper = null; @Override public void onEnable() { @@ -59,7 +58,7 @@ public void onEnable() { if (getServer().getPluginManager().getPlugin("LuckPerms") != null) { try { log.info(ChatColor.AQUA + "Hooking into LuckPerms"); - luckperms = LuckPermsProvider.get(); + luckpermsWrapper = new LuckPermsWrapper(); } catch (Exception ignored) {} } diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/bungee/PingEvent.java b/src/main/java/me/alexprogrammerde/pistonmotd/bungee/PingEvent.java index 2f978864..1449f291 100644 --- a/src/main/java/me/alexprogrammerde/pistonmotd/bungee/PingEvent.java +++ b/src/main/java/me/alexprogrammerde/pistonmotd/bungee/PingEvent.java @@ -56,13 +56,13 @@ public void onPing(ProxyPingEvent event) throws IOException { max = event.getResponse().getPlayers().getMax(); } - if (config.getBoolean("hooks.luckpermsplayercounter") && plugin.luckperms != null) { + if (config.getBoolean("hooks.luckpermsplayercounter") && plugin.luckpermsWrapper != null) { List info = new ArrayList<>(); int i = 0; for (ProxiedPlayer player : plugin.getProxy().getPlayers()) { - CachedMetaData metaData = plugin.luckperms.getPlayerAdapter(ProxiedPlayer.class).getMetaData(player); + CachedMetaData metaData = plugin.luckpermsWrapper.luckperms.getPlayerAdapter(ProxiedPlayer.class).getMetaData(player); String prefix = metaData.getPrefix() == null ? "" : metaData.getPrefix(); diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/bungee/PistonMOTDBungee.java b/src/main/java/me/alexprogrammerde/pistonmotd/bungee/PistonMOTDBungee.java index ece0a3b8..f6bd2148 100644 --- a/src/main/java/me/alexprogrammerde/pistonmotd/bungee/PistonMOTDBungee.java +++ b/src/main/java/me/alexprogrammerde/pistonmotd/bungee/PistonMOTDBungee.java @@ -1,12 +1,11 @@ package me.alexprogrammerde.pistonmotd.bungee; import me.alexprogrammerde.pistonmotd.api.PlaceholderUtil; +import me.alexprogrammerde.pistonmotd.utils.LuckPermsWrapper; import me.alexprogrammerde.pistonmotd.utils.UpdateChecker; import me.alexprogrammerde.pistonmotd.utils.UpdateParser; import me.alexprogrammerde.pistonmotd.utils.UpdateType; import net.kyori.adventure.platform.bungeecord.BungeeAudiences; -import net.luckperms.api.LuckPerms; -import net.luckperms.api.LuckPermsProvider; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.plugin.Plugin; import net.md_5.bungee.config.Configuration; @@ -23,7 +22,7 @@ public class PistonMOTDBungee extends Plugin { protected ConfigManager manager; protected final List headList = new ArrayList<>(); protected Logger log; - protected LuckPerms luckperms = null; + protected LuckPermsWrapper luckpermsWrapper = null; @Override public void onEnable() { @@ -64,7 +63,7 @@ public void onEnable() { if (getProxy().getPluginManager().getPlugin("LuckPerms") != null) { try { log.info(ChatColor.AQUA + "Hooking into LuckPerms"); - luckperms = LuckPermsProvider.get(); + luckpermsWrapper = new LuckPermsWrapper(); } catch (Exception ignored) {} } diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/sponge/PingEvent.java b/src/main/java/me/alexprogrammerde/pistonmotd/sponge/PingEvent.java index 207e5bf3..1282c056 100644 --- a/src/main/java/me/alexprogrammerde/pistonmotd/sponge/PingEvent.java +++ b/src/main/java/me/alexprogrammerde/pistonmotd/sponge/PingEvent.java @@ -48,9 +48,9 @@ public void onPing(ClientPingServerEvent event) { event.getResponse().getPlayers().get().setMax(node.getNode("overridemax", "value").getInt()); } - if (node.getNode("hooks", "luckpermsplayercounter").getBoolean() && plugin.luckperms != null) { + if (node.getNode("hooks", "luckpermsplayercounter").getBoolean() && plugin.luckpermsWrapper != null) { for (Player player : plugin.game.getServer().getOnlinePlayers()) { - CachedMetaData metaData = plugin.luckperms.getPlayerAdapter(Player.class).getMetaData(player); + CachedMetaData metaData = plugin.luckpermsWrapper.luckperms.getPlayerAdapter(Player.class).getMetaData(player); String prefix = metaData.getPrefix() == null ? "" : metaData.getPrefix(); diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/sponge/PistonMOTDSponge.java b/src/main/java/me/alexprogrammerde/pistonmotd/sponge/PistonMOTDSponge.java index 3dd1cd61..52470075 100644 --- a/src/main/java/me/alexprogrammerde/pistonmotd/sponge/PistonMOTDSponge.java +++ b/src/main/java/me/alexprogrammerde/pistonmotd/sponge/PistonMOTDSponge.java @@ -3,13 +3,8 @@ import com.google.inject.Inject; import me.alexprogrammerde.pistonmotd.api.PlaceholderUtil; import me.alexprogrammerde.pistonmotd.data.PluginData; -import me.alexprogrammerde.pistonmotd.utils.ConsoleColor; -import me.alexprogrammerde.pistonmotd.utils.UpdateChecker; -import me.alexprogrammerde.pistonmotd.utils.UpdateParser; -import me.alexprogrammerde.pistonmotd.utils.UpdateType; +import me.alexprogrammerde.pistonmotd.utils.*; import net.kyori.adventure.platform.spongeapi.SpongeAudiences; -import net.luckperms.api.LuckPerms; -import net.luckperms.api.LuckPermsProvider; import ninja.leaping.configurate.ConfigurationNode; import ninja.leaping.configurate.commented.CommentedConfigurationNode; import ninja.leaping.configurate.hocon.HoconConfigurationLoader; @@ -38,7 +33,7 @@ public class PistonMOTDSponge { protected ConfigurationNode rootNode; private final MetricsLite2.Factory metricsFactory; protected File icons; - protected LuckPerms luckperms = null; + protected LuckPermsWrapper luckpermsWrapper = null; @Inject private Logger log; @@ -109,10 +104,12 @@ public void onServerStart(GameStartedServerEvent event) { PlaceholderUtil.registerParser(new CommonPlaceholder(game)); log.info(ConsoleColor.CYAN + "Looking for hooks" + ConsoleColor.RESET); + + log.info(String.valueOf(game.getPluginManager().getPlugin("luckperms").isPresent())); if (game.getPluginManager().getPlugin("luckperms").isPresent()) { try { log.info(ConsoleColor.CYAN + "Hooking into LuckPerms" + ConsoleColor.RESET); - luckperms = LuckPermsProvider.get(); + luckpermsWrapper = new LuckPermsWrapper(); } catch (Exception ignored) {} } diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/utils/LuckPermsWrapper.java b/src/main/java/me/alexprogrammerde/pistonmotd/utils/LuckPermsWrapper.java new file mode 100644 index 00000000..fb351b06 --- /dev/null +++ b/src/main/java/me/alexprogrammerde/pistonmotd/utils/LuckPermsWrapper.java @@ -0,0 +1,12 @@ +package me.alexprogrammerde.pistonmotd.utils; + +import net.luckperms.api.LuckPerms; +import net.luckperms.api.LuckPermsProvider; + +public class LuckPermsWrapper { + public final LuckPerms luckperms; + + public LuckPermsWrapper() { + luckperms= LuckPermsProvider.get(); + } +} diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/velocity/PingEvent.java b/src/main/java/me/alexprogrammerde/pistonmotd/velocity/PingEvent.java index 5472868f..d8fe05ad 100644 --- a/src/main/java/me/alexprogrammerde/pistonmotd/velocity/PingEvent.java +++ b/src/main/java/me/alexprogrammerde/pistonmotd/velocity/PingEvent.java @@ -40,11 +40,11 @@ public void onPing(ProxyPingEvent event) { builder.maximumPlayers(node.getNode("overridemax", "value").getInt()); } - if (node.getNode("hooks", "luckpermsplayercounter").getBoolean() && plugin.luckperms != null) { + if (node.getNode("hooks", "luckpermsplayercounter").getBoolean() && plugin.luckpermsWrapper != null) { List info = new ArrayList<>(); for (Player player : plugin.server.getAllPlayers()) { - CachedMetaData metaData = plugin.luckperms.getPlayerAdapter(Player.class).getMetaData(player); + CachedMetaData metaData = plugin.luckpermsWrapper.luckperms.getPlayerAdapter(Player.class).getMetaData(player); String prefix = metaData.getPrefix() == null ? "" : metaData.getPrefix(); diff --git a/src/main/java/me/alexprogrammerde/pistonmotd/velocity/PistonMOTDVelocity.java b/src/main/java/me/alexprogrammerde/pistonmotd/velocity/PistonMOTDVelocity.java index 9468a555..c28cd24c 100644 --- a/src/main/java/me/alexprogrammerde/pistonmotd/velocity/PistonMOTDVelocity.java +++ b/src/main/java/me/alexprogrammerde/pistonmotd/velocity/PistonMOTDVelocity.java @@ -9,12 +9,7 @@ import com.velocitypowered.api.proxy.ProxyServer; import me.alexprogrammerde.pistonmotd.api.PlaceholderUtil; import me.alexprogrammerde.pistonmotd.data.PluginData; -import me.alexprogrammerde.pistonmotd.utils.ConsoleColor; -import me.alexprogrammerde.pistonmotd.utils.UpdateChecker; -import me.alexprogrammerde.pistonmotd.utils.UpdateParser; -import me.alexprogrammerde.pistonmotd.utils.UpdateType; -import net.luckperms.api.LuckPerms; -import net.luckperms.api.LuckPermsProvider; +import me.alexprogrammerde.pistonmotd.utils.*; import ninja.leaping.configurate.ConfigurationNode; import ninja.leaping.configurate.hocon.HoconConfigurationLoader; import ninja.leaping.configurate.yaml.YAMLConfigurationLoader; @@ -32,7 +27,7 @@ public class PistonMOTDVelocity { private final Logger log; protected ConfigurationNode rootNode; protected File icons; - protected LuckPerms luckperms = null; + protected LuckPermsWrapper luckpermsWrapper = null; @Inject @DataDirectory @@ -67,7 +62,7 @@ public void onProxyInitialization(ProxyInitializeEvent event) { if (server.getPluginManager().getPlugin("luckperms").isPresent()) { try { log.info(ConsoleColor.CYAN + "Hooking into LuckPerms" + ConsoleColor.RESET); - luckperms = LuckPermsProvider.get(); + luckpermsWrapper = new LuckPermsWrapper(); } catch (Exception ignored) {} }