Fix packet issues
This commit is contained in:
parent
f83dc88097
commit
167b1badeb
3 changed files with 55 additions and 29 deletions
|
@ -11,6 +11,7 @@ import dev.zontreck.ariaslib.util.DelayedExecutorService;
|
||||||
import dev.zontreck.essentials.configs.AEClientConfig;
|
import dev.zontreck.essentials.configs.AEClientConfig;
|
||||||
import dev.zontreck.essentials.configs.AEServerConfig;
|
import dev.zontreck.essentials.configs.AEServerConfig;
|
||||||
import dev.zontreck.essentials.gui.HeartsRenderer;
|
import dev.zontreck.essentials.gui.HeartsRenderer;
|
||||||
|
import dev.zontreck.essentials.networking.ModMessages;
|
||||||
import dev.zontreck.essentials.networking.S2CUpdateHearts;
|
import dev.zontreck.essentials.networking.S2CUpdateHearts;
|
||||||
import dev.zontreck.libzontreck.events.RegisterPacketsEvent;
|
import dev.zontreck.libzontreck.events.RegisterPacketsEvent;
|
||||||
import net.minecraftforge.fml.config.ModConfig;
|
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");
|
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
|
@SubscribeEvent
|
||||||
public void onServerStart(final ServerStartedEvent ev)
|
public void onServerStart(final ServerStartedEvent ev)
|
||||||
|
|
|
@ -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 <MSG> void sendToServer(MSG message){
|
||||||
|
INSTANCE.sendToServer(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <MSG> void sendToPlayer(MSG message, ServerPlayer player)
|
||||||
|
{
|
||||||
|
INSTANCE.send(PacketDistributor.PLAYER.with(()->player), message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <MSG> void sendToAll(MSG message)
|
||||||
|
{
|
||||||
|
INSTANCE.send(PacketDistributor.ALL.noArg(), message);
|
||||||
|
}
|
||||||
|
}
|
|
@ -11,7 +11,7 @@ import net.minecraftforge.network.simple.SimpleChannel;
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class S2CUpdateHearts implements IPacket
|
public class S2CUpdateHearts
|
||||||
{
|
{
|
||||||
public boolean current;
|
public boolean current;
|
||||||
|
|
||||||
|
@ -27,22 +27,10 @@ public class S2CUpdateHearts implements IPacket
|
||||||
|
|
||||||
public S2CUpdateHearts(){}
|
public S2CUpdateHearts(){}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deserialize(CompoundTag compoundTag) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void serialize(CompoundTag compoundTag) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void toBytes(FriendlyByteBuf friendlyByteBuf) {
|
public void toBytes(FriendlyByteBuf friendlyByteBuf) {
|
||||||
friendlyByteBuf.writeBoolean(current);
|
friendlyByteBuf.writeBoolean(current);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(Supplier<NetworkEvent.Context> supplier) {
|
public boolean handle(Supplier<NetworkEvent.Context> supplier) {
|
||||||
NetworkEvent.Context ctx=supplier.get();
|
NetworkEvent.Context ctx=supplier.get();
|
||||||
|
|
||||||
|
@ -52,15 +40,4 @@ public class S2CUpdateHearts implements IPacket
|
||||||
|
|
||||||
return true;
|
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);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue