Phase 9: safe start island, better quest book, every useful item obtainable
- Button Isle is peaceful: wild Pokémon only fight a player who hit them first (tuning/server.json peaceful_zones); its apricorns and coal make Poké Balls (4 apricorns + coal or charcoal), and the world report checks it has enough. - Quest book: no boilerplate; each zone page says what is particular to it, and every zone that needs gear or a field move to be safe has its own quest. New page on the bigger mods (Cold Sweat, Fight or Flight, Cobblebase, breeding, veins, shared loot, maps and info). - The Mire's poison stops 10 blocks below the surface. - Player battles never cost a Pokémon (CobbleHardcoreMon config, mixins, and the companion mod's own permadeath). - tools/item_audit.py: every item with a use has a source on the island; new sources for the gaps it found (species additions, three recipes). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6ace26e012
commit
d29e177f9d
65 files changed
+1920
-364
No files matched your search
@@ -531,9 +531,12 @@ class Model:
|
||||
|
||||
def _manual(self):
|
||||
from pathlib import Path
|
||||
import fnmatch
|
||||
cfg = json.loads((Path(__file__).parent / "manual_sources.json").read_text())
|
||||
known = self.vanilla_items | set(self.stack.ids("models/item", root="assets"))
|
||||
for s in cfg["sources"]:
|
||||
self.add(f"item:{s['item']}", "manual", s["how"], needs=s.get("needs", []))
|
||||
for item in sorted(fnmatch.filter(known, s["pattern"])) if "pattern" in s else [s["item"]]:
|
||||
self.add(f"item:{item}", "manual", s["how"], needs=s.get("needs", []))
|
||||
axes = [f"item:{i}" for i in self.itags.resolve("#minecraft:axes")]
|
||||
for item in sorted(self.vanilla_items | {k for k in self.stack.ids("models/item", root="assets")}):
|
||||
ns, path = split_id(item)
|
||||
|
||||
Reference in new issue
Block a user