Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions ASSET_CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,17 @@ These assets are explicitly **placeholders** and do not represent the intended f

The provisional portal frame uses the development identifier `retold:dev_aender_portal_frame`. Its name and visuals are planned to change when the final design is chosen.

The Wildfire entity packages Mojang Studios' 64x64 Minecraft Dungeons Wildfire texture as
`textures/entity/wildfire.png`, sourced from the Minecraft Wiki file
[`T HoveringInferno.png`](https://minecraft.wiki/w/File:T_HoveringInferno.png). It is third-party
material, remains copyright Mojang Studios/Microsoft, is not relicensed under Retold's asset
license, and is included for this Minecraft mod subject to the
[Minecraft Usage Guidelines](https://www.minecraft.net/usage-guidelines). The separate Dungeons
shadow texture is not packaged because Java renders entity shadows itself. Retold's dedicated Java
model and animation code map the texture without modifying its pixels. The Nether Reactor Core and
Wildfire Spawn Egg item definitions still reference Minecraft's Magma Cream and Blaze Spawn Egg
models at runtime and package no copied item texture pixels.

The Aender wood-family placeholders were generated specifically for Retold from prompts describing original purple pixel-art wood components. Mechanical post-processing removed backgrounds, resized the sources to Minecraft texture dimensions, split the door sheet, and assembled sign and boat model textures from the generated material. No Minecraft texture pixels were used in those derived files.

The Aender Chronolith and spawn-egg placeholders were generated specifically for Retold from prompts describing original purple time-rune stone, a green-eyed Aender egg, and a pale cyan/gold Gale Core egg. Mechanical post-processing removed chroma-key backgrounds and reduced the sources to 16x16 game textures. No Minecraft texture pixels were used in these files.
Expand All @@ -47,6 +58,9 @@ The active PNG textures explicitly credited as OpenAI-generated were audited aga

Minecraft, NeoForge, and other third-party names, APIs, templates, or materials remain subject to their own terms. NeoForge MDK template files identified by `TEMPLATE_LICENSE.txt` retain that license.

The packaged Minecraft Dungeons Wildfire texture is credited above and is excluded from the Retold
Asset License. Minecraft and the Wildfire texture are copyright Mojang Studios/Microsoft.

The Aender portal references the installed `minecraft:block/nether_portal` texture and creates a green sprite at resource-load time. Retold does not package a copied or modified Minecraft portal texture.

If an asset's authorship, source, license, or status is unclear, do not redistribute or reuse it separately. Contact the developer first.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ Each release should be readable in two passes:

### Player-Facing

- Wildfire patrol groups now use obstacle-aware airborne routes. The leader checks for clear vertical space, climbs before crossing walls or escaping depressions, and its Blaze escorts route toward their moving line positions instead of continuing to push into terrain.
- Wildfire escort Blazes now follow their leader into combat instead of being left where the patrol ended. They inherit the Wildfire's valid target, climb blocked terrain, and regroup into a compact staggered screen around the leader while retaining their vanilla fireball cycle; lava recovery still releases the group.
- Wounded Wildfires now recognize only lava columns at least three blocks deep as recovery shelters. They ignore shallow pools, route to the surface of qualifying deep lava, and must remain fully submerged in that deep column to heal health or rebuild shields.
- Wildfires now rule the Stage 2 Nether as roaming minibosses: each has 120 health, 10 armor, four reinforced shields, stronger fireballs, a larger three-second shockwave, and three to five Blaze escorts. Outside combat, the Wildfire leads its numbered escorts on sustained airborne patrols, with the Blazes following in a single-file line instead of scattering randomly; in combat it circles and repositions while preserving the Blaze fireball cycle instead of becoming a stationary turret. Healthy Wildfires keep their heads above lava. At half health, a Wildfire abandons combat, seeks nearby lava, dives completely below the surface, restores all health and shields, and rises again only when fully recovered. Both health and shields regenerate only while its eyes remain below the lava surface; ordinary Fire, Soul Fire, merely touching lava, or hovering above it do not restore shields. Combat or recovery breaks the formation immediately. A dedicated Nether encounter controller now looks for valid ground near an active player every 30 seconds, so biome mob weights and a full ordinary monster population cannot prevent the Wildfire from guarding the Nether. Encounters still respect Peaceful mode, `doMobSpawning`, player safety distance, loaded terrain, normal hostile despawning, and a 128-horizontal/64-vertical Wildfire exclusion zone. Wildfires are also roughly 10% larger, including their combat hitbox. The dedicated model uses the Minecraft Dungeons Wildfire texture, while Retold's faction rules keep the group allied and hostile to Undead. Wildfires still guarantee one Nether Reactor Core; the Dragon Egg accepts and consumes it as Fire, but Fire remains outside the temporary hatch threshold until the Earth path exists.
- Wildfires now receive the same maximum block light as Blazes, and their model maps the fiery head separately beneath the fitted helmet instead of rendering the helmet pixels as the head itself. Its two white eyes are mapped into the dark helmet band beneath the unchanged red-and-white forehead jewel.
- Blazes and Wildfires now recognize Ghasts as enemy Undead instead of inheriting vanilla's blanket Mob-versus-Ghast target rejection. Wildfires acquire and retain visible Ghasts throughout their full 64-block combat range, so distant Ghasts cannot attack a helpless leader from outside the shared faction radius. Their Small Fireballs damage both Ghasts and Wither Skeletons as intended while those targets retain ordinary fire and lava immunity.
- Gale Cores now drop a Heavy Core for the Air sacrifice, while Elder Guardians drop a Heart of the Sea for Water. Buried treasure no longer contains Hearts of the Sea, keeping that artifact tied to the Ocean Monument path. Existing Air and Water Element items remain valid offerings for upgraded worlds, but are no longer encounter rewards or ordinary Creative-tab entries. Totems of Undying and Nether Stars are now accepted as Life and Death sacrifices, raising the temporary hatch requirement to Air, Water, Life, and Death until Earth is obtainable.
- Villagers now share persistent knowledge of food, emeralds, and every other item they have observed in accessible village chests and barrels. Once a store is known, other villagers can go directly to the right container instead of repeating a nearby block search; player, hopper, and Villager inventory changes refresh active-village knowledge, while the physical container is still checked before use.
- Villagers now keep their body and head aimed at an extinguished torch throughout both magical and Flint-and-Steel relighting. After a successful relight, they continue directly to other eligible nearby torches, handling up to eight per maintenance run before taking a break. Other stationary Retold interactions with a concrete subject now visibly face it as well, including golem construction, communal storage and livestock tending, feeding, desperate barrier breaking, Polar Bear warnings, and Spider web placement.
- Healthy Wolves, Foxes, Cats, Ocelots, Dolphins, Spiders, and Cave Spiders now defend themselves after being attacked. This includes tamed Wolves, while tame-owner safety and the rule that badly wounded wild predators flee instead of fighting remain intact.
Expand Down Expand Up @@ -45,6 +52,13 @@ Each release should be readable in two passes:

### Technical

- Wildfire formation movement now preempts vanilla Blaze wandering, selects bounded collision-free climb corridors, and follows budgeted three-dimensional flight paths refreshed every ten ticks. The focused formation GameTest includes a three-block wall and verifies leader ascent/crossing plus escort ascent before combat releases the owner.
- Added flagless `WILDFIRE_ESCORT_COMBAT` movement for encounter Blazes. It inherits the leader's target through faction-assist ownership, follows budgeted flying routes into a compact combat screen, explicitly climbs an immediately blocked forward corridor, and coexists with vanilla Blaze firing. A focused three-to-five-escort test verifies that the whole group crosses a wall and reacquires the shared target.
- Wildfire recovery now uses a cached `DEEP_LAVA_SOURCE` search that accepts only the exposed surface of a lava column with at least two more lava blocks below it. Focused tests cover shallow-pool rejection, selection of deeper lava over a closer shallow pool, the complete submerged recovery cycle, and the unchanged 50-Wildfire 20-TPS budget (4.876 ms/tick peak).
- Added `retold:wildfire`, its `SPECIAL_VANILLA` mob profile, Nether Remnant tag membership, Stage 2+ dedicated Nether encounter owner, attributes, guaranteed reward, dedicated renderer/model, spawn egg, and focused spawn/combat/reward coverage. Every 600 ticks, the owner selects one active Nether player and makes up to 16 loaded-terrain probes 48–96 blocks away. This path bypasses biome spawn-list weights and the ordinary monster cap while retaining Stage 2, Peaceful, `doMobSpawning`, collision, ground, player-distance, normal-despawn, and 128-horizontal/64-vertical Wildfire-exclusion checks. A successful encounter finalizes with three to five Blaze escorts. Persisted escort UUID slots drive a low-priority `WILDFIRE_FORMATION` patrol: the leader selects sustained open airborne destinations and each Blaze follows 2.25 blocks behind its preceding slot. A persisted escort marker restricts the Wildfire and those encounter Blazes to targetable players and Retold-tagged Undead, including through retaliation and vanilla `canAttack`; non-escort Blazes retain their ordinary behavior. A separate lower-than-recovery `WILDFIRE_COMBAT` owner chooses up to six loaded, collision-free orbit positions every 40 ticks, keeping the leader mobile without replacing vanilla Blaze fireball timing. Its entity dimensions are 1.0 by 3.0 blocks and the renderer applies a 1.3 scale. The boss-tier tuning gives it 120 health, 10 armor, 60% knockback resistance, 50 XP, eight-damage fireballs, four synchronized and persisted 12-damage shields with a 12-tick break window, and a six-block, 10-damage knockback shockwave on a three-second cooldown. Healthy lava buoyancy is replaced at half health by a persisted `WILDFIRE_RECOVERY` cycle: an owned collision-aware flight path uses the cached `DEEP_LAVA_SOURCE` search for a column at least three blocks deep, clears combat, fully submerges, restores six body-health points every 20 ticks alongside the existing shield cadence, then resurfaces only at full health and four shields. Both regeneration paths use live deep-site and eye-level lava-submersion gates; Fire, Soul Fire, shallow lava, and surface lava contact are rejected. Exact encounter target-gating, spawn, healthy lava-surface, shallow-lava rejection, deep-source selection, full lava-recovery, and combat-movement tests cover these contracts. The latest 50-Wildfire run sustained 20 TPS in every phase with a 4.876 ms/tick peak.
- Removed vanilla fire immunity from Zombified Piglins so Blaze- and Wildfire-owned fireballs can damage and continue burning them. Stage 2 sunlight protection now suppresses only vanilla sunlight ignition instead of clearing every Undead fire effect each tick. The Wildfire entity type is explicitly fire-immune, and a focused Stage 2 GameTest covers both attackers and the ongoing burn.
- Added a faction-scoped exception to vanilla's universal Mob-versus-Ghast attack rejection, allowing only Retold faction enemies to acquire visible Ghasts. Wildfire-to-Ghast acquisition and retention now use the Wildfire's full 64-block follow range while all other faction pairs retain the existing 40-block acquisition and 48-block release bounds. The narrow Nether Remnant Small Fireball exception also permits direct damage to Ghasts without removing their general fire immunity. The exact 50-Wildfire rerun sustained 20 TPS in all phases with a 5.967 ms/tick peak.
- Replaced the four-value element enum with a save-compatible six-slot ritual-offering model covering Air, Water, Fire, Earth, Life, and Death. Existing bit assignments and the serialized `offered_elements` field remain unchanged. Fire, Life, and Death are wired to their final items, while the temporary required mask remains Water/Air/Life/Death until Earth completes all six. Focused GameTests cover six distinct saved offerings, five active item mappings, legacy aliases, consumption and duplicate rejection, guardian rewards, and the buried-treasure exclusion.
- Added `RetoldVillageStorageKnowledge`, a server-authoritative SavedData index of observed chest/barrel positions, slot capacity, and exact item stacks. Chunk-indexed lookups feed the existing communal food, Farmer deposit, livestock-tending, and golem-emerald search paths before a budgeted world scan. A narrow block-entity change hook refreshes known or village-local storage without polling; every target is loaded, accessible, and physically revalidated, and stale entries are repaired or removed. Focused shared-knowledge, food-route, Farmer-route, livestock, golem-currency, and Villager TPS coverage passes.
- Added `RetoldActionFacing` as the shared body/head/look-control contract for stationary Retold actions. Magical torch casts and Villager golem work receive continuous presentation updates only while the Villager is actively using its subject; movement, pursuit, combat, migration, and free-flight behavior retain ordinary look control so body rotation does not fight navigation. Successful torch work now reuses the indexed, budgeted search to start the next eligible nearby torch immediately, capped at eight relights per interruptible run. Focused facing regressions pass for torch relighting, golem construction, feeding, and weak-barrier breaking.
- Added `RetoldUndeadStagePressure` to stage-gate Zombie- and Skeleton-family notice/share radii and bounded cross-family assistance. Stage 2 responders use cached scans and sight, stable one-in-three sampling, source-aware `FACTION_ASSIST` targets, and existing combat/movement ownership. `RetoldUndeadSpawnPressure` mirrors already-present entries from the additive `retold:stage_2_undead_spawn_pressure` entity-type tag with a rounded 25% bonus weight while vanilla retains selection, caps, placement, and pack rules. Both exact Stage 1/Stage 2 tests pass, and all forty affected Stage 2 50-mob phases remain below 50 ms/tick; Zombie hunt/targeting was the 6.046 ms/tick peak.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Retold is independently developed and is not an official Minecraft product or so
## What Retold Changes

- **Connected progression:** defeating the Ender Dragon changes the world instead of ending the game.
- **Element paths:** Water and Air currently lead through the ocean monument and Air Temple; Fire and Earth are planned.
- **Element paths:** Water and Air lead through the ocean monument and Air Temple, while boss-tier Stage 2 Wildfires provide the Nether Reactor Core for Fire. Earth remains planned.
- **The Aender:** a bright, unstable late-game dimension that replaces normal survival End progression after the dragon egg ritual.
- **Living mobs:** hunger, homes, ranges, factions, territory, hunting, fleeing, warnings, and group behavior.
- **Discovery-first crafting:** recipe knowledge and villager teaching replace a recipe-book-first experience.
Expand Down Expand Up @@ -56,7 +56,7 @@ Only the locations linked above are official downloads. Version settings are def
The current build includes the survival spine, Water and Air progression, staged world changes, Aender foundations, recipe discovery, and the Retold mob-behavior framework. Major unfinished areas include:

- wider seed, upgraded-world, server, and multiplayer verification of the cartographer Air Temple map, plus further Gale Core tuning
- Fire and Earth element paths
- the Earth element path and natural-world Wildfire presentation/balance verification
- original replacements for provisional Aender assets and naming
- Aender travel networks and late-game rewards
- broader progression, combat, village, and world-generation work
Expand Down
10 changes: 5 additions & 5 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ This concise public roadmap may change as features are designed and tested. Deta

- Focus the next development pass on Villager and village systems: verify the implemented communal storage, farming, livestock, reputation, Iron Golem construction, torch-maintenance, and trade-stock loops in natural villages, then design the next coherent village-society slice.
- Verify and refine the initial Stage 2 cartographer explorer-map path for finding Air Temples in fresh and upgraded worlds.
- Continue tuning and testing the Gale Core encounter while migrating the Air reward toward the intended Heavy Core sacrifice.
- Continue tuning and testing the Gale Core encounter and its implemented Heavy Core reward.
- Verify and tune the Stage 2 Wildfire roaming encounter, single-file Blaze patrol spacing and Nether terrain fit, shield/shockwave pacing, fire retreat, and custom visuals.
- Verify Aender portals, terrain regeneration, stabilizers, and progression in fresh worlds, upgraded worlds, dedicated servers, and multiplayer.
- Replace provisional Aender naming and visual assets as final designs become available.

## Next

- Design and implement the Fire path around the Wildfire and the current working Nether Reactor Core sacrifice.
- Design and implement the Earth path around a custom terrain-building guardian and the current working Lodestone sacrifice.
- Replace the temporary Water Element reward with Heart of the Sea and complete the intended six-sacrifice Dragon Egg ritual in any order: Air, Water, Fire, Earth, Life, and Death.
- Design the Life path around the Evoker and Totem of Undying, and the Death path around the Wither and Nether Star.
- Complete the intended six-sacrifice Dragon Egg ritual in any order once the Earth path is survival-obtainable.
- Verify and tune the implemented Life path around Evokers and Totems of Undying and the Death path around the Wither and Nether Star.
- Add Aender in-dimension transportation and meaningful late-game building or travel rewards.
- Audit survival removal or replacement of incompatible modern structures and progression.

Expand All @@ -30,7 +30,7 @@ See [`docs/element-ritual.md`](docs/element-ritual.md) for the current ritual, a
## Open Decisions

- Whether Stage 1 should require the Wither or a Nether Star before End access, given the Nether Star's intended Stage 2 Death-sacrifice role.
- Whether Nether Reactor Core and Lodestone remain the final Fire and Earth sacrifices.
- Whether Lodestone remains the final Earth sacrifice.
- The final roles of Nether and Aender dragons.
- Whether pyramid boss tombs, a world ending, or New Game+ belong in Retold.

Expand Down
Loading