Skip to content

feat: slice loaves on stations, with slices that keep what the loaf was - #97

Merged
JustinasLa merged 1 commit into
mainfrom
feat/recipe-yield-inherit
Oct 29, 2026
Merged

JustinasLa merged 1 commit into
mainfrom
feat/recipe-yield-inherit

Conversation

@JustinasLa

Copy link
Copy Markdown
Contributor

The code behind bread slicing on the cutting board, tested on Dev.

Changes

  • yield recipe option: outputs per recipe unit. One loaf gives 4 slices.
  • inherit recipe option: the output keeps the input's origin, fillers (Banana) and tags (Sweet, Cooked, age) that its output line doesn't set. A Sweet Banana Bread gives Sweet Banana Bread Slices. An inheriting recipe cuts each input in its own slot, so a banana loaf and a plain loaf on one board each give their own slices.
  • Furniture models on any station: a result now shows its display.furniture model on every station, not only fill stations. The cutting board uses this to draw the slices fallen over where the loaf was.
  • Taking food out of a station:
    • The item gets its in-hand look back.
    • It goes into the inventory through the same merge as a pickup, so it stacks with the same food made at another time. Before, slices from two different cuts never stacked.
    • A broken station drops its items with their normal look.
  • Names with {prefixes}/{fillers}: these used to stay as raw text when an item was built from a plain template (/cooking builditem, station outputs). They are now filled from the food's tags and ingredients.

The new keys are documented at the top of src/main/resources/crafting-stations.yml.

Tests

mvn -o -B clean verify: 1273 tests pass and line coverage is still 100%. New tests:

  • anInheritingRecipeCutsEachLoafWhereItLiesAndItsSlicesStayWhatThatLoafWas
  • foodTakenFromAStationGoesOntoTheSameFoodInTheInventoryLikeAPickup
  • composedNamesAreFilledInFromTheFoodsIngredientsWhenBuiltFromAPlainTemplate

🤖 Generated with Claude Code

- Recipe options yield (outputs per unit: a loaf gives 4 slices) and
  inherit (the output keeps the input's origin, fillers and tags). An
  inheriting recipe cuts each input where it lies, so two different
  loaves on one board each give their own slices.
- A station's result shows its display.furniture model on any station,
  not only fill stations (slices fallen over on the cutting board).
- Food taken out of a station looks as it does in hand and goes into the
  inventory like a pickup, onto a stack of the same food made at another
  time; a broken station drops its items with their normal look.
- ItemBuilder fills {prefixes}/{fillers} names from the food's tags and
  ingredients when building from a plain template (builditem, stations).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 29, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d6988571-3b7a-4dd0-944f-d79f36a6c81f
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the size:L 100-499 effective changed lines (tests excluded in mixed PRs). label Oct 29, 2026
@JustinasLa
JustinasLa merged commit 50d78a2 into main Oct 29, 2026
3 checks passed
@JustinasLa
JustinasLa deleted the feat/recipe-yield-inherit branch October 29, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant