2024-11-23 19:14:39 +01:00
|
|
|
package de.npid7.serverlite.Commands;
|
|
|
|
|
|
|
|
import de.npid7.serverlite.Configs.PlayerConfig;
|
|
|
|
import de.npid7.serverlite.D7ServerLite;
|
|
|
|
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 StatusCommand implements CommandExecutor {
|
|
|
|
@Override
|
|
|
|
public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
|
2024-11-24 12:03:15 +01:00
|
|
|
if (strings.length < 1 || strings.length > 3) {
|
|
|
|
sender.sendMessage("Verwendung: /status <status/custom/remove>");
|
2024-11-23 19:14:39 +01:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
String str = "";
|
2024-11-24 12:03:15 +01:00
|
|
|
String color = ChatColor.WHITE.toString(); // Default to White
|
2024-11-23 19:14:39 +01:00
|
|
|
boolean is_def = false;
|
|
|
|
for (String st : D7ServerLite.getInst().getPluginConfig().getDefaultStatusList()) {
|
|
|
|
if (strings[0].equals(st)) {
|
|
|
|
str = strings[0];
|
|
|
|
is_def = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (is_def) {
|
|
|
|
// Leave empty
|
|
|
|
} else if (strings[0].equals("custom")) {
|
2024-11-24 12:03:15 +01:00
|
|
|
if (strings.length < 2) {
|
|
|
|
sender.sendMessage("Verwendung: /status custom <status> <color>");
|
2024-11-23 19:14:39 +01:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if (strings[1].length() > 10) {
|
|
|
|
sender.sendMessage(ChatColor.RED.toString() + "Maximale länge ist 10 Zeichen!");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
str = strings[1];
|
2024-11-24 12:03:15 +01:00
|
|
|
if (strings.length == 3) {
|
|
|
|
for (ChatColor c : ChatColor.values()) {
|
|
|
|
if (c.isColor() && c.name().equals(strings[2])) {
|
|
|
|
color = c.toString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (strings[0].equals("remove")) {
|
|
|
|
PlayerConfig pcfg = D7ServerLite.getInst().getPlayerConfig();
|
|
|
|
pcfg.setStatus(((Player) sender).getUniqueId(), "");
|
|
|
|
pcfg.Save();
|
|
|
|
return false;
|
2024-11-23 19:14:39 +01:00
|
|
|
} else {
|
|
|
|
sender.sendMessage(
|
|
|
|
ChatColor.RED.toString() + "Was auch immer du versuchst... lass es einfach!");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if (D7ServerLite.getInst().getPluginConfig().getWordBlacklist().find(str) != null) {
|
2024-11-24 12:03:15 +01:00
|
|
|
sender.sendMessage(ChatColor.RED.toString() + "Dieser Status ist nicht erlaubt!");
|
2024-11-23 19:14:39 +01:00
|
|
|
return false;
|
|
|
|
}
|
2024-11-25 13:39:49 +01:00
|
|
|
// Fix defined status whitre here
|
|
|
|
if (is_def) {
|
|
|
|
color = "";
|
|
|
|
}
|
2024-11-23 19:14:39 +01:00
|
|
|
PlayerConfig pcfg = D7ServerLite.getInst().getPlayerConfig();
|
2024-11-24 12:03:15 +01:00
|
|
|
pcfg.setStatus(((Player) sender).getUniqueId(), color + str);
|
2024-11-23 19:14:39 +01:00
|
|
|
pcfg.Save();
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|