Refactor spawn handling into dedicated event listener

- Moved player spawn logic from join event to a new `PlayerSpawnEvent`.
- Improved separation of concerns by restructuring `VoidWorld` spawning logic.
- Added join logging for better debugging.
This commit is contained in:
2025-12-25 20:37:04 +01:00
parent 4f10ce5ba8
commit d3237f7b81

View File

@@ -76,18 +76,22 @@ public class Main {
final VoidWorld voidWorld = new VoidWorld(); final VoidWorld voidWorld = new VoidWorld();
event.setSpawningInstance(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."); 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 { try {
PORT = Integer.parseInt(args[0]); PORT = Integer.parseInt(args[0]);
} catch (Exception e) { } catch (Exception e) {