package net.minecraft.network.play.server;
import com.google.common.collect.Lists;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import net.minecraft.entity.player.EntityPlayerMP;
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;
import net.minecraft.world.WorldSettings;
public class S38PacketPlayerListItem implements Packet
{
private S38PacketPlayerListItem.Action field_179770_a;
private final List field_179769_b = Lists.newArrayList();
private static final String __OBFID = "CL_00001318";
public S38PacketPlayerListItem() {}
public S38PacketPlayerListItem(S38PacketPlayerListItem.Action p_i45967_1_, EntityPlayerMP ... p_i45967_2_)
{
this.field_179770_a = p_i45967_1_;
EntityPlayerMP[] var3 = p_i45967_2_;
int var4 = p_i45967_2_.length;
for (int var5 = 0; var5 < var4; ++var5)
{
EntityPlayerMP var6 = var3[var5];
this.field_179769_b.add(new S38PacketPlayerListItem.AddPlayerData(var6.getGameProfile(), var6.ping, var6.theItemInWorldManager.getGameType(), var6.func_175396_E()));
}
}
public S38PacketPlayerListItem(S38PacketPlayerListItem.Action p_i45968_1_, Iterable p_i45968_2_)
{
this.field_179770_a = p_i45968_1_;
Iterator var3 = p_i45968_2_.iterator();
while (var3.hasNext())
{
EntityPlayerMP var4 = (EntityPlayerMP)var3.next();
this.field_179769_b.add(new S38PacketPlayerListItem.AddPlayerData(var4.getGameProfile(), var4.ping, var4.theItemInWorldManager.getGameType(), var4.func_175396_E()));
}
}
/**
* Reads the raw packet data from the data stream.
*/
public void readPacketData(PacketBuffer data) throws IOException
{
this.field_179770_a = (S38PacketPlayerListItem.Action)data.readEnumValue(S38PacketPlayerListItem.Action.class);
int var2 = data.readVarIntFromBuffer();
for (int var3 = 0; var3 < var2; ++var3)
{
GameProfile var4 = null;
int var5 = 0;
WorldSettings.GameType var6 = null;
IChatComponent var7 = null;
switch (S38PacketPlayerListItem.SwitchAction.field_179938_a[this.field_179770_a.ordinal()])
{
case 1:
var4 = new GameProfile(data.readUuid(), data.readStringFromBuffer(16));
int var8 = data.readVarIntFromBuffer();
for (int var9 = 0; var9 < var8; ++var9)
{
String var10 = data.readStringFromBuffer(32767);
String var11 = data.readStringFromBuffer(32767);
if (data.readBoolean())
{
var4.getProperties().put(var10, new Property(var10, var11, data.readStringFromBuffer(32767)));
}
else
{
var4.getProperties().put(var10, new Property(var10, var11));
}
}
var6 = WorldSettings.GameType.getByID(data.readVarIntFromBuffer());
var5 = data.readVarIntFromBuffer();
if (data.readBoolean())
{
var7 = data.readChatComponent();
}
break;
case 2:
var4 = new GameProfile(data.readUuid(), (String)null);
var6 = WorldSettings.GameType.getByID(data.readVarIntFromBuffer());
break;
case 3:
var4 = new GameProfile(data.readUuid(), (String)null);
var5 = data.readVarIntFromBuffer();
break;
case 4:
var4 = new GameProfile(data.readUuid(), (String)null);
if (data.readBoolean())
{
var7 = data.readChatComponent();
}
break;
case 5:
var4 = new GameProfile(data.readUuid(), (String)null);
}
this.field_179769_b.add(new S38PacketPlayerListItem.AddPlayerData(var4, var5, var6, var7));
}
}
/**
* Writes the raw packet data to the data stream.
*/
public void writePacketData(PacketBuffer data) throws IOException
{
data.writeEnumValue(this.field_179770_a);
data.writeVarIntToBuffer(this.field_179769_b.size());
Iterator var2 = this.field_179769_b.iterator();
while (var2.hasNext())
{
S38PacketPlayerListItem.AddPlayerData var3 = (S38PacketPlayerListItem.AddPlayerData)var2.next();
switch (S38PacketPlayerListItem.SwitchAction.field_179938_a[this.field_179770_a.ordinal()])
{
case 1:
data.writeUuid(var3.func_179962_a().getId());
data.writeString(var3.func_179962_a().getName());
data.writeVarIntToBuffer(var3.func_179962_a().getProperties().size());
Iterator var4 = var3.func_179962_a().getProperties().values().iterator();
while (var4.hasNext())
{
Property var5 = (Property)var4.next();
data.writeString(var5.getName());
data.writeString(var5.getValue());
if (var5.hasSignature())
{
data.writeBoolean(true);
data.writeString(var5.getSignature());
}
else
{
data.writeBoolean(false);
}
}
data.writeVarIntToBuffer(var3.func_179960_c().getID());
data.writeVarIntToBuffer(var3.func_179963_b());
if (var3.func_179961_d() == null)
{
data.writeBoolean(false);
}
else
{
data.writeBoolean(true);
data.writeChatComponent(var3.func_179961_d());
}
break;
case 2:
data.writeUuid(var3.func_179962_a().getId());
data.writeVarIntToBuffer(var3.func_179960_c().getID());
break;
case 3:
data.writeUuid(var3.func_179962_a().getId());
data.writeVarIntToBuffer(var3.func_179963_b());
break;
case 4:
data.writeUuid(var3.func_179962_a().getId());
if (var3.func_179961_d() == null)
{
data.writeBoolean(false);
}
else
{
data.writeBoolean(true);
data.writeChatComponent(var3.func_179961_d());
}
break;
case 5:
data.writeUuid(var3.func_179962_a().getId());
}
}
}
public void func_180743_a(INetHandlerPlayClient p_180743_1_)
{
p_180743_1_.handlePlayerListItem(this);
}
/**
* Passes this Packet on to the NetHandler for processing.
*/
public void processPacket(INetHandler handler)
{
this.func_180743_a((INetHandlerPlayClient)handler);
}
public static enum Action
{
ADD_PLAYER("ADD_PLAYER", 0),
UPDATE_GAME_MODE("UPDATE_GAME_MODE", 1),
UPDATE_LATENCY("UPDATE_LATENCY", 2),
UPDATE_DISPLAY_NAME("UPDATE_DISPLAY_NAME", 3),
REMOVE_PLAYER("REMOVE_PLAYER", 4);
private static final S38PacketPlayerListItem.Action[] $VALUES = new S38PacketPlayerListItem.Action[]{ADD_PLAYER, UPDATE_GAME_MODE, UPDATE_LATENCY, UPDATE_DISPLAY_NAME, REMOVE_PLAYER};
private static final String __OBFID = "CL_00002295";
private Action(String p_i45966_1_, int p_i45966_2_) {}
}
public class AddPlayerData
{
private final int field_179966_b;
private final WorldSettings.GameType field_179967_c;
private final GameProfile field_179964_d;
private final IChatComponent field_179965_e;
private static final String __OBFID = "CL_00002294";
public AddPlayerData(GameProfile p_i45965_2_, int p_i45965_3_, WorldSettings.GameType p_i45965_4_, IChatComponent p_i45965_5_)
{
this.field_179964_d = p_i45965_2_;
this.field_179966_b = p_i45965_3_;
this.field_179967_c = p_i45965_4_;
this.field_179965_e = p_i45965_5_;
}
public GameProfile func_179962_a()
{
return this.field_179964_d;
}
public int func_179963_b()
{
return this.field_179966_b;
}
public WorldSettings.GameType func_179960_c()
{
return this.field_179967_c;
}
public IChatComponent func_179961_d()
{
return this.field_179965_e;
}
}
static final class SwitchAction
{
static final int[] field_179938_a = new int[S38PacketPlayerListItem.Action.values().length];
private static final String __OBFID = "CL_00002296";
static
{
try
{
field_179938_a[S38PacketPlayerListItem.Action.ADD_PLAYER.ordinal()] = 1;
}
catch (NoSuchFieldError var5)
{
;
}
try
{
field_179938_a[S38PacketPlayerListItem.Action.UPDATE_GAME_MODE.ordinal()] = 2;
}
catch (NoSuchFieldError var4)
{
;
}
try
{
field_179938_a[S38PacketPlayerListItem.Action.UPDATE_LATENCY.ordinal()] = 3;
}
catch (NoSuchFieldError var3)
{
;
}
try
{
field_179938_a[S38PacketPlayerListItem.Action.UPDATE_DISPLAY_NAME.ordinal()] = 4;
}
catch (NoSuchFieldError var2)
{
;
}
try
{
field_179938_a[S38PacketPlayerListItem.Action.REMOVE_PLAYER.ordinal()] = 5;
}
catch (NoSuchFieldError var1)
{
;
}
}
}
}