Repository navigation
feat: pour BreweryX brews into the saucepan as its liquid - #89
Conversation
A finished alcoholic brew now replaces the water or milk, so both add-in slots stay free for a wine reduction with salt and pepper. Brewery's quality (1-10, half stars) becomes the brew's 1-5 stars with half stars rounded up, the recipe name leads the sauce's name, the recipe colour tints it, and the sauce gets a new Reduced tag (+10% food and nutrition). Non-alcoholic brews are refused, the bottle comes back, and the brew survives a chunk reload. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Brew identification and conversion src/main/java/net/tfminecraft/cooking/brewery/BrewLiquid.java, src/main/java/net/tfminecraft/cooking/brewery/BrewLiquidReader.java, src/test/java/net/tfminecraft/cooking/brewery/BrewLiquidTest.java |
Adds brew data and BreweryX reading. The reader derives the name, star rating, colour, and alcoholic status. Tests cover conversion and null cases. |
Reader registration lifecycle src/main/java/net/tfminecraft/cooking/brewery/BreweryIngredientListener.java, src/test/java/net/tfminecraft/cooking/brewery/BreweryIngredientTest.java |
Registers the brew reader after event registration. Cleanup clears the reader, and a test checks that BreweryApi lookups stop after cleanup. |
Saucepan brew handling and persistence src/main/java/net/tfminecraft/cooking/cooking/SauceReference.java, src/main/resources/tags.yml, src/test/java/net/tfminecraft/cooking/cooking/SauceReferenceBrewTest.java |
Accepts alcoholic brews as saucepan liquids, records their composition and colour, and saves and restores brew data. Adds the reduced state and tests for pouring, refusal cases, serving, and reconstruction. |
Priority:
Estimated code review effort: 3 (Moderate) | ~20 minutes
Change: Feature
Sequence Diagram(s)
sequenceDiagram
participant PotionItem
participant BrewLiquid
participant SauceReference
participant Furniture
PotionItem->>BrewLiquid: from(item)
BrewLiquid-->>SauceReference: recognised brew or null
SauceReference->>Furniture: occupy liquid slot and save brew data
SauceReference->>PotionItem: consume brew and retain glass bottle
Possibly related PRs
- TF-Minecraft/Cooking#87: Defines the held-stack helpers used when pouring a brew and scooping sauce.
- TF-Minecraft/Cooking#86: Defines the plated-sauce colour fallback used when a brew has no colour.
Suggested labels: size:M
Suggested reviewers: xxfran10xx
Merge Risk: 
Minimal · up to c1b22
-
The change is mergeable. Existing installations need the documented tag update to receive the reduced bonus.
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.
Comment @coderabbitai help to get the list of available commands.
The saucepan accepted an
alcoholcategory, but nothing on the server produced it, so real BreweryX brews were refused. A finished alcoholic brew can now be poured into an empty saucepan as its liquid, in place of water or milk.tags.yml).BreweryX stays optional: the reader is installed by the existing Brewery bridge and cleared when BreweryX disables.
Server:
reducedmust be added to the liveplugins/Cooking/tags.yml. Without it, brew sauces still work but get no bonus.mvn verifypasses locally with the line-coverage check.🤖 Generated with Claude Code