CartWeightFix
Restores vanilla weight-based drag to player-pulled carts. Fixes OdinHorse side effect where all carts ignore item weight. Server-enforced: every connecting client must have this mod.CartWeightFix
Restores vanilla weight-based drag to player-pulled carts.
The Problem
OdinHorse replaces Vagon.FixedUpdate with a Harmony Prefix (returns false) to support horse-drawn cart attachment. A side effect is that UpdateMass() — the method that sets cart Rigidbody mass from container item weight — never runs. This means all carts (vanilla and horse-drawn) ignore item weight entirely. A cart loaded with 1200 weight moves as if empty.
The Fix
CartWeightFix adds a Harmony Postfix to Vagon.FixedUpdate that re-invokes UpdateMass() for player-pulled and idle carts. Horse-pulled carts are detected (via Tameable component on the connected Rigidbody) and left alone so OdinHorse's physics still govern them.
- Player-pulled cart: weight-based drag restored (vanilla behavior)
- Horse-pulled cart: unchanged (OdinHorse governs speed)
- Idle cart: correct mass for physics interactions
Compatibility
- Requires BepInEx (included in BepInExPack Valheim)
- Requires Jötunn (for the server-side enforcement handshake)
- Soft-dependency on OdinHorse — works with or without it. Without OdinHorse the vanilla FixedUpdate runs normally and this plugin is a harmless no-op.
Server enforcement
This mod uses Jötunn's NetworkCompatibility at level EveryoneMustHaveMod with Minor version strictness. When it runs on a dedicated server, every connecting client must also have CartWeightFix installed at a matching major.minor version — clients that are missing the mod or on a mismatched version are rejected at the connection handshake with an error screen. This guarantees the cart-weight rule is enforced for everyone on the server, since cart physics are evaluated client-side.
Installation
Drop CartWeightFix.dll into BepInEx/plugins/ or install via Thunderstore Mod Manager.
