Delete src/main/java/de/lasertec/command/LtAdminCommand.java via Git Manager GUI
This commit is contained in:
@@ -1,220 +0,0 @@
|
||||
package de.lasertec.command;
|
||||
|
||||
import de.lasertec.LasertecPlugin;
|
||||
import de.lasertec.arena.Arena;
|
||||
import de.lasertec.game.Game;
|
||||
import de.lasertec.game.Team;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class LtAdminCommand implements CommandExecutor {
|
||||
|
||||
private final LasertecPlugin plugin;
|
||||
|
||||
public LtAdminCommand(LasertecPlugin plugin) { this.plugin = plugin; }
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
if (!sender.hasPermission("lasertec.admin")) {
|
||||
sender.sendMessage("§cKeine Berechtigung!");
|
||||
return true;
|
||||
}
|
||||
String pre = plugin.getConfigManager().getPrefix();
|
||||
|
||||
if (args.length == 0 || args[0].equalsIgnoreCase("help")) {
|
||||
help(sender);
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (args[0].toLowerCase()) {
|
||||
|
||||
// ── Arena erstellen ───────────────────────────────────────────────
|
||||
case "create", "createarena" -> {
|
||||
if (args.length < 2) { sender.sendMessage(pre + "§c/ltadmin create <Name>"); return true; }
|
||||
Arena arena = plugin.getArenaManager().createArena(args[1]);
|
||||
if (arena == null) { sender.sendMessage(pre + "§cArena existiert bereits!"); return true; }
|
||||
plugin.getGameManager().createGame(arena);
|
||||
sender.sendMessage(pre + "§aArena §e" + args[1] + " §aerstellt.");
|
||||
sender.sendMessage(pre + "§7Nächste Schritte:");
|
||||
sender.sendMessage("§7 /ltadmin setspawn §e" + args[1] + " red §7(stehe am Spawn)");
|
||||
sender.sendMessage("§7 /ltadmin setbase §e" + args[1] + " red §7(stehe an der Basis)");
|
||||
sender.sendMessage("§7 → Für alle 4 Teams wiederholen");
|
||||
sender.sendMessage("§7 /ltadmin enable §e" + args[1]);
|
||||
}
|
||||
|
||||
// ── Arena löschen ─────────────────────────────────────────────────
|
||||
case "delete", "deletearena" -> {
|
||||
if (args.length < 2) { sender.sendMessage(pre + "§c/ltadmin delete <Name>"); return true; }
|
||||
if (plugin.getArenaManager().deleteArena(args[1]))
|
||||
sender.sendMessage(pre + "§aArena §e" + args[1] + " §agelöscht.");
|
||||
else sender.sendMessage(pre + "§cArena nicht gefunden!");
|
||||
}
|
||||
|
||||
// ── Spawn setzen ──────────────────────────────────────────────────
|
||||
// /ltadmin setspawn <Arena> <red|blue|green|yellow>
|
||||
case "setspawn" -> {
|
||||
if (!(sender instanceof Player player)) { sender.sendMessage("§cNur für Spieler!"); return true; }
|
||||
if (args.length < 3) { sender.sendMessage(pre + "§c/ltadmin setspawn <Arena> <red|blue|green|yellow>"); return true; }
|
||||
Arena arena = requireArena(sender, args[1]); if (arena == null) return true;
|
||||
Team team = requireTeam(sender, args[2]); if (team == null) return true;
|
||||
arena.addSpawn(team, player.getLocation());
|
||||
plugin.getArenaManager().save();
|
||||
sender.sendMessage(pre + "§aSpawn für Team " + team.colored() + " §ain Arena §e"
|
||||
+ arena.getName() + " §ahinzugefügt. §8(Gesamt: " + arena.getSpawns(team).size() + ")");
|
||||
}
|
||||
|
||||
// ── Basis setzen ──────────────────────────────────────────────────
|
||||
// /ltadmin setbase <Arena> <red|blue|green|yellow>
|
||||
case "setbase" -> {
|
||||
if (!(sender instanceof Player player)) { sender.sendMessage("§cNur für Spieler!"); return true; }
|
||||
if (args.length < 3) { sender.sendMessage(pre + "§c/ltadmin setbase <Arena> <red|blue|green|yellow>"); return true; }
|
||||
Arena arena = requireArena(sender, args[1]); if (arena == null) return true;
|
||||
Team team = requireTeam(sender, args[2]); if (team == null) return true;
|
||||
arena.setBase(team, player.getLocation());
|
||||
plugin.getArenaManager().save();
|
||||
sender.sendMessage(pre + "§aBasis für Team " + team.colored() + " §aauf §e"
|
||||
+ blockStr(player) + " §agesetzt.");
|
||||
sender.sendMessage(pre + "§7Beim Spielstart wird hier ein §b"
|
||||
+ team.getGlassMat().name() + " §7platziert.");
|
||||
}
|
||||
|
||||
// ── Lobby setzen ──────────────────────────────────────────────────
|
||||
case "setlobby" -> {
|
||||
if (!(sender instanceof Player player)) { sender.sendMessage("§cNur für Spieler!"); return true; }
|
||||
plugin.getConfigManager().setLobbyLocation(player.getLocation());
|
||||
sender.sendMessage(pre + "§aLobby-Spawn gesetzt!");
|
||||
}
|
||||
|
||||
// ── Arena aktivieren/deaktivieren ─────────────────────────────────
|
||||
case "enable" -> {
|
||||
if (args.length < 2) { sender.sendMessage(pre + "§c/ltadmin enable <Arena>"); return true; }
|
||||
Arena arena = requireArena(sender, args[1]); if (arena == null) return true;
|
||||
if (!arena.isReady()) {
|
||||
sender.sendMessage(pre + "§cArena nicht bereit!\n" + arena.getMissingSetup());
|
||||
return true;
|
||||
}
|
||||
arena.setEnabled(true);
|
||||
plugin.getArenaManager().save();
|
||||
sender.sendMessage(pre + "§aArena §e" + arena.getName() + " §aaktiviert!");
|
||||
}
|
||||
|
||||
case "disable" -> {
|
||||
if (args.length < 2) { sender.sendMessage(pre + "§c/ltadmin disable <Arena>"); return true; }
|
||||
Arena arena = requireArena(sender, args[1]); if (arena == null) return true;
|
||||
arena.setEnabled(false);
|
||||
plugin.getArenaManager().save();
|
||||
sender.sendMessage(pre + "§cArena §e" + arena.getName() + " §cdeaktiviert.");
|
||||
}
|
||||
|
||||
// ── Arena-Info ────────────────────────────────────────────────────
|
||||
case "info" -> {
|
||||
if (args.length < 2) { sender.sendMessage(pre + "§c/ltadmin info <Arena>"); return true; }
|
||||
Arena arena = requireArena(sender, args[1]); if (arena == null) return true;
|
||||
sender.sendMessage("§8§l══════════════════════════════");
|
||||
sender.sendMessage("§b§l Arena: §e" + arena.getName());
|
||||
sender.sendMessage("§8§l══════════════════════════════");
|
||||
sender.sendMessage("§7Aktiviert: " + (arena.isEnabled() ? "§aJa" : "§cNein"));
|
||||
sender.sendMessage("§7Bereit: " + (arena.isReady() ? "§aJa" : "§cNein"));
|
||||
for (Team t : Team.values()) {
|
||||
int spawns = arena.getSpawns(t).size();
|
||||
boolean hasBase = arena.hasBase(t);
|
||||
sender.sendMessage(" " + t.colored() + " §7– Spawns: §e" + spawns
|
||||
+ " §7Basis: " + (hasBase ? "§a✔" : "§c✘"));
|
||||
}
|
||||
if (!arena.isReady()) {
|
||||
sender.sendMessage("§c§lFehlend:");
|
||||
sender.sendMessage(arena.getMissingSetup());
|
||||
}
|
||||
sender.sendMessage("§8§l══════════════════════════════");
|
||||
|
||||
// Spiel-Status
|
||||
Game g = plugin.getGameManager().getGame(arena.getName());
|
||||
if (g != null) {
|
||||
sender.sendMessage("§7Spiel-Status: " + g.getState()
|
||||
+ " §7Spieler: §e" + g.getPlayerCount());
|
||||
}
|
||||
}
|
||||
|
||||
// ── Spiel erzwingen ───────────────────────────────────────────────
|
||||
case "forcestart" -> {
|
||||
if (args.length < 2) { sender.sendMessage(pre + "§c/ltadmin forcestart <Arena>"); return true; }
|
||||
Game g = plugin.getGameManager().getGame(args[1]);
|
||||
if (g == null) { sender.sendMessage(pre + "§cArena/Spiel nicht gefunden!"); return true; }
|
||||
switch (g.getState()) {
|
||||
case WAITING -> { g.startCountdown(); sender.sendMessage(pre + "§aCountdown gestartet!"); }
|
||||
case STARTING -> { g.startGame(); sender.sendMessage(pre + "§aSpiel gestartet!"); }
|
||||
default -> sender.sendMessage(pre + "§cSpiel läuft bereits!");
|
||||
}
|
||||
}
|
||||
|
||||
case "forcestop" -> {
|
||||
if (args.length < 2) { sender.sendMessage(pre + "§c/ltadmin forcestop <Arena>"); return true; }
|
||||
Game g = plugin.getGameManager().getGame(args[1]);
|
||||
if (g == null) { sender.sendMessage(pre + "§cArena/Spiel nicht gefunden!"); return true; }
|
||||
g.forceEnd();
|
||||
sender.sendMessage(pre + "§aSpiel beendet!");
|
||||
}
|
||||
|
||||
// ── Reload ────────────────────────────────────────────────────────
|
||||
case "reload" -> {
|
||||
plugin.getConfigManager().reload();
|
||||
sender.sendMessage(pre + "§aConfig neu geladen!");
|
||||
}
|
||||
|
||||
case "modinfo" -> {
|
||||
new de.lasertec.protection.ModProtectionManager(plugin).sendProtectionInfo(sender);
|
||||
}
|
||||
case "signs" -> {
|
||||
sender.sendMessage(pre + "§7Registrierte Join-Schilder: §b" + plugin.getSignListener().getSignCount());
|
||||
sender.sendMessage(pre + "§7Erstelle ein Schild: Zeile 1 = §e[Lasertec] §7| Zeile 2 = Arenaname");
|
||||
}
|
||||
default -> help(sender);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ─── Helper ──────────────────────────────────────────────────────────────
|
||||
|
||||
private Arena requireArena(CommandSender s, String name) {
|
||||
Arena a = plugin.getArenaManager().getArena(name);
|
||||
if (a == null) s.sendMessage(plugin.getConfigManager().getPrefix() + "§cArena '§e" + name + "§c' nicht gefunden!");
|
||||
return a;
|
||||
}
|
||||
|
||||
private Team requireTeam(CommandSender s, String name) {
|
||||
try { return Team.valueOf(name.toUpperCase()); }
|
||||
catch (IllegalArgumentException ex) {
|
||||
s.sendMessage(plugin.getConfigManager().getPrefix()
|
||||
+ "§cUngültiges Team '§e" + name + "§c'! Benutze: red, blue, green, yellow");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private String blockStr(Player p) {
|
||||
return p.getLocation().getBlockX() + "," + p.getLocation().getBlockY() + "," + p.getLocation().getBlockZ();
|
||||
}
|
||||
|
||||
private void help(CommandSender s) {
|
||||
s.sendMessage("§8§l══════════════════════════════════════════");
|
||||
s.sendMessage("§c§l ⚡ LASERTEC ADMIN-BEFEHLE");
|
||||
s.sendMessage("§8§l══════════════════════════════════════════");
|
||||
s.sendMessage("§c/ltadmin create §8<Name> §7– Arena erstellen");
|
||||
s.sendMessage("§c/ltadmin delete §8<Name> §7– Arena löschen");
|
||||
s.sendMessage("§c/ltadmin setspawn §8<Arena> <Team> §7– Spawn setzen (stehe am Punkt)");
|
||||
s.sendMessage("§c/ltadmin setbase §8<Arena> <Team> §7– Basis-Block setzen");
|
||||
s.sendMessage("§c/ltadmin setlobby §7– Lobby-Spawn setzen");
|
||||
s.sendMessage("§c/ltadmin enable §8<Arena> §7– Arena aktivieren");
|
||||
s.sendMessage("§c/ltadmin disable §8<Arena> §7– Arena deaktivieren");
|
||||
s.sendMessage("§c/ltadmin info §8<Arena> §7– Arena-Infos anzeigen");
|
||||
s.sendMessage("§c/ltadmin forcestart §8<Arena> §7– Countdown/Spiel starten");
|
||||
s.sendMessage("§c/ltadmin forcestop §8<Arena> §7– Spiel beenden");
|
||||
s.sendMessage("§c/ltadmin reload §7– Config neu laden");
|
||||
s.sendMessage("§8§l══════════════════════════════════════════");
|
||||
s.sendMessage("§c/ltadmin modinfo §7– Mod-Schutz Status anzeigen");
|
||||
s.sendMessage("§c/ltadmin signs §7– Schild-Übersicht");
|
||||
s.sendMessage("§8§l══════════════════════════════════════════");
|
||||
s.sendMessage("§7Teams: §cred §9blue §agreen §eyelow");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user