Dateien nach "src/main/java/me/viper/teamplugin/commands" hochladen
This commit is contained in:
137
src/main/java/me/viper/teamplugin/commands/TeamCommand.java
Normal file
137
src/main/java/me/viper/teamplugin/commands/TeamCommand.java
Normal 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user