Port meteor, erosion, and scorching instability with safety caps #70

Closed
opened 2026-10-08 06:10:14 -04:00 by dnorberg · 1 comment
Owner

Complete the audited environmental-hazard subset beyond decay, lightning, and explosions, only where a server-safe 1.21.1 implementation is practical.

Acceptance criteria:

  • Compare Legacy meteor, erosion, and scorching behavior against modern world height, block tags, entity APIs, and protection hooks. Implement each supported provider or document a concrete blocker in the issue before closing it.
  • Bound affected area, frequency, active entities, block changes, and per-tick work; use only loaded chunks in the affected Age and never force-load distant terrain.
  • Expose independent destructive-effect toggles and safe defaults; protect spawn/link infrastructure and block entities. Avoid client-only classes on a dedicated server.
  • Check local Legacy sounds/textures/models before creating replacements, record reused-asset provenance, and add deterministic/restart/multiplayer isolation tests.

Dependencies: #63 audit and #66 runtime.

Complete the audited environmental-hazard subset beyond decay, lightning, and explosions, only where a server-safe 1.21.1 implementation is practical. Acceptance criteria: - Compare Legacy meteor, erosion, and scorching behavior against modern world height, block tags, entity APIs, and protection hooks. Implement each supported provider or document a concrete blocker in the issue before closing it. - Bound affected area, frequency, active entities, block changes, and per-tick work; use only loaded chunks in the affected Age and never force-load distant terrain. - Expose independent destructive-effect toggles and safe defaults; protect spawn/link infrastructure and block entities. Avoid client-only classes on a dedicated server. - Check local Legacy sounds/textures/models before creating replacements, record reused-asset provenance, and add deterministic/restart/multiplayer isolation tests. Dependencies: #63 audit and #66 runtime.
dnorberg added this to the Milestone 6 — Instability milestone 2026-10-08 06:10:14 -04:00
Author
Owner

Implemented in commit 779699d and released as V0.5.8.2, with the built JAR attached. Meteor and burning use the audited Legacy cards; erosion is enabled by default for testing when an Age reaches the destructive instability threshold. Effects are bounded to loaded chunks and respect Age isolation, spawn protection, and config toggles. Legacy meteor sound provenance and modern adaptations are documented in docs/INSTABILITY_ENVIRONMENTAL.md.

Validation: Gradle build passed; 47 GameTests passed in an earlier run. The final GameTest invocation stalled and was stopped per the project rule. The player confirmed burning works in-game on retest.

Implemented in commit 779699d and released as [V0.5.8.2](https://gitea.tail180fb1.ts.net/dnorberg/rivencraft/releases/tag/V0.5.8.2), with the built JAR attached. Meteor and burning use the audited Legacy cards; erosion is enabled by default for testing when an Age reaches the destructive instability threshold. Effects are bounded to loaded chunks and respect Age isolation, spawn protection, and config toggles. Legacy meteor sound provenance and modern adaptations are documented in docs/INSTABILITY_ENVIRONMENTAL.md. Validation: Gradle build passed; 47 GameTests passed in an earlier run. The final GameTest invocation stalled and was stopped per the project rule. The player confirmed burning works in-game on retest.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dnorberg/rivencraft#70