Skip to content

Commit

Permalink
Use wrapper to get luckperms instance
Browse files Browse the repository at this point in the history
The google inject parser from sponge caused issues to i wrote a small wrapper to prevent it from throwing errors.
  • Loading branch information
AlexProgrammerDE committed Nov 13, 2020
1 parent e23cadf commit 74c6334
Show file tree
Hide file tree
Showing 9 changed files with 34 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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() {
Expand Down Expand Up @@ -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) {}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<ServerPing.PlayerInfo> 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();

Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -23,7 +22,7 @@ public class PistonMOTDBungee extends Plugin {
protected ConfigManager manager;
protected final List<String> headList = new ArrayList<>();
protected Logger log;
protected LuckPerms luckperms = null;
protected LuckPermsWrapper luckpermsWrapper = null;

@Override
public void onEnable() {
Expand Down Expand Up @@ -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) {}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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) {}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -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();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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<ServerPing.SamplePlayer> 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();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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
Expand Down Expand Up @@ -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) {}
}

Expand Down

0 comments on commit 74c6334

Please sign in to comment.