Program: 81888
Project: 81888
Buggy source:
/** 
 * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic (Render<T extends Entity>) and this method has signature public void func_76986_a(T entity, double d, double d1, double d2, float f, float f1). But JAD is pre 1.5 so doe
 */
@Override public void doRender(EntityLightningBoltCustom entity,double x,double y,double z,float entityYaw,float partialTicks){
  Tessellator tessellator=Tessellator.getInstance();
  VertexBuffer worldrenderer=tessellator.getBuffer();
  GlStateManager.disableTexture2D();
  GlStateManager.disableLighting();
  GlStateManager.enableBlend();
  GlStateManager.blendFunc(770,1);
  GlStateManager.disableCull();
  worldrenderer.begin(7,DefaultVertexFormats.POSITION_COLOR);
  double xx=x;
  double yy=y;
  double zz=z;
  float r=1F;
  float g=1F;
  float b=1F;
  float alpha=0.4F;
  double sizeRadius=0.3D;
  Minecraft mc=Minecraft.getMinecraft();
  EntityPlayer player=mc.thePlayer;
  World world=mc.theWorld;
  Vec3 posPlayer=new Vec3(mc.thePlayer.posX,0,mc.thePlayer.posZ);
  WeatherObjectSandstorm sandstorm=ClientTickHandler.weatherManager.getClosestSandstormByIntensity(posPlayer);
  if (sandstorm != null) {
    List<Vec3> wat=sandstorm.getSandstormAsShape();
    entity.listVec.clear();
    for (    Vec3 wat2 : wat) {
      Vec3d wat3=new Vec3d(wat2.xCoord - player.posX,-10,wat2.zCoord - player.posZ);
      entity.listVec.add(wat3);
    }
  }
  if (world.getTotalWorldTime() % 20 == 0) {
  }
  for (int i=0; i < entity.listVec.size() - 1; i++) {
    Vec3d vec=entity.listVec.get(i);
    Vec3d vec2=entity.listVec.get(i + 1);
    if (world.getTotalWorldTime() % 20 == 0) {
    }
    worldrenderer.pos(vec.xCoord - sizeRadius,vec.yCoord,vec.zCoord - sizeRadius).color(r,g,b,alpha).endVertex();
    worldrenderer.pos(vec.xCoord + sizeRadius,vec.yCoord,vec.zCoord - sizeRadius).color(r,g,b,alpha).endVertex();
    worldrenderer.pos(vec2.xCoord + sizeRadius,vec2.yCoord,vec2.zCoord + sizeRadius).color(r,g,b,alpha).endVertex();
    worldrenderer.pos(vec2.xCoord - sizeRadius,vec2.yCoord,vec2.zCoord + sizeRadius).color(r,g,b,alpha).endVertex();
  }
  Vec3d vec=entity.listVec.get(0);
  Vec3d vec2=entity.listVec.get(entity.listVec.size() - 1);
  worldrenderer.pos(vec.xCoord - sizeRadius,vec.yCoord,vec.zCoord - sizeRadius).color(r,g,b,alpha).endVertex();
  worldrenderer.pos(vec.xCoord + sizeRadius,vec.yCoord,vec.zCoord - sizeRadius).color(r,g,b,alpha).endVertex();
  worldrenderer.pos(vec2.xCoord + sizeRadius,vec2.yCoord,vec2.zCoord + sizeRadius).color(r,g,b,alpha).endVertex();
  worldrenderer.pos(vec2.xCoord - sizeRadius,vec2.yCoord,vec2.zCoord + sizeRadius).color(r,g,b,alpha).endVertex();
  tessellator.draw();
  GlStateManager.enableCull();
  GlStateManager.disableBlend();
  GlStateManager.enableLighting();
  GlStateManager.enableTexture2D();
}

Fixed version (ground truth):
/** 
 * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic (Render<T extends Entity>) and this method has signature public void func_76986_a(T entity, double d, double d1, double d2, float f, float f1). But JAD is pre 1.5 so doe
 */
@Override public void doRender(EntityLightningBoltCustom entity,double x,double y,double z,float entityYaw,float partialTicks){
  Tessellator tessellator=Tessellator.getInstance();
  BufferBuilder worldrenderer=tessellator.getBuffer();
  GlStateManager.disableTexture2D();
  GlStateManager.disableLighting();
  GlStateManager.enableBlend();
  GlStateManager.blendFunc(770,1);
  GlStateManager.disableCull();
  worldrenderer.begin(7,DefaultVertexFormats.POSITION_COLOR);
  double xx=x;
  double yy=y;
  double zz=z;
  float r=1F;
  float g=1F;
  float b=1F;
  float alpha=0.4F;
  double sizeRadius=0.3D;
  Minecraft mc=Minecraft.getMinecraft();
  EntityPlayer player=mc.thePlayer;
  World world=mc.theWorld;
  Vec3 posPlayer=new Vec3(mc.thePlayer.posX,0,mc.thePlayer.posZ);
  WeatherObjectSandstorm sandstorm=ClientTickHandler.weatherManager.getClosestSandstormByIntensity(posPlayer);
  if (sandstorm != null) {
    List<Vec3> wat=sandstorm.getSandstormAsShape();
    entity.listVec.clear();
    for (    Vec3 wat2 : wat) {
      Vec3d wat3=new Vec3d(wat2.xCoord - player.posX,-10,wat2.zCoord - player.posZ);
      entity.listVec.add(wat3);
    }
  }
  if (world.getTotalWorldTime() % 20 == 0) {
  }
  for (int i=0; i < entity.listVec.size() - 1; i++) {
    Vec3d vec=entity.listVec.get(i);
    Vec3d vec2=entity.listVec.get(i + 1);
    if (world.getTotalWorldTime() % 20 == 0) {
    }
    worldrenderer.pos(vec.xCoord - sizeRadius,vec.yCoord,vec.zCoord - sizeRadius).color(r,g,b,alpha).endVertex();
    worldrenderer.pos(vec.xCoord + sizeRadius,vec.yCoord,vec.zCoord - sizeRadius).color(r,g,b,alpha).endVertex();
    worldrenderer.pos(vec2.xCoord + sizeRadius,vec2.yCoord,vec2.zCoord + sizeRadius).color(r,g,b,alpha).endVertex();
    worldrenderer.pos(vec2.xCoord - sizeRadius,vec2.yCoord,vec2.zCoord + sizeRadius).color(r,g,b,alpha).endVertex();
  }
  Vec3d vec=entity.listVec.get(0);
  Vec3d vec2=entity.listVec.get(entity.listVec.size() - 1);
  worldrenderer.pos(vec.xCoord - sizeRadius,vec.yCoord,vec.zCoord - sizeRadius).color(r,g,b,alpha).endVertex();
  worldrenderer.pos(vec.xCoord + sizeRadius,vec.yCoord,vec.zCoord - sizeRadius).color(r,g,b,alpha).endVertex();
  worldrenderer.pos(vec2.xCoord + sizeRadius,vec2.yCoord,vec2.zCoord + sizeRadius).color(r,g,b,alpha).endVertex();
  worldrenderer.pos(vec2.xCoord - sizeRadius,vec2.yCoord,vec2.zCoord + sizeRadius).color(r,g,b,alpha).endVertex();
  tessellator.draw();
  GlStateManager.enableCull();
  GlStateManager.disableBlend();
  GlStateManager.enableLighting();
  GlStateManager.enableTexture2D();
}