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