public void onWorldUpdate(int x, int y, World lvl)
    {
		if(this.idle)
		{
	        if(rand.nextInt(5) == 1 && Block.getBlock(lvl.getBlockAt(x, y)) == this)
	        {
	            Particle p = new Particle();
	            p.addKillerBlock(Block.getBlock("water_All"));
	            p.setColor(rand.nextBoolean() ? Color.red.getRGB() : Color.orange.getRGB());
	            p.setPos(x * Block.BLOCK_WIDTH + Block.BLOCK_WIDTH / 2, y * Block.BLOCK_HEIGHT + Block.BLOCK_HEIGHT / 2);
	            p.setVelocity(rand.nextFloat() * 5 - 2.5f, 4f);
	            p.setLife(60);
	            lvl.spawnParticle(p);
	        }
	        
	        lvl.setLightValue(1f,x,y);
	        int power = (int) (Math.sin(lvl.ticks / 20f) * 0.01f + 15f);
	        Block.litWorld(x, y, power, lvl);
		}
		
		if(lvl.getTileEntityAt(x, y) != null)
			if(((TileEntityFurnace) lvl.getTileEntityAt(x, y)).burnTime > 0)
			{
				lvl.setBlock(x, y, Block.furnaceIdle.getBlockName());
			}
			else
			{
				lvl.setBlock(x, y, Block.furnace.getBlockName());
			}
    }