diff --git a/src/main/java/one/oth3r/sit/PacketBuilder.java b/src/main/java/one/oth3r/sit/PacketBuilder.java index 538609d..ac4bb96 100644 --- a/src/main/java/one/oth3r/sit/PacketBuilder.java +++ b/src/main/java/one/oth3r/sit/PacketBuilder.java @@ -1,5 +1,6 @@ package one.oth3r.sit; +import io.netty.buffer.ByteBuf; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.minecraft.network.PacketByteBuf; @@ -12,10 +13,10 @@ public class PacketBuilder { public static final String SETTINGS = "settings_v1.0"; private final String message; private PacketByteBuf packetByteBuf = PacketByteBufs.create(); - public PacketBuilder(PacketByteBuf buf) { + public PacketBuilder(ByteBuf buf) { // Read any data sent in the packet - message = buf.toString(StandardCharsets.UTF_8); - packetByteBuf = buf; + packetByteBuf.writeBytes(buf); + message = packetByteBuf.toString(StandardCharsets.UTF_8); } public PacketBuilder(String message) { this.message = message; diff --git a/src/main/java/one/oth3r/sit/Sit.java b/src/main/java/one/oth3r/sit/Sit.java index 420a028..cf985eb 100644 --- a/src/main/java/one/oth3r/sit/Sit.java +++ b/src/main/java/one/oth3r/sit/Sit.java @@ -8,6 +8,7 @@ import io.netty.util.ReferenceCountUtil; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.PacketByteBuf; import net.minecraft.server.MinecraftServer; import net.minecraft.server.command.CommandManager; import net.minecraft.server.network.ServerPlayerEntity; @@ -40,14 +41,13 @@ public class Sit implements ModInitializer { //PACKETS ServerPlayNetworking.registerGlobalReceiver(PacketBuilder.getIdentifier(), (server, player, handler, buf, responseSender) -> { - buf.retain(); + ByteBuf byteBuf = buf.copy(); server.execute(() -> { - PacketBuilder packet = new PacketBuilder(buf); + PacketBuilder packet = new PacketBuilder(byteBuf); Type hashMapToken = new TypeToken>() {}.getType(); Gson gson = new GsonBuilder().disableHtmlEscaping().create(); playerSettings.put(player,gson.fromJson(packet.getMessage(),hashMapToken)); }); - buf.release(); }); } public static MutableText lang(String key, Object... args) {