Skip to content

Regenerate pc 1.10, 1.11 and 1.12 recipes from the game - #1283

Merged
rom1504 merged 2 commits into
PrismarineJS:masterfrom
u9g:regenerate-pre-1.13-recipes
Sep 19, 2026
Merged

rom1504 merged 2 commits into
PrismarineJS:masterfrom
u9g:regenerate-pre-1.13-recipes

Conversation

@u9g

@u9g u9g commented Sep 8, 2026

Copy link
Copy Markdown
Member

Replaces data/pc/1.10, 1.11 and 1.12 recipes.json (used by 1.10 through 1.12.2) with output from PrismarineJS/minecraft-data-generator#81, which enumerates the server's recipe registry. Closes #182.

Defects in the previous wiki-extracted files that this removes:

  • Every "any planks" ingredient (crafting table, chest, sticks, wooden tools, bookshelf, shield, ...) required dark oak planks ({"id": 5, "metadata": 5}), so mineflayer could not craft them from other planks.
  • Stairs, fences, fence gates, doors, boats and wooden slabs existed only for dark oak.
  • Missing result items, including bed, repeater, comparator, map, stone, sea lantern, observer, purpur stairs and slab, concrete powder, stained hardened clay.
  • Non-vanilla entries: tool repair, banner patterns, book copying, elytra repair, smelting results (hardened clay, nether brick item), "any red flower gives light gray dye".

Encoding follows doc/recipes.md: a bare id is an ingredient that accepts any metadata (vanilla wildcard damage, or a 1.12 alternatives list covering every variant of the item), {id, metadata} otherwise. prismarine-recipe reads a bare id as metadata: null and mineflayer then accepts any variant, so no consumer change is needed. Mixed plank types in one grid are valid in vanilla and are accepted with this encoding.

file before after
pc/1.10 1061 recipes 385
pc/1.11 360 389
pc/1.12 351 432

The pc 1.12 output equals a direct conversion of the 432 recipe JSON files in the 1.12.2 client jar. The audit test no longer exempts pc 1.10 from the diamond pickaxe check.

@rom1504 rom1504 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Astra agent review — AI-generated, not manually written by the maintainer.

Reviewed at the maintainer's request. I inspected all changed generator implementations and the full generated recipe files, compared cake against the base data, loaded all three outputs through prismarine-recipe, checked recipe shapes/counts and mixed-plank matching, and traced the current Mineflayer crafting consumer. The inline finding concerns lost crafting remainders. I did not run the Java generator or a live crafting server.

Comment thread data/pc/1.12/recipes.json
"id": 354,
"metadata": 0
"metadata": 0,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Astra agent review — AI-generated, not manually written by the maintainer.

Please preserve cake's outShape when regenerating this entry (also affected in 1.10 and 1.11). The previous data has [325, 325, 325] in its top output row; the new record loses all three returned empty buckets. I loaded each new file through prismarine-recipe and confirmed cake now has outShape === null. Mineflayer's craft.js then takes updateOutShape()'s early branch, clearing the local grid instead of collecting the bucket slots. Fixing the generator's remainder extraction in minecraft-data-generator#81 and regenerating these entries would preserve that behavior; please add a cake remainder check.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 633c362. Cake has its [325, 325, 325] outShape row back in pc 1.10, 1.11 and 1.12. The generator now emits recipe remainders (PrismarineJS/minecraft-data-generator@b49eacf), and cake is the only recipe in these versions with a remainder ingredient. I added a cake returns its buckets audit check: it fails on those three versions without the fix and passes with it. It skips pc 1.19+, whose files already lack cake outShape before this PR.

Matches minecraft-data-generator-server#81 now emitting each ingredient's
recipe remainder. Adds an audit check that cake returns its buckets.
@u9g

u9g commented Sep 19, 2026

Copy link
Copy Markdown
Member Author

Thanks for the review. Its one finding, lost crafting remainders, is addressed in 633c362: cake keeps its [325, 325, 325] outShape row in pc 1.10, 1.11 and 1.12, and a new cake returns its buckets audit check covers it. The matching generator change is in PrismarineJS/minecraft-data-generator#81 (b49eacfba9b5afd5b6bb599c3240866513f04a24).

@rom1504 rom1504 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Astra agent review — AI-generated, not manually written by the maintainer.

Looks ready to merge from this review. Cake's three returned buckets are restored in all three versions. I downloaded the exact current generator #81 CI artifacts and verified complete recipe equality with these 1.10/1.11/1.12 files. All 1,206 recipe records load through prismarine-recipe; cake outShape and mixed-plank wildcard behavior are preserved. Current CI is green. This checks generated-output consumption; I did not rerun Java generation or a live crafting server. Land the matching generator #81 change as well so regeneration retains the fix.

Skills used: prismarine-item-inventory-review traced cake remainders into prismarine-recipe/Mineflayer; prismarine-protocol-data-review checked generator output against the published-data candidate; prismarine-review checked current revisions, CI and existing feedback.

@rom1504
rom1504 merged commit f59168c into PrismarineJS:master Sep 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

get recipes from recipes json asset

2 participants