From ede8f290dcd72dce591869b27ec8378e4546aa28 Mon Sep 17 00:00:00 2001 From: Oth3r Date: Sun, 26 Nov 2023 10:16:36 -0600 Subject: [PATCH] 1.20-1.20.1 fix --- .../java/one/oth3r/sit/PacketBuilder.java | 2 +- src/main/java/one/oth3r/sit/Sit.java | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/one/oth3r/sit/PacketBuilder.java b/src/main/java/one/oth3r/sit/PacketBuilder.java index 55bb0c1..538609d 100644 --- a/src/main/java/one/oth3r/sit/PacketBuilder.java +++ b/src/main/java/one/oth3r/sit/PacketBuilder.java @@ -14,7 +14,7 @@ public class PacketBuilder { private PacketByteBuf packetByteBuf = PacketByteBufs.create(); public PacketBuilder(PacketByteBuf buf) { // Read any data sent in the packet - message = StandardCharsets.UTF_8.decode(ByteBuffer.wrap(buf.array())).toString().trim(); + message = buf.toString(StandardCharsets.UTF_8); packetByteBuf = buf; } public PacketBuilder(String message) { diff --git a/src/main/java/one/oth3r/sit/Sit.java b/src/main/java/one/oth3r/sit/Sit.java index d89f49d..09bb4e3 100644 --- a/src/main/java/one/oth3r/sit/Sit.java +++ b/src/main/java/one/oth3r/sit/Sit.java @@ -3,6 +3,8 @@ package one.oth3r.sit; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; +import io.netty.buffer.ByteBuf; +import io.netty.util.ReferenceCountUtil; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; @@ -15,6 +17,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.lang.reflect.Type; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; public class Sit implements ModInitializer { @@ -35,12 +39,15 @@ public class Sit implements ModInitializer { Events.register(); //PACKETS ServerPlayNetworking.registerGlobalReceiver(PacketBuilder.getIdentifier(), - (server, player, handler, buf, responseSender) -> server.execute(() -> { - PacketBuilder packet = new PacketBuilder(buf); - Type hashMapToken = new TypeToken>() {}.getType(); - Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - playerSettings.put(player,gson.fromJson(packet.getMessage(),hashMapToken)); - })); + (server, player, handler, buf, responseSender) -> { + buf.retain(); + server.execute(() -> { + PacketBuilder packet = new PacketBuilder(buf); + Type hashMapToken = new TypeToken>() {}.getType(); + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + playerSettings.put(player,gson.fromJson(packet.getMessage(),hashMapToken)); + }); + }); } public static MutableText lang(String key, Object... args) { if (isClient) return Text.translatable(key, args);