种子映射器

种子映射器

Minecraft Fabric游戏模组,允许你使用世界种子进行各种操作。

游戏机制

始终使用最新(稳定)版本的 SeedMapper!如果你想在旧版本的 Minecraft 上游玩,请使用 ViaFabricPlus。此模组允许你使用 SeedMapper 的最新功能,同时仍可在旧版 Minecraft 上游玩。

SeedMapper

游戏内 Minecraft Fabric 模组,允许你对世界种子进行各种操作。有关参考,请查看此模组拥有的功能。请记住,此模组要求你能够访问种子。如果种子未知,你可以使用 19MisterX98 的 SeedCrackerX 来破解它。如有问题和寻求支持,请前往我的 Discord。

安装

  1. 安装 Fabric Loader。
  2. 下载 Fabric API 并将其移动到你的 mods 文件夹:
    • Linux/Windows:.minecraft/mods。
    • Mac:minecraft/mods。
  3. 从发布页面下载 SeedMapper,并将其移动到你的 mods 文件夹。

1.21.11 及以下版本重要提示

你需要至少安装 Java 23 才能使用此模组。建议从 adoptium.net 获取 Java 23(或更高版本)。接下来,配置你的 Minecraft 启动器以使用此版本的 Java。

  • 官方启动器:前往 安装 -> 编辑 -> 更多选项 -> Java 可执行文件。
  • MultiMC:前往 编辑实例 -> 设置 -> Java -> Java 安装。
  • PrismLauncher:前往 设置 -> Java -> Java 运行时 -> 自动检测...。
  • Modrinth App:前往 实例设置 -> Java 和内存 -> 自定义 Java 安装 -> 浏览。

有时可能需要点击跳过 Java 兼容性检查的选项。

如果你在 Windows 上,请确保选择 javaw.exe,而不是 java.exe。

如果遇到问题,请联系你的启动器支持。

从 26.1 版本开始,此步骤不再必要。

功能

在使用以下任何命令之前,请确保已使用 /sm:config Seed set <种子> 配置好种子。

种子地图

用法:/sm:seedmap。

根据配置的种子打开一个可探索的种子地图。你可以通过拖动鼠标来移动地图,并使用滚轮进行缩放。你可以通过点击屏幕顶部的功能开关来切换可见的功能。此命令与 /sm:source 命令结合使用时特别有用!

种子小地图

用法:/sm:minimap [show|hide]。

在抬头显示器(HUD)中显示基于配置种子的迷你地图。根据是否启用 RotateMinimap 配置,小地图将随玩家旋转。小地图显示与种子地图相同的功能(见上文)。切换维度将自动更新小地图。可以使用配置 MinimapOffsetX、MinimapOffsetY、MinimapWidth 和 MinimapHeight 进一步自定义小地图。

生物群系定位

用法:/sm:locate biome <生物群系>。

定位距离玩家最近的给定生物群系。支持所有维度中的全部生物群系。

结构定位

用法:/sm:locate feature <结构>[<部件>]{<变体>}。

定位距离玩家最近的给定结构。支持所有维度中的全部结构。但是,由于底层库的限制,某些结构(尤其是沙漠神殿、丛林神庙和林地府邸)可能会出现偶尔的误报。为了进行更高级的查询,你还可以使用部件和变体数据来进一步限制搜索。例如,以下命令将搜索带有船的末地城:/sm:locate feature structure end_city[end_ship]。

矿脉定位

用法:/sm:locate orevein (copper|iron)。

定位距离玩家最近的矿脉。将返回找到的第一个矿脉块的坐标。之后,你可以使用 /sm:highlight orevein [<区块数>] 来高亮其他矿石。

战利品定位

用法:/sm:locate loot <数量> <物品> [<附魔条件>]。

定位距离玩家最近的箱子战利品。支持 1.13 及以上的所有版本。SeedMapper 将搜索结构的箱子战利品,以找到符合物品和附魔条件的战利品。请注意,该命令不会阻止对无法获得的战利品和非法附魔组合的查询。如果搜索时间过长,你应该使用 /sm:stoptask 取消它。

矿石高亮

用法:/sm:highlight block <方块> [<区块数>]。

在世界中高亮指定的方块。支持 1.13 及以上的所有版本。由于高度依赖 OCEAN_FLOOR_WG 高度图,煤炭、铜和绿宝石矿石的位置可能会存在偏差。

矿脉高亮

用法:/sm:highlight orevein [<区块数>]。

在世界中高亮矿脉。作为矿脉一部分生成的粗矿块会被明显地区分高亮。填充方块将被忽略。

史莱姆区块定位

用法:/sm:locate slimechunk。

定位距离玩家最近的史莱姆区块。这始终是准确的。

源修改

用法:/sm:source (run)|(as <实体>)|(positioned <位置>)|(rotated <旋转>)|(in <维度>)|(versioned <版本>)|(seeded <种子>)。

从修改后的源执行给定命令。例如,修改源的位置将如同你在那个位置一样执行命令。这个命令非常强大,使用它!

Baritone 集成

如果存在 Meteor 版本的 Baritone,SeedMapper 的 AutoMine 配置将可见。当设置为 true 时,由 /sm:highlight 高亮的某些方块将自动被挖掘。你可以像往常一样执行 #stop 来停止 Baritone。确保在 Baritone 的配置中 #allowBreak 设置为 true,否则 Baritone 将永远卡住,并且不会挖掘任何方块。

从源码构建

此模组内部使用 Cubitect 的(一个分支的)C 库 cubiomes。此库的 Java 绑定是使用(同样是一个分支的)jextract 创建的。这些绑定使用了来自 Project Panama 的外部函数与内存 API。有关自动执行此操作的 Gradle 任务,请参阅 CreateJavaBindingsTask.java。

要在本地构建模组,请按照以下步骤操作:

  1. 克隆仓库:
    git clone --recurse-submodules https://github.com/xpple/SeedMapper
    cd SeedMapper
    
  2. 将 cubiomes 编译为共享库。不能使用 MSVC 来构建该项目!以下适用于 Windows:
    cd src/main/c/cubiomes
    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
    cmake --build build --config Release
    cp build/cubiomes.dll ../../resources/cubiomes.dll
    cd ../../../../
    
  3. 安装 LLVM(推荐使用 13.0.0 版本),并设置环境变量 LLVM_HOME 为 LLVM 的安装目录。
  4. 编译 jextract。再次声明,以下适用于 Windows:
    cd jextract
    ./gradlew --stacktrace -Pjdk_home="$env:JAVA_HOME" -Pllvm_home="$env:LLVM_HOME" clean verify
    cd ../
    
  5. 构建模组:
    ./gradlew build
    
    你应该在 src/main/java/com/github/cubiomes 目录下找到 Java 绑定。

最后,你还可以查阅 GitHub Actions 工作流文件,其中包含了每个主要操作系统的完整构建说明。