package de.npid7.serverlite.Commands; import de.npid7.serverlite.Configs.PluginConfig; import de.npid7.serverlite.D7ServerLite; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class D7Command implements CommandExecutor { private void printUsage(CommandSender sender) { sender.sendMessage("Verwendung: "); sender.sendMessage("/d7 config reload -> Läd Config nau"); sender.sendMessage("/d7 config save -> Speichert die Config"); sender.sendMessage("/d7 wordlist add "); sender.sendMessage("/d7 wordlist remove "); sender.sendMessage("/d7 status set (color ist optional)"); sender.sendMessage("/d7 status remove -> Entfernt einem Spieler den Status"); } @Override public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) { if (!sender.hasPermission("d7.d7")) { sender.sendMessage(ChatColor.RED.toString() + "This is an admin command!"); return false; } if (strings.length < 2 || strings.length > 5) { printUsage(sender); return false; } if (strings[0].equals("config")) { if (strings.length != 2) { printUsage(sender); return false; } if (strings[1].equals("reload")) { D7ServerLite.getInst().getPluginConfig().Load(); sender.sendMessage(ChatColor.GREEN.toString() + "Config neu geladen!"); return false; } else if (strings[1].equals("save")) { D7ServerLite.getInst().getPluginConfig().Save(); sender.sendMessage(ChatColor.GREEN.toString() + "Config gespeichert!"); return false; } else { sender.sendMessage( ChatColor.RED.toString() + strings[1] + " ist kein subcommand von config!"); return false; } } else if (strings[0].equals("wordlist")) { if (strings.length != 3) { printUsage(sender); return false; } PluginConfig pcfg = D7ServerLite.getInst().getPluginConfig(); if (strings[1].equals("add")) { if (!pcfg.getWordBlacklist().add(strings[2])) { sender.sendMessage(ChatColor.RED.toString() + "Wort ist bereits in der Liste!"); } else { sender.sendMessage(ChatColor.GREEN.toString() + "Wort hinzugefügt!"); } pcfg.Save(); return false; } else if (strings[1].equals("remove")) { if (!pcfg.getWordBlacklist().remove(strings[2])) { sender.sendMessage(ChatColor.RED.toString() + "Wort nicht gefunden!"); } else { sender.sendMessage(ChatColor.GREEN.toString() + "Wort entfernt!"); } pcfg.Save(); return false; } } else if (strings[0].equals("status")) { if (strings.length < 3 || strings.length > 5) { printUsage(sender); return false; } if (strings[2].equals("remove")) { Player pl = Bukkit.getPlayer(strings[1]); if (pl == null) { sender.sendMessage(ChatColor.RED.toString() + "Player existiert nicht!"); return false; } D7ServerLite.getInst().getPlayerConfig().setStatus(pl.getUniqueId(), ""); D7ServerLite.getInst().getPlayerConfig().Save(); sender.sendMessage(ChatColor.GREEN.toString() + "Status entfernt von " + pl.getName()); return false; } else if (strings[2].equals("set")) { Player pl = Bukkit.getPlayer(strings[1]); if (pl == null) { sender.sendMessage(ChatColor.RED.toString() + "Player existiert nicht!"); return false; } String status = strings[3]; String color = ChatColor.WHITE.toString(); if (strings.length == 5) { for (ChatColor c : ChatColor.values()) { if (c.isColor() && c.name().equals(strings[4])) { color = c.toString(); } } } if (D7ServerLite.getInst().getPluginConfig().getWordBlacklist().find(status) != null) { sender.sendMessage(ChatColor.RED.toString() + "Dieser Status ist nicht erlaubt!"); return false; } D7ServerLite.getInst().getPlayerConfig().setStatus(pl.getUniqueId(), color + status); D7ServerLite.getInst().getPlayerConfig().Save(); sender.sendMessage(ChatColor.GREEN.toString() + "Status gesetzt für " + pl.getName()); } } return false; } }