T2C-OPSecurity/src/main/java/de/jatitv/opsecurity/listener/LPCommand.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);
}
}
}