5e15d6cea9
- 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
63 lines
2.2 KiB
Java
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;
|
|
}
|
|
} |