package net.minecraft.network.play.server; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.UUID; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.ai.attributes.IAttributeInstance; import net.minecraft.network.INetHandler; import net.minecraft.network.Packet; import net.minecraft.network.PacketBuffer; import net.minecraft.network.play.INetHandlerPlayClient; public class S20PacketEntityProperties extends Packet { private int field_149445_a; private final List field_149444_b = new ArrayList(); private static final String __OBFID = "CL_00001341"; public S20PacketEntityProperties() {} public S20PacketEntityProperties(int p_i45236_1_, Collection p_i45236_2_) { this.field_149445_a = p_i45236_1_; Iterator iterator = p_i45236_2_.iterator(); while (iterator.hasNext()) { IAttributeInstance iattributeinstance = (IAttributeInstance)iterator.next(); this.field_149444_b.add(new S20PacketEntityProperties.Snapshot(iattributeinstance.getAttribute().getAttributeUnlocalizedName(), iattributeinstance.getBaseValue(), iattributeinstance.func_111122_c())); } } /** * Reads the raw packet data from the data stream. */ public void readPacketData(PacketBuffer data) throws IOException { this.field_149445_a = data.readInt(); int i = data.readInt(); for (int j = 0; j < i; ++j) { String s = data.readStringFromBuffer(64); double d0 = data.readDouble(); ArrayList arraylist = new ArrayList(); short short1 = data.readShort(); for (int k = 0; k < short1; ++k) { UUID uuid = new UUID(data.readLong(), data.readLong()); arraylist.add(new AttributeModifier(uuid, "Unknown synced attribute modifier", data.readDouble(), data.readByte())); } this.field_149444_b.add(new S20PacketEntityProperties.Snapshot(s, d0, arraylist)); } } /** * Writes the raw packet data to the data stream. */ public void writePacketData(PacketBuffer data) throws IOException { data.writeInt(this.field_149445_a); data.writeInt(this.field_149444_b.size()); Iterator iterator = this.field_149444_b.iterator(); while (iterator.hasNext()) { S20PacketEntityProperties.Snapshot snapshot = (S20PacketEntityProperties.Snapshot)iterator.next(); data.writeStringToBuffer(snapshot.func_151409_a()); data.writeDouble(snapshot.func_151410_b()); data.writeShort(snapshot.func_151408_c().size()); Iterator iterator1 = snapshot.func_151408_c().iterator(); while (iterator1.hasNext()) { AttributeModifier attributemodifier = (AttributeModifier)iterator1.next(); data.writeLong(attributemodifier.getID().getMostSignificantBits()); data.writeLong(attributemodifier.getID().getLeastSignificantBits()); data.writeDouble(attributemodifier.getAmount()); data.writeByte(attributemodifier.getOperation()); } } } /** * Passes this Packet on to the NetHandler for processing. */ public void processPacket(INetHandlerPlayClient handler) { handler.handleEntityProperties(this); } /** * Passes this Packet on to the NetHandler for processing. */ public void processPacket(INetHandler handler) { this.processPacket((INetHandlerPlayClient)handler); } @SideOnly(Side.CLIENT) public int func_149442_c() { return this.field_149445_a; } @SideOnly(Side.CLIENT) public List func_149441_d() { return this.field_149444_b; } public class Snapshot { private final String field_151412_b; private final double field_151413_c; private final Collection field_151411_d; private static final String __OBFID = "CL_00001342"; public Snapshot(String p_i45235_2_, double p_i45235_3_, Collection p_i45235_5_) { this.field_151412_b = p_i45235_2_; this.field_151413_c = p_i45235_3_; this.field_151411_d = p_i45235_5_; } public String func_151409_a() { return this.field_151412_b; } public double func_151410_b() { return this.field_151413_c; } public Collection func_151408_c() { return this.field_151411_d; } } }