1.20-1.20.1 fix

This commit is contained in:
Oth3r 2023-11-26 10:16:36 -06:00
commit ede8f290dc
2 changed files with 14 additions and 7 deletions

View file

@ -14,7 +14,7 @@ public class PacketBuilder {
private PacketByteBuf packetByteBuf = PacketByteBufs.create(); private PacketByteBuf packetByteBuf = PacketByteBufs.create();
public PacketBuilder(PacketByteBuf buf) { public PacketBuilder(PacketByteBuf buf) {
// Read any data sent in the packet // 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; packetByteBuf = buf;
} }
public PacketBuilder(String message) { public PacketBuilder(String message) {

View file

@ -3,6 +3,8 @@ package one.oth3r.sit;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import io.netty.buffer.ByteBuf;
import io.netty.util.ReferenceCountUtil;
import net.fabricmc.api.ModInitializer; import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
@ -15,6 +17,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
public class Sit implements ModInitializer { public class Sit implements ModInitializer {
@ -35,12 +39,15 @@ public class Sit implements ModInitializer {
Events.register(); Events.register();
//PACKETS //PACKETS
ServerPlayNetworking.registerGlobalReceiver(PacketBuilder.getIdentifier(), ServerPlayNetworking.registerGlobalReceiver(PacketBuilder.getIdentifier(),
(server, player, handler, buf, responseSender) -> server.execute(() -> { (server, player, handler, buf, responseSender) -> {
buf.retain();
server.execute(() -> {
PacketBuilder packet = new PacketBuilder(buf); PacketBuilder packet = new PacketBuilder(buf);
Type hashMapToken = new TypeToken<HashMap<String, Object>>() {}.getType(); Type hashMapToken = new TypeToken<HashMap<String, Object>>() {}.getType();
Gson gson = new GsonBuilder().disableHtmlEscaping().create(); Gson gson = new GsonBuilder().disableHtmlEscaping().create();
playerSettings.put(player,gson.fromJson(packet.getMessage(),hashMapToken)); playerSettings.put(player,gson.fromJson(packet.getMessage(),hashMapToken));
})); });
});
} }
public static MutableText lang(String key, Object... args) { public static MutableText lang(String key, Object... args) {
if (isClient) return Text.translatable(key, args); if (isClient) return Text.translatable(key, args);