diff --git a/server/src/main/java/dev/plex/listener/impl/BanListener.java b/server/src/main/java/dev/plex/listener/impl/BanListener.java index dd7a636..a1fc143 100644 --- a/server/src/main/java/dev/plex/listener/impl/BanListener.java +++ b/server/src/main/java/dev/plex/listener/impl/BanListener.java @@ -1,10 +1,12 @@ package dev.plex.listener.impl; +import dev.plex.Plex; import dev.plex.cache.DataUtils; import dev.plex.listener.PlexListener; import dev.plex.player.PlexPlayer; import dev.plex.punishment.Punishment; import dev.plex.punishment.PunishmentType; +import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; import org.bukkit.event.player.AsyncPlayerPreLoginEvent; @@ -36,6 +38,7 @@ public class BanListener extends PlexListener if (plugin.getPunishmentManager().isBanned(event.getUniqueId())) { + if (Plex.get().getPermissions() != null && Plex.get().getPermissions().playerHas(null, Bukkit.getOfflinePlayer(event.getUniqueId()), "plex.ban.bypass")) return; PlexPlayer player = DataUtils.getPlayer(event.getUniqueId()); player.getPunishments().stream().filter(punishment -> (punishment.getType() == PunishmentType.BAN || punishment.getType() == PunishmentType.TEMPBAN) && punishment.isActive()).findFirst().ifPresent(punishment -> event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_BANNED, diff --git a/server/src/main/java/dev/plex/listener/impl/CommandListener.java b/server/src/main/java/dev/plex/listener/impl/CommandListener.java index 64551f9..1f3989c 100644 --- a/server/src/main/java/dev/plex/listener/impl/CommandListener.java +++ b/server/src/main/java/dev/plex/listener/impl/CommandListener.java @@ -46,6 +46,7 @@ public class CommandListener extends PlexListener { String command = "/" + event.getMessage().replaceFirst("/", "").trim(); Player player = event.getPlayer(); + if (player.hasPermission("plex.commandblocker.bypass")) return; PlexPlayer plexPlayer = DataUtils.getPlayer(player.getUniqueId()); String commandName = StringUtils.normalizeSpace(command).split(" ")[0].replaceFirst("/", ""); String arguments = StringUtils.normalizeSpace(StringUtils.normalizeSpace(command).replace(command.split(" ")[0], ""));