Fix train overruns at outer axle track ends - #43
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; 8 remain after this review. 📝 WalkthroughWalkthroughTrain placement now records missing rail support at bogie and configured wheel-bone positions. Movement checks reject steps that increase missing wheel support. Tests cover track ends, overhang recovery, scaled axle bones, loop seams, branch tips, and junctions. ChangesTrain Track-End Support
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The track-end checks have no identified merge-blocking issue. In-game validation remains advisable but is not evidence of a defect. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change adds a movement safeguard without an identified new security attack path. Its axle-level protection depends on matching vehicle configuration and available model bones, so some deployments may retain weaker track-end checks. Retained concerns
Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 30 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
A rabbit checks the rails ahead, Comment |
|
Reviewed the final-head approval and advisory comments. There are no inline findings or unresolved review threads. The rollout will install the matching four vehicle YAML files from TF-Minecraft/ServerAssets#23 together with the plugin, and verify their axle bone references and installed hashes. Missing-model fallback remains intentional for unloaded models; the README documents the weaker legacy fallback. Additional runtime diagnostics and broad docstring coverage are deferred beyond this regression fix. Validation: all 593 local tests and clean verification passed; the final-head GitHub build passed. In-game wheel behavior still needs a player check after deployment. |
|
Published VehicleFramework 2.4.1 from merged commit a8625f6. Release verification passed all 593 tests; artifact commit, embedded version and SHA-256 verified. Installed the JAR, five matching train configs (ServerAssets #23 and #25), and the flatbed wheel-animation correction (ServerAssets #26) on dev and main, with verified backups. Dev restarted and enabled 2.4.1 successfully; Paper finished startup and status responds. Main was not restarted or reloaded, its Paper process stayed unchanged, and status responds; files activate at its next restart. No new startup error/warning categories versus baseline. In-game driving and wheel-direction confirmation remains to be done. |
Trains could overrun an open track end because stopping checks used each carriage centre while bogie poses extrapolated beyond the rails. Check the configured outer axle bones, including model scale, before accepting movement; stop the whole consist and reset speed/throttle when a step loses rail support.
Cars already overhanging can move back onto the track. Loop seams and connected junctions remain traversable, including wheels entering a thrown turnout before the carriage centre. Configurations without
wheel-bonescheck bogie pivots when available and retain centre checks for rigid cars.Companion configuration PR: https://github.com/TF-Minecraft/ServerAssets/pull/23. Requires the matching ServerAssets train YAML to check the outer axles on the stock locomotive, coal car, passenger car, and flat car. Existing server configurations are not overwritten by the plugin.
Validation:
mvn -o -q clean verifypassed, with 593 tests and no failures/errors. Regression coverage includes forward/reverse overrun at low and high speeds, the last coupled car, repeated pressure against the track end, recovery, scaled models, loops, branch tips, and junction entry. Six regression cases failed before the fix. In-game validation has not been performed.Summary by CodeRabbit