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 Mod Manager.
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: