Files
Event/src/main/java/dev/trixinity/event/commands/EventerCommand.java
T
babymsp2k 5e15d6cea9 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
2025-07-05 18:37:25 +02:00

63 lines
2.2 KiB
Java

package dev.trixinity.event.commands;
import dev.trixinity.event.TrixinityEvent;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
/**
* Implementace příkazu /eventer pro nastavení eventer role.
*/
public class EventerCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label,
String[] args) {
// Kontrola oprávnění - vyžaduje * oprávnění
if (!sender.hasPermission("*")) {
sender.sendMessage(String.format("%s%sTrixinity-Event v1.0",
ChatColor.RED, ChatColor.BOLD));
sender.sendMessage(ChatColor.RED + "Vytvořil: BabyMsp2k");
sender.sendMessage(ChatColor.GRAY
+ "Plugin pro správu herních eventů s podporou WorldGuard.");
return true;
}
// 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;
}
}