Blasted Swimming Tarred Bug Fix
Fixes stale swimming and tar state, LiquidVolume lifetime, ZNetScene cleanup, Character and StatusEffect teardown, EnemyHud cleanup, and optional MagicPlugin projectile, teleport, registry, and cosmet
截圖 共 1 張
模組介紹 作者原文
BlastedSwimmingTarredBugFix
Defensive runtime fixes for stale liquid state, scene and Character lifecycle cleanup, optional MagicPlugin interoperability, and Korean names in the F2 player list.
The current source targets Valheim 1.0.12. Build with the original 1.0.12 game
assemblies; it does not include an older-game compatibility path.
What It Fixes
- Random swimming while nowhere near water.
- Random tarred state after leaving a Plains tar pit.
- Portal, dungeon, or scene transitions leaving old liquid state behind.
- Carts or floating objects keeping water/tar state after a missed trigger exit.
- Unconditional disposal of unallocated LiquidVolume raycast arrays.
- Scene cleanup failing on missing, destroyed, or mismatched ZNetView data.
- Malformed StatusEffect start effects interrupting Character destruction.
- Character registry and EnemyHud entries surviving incomplete destruction.
- MagicPlugin projectile patches repeatedly registering configuration handlers.
- MagicPlugin summon teleport and Character registry patches reading destroyed or
incomplete objects.
- MagicPlugin Flame, Thunder, and Arctic staff launch cosmetics, Thunder/Arctic
projectile impacts, and shared iceblock destruction creating short-lived peer-owned ZDOs.
- MagicPlugin Ice Scepter Nova rings leaving cosmetic network objects without a
destruction path.
- Korean character names rendering as missing glyphs in the F2 player list when
its assigned TMP font does not include Hangul.
How It Works
Liquid and scene protection
- Rejects stale positive liquid updates when the source no longer overlaps the target.
- Removes stale entries from WaterVolume and LiquidSurface before floater updates.
- Clamps water/tar counters so missed exits cannot drive them below zero.
- Clears purged state only when no current liquid trigger overlaps the target.
- Clears player liquid state after a teleport successfully starts.
- Guards LiquidVolume raycast array disposal with IsCreated. Valheim 1.0.7
and 1.0.12 already use Allocator.Persistent, so their allocation code is left intact.
- Cleans invalid or mismatched ZNetScene entries without dereferencing destroyed views.
Character lifecycle protection
- Safely tears down StatusEffect start effects with missing or invalid ZNetView components.
- Repairs Character registry and EnemyHud bookkeeping when Character.OnDestroy is
incomplete or throws.
- Prunes tracked creature-removal state after scene teardown.
Optional MagicPlugin interoperability
When MagicPlugin is installed, each compatible fix is enabled independently only
after its expected types, methods, fields, Harmony patch, and cosmetic prefab graph
are validated:
- Replaces the affected Attack.FireProjectileBurst prefix with a guarded implementation.
- Moves valid followed summons only after a player teleport succeeds.
- Removes destroyed Characters before MagicPlugin reads the global registry.
- On MagicPlugin 2.1.9 and later, probes each supported prefab graph once per scene
and enables only the cosmetic paths whose full suppression/replay structure still matches.
- Keeps gameplay projectiles, Nova AOE, and Arctic iceblocks networked while
replaying compatible Flame/Thunder/Arctic launch and impact cosmetics locally.
- Tags existing Staff projectile ZDOs so Flame and Lightning Wands that share those
projectile prefabs do not receive Staff-only launch effects.
- Replays Ice Scepter Nova rings locally from the networked Nova AOE and gives
each ring the same explicit lifetime as that AOE.
Valheim 1.0.7 and 1.0.12 effects with an explicit gamepad recipient keep their original
network objects so the recipient metadata is preserved. Piercing projectiles
that only stop on terrain also retain their original impact effect path, since
intermediate hits do not send the completion RPC required for cosmetic replay.
The current contract checks were also verified against MagicPlugin 2.2.0.
MagicPlugin is optional and is not a package dependency.
F2 playe
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: