package net.fretux.ascend.network; import net.fretux.ascend.client.ClientPacketHandlers; import net.fretux.ascend.player.PlayerStatsProvider; import net.fretux.ascend.player.StatEffects; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.network.NetworkEvent; import java.util.function.Supplier; public class ClientboundSyncStatsPacket { private final CompoundTag data; public ClientboundSyncStatsPacket(CompoundTag data) { this.data = data; } public ClientboundSyncStatsPacket(FriendlyByteBuf buf) { this.data = buf.readNbt(); } public void toBytes(FriendlyByteBuf buf) { buf.writeNbt(data); } public void handle(Supplier ctx) { ctx.get().enqueueWork(() -> { DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> ClientPacketHandlers.syncStats(data)); ctx.get().setPacketHandled(true); }); } }