Skip to content

fix: start slaughtered roasts whole, then bone after the meat - #39

Merged
Drefvelin merged 1 commit into
mainfrom
fix/slaughter-roast-portions
Sep 24, 2026
Merged

Drefvelin merged 1 commit into
mainfrom
fix/slaughter-roast-portions

Conversation

@Drefvelin

@Drefvelin Drefvelin commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Slaughter no longer skips to the bone cut when genetics are low. The roast starts on the full model and steps toward the bone as its own cuts are taken.
  • Pork, beef, and the other red-meat roasts always yield at least one meat cut, then bone. Chickens always yield two legs and one filet, then bone. Higher genetics add more meat from the front of the sequence, still closing on bone.
  • Roasts already sitting in inventories keep their old carve index. The next slaughter uses the new portions.

Documentation impact

Contract

  • Affected behavior: owned mature animals drop a whole roast whose meat count comes from effective genetics, floored by min-roast-cuts and the sequence min-food-cuts (poultry 3). The last carve is the bone. The model starts at stage 1 and reaches the last stage when only bone is left.
  • Tests run (mvn test, or why not): mvn -Dtest=RoastPortionTest,PortionRulesTest,CarveSequenceLoaderTest test
  • Player wiki (ProvinceSystem /wiki/cooking or related pages): no change

Notes

  • Config source is src/main/resources. Do not edit target/.
  • plugin.yml version and pom.xml version are known drift. Do not mix a version bump into unrelated work.
  • cookware.yml is not loaded.
  • Older carve-sequences.yml files without min-food-cuts still floor poultry at 3.

Made with Cursor

Summary by CodeRabbit

  • Bug Fixes
    • Improved roast portioning to respect minimum meat yields and available cuts, while accounting for the closing bone.
    • Updated carving stages to better reflect remaining meat and bones as a roast is carved.
    • Set minimum portions to two legs and one filet for poultry, and one steak for red meat.

Low genetics skipped to the last carve step, so the drop was only bone. Roasts now begin on the full model, keep a meat floor (one cut, or two legs and a filet for poultry), and close on the bone.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Sep 24, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: f2abbf97-b068-4e4f-a9c4-6dc453c1c057

📥 Commits

Reviewing files that changed from the base of the PR and between 8252cdd and 5cb6428.

📒 Files selected for processing (8)
  • src/main/java/net/tfminecraft/cooking/carve/CarvableRoastUtils.java
  • src/main/java/net/tfminecraft/cooking/carve/CarveSequence.java
  • src/main/java/net/tfminecraft/cooking/husbandry/HusbandryHarvest.java
  • src/main/java/net/tfminecraft/cooking/loader/CarveSequenceLoader.java
  • src/main/resources/carve-sequences.yml
  • src/main/resources/husbandry.yml
  • src/test/java/net/tfminecraft/cooking/item/RoastPortionTest.java
  • src/test/java/net/tfminecraft/cooking/loader/CarveSequenceLoaderTest.java
 ____________________________________________________________________________________
< Half-Life 3 could have been released by now, but I'm too busy reviewing your code. >
 ------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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

@Drefvelin
Drefvelin merged commit 49dbdd0 into main Sep 24, 2026
1 of 2 checks passed
@Drefvelin
Drefvelin deleted the fix/slaughter-roast-portions branch September 24, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant