Bungeecord join issues solved

Fixed return-server not working
This commit is contained in:
Elias Müller 2023-10-23 14:21:15 +02:00
parent 4aa5c1e5ae
commit 533df11984
3 changed files with 16 additions and 20 deletions

View File

@ -14,6 +14,7 @@ repositories {
dependencies { dependencies {
implementation 'com.github.waxeria:Minestom:e0427a36f3' implementation 'com.github.waxeria:Minestom:e0427a36f3'
implementation 'org.jctools:jctools-core:4.0.1' implementation 'org.jctools:jctools-core:4.0.1'
implementation 'com.google.guava:guava:31.0.1-jre'
} }
tasks { tasks {

View File

@ -76,14 +76,15 @@ public class Main {
final MuseumPlayer player = (MuseumPlayer) event.getPlayer(); final MuseumPlayer player = (MuseumPlayer) event.getPlayer();
final VoidWorld voidWorld = new VoidWorld(); 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); 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."); System.out.println("[Join] Player " + player.getUsername() +" joined the server.");
}); });

View File

@ -1,22 +1,16 @@
package eu.mhsl.craftattack.worldmuseum.util; 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.entity.Player;
import net.minestom.server.network.packet.server.play.PluginMessagePacket; 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 { public class BunggeCordComunicator {
private static final String bungeeTargetSelector = "BungeeCord"; private static final String bungeeTargetSelector = "bungeecord:main";
public static void connect(Player p, String bungeeServerTargetName) { public static void connect(Player p, String bungeeServerTargetName) {
try { ByteArrayDataOutput out = ByteStreams.newDataOutput();
ByteArrayOutputStream out = new ByteArrayOutputStream(); out.writeUTF("Connect");
out.write("Connect".getBytes(StandardCharsets.UTF_8)); out.writeUTF(bungeeServerTargetName);
out.write(bungeeServerTargetName.getBytes(StandardCharsets.UTF_8)); p.sendPacket(new PluginMessagePacket(bungeeTargetSelector, out.toByteArray()));
p.sendPacket(new PluginMessagePacket(bungeeTargetSelector, out.toByteArray()));
} catch (IOException e) {
throw new RuntimeException(e);
}
} }
} }