Program: 51791
Project: 51791
Buggy source:
@Override public Entity spawnEntityIntoClientWorld(EntityRegistration er,EntitySpawnPacket packet){
  WorldClient wc=client.field_71441_e;
  Class<? extends Entity> cls=er.getEntityClass();
  try {
    Entity entity;
    if (er.hasCustomSpawning()) {
      entity=er.doCustomSpawning(packet);
    }
 else {
      entity=(Entity)(cls.getConstructor(World.class).newInstance(wc));
      entity.field_70157_k=packet.entityId;
      entity.func_70012_b(packet.scaledX,packet.scaledY,packet.scaledZ,packet.scaledYaw,packet.scaledPitch);
      if (entity instanceof EntityLiving) {
        ((EntityLiving)entity).field_70759_as=packet.scaledHeadYaw;
      }
    }
    entity.field_70118_ct=packet.rawX;
    entity.field_70117_cu=packet.rawY;
    entity.field_70116_cv=packet.rawZ;
    if (entity instanceof IThrowableEntity) {
      Entity thrower=client.field_71439_g.field_70157_k == packet.throwerId ? client.field_71439_g : wc.func_73024_a(packet.throwerId);
      ((IThrowableEntity)entity).setThrower(thrower);
    }
    Entity parts[]=entity.func_70021_al();
    if (parts != null) {
      int i=packet.entityId - entity.field_70157_k;
      for (int j=0; j < parts.length; j++) {
        parts[j].field_70157_k+=i;
      }
    }
    if (packet.metadata != null) {
      entity.func_70096_w().func_75687_a((List)packet.metadata);
    }
    if (packet.throwerId > 0) {
      entity.func_70016_h(packet.speedScaledX,packet.speedScaledY,packet.speedScaledZ);
    }
    if (entity instanceof IEntityAdditionalSpawnData) {
      ((IEntityAdditionalSpawnData)entity).readSpawnData(packet.dataStream);
    }
    wc.func_73027_a(packet.entityId,entity);
    return entity;
  }
 catch (  Exception e) {
    FMLLog.log(Level.SEVERE,e,"String_Node_Str");
    throw Throwables.propagate(e);
  }
}

Fixed version (ground truth):
@Override public Entity spawnEntityIntoClientWorld(EntityRegistration er,EntitySpawnPacket packet){
  WorldClient wc=client.field_71441_e;
  Class<? extends Entity> cls=er.getEntityClass();
  try {
    Entity entity;
    if (er.hasCustomSpawning()) {
      entity=er.doCustomSpawning(packet);
    }
 else {
      entity=(Entity)(cls.getConstructor(World.class).newInstance(wc));
      entity.field_70157_k=packet.entityId;
      entity.func_70012_b(packet.scaledX,packet.scaledY,packet.scaledZ,packet.scaledYaw,packet.scaledPitch);
      if (entity instanceof EntityLiving) {
        ((EntityLiving)entity).field_70759_as=packet.scaledHeadYaw;
      }
    }
    entity.field_70118_ct=packet.rawX;
    entity.field_70117_cu=packet.rawY;
    entity.field_70116_cv=packet.rawZ;
    if (entity instanceof IThrowableEntity) {
      Entity thrower=client.field_71439_g.field_70157_k == packet.throwerId ? client.field_71439_g : wc.func_73045_a(packet.throwerId);
      ((IThrowableEntity)entity).setThrower(thrower);
    }
    Entity parts[]=entity.func_70021_al();
    if (parts != null) {
      int i=packet.entityId - entity.field_70157_k;
      for (int j=0; j < parts.length; j++) {
        parts[j].field_70157_k+=i;
      }
    }
    if (packet.metadata != null) {
      entity.func_70096_w().func_75687_a((List)packet.metadata);
    }
    if (packet.throwerId > 0) {
      entity.func_70016_h(packet.speedScaledX,packet.speedScaledY,packet.speedScaledZ);
    }
    if (entity instanceof IEntityAdditionalSpawnData) {
      ((IEntityAdditionalSpawnData)entity).readSpawnData(packet.dataStream);
    }
    wc.func_73027_a(packet.entityId,entity);
    return entity;
  }
 catch (  Exception e) {
    FMLLog.log(Level.SEVERE,e,"String_Node_Str");
    throw Throwables.propagate(e);
  }
}