Skip to content

WIP: Earth Labyrinth dungeon and Earth Guardian - #63

Draft
xefensor wants to merge 2 commits into
masterfrom
feature/earth-labyrinth
Draft

WIP: Earth Labyrinth dungeon and Earth Guardian#63
xefensor wants to merge 2 commits into
masterfrom
feature/earth-labyrinth

Conversation

@xefensor

@xefensor xefensor commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

Work in progress — keep this PR in draft and do not merge yet. We will continue development on feature/earth-labyrinth.

  • Add a large, deterministic two-floor Earth Labyrinth beneath newly generated Jungle Pyramids, with a huge central arena, dark trap/treasure side rooms, and ordinary natural spawning.
  • Add the persistent Earth Guardian: Stage 1 statue, Stage 2 awakening, vibration-based pursuit, melee, and actual ceiling-collapse, lava-floor, and pit attacks.
  • Add bounded multi-block excavation, supported ramps, conserved trailing walls, and pursuit fixes for periodic center resets, changing footsteps, occupied ramp supports, and the guardian's own lava pools.
  • Add the Lodestone reward and require all six artifacts for the Dragon Egg ritual.

Player or developer impact

Existing vanilla pyramid starts are preserved. Terrain shaping deliberately works outside the labyrinth and on player blocks, containers, and normally unbreakable blocks; griefing and world-protection hooks remain authoritative. Relocated containers do not preserve inventory/NBT. Older ritual progress bits remain valid; unfinished Stage 2 worlds now require all six offerings.

Validation

  • bash ./gradlew build — passed after the latest pursuit fix (compilation, JUnit, PMD, assembly).
  • Focused Minecraft server GameTests — exact commands below passed individually.
  • git diff --check
  • Connected-client / subjective in-game playtesting and final visual approval.
  • Natural multi-seed, upgraded-world, dedicated multiplayer, and long-session confirmation.

Latest exact gameplay checks:

bash ./gradlew runGameTestServer --args="net.neoforged.fml.startup.GameTestServer --tests retold:earth_guardian_pursues_into_generated_maze"
bash ./gradlew runGameTestServer --args="net.neoforged.fml.startup.GameTestServer --tests retold:earth_guardian_relocates_fluids_without_stalling"

The generated-maze test failed twice before the fluid fix on an unchanged lava source. The final run passed at guardian tick 239, approximately 19.1 blocks from the arena center, with a real lava eruption observed. It uses production-generated lower-floor geometry, dispatched mock Survival-player footsteps, enabled environmental attacks, and periodic encounter repair—not a connected client or a visual playtest.

Earlier focused lifecycle, traversal, combat, room/progression, and single-species TPS results and limitations are recorded in docs/internal/testing_strategy.md and docs/internal/mob_tps_benchmark.md. No full suite or TPS matrix was rerun for this PR.

Remaining work and risks

  • Continue natural maze/upper-floor pursuit, combat, room, wall, and hazard tuning.
  • Resolve roaming encounter identity outside the current presence-search bounds and test chunk unload/reload.
  • Investigate the previously unestablished descent-fixture entity removal if it recurs; subsequent reruns passed without a removal-behavior change.
  • Decide guardian/artifact lava immunity; neither is silently added here.
  • Profile simultaneous active terrain mutation and accumulated fluid spread.
  • Final guardian presentation and human visual approval remain open.

AI assistance

Implementation, regression investigation, automated tests, documentation, and PR preparation were AI-assisted. The developer directed the gameplay changes; final human review remains pending.

  • Developer has completed review and understands all submitted changes.

Documentation and release notes

  • Updated CHANGELOG.md.
  • Updated public and internal design/status/risk/testing documentation.
  • Added focused automated regression coverage.

Visual evidence and licensing

No new screenshots or visual approval are claimed. The provisional guardian references Minecraft's installed Iron Golem model/texture at runtime; no copied Minecraft pixels are packaged. The runtime-placeholder boundary is recorded in ASSET_CREDITS.md. Existing repository code and asset licenses remain unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant