diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java index bd26e74..20949c8 100755 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java @@ -76,18 +76,22 @@ public class Main { final VoidWorld voidWorld = new VoidWorld(); event.setSpawningInstance(voidWorld); - MinecraftServer.getSchedulerManager().scheduleNextTick(() -> { - player.setPermissionLevel(4); - player.setRespawnPoint(voidWorld.getSpawn()); - player.setGameMode(GameMode.SPECTATOR); - player.setAllowFlying(true); - SkinCache.setSkin(player); - voidWorld.movePlayer(player); - }); - System.out.println("[Join] Player " + player.getUsername() +" joined the server."); }); + globalEventHandler.addListener(PlayerSpawnEvent.class, event -> { + if(!event.isFirstSpawn()) return; + MuseumPlayer player = (MuseumPlayer) event.getPlayer(); + final VoidWorld voidWorld = new VoidWorld(); + + player.setPermissionLevel(4); + player.setRespawnPoint(voidWorld.getSpawn()); + player.setGameMode(GameMode.SPECTATOR); + player.setAllowFlying(true); + SkinCache.setSkin(player); + voidWorld.movePlayer(player); + }); + try { PORT = Integer.parseInt(args[0]); } catch (Exception e) {