Program: 169834
Project: 169834
Buggy source:
@Override public void doPostExplode(){
  super.doPostExplode();
  if (!this.worldObj.isRemote) {
    if (this.canFocusBeam(this.worldObj,position) && this.thread.isComplete) {
      List<EntityLiving> livingEntities=worldObj.getEntitiesWithinAABB(EntityLiving.class,AxisAlignedBB.getBoundingBox(position.x - getRadius(),position.y - getRadius(),position.z - getRadius(),position.x + getRadius(),position.y + getRadius(),position.z + getRadius()));
      Iterator<EntityLiving> it=livingEntities.iterator();
      while (it.hasNext()) {
        EntityLiving entity=it.next();
        entity.addPotionEffect(new CustomPotionEffect(PDongShang.INSTANCE.getId(),60 * 20,1,null));
        entity.addPotionEffect(new PotionEffect(Potion.confusion.id,10 * 20,2));
        entity.addPotionEffect(new PotionEffect(Potion.digSlowdown.id,120 * 20,2));
        entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id,120 * 20,4));
      }
      for (      Vector3 targetPosition : this.thread.results) {
        double distance=Vector3.distance(targetPosition,position);
        double distanceFromCenter=position.distance(targetPosition);
        if (distanceFromCenter > this.getRadius())         continue;
        double chance=this.getRadius() - (Math.random() * distanceFromCenter);
        if (chance > distanceFromCenter * 0.55) {
          int blockID=this.worldObj.getBlockId(targetPosition.intX(),targetPosition.intY(),targetPosition.intZ());
          if (blockID == Block.fire.blockID || blockID == Block.lavaMoving.blockID || blockID == Block.lavaStill.blockID) {
            this.worldObj.setBlock(targetPosition.intX(),targetPosition.intY(),targetPosition.intZ(),Block.snow.blockID,0,2);
          }
 else           if (blockID == 0 && this.worldObj.getBlockId(targetPosition.intX(),targetPosition.intY() - 1,targetPosition.intZ()) != Block.ice.blockID && worldObj.getBlockId(targetPosition.intX(),targetPosition.intY() - 1,targetPosition.intZ()) != 0) {
            this.worldObj.setBlock(targetPosition.intX(),targetPosition.intY(),targetPosition.intZ(),Block.ice.blockID,0,2);
          }
        }
      }
      this.worldObj.playSoundEffect(position.x + 0.5D,position.y + 0.5D,position.z + 0.5D,Reference.PREFIX + "String_Node_Str",6.0F,(1.0F + (worldObj.rand.nextFloat() - worldObj.rand.nextFloat()) * 0.2F) * 1F);
    }
    this.worldObj.setWorldTime(1200);
  }
}

Fixed version (ground truth):
@Override public void doPostExplode(){
  super.doPostExplode();
  if (!this.worldObj.isRemote) {
    if (this.canFocusBeam(this.worldObj,position) && this.thread.isComplete) {
      List<EntityLiving> livingEntities=worldObj.getEntitiesWithinAABB(EntityLiving.class,AxisAlignedBB.getBoundingBox(position.x - getRadius(),position.y - getRadius(),position.z - getRadius(),position.x + getRadius(),position.y + getRadius(),position.z + getRadius()));
      Iterator<EntityLiving> it=livingEntities.iterator();
      while (it.hasNext()) {
        EntityLiving entity=it.next();
        entity.addPotionEffect(new CustomPotionEffect(PoisonFrostBite.INSTANCE.getId(),60 * 20,1,null));
        entity.addPotionEffect(new PotionEffect(Potion.confusion.id,10 * 20,2));
        entity.addPotionEffect(new PotionEffect(Potion.digSlowdown.id,120 * 20,2));
        entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id,120 * 20,4));
      }
      for (      Vector3 targetPosition : this.thread.results) {
        double distance=Vector3.distance(targetPosition,position);
        double distanceFromCenter=position.distance(targetPosition);
        if (distanceFromCenter > this.getRadius())         continue;
        double chance=this.getRadius() - (Math.random() * distanceFromCenter);
        if (chance > distanceFromCenter * 0.55) {
          int blockID=this.worldObj.getBlockId(targetPosition.intX(),targetPosition.intY(),targetPosition.intZ());
          if (blockID == Block.fire.blockID || blockID == Block.lavaMoving.blockID || blockID == Block.lavaStill.blockID) {
            this.worldObj.setBlock(targetPosition.intX(),targetPosition.intY(),targetPosition.intZ(),Block.snow.blockID,0,2);
          }
 else           if (blockID == 0 && this.worldObj.getBlockId(targetPosition.intX(),targetPosition.intY() - 1,targetPosition.intZ()) != Block.ice.blockID && worldObj.getBlockId(targetPosition.intX(),targetPosition.intY() - 1,targetPosition.intZ()) != 0) {
            this.worldObj.setBlock(targetPosition.intX(),targetPosition.intY(),targetPosition.intZ(),Block.ice.blockID,0,2);
          }
        }
      }
      this.worldObj.playSoundEffect(position.x + 0.5D,position.y + 0.5D,position.z + 0.5D,Reference.PREFIX + "String_Node_Str",6.0F,(1.0F + (worldObj.rand.nextFloat() - worldObj.rand.nextFloat()) * 0.2F) * 1F);
    }
    this.worldObj.setWorldTime(1200);
  }
}