Skip to content

feat: per-origin fill layers, fresh outputs and kept results in crafting stations - #95

Merged
JustinasLa merged 1 commit into
mainfrom
feat/station-layers-and-output-age
Oct 29, 2026
Merged

JustinasLa merged 1 commit into
mainfrom
feat/station-layers-and-output-age

Conversation

@JustinasLa

Copy link
Copy Markdown
Contributor

Crafting station changes behind the cheese ripening and the new juicer (jam and paste), both tested on Dev.

Changes

  • keep-output-age (recipe option): the output keeps the age tags from its output line instead of averaging the ingredients' age. The cheese press uses it so a new cheese starts at cheese_age.0, whatever the milk's age.
  • fill-models layers: the n-th input shows the n-th model and the layers stack. Before, every input drew the same model in the same place, and the copies flickered (z-fighting) once there was more than one input.
  • {origin} in fill models: replaced by the input's origin in lower case with _ for spaces (Melon Slice becomes melon_slice). The juicer uses it to show a pile of each fruit.
  • Finished items stay put: craft() now counts and consumes only items the current recipe accepts. Before, a cheese left in the press next to one cup of milk was used up as the second ingredient.
  • The "can't go back" message for poured inputs no longer tells players to use the masher.

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

Tests

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

  • aFinishedItemLeftInTheStationIsNotUsedAsAnIngredient
  • fillModelsCanNameTheInputsOriginSoEachFruitGetsItsOwnPile
  • keepOutputAgeStartsTheOutputFreshInsteadOfAveragingTheIngredientsAge

🤖 Generated with Claude Code

…ing stations

- keep-output-age: a recipe's output keeps the age tags of its output line
  instead of averaging the ingredients' age (a new cheese starts fresh).
- fill-models: each input draws its own layer and the layers stack, so
  identical copies no longer overlap and flicker. {origin} in a model name
  is replaced by the input's origin (melon_slice), for per-fruit piles.
- A finished item left in a station (a cheese, a jar of jam) is no longer
  used as an ingredient by the next press.
- The poured-input message no longer mentions the masher.

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: 80f03504-6fb3-4f29-a2e4-0def189c6224
  • 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:M 30-99 effective changed lines (tests excluded in mixed PRs). label Oct 29, 2026
@JustinasLa
JustinasLa merged commit a644e3d into main Oct 29, 2026
3 checks passed
@JustinasLa
JustinasLa deleted the feat/station-layers-and-output-age branch October 29, 2026 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant