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 Packet6SpawnPosition extends Packet
008 {
009 /** X coordinate of spawn. */
010 public int xPosition;
011
012 /** Y coordinate of spawn. */
013 public int yPosition;
014
015 /** Z coordinate of spawn. */
016 public int zPosition;
017
018 public Packet6SpawnPosition() {}
019
020 public Packet6SpawnPosition(int par1, int par2, int par3)
021 {
022 this.xPosition = par1;
023 this.yPosition = par2;
024 this.zPosition = par3;
025 }
026
027 /**
028 * Abstract. Reads the raw packet data from the data stream.
029 */
030 public void readPacketData(DataInputStream par1DataInputStream) throws IOException
031 {
032 this.xPosition = par1DataInputStream.readInt();
033 this.yPosition = par1DataInputStream.readInt();
034 this.zPosition = par1DataInputStream.readInt();
035 }
036
037 /**
038 * Abstract. Writes the raw packet data to the data stream.
039 */
040 public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
041 {
042 par1DataOutputStream.writeInt(this.xPosition);
043 par1DataOutputStream.writeInt(this.yPosition);
044 par1DataOutputStream.writeInt(this.zPosition);
045 }
046
047 /**
048 * Passes this Packet on to the NetHandler for processing.
049 */
050 public void processPacket(NetHandler par1NetHandler)
051 {
052 par1NetHandler.handleSpawnPosition(this);
053 }
054
055 /**
056 * Abstract. Return the size of the packet (not counting the header).
057 */
058 public int getPacketSize()
059 {
060 return 12;
061 }
062
063 /**
064 * only false for the abstract Packet class, all real packets return true
065 */
066 public boolean isRealPacket()
067 {
068 return true;
069 }
070
071 /**
072 * eg return packet30entity.entityId == entityId; WARNING : will throw if you compare a packet to a different packet
073 * class
074 */
075 public boolean containsSameEntityIDAs(Packet par1Packet)
076 {
077 return true;
078 }
079
080 /**
081 * If this returns true, the packet may be processed on any thread; otherwise it is queued for the main thread to
082 * handle.
083 */
084 public boolean canProcessAsync()
085 {
086 return false;
087 }
088 }