Repository navigation
fix: keep slot display data when placing carried furniture - #30
Conversation
Placing a carried piece reset every slot to its default transform. A plugin's per-slot display data was lost, so a half-eaten pot of soup refilled to the brim and its hidden mashed pieces showed again. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
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 (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthrough
ChangesPlacement display reset
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~8 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to Placement now preserves each active slot’s display data when recalculating its position and transformation. No concrete merge-blocking risk is evident; the change appears ready for normal checks. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to Placing furniture now keeps its slot appearance instead of resetting it. The reviewed placement path does not appear to grant players new authority. Reload behavior is separate from this fix and remains a limitation. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
A rabbit checks each display slot, Comment |
|
Tested on TFMCDev01 with both fix jars (Cooking #54 + InteractibleFurniture #30), mineflayer bot
No Cooking/InteractibleFurniture errors in latest.log. |
Bug
Part of the soup-pot bug report (Hashi): picking up a half-eaten pot of soup and putting it down refills it.
Cause
Furniture.setFromDisplay(placing a carried piece) rebuilt every slot's location and transformation withnulldisplay data. Any per-slot display data a plugin had applied was thrown away. For the Cooking pot that is the lowered soup level and the hidden (scale 0) mashed pieces, so the liquid jumped back to full and the pieces showed again. The carry itself already kept the data (followParentTransformusesgetCurrentDisplayData()); only the final placement reset it.Fix
Use
slot.getCurrentDisplayData()when re-seating the slots after placement.Companion: TF-Minecraft/Cooking#54 (the pot losing its soup on chunk reload).
Testing
mvn clean verifypasses locally.🤖 Generated with Claude Code
Summary by CodeRabbit