package de.take_weiland.mods.commons.internal; import cpw.mods.fml.relauncher.Side; import de.take_weiland.mods.commons.inv.ButtonContainer; import de.take_weiland.mods.commons.net.*; import net.minecraft.entity.player.EntityPlayer; import java.io.IOException; /** * @author diesieben07 */ @PacketDirection(PacketDirection.Dir.TO_SERVER) public final class PacketContainerButton extends ModPacket { private int windowId; private int buttonId; public PacketContainerButton(int windowId, int buttonId) { this.windowId = windowId; this.buttonId = buttonId; } @Override public void write(MCDataOutput out) { out.writeByte(windowId); out.writeVarInt(buttonId); } @Override public void read(MCDataInput in, EntityPlayer player, Side side) throws IOException, ProtocolException { windowId = in.readUnsignedByte(); buttonId = in.readVarInt(); } @Override public void execute(EntityPlayer player, Side side) throws ProtocolException { if (player.openContainer.windowId == windowId && player.openContainer instanceof ButtonContainer) { ((ButtonContainer) player.openContainer).onButtonClick(Side.SERVER, player, buttonId); } } }