diff --git a/src/main/java/dev/trixinity/eventmanager/TrixinityEventManager.java b/src/main/java/dev/trixinity/eventmanager/TrixinityEventManager.java index ef0c2ea..9fb4959 100644 --- a/src/main/java/dev/trixinity/eventmanager/TrixinityEventManager.java +++ b/src/main/java/dev/trixinity/eventmanager/TrixinityEventManager.java @@ -9,7 +9,7 @@ import dev.trixinity.eventmanager.commands.TrixinityCommand; import dev.trixinity.eventmanager.commands.EventCommand; public class TrixinityEventManager extends JavaPlugin { - private static TrixinityEventManager instance; + private static volatile TrixinityEventManager instance; @Override public void onEnable() { @@ -28,6 +28,9 @@ public class TrixinityEventManager extends JavaPlugin { } public static TrixinityEventManager getInstance() { + if (instance == null) { + throw new IllegalStateException("Plugin není inicializován!"); + } return instance; } } \ No newline at end of file diff --git a/src/main/java/dev/trixinity/eventmanager/commands/EventCommand.java b/src/main/java/dev/trixinity/eventmanager/commands/EventCommand.java index 2031174..4a3214e 100644 --- a/src/main/java/dev/trixinity/eventmanager/commands/EventCommand.java +++ b/src/main/java/dev/trixinity/eventmanager/commands/EventCommand.java @@ -69,21 +69,40 @@ public class EventCommand implements CommandExecutor { } private void handleBuild(CommandSender sender, String[] args) { - if (args.length < 2) { + if (args == null || args.length < 2) { sender.sendMessage(ChatColor.RED + "Použití: /event build "); return; } String command = args[1].toLowerCase(); - if (command.equals("on")) { + if ("on".equals(command)) { // Bezpečnější porovnání řetězců Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "rg flag __global__ build -w EVENT allow"); sender.sendMessage(ChatColor.GREEN + "Build mód byl zapnut!"); - } else if (command.equals("off")) { + } else if ("off".equals(command)) { Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "rg flag __global__ build -w EVENT deny"); sender.sendMessage(ChatColor.RED + "Build mód byl vypnut!"); } } + private void handleTeleport(CommandSender sender, String[] args) { + if (args == null || args.length < 3) { + sender.sendMessage(ChatColor.RED + "Použití: /event teleport "); + return; + } + + Player player = Bukkit.getPlayer(args[1]); + Player target = Bukkit.getPlayer(args[2]); + + if (player == null || target == null) { + sender.sendMessage(ChatColor.RED + "Jeden nebo oba hráči nejsou online!"); + return; + } + + player.teleport(target.getLocation()); + sender.sendMessage(ChatColor.GREEN + String.format("Hráč %s byl teleportován k hráči %s!", + player.getName(), target.getName())); + } + private void handlePvP(CommandSender sender, String[] args) { if (args.length < 2) { sender.sendMessage(ChatColor.RED + "Použití: /event pvp "); @@ -163,22 +182,4 @@ public class EventCommand implements CommandExecutor { target.setFoodLevel(20); sender.sendMessage(ChatColor.GREEN + "Hráč " + target.getName() + " byl vyléčen!"); } - - private void handleTeleport(CommandSender sender, String[] args) { - if (args.length < 3) { - sender.sendMessage(ChatColor.RED + "Použití: /event teleport "); - return; - } - - Player player = Bukkit.getPlayer(args[1]); - Player target = Bukkit.getPlayer(args[2]); - - if (player == null || target == null) { - sender.sendMessage(ChatColor.RED + "Jeden nebo oba hráči nejsou online!"); - return; - } - - player.teleport(target.getLocation()); - sender.sendMessage(ChatColor.GREEN + "Hráč " + player.getName() + " byl teleportován k hráči " + target.getName() + "!"); - } } \ No newline at end of file diff --git a/src/main/java/dev/trixinity/eventmanager/commands/TrixinityCommand.java b/src/main/java/dev/trixinity/eventmanager/commands/TrixinityCommand.java index 881644f..82f000b 100644 --- a/src/main/java/dev/trixinity/eventmanager/commands/TrixinityCommand.java +++ b/src/main/java/dev/trixinity/eventmanager/commands/TrixinityCommand.java @@ -5,13 +5,16 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.ChatColor; +/** + * Implementace příkazu /trixinity pro zobrazení informací o pluginu. + */ public class TrixinityCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() - + "TrixinityEventManager v1.0"); + sender.sendMessage(String.format("%s%sTrixinityEventManager v1.0", + ChatColor.RED, ChatColor.BOLD)); sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev"); sender.sendMessage(ChatColor.GRAY + "Plugin pro správu herních eventů s podporou WorldGuard.");