package net.minecraft.network.play.server; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.io.IOException; import net.minecraft.network.INetHandler; import net.minecraft.network.Packet; import net.minecraft.network.PacketBuffer; import net.minecraft.network.play.INetHandlerPlayClient; import net.minecraft.util.IChatComponent; public class S40PacketDisconnect extends Packet { private IChatComponent reason; private static final String __OBFID = "CL_00001298"; public S40PacketDisconnect() {} public S40PacketDisconnect(IChatComponent p_i45191_1_) { this.reason = p_i45191_1_; } /** * Reads the raw packet data from the data stream. */ public void readPacketData(PacketBuffer data) throws IOException { this.reason = IChatComponent.Serializer.jsonToComponent(data.readStringFromBuffer(32767)); } /** * Writes the raw packet data to the data stream. */ public void writePacketData(PacketBuffer data) throws IOException { data.writeStringToBuffer(IChatComponent.Serializer.componentToJson(this.reason)); } /** * Passes this Packet on to the NetHandler for processing. */ public void processPacket(INetHandlerPlayClient handler) { handler.handleDisconnect(this); } /** * If true, the network manager will process the packet immediately when received, otherwise it will queue it for * processing. Currently true for: Disconnect, LoginSuccess, KeepAlive, ServerQuery/Info, Ping/Pong */ public boolean hasPriority() { return true; } /** * Passes this Packet on to the NetHandler for processing. */ public void processPacket(INetHandler handler) { this.processPacket((INetHandlerPlayClient)handler); } @SideOnly(Side.CLIENT) public IChatComponent func_149165_c() { return this.reason; } }