Program: 81778
Project: 81778
Buggy source:
public static float getWeight(Object entity1,boolean forTornado){
  World world=CoroUtilEntOrParticle.getWorld(entity1);
  if (entity1 instanceof IWindHandler) {
    return ((IWindHandler)entity1).getWindWeight();
  }
  if (entity1 instanceof EntityMovingBlock) {
    return 1F + ((float)((EntityMovingBlock)entity1).age / 200);
  }
  if (entity1 instanceof EntityPlayer) {
    EntityPlayer player=(EntityPlayer)entity1;
    if (player.onGround || player.handleWaterMovement()) {
      playerInAirTime=0;
    }
 else {
      playerInAirTime++;
    }
    if (((EntityPlayer)entity1).capabilities.isCreativeMode)     return 99999999F;
    int extraWeight=0;
    if (((EntityPlayer)entity1).inventory != null && !(((EntityPlayer)entity1).inventory.armorInventory.get(2).isEmpty()) && ((EntityPlayer)entity1).inventory.armorInventory.get(2).getItem() == Items.IRON_CHESTPLATE) {
      extraWeight=2;
    }
    if (((EntityPlayer)entity1).inventory != null && !(((EntityPlayer)entity1).inventory.armorInventory.get(2).isEmpty()) && ((EntityPlayer)entity1).inventory.armorInventory.get(2).getItem() == Items.DIAMOND_CHESTPLATE) {
      extraWeight=4;
    }
    if (forTornado) {
      return 4.5F + extraWeight + ((float)(playerInAirTime / 400));
    }
 else {
      return 5.0F + extraWeight + ((float)(playerInAirTime / 400));
    }
  }
  if (isParticleRotServerSafe(world,entity1)) {
    float var=WeatherUtilParticle.getParticleWeight((EntityRotFX)entity1);
    if (var != -1) {
      return var;
    }
  }
  if (entity1 instanceof EntitySquid) {
    return 400F;
  }
  if (entity1 instanceof EntityLivingBase) {
    EntityLivingBase livingEnt=(EntityLivingBase)entity1;
    int airTime=livingEnt.getEntityData().getInteger("String_Node_Str");
    if (livingEnt.onGround || livingEnt.handleWaterMovement()) {
      airTime=0;
    }
 else {
      airTime++;
    }
    livingEnt.getEntityData().setInteger("String_Node_Str",airTime);
  }
  if (entity1 instanceof Entity) {
    Entity ent=(Entity)entity1;
    if (WeatherUtilData.isWindWeightSet(ent) && (forTornado || WeatherUtilData.isWindAffected(ent))) {
      return WeatherUtilData.getWindWeight(ent);
    }
  }
  if (entity1 instanceof EntityLivingBase) {
    EntityLivingBase livingEnt=(EntityLivingBase)entity1;
    int airTime=livingEnt.getEntityData().getInteger("String_Node_Str");
    if (forTornado) {
      return 0.5F + (((float)airTime) / 800F);
    }
 else {
      return 500.0F + (livingEnt.onGround ? 2.0F : 0.0F) + ((airTime) / 400);
    }
  }
  if (entity1 instanceof EntityBoat || entity1 instanceof EntityItem || entity1 instanceof EntityFishHook) {
    return 4000F;
  }
  if (entity1 instanceof EntityMinecart) {
    return 80F;
  }
  return 1F;
}

Fixed version (ground truth):
public static float getWeight(Object entity1,boolean forTornado){
  World world=CoroUtilEntOrParticle.getWorld(entity1);
  if (world == null) {
    return 1F;
  }
  if (entity1 instanceof IWindHandler) {
    return ((IWindHandler)entity1).getWindWeight();
  }
  if (entity1 instanceof EntityMovingBlock) {
    return 1F + ((float)((EntityMovingBlock)entity1).age / 200);
  }
  if (entity1 instanceof EntityPlayer) {
    EntityPlayer player=(EntityPlayer)entity1;
    if (player.onGround || player.handleWaterMovement()) {
      playerInAirTime=0;
    }
 else {
      playerInAirTime++;
    }
    if (((EntityPlayer)entity1).capabilities.isCreativeMode)     return 99999999F;
    int extraWeight=0;
    if (((EntityPlayer)entity1).inventory != null && !(((EntityPlayer)entity1).inventory.armorInventory.get(2).isEmpty()) && ((EntityPlayer)entity1).inventory.armorInventory.get(2).getItem() == Items.IRON_CHESTPLATE) {
      extraWeight=2;
    }
    if (((EntityPlayer)entity1).inventory != null && !(((EntityPlayer)entity1).inventory.armorInventory.get(2).isEmpty()) && ((EntityPlayer)entity1).inventory.armorInventory.get(2).getItem() == Items.DIAMOND_CHESTPLATE) {
      extraWeight=4;
    }
    if (forTornado) {
      return 4.5F + extraWeight + ((float)(playerInAirTime / 400));
    }
 else {
      return 5.0F + extraWeight + ((float)(playerInAirTime / 400));
    }
  }
  if (isParticleRotServerSafe(world,entity1)) {
    float var=WeatherUtilParticle.getParticleWeight((EntityRotFX)entity1);
    if (var != -1) {
      return var;
    }
  }
  if (entity1 instanceof EntitySquid) {
    return 400F;
  }
  if (entity1 instanceof EntityLivingBase) {
    EntityLivingBase livingEnt=(EntityLivingBase)entity1;
    int airTime=livingEnt.getEntityData().getInteger("String_Node_Str");
    if (livingEnt.onGround || livingEnt.handleWaterMovement()) {
      airTime=0;
    }
 else {
      airTime++;
    }
    livingEnt.getEntityData().setInteger("String_Node_Str",airTime);
  }
  if (entity1 instanceof Entity) {
    Entity ent=(Entity)entity1;
    if (WeatherUtilData.isWindWeightSet(ent) && (forTornado || WeatherUtilData.isWindAffected(ent))) {
      return WeatherUtilData.getWindWeight(ent);
    }
  }
  if (entity1 instanceof EntityLivingBase) {
    EntityLivingBase livingEnt=(EntityLivingBase)entity1;
    int airTime=livingEnt.getEntityData().getInteger("String_Node_Str");
    if (forTornado) {
      return 0.5F + (((float)airTime) / 800F);
    }
 else {
      return 500.0F + (livingEnt.onGround ? 2.0F : 0.0F) + ((airTime) / 400);
    }
  }
  if (entity1 instanceof EntityBoat || entity1 instanceof EntityItem || entity1 instanceof EntityFishHook) {
    return 4000F;
  }
  if (entity1 instanceof EntityMinecart) {
    return 80F;
  }
  return 1F;
}