From 5666fa7808138e43342630d843005dcc1f3d3cd1 Mon Sep 17 00:00:00 2001 From: AzaleeX Date: Mon, 9 Dec 2024 02:09:25 +0100 Subject: [PATCH] fix --- .../network/handler/InGamePacketHandler.java | 25 +++++++++++++------ .../network/handler/LoginPacketHandler.java | 2 +- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/sculk/network/handler/InGamePacketHandler.java b/src/main/java/org/sculk/network/handler/InGamePacketHandler.java index 1287802..c56c385 100644 --- a/src/main/java/org/sculk/network/handler/InGamePacketHandler.java +++ b/src/main/java/org/sculk/network/handler/InGamePacketHandler.java @@ -4,10 +4,14 @@ import lombok.NonNull; import org.cloudburstmc.protocol.bedrock.packet.CommandRequestPacket; import org.cloudburstmc.protocol.bedrock.packet.EmotePacket; +import org.cloudburstmc.protocol.bedrock.packet.PlayerSkinPacket; import org.cloudburstmc.protocol.bedrock.packet.TextPacket; import org.cloudburstmc.protocol.common.PacketSignal; import org.sculk.player.Player; import org.sculk.network.session.SculkServerSession; +import org.sculk.utils.SkinUtils; + +import java.util.Objects; /* * ____ _ _ @@ -35,15 +39,13 @@ public InGamePacketHandler(Player player, SculkServerSession session) { @Override public PacketSignal handle(TextPacket packet) { - switch(packet.getType()) { - case TextPacket.Type.CHAT -> { - String chatMessage = packet.getMessage(); - int breakLine = chatMessage.indexOf("\n"); - if(breakLine != -1) { - chatMessage = chatMessage.substring(0, breakLine); - } - this.player.onChat(chatMessage); + if (Objects.requireNonNull(packet.getType()) == TextPacket.Type.CHAT) { + String chatMessage = packet.getMessage(); + int breakLine = chatMessage.indexOf("\n"); + if (breakLine != -1) { + chatMessage = chatMessage.substring(0, breakLine); } + this.player.onChat(chatMessage); } return PacketSignal.HANDLED; } @@ -55,4 +57,11 @@ public PacketSignal handle(CommandRequestPacket packet) { } return PacketSignal.HANDLED; } + + + @Override + public PacketSignal handle(PlayerSkinPacket packet) { + this.player.changeSkin(SkinUtils.fromSerialized(packet.getSkin()), "", ""); + return PacketSignal.HANDLED; + } } diff --git a/src/main/java/org/sculk/network/handler/LoginPacketHandler.java b/src/main/java/org/sculk/network/handler/LoginPacketHandler.java index 419e573..60a2c45 100644 --- a/src/main/java/org/sculk/network/handler/LoginPacketHandler.java +++ b/src/main/java/org/sculk/network/handler/LoginPacketHandler.java @@ -48,7 +48,7 @@ public LoginPacketHandler(SculkServerSession session, Consumer @Override public PacketSignal handle(LoginPacket packet) { ClientChainData clientChainData = ClientChainData.read(packet); - if(clientChainData.isXboxAuthed()) { + if(!clientChainData.isXboxAuthed()) { session.disconnect("disconnectionScreen.notAuthenticated"); return PacketSignal.HANDLED; }