@SideOnly(Side.CLIENT) private void activeParticles() { CrystalElement e = CrystalElement.elements[ticks / 8 % 16]; double vx = ReikaRandomHelper.getRandomPlusMinus(0, 0.03125); double vz = ReikaRandomHelper.getRandomPlusMinus(0, 0.03125); float g = -(float) ReikaRandomHelper.getRandomPlusMinus(0.125, 0.0625); EntityBlurFX fx = new EntityBlurFX(worldObj, xCoord + 0.5, yCoord + 8.25, zCoord + 0.5, vx, 0, vz) .setGravity(g); Minecraft.getMinecraft().effectRenderer.addEffect(fx); // --------------------------- int dx = worldObj.rand.nextBoolean() ? 3 : -3; int dz = worldObj.rand.nextBoolean() ? 3 : -3; double x = xCoord + dx + worldObj.rand.nextDouble(); double y = yCoord + 5 + worldObj.rand.nextDouble(); double z = zCoord + dz + worldObj.rand.nextDouble(); double v = 0.0625; vx = x < xCoord ? v : -v; vz = z < zCoord ? v : -v; if (worldObj.rand.nextBoolean()) vx = 0; else vz = 0; EntityFX fx2 = new EntityCenterBlurFX(e, worldObj, x, y, z, vx, 0, vz).setScale(2).setNoSlowdown(); fx2.noClip = true; Minecraft.getMinecraft().effectRenderer.addEffect(fx2); // ---------------------------------- dx = worldObj.rand.nextBoolean() ? 7 : -7; dz = worldObj.rand.nextBoolean() ? 7 : -7; if (worldObj.rand.nextBoolean()) dx += Math.signum(dx) * -4; else dz += Math.signum(dz) * -4; x = xCoord + dx + worldObj.rand.nextDouble(); y = yCoord + 5 + worldObj.rand.nextDouble(); z = zCoord + dz + worldObj.rand.nextDouble(); v = 0.0625; vx = x < xCoord ? v : -v; vz = z < zCoord ? v : -v; if (worldObj.rand.nextBoolean()) vx = 0; else vz = 0; boolean longAxis = (Math.abs(dx) == 7 && vx != 0) || (Math.abs(dz) == 7 && vz != 0); int l = !longAxis ? 100 : 60; EntityRuneFX fx3 = new EntityRuneFX(worldObj, x, y, z, vx, 0, vz, e).setScale(2).setLife(l); fx3.noClip = true; Minecraft.getMinecraft().effectRenderer.addEffect(fx3); }