Phase 6: Pokémon machines (five cores, shells as data)

Adrian (2026-10-31): a Large Furnace where a Fire Pokémon heats real
furnaces (hoppers in and out), our own Electric generator, no upkeep;
then a drop synthesizer (FE into full drop rolls, looting tiers), a
sacrifice altar (level tiers, rare candies only from Lv 80) and a
rebirth chamber (Lv 100 -> shiny Lv 1 first stage, three perfect IVs,
moves kept, Ability Patch so the hidden ability is optional).

- machine/: data-driven 3x3x3 shells (window spots for glass, free
  spot under the core), checked in four rotations; the Pokémon walks in
  from the party and lives in the core; breaking core or shell sends it
  home (party, else PC, offline too); a real Cobblemon entity copy is
  shown in the chamber (no AI, invulnerable, uncatchable, never saved).
- Heat Core keeps vanilla furnaces lit and faster; Dynamo Core makes
  and pushes FE; Synthesis Core takes FE and rolls drops into a hopper-
  extractable buffer; Altar Core sacrifices on a confirmed sneak-use;
  Rebirth Core runs on server time.
- Recipes, casing tags, block loot, textures (tools/machine_assets.py),
  models, blockstates, names.
- Self-tests: in/out, refusal, shell and core breaks (PC when full),
  chunk unload, server restart, and each machine's work.
- Docs: design, balance table, Phase 6 checklist; Phase 5 approved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
claudeandClaude Opus 5.5 committed 2026-11-02 15:18:03 +01:00
1 parent 5cae9252c3
commit 0877a6a179
75 files changed
+2321 -7

No files matched your search

+2
View File
@@ -39,6 +39,8 @@
## Ask Adrian
**Phase 5 approved 2026-10-31** ("continue with the next phase"). Still open, with the default kept meanwhile: Mining keeps relying on an Item Gatherer; Dive, Mist and Rock Climb stay gated; the gate levels and materials stay placeholders.
- ~~Hide gated jobs in Cobblebase's Skills tab?~~ **Answered 2026-10-31:** leave as is; taking the job back with a message is enough.
- Mining should deliver straight into the chest instead of relying on an Item Gatherer?
- The gate levels, materials and which aura sits behind which zone are placeholders (`docs/balance.md`). Dive, Mist and Rock Climb were added to your four because they get around hazards the same way; say if any should stay open.
+40
View File
@@ -0,0 +1,40 @@
# Phase 6 – checks for Adrian
## Decided
**2026-10-31:** the Large Furnace has a Fire Pokémon heat real furnaces (hoppers must work in and out); an Electric generator is built too; machine work costs the Pokémon nothing. Three more machines: a drop synthesizer (energy into the Pokémon's drops; full drop roll; looting tiers), a sacrifice altar (high-level Pokémon for hard-to-get items; rare candies only above the highest natural level; lower tiers too) and a rebirth chamber (Lv 100 into a shiny Lv 1, first stage, three perfect IVs with none lowered, moves kept, hidden ability left to the player). Details: `docs/design.md` → "Phase 6: Pokémon machines".
## Built so far
Five machines, each a 3×3×3 shell around a chamber, with its core in the middle of one wall (recipes and numbers in `docs/balance.md`):
| Machine | Core | Casing | Takes |
| --- | --- | --- | --- |
| Large Furnace | Heat Core | bricks, mud bricks or deepslate bricks | Fire types |
| Generator | Dynamo Core | copper blocks | Electric types |
| Drop Synthesizer | Synthesis Core | iron, gold, diamond or netherite blocks (tier = looting) | any Pokémon |
| Sacrifice Altar | Altar Core | obsidian, crying obsidian, blackstone, polished blackstone bricks | Lv 20+ |
| Rebirth Chamber | Rebirth Core | amethyst, quartz or calcite blocks | Lv 100 |
The middle of each side wall and the top centre may be glass, to see the Pokémon; the block under the core is free for a hopper.
- Send the Pokémon out near the core and use the core with an empty hand: it walks in and leaves the party. Use the core again to take it back. Sneak-use shows what the machine is doing (for the altar: what a sacrifice gives).
- Breaking the core or the shell sends it home (party, else PC), even if you're offline. Automated: `machine_pokemon_goes_in_and_out`, `machine_refuses_what_doesnt_fit`, `machine_shell_break_returns_pokemon`, `machine_core_break_returns_pokemon_to_pc`, `machine_survives_unload`, `machine_survives_restart`.
- Each machine's work: `heat_core_cooks_with_hoppers`, `dynamo_core_powers_cables`, `synthesis_core_rolls_drops`, `altar_core_sacrifice_needs_confirmation`, `rebirth_core_makes_a_shiny_first_stage`.
## In game (Prism instance)
Creative mode gives the cores in the Functional Blocks tab; each has a recipe for survival.
- [ ] Build a Heat Core shell of bricks with glass in a side window, send out a Fire type and use the core: the Pokémon stands in the chamber, small enough to fit, and doesn't move. **Does it look right?** (the roadmap asks you to confirm this)
- [ ] Put a furnace against the outside of that shell, a hopper with raw iron above it and a hopper with a chest below: the iron cooks without fuel, faster with a stronger Pokémon, and ends in the chest.
- [ ] Build a Dynamo Core shell of copper with an Electric type, lay Poke Power cables from the core: sneak-use shows the energy made.
- [ ] Put a Synthesis Core shell of gold blocks next to it (cables between), with a Pokémon inside and a hopper and chest under its core: its drops arrive in the chest. Swap the shell for diamond blocks: sneak-use shows looting 2.
- [ ] Put a Lv 20+ Pokémon in an Altar Core shell: sneak-use shows the reward, sneak-use again within 5 seconds sacrifices it.
- [ ] Put a Lv 100 Pokémon in a Rebirth Core shell: sneak-use shows the time left (two hours). To check without waiting: `/data merge block <core position> {rebirth_at:1L}` then wait a second, take it out: a shiny Lv 1 first stage and an Ability Patch.
- [ ] Break a casing block while a Pokémon is inside: it comes back to your party with a message.
## Ask Adrian
- Does the Pokémon in the chamber look right (size, place, facing out through the core's side)?
- All numbers, casings and recipes are placeholders (`docs/balance.md`).