Dateien nach "src/main/java/me/viper/teamplugin/commands" hochladen

This commit is contained in:
2025-10-05 14:40:11 +00:00
parent e5406d7f1f
commit c223f78b6f

View File

@@ -0,0 +1,137 @@
// Datei: src/main/java/me/viper/teamplugin/commands/TeamCommand.java
package me.viper.teamplugin.commands;
import me.viper.teamplugin.gui.BackupGUI;
import me.viper.teamplugin.gui.SettingsGUI;
import me.viper.teamplugin.gui.TeamGUI;
import me.viper.teamplugin.manager.BackupManager;
import me.viper.teamplugin.manager.DataManager;
import me.viper.teamplugin.manager.LangManager;
import me.viper.teamplugin.Main;
import me.viper.teamplugin.util.Utils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.List;
public class TeamCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (args.length == 0) {
if (!(sender instanceof Player)) {
sender.sendMessage(LangManager.get("only_player"));
return true;
}
TeamGUI.openTeamGUI((Player) sender);
return true;
}
String sub = args[0].toLowerCase();
if (sub.equals("add")) {
if (!sender.hasPermission("teamplugin.admin")) {
sender.sendMessage(LangManager.get("no_permission"));
return true;
}
if (args.length < 3) {
sender.sendMessage(LangManager.get("add_usage"));
return true;
}
String name = args[1];
String rank = args[2];
List<String> ranks = Main.getInstance().getConfig().getStringList("ranks");
if (ranks == null || !ranks.contains(rank)) {
sender.sendMessage(Utils.color(LangManager.get("prefix")) + "§cRang §e" + rank + " §cexistiert nicht!");
return true;
}
DataManager.addMember(rank, name);
sender.sendMessage(Utils.replace(LangManager.get("player_added"), "%player%", name, "%rank%", rank));
return true;
}
if (sub.equals("del")) {
if (!sender.hasPermission("teamplugin.admin")) {
sender.sendMessage(LangManager.get("no_permission"));
return true;
}
if (args.length < 2) {
sender.sendMessage(LangManager.get("del_usage"));
return true;
}
String name = args[1];
boolean removed = DataManager.removeMember(name);
if (removed)
sender.sendMessage(Utils.replace(LangManager.get("player_removed"), "%player%", name));
else
sender.sendMessage(Utils.replace(LangManager.get("player_not_found"), "%player%", name));
return true;
}
if (sub.equals("settings")) {
if (!(sender instanceof Player) || !sender.hasPermission("teamplugin.admin")) {
sender.sendMessage(LangManager.get("no_permission"));
return true;
}
SettingsGUI.openSettings((Player) sender);
return true;
}
if (sub.equals("backup")) {
if (!sender.hasPermission("teamplugin.admin")) {
sender.sendMessage(LangManager.get("no_permission"));
return true;
}
String file = BackupManager.createBackup();
if (file != null) sender.sendMessage(Utils.replace(LangManager.get("backup_created"), "%file%", file));
else sender.sendMessage(Utils.color(LangManager.get("prefix")) + "§cBackup fehlgeschlagen.");
return true;
}
if (sub.equals("restore")) {
if (!sender.hasPermission("teamplugin.admin")) {
sender.sendMessage(LangManager.get("no_permission"));
return true;
}
if (args.length < 2) {
sender.sendMessage(Utils.color(LangManager.get("prefix")) + "§cVerwendung: /team restore <dateiname>");
return true;
}
String file = args[1];
boolean ok = BackupManager.restoreBackup(file);
if (ok) sender.sendMessage(Utils.replace(LangManager.get("backup_restore_success"), "%file%", file));
else sender.sendMessage(Utils.replace(LangManager.get("backup_not_found"), "%file%", file));
return true;
}
if (sub.equals("backups")) {
if (!(sender instanceof Player)) {
// Console: list backups in chat
List<String> list = BackupManager.listBackups();
if (list.isEmpty()) {
sender.sendMessage(LangManager.get("no_backups"));
return true;
}
sender.sendMessage(LangManager.get("backups_list_title"));
list.forEach(s -> sender.sendMessage("§7- §e" + s));
return true;
}
// Player: open Backup GUI
Player p = (Player) sender;
if (!p.hasPermission("teamplugin.admin")) {
p.sendMessage(LangManager.get("no_permission"));
return true;
}
BackupGUI.openBackupGUI(p);
return true;
}
sender.sendMessage(LangManager.get("unknown_command"));
return true;
}
}