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;
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;
}
}
@@ -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 <on/off>");
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 <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) {
if (args.length < 2) {
sender.sendMessage(ChatColor.RED + "Použití: /event pvp <on/off>");
@@ -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 <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.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.");