feat(event): implement event management commands and status handling

- Add complete event command functionality including start/end/status management
- Implement event status tracking in TrixinityEvent class with getter/setter
- Update placeholder expansion to support event status and current eventer
- Modify ClearEventerCommand and EventerCommand to properly handle eventer role
- Remove unused permissions and clean up plugin.yml
- Add tab completion for event commands
This commit is contained in:
babymsp2k
2025-07-05 18:37:25 +02:00
parent 1e7864e783
commit 5e15d6cea9
7 changed files with 323 additions and 46 deletions
@@ -20,12 +20,44 @@ public class EventerCommand implements CommandExecutor {
if (!sender.hasPermission("*")) {
sender.sendMessage(String.format("%s%sTrixinity-Event v1.0",
ChatColor.RED, ChatColor.BOLD));
sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev");
sender.sendMessage(ChatColor.RED + "Vytvořil: BabyMsp2k");
sender.sendMessage(ChatColor.GRAY
+ "Plugin pro správu herních eventů s podporou WorldGuard.");
return true;
}
// ... zbytek kódu zůstává stejný ...
// Pokud není zadán argument, zobrazí aktuálního eventera
if (args.length == 0) {
TrixinityEvent plugin = TrixinityEvent.getInstance();
String currentEventer = plugin.getConfig().getString("current_eventer");
if (currentEventer != null) {
sender.sendMessage(ChatColor.GREEN + "Současný eventer: " + ChatColor.YELLOW + currentEventer);
} else {
sender.sendMessage(ChatColor.RED + "Žádný eventer není nastaven.");
}
return true;
}
// Nastavení nového eventera
String playerName = args[0];
Player targetPlayer = Bukkit.getPlayer(playerName);
if (targetPlayer == null) {
sender.sendMessage(ChatColor.RED + "Hráč " + playerName + " není online!");
return true;
}
// Nastavení eventer role pomocí LuckPerms
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
"lp user " + targetPlayer.getName() + " parent set eventer");
TrixinityEvent plugin = TrixinityEvent.getInstance();
plugin.getConfig().set("current_eventer", targetPlayer.getName());
plugin.saveConfig();
sender.sendMessage(ChatColor.GREEN + "Eventer byl nastaven na: " + ChatColor.YELLOW + targetPlayer.getName());
targetPlayer.sendMessage(ChatColor.GREEN + "Byl jsi nastaven jako eventer!");
return true;
}
}