Repository navigation
fix: give milk and water-only sauces a plated splash - #86
Conversation
Pouring a milk sauce on a plate showed the saucepan's milk surface: a full-width sheet of liquid floating over the food, because sauce-dict's plated entry for ffffff pointed at the station model. Water-only sauces had the same problem through liquid-fallback. Add milk_plated and water_plated to the cooking pack (the station texture cut with the shared splash mask, like the other plated sauces), point milk's plated entry at it, and give plates their own plated-liquid-fallback. A test checks that every bundled sauce has a distinct plated model that exists in the bundled pack. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@coderabbitai review |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Bundle plated liquid visuals ItemsAdder/tfmc_cooking/contents/items.yml, ItemsAdder/tfmc_cooking/resourcepack/assets/tfmc_cooking/models/item/liquid/*_plated.json, ItemsAdder/tfmc_cooking/resourcepack/assets/tfmc_cooking/textures/item/liquid/*_plated.png.mcmeta, src/main/resources/config.yml, src/test/java/net/tfminecraft/cooking/cache/BundledSauceVisualsTest.java |
The resource pack defines plated milk and water items, models, and animation metadata. The milk sauce mapping points to milk_plated. Tests check that configured sauce visuals and fallbacks resolve to bundled pack items. |
| Layer / File(s) | Summary |
|---|---|
Select plated sauce paths src/main/java/net/tfminecraft/cooking/cache/ItemCache.java, src/main/java/net/tfminecraft/cooking/loader/ConfigLoader.java, src/main/java/net/tfminecraft/cooking/cache/CategoryDictionary.java, src/main/java/net/tfminecraft/cooking/manager/PlateManager.java, src/main/resources/config.yml, src/test/java/net/tfminecraft/cooking/cache/CachesCoverageTest.java, src/test/java/net/tfminecraft/cooking/cache/SauceColourTest.java |
Configuration loads a separate plated-liquid fallback. Plated sauce lookups use it when colour or sauce-path data is unavailable, and PlateManager requests plated paths using CategoryDictionary.PLATED. Tests cover fallback and sauce-colour lookups. |
Priority:
Estimated code review effort: 2 (Simple) | ~12 minutes
Change: Bug fix
Sequence Diagram(s)
sequenceDiagram
participant ConfigLoader
participant ItemCache
participant PlateManager
participant CategoryDictionary
ConfigLoader->>ItemCache: Load plated-liquid-fallback
PlateManager->>CategoryDictionary: Request sauce path with PLATED
CategoryDictionary->>ItemCache: Read platedLiquidFallback when needed
CategoryDictionary-->>PlateManager: Return selected sauce path
Suggested reviewers: ryanbarlow97, carolinebondhus
Merge Risk: 
Minimal · up to 6ad5c
-
No actionable issue is established for the plated liquid visuals. The documented pack and configuration updates remain necessary for deployment.
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.
✅ Action performed
|
Problem
Roslyn ladled a plain milk sauce onto a plate of peaches and got a flat white sheet floating over the whole plate.
sauce-dictmaps each sauce colour tostation model|plated model. Milk's entry wasia.tfmc_cooking:milk|ia.tfmc_cooking:milk, so the plate got the saucepan's liquid surface (a 16×16 plane raised 3 px) instead of a splash. A water-only sauce has the same problem: it has no colour, so the plate fell back toliquid-fallback, which is the saucepan's water surface. This has been there since the pack was first imported.The food itself was fine. The peaches got the sauce, its name and its creamy tag; only the plate visual was wrong.
Changes
milk_platedandwater_plateditems, models and textures inItemsAdder/tfmc_cooking. They are built like the other plated sauces: the plated model's flat plane, and the station liquid texture cut with the same splash mask.milk_plated. The newplated-liquid-fallback: ia.tfmc_cooking:water_platedis used when a plate needs a fallback, andliquid-fallbackstays for stations. The code defaults towater_platedwhen the key is missing.CategoryDictionary.getSauceItemPathpicks the fallback that matches the index (PLATED= 1).PlateManageruses the constant.BundledSauceVisualsTestchecks that every bundledsauce-dictentry has its own_platedmodel, that both fallbacks fit their furniture, and that every model and texture exists in the bundled pack.SauceColourTestandCachesCoverageTestcover the plated fallback.Testing
mvn clean verify: 1235 tests pass and the coverage gate holds.iazip), the pack built with both new models and no diagnostics for them. The bot test (~/plated-test/test.js, TestChar1) passed all 15 checks:milk_plated(notmilk); the saucepan still shows the milk surface; the ladle stores#ffffffwater_platedbrown_dark_plated)Deploying
Cooking never rewrites existing configs, so each server needs:
items.ymlentriesplated-liquid-fallbackline inCooking/config.ymlThen
iazip, or clients get a tropical fish where the splash should be.🤖 Generated with Claude Code