
自由恋爱搬家助手
尝试修复了配偶有时卡在坐标(0,0)的问题,以及多个配偶在农舍内重叠的问题。
查看大图描述
警告: 本模组的代码由 AI 生成,因为我不太擅长 C# —— 抱歉 :(
我非常喜欢 aedenthorn 的 Freelove 模组,但我发现每次加载存档时,我的配偶都有几率出现在地图外的 (0,0) 坐标,或者有时我进入农舍时,多个配偶会卡在完全相同的点上……
因此,我下载了 aedenthorn 的 Freelove 模组的开源仓库,令我惊讶的是,Freelove 其实有一套相当健全的机制来防止配偶重叠或卡在地图外。
我觉得配偶仍然重叠或最终出现在地图外的原因之一是自定义农舍。例如,我使用 tikamin557 的 T's Apartment House 模组(我强烈推荐——它为你的多位配偶提供了足够的房间)。它的自定义农舍在左上角有一个可以传送到二楼的入口,但该入口并未封闭;玩家只是在触碰到它的瞬间被传送走。这意味着如果没有这个传送功能,玩家或 NPC 有可能通过那个缺口到达地图外。我怀疑这绕过了 Freelove 的地图可达性检测。出于某种原因,配偶最初被放置在 (0,0) 点,然后 Freelove 发现 (0,0) 点也可以通过传送缺口到达农舍内部,因此既然它不在地图外,就不会纠正配偶位于 (0,0) 的位置。
另外,也许自定义农舍太大,加载时存在某种奇怪的时序差异,导致农舍在 Freelove 已经完成位置修正之后才加载完毕,从而导致玩家进入时所有配偶都卡在同一点。这是我的另一个猜测(因为这个触发非常不稳定)。
但我并不是能优化 Freelove 算法的超级专家——我只是个超级菜鸟。所以我想出的解决方案是完全借鉴 Freelove 的检查和放置机制,每次需要处理配偶位置时,延迟一定时间以确保地图完全加载,然后运行一个与 Freelove 几乎相同的配偶位置修正机制。我的修正机制唯一的不同在于,它只检测位于农舍内、处于 (0,0) 坐标或与其他配偶重叠的配偶,然后使用与 Freelove 完全相同的放置逻辑将它们放置在有效位置。
再次警告: 这个模组的代码是 AI 生成的。我已将代码放在可选文件中。我无意冒犯任何人。如果存在任何版权侵权行为,请联系我,我会将其移除。
安装说明
- 安装 SMAPI(v4.0.0 或更高版本),如果你还没有安装的话。
- 安装 Freelove – 本模组需要它。
- 下载本模组并将其解压到你的 Stardew Valley/Mods 文件夹中。
- 通过 SMAPI 启动游戏。该模组将在首次运行时生成一个默认的 config.json 文件。
- (可选)安装 Generic Mod Config Menu 以在游戏内调整设置。
主要功能
- 智能检测 – 移动无效(0,0 坐标)或重叠的配偶。
- 多重触发 – 在加载存档、新一天开始时或进入农舍时进行检查。
- 定期检查 – 可选择在你在农舍内时持续运行扫描。
前置要求
- Freelove – 没有它本模组将无法工作。
配置
DelaySeconds 默认设置为 5 秒,你可以在设置中调整。 所有其他选项都带有描述,应该不言自明(希望如此)。
致谢
aedenthorn – 感谢其制作了不可思议的 Freelove 模组,我现在完全离不开它了。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。