package com.thebrokenrail.sorcerycraft.packet;
import com.thebrokenrail.sorcerycraft.SorceryCraft;
import com.thebrokenrail.sorcerycraft.gui.CastingTableScreenHandler;
import io.netty.buffer.Unpooled;
import net.fabricmc.fabric.api.network.PacketContext;
import net.minecraft.client.MinecraftClient;
import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket;
import net.minecraft.screen.ScreenHandler;
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();
ScreenHandler handler = context.getPlayer().currentScreenHandler;
if (handler instanceof CastingTableScreenHandler) {
CastingTableScreenHandler merchantContainer = (CastingTableScreenHandler) handler;
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));