Delete src/main/java/de/lasertag/command/LasertagCommand.java via Git Manager GUI
This commit is contained in:
@@ -1,126 +0,0 @@
|
||||
package de.lasertag.command;
|
||||
|
||||
import de.lasertag.LasertagPlugin;
|
||||
import de.lasertag.game.Game;
|
||||
import de.lasertag.game.Team;
|
||||
import de.lasertag.player.LaserPlayer;
|
||||
import de.lasertag.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 LasertagCommand implements CommandExecutor {
|
||||
|
||||
private final LasertagPlugin plugin;
|
||||
|
||||
public LasertagCommand(LasertagPlugin 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("lasertag.play")) {
|
||||
player.sendMessage(pre + "§cKeine Berechtigung (lasertag.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 ⚡ LASERTAG – 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 ⚡ LASERTAG 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("lasertag.admin"))
|
||||
s.sendMessage("§c/ltadmin help §7– Admin-Befehle");
|
||||
s.sendMessage("§8§l═══════════════════════════════════");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user