package com.austinv11.peripheralsplusplus.network; import com.austinv11.peripheralsplusplus.PeripheralsPlusPlus; import com.austinv11.peripheralsplusplus.reference.Reference; import cpw.mods.fml.common.network.ByteBufUtils; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; import net.minecraft.nbt.NBTTagCompound; public class GuiPacket implements IMessage { public boolean close; public GuiPacket() {} public GuiPacket(boolean close) { this.close = close; } @Override public void fromBytes(ByteBuf buf) { NBTTagCompound tag = ByteBufUtils.readTag(buf); close = tag.getBoolean("close"); } @Override public void toBytes(ByteBuf buf) { NBTTagCompound tag = new NBTTagCompound(); tag.setBoolean("close", close); ByteBufUtils.writeTag(buf, tag); } public static class GuiPacketHandler implements IMessageHandler<GuiPacket, IMessage> { @Override public IMessage onMessage(GuiPacket message, MessageContext ctx) { if (message.close) Minecraft.getMinecraft().thePlayer.closeScreen(); else Minecraft.getMinecraft().thePlayer.openGui(PeripheralsPlusPlus.instance, Reference.GUIs.HELMET.ordinal(), Minecraft.getMinecraft().thePlayer.worldObj, (int) Minecraft.getMinecraft().thePlayer.posX, (int) Minecraft.getMinecraft().thePlayer.posY, (int) Minecraft.getMinecraft().thePlayer.posZ); return null; } } }