diff --git a/src/main/java/dev/trixinity/event/commands/EventCommand.java b/src/main/java/dev/trixinity/event/commands/EventCommand.java index aa438ff..ac62864 100644 --- a/src/main/java/dev/trixinity/event/commands/EventCommand.java +++ b/src/main/java/dev/trixinity/event/commands/EventCommand.java @@ -33,6 +33,14 @@ public class EventCommand implements CommandExecutor, TabCompleter { String subCommand = args[0].toLowerCase(); switch (subCommand) { + case "pripravuje": + if (!sender.hasPermission("trixinity.event.admin")) { + sender.sendMessage(ChatColor.RED + "Nemáš oprávnění k použití tohoto příkazu!"); + return true; + } + handleEventPripravuje(sender); + break; + case "starting": if (!sender.hasPermission("trixinity.event.admin")) { sender.sendMessage(ChatColor.RED + "Nemáš oprávnění k použití tohoto příkazu!"); @@ -118,7 +126,7 @@ public class EventCommand implements CommandExecutor, TabCompleter { List completions = new ArrayList<>(); if (args.length == 1) { - List subCommands = Arrays.asList("starting", "start", "end", "build", "pvp", "kick", "event"); + List subCommands = Arrays.asList("pripravuje", "starting", "start", "end", "build", "pvp", "kick", "event"); for (String subCommand : subCommands) { if (subCommand.toLowerCase().startsWith(args[0].toLowerCase())) { completions.add(subCommand); @@ -206,11 +214,26 @@ public class EventCommand implements CommandExecutor, TabCompleter { Bukkit.broadcastMessage(ChatColor.RED + ChatColor.BOLD.toString() + "SPLEEF EVENT SKONČIL!"); } + private void handleEventPripravuje(CommandSender sender) { + TrixinityEvent plugin = TrixinityEvent.getInstance(); + + // Nastavení stavu v paměti + plugin.setEventStatus("Připravuje se"); + + // Vypnutí whitelistu + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "whitelist off"); + + sender.sendMessage(ChatColor.BLUE + "Event se připravuje"); + + // Oznámení všem hráčům + Bukkit.broadcastMessage(ChatColor.BLUE + ChatColor.BOLD.toString() + "EVENT SE PŘIPRAVUJE!"); + } + private void handleEventStarting(CommandSender sender) { TrixinityEvent plugin = TrixinityEvent.getInstance(); // Nastavenie stavu len v pamäti - plugin.setEventStatus("Začíná"); // Už je správně + plugin.setEventStatus("Začíná"); // Vyplnění oblasti vzduchem Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "fill 47 62 42 39 60 42 air"); @@ -225,7 +248,7 @@ public class EventCommand implements CommandExecutor, TabCompleter { TrixinityEvent plugin = TrixinityEvent.getInstance(); // Nastavenie stavu len v pamäti - plugin.setEventStatus("Začal"); // Změněno z "začal" na "Začal" + plugin.setEventStatus("Začal"); // Zapnutie whitelistu Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "whitelist on"); diff --git a/src/main/java/dev/trixinity/event/placeholders/TrixinityPlaceholderExpansion.java b/src/main/java/dev/trixinity/event/placeholders/TrixinityPlaceholderExpansion.java index c217d2d..bb448c1 100644 --- a/src/main/java/dev/trixinity/event/placeholders/TrixinityPlaceholderExpansion.java +++ b/src/main/java/dev/trixinity/event/placeholders/TrixinityPlaceholderExpansion.java @@ -42,7 +42,27 @@ public class TrixinityPlaceholderExpansion extends PlaceholderExpansion { // Zpracování různých placeholderů switch (params.toLowerCase()) { case "status": // Změněno z "trixinity_status" - return plugin.getEventStatus(); + @Override + public String onRequest(Player player, @NotNull String params) { + if (params.equalsIgnoreCase("event_status") || params.equalsIgnoreCase("status")) { + String eventStatus = plugin.getEventStatus(); + switch (eventStatus.toLowerCase()) { + case "připravuje se": + return "Připravuje se"; + case "začíná": + return "Začíná"; + case "začal": + return "Začal"; + case "skončil": + return "Skončil"; + default: + return eventStatus; + } + } else if (params.equalsIgnoreCase("eventer") || params.equalsIgnoreCase("current_eventer")) { + return plugin.getConfig().getString("current_eventer", "Nikdo"); + } + return null; + } case "eventer": case "current_eventer": String eventer = plugin.getConfig().getString("current_eventer");