package cpw.mods.fml.common.network; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.INetworkManager; import net.minecraft.network.packet.NetHandler; import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; public class OpenGuiPacket extends FMLPacket { private int windowId; private int networkId; private int modGuiId; private int x; private int y; private int z; public OpenGuiPacket() { super(Type.GUIOPEN); } @Override public byte[] generatePacket(Object... data) { ByteArrayDataOutput dat = ByteStreams.newDataOutput(); dat.writeInt((Integer) data[0]); // windowId dat.writeInt((Integer) data[1]); // networkId dat.writeInt((Integer) data[2]); // modGuiId dat.writeInt((Integer) data[3]); // x dat.writeInt((Integer) data[4]); // y dat.writeInt((Integer) data[5]); // z return dat.toByteArray(); } @Override public FMLPacket consumePacket(byte[] data) { ByteArrayDataInput dat = ByteStreams.newDataInput(data); windowId = dat.readInt(); networkId = dat.readInt(); modGuiId = dat.readInt(); x = dat.readInt(); y = dat.readInt(); z = dat.readInt(); return this; } @Override public void execute(INetworkManager network, FMLNetworkHandler handler, NetHandler netHandler, String userName) { EntityPlayer player = netHandler.getPlayer(); player.openGui(networkId, modGuiId, player.worldObj, x, y, z); player.openContainer.windowId = windowId; } }