Program: 34729
Project: 34729
Buggy source:
public static void handleBasic(World world,EntityClientPlayerMP player,FXType.Basic fx,double x,double y,double z){
switch (fx) {
case ESSENCE_ALTAR_SMOKE:
    for (int a=0; a < 15; a++)     world.spawnParticle("String_Node_Str",x + randCenter(0.5D),y + 0.6D + rand.nextDouble() * 0.25D,z + randCenter(0.5D),0D,0.15D,0D);
  break;
case LASER_BEAM_DESTROY:
String[] particles=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
for (int a=0; a < 10; a++) {
for (String pt : particles) world.spawnParticle(pt,x + randCenter(0.5D),y + randCenter(0.5D),z + randCenter(0.5D),0D,0D,0D);
}
break;
case SPOOKY_LOG_DECAY:
((BlockSpookyLog)BlockList.spooky_log).addDestroyEffectsCustom(world,(int)x,(int)y,(int)z);
break;
case SPOOKY_LEAVES_DECAY:
((BlockSpookyLeaves)BlockList.spooky_leaves).addDestroyEffectsCustom(world,(int)x,(int)y,(int)z);
break;
case DUNGEON_PUZZLE_BURN:
for (int a=0; a < 6; a++) world.spawnParticle("String_Node_Str",x + randCenter(0.3D),y + 0.6D * rand.nextDouble(),z + randCenter(0.3D),0D,0.04D,0D);
world.playSoundEffect(x,y,z,"String_Node_Str",0.6F,2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F);
break;
case DRAGON_EGG_RESET:
for (int a=0; a < 40; a++) {
world.spawnParticle("String_Node_Str",x + randCenter(0.8D),y + randCenter(0.8D),z + randCenter(0.8D),randCenter(0.01D),randCenter(0.01D),randCenter(0.01D));
world.spawnParticle("String_Node_Str",x + randCenter(0.8D),y + randCenter(0.8D) - 0.5D,z + randCenter(0.8D),randCenter(2D),randCenter(2D),randCenter(2D));
}
world.playSound(x,y,z,"String_Node_Str",1.2F,world.rand.nextFloat() * 0.05F + 0.85F,false);
break;
case GEM_LINK:
for (int a=0; a < 25; a++) HardcoreEnderExpansion.fx.portalOrbiting(world,x + 0.5D,y + 0.38D + rand.nextDouble() * 0.6D,z + 0.5D,rand.nextDouble() * 0.045D + 0.015D);
world.playSound(x + 0.5D,y + 1D,z + 0.5D,"String_Node_Str",1F,rand.nextFloat() * 0.02F + 0.64F,false);
break;
case GEM_TELEPORT_TO:
for (int a=0; a < 25; a++) HardcoreEnderExpansion.fx.portalOrbiting(world,x,y + 1.63D + rand.nextDouble() * 0.6D,z,rand.nextDouble() * 0.045D + 0.015D);
world.playSound(x,y + 1.63D,z,"String_Node_Str",1.2F,world.rand.nextFloat() * 0.05F + 0.85F,false);
break;
case ENDER_PEARL_FREEZE:
for (double xx=x - 5; xx <= x + 5; xx++) {
for (double yy=y - 5; yy <= y + 5; yy++) {
for (double zz=z - 5; zz <= z + 5; zz++) {
if (MathUtil.distance(xx - x,yy - y,zz - z) > 5D) continue;
for (int i=0; i < 2; ++i) world.spawnParticle("String_Node_Str",xx + rand.nextDouble() - 0.5D,yy,zz + rand.nextDouble() - 0.5D,0D,0D,0D);
}
}
}
world.playSound(x,y,z,"String_Node_Str",1F,rand.nextFloat() * 0.1F + 0.9F,false);
break;
case IGNEOUS_ROCK_MELT:
for (int a=0; a < 40; a++) HardcoreEnderExpansion.fx.flame(player.worldObj,x + randCenter(1.25D),y + randCenter(1.25D),z + randCenter(1.25D),12 + rand.nextInt(9));
break;
case ENDERMAN_BLOODLUST_TRANSFORMATION:
for (int a=0; a < 20; a++) world.spawnParticle("String_Node_Str",x + randCenter(0.3D),y + rand.nextDouble() * 2.8D,z + randCenter(0.3D),0D,0D,0D);
break;
case LOUSE_ARMOR_HIT:
for (int a=0; a < 10; a++) world.spawnParticle("String_Node_Str",x + randCenter(0.4D),y + rand.nextDouble() * 0.45D,z + randCenter(0.4D),randCenter(0.2D),randCenter(0.2D),randCenter(0.2D));
break;
case HOMELAND_ENDERMAN_TP_OVERWORLD:
for (int a=30 + rand.nextInt(20); a > 0; a--) {
HardcoreEnderExpansion.fx.omnipresent("String_Node_Str",world,x + randCenter(1D),y + rand.nextDouble() * 96D,z + randCenter(1D),randCenter(0.1D),randCenter(0.05D),randCenter(0.1D));
}
break;
default :
}
}

Fixed version (ground truth):
public static void handleBasic(World world,EntityClientPlayerMP player,FXType.Basic fx,double x,double y,double z){
switch (fx) {
case ESSENCE_ALTAR_SMOKE:
    for (int a=0; a < 15; a++)     world.spawnParticle("String_Node_Str",x + randCenter(0.5D),y + 0.6D + rand.nextDouble() * 0.25D,z + randCenter(0.5D),0D,0.15D,0D);
  break;
case LASER_BEAM_DESTROY:
String[] particles=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
for (int a=0; a < 10; a++) {
for (String pt : particles) world.spawnParticle(pt,x + randCenter(0.5D),y + randCenter(0.5D),z + randCenter(0.5D),0D,0D,0D);
}
break;
case SPOOKY_LOG_DECAY:
((BlockSpookyLog)BlockList.spooky_log).addDestroyEffectsCustom(world,(int)x,(int)y,(int)z);
break;
case SPOOKY_LEAVES_DECAY:
((BlockSpookyLeaves)BlockList.spooky_leaves).addDestroyEffectsCustom(world,(int)x,(int)y,(int)z);
break;
case DUNGEON_PUZZLE_BURN:
for (int a=0; a < 6; a++) world.spawnParticle("String_Node_Str",x + randCenter(0.3D),y + 0.6D * rand.nextDouble(),z + randCenter(0.3D),0D,0.04D,0D);
world.playSoundEffect(x,y,z,"String_Node_Str",0.6F,2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F);
break;
case DRAGON_EGG_RESET:
for (int a=0; a < 40; a++) {
world.spawnParticle("String_Node_Str",x + randCenter(0.8D),y + randCenter(0.8D),z + randCenter(0.8D),randCenter(0.01D),randCenter(0.01D),randCenter(0.01D));
world.spawnParticle("String_Node_Str",x + randCenter(0.8D),y + randCenter(0.8D) - 0.5D,z + randCenter(0.8D),randCenter(2D),randCenter(2D),randCenter(2D));
}
world.playSound(x,y,z,"String_Node_Str",1.2F,world.rand.nextFloat() * 0.05F + 0.85F,false);
break;
case GEM_LINK:
for (int a=0; a < 25; a++) HardcoreEnderExpansion.fx.portalOrbiting(world,x + 0.5D,y + 0.38D + rand.nextDouble() * 0.6D,z + 0.5D,rand.nextDouble() * 0.045D + 0.015D);
world.playSound(x + 0.5D,y + 1D,z + 0.5D,"String_Node_Str",1F,rand.nextFloat() * 0.02F + 0.64F,false);
break;
case GEM_TELEPORT_TO:
for (int a=0; a < 25; a++) HardcoreEnderExpansion.fx.portalOrbiting(world,x,y + 1.63D + rand.nextDouble() * 0.6D,z,rand.nextDouble() * 0.045D + 0.015D);
world.playSound(x,y + 1.63D,z,"String_Node_Str",1.2F,world.rand.nextFloat() * 0.05F + 0.85F,false);
break;
case ENDER_PEARL_FREEZE:
for (double xx=x - 5; xx <= x + 5; xx++) {
for (double yy=y - 5; yy <= y + 5; yy++) {
for (double zz=z - 5; zz <= z + 5; zz++) {
if (MathUtil.distance(xx - x,yy - y,zz - z) > 5D) continue;
for (int i=0; i < 2; ++i) world.spawnParticle("String_Node_Str",xx + rand.nextDouble() - 0.5D,yy,zz + rand.nextDouble() - 0.5D,0D,0D,0D);
}
}
}
world.playSound(x,y,z,"String_Node_Str",1F,rand.nextFloat() * 0.1F + 0.9F,false);
break;
case IGNEOUS_ROCK_MELT:
for (int a=0; a < 40; a++) HardcoreEnderExpansion.fx.flame(player.worldObj,x + randCenter(1.25D),y + randCenter(1.25D),z + randCenter(1.25D),12 + rand.nextInt(9));
break;
case ENDERMAN_BLOODLUST_TRANSFORMATION:
for (int a=0; a < 20; a++) world.spawnParticle("String_Node_Str",x + randCenter(0.3D),y + rand.nextDouble() * 2.8D,z + randCenter(0.3D),0D,0D,0D);
break;
case LOUSE_ARMOR_HIT:
for (int a=0; a < 10; a++) world.spawnParticle("String_Node_Str",x + randCenter(0.4D),y + rand.nextDouble() * 0.45D,z + randCenter(0.4D),randCenter(0.2D),randCenter(0.2D),randCenter(0.2D));
break;
case HOMELAND_ENDERMAN_TP_OVERWORLD:
for (int a=0; a < 50; a++) {
HardcoreEnderExpansion.fx.omnipresent("String_Node_Str",world,x + randCenter(1D),y + rand.nextDouble() * 2.9,z + randCenter(1D),randCenter(0.1D),randCenter(0.05D),randCenter(0.1D));
}
for (int a=120 + rand.nextInt(30); a > 0; a--) {
HardcoreEnderExpansion.fx.omnipresent("String_Node_Str",world,x + randCenter(1D),y + rand.nextDouble() * rand.nextDouble() * 60D,z + randCenter(1D),randCenter(0.1D),randCenter(0.05D),randCenter(0.1D));
}
world.playSound(x,y + 1D,z,"String_Node_Str",1F,1F,false);
break;
default :
}
}