/** Checks if the dragon egg can fall down, and if so, makes it fall. */
  private void fallIfPossible(World par1World, int par2, int par3, int par4) {
    if (BlockSand.canFallBelow(par1World, par2, par3 - 1, par4) && par3 >= 0) {
      byte b0 = 32;

      if (!BlockSand.fallInstantly
          && par1World.checkChunksExist(
              par2 - b0, par3 - b0, par4 - b0, par2 + b0, par3 + b0, par4 + b0)) {
        EntityFallingSand entityfallingsand =
            new EntityFallingSand(
                par1World,
                (double) ((float) par2 + 0.5F),
                (double) ((float) par3 + 0.5F),
                (double) ((float) par4 + 0.5F),
                this.blockID);
        par1World.spawnEntityInWorld(entityfallingsand);
      } else {
        par1World.func_94571_i(par2, par3, par4);

        while (BlockSand.canFallBelow(par1World, par2, par3 - 1, par4) && par3 > 0) {
          --par3;
        }

        if (par3 > 0) {
          par1World.setBlockAndMetadataWithNotify(par2, par3, par4, this.blockID, 0, 2);
        }
      }
    }
  }