fix: preserve player-kept horses on chunk load - #56
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe load listener now treats tamed, named, or saddled horses as player-kept mounts. It applies persistence flags to these mounts when they have no repository row. New tests cover horse, llama, and cow load scenarios. ChangesMount Persistence
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to No actionable issue remains in this review; the change is ready for normal merge checks. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change intentionally preserves player-kept mounts without granting them Cooking ownership or mount-access privileges. No security issue was verified. Residual risk depends on who can mark mounts as kept and whether large numbers of retained mounts affect the server. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Description checkExplanation The description explains the problem, fix, behavior impact, validation results, and deployment testing. It does not follow the repository template because it omits the required Summary, Documentation impact, Contract, and Notes sections, including the affected behavior and Player wiki fields. Resolution Restructure the description using the repository template. Add the Summary, Documentation impact, Contract, and Notes sections. State the affected behavior, documentation status, Player wiki status, and any relevant configuration notes. Preserve the existing test and deployment validation details under the appropriate sections.
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
A rabbit watches horses stay, Comment |
* fix: keep only Cooking-owned horses and explain claiming Revert the #56 load exemption: vanilla-tamed, named or saddled horses without a Cooking owner bypassed the max-animals cap. Unowned horses are removed on chunk load again, apart from enrolled wild mounts (unchanged). Players now get a hint when they tame or ride an unclaimed animal from the remove-unowned list: it will disappear unless claimed with a named Ownership Token, plus their owned/cap count or how to free a slot. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix: only warn about animals the cleanup would remove Riding enrolls horses, donkeys, mules and camels, and enrolled mounts survive the chunk-load cleanup without an owner, so the mount hint told players a horse would vanish when it would not. needsClaim now uses the cleanup's own rule. The tame hint no longer says to tame an animal that was just tamed (EntityTameEvent fires before taming). Wolves, cats and ocelots cannot be claimed, so they are no longer sent to the Ownership Token. The release instructions name the inspect menu's Remove ownership button, and removal is described as happening when the area next loads. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: XxFran10xX <318299142+XxFran10xX@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Ryan Barlow <7389646+ryanbarlow97@users.noreply.github.com>
Problem and fix
Cooking removed horses on chunk load when they had no Cooking owner or enrolled mount record, even if they were vanilla-tamed, named, or saddled. The live remove-unowned list includes horses.
Preserve tamed, named, or saddled AbstractHorse mounts and apply persistence flags even when no Cooking record exists. Existing enrollment, stats, ownership, and wild livestock cleanup remain in place. This prevents future removals; it does not restore previously lost entities.
Validation
mvn -B --no-transfer-progress clean verify: 254 tests passed.