    001package net.minecraft.network.packet;
    002
    003import java.io.DataInputStream;
    004import java.io.DataOutputStream;
    005import java.io.IOException;
    006
    007public class Packet203AutoComplete extends Packet
    008{
    009    /**
    010     * Sent by the client containing the text to be autocompleted. Sent by the server with possible completions
    011     * separated by null (two bytes in UTF-16)
    012     */
    013    private String text;
    014
    015    public Packet203AutoComplete() {}
    016
    017    public Packet203AutoComplete(String par1Str)
    018    {
    019        this.text = par1Str;
    020    }
    021
    022    /**
    023     * Abstract. Reads the raw packet data from the data stream.
    024     */
    025    public void readPacketData(DataInputStream par1DataInputStream) throws IOException
    026    {
    027        this.text = readString(par1DataInputStream, Packet3Chat.maxChatLength);
    028    }
    029
    030    /**
    031     * Abstract. Writes the raw packet data to the data stream.
    032     */
    033    public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
    034    {
    035        writeString(this.text, par1DataOutputStream);
    036    }
    037
    038    /**
    039     * Passes this Packet on to the NetHandler for processing.
    040     */
    041    public void processPacket(NetHandler par1NetHandler)
    042    {
    043        par1NetHandler.handleAutoComplete(this);
    044    }
    045
    046    /**
    047     * Abstract. Return the size of the packet (not counting the header).
    048     */
    049    public int getPacketSize()
    050    {
    051        return 2 + this.text.length() * 2;
    052    }
    053
    054    public String getText()
    055    {
    056        return this.text;
    057    }
    058
    059    /**
    060     * only false for the abstract Packet class, all real packets return true
    061     */
    062    public boolean isRealPacket()
    063    {
    064        return true;
    065    }
    066
    067    /**
    068     * eg return packet30entity.entityId == entityId; WARNING : will throw if you compare a packet to a different packet
    069     * class
    070     */
    071    public boolean containsSameEntityIDAs(Packet par1Packet)
    072    {
    073        return true;
    074    }
    075}