Files
claudeandClaude Opus 5.5 4083791944 Phase 9: reproducible builds, balance from the server, spark check, play feedback
Build: every tool pinned (JDK, packwiz, Gradle plugins, Python packages), exports
normalised, tools/check_reproducible.py proves two clean builds are byte-identical.

Server-side balance: a server can load config/cobblesurvival/datapack.zip in place of
the jar's data, /reload applies it, tools/server_update.py packages it and refuses
when a client change is needed. JEI drop pages are sent by the server. Code-held
balance numbers moved to tuning/server.json.

Performance: spark in the pack (server only), tools/perf_test.py with fake players
whose chunks really are active, docs/performance.md.

Adrian's feedback: default keys R, U, J, §; drop pages link to Cobblemon Info and show
real chances; bosses only hurt in battles; battle XP halved; channels between the
islands low level; temperature ×3 with insulation doubled; hazards start at once; no
item dots on the map; a wild attack starts a battle; the starter only faints; quest
book on join with a basics page and an HMs page; regional forms obtainable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 16:26:30 +01:00

10 KiB
Raw Permalink Blame History

Pokémon per zone

Generated by tools/zone_spawns.py from Cobblemon's spawn data and world/zones.json; do not edit by hand. Each evolution line spawns in one zone of the island; the stages listed are the ones whose levels reach the zone's band. Pin a line to another zone in world/zones.json → species. The End's lines spawn there as well as in their island zone.

Button Isle (Lv 2–10, 24 lines)

Bidoof, Bonsly, Caterpie (Butterfree, Caterpie, Metapod), Combee, Gimmighoul, Hoothoot, Kricketot (Kricketot, Kricketune), Ledyba, Meditite, Morpeko, Nincada, Pachirisu, Rattata, Sableye, Scatterbug (Scatterbug, Spewpa), Skitty, Smeargle, Spinarak, Sunkern, Tarountula, Weedle (Beedrill, Kakuna, Weedle), Wooper, Wurmple (Beautifly, Cascoon, Dustox, Silcoon, Wurmple), Wynaut

Frostpeak Range (Lv 40–55, 53 lines)

Alolan Sandshrew (Sandshrew), Alolan Vulpix (Vulpix), Axew (Fraxure, Haxorus), Basculin (Basculegion, Basculin), Bergmite (Avalugg), Budew (Roselia, Roserade), Cetoddle (Cetitan), Cherubi (Cherrim), Chespin (Chesnaught, Quilladin), Chikorita (Bayleef, Meganium), Chimchar (Infernape, Monferno), Cryogonal, Cubchoo (Beartic), Cufant (Copperajah), Delibird, Duraludon (Archaludon, Duraludon), Eiscue, Elekid (Electabuzz, Electivire), Galarian Darumaka (Darumaka), Gossifleur (Eldegoss), Hisuian Zorua (Zorua), Larvitar (Pupitar, Tyranitar), Machop (Machamp, Machoke), Makuhita (Hariyama), Mankey (Annihilape, Primeape), Mienfoo (Mienshao), Minior, Rhyhorn (Rhydon, Rhyperior), Riolu (Lucario), Rockruff (Lycanroc), Rowlet (Dartrix, Decidueye), Rufflet (Braviary), Salandit, Sawk, Skiddo (Gogoat), Smoochum (Jynx), Sneasel (Sneasel, Sneasler), Snom (Frosmoth), Snorunt (Froslass, Glalie), Snover (Abomasnow), Spinda, Spoink (Grumpig), Sprigatito (Floragato, Meowscarada), Spritzee (Aromatisse), Stantler (Stantler, Wyrdeer), Starly (Staraptor), Swinub (Mamoswine, Piloswine), Throh, Togedemaru, Togepi (Togekiss, Togetic), Tyrogue (Hitmonchan, Hitmonlee, Hitmontop), Vanillite (Vanillish, Vanilluxe), Wooloo (Dubwool)

Sunscorch (Lv 30–45, 38 lines)

Bramblin (Brambleghast), Cacnea (Cacnea, Cacturne), Capsakid (Capsakid, Scovillain), Cubone (Cubone, Marowak), Drampa, Dwebble (Crustle, Dwebble), Ekans (Arbok), Falinks, Fennekin (Braixen, Delphox, Fennekin), Flittle (Espathra), Fuecoco (Crocalor, Fuecoco, Skeledirge), Girafarig (Farigiraf, Girafarig), Helioptile (Heliolisk), Hippopotas (Hippopotas, Hippowdon), Hisuian Growlithe (Growlithe), Kangaskhan, Klawf, Larvesta, Litleo (Litleo, Pyroar), Maractus, Nacli (Garganacl, Naclstack), Numel (Camerupt, Numel), Paldean Tauros (Tauros), Pawniard, Phanpy (Donphan, Phanpy), Poltchageist (Poltchageist, Sinistcha), Rellor (Rabsca), Sandile (Krokorok, Krookodile), Sandshrew (Sandshrew, Sandslash), Scraggy (Scrafty, Scraggy), Shinx (Luxio, Luxray), Silicobra (Sandaconda, Silicobra), Skarmory, Skorupi (Drapion, Skorupi), Spearow (Fearow), Totodile (Croconaw, Feraligatr, Totodile), Trapinch (Flygon, Vibrava), Tympole (Palpitoad, Seismitoad)

Mangrove Mire (Lv 25–38, 21 lines)

Croagunk (Croagunk, Toxicroak), Dondozo, Ducklett (Ducklett, Swanna), Flamigo, Froakie (Froakie, Frogadier, Greninja), Galarian Stunfisk (Stunfisk), Hatenna (Hatenna, Hattrem), Illumise, Karrablast (Escavalier, Karrablast), Misdreavus, Mudkip (Marshtomp, Mudkip, Swampert), Paldean Tauros (Tauros), Shelmet (Accelgor, Shelmet), Slowpoke, Sobble (Drizzile, Inteleon, Sobble), Surskit (Masquerain, Surskit), Tadbulb (Bellibolt, Tadbulb), Tatsugiri, Toedscool (Toedscool, Toedscruel), Volbeat, Yanma (Yanma, Yanmega)

Verdant Jungle (Lv 18–30, 30 lines)

Aipom, Bellsprout (Bellsprout, Weepinbell), Bounsweet (Bounsweet, Steenee, Tsareena), Bulbasaur (Bulbasaur, Ivysaur), Chatot, Darumaka, Exeggcute (Exeggcute, Exeggutor), Fomantis, Galarian Slowpoke (Slowpoke), Grookey (Grookey, Thwackey), Jangmo-o, Kecleon, Komala, Litten (Litten, Torracat), Natu (Natu, Xatu), Pancham, Panpour (Panpour, Simipour), Pansage (Pansage, Simisage), Pansear (Pansear, Simisear), Pikipek (Pikipek, Toucannon, Trumbeak), Shroodle (Grafaiai, Shroodle), Slakoth (Slakoth, Vigoroth), Snivy (Servine, Snivy), Stufful (Bewear, Stufful), Stunfisk, Tangela (Tangela, Tangrowth), Treecko (Grovyle, Treecko), Tropius, Unown, Woobat (Swoobat, Woobat)

Highland Meadows (Lv 25–35, 43 lines)

Abra (Abra, Alakazam, Kadabra), Alolan Diglett (Diglett), Blitzle (Blitzle, Zebstrika), Bouffalant, Buizel (Buizel, Floatzel), Chewtle (Chewtle, Drednaw), Cottonee (Cottonee, Whimsicott), Cyclizar, Cyndaquil (Cyndaquil, Quilava), Doduo (Dodrio, Doduo), Electrike (Electrike, Manectric), Fletchling (Fletchinder, Fletchling, Talonflame), Golett, Hoppip (Hoppip, Jumpluff, Skiploom), Igglybuff (Jigglypuff, Wigglytuff), Lechonk (Lechonk, Oinkologne), Lickitung (Lickilicky, Lickitung), Mareep (Ampharos, Flaaffy, Mareep), Miltank, Mudbray (Mudbray, Mudsdale), Nymble (Lokix), Oddish (Bellossom, Gloom, Oddish, Vileplume), Paldean Tauros (Tauros), Pidgey (Pidgeotto, Pidgey), Poliwag (Politoed, Poliwag, Poliwhirl, Poliwrath), Ponyta, Poochyena (Mightyena), Psyduck (Golduck, Psyduck), Quaxly (Quaxly, Quaxwell), Scorbunny (Cinderace, Raboot, Scorbunny), Seviper, Sinistea (Polteageist, Sinistea), Spiritomb, Squirtle (Squirtle, Wartortle), Stonjourner, Tauros, Tepig (Pignite, Tepig), Tinkatink (Tinkatink, Tinkatuff), Torchic (Combusken, Torchic), Turtwig (Grotle, Torterra, Turtwig), Vulpix (Ninetales, Vulpix), Zangoose, Zorua (Zoroark, Zorua)

Westmarch (Lv 15–25, 30 lines)

Alolan Geodude (Geodude), Applin (Appletun, Applin, Dipplin, Flapple), Buneary, Corphish, Dedenne, Deerling, Dewpider (Araquanid, Dewpider), Dratini, Emolga, Flabébé (Flabébé, Floette), Gible (Gabite, Gible), Goomy, Happiny (Chansey, Happiny), Magikarp (Gyarados, Magikarp), Munchlax, Nickit (Nickit, Thievul), Noibat, Petilil (Lilligant, Petilil), Phantump, Pichu (Pichu, Pikachu), Pineco, Rotom, Scyther, Seedot (Nuzleaf, Seedot), Sewaddle (Sewaddle, Swadloon), Shroomish (Breloom, Shroomish), Skwovet (Greedent, Skwovet), Stunky, Tandemaus (Maushold, Tandemaus), Teddiursa

Southwold (Lv 8–18, 54 lines)

Audino, Azurill (Azumarill, Azurill, Marill), Bunnelby, Burmy, Chingling, Corsola, Drifloon, Dunsparce, Eevee, Farfetch'd, Furfrou, Galarian Meowth (Meowth), Galarian Zigzagoon (Zigzagoon), Gastly, Glameow, Goldeen, Grimer, Grubbin, Hawlucha, Heracross, Koffing, Lillipup (Herdier, Lillipup), Lotad (Lombre, Lotad), Magnemite, Meowth, Minccino, Minun, Nidoran♀ (Nidoran♀, Nidorina), Nidoran♂ (Nidoran♂, Nidorino), Patrat, Pidove, Pinsir, Plusle, Porygon, Pumpkaboo, Relicanth, Sentret (Furret, Sentret), Shuppet, Smoliv, Squawkabilly, Swablu, Taillow, Tentacool, Timburr, Toxel, Tynamo, Venonat, Voltorb, Whismur, Wimpod, Yamask, Yamper, Yungoos, Zigzagoon

Deep Sea (Lv 30–50, 24 lines)

Alomomola, Arrokuda (Barraskewda), Binacle (Barbaracle, Binacle), Clamperl (Clamperl, Gorebyss, Huntail), Clauncher (Clauncher, Clawitzer), Dhelmise, Dreepy (Drakloak), Frillish (Frillish, Jellicent), Horsea (Horsea, Kingdra, Seadra), Inkay (Malamar), Lapras, Mantyke (Mantine, Mantyke), Oshawott (Dewott, Oshawott, Samurott), Piplup (Empoleon, Piplup, Prinplup), Popplio (Brionne, Popplio, Primarina), Remoraid (Octillery, Remoraid), Seel (Dewgong, Seel), Shellder (Cloyster, Shellder), Skrelp (Dragalge, Skrelp), Spheal (Sealeo, Walrein), Staryu (Starmie, Staryu), Veluza, Wailmer (Wailmer, Wailord), Wattrel (Kilowattrel)

Shallows (Lv 5–20, 20 lines)

Bruxish, Carvanha, Chinchou, Clobbopus, Crabrawler, Cramorant, Finizen, Finneon, Hisuian Qwilfish (Qwilfish), Krabby, Luvdisc, Mareanie, Pincurchin, Pyukumuku, Qwilfish, Sandygast, Shellos, Wiglett, Wingull, Wishiwashi

Lush Caves (Lv 12–28, 22 lines)

Amaura, Anorith, Archen, Barboach, Carnivine, Cranidos, Cutiefly (Cutiefly, Ribombee), Ferroseed, Foongus, Joltik, Kabuto, Lileep, Morelull (Morelull, Shiinotic), Omanyte, Paras (Paras, Parasect), Shieldon, Shuckle, Snubbull (Granbull, Snubbull), Tirtouga, Trubbish, Tyrunt, Venipede (Venipede, Whirlipede)

Dripstone Depths (Lv 22–38, 22 lines)

Aron (Aron, Lairon), Bagon (Bagon, Shelgon), Baltoy (Baltoy, Claydol), Beldum (Beldum, Metang), Cleffa (Clefable, Clefairy, Cleffa), Comfey, Drowzee (Drowzee, Hypno), Druddigon, Elgyem, Espurr (Espurr, Meowstic), Fidough (Dachsbun, Fidough), Geodude (Geodude, Golem, Graveler), Indeedee, Klefki, Lunatone, Milcery (Alcremie, Milcery), Munna (Munna, Musharna), Orthworm, Sigilyph, Solosis (Duosion, Solosis), Solrock, Swirlix (Slurpuff, Swirlix)

Deep Dark (Lv 45–60, 24 lines)

Bronzor (Bronzong), Carbink, Deino (Zweilous), Ditto, Duskull (Dusclops, Dusknoir), Feebas (Milotic), Glimmet (Glimmora), Greavard (Houndstone), Honedge (Aegislash, Doublade), Impidimp (Grimmsnarl), Klink (Klinklang), Litwick (Chandelure, Lampent), Maschiff (Mabosstiff), Mime Jr. (Mr. Mime, Mr. Rime), Mimikyu, Murkrow (Honchkrow), Nosepass (Probopass), Onix (Steelix), Ralts (Gallade, Gardevoir), Roggenrola (Gigalith), Rolycoly (Coalossal), Rookidee (Corviknight), Varoom (Revavroom), Zubat (Crobat, Golbat)

Basalt Furnace (Lv 55–70, 17 lines)

Absol, Charcadet (Armarouge), Charmander (Charizard), Diglett (Dugtrio), Drilbur (Excadrill), Durant, Gligar (Gliscor), Growlithe (Arcanine), Heatmor, Houndour (Houndoom), Magby (Magmortar), Mawile, Purrloin (Liepard), Sizzlipede (Centiskorch), Slugma (Magcargo), Torkoal, Turtonator

The End (Lv 50–70, 7 lines)

Beldum (Metagross), Elgyem (Beheeyem), Gothita (Gothitelle), Inkay (Malamar), Sigilyph, Solosis (Reuniclus), Unown

Alpha guardians

One per zone at its sample point, uncatchable, about 8 blocks tall, five levels above the band, with full HP, Defense and Sp. Def training and the Guardian's Ward in battle; it returns 5 hours after it is beaten. Its drops help with the next zone.

Zone Guardian Level Drops
Button Isle Morpeko 15 10× poke_ball, 4× potion
Frostpeak Range Abomasnow 60 3× icy_rock, 2× exp_candy_l
Sunscorch Flygon 50 3× heat_rock, 2× exp_candy_l
Mangrove Mire Swampert 43 3× icy_rock, 4× super_potion
Verdant Jungle Tangrowth 35 1× mire_waders, 4× pecha_berry, 2× exp_candy_m
Highland Meadows Mudsdale 40 3× icy_rock, 4× super_potion
Westmarch Scyther 30 1× mire_waders, 4× pecha_berry, 2× exp_candy_m
Southwold Pinsir 23 6× great_ball, 4× exp_candy_s
Deep Sea Kingdra 55 1× mystic_water, 3× exp_candy_m
Deep Dark Regigigas 65 3× icy_rock, 2× exp_candy_l
Basalt Furnace Moltres 75 3× exp_candy_xl, 2× netherite_scrap