All checks were successful
Build Plugin / build-test (push) Successful in 43s
- Add D7 Command (Admin interface) - Add remove func to status - Add Color table to Status custom - Add wordlist
115 lines
4.4 KiB
Java
115 lines
4.4 KiB
Java
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 <word>");
|
|
sender.sendMessage("/d7 wordlist remove <word>");
|
|
sender.sendMessage("/d7 status <playername> set <status> <color> (color ist optional)");
|
|
sender.sendMessage("/d7 status <playername> 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;
|
|
}
|
|
}
|