This commit is contained in:
2025-09-23 15:25:45 +02:00
parent 11be419d33
commit fa093731df
4 changed files with 21 additions and 13 deletions

View File

@@ -25,6 +25,7 @@ public class FfaCommand implements CommandExecutor, TabCompleter {
@Override @Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s, @NotNull String @NotNull [] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s, @NotNull String @NotNull [] args) {
if (sender instanceof Player player) { if (sender instanceof Player player) {
if (!plugin.isFfaResetting) {
Kits kitManager = new Kits(plugin); Kits kitManager = new Kits(plugin);
try { try {
player.getInventory().setContents(kitManager.getKit("ffa", player, false)); player.getInventory().setContents(kitManager.getKit("ffa", player, false));
@@ -35,6 +36,7 @@ public class FfaCommand implements CommandExecutor, TabCompleter {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
}
return true; return true;
} }

View File

@@ -218,7 +218,7 @@ public class PlayerDeathListener implements Listener {
} else if (plugin.playersInFfa.contains(player)) { } else if (plugin.playersInFfa.contains(player)) {
plugin.tpToSpawn(player); plugin.tpToSpawn(player);
plugin.playersInFfa.remove(player); plugin.playersInFfa.remove(player);
e.setDeathMessage("§c" + player.getName() + " §7meghalt §c" + player.getKiller() + " §7által"); e.setDeathMessage("§c" + player.getName() + " §7meghalt §c" + e.getEntity().getKiller() + " §7által");
} else { } else {
e.setCancelled(true); e.setCancelled(true);
plugin.tpToSpawn(player); plugin.tpToSpawn(player);

View File

@@ -110,4 +110,5 @@ public final class Main extends JavaPlugin {
public List<Integer> usedArenas = new ArrayList<>(); public List<Integer> usedArenas = new ArrayList<>();
public List<Player> playersInFfa = new ArrayList<>(); public List<Player> playersInFfa = new ArrayList<>();
public boolean isFfaResetting = false;
} }

View File

@@ -98,21 +98,25 @@ public class WorldReset {
String worldName = "ffa"; String worldName = "ffa";
try { try {
removeFfaWorld(worldName); if (!removeFfaWorld(worldName)) {
plugin.getLogger().warning("Failed to remove FFA world!");
return false;
}
plugin.isFfaResetting = true;
Bukkit.getScheduler().runTaskLater(plugin, () -> { Bukkit.getScheduler().runTaskLater(plugin, () -> {
createFfaWorld(worldName); createFfaWorld(worldName);
}, 20L); }, 100L);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
plugin.getLogger().severe("Error recreating arena world: " + e.getMessage()); plugin.getLogger().severe("Error recreating FFA world: " + e.getMessage());
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
} }
private boolean removeFfaWorld(String worldName) { private boolean removeFfaWorld(String worldName) {
try { try {
World world = Bukkit.getWorld(worldName); World world = Bukkit.getWorld(worldName);
@@ -162,6 +166,7 @@ public class WorldReset {
WorldBorder border = world.getWorldBorder(); WorldBorder border = world.getWorldBorder();
border.setCenter(0, 0); border.setCenter(0, 0);
border.setSize(300); border.setSize(300);
plugin.isFfaResetting = false;
return true; return true;
} else { } else {
plugin.getLogger().severe("Failed to create arena world!"); plugin.getLogger().severe("Failed to create arena world!");