001package net.minecraft.network.packet;
002
003import java.io.DataInputStream;
004import java.io.DataOutputStream;
005import java.io.IOException;
006
007public class Packet106Transaction extends Packet
008{
009    /** The id of the window that the action occurred in. */
010    public int windowId;
011    public short shortWindowId;
012    public boolean accepted;
013
014    public Packet106Transaction() {}
015
016    public Packet106Transaction(int par1, short par2, boolean par3)
017    {
018        this.windowId = par1;
019        this.shortWindowId = par2;
020        this.accepted = par3;
021    }
022
023    /**
024     * Passes this Packet on to the NetHandler for processing.
025     */
026    public void processPacket(NetHandler par1NetHandler)
027    {
028        par1NetHandler.handleTransaction(this);
029    }
030
031    /**
032     * Abstract. Reads the raw packet data from the data stream.
033     */
034    public void readPacketData(DataInputStream par1DataInputStream) throws IOException
035    {
036        this.windowId = par1DataInputStream.readByte();
037        this.shortWindowId = par1DataInputStream.readShort();
038        this.accepted = par1DataInputStream.readByte() != 0;
039    }
040
041    /**
042     * Abstract. Writes the raw packet data to the data stream.
043     */
044    public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
045    {
046        par1DataOutputStream.writeByte(this.windowId);
047        par1DataOutputStream.writeShort(this.shortWindowId);
048        par1DataOutputStream.writeByte(this.accepted ? 1 : 0);
049    }
050
051    /**
052     * Abstract. Return the size of the packet (not counting the header).
053     */
054    public int getPacketSize()
055    {
056        return 4;
057    }
058}