86 lines
3.8 KiB
Java
86 lines
3.8 KiB
Java
// This claas was created by JaTiTV
|
|
|
|
|
|
package de.jatitv.opsecurity.listener;
|
|
|
|
import de.jatitv.opsecurity.config.languages.SelectMessages;
|
|
import de.jatitv.opsecurity.config.config.SelectConfig;
|
|
import de.jatitv.opsecurity.system.Main;
|
|
import de.jatitv.opsecurity.util.Replace;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|
import org.bukkit.event.server.ServerCommandEvent;
|
|
|
|
import java.util.Iterator;
|
|
|
|
public class LPCommand implements Listener {
|
|
|
|
private boolean LPCheck(String command) {
|
|
if (command.charAt(0) == '/') {
|
|
command = command.replaceFirst("/", "");
|
|
}
|
|
Iterator inter = SelectConfig.LP_Whitelist.iterator();
|
|
String lpwtl;
|
|
do {
|
|
if (!inter.hasNext()) {
|
|
return true;
|
|
}
|
|
lpwtl = (String) inter.next();
|
|
} while (!command.equalsIgnoreCase("lp " + lpwtl) &&
|
|
!command.equalsIgnoreCase("luckperms " + lpwtl) &&
|
|
!command.equalsIgnoreCase("permissions " + lpwtl) &&
|
|
!command.equalsIgnoreCase("perms " + lpwtl) &&
|
|
!command.equalsIgnoreCase("perm " + lpwtl) &&
|
|
!command.equalsIgnoreCase("lpb " + lpwtl) &&
|
|
!command.equalsIgnoreCase("luckpermsbungee " + lpwtl) &&
|
|
!command.equalsIgnoreCase("lpv " + lpwtl) &&
|
|
!command.equalsIgnoreCase("luckpermsvelocity " + lpwtl));
|
|
return false;
|
|
}
|
|
|
|
@EventHandler
|
|
public void onOPServer(ServerCommandEvent event) {
|
|
if (SelectConfig.LP_AllowFromConsole) {
|
|
if (!(event.getSender() instanceof Player)) {
|
|
return;
|
|
}
|
|
}
|
|
if ((event.getCommand().toLowerCase().startsWith("lp ") ||
|
|
event.getCommand().toLowerCase().startsWith("luckperms ") ||
|
|
event.getCommand().toLowerCase().startsWith("permissions ") ||
|
|
event.getCommand().toLowerCase().startsWith("perms ") ||
|
|
event.getCommand().toLowerCase().startsWith("perm ") ||
|
|
event.getCommand().toLowerCase().startsWith("lpb ") ||
|
|
event.getCommand().toLowerCase().startsWith("luckpermsbungee ") ||
|
|
event.getCommand().toLowerCase().startsWith("lpv ") ||
|
|
event.getCommand().toLowerCase().startsWith("luckpermsvelocity ")) && SelectConfig.LP_Enable
|
|
&& this.LPCheck(event.getCommand())) {
|
|
event.getSender().sendMessage(Replace.replace(Main.Prefix + SelectMessages.OP_opCommand));
|
|
event.setCancelled(true);
|
|
}
|
|
}
|
|
|
|
@EventHandler
|
|
public void onOpPlayer(PlayerCommandPreprocessEvent event) {
|
|
if (SelectConfig.LP_AllowFromConsole) {
|
|
if (!(event.getPlayer() instanceof Player)) {
|
|
return;
|
|
}
|
|
}
|
|
if ((event.getPlayer().isOp() || event.getPlayer().hasPermission("*")) &&
|
|
event.getMessage().toLowerCase().startsWith("/lp ") ||
|
|
event.getMessage().toLowerCase().startsWith("/luckperms ") ||
|
|
event.getMessage().toLowerCase().startsWith("/permissions ") ||
|
|
event.getMessage().toLowerCase().startsWith("/perms ") ||
|
|
event.getMessage().toLowerCase().startsWith("/lpb ") ||
|
|
event.getMessage().toLowerCase().startsWith("/luckpermsbungee ") ||
|
|
event.getMessage().toLowerCase().startsWith("/lpv ") ||
|
|
event.getMessage().toLowerCase().startsWith("/luckpermsvelocity ") && SelectConfig.OP_Whitelist_Enable && this.LPCheck(event.getMessage())) {
|
|
event.getPlayer().sendMessage(Replace.replace(Main.Prefix + SelectMessages.OP_opCommand));
|
|
event.setCancelled(true);
|
|
}
|
|
}
|
|
}
|