Baka_Gaijin-CartWeightFix icon

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.

Last updated 5 days ago
Total downloads 216
Total rating 2 
Categories Server-side Client-side Vehicles Transportation AI Generated
Dependency string Baka_Gaijin-CartWeightFix-1.1.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2200 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2200
ValheimModding-Jotunn-2.29.0 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.29.0

README

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.