ServerLite/src/main/java/de/npid7/serverlite/Commands/StatusCommand.java

66 lines
2.2 KiB
Java
Raw Normal View History

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) {
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 = "";
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")) {
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];
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) {
sender.sendMessage(ChatColor.RED.toString() + "Dieser Status ist nicht erlaubt!");
2024-11-23 19:14:39 +01:00
return false;
}
PlayerConfig pcfg = D7ServerLite.getInst().getPlayerConfig();
pcfg.setStatus(((Player) sender).getUniqueId(), color + str);
2024-11-23 19:14:39 +01:00
pcfg.Save();
return false;
}
}