From 2e02d67c8e0409c4a63494065fdc5c4e858d1f9d Mon Sep 17 00:00:00 2001 From: Oth3r Date: Tue, 23 Apr 2024 11:05:28 -0500 Subject: [PATCH] updated packet system --- src/main/java/one/oth3r/sit/Sit.java | 30 ++++++------------- src/main/java/one/oth3r/sit/SitClient.java | 4 ++- .../one/oth3r/sit/packet/CustomPayloads.java | 27 +++++++++++++++++ 3 files changed, 39 insertions(+), 22 deletions(-) create mode 100644 src/main/java/one/oth3r/sit/packet/CustomPayloads.java diff --git a/src/main/java/one/oth3r/sit/Sit.java b/src/main/java/one/oth3r/sit/Sit.java index 7ba996d..268dfb1 100644 --- a/src/main/java/one/oth3r/sit/Sit.java +++ b/src/main/java/one/oth3r/sit/Sit.java @@ -7,17 +7,13 @@ import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.RegistryByteBuf; -import net.minecraft.network.codec.PacketCodec; -import net.minecraft.network.codec.PacketCodecs; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.server.MinecraftServer; import net.minecraft.server.command.CommandManager; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.util.Identifier; import one.oth3r.sit.file.Config; +import one.oth3r.sit.packet.CustomPayloads; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,23 +37,15 @@ public class Sit implements ModInitializer { Config.load(); Events.register(); //PACKETS - PayloadTypeRegistry.playC2S().register(SettingsPayload.ID, SettingsPayload.CODEC); - ServerPlayNetworking.registerGlobalReceiver(SettingsPayload.ID,((payload, context) -> { - server.execute(() -> { - Type hashMapToken = new TypeToken>() {}.getType(); - Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - playerSettings.put(context.player(),gson.fromJson(payload.value,hashMapToken)); - }); - })); - } - public record SettingsPayload(String value) implements CustomPayload { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(new Identifier(MOD_ID,"settings_v1.1")); - public static final PacketCodec CODEC = PacketCodecs.STRING.xmap(SettingsPayload::new, SettingsPayload::value).cast(); - @Override - public Id getId() { - return ID; - } + PayloadTypeRegistry.playC2S().register(CustomPayloads.SettingsPayload.ID, CustomPayloads.SettingsPayload.CODEC); + ServerPlayNetworking.registerGlobalReceiver(CustomPayloads.SettingsPayload.ID,((payload, context) -> server.execute(() -> { + Type hashMapToken = new TypeToken>() {}.getType(); + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + + playerSettings.put(context.player(),gson.fromJson(payload.value(),hashMapToken)); + }))); } + public static MutableText lang(String key, Object... args) { if (isClient) return Text.translatable(key, args); else return LangReader.of(key, args).getTxT(); diff --git a/src/main/java/one/oth3r/sit/SitClient.java b/src/main/java/one/oth3r/sit/SitClient.java index 555bd09..fe6dbb3 100644 --- a/src/main/java/one/oth3r/sit/SitClient.java +++ b/src/main/java/one/oth3r/sit/SitClient.java @@ -6,6 +6,7 @@ import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.minecraft.network.packet.CustomPayload; +import one.oth3r.sit.packet.CustomPayloads; public class SitClient implements ClientModInitializer { public static boolean inGame = false; @@ -20,8 +21,9 @@ public class SitClient implements ClientModInitializer { // reset inGame ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> inGame = false); } + public static CustomPayload sendPackets() { Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - return new Sit.SettingsPayload(gson.toJson(Utl.getHandSettings())); + return new CustomPayloads.SettingsPayload(gson.toJson(Utl.HandSettings.getHandSettings())); } } diff --git a/src/main/java/one/oth3r/sit/packet/CustomPayloads.java b/src/main/java/one/oth3r/sit/packet/CustomPayloads.java new file mode 100644 index 0000000..9d6a57d --- /dev/null +++ b/src/main/java/one/oth3r/sit/packet/CustomPayloads.java @@ -0,0 +1,27 @@ +package one.oth3r.sit.packet; + +import net.minecraft.network.RegistryByteBuf; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.network.codec.PacketCodecs; +import net.minecraft.network.packet.CustomPayload; +import net.minecraft.util.Identifier; +import one.oth3r.sit.Sit; + +public class CustomPayloads { + public record SettingsPayload(String value) implements CustomPayload { + + public static final Id ID = new Id<>(new Identifier(Sit.MOD_ID,"settings_v1.1")); + + public static final PacketCodec CODEC = PacketCodecs.STRING.xmap(SettingsPayload::new, SettingsPayload::value).cast(); + + @Override + public Id getId() { + return ID; + } + + @Override + public String value() { + return value; + } + } +}