Update from Git Manager GUI
This commit is contained in:
@@ -133,6 +133,22 @@ public class FussballCommand implements CommandExecutor, TabCompleter {
|
||||
sender.sendMessage(MessageUtil.success("Spiel in §e" + args[1] + " §aberendet."));
|
||||
}
|
||||
|
||||
// ── Torwart manuell zuweisen ─────────────────────────────────────────
|
||||
case "setgk" -> {
|
||||
if (!sender.hasPermission("fussball.admin")) { sender.sendMessage(MessageUtil.error("Keine Berechtigung!")); return true; }
|
||||
// Nutzung: /fb setgk <arena> <spieler>
|
||||
if (args.length < 3) { sender.sendMessage(MessageUtil.error("Benutze: /fb setgk <arena> <spieler>")); return true; }
|
||||
Game gkGame = plugin.getGameManager().getGame(args[1]);
|
||||
if (gkGame == null) { sender.sendMessage(MessageUtil.error("Kein aktives Spiel in §e" + args[1] + "§c!")); return true; }
|
||||
Player target = Bukkit.getPlayerExact(args[2]);
|
||||
if (target == null) { sender.sendMessage(MessageUtil.error("Spieler §e" + args[2] + " §cnicht online!")); return true; }
|
||||
if (!gkGame.isInGame(target)) { sender.sendMessage(MessageUtil.error("§e" + args[2] + " §cist nicht in diesem Spiel!")); return true; }
|
||||
if (!gkGame.setGoalkeeper(target)) {
|
||||
sender.sendMessage(MessageUtil.error("Konnte Torwart nicht zuweisen – Spieler hat kein Team?"));
|
||||
} else {
|
||||
sender.sendMessage(MessageUtil.success("§e" + target.getName() + " §aist jetzt Torwart!"));
|
||||
}
|
||||
}
|
||||
case "top" -> {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(MessageUtil.error("Benutze: /fussball top goals|wins|kicks"));
|
||||
@@ -163,8 +179,6 @@ public class FussballCommand implements CommandExecutor, TabCompleter {
|
||||
}
|
||||
case "kicks" -> {
|
||||
sender.sendMessage(MessageUtil.header("🏆 Top Schützen (Schüsse)"));
|
||||
var list = plugin.getStatsManager().getTopScorers(10);
|
||||
// Nutze getTopScorers und zeige kicks
|
||||
var kickList = new java.util.ArrayList<>(plugin.getStatsManager().getTopScorers(100));
|
||||
kickList.sort((a, b) -> b.getValue().kicks - a.getValue().kicks);
|
||||
for (int i = 0; i < Math.min(10, kickList.size()); i++) {
|
||||
@@ -213,6 +227,8 @@ public class FussballCommand implements CommandExecutor, TabCompleter {
|
||||
case "redpenaltymax" -> { arena.setRedPenaltyMax(player.getLocation()); player.sendMessage(MessageUtil.success("Roter Strafraum Max gesetzt: " + locStr(player.getLocation()))); }
|
||||
case "bluepenaltymin" -> { arena.setBluePenaltyMin(player.getLocation()); player.sendMessage(MessageUtil.success("Blauer Strafraum Min gesetzt: "+ locStr(player.getLocation()))); }
|
||||
case "bluepenaltymax" -> { arena.setBluePenaltyMax(player.getLocation()); player.sendMessage(MessageUtil.success("Blauer Strafraum Max gesetzt: "+ locStr(player.getLocation()))); }
|
||||
case "redpenaltyspot" -> { arena.setRedPenaltySpot(player.getLocation()); player.sendMessage(MessageUtil.success("Roter Elfmeter-Punkt gesetzt: " + locStr(player.getLocation()))); }
|
||||
case "bluepenaltyspot" -> { arena.setBluePenaltySpot(player.getLocation()); player.sendMessage(MessageUtil.success("Blauer Elfmeter-Punkt gesetzt: " + locStr(player.getLocation()))); }
|
||||
case "minplayers" -> { if (args.length < 4) return; arena.setMinPlayers(Integer.parseInt(args[3])); player.sendMessage(MessageUtil.success("Min-Spieler: §e" + args[3])); }
|
||||
case "maxplayers" -> { if (args.length < 4) return; arena.setMaxPlayers(Integer.parseInt(args[3])); player.sendMessage(MessageUtil.success("Max-Spieler: §e" + args[3])); }
|
||||
case "duration" -> { if (args.length < 4) return; arena.setGameDuration(Integer.parseInt(args[3])); player.sendMessage(MessageUtil.success("Spieldauer: §e" + args[3] + "s")); }
|
||||
@@ -230,6 +246,8 @@ public class FussballCommand implements CommandExecutor, TabCompleter {
|
||||
+ " §8(optional – sonst auto-berechnet)");
|
||||
player.sendMessage("§7 Blauer Strafraum: " + check(arena.getBluePenaltyMin(), arena.getBluePenaltyMax())
|
||||
+ " §8(optional – sonst auto-berechnet)");
|
||||
player.sendMessage("§7 Roter Elfmeter-Punkt: " + check(arena.getRedPenaltySpot()) + " §8(optional – sonst ball-spawn)");
|
||||
player.sendMessage("§7 Blauer Elfmeter-Punkt: " + check(arena.getBluePenaltySpot()) + " §8(optional – sonst ball-spawn)");
|
||||
player.sendMessage("§7 Min. Spieler: §e" + arena.getMinPlayers());
|
||||
player.sendMessage("§7 Max. Spieler: §e" + arena.getMaxPlayers());
|
||||
player.sendMessage("§7 Spieldauer: §e" + arena.getGameDuration() + "s");
|
||||
@@ -327,14 +345,24 @@ public class FussballCommand implements CommandExecutor, TabCompleter {
|
||||
List<String> list = new ArrayList<>();
|
||||
if (args.length == 1) {
|
||||
list.addAll(List.of("join", "leave", "list", "stats", "top", "spectate"));
|
||||
if (sender.hasPermission("fussball.admin")) list.addAll(List.of("create", "delete", "setup", "stop", "debug"));
|
||||
} else if (args.length == 2 && List.of("join","delete","setup","stop","debug","spectate").contains(args[0].toLowerCase())) {
|
||||
if (sender.hasPermission("fussball.admin")) list.addAll(List.of("create", "delete", "setup", "stop", "setgk", "debug"));
|
||||
} else if (args.length == 2 && List.of("join","delete","setup","stop","setgk","debug","spectate").contains(args[0].toLowerCase())) {
|
||||
list.addAll(plugin.getArenaManager().getArenaNames());
|
||||
} else if (args.length == 3 && args[0].equalsIgnoreCase("setgk")) {
|
||||
// Spielernamen aus dem aktiven Spiel vorschlagen
|
||||
Game gkGame = plugin.getGameManager().getGame(args[1]);
|
||||
if (gkGame != null) {
|
||||
for (UUID uuid : gkGame.getAllPlayers()) {
|
||||
Player p = Bukkit.getPlayer(uuid);
|
||||
if (p != null) list.add(p.getName());
|
||||
}
|
||||
}
|
||||
} else if (args.length == 3 && args[0].equalsIgnoreCase("setup")) {
|
||||
list.addAll(List.of("lobby","redspawn","bluespawn","ballspawn","center",
|
||||
"redgoalmin","redgoalmax","bluegoalmin","bluegoalmax",
|
||||
"fieldmin","fieldmax",
|
||||
"redpenaltymin","redpenaltymax","bluepenaltymin","bluepenaltymax",
|
||||
"redpenaltyspot","bluepenaltyspot",
|
||||
"minplayers","maxplayers","duration","info"));
|
||||
} else if (args.length == 2 && args[0].equalsIgnoreCase("top")) {
|
||||
list.addAll(List.of("goals", "wins"));
|
||||
|
||||
Reference in New Issue
Block a user