/** Ticks the block if it's been scheduled */
  public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) {
    super.updateTick(par1World, par2, par3, par4, par5Random);

    if (par1World.provider.isSurfaceWorld()
        && par5Random.nextInt(2000) < par1World.difficultySetting) {
      int var6;

      for (var6 = par3;
          !par1World.doesBlockHaveSolidTopSurface(par2, var6, par4) && var6 > 0;
          --var6) {;
      }

      if (var6 > 0 && !par1World.isBlockNormalCube(par2, var6 + 1, par4)) {
        Entity var7 =
            ItemMonsterPlacer.spawnCreature(
                par1World, 57, (double) par2 + 0.5D, (double) var6 + 1.1D, (double) par4 + 0.5D);

        if (var7 != null) {
          var7.timeUntilPortal = var7.getPortalCooldown();
        }
      }
    }
  }