package com.thebrokenrail.sorcerycraft.packet; import com.thebrokenrail.sorcerycraft.SorceryCraft; import com.thebrokenrail.sorcerycraft.block.CastingTableContainer; import io.netty.buffer.Unpooled; import net.fabricmc.fabric.api.network.PacketContext; import net.minecraft.client.MinecraftClient; import net.minecraft.container.Container; import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; import net.minecraft.util.Identifier; import net.minecraft.util.PacketByteBuf; public class SelectSpellC2SPacket { public static void handle(PacketContext context, PacketByteBuf bytes) { int index = bytes.readInt(); Container container = context.getPlayer().container; if (container instanceof CastingTableContainer) { CastingTableContainer merchantContainer = (CastingTableContainer) container; merchantContainer.setIndex(index); } } public static void send(MinecraftClient minecraft, int index) { PacketByteBuf bytes = new PacketByteBuf(Unpooled.buffer()); bytes.writeInt(index); assert minecraft.getNetworkHandler() != null; minecraft.getNetworkHandler().sendPacket(new CustomPayloadC2SPacket(new Identifier(SorceryCraft.NAMESPACE, "select_spell"), bytes)); } }