SledgeMajsterLateFix
Fixes balrond_sledgemajster not detecting Arsenal Reborn sledges due to load order timing. Applies the same battleaxe-swing primary / AoE-slam secondary swap to late-registered sledge weapons. Server-
模組介紹 作者原文
SledgeMajsterLateFix
A lightweight companion patch for balrond_sledgemajster that extends its battleaxe-swing attack swap to sledge weapons registered by late-loading mods like balrond_arsenal_reborn.
The Problem
If you run both balrond_sledgemajster and balrond_arsenal_reborn, you'll notice that only vanilla sledges (Stagbreaker, Iron Sledge, Demolisher) get the attack swap. Arsenal Reborn's sledges — SledgeStone, SledgeBlackmetal, SledgeSilver, SledgeFlametal, SledgeFrosteel, SledgeDarksteel, SledgeStagbreakerNEW, and SledgeAwakened — are left untouched.
This happens because of a load-order timing issue:
- balrond_sledgemajster scans for sledge weapons at ZNetScene.Awake (an early Unity lifecycle event)
- balrond_arsenal_reborn registers its weapons later via Jotunn's item system
- By the time Arsenal Reborn's sledges exist in the prefab database, sledgemajster's scan has already finished
The weapons have the correct naming (SledgeStone_bal, etc.) and would pass the detection check — they simply don't exist yet when the check runs.
The Fix
This plugin waits for the world to fully initialize, then performs a second scan that catches everything sledgemajster missed:
- Uses SledgeIron (already processed by sledgemajster) as a reference template
- Scans both m_prefabs and m_namedPrefabs for any sledge-named weapon that wasn't processed
- Moves the original AoE ground slam to the secondary attack (middle click)
- Clones the battleaxe-style swing as the new primary attack (left click)
- Logs each patched weapon to BepInEx/LogOutput.log for verification
After installation, check your log for:
[Info] SledgeMajster Late Fix complete: patched 8 additional sledge(s)
Installation
- Install Mod Manager (recommended) or manually place SledgeMajsterLateFix.dll into BepInEx/plugins/
- Required on both server AND all clients — attack definitions are loaded locally on each machine. This is now hard-enforced: the mod uses Jötunn's NetworkCompatibility (EveryoneMustHaveMod, Minor strictness), so any client missing the mod or on a mismatched major.minor version is rejected at the connection handshake with an error screen.
- No configuration needed — the plugin is fully automatic
Compatibility
- Required: BepInEx 5.4+, balrond_sledgemajster 1.0.3+
- Designed for: balrond_arsenal_reborn (but works with any mod that registers sledge weapons with "Sledge" in the prefab name via Jotunn or late registration)
- Skips weapons already processed by sledgemajster — no double-processing, no conflicts
- Does not modify sledgemajster's code or behavior in any way
Technical Details
- Hooks: None (uses a delayed coroutine, not Harmony patches)
- Timing: Waits 8 seconds after ZNetScene initialization for all mods to finish registering items
- Detection: Matches prefab names containing "Sledge" (case-sensitive, excluding "Anchor"), same logic as sledgemajster
- Attack cloning: Uses MemberwiseClone on the reference attack for a faithful shallow copy
Attributions
- balrond_sledgemajster by Balrond — the original sledge attack-swap mod that this patch extends
- balrond_arsenal_reborn by Balrond — adds the Arsenal Reborn sledge weapons that this fix targets
- BepInEx by BepInEx Team — the modding framework
- Jotunn by ValheimModding — the Valheim library framework used by Arsenal Reborn for item registration
Source Code
GitHub Repository
Licensed for free use. If Balrond updates sledgemajster to scan at a later lifecycle event, this patch becomes unnecessary and can be safely removed.
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: