diff --git a/build.gradle b/build.gradle index 36c5a57..29642ee 100644 --- a/build.gradle +++ b/build.gradle @@ -14,6 +14,7 @@ repositories { dependencies { implementation 'com.github.waxeria:Minestom:e0427a36f3' implementation 'org.jctools:jctools-core:4.0.1' + implementation 'com.google.guava:guava:31.0.1-jre' } tasks { diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java index 8f71d17..6c6d220 100755 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java @@ -76,14 +76,15 @@ public class Main { final 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); - event.setSpawningInstance(voidWorld); - MinecraftServer.getSchedulerManager().scheduleNextTick(() -> voidWorld.movePlayer(player)); + 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."); }); diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/BunggeCordComunicator.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/BunggeCordComunicator.java index 7666e7d..f480ffe 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/BunggeCordComunicator.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/BunggeCordComunicator.java @@ -1,22 +1,16 @@ package eu.mhsl.craftattack.worldmuseum.util; +import com.google.common.io.ByteArrayDataOutput; +import com.google.common.io.ByteStreams; import net.minestom.server.entity.Player; import net.minestom.server.network.packet.server.play.PluginMessagePacket; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; - public class BunggeCordComunicator { - private static final String bungeeTargetSelector = "BungeeCord"; + private static final String bungeeTargetSelector = "bungeecord:main"; public static void connect(Player p, String bungeeServerTargetName) { - try { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - out.write("Connect".getBytes(StandardCharsets.UTF_8)); - out.write(bungeeServerTargetName.getBytes(StandardCharsets.UTF_8)); - p.sendPacket(new PluginMessagePacket(bungeeTargetSelector, out.toByteArray())); - } catch (IOException e) { - throw new RuntimeException(e); - } + ByteArrayDataOutput out = ByteStreams.newDataOutput(); + out.writeUTF("Connect"); + out.writeUTF(bungeeServerTargetName); + p.sendPacket(new PluginMessagePacket(bungeeTargetSelector, out.toByteArray())); } }