JEI pages styled like Cobblemon Info's; every Pokemon obtainable on the roadmap

Adrian, 2026-11-09, after testing: he likes having both drop pages, but they
should look alike. Our JEI pages now use Cobblemon Info's look: its dark
panel and border, header with icon, title, accent tag and divider, its text
colours and spacing. Long text wraps instead of being cut off (a zone's
levels were lost). Shorter page names (Island Drops, Boss Rewards, Ore
Veins, Pasture Finds), since JEI cut the long title too. The line about the
Drop Synthesizer is gone; its core is the page's catalyst.

Roadmap Phase 9: every implemented Pokemon must be obtainable without
commands, even if rarely or through crafting. 95 of 905 implemented species
aren't reachable by a wild spawn or by evolving a wild line today. The
roster-size default changes to match.

Self-tests pass (drop_sources_match_the_server, jei_pages_build).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
claudeandClaude Opus 5.5 committed 2026-11-09 12:09:07 +01:00
1 parent 72965caedf
commit 0be2c2e5c6
4 files changed
+103 -65

No files matched your search

+2 -2
View File
@@ -8,14 +8,14 @@
- **Add-ons in the pack:** Cobblemon Quests Reloaded 2.0.2 (Cobblemon task type for FTB Quests) and Cobblemon Info for REI / JEI / EMI 2.32.14. Automated: `quests_have_cobblemon_tasks`, `jei_addon_shows_island_spawns`.
- **Spawn info in JEI:** right for the pack (species, levels, rarity come from the zone pools), but it shows biomes, not zones; our own pages will add the zone.
- **JEI pages** (ours): look an item up in JEI (its recipes, key G) for "Pokémon drops on the island" (each Pokémon with its zone and levels), "Guardians and the End boss", "Sacrifice Altar", "Rebirth Chamber", "Zone ore veins" and "Pasture finds". Automated: `drop_sources_match_the_server`, `jei_pages_build`.
- **JEI pages** (ours): look an item up in JEI (its recipes, key G) for "Island Drops" (each Pokémon with its zone and levels), "Boss Rewards", "Sacrifice Altar", "Rebirth Chamber", "Ore Veins" and "Pasture Finds". Styled like Cobblemon Info's pages (2026-11-09). Automated: `drop_sources_match_the_server`, `jei_pages_build`.
- **Quest book:** 18 chapters, 74 quests, generated from `docs/quests.yaml`: Getting Started, one chapter per zone and the End, Pokémon Machines, Base and Jobs. No rewards, nothing locked. Zone chapters: reach the zone, catch three of its Pokémon, mine its ores, beat its guardian. Automated: `quest_book_loads`, `quest_events_mark_zones` (and the guardian and furnace tests check their quest events).
## In game (Prism instance)
- [ ] Open JEI, look up a Pokémon (e.g. Pikachu) in Cobblemon Info's pages: the spawn levels match its zone (`docs/zone-species.md`), and its drops are listed.
- [ ] In JEI, look up the recipes of Light Ball: Pikachu's page shows its picture, "Lives in Westmarch (Lv 16–25)" and its drops with chances; Raichu's page says where its line lives. Look up Ender Pearl: Beheeyem in the End has a page of its own.
- [ ] In JEI, look up the recipes of Light Ball: Pikachu's page shows its picture, Westmarch with Lv 16–25 and its drops with chances; Raichu's page says where its line lives. Same dark panel as Cobblemon Info's "Item Drops", no text cut off. Look up Ender Pearl: Beheeyem in the End has a page of its own.
- [ ] Look up the recipes of Rare Candy (Sacrifice Altar tiers), Great Ball (Southwold's guardian), Raw Copper (Southwold's veins, and pasture mining in Southwold).
- [ ] Open the quest book (FTB Quests' book item, or its key): every chapter shows, nodes are joined by lines, none shows a lock.
- [ ] Getting Started: tick "Welcome to the Island"; catch a Pokémon: "A Partner" completes.
+5 -3
View File
@@ -312,12 +312,14 @@ Adrian's choices: Cobblemon tasks come from **Cobblemon Quests Reloaded** (a mai
- **Self-tests:** `quest_book_loads` (FTB Quests on the server has the book in flexible mode, every task type is known, every item and advancement exists), `quest_events_mark_zones`, and the guardian and furnace tests check their events.
- Still open: the flexible-mode soft-lock a fix mod reports for 1.20.1 (tasks done before their dependencies); checked in game for now.
**Drop sources in JEI** (Adrian, 2026-11-02/03). The companion mod adds its own JEI pages (`jei/DropSourcesJei.kt`); look an item up (its recipes) to see every place on the island it comes from:
- **Pokémon drops on the island:** one page per species of a line that lives on the island (794): its drops with chance and amount, the zones it spawns in with their levels, or for a form that isn't wild, where its line lives ("Not wild; its line lives in Westmarch (Pichu)"). The Drop Synthesizer core is the page's catalyst (it rolls the same drops). Spawns with drops of their own get a page too (Beheeyem in the End: ender pearls). This is the zone information the Cobblemon Info add-on can't show.
- **Guardians and the End boss:** each guardian's species, level, zone, drops and return time; Eternatus with its experience and the dragon egg on the first win.
- **Island Drops:** one page per species of a line that lives on the island (794): its drops with chance and amount, the zones it spawns in with their levels, or for a form that isn't wild, where its line lives ("Not wild; its line lives in Westmarch (Pichu)"). The Drop Synthesizer core is the page's catalyst (it rolls the same drops). Spawns with drops of their own get a page too (Beheeyem in the End: ender pearls). This is the zone information the Cobblemon Info add-on can't show.
- **Boss Rewards:** each guardian's species, level, zone, drops and return time; Eternatus with its experience and the dragon egg on the first win.
- **Sacrifice Altar** (each level tier and the Dragon-type special) and **Rebirth Chamber** (the Ability Patch), with their cores as catalysts.
- **Zone ore veins:** per zone, what its veins give and how fast they regrow.
- **Ore Veins:** per zone, what its veins give and how fast they regrow.
- **Pasture finds:** per Cobblebase skill (mining, ore finder, evolution-item finder) and zone, what a pastured Pokémon can find there; the Pasture Block is the catalyst.
The pages sit next to Cobblemon Info's own, and Adrian likes having both, so they share its look (2026-11-09): the same dark panel with a thin border, a header with icon, white title, warm tag on the right and a divider, the same text colours and spacing. Long text wraps. JEI gives all pages of a category the height of the tallest.
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.
## Open decisions for Adrian (proceeding with the default, flagged)
+3 -2
View File
@@ -190,11 +190,12 @@ Goal: a quest book that points players onward, laid out like a research tree who
## Phase 9 – Balancing and release
- **Balance pass** on levels, drop rates, vein timers, job cooldowns, hazard damage and machine output, all from `docs/balance.md`.
- **Every implemented Pokémon is obtainable** (Adrian, 2026-11-09). Every species Cobblemon has a model for must be reachable somewhere in the world, even if rarely or through crafting: a wild spawn, evolving a wild line, a fossil, or a crafted or summoned encounter. Legendaries and the like count too; they can be very rare or expensive. Checked on 2026-11-09: 95 of 905 implemented species are not reachable by a wild spawn or by evolving a wild line (legendaries, fossils, and lines the zone assignment left out, such as Aron, Litwick and Piplup). Report what is missing with a tool or self-test so new Cobblemon versions can't reopen the gap.
- **Performance.** Profile with spark on a server with realistic pen and machine counts; cap entity density through pasture config if needed.
- **Multiplayer test** with Adrian's group.
- **Release.** Final `docs/licenses.md`, credits and non-affiliation disclaimer; publish client and server packs on Modrinth and CurseForge as dependency-based packs.
**Done when:** a full playthrough from spawn to the last zone is possible without commands, and a server runs a multi-hour session without tick-time spikes from Pokémon entities.
**Done when:** a full playthrough from spawn to the last zone is possible without commands, every implemented Pokémon can be obtained without commands, and a server runs a multi-hour session without tick-time spikes from Pokémon entities.
## Open decisions for Adrian
@@ -208,7 +209,7 @@ The agent should proceed with the default in each row and flag it, rather than b
| Do boss area attacks hit party Pokémon? | No, player only |
| Player dies during a battle | The battle ends as a loss; Pokémon that had not fainted survive |
| Separate storage per base | No; all PC blocks share one storage |
| Roster size for v1 | Curated 150–250 species |
| Roster size for v1 | Every species Cobblemon has a model for (Adrian, 2026-11-09; see Phase 9), replacing the curated 150–250 |
| Pen footprint rule | Lower pasture limits only; no size-based rule in v1 |
| Multiplayer target | Small private server group |