@SideOnly(Side.CLIENT) @Override public void randomDisplayTick(World world, int x, int y, int z, Random rand) { if (isActive(world, x, y, z) && shouldDoWorkThisTick(world, x, y, z, 5)) { float startX = x + 1.0F; float startY = y + 0.85F; float startZ = z + 1.0F; for (int i = 0; i < 1; i++) { float xOffset = -0.2F - rand.nextFloat() * 0.6F; float yOffset = -0.1F + rand.nextFloat() * 0.2F; float zOffset = -0.2F - rand.nextFloat() * 0.6F; EntityFX fx = Minecraft.getMinecraft() .renderGlobal .doSpawnParticle( "spell", startX + xOffset, startY + yOffset, startZ + zOffset, 0.0D, 0.0D, 0.0D); if (fx != null) { fx.setRBGColorF(0.2f, 0.2f, 0.8f); fx.motionY *= 0.5f; } } } }
private void spawnParticles() { double var8 = posX; double var10 = posY; double var12 = posZ; String var14 = "iconcrack_" + Item.potion.itemID; Random var7 = rand; for (int var15 = 0; var15 < 8; ++var15) { worldObj.spawnParticle( var14, var8, var10, var12, var7.nextGaussian() * 0.15D, var7.nextDouble() * 0.2D, var7.nextGaussian() * 0.15D); } float red = 0.3F; float green = 1.0F; float blue = 0.1F; String var19 = "spell"; for (int var20 = 0; var20 < 100; ++var20) { double var39 = var7.nextDouble() * 4.0D; double var23 = var7.nextDouble() * Math.PI * 2.0D; double var25 = Math.cos(var23) * var39; double var27 = 0.01D + var7.nextDouble() * 0.5D; double var29 = Math.sin(var23) * var39; if (worldObj.isRemote) { EntityFX var31 = Minecraft.getMinecraft() .renderGlobal .doSpawnParticle( var19, var8 + var25 * 0.1D, var10 + 0.3D, var12 + var29 * 0.1D, var25, var27, var29); if (var31 != null) { float var32 = 0.75F + var7.nextFloat() * 0.25F; var31.setRBGColorF(red * var32, green * var32, blue * var32); var31.multiplyVelocity((float) var39); } } } worldObj.playSoundEffect( posX + 0.5D, posY + 0.5D, posZ + 0.5D, "random.glass", 1.0F, worldObj.rand.nextFloat() * 0.1F + 0.9F); }