Skip to content

feat: toss salads in a placed bowl and eat them from it - #107

Merged
JustinasLa merged 7 commits into
mainfrom
feat/salads
Oct 31, 2026
Merged

JustinasLa merged 7 commits into
mainfrom
feat/salads

Conversation

@JustinasLa

Copy link
Copy Markdown
Contributor

Summary

Salads, tossed in a placed bowl and eaten from it (new salads.yml):

  1. Right-click an empty bowl with ingredients (chopped or cut veg, fruit, cheese, meat): each shows in the bowl's input_N slots, up to max-ingredients (default 5).
  2. Dressings (olive oil, vinegar; you keep the bottle) and seasonings (salt, pepper, spices) go in unseen, up to max-extras (default 3), each origin once, one dressing.
  3. Sneaking with an empty hand takes back what went in last.
  4. An empty-hand right-click tosses the salad (at least min-ingredients, default 2). It stays in the bowl's food_item slot, hidden under the ingredients, and is eaten from the bowl like soup (BowlEatHandler). It can't be taken out.
  • The salad itself:
  • Kinds (kinds: in salads.yml, SaladKind): Fruit, Greek, Carrot or Mixed, by rules on its layers and origins (layers, only, origins, any-origin, mostly). The kind becomes the salad's origin, so types.yml overrides give each kind its look.
  • Bonuses (bonuses:, the dish bonuses from feat: give sandwiches and pizzas bonuses from their layers #105): Hearty/Loaded by ingredient count, Dressed, Seasoned/Well Seasoned and Crisp (new fresh: true rule: everything still Fresh). New tags.yml tracks dressed and crisp.
  • Bowls:
    • A bowl with an untossed salad refuses soup.
    • A broken bowl drops what hasn't been tossed. A tossed salad goes with the bowl, like soup.

The salad food type, its four looks and the ItemsAdder icons are server config (Dev only so far), like sandwiches and pizzas.

Documentation impact

  • Central Cooking documentation: no change. salads.yml documents its keys, and the README lists the feature.

Contract

  • Affected behaviour:
    • Right-clicking a placed bowl with salad ingredients, dressings or seasonings, or with an empty hand while it holds them.
    • Ladling soup into a bowl that holds an untossed salad is now refused.
  • Tests run: mvn -o -B clean verify; all tests pass and line coverage is still 100%. New SaladCoverageTest; DishBonusTest, MealManagersCoverageTest and CommandManagerCoverageTest cover the rest.
  • Tested on Dev: deployed on Dev since 2026-10-31; not confirmed in game yet.
  • Player wiki (ProvinceSystem /wiki/cooking or related pages): no change.

🤖 Generated with Claude Code

JustinasLa and others added 7 commits October 29, 2026 19:14
…r own ageing

Each topping looks for a model laid out for its place among the toppings
(_t1 for the second), so models can give each place its own spots and
toppings never lie in each other, whatever they are. The dough is 0.5
thick, so the sauce and toppings lie on its flat middle inside the crust.

Pizzas and sandwiches keep only the ageing tracks their own type ages on:
a pizza slice took its cheese's ripening as well as its freshness, both
"Fresh" and both raising its nutrition.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A placed bowl takes salad ingredients (chopped or cooked veg, fruit, cheese,
meat), shown in its input slots, and unseen dressings and seasonings. An
empty-hand right-click tosses the salad, which stays in the bowl until it's
eaten there; sneaking with an empty hand takes back what went in last. The
salad's kind (salads.yml kinds: Fruit, Greek, Carrot, Mixed) sets its origin
for its look, and it earns Hearty or Loaded, Dressed, Seasoned and Crisp.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	src/main/java/net/tfminecraft/cooking/Cooking.java
…zzas

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

coderabbitai Bot commented Oct 31, 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: ffa8cdee-b20c-46ca-86ee-fd77b9372a37
  • 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

@github-actions github-actions Bot added the size:XL 500-999 effective changed lines (tests excluded in mixed PRs). label Oct 31, 2026
@JustinasLa
JustinasLa merged commit 700b6c5 into main Oct 31, 2026
3 checks passed
@JustinasLa
JustinasLa deleted the feat/salads branch October 31, 2026 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant