30 lines
1.3 KiB
Java
30 lines
1.3 KiB
Java
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));
|
|
}
|
|
}
|