鸟巢探测器 (V2.4) 可能 (V2.3) x 客户端 x 鸟巢查找定位器 用于羽毛或鸡蛋农场

鸟巢探测器 (V2.4) 可能 (V2.3) x 客户端 x 鸟巢查找定位器 用于羽毛或鸡蛋农场

The TechFreqs Bird Nest Detector Mod, 是一个客户端模组,帮助玩家在游戏世界中定位鸟巢。

游戏玩法

TechFreqs 鸟巢探测器模组

TechFreqs Bird Nest Detector Mod 是一个客户端模组,帮助玩家在游戏世界中定位鸟巢。

它是基于 TechFreqs 原版“矿石视觉模组”的改编版本,但仅专注于鸟巢资源,将其视为检测逻辑中的“矿石”。该模组会定期扫描玩家周围区域,识别鸟巢(单个或集群),并在游戏指南针和地图区域将其显示为可交互标记。这使得资源收集更加便捷,尤其是在大型生物群系或探索过程中,无需手动搜寻地形。

最新更新日志

V1.0 (V2.4)

为什么使用它?

鸟巢是常见但分散的地表资源。该模组就像一个“鸟巢雷达”,在你的 HUD/地图上显示位置、距离和大小,类似于任务标记。它是可切换的,并且高度可定制,以适应你的游戏风格。

兼容性

在单人游戏和多人游戏中均可使用(作为客户端模组)。

使用 HarmonyLib 构建,实现无缝集成——除非其他模组大幅修改地图/指南针界面或导航对象,否则不会与大多数模组产生冲突。

版本说明: 目标游戏版本为 7D2D v2.4,基于 .NET Framework 4.8。

需要 Harmony

Credits/Inspiration

基于 TechFreqs 的 Ore Vision 模组代码,最初只是作为一个玩笑想法,但在注意到完成教程后,在没有额外技能或模组(我还没见过有这类模组)的情况下很难找到鸟巢后,这个模组才得以诞生。

同样,这里使用的是 Unity 的 KeyCodes,如需自定义按键绑定,请查阅文档,点击此处查看详情

主要特点

以下是该模组提供的详细内容,附带更多技术细节:

鸟巢检测与聚类

  • 扫描名称中包含 "birdnest"、"cntbirdnest"(不区分大小写)的方块。
  • 这些默认被视为单一类型("鸟巢")。
  • 请注意: 但你可以扩展代码以处理子类型,我假设未经测试,因为它只是两个鸟巢的名称,但也许你可以。
  • 幸运的人来看看它是否能检测到其他想法,作为我制作的第一个用于定位自定义方块在游戏中的模组之一??由你来通过方块名称事件进行测试,尽管未经测试,它可能被标记为一个鸟巢,但它会定位那个方块名称!再次欢迎你来尝试这个潜在的方块或物品定位器??。

技巧:

  • 使用洪水填充算法(通过队列的广度优先搜索)将相连的鸟巢分组为“集群”,前提是它们满足最小集群大小阈值。这减少了用户界面的混乱——例如,10 个相连的鸟巢显示为一个“鸟巢集群:10 个方块,45.2 米”标记,而不是 10 个单独的标记。
  • 单个鸟巢(或小于最小规模的鸟群)将单独显示为“鸟巢,X.X 米”。
  • 标记动态更新:距离会重新计算,当你处于 5 米范围内时,它们会变成红色(带有“热点区域”效果),以便轻松精确定位。

UI 集成

  • 指南针和地图标记: 使用游戏内置导航系统(例如 "ui_game_symbol_map_treasure" 图标)。标记会出现在指南针上(带缩放和夹紧效果)和地图上(带显示名称、大小和距离的文本标签)。
  • 自定义: 图标随 MapIconSize 缩放,文本颜色通过 MapTextColor 设置,鸟巢专属颜色通过 NestColors 配置(例如米色增强真实感)。通过 EnableMapOverlay 启用/禁用地图叠加层。
  • MAYBE Highlighting: 如果启用高亮和调试模式为真,它会将鸟巢位置记录到控制台(例如,"[TechFreqsBirdNestDetector] 高亮显示鸟巢方块位于 (x,y,z)")。目前物品在游戏世界中还没有视觉发光效果,但这可以在未来的更新中通过粒子效果或着色器添加,我还没有完全弄清楚这一点,再次基于树桩查找器,但我认为图标、指南针、标签和距离已经足够好了。

切换与更新

  • 通过按键切换开关(可配置)。激活时显示工具提示,如“TechFreqs 鸟巢探测器已启用!”。
  • 扫描在启用时每隔 更新间隔 秒自动运行。仅在需要时更新(例如,清理超出范围的标记)。
  • 导航对象被动态注册/注销以避免内存泄漏。

性能优化

  • 扫描体积减少: 将垂直(Y 轴)扫描限制在您位置上下 ±VerticalScanLimit 个方块范围内(默认 20),因为鸟巢仅生成于地表层。这将大幅减少需要检测的方块数量(例如,对于 100 米半径范围:从约 340 万个减少至约 34 万个)。
  • Interval Control: 可调节的更新间隔让您能间隔扫描(例如大范围扫描时每 30 秒一次),最大限度减少卡顿。
  • 高效清理: 自动移除无效/遥远标记,保持导航对象列表精简。
  • 调试日志记录: 在调试模式下,记录配置详情和事件以排查性能问题。

配置

所有设置都在 config.json 中(启动时或通过 reload 命令加载)。

使用文本编辑器编辑,保存并重新加载以实时更改。完整列表包含默认值和解释:

至于个人配置 JSON 以及我推荐的配置,配置 JSON 中不带双斜杠,请在下方下载:

{
  "切换键": "小键盘9",
  "探测半径": 100.0,
  "最小集群大小": 5,
  "启用地图覆盖层": true,
  "启用高亮": true,
  "调试模式": true,
  "地图图标大小": 0.8,
  "MapTextColor": "白色",
  "巢颜色": {
    "鸟巢": "米色"
  },
  "DetectedBlockPatterns": [
    "鸟巢",
    "鸟巢数量"
  ],
  "巢穴类型": {},
  "更新间隔": 20.0,
  "垂直扫描限制": 20
}

但默认情况下:

{
  "ToggleKey": "Keypad9", // 切换按键(Unity 按键代码字符串)
  "DetectionRadius": 15.0, // 扫描距离,单位米(>=5)
  "MinClusterSize": 5, // 构成集群的最小连接方块数(>=1)
  "EnableMapOverlay": true, // 在地图上显示?
  "EnableHighlighting": true, // 在调试模式下记录位置?
  "DebugMode": false, // 是否开启额外日志记录?
  "MapIconSize": 1.2, // 地图/罗盘上的图标缩放比例 (0.5-5.0)
  "MapTextColor": "white", // 标签颜色(名称或十六进制值,不包含 gray/grey)
  "NestColors": { "BirdNest": "米色" }, // 每种鸟巢类型的颜色
  "DetectedBlockPatterns": // 一个简单的关键词列表。如果方块名称包含其中任意一个(例如 "cntBirdnest" 中的 "birdnest"),它将被检测为通用的 "BirdNest"。这是后备方案——非常适合基础/原版使用。
  "NestTypes": // 可选子类型。每个“键”都是自定义类型名称(例如 "EmptyNest"),值是与该类型匹配的关键词列表。如果区块在此处优先匹配,则使用此子类型(带有来自 "NestColors" 的自定义颜色)而非通用类型。
  // 即:
  // "检测到的方块图案": [
  //   "鸟巢",       // 匹配标准巢穴如 "birdnest"
  //   "cntbirdnest"  // 匹配容器式鸟巢,如 "cntBirdnest"
  // ],
  // "巢穴类型": {
  //   "空巢": [    // 子类型名称(显示在地图/指南针标签中)
  //     "空巢",    // 空巢的图案(假设;请替换为实际方块名称)
  //     "破碎巢穴"  // 变体的另一种模式
  //   ]
  // },
  "UpdateInterval": 3.0, // 扫描间隔秒数(>=1)
  "VerticalScanLimit": 20 // Y 轴扫描限制(>=5;0=无限制)
}

如果文件缺失/无效,系统将自动创建一个默认文件。

颜色支持名称(如 "米色"、"红色")或十六进制值(如 "#A52A2A")。无效值将默认显示为品红色或使用备用颜色。

可用命令

一个内置的控制台命令(在游戏控制台中输入,通常是 F1 或 ~ 键):

鸟巢探测器重新加载
  • 实时重新加载 config.json 以应用新设置。
  • 无需重启即可测试更改(例如,将半径编辑为 200,保存文件,运行命令——下次扫描将使用新设置)。
  • 无需参数。
  • 输出:"鸟巢检测器配置已重新加载。"(如果调试模式开启,则加上加载的值)。

使用方法: 通过按 F1 打开控制台,然后输入 birdnestdetectorreload,按 Enter 键。该功能已实现,可在单人游戏或多人游戏中作为客户端使用。

总体概述工作原理(高级技术总结)

  1. 初始化: 游戏加载时,修补 EntityPlayerLocal.Update(用于切换/扫描)和 XUiC_MapArea.Update(用于地图界面)。加载配置并设置 Harmony。
  2. 扫描: 每 UpdateInterval 秒,循环扫描玩家周围的球形区域(通过距离检查和 Y 轴限制进行优化)。收集鸟巢位置,对它们进行聚类,并注册/更新导航对象。
  3. 导航对象: 使用 7D2D 的导航对象系统作为标记(如寻宝任务)。可自定义颜色、文本、热点区域等设置。
  4. 清理: 注销遥远/无效标记以防止积累。
  5. 错误处理: 记录问题(例如,无效颜色)并回退到默认值。

性能提示与限制

  • 高半径处的卡顿: 扫描大范围区域(例如 200 米)可能因主线程阻塞检查导致短暂停顿(0.1-2 秒)。缓解方法包括:
    • 较高的更新间隔(例如,20-60 秒)。
    • 较低的 VerticalScanLimit(例如,对于平坦生物群系为 10-15)。
    • 降低密集区域的半径。
  • 局限性:
    • 仅限客户端;在未安装客户端的服务器上无效。
    • 没有游戏内视觉提示(例如发光的鸟巢)——仅显示地图/指南针。
    • 假设鸟巢位于地表;地下鸟巢(罕见)可能会被遗漏,如果 Y 轴限制较低,主要针对原版鸟巢。
    • 与修改导航/地图系统的模组可能存在冲突。
  • 最大实用半径: 在良好硬件上约 150-200 米;超出此范围,请考虑通过新命令进行手动扫描。

免责声明

使用此模组即表示您承认 TechFreq 不对因使用该模组而导致的任何问题、崩溃或冲突负责。

使用风险自负。请在安装任何类型的模组前备份您的游戏文件。

感谢您的下载,祝您游戏愉快!

安装

  1. 确保 mod 目录中存在 harmony mod,因为它是必需的。
  2. 下载模组文件,解压模组文件。
  3. 请备份您的世界、存档和游戏文件。
  4. 将它们放入你的《七日杀》游戏模组目录中。
  5. EAC 必须被禁用,尽管我希望将来可以改变这一点,就目前而言,DLL 不支持 EAC,但 XML 没有问题。
  6. 这是仅客户端的内容,但也许这也是,服务器端和客户端兼容性动态链接库?
  7. 无需进一步设置。尽情享受吧!

CREDITS

感谢 TechFreq & A.I、ChatGPT、微软 CoPilot A.I、Twitter/X 的 Grok AI 帮助我创建这个模组,凭借极少的游戏模组制作知识边学边做,没有这些工具我无法完成,还要感谢整体头脑风暴和模组社区的支持。

我非常感谢,并且也非常欢迎对模组的任何反馈。

支持通知

对于那些想要支持 "TechFreqs" 工作的人,这个模组可能会或可能不会被交叉发布。通过 7daystodiemods 网站经由 ModsFire(广告驱动,每次下载都能赚取收益)下载,如果发布在那里或其他示例模组网站上,对我帮助巨大,但是!

(尽管每次下载只有 10 美分)还有一个直接镜像可以使用 NexusMods 网站,它也提供直接链接,但这些链接不是按点击或下载次数获得收益,而是通过不同的系统使用捐赠点数运行。除了下载模组外,支持 TechFreq 的最佳方式是与朋友分享模组、留下反馈并总体上认可模组,这就是我所要求的全部,但如果你想更进一步,虽然不必要,你可以通过 PayPal 或 ko-fi 页面使用捐赠链接,这再次对我有很大帮助!

然而,捐款并非强求,每一份支持都将助力前行,为未来的模组、音乐与漏洞修复注入动力,因此再次感谢您的阅读、您的卓越以及您对模组帖子的关注。

社交媒体

如果你欣赏 'TechFreqs' 的工作并想表示支持,可以使用这个捐赠链接,尽管这不是必须的。

我由衷感谢大家查看模组帖子、分享并享受其中的任何模组。再次感谢!祝游戏愉快!


喜欢这个模组吗?有反馈、想法或需要故障排除? 加入 TechFreq 超酷小队的 Discord 服务器! 来我们的 Discord 放松一下,畅谈游戏、分享表情包,获取更多模组更新!


至于 TechFreqs 音乐,它是免版税音乐,可用于您的项目或休闲聆听! 源音乐文件已备好——尽管提问,可在 Discord 获取!或获取更多内容: TechFreqs 社交账号:https://beacons.ai/techfreq 来看看今天的幕后氛围!再次感谢大家查看模组帖子。

许可证:CC BY-NC-SA 4.0

该模组采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行授权。您可将其用于《七日杀》的个人游玩。修改或分享需注明 TechFreq 作者、链接至模组页面,且衍生作品需采用相同许可。如需进行任何修改或变更,请通过 beacons.ai/techfreq 联系我获取许可。

查看 LICENSE.txt 或访问 http://creativecommons.org/licenses/by-nc-sa/4.0/ 获取完整条款。

注意: 允许展示此模组的盈利视频/博客,但需注明出处为 TechFreq。