制图台地图限制

创作者: Neocor
已更新:2026-09-19 06:01:31
19KB

关于此 MOD

隐藏小地图和地图快捷键。世界地图只能通过使用制图台打开。已针对英灵神殿 1.0.x 重新构建。

制图台地图限制——已更新至英灵神殿 1.0.x

隐藏小地图和地图快捷键。世界地图只能通过使用 制图台从……重建 aedenthorn/ValheimMods 对抗英灵神殿 1.0.15 以及 BepInEx 5.4.23。

为什么原版停止工作了

原版中有两样东西在当前的 Valheim 中损坏了:

  1. 小地图实例 成为了一件财产。 它以前是一个公共静态字段。针对旧游戏编译的DLL仍然会查找一个 场地,所以插件抛出了 MissingFieldException 制图台被使用的那一刻。
  2. 地图切换功能已重写。 小地图.更新 现在会自动重新打开小地图(如果(m_mode == MapMode.None)则设置地图模式(MapMode.Small);并且将切换功能限制在 显示帧数 / 隐藏框架 之前不存在的计数器。原模组通过强制 无 并呼唤 设置激活(false) 在 更新 后缀。

此版本有哪些变化

该模组不再修补 小地图更新 完全。 小型根系 在游戏中被恰好两种方法触及(小地图.唤醒 和 设置小地图模式),所以一个单独的 设置地图模式 补丁涵盖所有内容,无需逐帧处理:

补丁 用途
小地图.设置地图模式 前缀 将任何开关重写为 大型地图模式 进入 小地图模式,除非制图台要求这么做。这就是地图快捷键被阻止的原因。
小地图.设置地图模式 后缀 保持 小型根节点 已停用,隐藏小地图。
地图桌.阅读时(开关,人形,物品数据) 后缀 打开大地图。这是绑定到该表格的三参数重载版本。 读取 切换——原版修补的是四参数的那个,它 写入时 同时也会触发呼叫,所以保存到表格时也打开了地图。
MapTable.OnRead(..., bool showMessage) 前缀 屏蔽“地图已同步”提示。
小地图.在地图上显示点位 前缀 停止 小地图.发现地点 当你找到首领石时,直接打开地图。

关闭功能仍然正常:在大地图打开时,按地图键和 退出 两条路线都经过 设置地图模式(地图模式.小型),前缀不处理这部分。

专用服务器 / 多人游戏

该模组仅客户端可用。 已标记 [BepInProcess("valheim.exe")],因此它不会加载到 瓦尔海姆服务器.exe 即使该DLL最终出现在服务器的插件文件夹中。

  • 它只修补本地UI。它不注册任何RPC,也不碰任何ZDO,因此它 不 更改网络协议并将会 否 导致版本不匹配或被踢出。
  • 它不需要安装在专用服务器上。
  • 每个应受此限制的玩家都必须自行安装——客户端模组无法对其他人强制执行此限制。参见 绕过服务器无地图 以下为可执行路径。
  • 隐藏小地图时,地图探索仍会被记录(小地图.更新探索 无论地图模式如何都会运行),通过表共享地图数据的功能也不受影响。

对所有人强制执行

英灵神殿出品 无地图 世界修正 是 服务端强制执行,但单独启用也会导致制图台失效: 小地图.设置地图模式 将每种模式都限制为 无 当 无地图 已设置。

与 绕过服务器无地图 = true (默认)此模组在表调用期间解除该限制,因此你可以使用以下配置运行服务器: 无地图 修饰器 和 仍会读取表格:

  • 玩家 无 这个模组让服务器强制启用了原版无地图模式;
  • 玩家 与 这个模组还额外获得了一个可用的制图台。

游戏.更新无地图 只在生成时和世界修正变化时运行,因此你身后不会有任何东西重新关闭地图。

如果你是 不 使用服务器修改器的话,关掉修改器,让所有人都安装这个模组就行——那样设置更简单。

配置

BepInEx/配置/aedenthorn.制图台地图限制.cfg

按键 默认 含义
已启用 真 主开关。可在运行时切换。
隐藏小地图 真 隐藏角落小地图。
抑制信息 真 阅读桌子时隐藏“地图已同步”消息。
阻止自动打开 真 停止在发现地点时强制打开地图。
绕过服务器无地图 真 让桌子在服务器的“无地图”修正下正常工作。
调试 假 记录被阻止和打开的内容。

插件GUID未变,因此会沿用现有的配置文件。 是否调试 替换硬编码的 isDebug = true 在原版中,每次使用都会记录日志。

建筑

无需 .NET SDK — build.ps1 回退到 Windows 上已有的 .NET Framework 编译器(正因如此,源代码始终保持在 C# 5 子集内):

powershell -ExecutionPolicy Bypass -File CartographyTableMapRestrict\build.ps1 ` -ValheimPath "G:\Steam\steamapps\common\Valheim"

安装SDK后, dotnet build -c Release -p:ValheimPath="..." 同样有效。

安装

r2modman / Thunderstore 模组管理器 (这里用的就是这个):管理器只会列出它自己安装的模组,所以手动放进配置文件文件夹的 DLL 永远不会出现在它的界面里。请改为安装打包好的 zip:

设置 -> 导入本地模组 -> 选择 dist?edenthorn-CartographyTableMapRestrict-0.4.0.zip

用以下内容重新打包该zip文件 制图台地图限制\package.ps1.

普通的BepInEx安装: 复制 dist\CartographyTableMapRestrict.dll 进入 瓦尔海姆\BepInEx\plugins\.

兼容性

没有补丁与……重叠 无地图打印机,它也安装在这里了——它会挂钩 小地图.是否打开, 显示标记名称输入 和 地图桌.写入时;此模组挂钩 设置小地图模式, 小地图.在地图上显示坐标 和 地图桌.阅读时.

Valheim: 英灵神殿 的热门 MOD

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

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