diff --git a/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java b/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java index c912132..95d9145 100644 --- a/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java +++ b/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java @@ -42,8 +42,6 @@ import java.util.Objects; import java.util.Random; import java.util.UUID; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; public class BridgeRaceChallengeEvent implements Listener { @@ -219,39 +217,25 @@ public static boolean load(Player player) { if (!load) { - ArrayList> allTasks = new ArrayList<>(); - CompletableFuture future = new CompletableFuture<>(); - allTasks.add(future); plugin.getServer().getScheduler().runTask(plugin, () -> { - try { - voidWorld = Bukkit.getWorld("VOID"); - if (voidWorld == null) { - WorldCreator wc = new WorldCreator("VOID"); - wc.environment(World.Environment.NORMAL); - wc.type(WorldType.FLAT); - wc.generateStructures(false); - wc.generator(new EmptyChunkGenerator()); - voidWorld = Bukkit.getServer().createWorld(wc); - voidWorld.setPVP(false); - } - } finally { - future.complete(null); - } - }); - CompletableFuture waitForAll = CompletableFuture.allOf(allTasks.toArray(new CompletableFuture[0])); - plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> { - try { - waitForAll.get(); - for (Player pp : plugin.getVanish().getPlayerListWithoutVanishPlayers()) { - createPlayerLocation(pp); - teleportPlayer(pp); - } - load = true; - } catch (InterruptedException | ExecutionException e) { - throw new RuntimeException(e); + voidWorld = Bukkit.getWorld("VOID"); + if (voidWorld == null) { + WorldCreator wc = new WorldCreator("VOID"); + wc.environment(World.Environment.NORMAL); + wc.type(WorldType.FLAT); + wc.generateStructures(false); + wc.generator(new EmptyChunkGenerator()); + voidWorld = Bukkit.getServer().createWorld(wc); + voidWorld.setPVP(false); } }); + plugin.getServer().getScheduler().runTaskLater(plugin, () -> plugin.getVanish().getPlayerListWithoutVanishPlayers().forEach(pp -> { + createPlayerLocation(pp); + teleportPlayer(pp); + }), 1L); + + load = true; return true; } else { plugin.getComponentUtil().sendErrorMessage(player, "Die Void Challenge läuft bereits!");