Phase 9 begins: bigger, sparser veins, a mine-through respawn block, left-out lines

Phase 8 approved (2026-11-09). Adrian's Phase 9 answers: left-out Pokemon rare
in fitting zones; legendaries from crafted summons; no public release.

- Ore veins more sporadic but bigger: nodes about 40 % rarer, veins about 30 %
  further apart, each one block larger in radius. 1.5-3x the ore overall; a
  new island is needed to see it. World check on the regenerated island passes.
- The respawn block (Regenerating Ore Veins' regenerator): the aim passes
  through it unless sneaking (mixin, the pack's first), so ore behind it can be
  mined; much fainter glass through KubeJS assets. Self-test
  regenerator_lets_the_aim_through casts a real ray.
- 31 lines (67 species) with no matching island biome, or no spawn data
  (Rotom), get rare homes in fitting zones (world/zones.json -> homeless).
  Existing spawns and guardians don't change. JEI data and quests regenerated.
- surface_nodes_lie_in_the_ground checks the node's centre column: a wider
  node's edge can lie under a tree or a slope.
- Roadmap: every implemented Pokemon obtainable; Iris and Complementary
  Reimagined as the default shader.

Self-tests and the island check pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
claudeandClaude Opus 5.5 committed 2026-11-09 12:45:44 +01:00
1 parent 0be2c2e5c6
commit e206664b3d
45 files changed
+2723 -242

No files matched your search

+13
View File
@@ -322,6 +322,19 @@ The pages sit next to Cobblemon Info's own, and Adrian likes having both, so the
JEI runs on the client, which on a dedicated server doesn't have the server's data, so the pages are built from `assets/cobblesurvival/jei/drop_sources.json` inside the mod, written by `tools/jei_sources.py` from the pack's own files (Cobblemon's species drops with the pack's species additions, the zone spawn pools, guardians, the End boss, the machines, `world/zones.json` ores, Cobblebase's zone tables). Which ore a vein gives now lives in `world/zones.json` → `ores` → `item` (the quest book reads it too). Self-tests: `drop_sources_match_the_server` compares the file with the live server (every listed Pokémon's drops and zones, spawns with own drops, guardians, the End boss, altar tiers) and fails when it's stale; `jei_pages_build` builds every page with the same code JEI calls and checks every item exists.
## Phase 9: balancing and release (Adrian, 2026-11-09)
Adrian's choices: Pokémon with no biome on the island become rare spawns in fitting zones; legendaries come from crafted summons; no public release: he hands the pack out himself through a private channel to select people. The Modrinth/CurseForge split therefore stays unresolved on purpose.
**Every implemented Pokémon is obtainable** (roadmap). Of 905 implemented species, 95 were out of reach by wild spawn or by evolving a wild line (2026-11-09):
- 5 fossils (Aerodactyl, Arctovish, Arctozolt, Dracovish, Dracozolt): already obtainable. The field guide lists their fossils as found on the island, and the fossil machines are craftable.
- 67 species in 31 lines that spawn only in biomes the island lacks, or not at all (Rotom): each line gets a home in the closest-fitting zone (`world/zones.json` → `homeless`), as a rare spawn anywhere in that zone at its levels. Conditions tied to the missing biomes are dropped. Existing spawns and homes don't move. They show in `docs/zone-species.md` and in JEI.
- 23 legendaries, mythicals, Ultra Beasts and Paradox Pokémon, with no spawn data: crafted summons (to do).
**Ore veins** (Adrian, 2026-11-09: more sporadic but bigger). Nodes are about 40 % rarer and veins about 30 % further apart, each one block larger in radius; the bigger size outweighs the spacing, so the island holds 1.5–3× the ore. Veins are laid down when chunks generate, so this needs a newly generated island.
**The respawn block** (Regenerating Ore Veins' regenerator, the placeholder where a mined vein block grows back) no longer stops the player's aim, so the ore behind it can be mined; it never had collision. While sneaking the player can still target it, which is how its info opens. A mixin returns an empty outline shape (`RegeneratorBlockMixin.java`, the mod's only one, targeting the class by name). Its model and glass come from `pack/kubejs/assets/regenerating_ore_veins/`, much fainter than the stained glass it had. Self-test `regenerator_lets_the_aim_through` casts a real ray at it.
## Open decisions for Adrian (proceeding with the default, flagged)
| Decision | Default used for now |