Charon's EchoСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (7)
release
Charon's Echo 1.3.2+26.3
1.3.2+26.326 сент. 2026 г.216Minecraft: 26.3fabric
Что нового
## 1.3.2 — the Ferryman's mint
- **The direct obol recipe is gone.** Echo shard + gold + soul sand no longer
crafts a Charon's Obol — it made the coin too cheap and the orchard
pointless. The orchard is now the ONLY mint: grow a Stygian tree (seeds
from the Broker) or harvest the wild elders in the graveyard, and craft
**four Tollfruit into one obol**, as ever. Recipe books that had learned
the old recipe simply forget it; nothing else changes.
## 1.3.1 — hotfix: modded clients no longer crash on join (26.3)
- **Fixed: every Fabric-API client was kicked at spawn** ("Couldn't place
player in world" / "Invalid player data") on 26.3 servers whenever any
installed mod used Fabric API's recipe synchronization. The obol recipe
injection now carries Fabric's hidden recipe-sync index across to the
merged recipe map instead of leaving it null. Vanilla and Bedrock/Geyser
clients were never affected; the 26.2 build was never affected.
release
Charon's Echo 1.3.0+26.3
1.3.0+26.324 сент. 2026 г.26Minecraft: 26.3fabric
Что нового
## 1.3.0 — the Keeper takes his post
- **Minecraft 26.3.** The mod now targets 26.3 (Fabric); a 26.2 build ships
alongside it for servers not ready to move. Under the hood 26.3 renamed a
wide band of APIs (signs, the chunk-generation pipeline, inventory
prediction, recipe storage) — behavior is unchanged.
- **Charon's Vault.** A gamemaster posts the **Vault Keeper** (an evoker who
audits rather than casts) by placing a gilded blackstone plinth in the
graveyard, crouching, and touching it with a Charon's Obol. With a Keeper
posted, the stone offers a fourth way back: **pay in kind** — Charon takes
the most valuable item from your grave and hangs it on the trophy wall
behind the Keeper; everything else returns to you. Owners ransom their
goods back from the Keeper (`vault-ransom-obols`, default 2, or
`vault-ransom-levels`, default 30); unclaimed goods are forfeited after
`vault-expiry-days` (default 30). The wall shows the newest
`vault-display-limit` items (default 12); the frames are fixed and cannot
be robbed. Breaking the plinth dismisses the Keeper — the ledger keeps
its goods for when he is re-posted.
- **The level-0 toll hole is closed** (where a Vault stands): a player who
dies with no XP no longer rides the toll for free — Charon eyes their
goods instead. Without a Vault, behavior is unchanged.
- **New config: `war`** (default 1). Set to 0 for a **peaceful graveyard**:
no armies muster, nothing fights, and the stone offers only the fare and
the toll — the oath is withdrawn. The keepers stay on as quiet
groundskeepers. Anyone under arms when the war goes quiet is stood down,
and their service clock holds its place should the war return.
release
Charon's Echo 1.2.0+26.2
1.2.0+26.219 сент. 2026 г.63Minecraft: 26.2fabric
Что нового
**No soul left stranded.**
- **Death portals can no longer rise somewhere you can't reach.** The portal
spot is now found by walking outward from where you fell, the way the ghost
itself moves — flying, drifting through water and lava, stopped by walls.
A cave death puts the door in the cave; an ocean-floor death puts it on the
sea bed beside you. The old fallback that could drop the portal on the
surface far above a cave or ocean is gone.
- **When no door can rise, Charon comes himself.** Die somewhere with no
reachable portal spot at all — a sealed pocket, the void — and the moment
the wake ends you are ferried straight to your grave in the Echo. No more
stranded ghosts waiting for an admin.
- **New config: `instant-ferry`** (default off). For packs that want death to
move fast: the moment the wake ends, the dead are ferried straight to their
grave — no portal, no ghost walk. The wake and obol donations at the body
still happen.
- **`/charon revive <player>` now works from the server console and RCON** —
owners can rescue a soul without logging in. A revived ghost is also set on
the nearest solid ground first, instead of dropping out of ghost-flight
over whatever killed them.
Also: dead-code cleanup and the codebase reorganized into per-system packages.
Requires Minecraft 26.2 (Fabric) + Fabric API. sgui is bundled.
release
1.1.1 — The Ledgers Run Quiet
1.1.1+26.216 авг. 2026 г.100Minecraft: 26.2fabric
Что нового
- **Long-lived servers no longer pay for their whole history every tick.**
Graves now have direct indexes by ID, owner, claimed state, plot, and nearby
chunk. Relogged visitors rebuild a way home with one lookup, including a
remembered "no grave" result, instead of searching every grave every tick.
Plot allocation, full-field checks, grave interaction, and the war front use
the same indexes without copying the complete ledger.
- **World ledgers save without stopping the world.** Repeated mutations are
batched, expensive item encoding is reused, compression and disk writes run
on one ordered background writer, and shutdown waits for it. Every ledger is
written through a temporary file and keeps a last-known-good `.bak`; reads
are size-bounded and automatically recover from the backup when the primary
file is damaged.
- **Soul Gates now work where players are.** Gate bounds, centers, lowest
cells, aperture membership, and covered chunks are cached. Only gates in or
near player chunks animate or test crossings, frame validation is staggered,
and the breath uses far fewer particle packets without changing travel.
- **The graveyard tracks its own staff and soldiers.** A one-time migration
adopts old entities, after which entity lifecycle events replace repeated
whole-dimension scans. Only fields near visitors receive a census. War mobs
are no longer accidentally made persistent, target assignment is processed
in bounded rotating batches, and the new `war-mob-cap` (default 32) places a
shared ceiling over the active battle.
- **Exploration and orchards have bounded workloads.** Decoration computes
only the deterministic slots that can actually fall in a chunk, evaluates
queued work inside a 1.5 ms budget between checks, pastes at most one
structure per tick, deduplicates its queue, and saves even during continuous
exploration. Orchard mob-dance queries are cached and
staggered. Graveyard generation reuses a padded height grid instead of
recalculating neighboring terrain noise for every surface decision.
- Wake obol searches now run twice a second instead of every tick, portal
particle traffic is reduced, and copy-on-write collections were removed
from the hot server-thread-only state.
- Added regression tests for grave indexing, save coalescing, atomic ledger
replacement, and damaged-file backup recovery.
- **The quiet update: Charon tightens his ledgers.** The front was re-derived
from every grave ever dug, every tick, forever — now it is cached and only
re-asked when a burial moves it. Fields proven full stay proven (graves are
never unmade). The gravekeeper sweep walks the dimension every two seconds
instead of four times a second, and the whole war — sweep included — sleeps
while no living soul visits. The crypt's shelves refresh from ONE walk of
the roll instead of one per shelf. Old servers with big graveyards feel
this immediately; nothing about behavior changes.
- **`/charon shrine`** — pastes the hand-built spawn shrine (authored in the
Studio, shipped with the mod) where the gamemaster stands, rotated to face
them. Raise one at the world spawn and one at the graveyard arrival,
consecrate its frame with an obol, and the two ends of the crossing look
like they were always meant to meet.
- **`/charon refence <field|all>`** — existing fields keep their fences by
design, so upgrading them is a choice, not a surprise: the new gamemaster
command tears out the old ring and gate (legacy and current radii both)
and rebuilds with whatever the set offers today — the fence kit, the wider
ring.
- **"Upgrading an existing world"** documented in the README: which
`world/charons_echo/` file to reset for which landmark (church, crypt,
gates), which commands rebuild what (`refence`, `rebuild-decor`,
`rebuild-graves`), the arrival-point caveat after a church re-paste — and
which files must never be touched (`graves.dat`, `fields.dat`: they ARE
the history).
release
1.1.0 — The Living Raise Gates
1.1.0+26.25 авг. 2026 г.44Minecraft: 26.2fabric
Что нового
The living raise gates, and the war scars the earth.
**SOUL GATES** — build a closed frame of gilded blackstone in a vertical plane — ANY shape: an arch, a ring, a crooked door (diagonal joints seal). Touch it with a Charon's Obol: the coin is spent, and the gate draws the ghosts' own breath. Gates in the living world carry you to the graveyard arrival; graveyard gates carry you back through the gate you last used. Breaking the frame closes the door. Config: soul-gates (anyone by default — the obol is the price), soul-gate-min-area, soul-gate-max-area.
**THE WAR LEAVES MARKS** — every casualty paints the ground it fell on: fallen Keepers bloom sculk (a golem's grave sometimes grows a sensor that clicks at passing feet), fallen Restless are cleansed back to pale ground, the Wind leaves a fleck. Marks never touch stones, builds, or tributes — and when a field fills, its marks freeze forever: the war's permanent record. Config: war-marks.
**The Restless rise armed** — mismatched grave goods: chain, iron, and buried gold, swords up front and bows behind. Nothing they carry ever drops. Config: war-kits.
**Two golems hold each yard** now that the archers are armed. Config: war-golem-count.
**Hand-built fence kit** — new grave fields tile their fences from crafted pieces instead of plain pale oak, and the fence ring stands one block wider so edge graves never chew it. Plus a church touch-up, a plinth, and the spawn shrine join the shipped build set.
**Fixes** — the Broker no longer quietly clones himself when the graveyard sits unvisited (and both church NPCs now hold their exact posts, template-defined only); death and return portals wear the same SOUL breath as everything else that crosses; arrivals into Charon's Echo face the church; war-teams config knob for replay-mod filming compatibility.
release
1.0.1 — The Yard Takes Up Arms
1.0.1+26.231 июл. 2026 г.27Minecraft: 26.2fabric
Что нового
The yard takes up arms.
- Every ledger — the Book of the Dead, the crypt's day-shelves, the month halls — now turns pages (45 souls a page), and a spyglass lets you seek a name.
- The Death of the Week is a true memorial entry at last: date, cause, field, flowers, their story, and the walk to their grave.
- The Restless rise armed with their grave goods: mismatched chain, iron, and buried gold — swords for the parched, bows for the archers. Nothing they carry ever drops. (config: war-kits)
- Two golems hold each yard now that the archers are armed. (config: war-golem-count)
release
1.0.0 - the first crossing
1.0.0+26.227 июл. 2026 г.23Minecraft: 26.2fabric
Что нового
# Changelog
## 1.0.0 — the first crossing
- THE CHURCH AND THE CRYPT — the church (a hand-built 32x32x48) rises once on
the plateau, floor flush with the ground, read from its own marker
vocabulary: gilded blackstone = the Broker's post, lodestone = the crypt
stairwell, lectern = the ledger (markers dissolve once read). Beneath it the
CRYPT is carved: a stairwell descending below the rivers to the WEEK ROOM,
where seven day-shelves hold a rolling week of the dead — click a shelf to
read that day's fallen and open their grave books. The year's halls lie
sealed beyond the north arch. (Placeholder architecture; the builder's
crypt kit replaces the carving when it exists.)
- THE WAR BELOW THE MOON — an eternal three-sided war in Charon's Echo,
invisible to the living, joinable by the dead. The KEEPERS (iron golems,
creakings, allay couriers) hold the yards; the RESTLESS (parched, bogged,
stray) rise from the active grave field; the HOLLOW WIND (vex, breeze)
raids both. The war is fought at the FRONT — the field currently receiving
burials; filled fields are settled ground forever. Living players are
untouchable and harmless (the war cannot see them); sniffers and allays are
civilians. **Payment moved to the stone**: the crossing is free, and touching
your grave offers the choice — pay the fare (obol), pay the toll (XP), or
TAKE THE OATH: enlist with the Keepers or the Restless, receive a loaned
phantom kit, and serve `war-service-minutes` (default 15) at the front.
Each enemy downed shaves `war-kill-credit-seconds` off the clock; serving
out is a free resurrection. Enlisted dead of opposing sides can fight each
other — defeat means downed (respawn at muster, `war-downed-penalty-seconds`
added), never death; your items were in the grave all along. `/charon oath`
shows your service; `/charon oath quit` pauses the clock.
- THE STYGIAN ORCHARD — plant the Withered Grove in the overworld. **The Broker**,
a trader who stopped wandering long ago, stands in Charon's Echo selling
**Stygian Seeds** (config `orchard-seed-price`, default 32 emeralds). Plant one
on solid ground: it grows in two stages (small tree, then a grown elder) while
its chunk is loaded. Grown trees hang **Tollfruit** from their chains — a
mangrove-root bud that sculk slowly seals, then ripens into a glowing froglight.
Break the ripe fruit (anyone may), and **craft 4 Tollfruit → 1 Charon's Obol**.
The tree itself drops NOTHING as blocks: breaking any part of it without a
netherite axe fails; with one, a felling ritual crumbles the whole tree to
nothing and returns only its seed. Per-player tree cap (`orchard-tree-cap`,
default 3). Trees only grow into open ground and wait politely when blocked.
Fruit per cycle is a weighted roll (1–4); the tree rests after a full harvest.
Wild elders in Charon's Echo bear fruit too — the one thing the living may
take from the graveyard — and elder growth has its mysteries.
- Big-slot decor (ruins, wild elders) tolerates relief 5 on its footprint —
flat-ground demands left the wilds with no big pieces at all; wild elders are
deliberately rare (~1 in 5–6 big slots).
- Fixed: graveyard chunks already loaded at server start (forceloaded areas)
were dropped from the decoration queue and never decorated.
- Fixed: saved studio plots created under an older layout could overlap the
widened base rows — default-row plots now re-fit to the current layout on
every load. `/charon plot new <category> <category>` no longer doubles the
prefix, and `/charon plot remove <name>` (admin) deletes a builder plot.
- Graves face WEST, the way of the dead; ghosts arrive facing their own epitaph.
- Headstone size classes: small 3×3×3 markers, standard 4×4×4 stones, large 5×5×5
monuments (new default-set rows headstone_small_1..4, headstone_large_1..2). The
TERRAIN picks the class per grave — flat ground rolls the full mix (60/25/15),
slopes drop the monuments, rough spots take only small markers — and only the
chosen stone's footprint (+1 ring) is terraced, so small stones hug the land.
Classes fall back to each other until templates exist.
- SETS — style families: `/charon set new <name> [size]` stakes a gold-bordered, owner-sized
(32–256) area in the Studio; plots stake free-form wherever the builder stands
(`/charon plot new` inside a set). Lifecycle: open (any gravekeeper builds) → `set trust`
(steward + `set invite`d builders only) → `set approve` (locked; every exported piece
enters generation at once) → `set reopen` (additions ship after next approval). Each
region of Charon's Echo draws from ONE approved set (seed-deterministic), falling back to
the default set for uncovered categories — styles never mix mid-field. No minimum
content: a trees-only set is welcome. Set templates are namespaced (`<set>/<piece>`).
- World seed now shapes the graveyard terrain — every server's Charon's Echo is unique
(regenerate the dimension after updating)
- Gravekeeper builder roster: `/charon builder add|remove <player>` — rostered builders
may build in Charon's Echo and the Studio and use studio/export/place/plot commands
without op; both dimensions are otherwise build-protected
- Studio content pipeline: `/charon plot new <category> <name>` stakes a new correctly-sized
plot at the end of its category row (headstone/tree/big_tree/clutter/ruin/building),
`/charon plot approve <name>` (admin) promotes an exported build into generation,
`/charon plot list` shows categories and pending/approved builds
- Graves remember their headstone variant: approved headstone templates are pasted per
grave (stable choice per grave), placeholder otherwise; `/charon rebuild-graves`
re-terraces and re-pastes the whole yard from the records to upgrade old graves
- Field gate signs glow and are written on both faces
- The full death loop is live: a soul-fire death portal rises at the death site — walk in
to pay Charon (consumes an Echo Shard, or he takes half the grave's XP) and cross to
your grave in Charon's Echo; graves are allocated on a square spiral of 40×40 fenced,
terraced fields (48 plots each, soul lanterns on the corners) with generated headstones
(name / cause / day on the sign); touch your stone to reclaim items + XP, then the
return portal beside the grave carries you back to a safe spot at your death site,
alive; reclaimed graves persist as "— at rest —" memorials; portals are pure particles,
no blocks, and a relogged ghost always gets its return portal back
- Project scaffold: Fabric / Minecraft 26.2, Loom 1.17.12, JDK 25, sgui
- Charon's Echo graveyard dimension: monochrome rolling hills (pale moss / tuff / deepslate),
church plateau at origin, winding river with small ponds, no caves, End-style void skybox,
fixed time, silent gray-tinted custom biome, no natural mob spawns
- Terrain is built by a real registered chunk generator (`charons_echo:graveyard`) at the
noise stage, so vanilla computes lighting and heightmaps correctly
- Studio authoring dimension with labeled plot grid for hand-building structure templates
- Death loop core: death is intercepted (no drops, no death screen) — items + XP are
captured into a persistent grave record and the player rises as a ghost at the death
site: invisible with a soul-particle silhouette, flying, invulnerable, no world
interaction, gray name (`charon_dead` team), `charon.ghost` tag, tethered to a
24-block radius around the death anchor; ghost state survives relog/restart and is
re-asserted every tick against other mods
- `/charon revive [player]` restores the oldest unclaimed grave (items + XP) and lifts
the ghost state — interim testing path until portals land
- Obol crafting (runtime-injected so the result keeps its components): 1 echo shard +
1 gold ingot + 1 soul sand → 1 Charon's Obol
- Charon's Obol item (marked vanilla echo shard with glint + lore, crossplay-safe):
soul-bound — the one item death cannot take; `/charon obol [count]` gives them
(crafting/buying later). Renamed from "Echo Shard" — vanilla already has one.
- Commands: `/charon studio`, `/charon export [name]`, `/charon place <name>`,
`/charon visit`, `/charon back` (gamemaster-level)