Program: 726
Project: 726
Buggy source:
private void spawnParticle(BlockParticleEffectComponent particleEffect){
  Particle p=new Particle();
  p.lifeRemaining=random.nextFloat() * (particleEffect.maxLifespan - particleEffect.minLifespan) + particleEffect.minLifespan;
  p.velocity=random.nextVector3f();
  p.size=random.nextFloat() * (particleEffect.maxSize - particleEffect.minSize) + particleEffect.minSize;
  p.position.set(random.nextFloat(-particleEffect.spawnRange.x,particleEffect.spawnRange.x),random.nextFloat(-particleEffect.spawnRange.y,particleEffect.spawnRange.y),random.nextFloat(-particleEffect.spawnRange.z,particleEffect.spawnRange.z));
  p.color=particleEffect.color;
  if (particleEffect.blockType != null) {
    final float tileSize=worldAtlas.getRelativeTileSize();
    p.texSize.set(tileSize,tileSize);
    Block b=particleEffect.blockType.getArchetypeBlock();
    p.texOffset.set(b.getPrimaryAppearance().getTextureAtlasPos(BlockPart.FRONT));
    if (particleEffect.randBlockTexDisplacement) {
      final float relTileSize=worldAtlas.getRelativeTileSize();
      Vector2f particleTexSize=new Vector2f(relTileSize * particleEffect.randBlockTexDisplacementScale.y,relTileSize * particleEffect.randBlockTexDisplacementScale.y);
      p.texSize.x*=particleEffect.randBlockTexDisplacementScale.x;
      p.texSize.y*=particleEffect.randBlockTexDisplacementScale.y;
      p.texOffset.set(p.texOffset.x + random.nextFloat() * (tileSize - particleTexSize.x),p.texOffset.y + random.nextFloat() * (tileSize - particleTexSize.y));
    }
  }
  particleEffect.particles.add(p);
  particleEffect.spawnCount--;
}

Fixed version (ground truth):
private void spawnParticle(BlockParticleEffectComponent particleEffect){
  Particle p=new Particle();
  p.lifeRemaining=random.nextFloat() * (particleEffect.maxLifespan - particleEffect.minLifespan) + particleEffect.minLifespan;
  p.velocity=random.nextVector3f();
  p.size=random.nextFloat() * (particleEffect.maxSize - particleEffect.minSize) + particleEffect.minSize;
  p.position.set(random.nextFloat(-particleEffect.spawnRange.x,particleEffect.spawnRange.x),random.nextFloat(-particleEffect.spawnRange.y,particleEffect.spawnRange.y),random.nextFloat(-particleEffect.spawnRange.z,particleEffect.spawnRange.z));
  p.color=particleEffect.color;
  if (particleEffect.blockType != null) {
    final float tileSize=worldAtlas.getRelativeTileSize();
    p.texSize.set(tileSize,tileSize);
    Block b=blockManager.getBlock(particleEffect.blockType).getBlockFamily().getArchetypeBlock();
    p.texOffset.set(b.getPrimaryAppearance().getTextureAtlasPos(BlockPart.FRONT));
    if (particleEffect.randBlockTexDisplacement) {
      final float relTileSize=worldAtlas.getRelativeTileSize();
      Vector2f particleTexSize=new Vector2f(relTileSize * particleEffect.randBlockTexDisplacementScale.y,relTileSize * particleEffect.randBlockTexDisplacementScale.y);
      p.texSize.x*=particleEffect.randBlockTexDisplacementScale.x;
      p.texSize.y*=particleEffect.randBlockTexDisplacementScale.y;
      p.texOffset.set(p.texOffset.x + random.nextFloat() * (tileSize - particleTexSize.x),p.texOffset.y + random.nextFloat() * (tileSize - particleTexSize.y));
    }
  }
  particleEffect.particles.add(p);
  particleEffect.spawnCount--;
}