This commit is contained in:
babymsp2k
2025-07-04 23:52:52 +02:00
parent 4a627ca8e5
commit 46ee8d0e94
3 changed files with 31 additions and 24 deletions
@@ -9,7 +9,7 @@ import dev.trixinity.eventmanager.commands.TrixinityCommand;
import dev.trixinity.eventmanager.commands.EventCommand; import dev.trixinity.eventmanager.commands.EventCommand;
public class TrixinityEventManager extends JavaPlugin { public class TrixinityEventManager extends JavaPlugin {
private static TrixinityEventManager instance; private static volatile TrixinityEventManager instance;
@Override @Override
public void onEnable() { public void onEnable() {
@@ -28,6 +28,9 @@ public class TrixinityEventManager extends JavaPlugin {
} }
public static TrixinityEventManager getInstance() { public static TrixinityEventManager getInstance() {
if (instance == null) {
throw new IllegalStateException("Plugin není inicializován!");
}
return instance; return instance;
} }
} }
@@ -69,21 +69,40 @@ public class EventCommand implements CommandExecutor {
} }
private void handleBuild(CommandSender sender, String[] args) { 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 <on/off>"); sender.sendMessage(ChatColor.RED + "Použití: /event build <on/off>");
return; return;
} }
String command = args[1].toLowerCase(); 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"); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "rg flag __global__ build -w EVENT allow");
sender.sendMessage(ChatColor.GREEN + "Build mód byl zapnut!"); 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"); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "rg flag __global__ build -w EVENT deny");
sender.sendMessage(ChatColor.RED + "Build mód byl vypnut!"); 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 <hráč> <cíl>");
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) { private void handlePvP(CommandSender sender, String[] args) {
if (args.length < 2) { if (args.length < 2) {
sender.sendMessage(ChatColor.RED + "Použití: /event pvp <on/off>"); sender.sendMessage(ChatColor.RED + "Použití: /event pvp <on/off>");
@@ -163,22 +182,4 @@ public class EventCommand implements CommandExecutor {
target.setFoodLevel(20); target.setFoodLevel(20);
sender.sendMessage(ChatColor.GREEN + "Hráč " + target.getName() + " byl vyléčen!"); 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 <hráč> <cíl>");
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() + "!");
}
} }
@@ -5,13 +5,16 @@ import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
/**
* Implementace příkazu /trixinity pro zobrazení informací o pluginu.
*/
public class TrixinityCommand implements CommandExecutor { public class TrixinityCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, public boolean onCommand(CommandSender sender, Command command, String label,
String[] args) { String[] args) {
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() sender.sendMessage(String.format("%s%sTrixinityEventManager v1.0",
+ "TrixinityEventManager v1.0"); ChatColor.RED, ChatColor.BOLD));
sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev"); sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev");
sender.sendMessage(ChatColor.GRAY sender.sendMessage(ChatColor.GRAY
+ "Plugin pro správu herních eventů s podporou WorldGuard."); + "Plugin pro správu herních eventů s podporou WorldGuard.");