001    package net.minecraft.network.packet;
002    
003    import java.io.DataInputStream;
004    import java.io.DataOutputStream;
005    import java.io.IOException;
006    
007    public 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    }