From 167b1badebeb173009817e1c6421a1b762b30e54 Mon Sep 17 00:00:00 2001 From: zontreck Date: Sat, 16 Dec 2023 01:29:28 -0700 Subject: [PATCH] Fix packet issues --- .../zontreck/essentials/AriasEssentials.java | 7 +-- .../essentials/networking/ModMessages.java | 52 +++++++++++++++++++ .../networking/S2CUpdateHearts.java | 25 +-------- 3 files changed, 55 insertions(+), 29 deletions(-) create mode 100644 src/main/java/dev/zontreck/essentials/networking/ModMessages.java diff --git a/src/main/java/dev/zontreck/essentials/AriasEssentials.java b/src/main/java/dev/zontreck/essentials/AriasEssentials.java index e33913d..3fdc86e 100644 --- a/src/main/java/dev/zontreck/essentials/AriasEssentials.java +++ b/src/main/java/dev/zontreck/essentials/AriasEssentials.java @@ -11,6 +11,7 @@ import dev.zontreck.ariaslib.util.DelayedExecutorService; import dev.zontreck.essentials.configs.AEClientConfig; import dev.zontreck.essentials.configs.AEServerConfig; import dev.zontreck.essentials.gui.HeartsRenderer; +import dev.zontreck.essentials.networking.ModMessages; import dev.zontreck.essentials.networking.S2CUpdateHearts; import dev.zontreck.libzontreck.events.RegisterPacketsEvent; import net.minecraftforge.fml.config.ModConfig; @@ -54,6 +55,7 @@ public class AriasEssentials { ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, AEServerConfig.SPEC, "arias-essentials-server.toml"); + ModMessages.register(); @@ -68,11 +70,6 @@ public class AriasEssentials { { } - @SubscribeEvent - public void onRegisterPackets(RegisterPacketsEvent ev){ - ev.packets.add(new S2CUpdateHearts()); - } - @SubscribeEvent public void onServerStart(final ServerStartedEvent ev) diff --git a/src/main/java/dev/zontreck/essentials/networking/ModMessages.java b/src/main/java/dev/zontreck/essentials/networking/ModMessages.java new file mode 100644 index 0000000..2a4fad2 --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/networking/ModMessages.java @@ -0,0 +1,52 @@ +package dev.zontreck.essentials.networking; + +import dev.zontreck.essentials.AriasEssentials; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; +import net.minecraftforge.network.NetworkDirection; +import net.minecraftforge.network.NetworkRegistry; +import net.minecraftforge.network.PacketDistributor; +import net.minecraftforge.network.simple.SimpleChannel; + +public class ModMessages { + private static SimpleChannel INSTANCE; + + private static int PACKET_ID = 0; + private static int id() + { + return PACKET_ID++; + } + + public static void register() + { + SimpleChannel net = NetworkRegistry.ChannelBuilder.named(new ResourceLocation(AriasEssentials.MODID, "messages")) + .networkProtocolVersion(()-> "1.0") + .clientAcceptedVersions(s->true) + .serverAcceptedVersions(s->true) + .simpleChannel(); + + INSTANCE=net; + + + net.messageBuilder(S2CUpdateHearts.class, id(), NetworkDirection.PLAY_TO_CLIENT) + .decoder(S2CUpdateHearts::new) + .encoder(S2CUpdateHearts::toBytes) + .consumerMainThread(S2CUpdateHearts::handle) + .add(); + + } + + public static void sendToServer(MSG message){ + INSTANCE.sendToServer(message); + } + + public static void sendToPlayer(MSG message, ServerPlayer player) + { + INSTANCE.send(PacketDistributor.PLAYER.with(()->player), message); + } + + public static void sendToAll(MSG message) + { + INSTANCE.send(PacketDistributor.ALL.noArg(), message); + } +} diff --git a/src/main/java/dev/zontreck/essentials/networking/S2CUpdateHearts.java b/src/main/java/dev/zontreck/essentials/networking/S2CUpdateHearts.java index cf47c01..6d79147 100644 --- a/src/main/java/dev/zontreck/essentials/networking/S2CUpdateHearts.java +++ b/src/main/java/dev/zontreck/essentials/networking/S2CUpdateHearts.java @@ -11,7 +11,7 @@ import net.minecraftforge.network.simple.SimpleChannel; import java.util.function.Supplier; -public class S2CUpdateHearts implements IPacket +public class S2CUpdateHearts { public boolean current; @@ -27,22 +27,10 @@ public class S2CUpdateHearts implements IPacket public S2CUpdateHearts(){} - @Override - public void deserialize(CompoundTag compoundTag) { - - } - - @Override - public void serialize(CompoundTag compoundTag) { - - } - - @Override public void toBytes(FriendlyByteBuf friendlyByteBuf) { friendlyByteBuf.writeBoolean(current); } - @Override public boolean handle(Supplier supplier) { NetworkEvent.Context ctx=supplier.get(); @@ -52,15 +40,4 @@ public class S2CUpdateHearts implements IPacket return true; } - - @Override - public NetworkDirection getDirection() { - return NetworkDirection.PLAY_TO_CLIENT; - } - - @Override - public void register(SimpleChannel simpleChannel) { - ServerUtilities.registerPacket(simpleChannel, S2CUpdateHearts.class, this, S2CUpdateHearts::new); - - } }