Delete src/main/java/de/lasertec/command/LasertecCommand.java via Git Manager GUI

This commit is contained in:
2026-06-20 19:28:56 +00:00
parent 1e78847488
commit 434f9f9c00

View File

@@ -1,126 +0,0 @@
package de.lasertec.command;
import de.lasertec.LasertecPlugin;
import de.lasertec.game.Game;
import de.lasertec.game.Team;
import de.lasertec.player.LaserPlayer;
import de.lasertec.player.PlayerStats;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.List;
import java.util.Map;
public class LasertecCommand implements CommandExecutor {
private final LasertecPlugin plugin;
public LasertecCommand(LasertecPlugin plugin) { this.plugin = plugin; }
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
String pre = plugin.getConfigManager().getPrefix();
if (args.length == 0 || args[0].equalsIgnoreCase("help")) {
help(sender);
return true;
}
switch (args[0].toLowerCase()) {
// ── join ──────────────────────────────────────────────────────────
case "join", "j" -> {
if (!(sender instanceof Player player)) { sender.sendMessage("§cNur für Spieler!"); return true; }
if (!player.hasPermission("lasertec.play")) {
player.sendMessage(pre + "§cKeine Berechtigung (lasertec.play)");
return true;
}
if (args.length >= 2) plugin.getGameManager().joinGame(player, args[1]);
else plugin.getGameManager().joinBest(player);
}
// ── leave ─────────────────────────────────────────────────────────
case "leave", "l" -> {
if (!(sender instanceof Player player)) return true;
Game g = plugin.getGameManager().getGameOf(player);
if (g == null) player.sendMessage(pre + "§cDu bist in keinem Spiel!");
else plugin.getGameManager().leaveGame(player);
}
// ── list ──────────────────────────────────────────────────────────
case "list" -> {
sender.sendMessage("§8§l═══════════════════════════════════");
sender.sendMessage("§b§l ⚡ LASERTEC ARENEN");
sender.sendMessage("§8§l═══════════════════════════════════");
var games = plugin.getGameManager().getAllGames();
if (games.isEmpty()) { sender.sendMessage("§c Keine Arenen konfiguriert."); return true; }
for (Game g : games) {
String status = switch (g.getState()) {
case WAITING -> "§aWartend";
case STARTING -> "§eStartet";
case RUNNING -> "§6Läuft";
case ENDING -> "§7Beendet";
};
String ready = g.getArena().isReady() ? "§a✔" : "§c✘";
sender.sendMessage(" " + ready + " §b" + g.getArena().getName()
+ " §8[" + status + "§8] §7Spieler: §e" + g.getPlayerCount()
+ "§7/§e" + g.getMaxPlayers());
}
sender.sendMessage("§8§l═══════════════════════════════════");
}
// ── stats ─────────────────────────────────────────────────────────
case "stats" -> {
if (!(sender instanceof Player player)) return true;
PlayerStats s = plugin.getPlayerDataManager().getStats(player.getUniqueId());
sender.sendMessage("§8§l══════════════════════════════");
sender.sendMessage("§b§l ⚡ DEINE STATISTIKEN");
sender.sendMessage("§8§l══════════════════════════════");
sender.sendMessage("§7Spiele: §e" + s.getGamesPlayed());
sender.sendMessage("§7Kills gesamt: §a" + s.getTotalKills());
sender.sendMessage("§7Tode gesamt: §c" + s.getTotalDeaths());
sender.sendMessage("§7K/D-Ratio: §6" + s.getKDR());
sender.sendMessage("§7Punkte gesamt: §6" + s.getTotalScore());
sender.sendMessage("§7Beste Kill-Serie:§b " + s.getBestStreak());
sender.sendMessage("§7Basis-Angriffe: §d" + s.getTotalBaseAttacks());
sender.sendMessage("§8§l══════════════════════════════");
}
// ── top ───────────────────────────────────────────────────────────
case "top" -> {
List<PlayerStats> top = plugin.getPlayerDataManager().getTopByScore(10);
sender.sendMessage("§8§l═══════════════════════════════");
sender.sendMessage("§6§l 🏆 BESTENLISTE");
sender.sendMessage("§8§l═══════════════════════════════");
for (int i = 0; i < top.size(); i++) {
PlayerStats s = top.get(i);
String medal = i == 0 ? "§6§l🥇" : i == 1 ? "§7§l🥈" : i == 2 ? "§c§l🥉" : "§8#" + (i+1);
sender.sendMessage(" " + medal + " §e" + s.getName()
+ " §7│ §6" + s.getTotalScore() + " Pkt §7│ §aK:" + s.getTotalKills()
+ " §7│ §bKDR:" + s.getKDR());
}
if (top.isEmpty()) sender.sendMessage("§7Noch keine Statistiken vorhanden.");
sender.sendMessage("§8§l═══════════════════════════════");
}
default -> help(sender);
}
return true;
}
private void help(CommandSender s) {
s.sendMessage("§8§l═══════════════════════════════════");
s.sendMessage("§b§l ⚡ LASERTEC HILFE");
s.sendMessage("§8§l═══════════════════════════════════");
s.sendMessage("§b/lt join §8[Arena] §7 Einem Spiel beitreten");
s.sendMessage("§b/lt leave §7 Spiel verlassen");
s.sendMessage("§b/lt list §7 Arenen anzeigen");
s.sendMessage("§b/lt stats §7 Deine Statistiken");
s.sendMessage("§b/lt top §7 Bestenliste (Top 10)");
if (s.hasPermission("lasertec.admin"))
s.sendMessage("§c/ltadmin help §7 Admin-Befehle");
s.sendMessage("§8§l═══════════════════════════════════");
}
}