skyseed-1.21.1_0.203.0.jar
Curse Maven Snippet
What's new
## [0.203.0] - 2026-07-03 ### Changed - **Trial chamber phase-2 rollout — the whole warren now shares the atrium's look (#61).** Applied the framed-panel **MOSAIC** wall texturer + the **laid-floor** tiler (from the atrium) to *every* remaining piece — the rooms, the small cell, corridor, corner, junction, descent, and the end room. They all now carry the same tuff-brick-framed copper panels (warm **and** oxidized copper, with chiseled-copper / chiseled-tuff / grate motifs), **cut-copper corner posts**, and studded laid floors + ceilings — replacing the old per-block `mix()` speckle that read as noise. The small cell also gains the aged-copper **cornice** + greebling the big chambers already had; the descent's stepped treads are now laid floor over a plain substructure with the mosaic on its walls. So you walk one coherent decorated temple end to end, not "the atrium, then a set of plain rooms." Regenerated all 11 non-hub trial `.nbt`; a gametest now asserts the end room carries the mosaic. Both nodes green (154 / 163). *(Remaining: phase-3 in-game tuning — module size, motif frequency, patina mix.)* ## [0.202.0] - 2026-07-03 ### Changed - **Ore now scales to island size at runtime — uniformly across every size, Y-band, and theme.** `OrePlanner` multiplies each ore's vein count by the island's actual **core volume** vs a normal-island baseline (sub-linear, so the biggest islands sit ~0.7× a normal island's density; never below the authored baseline). Because a Y-band changes the island's shape (and thus its core volume), **the bands scale automatically too** — no more per-band tuning. Every island (any tier, any Y-band, any current *or future* theme) now carries volume-appropriate ore for free. The scaled **extra veins draw from a separate, deterministic RNG**, so a normal-size island stays byte-identical and every island's downstream rolls (lava / ponds / decoration / mobs) are unaffected by how much ore it gets. Collapsed all the per-tier hand-scaled ore counts — rocky/ancient large+huge **and** the Create/MA/Quark compat overrides — back to a single **base-density baseline** so they don't double-scale (this ends the earlier whack-a-mole where the top-level, staples, compat, and bands were each scaled separately and incompletely). Data + one `OrePlanner` change; both nodes green. ## [0.201.0] - 2026-07-03 ### Fixed - **Trial chamber — more atrium/descent fixes from the in-game read (TRIALCHAMBERPLAN #61).** - **Atrium dais back to a 2-block raise** (a 2-step staircase) so the elevated back exit sits *under* the mid-wall ridge instead of being blocked by it — keeps the height difference without the ridge clipping the doorway. - **Cornice + ridge corners** are now a clean top slab instead of clashing stairs (stairs can't hook cleanly at an inner corner). - **Descent staircase de-cramped** (taller headroom) and its exit now **draws the rooms pool**, so a staircase down always lands you in a trial/treasure room instead of a dead end. Hub + descent `.nbt` regenerated, both nodes green. ## [0.200.0] - 2026-07-02 ### Fixed - **Mining islands now reliably carry their staple ores.** `OrePlanner` rolls each ore's `chance` once per island — a fail meant that ore was *entirely absent*. The rocky/ancient staples were gated (iron 0.9, copper 0.9, coal 0.7, ancient-coal 0.5), so ~30 % of stone islands had **no coal at all**, ~10 % no iron — unlike vanilla, where iron/coal/copper are effectively in every chunk. Raised iron/copper/coal to **always present** (chance 1.0, coal 0.9 on ancient) and gold to **0.55** (still `deep_core`, so it sits near the island bottom ~like vanilla's deep gold) — across all rocky + ancient tiers (base/large/huge). This is why a Y60 huge stone island could show lots of zinc/Quark stone but little iron/coal: the staples had simply rolled off. Data-only; both nodes green. *(Still open: the deep/high/snowy Y-band overrides keep their own smaller counts — a huge island thrown at Y≥70 or Y≤8 still gets less ore than one in the Y8–70 range; scaling those bands is a follow-up.)* ## [0.199.0] - 2026-07-02 ### Fixed - **Trial atrium geometry fixes from the in-game read (TRIALCHAMBERPLAN #61).** (1) The dais step is now a proper **3-step staircase** (was a single step) rising the right way (stairs face **south**, ascending toward the dais). (2) The **ladder moved off the corner** onto the −X wall so it climbs cleanly instead of awkwardly through the wall/ceiling junction. (3) The **cornice + mid-wall ridge stairs face outward** now (were backwards). Hub `.nbt` regenerated, both nodes green. ## [0.198.0] - 2026-07-02 ### Changed - **Trial atrium reshaped — rectangular, two floor levels, warmer copper, broken-up walls (TRIALCHAMBERPLAN #61).** Following the in-game read, the atrium went from a flat 9×9 box to a **rectangular 11×13** with a **raised back dais** (a platform reached by a **stair step**), so the room reads on **two floor levels** — the breeze spawner on the lower arena, the ominous vault up on the dais. One of the four passage exits is now **elevated** off the dais (the jigsaw seats that corridor a level up), a warmer **non-weathered copper** set (plain/exposed/cut copper) joins the oxidized greens in the wall mosaic so it reads as banded aged metal, and a **mid-wall ridge** (a cut-copper belt at half height) breaks up the tall blank walls alongside the crown cornice. Hub `.nbt` regenerated, both nodes green. *(In-game verification is yours — especially the stair-step orientation + dais walkability + the elevated exit.)* ## [0.197.0] - 2026-07-02 ### Changed - **The compat ore overrides now scale with island size too** — clears the caveat from v0.195.0. Create zinc, Mystical Agriculture inferium/prosperity, and the Quark stones (limestone/jasper/shale + corundum) on the large/huge **rocky**, **ancient** and **lush** tiers were scaled by the same per-tier factors as the vanilla ores (large ≈ count ×1.5–2.5 + vein ×1.5; huge ≈ count ×3.5–5 + vein ×2.5, ~0.7× normal density), so a huge island's *modded* ore density ~matches a normal one instead of being ~10–18× dilute. E.g. huge-rocky zinc `8–12`×`4–8` → `40–60`×`10–20`; huge-lush prosperity scaled likewise. MA **nether-soul** left as-is (Nether islands are deliberately tiny). Data-only; both nodes green. ## [0.196.0] - 2026-07-02 ### Changed - **Trial atrium walls are now a decorated framed-panel MOSAIC, not random speckle (TRIALCHAMBERPLAN #61, phase 1).** The old `mix()` filled walls with a per-block hash — 8 blocks coin-flipped independently, which read as *noise*. Added a position-aware **wall/floor texturer**: tuff-brick **frames** grid each wall into panels, every panel is a patch of **one** copper patina (oxidized/weathered/cut) with a **chiseled-copper / chiseled-tuff / grate motif** at its centre, cut-copper **corner posts**, and a laid **floor tile** (checker + chiseled studs) — the vanilla "decorated temple" read. Applied to the **atrium** first (the showcase); rolls out to the rest of the warren next once the look is confirmed. Hub `.nbt` regenerated, both nodes green. *(In-game look is yours — see TRIALCHAMBERPLAN.md.)* ## [0.195.0] - 2026-07-02 ### Changed - **Ore now scales with island size on the mining islands, so a huge island has ~the same stone-to-ore ratio as a normal one.** Ore `count` is a fixed number per theme (`OrePlanner` never scales it to island size), but the base volume grows ~72× from normal to huge rocky while the ore counts had only grown ~4× — so a **huge rocky island was ~18× more ore-dilute than a normal one** (~0.43 % vs ~7.9 % ore-by-volume), and large ~2.4× dilute. Same on ancient. Rescaled the ore tables of `rocky_large`/`huge_rocky`/`ancient_large`/`huge_ancient` to their core volume via **bigger + more veins** (large ≈ full normal density; **huge ≈ 0.7× normal**, deliberately a touch leaner for the biggest tier): e.g. huge-rocky iron `8–12`×`4–8` → `40–60`×`10–20`. After: large ≈ 7.6 %/10.4 %, huge ≈ 5.5 %/7.1 %. Data-only; both nodes green. *(The compat ore overrides — Create zinc, MA ores, Quark stones — ride these same tiers and still under-scale on huge; a follow-up.)* ## [0.194.0] - 2026-07-02 ### Changed - **Trial chamber is now a corridor WARREN, not chambers bolted onto the atrium (plannednotes #61).** Reworked the jigsaw flow so it reads like a real (smaller) vanilla trial dungeon: the atrium's four edges now open onto **passages** (a new `halls` pool), passages **wind** through straight `corridor`s + 90° `corner`s and **branch** at T-`junction`s, and the spawner/treasure **chambers hang off junction spurs** (the `rooms` pool) — so you walk corridors between rooms instead of finding them stuck to the atrium. Added a small 5×5 spawner **cell** for chamber-size variety, and the `descent` staircase is now a passage that drops the warren a storey (multi-level). New pieces `corridor`/`corner`/`junction`/`room_small`; `gallery` retired; jigsaw `depth` 3→5 (sprawl capped to keep it inside the existing island). Gametest `trialWarrenWiring` verifies the atrium→halls→junction→chamber connector flow; both nodes green. *(In-world feel/fit is yours to confirm.)* ## [0.193.0] - 2026-07-02 ### Changed - **More Quark stone on the mining islands (QUARKISLANDPLAN #71).** Limestone is now abundant (it's just a building stone) — Rocky `chance` 0.55→0.95 with far bigger/more veins (base count 2–3→4–7, vein 4–8→8–14; large 12–18, huge 16–24) — and jasper/shale got a matching bump on Rocky/Ancient across all three tiers (base/large/huge). The blue-corundum geode stays rare. All six `quark_{rocky,ancient}{,_large,_huge}.json` overrides updated together (the base→large→huge mirror rule); `quarkStonesReachYBands` now asserts every tier carries the veins. ## [0.192.0] - 2026-07-02 ### Fixed - **Quark island stones now appear at every throw depth (QUARKISLANDPLAN #71).** The Quark stone veins (limestone/jasper on Rocky, jasper/shale on Ancient, + a deep blue-corundum geode) were only reaching the *top-level* ore list, which a matched Y-band `biome_override` **replaces** — so they only generated in the un-banded gap (Rocky Y 8–70, Ancient Y 20–96) and were invisible on low (deepslate) or high throws. Added same-selector band patches to all six `quark_{rocky,ancient}{,_large,_huge}.json` overrides so the veins **merge** into every overworld Y-band (deepslate `max_y:8`, high `min_y:70`/`min_y:130`, snowy for Rocky; `max_y:20`/`min_y:96` for Ancient) — the same trick `create_rocky.json` uses for deepslate zinc. Block ids were verified correct against `Quark-4.1-481.jar`; the stones are still buried core veins (mine into the island body). New gametest `quarkStonesReachYBands` guards it on both nodes. ## [0.191.0] - 2026-07-02 ### Added - **Trial chamber greebling — the vanilla atmosphere layer (plannednotes #25, phase 3 of the redesign).** The atrium and chambers now carry deterministic set-dressing: **cobwebs** tucked under ceiling corners, **lit candles** and **decorated pots** on the floor, a brushable **suspicious gravel** dig (the vanilla `archaeology/trial_chambers` loot), and a **moss** patch. Placement is guarded so greebling can never bury a spawner, vault, copper-bulb lamp, chain, ladder, connector or cornice. `TrialChamberTemplates.greeble()` runs in `hub`/`room`/`end` (corridors stay bare, as in vanilla); the hub gametest now also asserts a decorated pot is present. Both nodes green. ## [0.190.0] - 2026-07-02 ### Added - **Trial chamber is now multi-story, leaning downward (plannednotes #24, phase 2).** Two new jigsaw pieces make the chamber descend into the deepened island instead of sprawling flat: - **`descent`** — a staircase corridor whose entrance (`room_door`) is at the top floor and whose exit (`chamber_edge`, redrawing the rooms pool) is a full storey (5 blocks) LOWER at the far end, so the jigsaw seats the next piece a level down. Its exit box sits beyond the parent's footprint, so it never overlaps the parent (the vertical-jigsaw hazard, STRUCTUREPLAN #28). Copper-bulb lit, aged-copper palette. - **`end`** — a climactic 7×7 chamber capped with an **ominous vault** + a breeze spawner, terminal, that ends a branch on a big reward (vanilla puts ominous vaults in both the atrium and the end). Both added to the `trial_chamber/rooms` pool (`descent` weight 2, `end` weight 1). Gametests `trialDescentDropsALevel` (entrance sits above the exit + the exit redraws the pool) and `trialEndRoomHasOminousVault` guard them on both nodes. The trial island was already deepened in v0.189.0 to hold the extra levels. *(Phase 3 — greebling — to follow; the in-world multi-level / vanilla-compare read is yours.)* ## [0.189.0] - 2026-07-02 ### Changed - **Trial chamber — vanilla aged-copper look, bigger & on a deeper island (plannednotes #24, phase 1 of the redesign).** Reworked the pieces toward the real trial-chamber feel and set up for a multi-story downward layout: - **Aged-copper palette:** `TrialChamberTemplates.mix()` is now tuff-brick dominant with the **waxed weathered/oxidized copper** family woven in (copper + cut copper + chiseled + copper grate) — the signature green-teal patina, waxed so it never changes — replacing the old bright cut-copper mix. - **Copper-bulb lighting:** the plain hanging lanterns are replaced by lit **waxed copper bulbs on chains** (`ceilingLamp`), and a **cut-copper stair crown cornice** (`crownCornice`) trims the wall-tops. - **Bigger & taller:** the hub is now a 9×9 two-storey **atrium** (was 7×7); rooms are 7×7 chambers (was 5×5); the corridor is 5×7 (was 5×5). Doorways are 3 tall. - **Deeper/wider island:** the purpose-built trial island grew to radius 24–30 with an uncapped teardrop underside (~25–31 deep at the centre) and `sink` 7→10 / `pad` 10→14, so the taller chamber (and the coming downward levels) fit entirely under the surface. Regenerated the 7 trial-chamber `.nbt`; gametests updated (atrium boss/vault + copper-bulb lighting), both nodes green. *(Phase 2 — descent staircases + a lower level of chambers + end room — and phase 3 — greebling — to follow. The in-world vanilla-compare is yours.)* ## [0.188.0] - 2026-07-02 ### Added - **Cypress swampland villages grow as a stilted overwater bayou (BWGSWAMPVILLAGEPLAN #73).** The three cypress village bands (`biomeswevegone_{hamlet,trade_post,village_center}.json`, biomes `cypress_swamplands`/`cypress_wetlands`) now carve a broad **island-filling** shallow swamp (the #64 `pond` lever, `radius 24` / `extent 0.9` so the water covers almost the whole island, leaving only a thin walkable rim), sit on a `mud` surface, and stand the village on stilts + plank boardwalks over the open water — a stilted build **skips the levelled pad entirely**, so there is no dry "footing" disc displacing the water under the centre. The pond is **`contained`** (a new `Pond` flag): like a river it walls its un-backed rim into a lip instead of sheeting off, so a near-island-filling lake stays hemmed in bar a few deliberate waterfalls. The village-center cypress band gets its **own single-island `shape`** (radius 15–17, no `cluster_offsets`) so it stops inheriting the base 3-island cluster. New engine, data-driven via a `stilt_height` on `JigsawConfig`: - **`PathSurfacer.supportStilts`** hangs wooden legs from a lot floor down *through the water* to the bed (unlike the dirt/trestle passes, which stop at the water surface); **`resolveStilted`/`boardwalk`** render the street-marker lanes as plank decks on sparse pier posts, **railed only along their open-water edges** — never on a lane tile (kept walkable) and never on a solid block (a house floor/plaza the walkway meets), so a rail can neither overwrite a house nor fence a road shut. Legs/decks/rails use BWG willow (oak fallback when BWG is absent, so CI stays BWG-free). A lifted stilted build also clears the island's surface decoration so a tree can't root below and grow up into a house. - **`stilt_height`** (jigsaw config) seats the build that many blocks above the pad so its floors clear the water and triggers the stilt/boardwalk passes; the three cypress bands set it to 2. It is the in-game tuning knob for floor clearance (alongside the pond `extent`). Also from the in-game passes: **`PathSurfacer` strips a tree trunk/canopy left over any resolved path tile** (`clearCanopyAbove`) — trees are placed before structures, so a road laid across a tree column otherwise left the trunk floating on the road (fixes trees-on-roads in **all** villages, not just the swamp; trees in the gaps stay). The **cypress village-center island is now huge-sized** (its `shape` uses the huge-tier radius 24–30 / `top_dome` 2–3 / `max_under_depth` 18, pond `radius` 40 so `extent` governs), so far more of the village sits on-island. And **stilts no longer dangle into the void** — `stiltDown` places no leg where no bed is found within its 8-block search, so a stilt only rests on its own island (never a stub into nothing or a reach down to another island). Gametests `pathSurfacerStiltsDescendThroughWater` + `pathSurfacerBoardwalksOverWater` (+ the path/resolve test) guard the mechanism on both nodes. The other five village styles are untouched (bar the shared tree-on-road fix). Inert without BWG (cypress biomes never match). *(The over-water look + the exact `stilt_height`/`extent` are an in-world tuning pass — throw a cypress village seed to sign off.)* ## [0.187.0] - 2026-07-02 ### Fixed - **Village front doors sit flush with the outside wall now, not recessed inward (BWGVILLAGEPLAN #72).** The Phase-5 in-game sign-off flagged that BWG-village front doors "face inward" — a closed door with `FACING=NORTH` on a `z=0` front wall renders on the cell's interior (`+Z`) edge, leaving a recess on the street side. Flipped the front-door `FACING` `NORTH → SOUTH` (the closed panel now sits on the exterior `−Z` edge, flush with the wall) everywhere the shared pattern occurs: `BwgVillageTemplates` (`door()` helper + porch cottage — all six BWG styles), `TradePostTemplates` (the shop shell, great hall and blacksmith — all four biome variants), `VillageCenterTemplates` (the four plaza halls) and `RareStructureTemplates` (the evoker cell). `HamletTemplates` already oriented its doors correctly (it picks `SOUTH`/`NORTH` by which wall the door is on) and was left untouched. Regenerated the 163 affected door-bearing `.nbt` on the 1.21.1 node; gametests still green on both nodes (149 on 1.21.1, 158 on 26.1.2). *(In-world visual sign-off still yours.)* ## [0.186.0] - 2026-07-02 ### Changed - **Wet-wood islands: the water feature is now a broad shallow swamp/marsh, not a deep round pond (BWGPLAN #64).** The four AQUATIC wet-wood bands (cypress, bayou/willow, white-mangrove, palm) on all three tiers (`biomeswevegone_aquatic{,_large}.json` + `biomeswevegone_huge_aquatic.json`) now carve a shallow (`depth: 2`), `slope`d marsh with a raised `extent` (0.6 / 0.62 / 0.68 base/large/huge) so the water sheets across the island — answering the in-game read that the Huge tier especially "didn't have enough water" and that a deep round pond was the wrong idiom for swamp/marsh woods. Extent stays under 0.7 so a wooded dry rim survives for the trees. - **Wet/semi forest biomes read as real forests now (BWGPLAN #22).** The density pass that lifted the pure-forest bands to "real forest" tree counts (v0.170.0) had held the wet/semi biomes back pending an in-game read; that read confirmed the level is good, so their primary tree `tries` are lifted to the canonical forest density per tier — **7 / 40 / 120** (base / large / huge) — for `flower_forest`, `cherry_grove`, `grove`, `mangrove_swamp`, `swamp`, river banks (`#is_river`), `mushroom_fields` and `bamboo_jungle` in `forest{,_large}.json` + `huge_forest.json`. Secondary trees, giant mushrooms, spacing, ponds and ground flora are unchanged, so each biome keeps its character (the change is most visible on the Huge tier, where e.g. mangrove went 40 → 120). Genuinely open biomes (plains/savanna/beach/desert) keep their scattered counts. ### Fixed - **Wet-wood zero-tree floor: an island that asked for trees can no longer come up bare (BWGPLAN #65).** The `forceOneTree` last-resort guarantee now grades a real planting clearing (a 5×5 dirt pad under a tall air column) before placing, instead of clearing a single block — enough room for the big multi-block NBT trees BWG uses (willow, cypress), which silently failed to fit against the packed rim and left small/huge wet-wood islands with zero trees. Runs only when every normal site already failed, so a healthy island is untouched. Base-tier tree `tries` on the wet-wood bands also lifted 4 → 6. Gametest `biomeswevegoneWetWoodPondsAreShallowMarshes` (both nodes) guards the shallow-marsh config; the tree-count floor still wants an in-game re-throw to confirm (esp. Huge Bayou willows). ### Modpack (Grow-your-own-world) - **Quest B602 "Prosperity Found" refreshed for the Lush ore source (MYSTICALPLAN #69).** Its text no longer says the Mystical Agriculture ores "come from one place" / directs only to an Ancient island — it now leads with the accessible **Lush** stone ores (added v0.172.0) and frames Ancient as the richer deepslate option. - **BWG config coherence pass + bundled-jar refresh (BWGPLAN #23).** Audited the tracked `config/biomeswevegone/{misc,mob_spawn,trades,world_generation}.json`: biome injection stays ON, and all 35 BWG biomes that a Skyseed band targets are enabled — the only disabled biome, `eroded_borealis`, is targeted by no band and holly (its supposed alternate host) is reachable via the enabled `dacite_ridges`, so its `false` is intentional/coherent. `mods.txt` bumped from the stale `skyseed-1.21.1_0.179.0.jar` to `skyseed-1.21.1_0.186.0.jar`. ## [0.185.0] - 2026-07-02 ### Added - **Quark island integration Phases 2 & 3 + the myalite End remnant (QUARKISLANDPLAN #71) — completes the Quark island work.** - **Blossom trees on the Forest islands (Phase 2):** a Forest seed over a snowy / swamp / savanna / plains / badlands biome now has a chance of a **blossom-grove** variant that mixes in Quark's blue / lavender / orange / yellow / red blossom trees and drops their **saplings** — Quark's own biome map, across all three forest tiers (`quark_forest{,_large,_huge}.json`). Bands selector-MERGE into the base bands (append a variant) so the normal tree still appears. - **Ancient Tomes in structure-island loot (Phase 3):** Quark's tome loot tables now include the **Trial Chamber** reward chests (`trial_chambers/reward` + `_ominous`) and re-enable **Nether fortress** chests, so tomes drop in the matching structure islands (`quark-common.toml`). - **Myalite on the End form (Phase 1 remnant):** the End form of the rocky & ancient islands now veins **myalite** (Quark's End-flavoured stone). - All extras only (no seeds); inert without Quark. Gametests `quarkBlossomBandsMergeOntoForestTiers` / `quarkMyaliteReachesEndForm` (both nodes). ## [0.184.0] - 2026-07-02 ### Added - **Quark materials now enrich the Rocky & Ancient mining islands (QUARKISLANDPLAN #71, Phase 1).** New first-party `theme_override`s add Quark stone types as mineable veins — **limestone + jasper** on Rocky, **jasper + shale** on the deepslate-bodied Ancient (both across base/large/huge tiers) — plus a rare **blue-corundum geode** deep in the core. Extras only (no dedicated seed); inert without Quark (unknown ores are skipped before any RNG, so generation is byte-identical). Gametests `quarkStonesCompatTargetsRocky` / `quarkStonesCompatTargetsAncient` (both nodes). ### Fixed - **Exotic Woods guide entry: the stale "Eleven wood families" line is corrected** — the Forest seed now grows **twenty** wood families, and the entry's list is updated to match (`exotic_biomes.json`). ## [0.183.0] - 2026-07-02 ### Fixed - **The void-death Totem shrine now only ADDS blocks — it never overwrites an island.** If you fell straight down through an island, the shrine at the island band could replace that island's blocks. The shrine now fills only air cells, and the totem rises to the first clear cell (its own space + the block above), so it's never relocated into solid blocks. No effect on the common case (a totem spawned in open void). ## [0.182.0] - 2026-07-02 ### Added - **Quark's Totem of Holding now works in the void (QUARKPLAN).** On a normal death the totem spawns where you die, but a void plunge dropped it at the bottom of the world — floating in empty space, unreachable without flight. When a freshly-spawned `quark:totem` lands below y50 (a void death), Skyseed keeps its x/z (so it stays where you fell and Xaero's death waypoint still points at it), raises it to the island band, and builds a small **lit shrine** under it: a 3×3 stone-brick platform with a glowing centre and four soul-lantern posts — a solid, spawn-proof pad you can bridge across to, and a beacon visible against the void. Decoupled from Quark (matched by entity id, no-ops if Quark Oddities is absent) and only fires on Skyseed worlds. ## [0.181.0] - 2026-07-01 ### Added - **Every villager profession is now obtainable in village islands (vanilla and BWG).** The shop roster was missing four professions; added **armorer** (blast furnace), **cleric** (brewing stand), **weaponsmith** (grindstone) and **leatherworker** (cauldron). With these + the forge (toolsmith), all 13 vanilla professions can appear. Applies to the vanilla trade post/village-center AND all six BWG styles (one shared shop builder). The animal-pen trough became a flush **water basin** (freeing the cauldron for the leatherworker so it isn't miscounted). New gametest `village_offers_every_profession` (both nodes). ### Fixed - **The multi-storey tower house's loft ladder no longer breaks on a glass pane.** The ladder mounted against the back-wall centre column, which held a window; that column is now solid (windows moved to the side walls) and the mid floor gets a proper shaft hole so the loft is reachable. **The same glass-mounted-ladder bug in the vanilla Hamlet cottage** was fixed too (back window offset off the ladder column). - **The smithy/forge is less cramped — the smithing table no longer blocks the bed.** Moved it one column over (out of the bed's column) in both the BWG forge and the vanilla blacksmith. - The weaponsmith's grindstone is placed **floor-attached** (the default state is wall-attached and would pop free). ## [0.180.0] - 2026-07-01 ### Fixed - **BWG village shrine hall (the "temple") no longer has a freestanding door in its aisle.** The shrine hall is an open pillared colonnade (no walls), so the door at its front entrance stood alone in the open — "a door where you don't expect a door." Removed it; the open colonnade front is the temple entrance. Applies to all six styles (one shared builder). Regenerated the six `shrine_hall.nbt`. ## [0.179.0] - 2026-07-01 ### Added - **BWG villages — a variety pass across all six styles (BWGVILLAGEPLAN Phase 4).** More houses and decorations, so a grown BWG village reads less repetitive: **two new house shapes** (a porch cottage with a covered awning + a 7×5 longhouse), a **HIP roof** on some shops (fisherman/butcher) alongside the gable/flat/stepped ones, and **three new decoration plots** — an **animal pen** (fenced paddock + hay + trough), a **market stall** (striped awning + produce), and a **grove** (a dense bed of the style's signature flora: pumpkins / mushrooms / aloe / anemones / lily-of-the-valley …). All are palette-driven, so every style gets them in its own blocks; they join the surplus-lot `fillers` pool. Gametest `bwg_village_decor_variety` (both nodes) asserts the signature flora + the new hay decorations actually place. ## [0.178.0] - 2026-07-01 ### Added - **BWG villages — the Hamlet and Village-Center tiers, all six styles (BWGVILLAGEPLAN Phase 3).** A **Hamlet** seed over a BWG village biome now grows that style's little green hub with 1–2 of its shops; a **Village Center** seed grows the big dense cluster village (4–6 shops, an iron golem, the anvil centerpiece) — both in that biome's BWG blocks, reusing the same per-style piece sets as the trade post (no new templates). Wired via `theme_override/biomeswevegone_hamlet.json` + `biomeswevegone_village_center.json` (6 bands each) + a per-style `hamlet_start` pool pointing at the existing `hamlet_hub`. Inert without BWG. All three village tiers now cover all six styles. Gametests `bwg_hamlet_and_center_bands_wired` + `bwg_hamlet_and_center_assemble` (both nodes). ## [0.177.0] - 2026-07-01 ### Added - **BWG villages — all six styles at the Trade Post tier (BWGVILLAGEPLAN Phase 2).** The remaining five styles join the Skyris pilot: **Forgotten** (overgrown mossy-stone-brick ruin + florus wood, over `forgotten_forest`), **Pumpkin Patch** (dark-oak & dacite, pumpkins, over `cika_woods`/`pumpkin_valley`), **Red Rock** (red-rock-brick adobe + baobab + cattail-thatch roofs, over `red_rock_valley`), **Salem** (colonial witch-hazel + stone + gray glass, over `weeping_witch_forest`), and **Swamp** (stilted willow/cypress + thatch + mushrooms, over `cypress_swamplands`/`cypress_wetlands`). Each is a full per-style piece set (8 pools + 27 templates) in that biome's real BWG 2.6.0 blocks, dressed outdoors with that biome's BWG trees + flora. Several styles are largely vanilla (forgotten = vanilla mossy-stone-brick + florus accents; pumpkin_patch = vanilla dark-oak + BWG dacite) — the hermetic engine mixes vanilla and BWG blocks per cell. Inert without BWG. - `Style` gained per-style `bookshelf` (the librarian's) and signature `flora` (garden/plot decoration — pumpkins, aloe, anemones, mushrooms, …) slots. Gametests `bwg_all_village_bands_wired_on_trade_post` (all 6 bands wired to their pools) + `bwg_village_styles_assemble` (each style's pool assembles buildings on a flat pad), both nodes. ## [0.176.0] - 2026-07-01 ### Added - **BWG villages, pilot: the Skyris style (BWGVILLAGEPLAN).** Throw a **Trade Post** seed over `biomeswevegone:skyris_vale` and grow a Skyris-styled village — Skyseed's own jigsaw village (the same square → streets → capped shops → bed→villager mechanics as the vanilla-biome trade posts) rebuilt in BWG's Skyris block palette: skyris wood over white-dacite brick on polished andesite, dark-prismarine trim and light-blue glass, with a shrine hall, a smithy, tower + cottage homes, a well, gardens and fields. The block palette + biome mapping were harvested from BWG 2.6.0's own village `.nbt`. Inert without BWG (the biome never matches; the BWG-block templates are only ever loaded when a village assembles over the biome). The other five styles (forgotten / pumpkin_patch / red_rock / salem / swamp) and the Hamlet + Village-Center tiers follow. - **Hermetic BWG-block structure templates.** `StructureWriter` gained a `modNames` overload: a template can now carry `biomeswevegone:` block ids by serialising a vanilla-**analog** block state and swapping in the BWG `Name`, so BWG-styled `.nbt` are authored in code with **no BWG on the classpath** (matching the wood/flower bands). New `BwgVillageTemplates` (`Mat`-based) authors the Skyris piece set. - Gametests (both nodes): `bwg_skyris_village_band_on_trade_post` (the theme_override band is prepended + wired to `village_skyris/start`) and `bwg_skyris_village_assembles` (the pool assembles on a flat pad with the cap, beds and the Skyris-signature vanilla markers — no plains oak). Connector `final_state`s use the vanilla analog so a no-BWG assembly logs no jigsaw-replacement errors. ## [0.175.0] - 2026-07-01 ### Added - **A "sprinkle" of BWG flowers on the exotic-wood Forest islands — colour/flavour, not a flower field.** The Forest-family BWG bands (`biomeswevegone_forest.json` + `_large` + `huge_`) previously came up all grass and fern; each now carries a light ground-cover sprinkle (a few % per column, so trees stay the focus) of that biome's *own* signature BWG flora, picked from each biome's real BWG feature list: - aspen_boreal → orange daisy; cika_woods → iris; jacaranda_jungle → guzmania; maple_taiga → rose; ebony_woods → pink/white anemone; zelkova_forest → kovan flower; weeping_witch_forest → white anemone; sakura_grove → japanese orchid; ironwood_gour → california poppy; skyris_vale → fairy slipper + foxglove; pale_bog (spirit) → white sage; dacite_ridges (holly) → iris; black_forest (pine) → black rose; tropical_rainforest (mahogany) → delphinium; fragment_jungle (rainbow eucalyptus) → protea + delphinium. - The two vanilla placeholder flowers became the biome's authentic BWG blooms: enchanted_tangle `minecraft:allium` → fairy slipper + cyan rose; forgotten_forest (florus) `minecraft:poppy` → pink daffodil + angelica. - `baobab_savanna` / `redwood_thicket` keep a bare floor (BWG grows no ground flower there) and `cypress_swamplands` is left as-is (its BWG leather-flowers are climbing, not ground, plants). - Every flower verified as a real BWG 2.6.0 block; unknown ids resolve to nothing (`Lookup.hasBlock`), so this stays inert (byte-identical generation) without BWG installed. Ground flora is per-column, so the 3 tier files share identical bands. ## [0.174.0] - 2026-07-01 ### Added - **Millable BWG flowers now grow on islands — the create-otbwg compat finally has inputs (backlog #9, BWGPLAN Step 3).** The 94-recipe `create-otbwg-compat` milling datapack did nothing because no BWG flowers spawned anywhere. Two new first-party `theme_override` families place them as island ground cover (inert without BWG): - **Meadow family** (`biomeswevegone_meadow.json` + `_large` + `huge_`) — 8 BWG floral **grasslands** become flower-field islands: `allium_shrubland` (alliums), `amaranth_grassland` (amaranths), `rose_fields` (roses), `coconino_meadow` (bellflower/daffodil/anemones/tulips), `orchard` (lollipop/white-allium/yellow-daffodil), `prairie` (california poppy), `temperate_grove` (anemones/sages), `firecracker_chaparral` (firecracker bush/poppy/sage). - **Lush family** (`biomeswevegone_lush.json` + `_large` + `huge_`) — 3 BWG **jungle** biomes become flora-first tropical-bloom islands: `crag_gardens`, `tropical_rainforest`, `fragment_jungle` (begonia/bistort/guzmania/incan lily/lazarus bellflower/richea + delphinium/protea/silver-vase/orchid). This is the deliberate Q2 multi-seed overlap — `tropical_rainforest`/`fragment_jungle` also grow **trees-first** (mahogany/rainbow_eucalyptus) on the **Forest** family; on Lush they are flora-first. Every flower is a real BWG 2.6.0 block **and** a `create-otbwg-compat-1.0` milling input — verified against both jars. Ground flora is per-column (no tree `tries`), so the base/large/huge tier files share identical bands (a bigger island just grows proportionally more flowers). New `biomeswevegone_compat_places_meadow_flowers` + `biomeswevegone_compat_places_lush_flowers` gametests (both nodes) assert each band exists and actually places a `biomeswevegone:` flower as ground cover. ## [0.173.0] - 2026-07-01 ### Added - **Every BWG plank is now obtainable — the last 5 growable woods shipped (closes the plank-coverage gap, backlog #63).** A jar audit found only 19 of BWG 2.6.0's 25 planks were reachable via the island loop. The 5 remaining **growable** woods now get their own bands on the **Forest** family (`biomeswevegone_forest.json` + `_large` + `_huge`), each keyed to the wood's **dedicated** configured feature (not a biome-mixed `*_trees` selector) so a single clean plank drops: **florus** (`forgotten_forest` → `florus_trees`), **holly** (`dacite_ridges` → `holly_trees`), **pine** (`black_forest` → `pine_tree1` + `pine_tree2` — there is **no** `pine_trees` aggregate in 2.6.0), **mahogany** (`tropical_rainforest` → `mahogany_trees`), **rainbow_eucalyptus** (`fragment_jungle` → `rainbow_eucalyptus_trees`). All ids verified against `Oh-The-Biomes-Weve-Gone-NeoForge-2.6.0.jar`. The `#skyseed:exotic_woods` reveal tag (for the BWG-gated guide entry) gains the 5 new planks. Still inert without BWG (unknown ids never match → byte-identical generation). Extended the `biomeswevegone_compat_prepends_forest_bands` gametest (both nodes) to lock the 5 new biome→feature keys. ### Notes - **fir is intentionally non-growable.** BWG 2.6.0 ships `fir_planks` + `fir_sapling` but **no configured fir tree feature** and no biome tree-selector references fir, so there is nothing worldgen can grow — it is deliberately left out of the bands and the reveal tag (a gametest guards that no band references a `fir_*` feature). 24 of 25 planks are now island-obtainable; fir is the documented exception. - **Spirit-band in-game failure (#66) diagnosed — no code/data change needed.** The reported "`pale_bog` seed → oak & birch, no spirit" is logically impossible from a *matched* `pale_bog` band: a matched biome override **replaces** the island's variants (verified in `IslandGenerator.eff`), so the band emits **only** `spirit_trees` and can never yield oak/birch. `biomeswevegone:pale_bog` (biome) and `spirit_trees` (feature) both exist in the jar, the band is prepended + gametest-asserted, and spirit uses the **same** `ohthetreesyoullgrow:tree_from_nbt_v1` feature type as its working siblings (enchanted/skyris). The oak/birch result therefore means the seed **wasn't over `pale_bog`** (the test report self-contradicts with "pale_bog → white mangrove") — a re-test/biome-reachability item, not a defect. ## [0.172.0] - 2026-07-01 ### Added - **Mystical Agriculture ore on the Lush island (the accessible bootstrap source).** New first-party `theme_override` (`mysticalagriculture_lush.json` + `_large`/`_huge`, inert without MA) puts the **stone** `mysticalagriculture:inferium_ore` + `prosperity_ore` on the Lush island's stone core — the "natural home" MYSTICALPLAN always intended. The **Ancient** island keeps the richer **deepslate** variants, so the two form a deliberate pair: Lush = accessible mid-game stone tier, Ancient = deep richer tier. Closes the plan-vs-repo gap where only the deepslate-on-Ancient half had shipped. (These top-level ores stay off the Lush End/Nether forms — those are off the theme's overworld home dimension, so they fall to the neutral empty-ore default and the End "clean platform" island stays empty.) New `mystical_agriculture_compat_targets_lush` gametest (both nodes) asserts the stone ores are added and the deepslate variants are *not* (guarding the split). ## [0.171.0] - 2026-07-01 ### Added - **BWG wet-woods + fantasy-woods islands finalized (ids verified against BWG 2.6.0).** The wet-woods bands on the **Aquatic** family (water-first: cypress, willow, white-mangrove, palm — big pond, trees secondary) and the fantasy-woods bands on the **Forest** family (trees-first: enchanted, skyris, spirit, plus a cypress multi-seed demo) ship for real — every `biomeswevegone:` biome / configured-feature id was confirmed against `Oh-The-Biomes-Weve-Gone-NeoForge-2.6.0.jar`. Throw an Aquatic seed over `cypress_swamplands` for a water-first cypress pond; throw a Forest seed over the same biome for a dense cypress grove — the deliberate per-seed-priority demo. Still inert without BWG (unknown ids never match → byte-identical generation). ### Fixed - **Corrected several guessed BWG ids in the wet/fantasy wood bands** (they had been drafted before a jar was available): willow now grows via the **`bayou`** biome's **`bayou_trees`** feature (there is no `biomeswevegone:willow_trees`); white-mangrove is keyed to the dedicated **`white_mangrove_marshes`** biome (not `pale_bog`); and **spirit** wood *is* seed-growable after all — it grows in **`pale_bog`** (there is no `spirit_woods` biome). Palm keeps the sandy **`rainbow_beach`** biome (BWG injects `palm_trees` into vanilla beach via a biome-modifier, so a BWG biome hosts it here). - **`#skyseed:exotic_woods` reveal tag plank ids corrected.** Dropped the non-existent `#biomeswevegone:planks` reference (BWG feeds the vanilla `#minecraft:planks` tag; referencing that would wrongly fire the guide reveal on vanilla planks), fixed `white_sakura_planks` → `sakura_planks`, and split `enchanted_planks` into the real `blue_enchanted_planks` + `green_enchanted_planks`. All 19 exotic-wood planks are now listed explicitly so the BWG-gated "Exotic Woods" guide entry reveals correctly. ### Tests - New gametest `biomeswevegone_compat_prepends_aquatic_bands` (mirrors the forest one for the wet-woods tier) and an extended forest test that locks in the corrected ids (spirit → `pale_bog`/`spirit_trees`, willow → `bayou_trees`, white-mangrove → `white_mangrove_marshes`) and guards against the old nonexistent-biome guesses regressing. ## [0.170.0] - 2026-06-30 ### Added - **First-party Oh The Biomes We've Gone compat (ships with Skyseed, inert without BWG).** A `theme_override` adapts the **Forest** island (+ large/huge) to **11 BWG wood biomes** — aspen, baobab, cika, jacaranda, maple, ebony, redwood, zelkova, witch-hazel, sakura and ironwood: throw a Forest seed over one (they sit in the void's biome layout via the multi-noise overworld preset) and the island grows that biome's BWG trees instead of vanilla oak. Like the Create/MA compat, every `biomeswevegone:` id is unknown without BWG, so the bands never match and generation stays byte-identical. Wet woods (cypress/willow/mangrove/palm) and the fantasy woods (enchanted/skyris/spirit) are held for the concentrate-vs-distribute and dedicated-seed decisions in `BWGPLAN.md`. - **Optional / random water features (`pond.chance` + `pond.river`).** A pond can now be carved only part of the time (`chance`) and, when it is, be a 50/50 pick between the pool and a `river` alternative. The **Huge Forest** uses it for a **25% lake / 25% river / 50% dry** roll (a dry island just fills with more trees). A plain pond (chance 1, no river) is unchanged and consumes no extra RNG, so every other theme stays byte-identical. - **Rivers are walled in and never sheer.** Implements the long-planned river-to-rim follow-up: a river's banks always soften (a river never rolls the steep variant a pond can), and where it runs to the island edge it is walled into a contained channel — leaving only ~1-in-4 coarse rim stretches open as deliberate waterfalls, rather than sheeting off all along its banks. Applies to every river (forest / aquatic / huge forest); pond carving is unchanged and RNG-identical. ### Changed - **`theme_override` biome bands now take precedence over the base theme's bands (prepend, not append).** A patch band whose selector matches no base band is prepended ahead of the base bands so it wins the first-match. A modded biome is typically transitively under one of a base theme's vanilla `#is_*` catch-alls (BWG's biomes are in `#is_forest` via `#biomeswevegone:forest`), so the previous append left such a band silently shadowed — prepending is what lets a third-party / modpack `theme_override` actually adapt an island to its own biome without editing Skyseed's base themes. - **Auto debug seeds now cover `theme_override` biome bands.** `ThemeScanner` scans `theme_override/` too, attributing each added band's debug seed to the override's `target` theme — so the BWG wood biomes get their debug seeds (force a Forest island to that biome) without the bands living in the base theme. (Previously only base-theme bands produced debug seeds, so the BWG ones were missing.) - **Denser forests on the large/huge tiers.** Forest-character biomes — vanilla `#is_forest`/dark/birch/taiga/jungle and the BWG wood biomes — get much higher tree `tries` on the large and huge Forest islands so they read as real forests rather than grassland-with-trees; genuinely open biomes (plains, savanna, beach, desert) keep their scattered counts, and the BWG bands (previously flat across tiers) now scale per tier. - **Rounded banks on the deep lakes.** The deep (depth ≥ 4) water pools — the Huge Forest central lake, the Large Aquatic ponds, and the Large Lush pond — get `pond.slope: true` (a basin that shallows to the shore) instead of a sheer drop. Shallow base ponds (depth ≤ 3) and the contained lava lagoons keep their steep edge. ## [0.169.0] - 2026-06-30 ### Added - **First-party Mystical Agriculture compat (ships with Skyseed, inert without MA).** Theme-overrides put MA's ores on the islands that otherwise can't generate them in the void: **deepslate inferium + prosperity** on the **Ancient** island (+ large/huge) — the mid-game bootstrap, since prosperity ore has no mob-drop and must be mineable somewhere — and **soulium** on the **Nether Soul** island (+ large) for the Soulium-Dagger mob-essence path. Like the Create-zinc compat, the unknown ores are skipped before any RNG, so generation stays byte-identical without MA installed. New gametests assert the ores land on the resolved `ancient` and `nether_soul` themes. ## [0.168.0] - 2026-06-30 ### Fixed - **Guide: Large Forest craft-advancement name.** The overworld Large Forest's craft advancement was misnamed `craft_large_forest` (reversed) while every other reference uses the `_large` convention, so the guide's `skyseed:craft_forest_large` page reference dangled and never resolved. Renamed the file to `craft_forest_large.json` to match the convention, the recipe (`forest_large_skyseed`), and the `reveal_forest_large` / `gathered_forest_large` siblings. No logic change — the advancement still triggers on crafting the seed. ## [0.167.0] - 2026-06-29 ### Fixed - **Guide: Huge island gating description.** The Huge Forest guide entry claimed Huge islands require *"both the Nether and the End"* — inaccurate: the recipe needs only a Large seed ringed with an Ender Pearl and Blaze Powder, all obtainable with **Nether** access (no End trip). Reworded to match the other `huge_*` entries and note the ingredients come from the Nether. The `reveal_huge_*` unlock check was already correct (it only requires the matching Large seed), so no logic changed. (Patchouli guide, which is the 1.21.1 backend; Modonomicon content is not yet authored.) ### Added - **Theme overrides — a datapack merge layer so the modpack or other mods can extend Skyseed islands without editing the base themes.** New `skyseed:theme_override` datapack registry: drop a `data//skyseed/theme_override/*.json` naming a `target` theme plus any theme fields, and they're merged in at resolution time — **list** fields (ores, mobs, variants, animals, rare_structures, dimensions) **append**, and **biome_overrides merge by selector** (a patch band keyed to an existing band's biomes / Y-range / dimension injects its ores into that band; otherwise it's added as a new band); **optional scalars** (shape, palette, pond, jigsaw, lava, twin, ladder_shaft, fizzle, caves) **replace**. E.g. a Create-compat patch adds `create:zinc_ore` to the rocky island, including its deep band. With no patch targeting a theme the base is returned unchanged, so generation (and the golden master) stays byte-identical. New gametests cover the append, the no-op, and the band-merge. - **First-party Create compat (ships with Skyseed, inert without Create):** zinc on the mining islands — `create:zinc_ore` on the **rocky** family (rocky / rocky_large / huge_rocky, mirroring their copper — *plus* `create:deepslate_zinc_ore` band-merged into each one's deep `max_y:8` table so growing low still yields zinc) and `create:deepslate_zinc_ore` on the deepslate-bodied **ancient** family (ancient / ancient_large / huge_ancient). Unknown ores are skipped before any RNG ([OrePlanner](src/main/java/dev/gemberkoekje/skyseed/worldgen/OrePlanner.java)), so a no-Create world generates byte-identically; with Create installed, zinc appears alongside copper at every depth. Surface biomes and the trial-chamber (its copper is structural) are intentionally left out. ## [0.165.0] - 2026-06-29 ### Added - **`skyseed:void` chunk generator** — a noise generator (terrain stays pure void via the noise settings) that **skips biome-feature decoration** in the overworld/Nether and **suppresses natural structures in every dimension**. Fixes TerraBlender biome mods (BYG/BWG/Terralith…) leaking their features at the void floor (~y=-64): those mods inject biomes into the vanilla `multi_noise` source Skyseed reads for island theming, and the biomes' features were decorating over the void. Also makes the world-creation "Generate Structures" toggle moot — structures are grown from Skyseed seeds, never generated. All three dims use it (overworld/Nether `skip_decoration: true`; the End keeps decoration so its central island still forms). Affects only newly-created worlds. *(Works on both build nodes; the only node difference is 26.1.2's `createStructures` 6th param (`ResourceKey`), handled via a `//?` guard — `applyBiomeDecoration` is identical across nodes.)*
This mod has no additional files

