File Details
[Neoforge] TWR 3.0.1
- R
- May 7, 2026
- 95.10 KB
- 77
- 1.21.1
- NeoForge
File Name
theworldremembers-3.0.1.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
Changelog — The World Remembers
All important notes for each version are listed here.
Versions follow Semantic Versioning (MAJOR.MINOR.PATCH).
---
## [3.0.1] — 2026-05-07
**Platform:** Minecraft 1.21.1 · NeoForge 21.1.x
Development tested with NeoForge 21.1.172.
---
## Overview
This version focuses on the natural path and evolving terrain system.
The ground remembers player movement, degrades through progressive stages, can naturally widen around frequently used routes, and may recover over time.
Terrain wear is caused by players only. Mobs do not create paths or contribute to terrain degradation.
---
## Evolving Terrain — Core System
Three terrain families are currently supported:
- **Grass / Dirt** — GRASS family, 9 stages from 0 to 8
- **Sand** — 5 stages from 0 to 4
- **Red Sand** — 5 stages from 0 to 4
Terrain degradation is progressive. Blocks move from one stage to the next based on accumulated traffic and probability tables handled by `SoilDegradationTable`.
There are no brutal jumps directly to the final stage.
Block lookup, terrain family mapping, and stage resolution are centralized through `SoilDegradationRegistry`, while advancement rolls are handled by `SoilDegradationTransitions`.
---
## GRASS Family — Stages and Technical IDs
| Stage | Technical ID |
|---:|---|
| 0 | `grass` / vanilla grass block |
| 1 | `lightly_trampled_grass` |
| 2 | `trampled_grass` |
| 3 | `worn_grass` |
| 4 | `sterile_dirt` |
| 5 | `lightly_compacted_dirt` |
| 6 | `compacted_dirt` |
| 7 | `heavily_compacted_dirt` |
| 8 | `packed_dirt` |
Vanilla `dirt_path` is treated as an alias of `worn_grass` / stage 3, keeping it consistent with the existing system.
---
## World Memory and Regression
Traffic counters and terrain states are persisted per block position using `FootTrafficRecord` and `GroundMemorySavedData`.
This data is saved with the world.
Natural regression allows traffic and terrain appearance to move backward over time. Regression uses pseudo-random mechanics such as offsets and random rolls to avoid all similar blocks changing at the same time.
Traffic decay timing is configurable through `groundTrafficDecayStepSeconds` and related values in `theworldremembers-common.toml`.
---
## Central Footstep Rule and Path Widening
Adjacent blocks do not receive diffuse wear until the block directly under the player’s feet, in the GRASS family, has left the normal grass state / stage 0.
This prevents the surrounding area from degrading before the center of the path.
Traffic can spread to nearby blocks through:
- Cardinal neighbors
- Diagonal neighbors
- A lighter outer ring
Spread probabilities and traffic caps are configurable.
Sprint bonuses can also affect spread chances and are configurable.
Path edge polish uses spatial noise and per-step jitter to make paths feel less geometric and more organic.
---
## Sterile Floor — GRASS Family
Starting from `sterile_dirt` / stage 4, once the sterile floor lock is recorded in memory, natural regression can no longer bring the block below that stage.
This means there is no free natural recovery back to trampled or worn grass without player action.
Stages above `sterile_dirt` still behave normally. They can progress upward and partially regress downward, but `sterile_dirt` remains the minimum natural floor.
The gameplay workaround is the dedicated restoration item: **Herb Seeds**.
Herb Seeds restore only:
`sterile_dirt → worn_grass`
This also removes the sterile floor lock from the saved data and consumes the item outside creative mode.
---
## Decorative Regrowth After Recovery
After terrain recovers toward a grass-like state, delayed decorative regrowth may occur.
This behavior is configurable through delay and chance values.
Decorative regrowth only places:
- `short_grass`
- `tall_grass`
Flowers are not placed.
When conditions are met, decorative grass has a 50% chance to appear.
---
## Herb Seeds
**Herb Seeds** are a targeted restoration item.
They restore:
`sterile_dirt → worn_grass`
When used, they also update the terrain memory:
- Traffic is set to a coherent minimum value for stage 3
- The sterile floor lock is disabled
### Loot
Herb Seeds can be obtained by breaking vanilla grass:
- `short_grass`
- `tall_grass`
They drop with a per-break probability through an injected pool in the vanilla loot tables.
### Resources
Herb Seeds include:
- Item model
- Dedicated texture: `textures/item/herb_seeds.png`
- Creative tab entry under **Ingredients**
---
## Mobs and Load
Mobs do not contribute to traffic or path creation.
Terrain behavior is reserved for players only. Mob-side terrain interaction has been explicitly disabled where it previously existed.
---
## Configuration — `theworldremembers-common.toml`
### `[ground_memory]`
Controls:
- Regression timing
- Traffic decay
- Spread chances
- Sprint bonus
- Edge polish
- Decorative regrowth
- Related ground memory behavior
### `[ground_degradation]`
Controls:
- Global caps
- Per-cell caps
- Example: center traffic cap applied during a footstep
Default common config values are exported to:
`src/main/resources/defaultconfigs/`
---
## Technical Side and Maintenance
Main service:
`GroundMemoryService`
Handles:
- Player footsteps
- Traffic spread
- Terrain degradation
- Natural regression
- Decorative regrowth
- Herb Seeds usage
Targeted cleanup was performed without changing gameplay:
- Removed unused Java APIs / overloads
- Removed unused `models/item` files
- Removed `item.*` language entries for blocks without items
Custom blocks are intentionally not registered as items.
---
## Localization and Block Assets
Included:
- French and English names for custom blocks
- French and English name for Herb Seeds
- Blockstates
- Block models
- Loot tables under `theworldremembers`
- Vanilla shovel tags for relevant blocks
---
## Known Notes for Testers and Pack Makers
Balancing values are intended to be fine-tuned through the TOML config file, including:
- Stage probabilities
- Minimum traffic thresholds
- Spread behavior
A world that already contains ground memory data can keep coherent terrain memory from a previous version of the same major system branch after updating.
---
## Previous Versions
Archived `.jar` files stored locally in the `versions/` folder may reflect older branches, such as 2.x or 3.0.0.
Their detailed behavior is not copied here. Refer to the commits or config copies from that time if needed.
---
[3.0.1]: Compared to the development iterations leading to this release, version 3.0.1 gathers the mechanics above under a single semver version for distribution and tracking.