Packaged Core 1.0.19: restore Devil's Hole selection in the supplied AM port.
- Run AMWorldData.tickPupfish once per Overworld server tick until a chunk
  has been found. AM's own 10-tick cadence, configured search distance,
  spawn-restriction setting, seed sequence and water-height criteria remain.
- Replace the port's broken null NoiseSettings code with getBaseColumn,
  scanning for the highest WATER block and returning Y+1, consistent with
  upstream iterateNoiseColumn height semantics. No chunk loads are needed.
- Retry a saved failed search once per world-data instance if no chunk exists.
- Keep any existing selected chunk unchanged. Mark data dirty when found.
- Strange Fish Finder and its messages remain Alex's Mobs' original logic.
  Tide reads the same saved chunk. All prior compatibility features retained.
- If restrictPupfishSpawns is disabled, AM's original search stays disabled.
- Validation: 14 stub-based water/search recovery tests; inspected target
  descriptors; Java 21 compilation; ZIP, JSON/TOML, old class preservation.
  Not tested in a running Minecraft world.
