瓦尔海姆1兼容桥梁

创作者: Cygan
已更新:2026-09-19 02:58:44
0KB

关于此 MOD

BepInEx预加载器,为Valheim 1.0重新添加旧版API签名,使1.0之前的模组(Weedheim、WeedheimShip、Marketplace And Server NPCs)能够再次加载。内含一个用于Marketplace剩余两处IL修复的脚本。

瓦尔海姆1兼容桥梁

BepInEx 预加载补丁器 为《英灵神殿》1.0(Unity 6)打造。它添加了 老 方法重载、字段和接口默认值重新纳入 assembly_valheim.dll 在加载时,因此针对1.0之前版本编译的模组不会再崩溃,并显示 缺少方法异常, 缺少字段异常:ZRoutedRpc.Everybody, 类型加载异常:虚函数表设置失败 或 Harmony 未定义的目标方法. 未重新分发任何模组 DLL。

已在(客户端 + 专用服务器,BepInEx 5.4.2350)中测试:

模组 结果
MagicMike-Weedheim 2.0.4 加载并运行
MagicMike-魏德海姆飞船 1.0.2 加载并运行
KGvalheim-市场与服务器NPC全面革新 9.8.1 可加载并运行,附带 修复-公斤-市场.ps1 使用一次(见下文);NPC地图 右键点击 (fashion) 在1.0版本中没有对应功能且不起作用;物品栏网格中的幻化图标未刷新

安装

放在 补丁程序/瓦尔海姆1兼容桥接 文件夹放入 BepInEx/补丁程序/ 在客户端 和 在专用服务器上(r2modman / Thunderstore Mod Manager 会自动执行此操作)。查找 [Valheim1CompatBridges] 完成:N 座桥 在……里 BepInEx/LogOutput.log.

它连接的是什么

  • 背包已更新 → 已更改(假,假) (原名重命名为 已变更,游戏调用已重新路由,以便Harmony在后加 已更改 还在开火)
  • 所有人 静态字段
  • 物品栏网格.元素 包装类型(走, 位置镜像区域), 获取元素/获取悬停元素 过载返回空值 元素列表 m_elements_compat (故意地 不 已命名 元素在中间语言中,两个同名字段是合法的,但会使 AccessTools.Field(type, "m_elements") 投掷 发现不明确的匹配项,破坏注入的模组 __m_elements 通过反射实现,例如AzuExtendedPlayerInventory和AzuAutoStore)
  • 背包网格。唤醒() (调用自 启用时), 小地图.在地图上点击右键() 占位
  • 获取悬停偏移() 默认实现
  • 旧的以下函数重载: 角色.消息, 显示消息, 效果列表.创建, 添加状态效果 (×2), 获取物品提示, 可传送, 人形生物.可传送, 添加物品 (12 个参数), 终端.控制台命令 构造函数(12个参数), 终端控制台事件参数 构造器, 是否弹出 构造器, 高度图.戳一下(布尔值), 地形组件.保存(), 设置创作者(long), 设置装备物品(string, …) (预制体名称→哈希)

也要用市场吗?

市场有两个预加载器无法触及的损坏点,因为它们存在于模组自身的IL中:它的 Hud.UpdatePieceList 转译器硬编码了a的局部槽位12 碎片 《英灵神殿》1.0版本改到了13号(无效程序异常,建造菜单中缺少任务标记),并且它读取旧的 背包网格元素 来自IL的字段。该模组是闭源的,因此没有上游修复可供等待。每台机器针对你自己的DLL副本运行一次:

pwsh -File tools/fix-kg-marketplace.ps1 -Dll "<game>/BepInEx/plugins/KGvalheim-Marketplace/kg.Marketplace.dll" -Apply

它从你的 assembly_valheim.dll 与其信任硬编码的内容,不如使用一个幂等的方案,并且当预期的布局消失时拒绝猜测。保留原始 DLL,并在每次 Marketplace 更新后重新运行它。脚本位于仓库中,而不是这个包里。

来源,以及为什么这是一个新项目而不是拉取请求: https://github.com/PawelSzymanski89/Valheim1CompatBridges

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!