package net.minecraft.network.play.server;
import com.google.common.collect.Maps;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import net.minecraft.network.INetHandler;
import net.minecraft.network.Packet;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.play.INetHandlerPlayClient;
import net.minecraft.stats.StatBase;
import net.minecraft.stats.StatList;
public class S37PacketStatistics extends Packet
{
private Map field_148976_a;
private static final String __OBFID = "CL_00001283";
public S37PacketStatistics() {}
public S37PacketStatistics(Map p_i45173_1_)
{
this.field_148976_a = p_i45173_1_;
}
/**
* Passes this Packet on to the NetHandler for processing.
*/
public void processPacket(INetHandlerPlayClient handler)
{
handler.handleStatistics(this);
}
/**
* Reads the raw packet data from the data stream.
*/
public void readPacketData(PacketBuffer data) throws IOException
{
int i = data.readVarIntFromBuffer();
this.field_148976_a = Maps.newHashMap();
for (int j = 0; j < i; ++j)
{
StatBase statbase = StatList.getOneShotStat(data.readStringFromBuffer(32767));
int k = data.readVarIntFromBuffer();
if (statbase != null)
{
this.field_148976_a.put(statbase, Integer.valueOf(k));
}
}
}
/**
* Writes the raw packet data to the data stream.
*/
public void writePacketData(PacketBuffer data) throws IOException
{
data.writeVarIntToBuffer(this.field_148976_a.size());
Iterator iterator = this.field_148976_a.entrySet().iterator();
while (iterator.hasNext())
{
Entry entry = (Entry)iterator.next();
data.writeStringToBuffer(((StatBase)entry.getKey()).statId);
data.writeVarIntToBuffer(((Integer)entry.getValue()).intValue());
}
}
/**
* Returns a string formatted as comma separated [field]=[value] values. Used by Minecraft for logging purposes.
*/
public String serialize()
{
return String.format("count=%d", new Object[] {Integer.valueOf(this.field_148976_a.size())});
}
@SideOnly(Side.CLIENT)
public Map func_148974_c()
{
return this.field_148976_a;
}
/**
* Passes this Packet on to the NetHandler for processing.
*/
public void processPacket(INetHandler handler)
{
this.processPacket((INetHandlerPlayClient)handler);
}
}