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 Packet54PlayNoteBlock extends Packet
008 {
009 public int xLocation;
010 public int yLocation;
011 public int zLocation;
012
013 /** 1=Double Bass, 2=Snare Drum, 3=Clicks / Sticks, 4=Bass Drum, 5=Harp */
014 public int instrumentType;
015
016 /**
017 * The pitch of the note (between 0-24 inclusive where 0 is the lowest and 24 is the highest).
018 */
019 public int pitch;
020
021 /** The block ID this action is set for. */
022 public int blockId;
023
024 public Packet54PlayNoteBlock() {}
025
026 public Packet54PlayNoteBlock(int par1, int par2, int par3, int par4, int par5, int par6)
027 {
028 this.xLocation = par1;
029 this.yLocation = par2;
030 this.zLocation = par3;
031 this.instrumentType = par5;
032 this.pitch = par6;
033 this.blockId = par4;
034 }
035
036 /**
037 * Abstract. Reads the raw packet data from the data stream.
038 */
039 public void readPacketData(DataInputStream par1DataInputStream) throws IOException
040 {
041 this.xLocation = par1DataInputStream.readInt();
042 this.yLocation = par1DataInputStream.readShort();
043 this.zLocation = par1DataInputStream.readInt();
044 this.instrumentType = par1DataInputStream.read();
045 this.pitch = par1DataInputStream.read();
046 this.blockId = par1DataInputStream.readShort() & 4095;
047 }
048
049 /**
050 * Abstract. Writes the raw packet data to the data stream.
051 */
052 public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
053 {
054 par1DataOutputStream.writeInt(this.xLocation);
055 par1DataOutputStream.writeShort(this.yLocation);
056 par1DataOutputStream.writeInt(this.zLocation);
057 par1DataOutputStream.write(this.instrumentType);
058 par1DataOutputStream.write(this.pitch);
059 par1DataOutputStream.writeShort(this.blockId & 4095);
060 }
061
062 /**
063 * Passes this Packet on to the NetHandler for processing.
064 */
065 public void processPacket(NetHandler par1NetHandler)
066 {
067 par1NetHandler.handleBlockEvent(this);
068 }
069
070 /**
071 * Abstract. Return the size of the packet (not counting the header).
072 */
073 public int getPacketSize()
074 {
075 return 14;
076 }
077 }