
地形扩散分叉版(非官方)
这是地形成扩散模组的移植版本,可在Linux和AMD GPU及Neofoge上运行。
地形扩散 MC Linux AMD 分支
通过 ROCm/MIGraphX 在 Linux 上为 AMD GPU 提供地形扩散 MC。
上游致谢
所有核心地形扩散 Minecraft 集成工作均来自原始项目及其贡献者:
- 原始 Minecraft 模组:xandergos/terrain-diffusion-mc
- 原始地形扩散模型/项目:xandergos/terrain-diffusion
此分支的存在是为了记录和打包面向 AMD/Linux 的适配工作。原始模组、模型集成以及大部分代码库的功劳应归于上游作者。
分支范围
此分支新增并记录了以下内容:
- 通过
migraphx选择 Linux AMD GPU 提供程序 - 显式支持 ONNX Runtime 原生库覆盖
- 专门的
linux-amd构建变体 - 经过测试的 ROCm/MIGraphX 设置说明
它不会取代上游项目。如果您需要原始项目及其常规发布版本,请使用上游仓库。
已验证设置
- 操作系统:Kubuntu
26.04 LTS - 内核:Linux
7.0.0-27-generic - CPU:AMD Ryzen 7 9700X(8 核 / 16 线程)
- GPU:AMD Radeon RX 7900 XTX(
gfx1100) - 系统内存:64 GB
- ROCm:
7.2.0 - Java:OpenJDK
21.0.11 - Minecraft:
1.21.1 - NeoForge:
21.1.238 - ONNX Runtime:自定义
1.23.2构建,带有 MIGraphX 执行提供程序
Minecraft 运行时日志在 256x256 区域生成期间确认了 Terrain Diffusion (MIGraphX)。项目构建目标为 NeoForge 21.1.229;经过测试的 NeoForge 21.1.238 运行时与该目标兼容。
构建矩阵
| 构建 | 支持 | 所需设置 |
|---|---|---|
| Linux AMD | Linux + AMD GPU + ROCm/MIGraphX | 自定义启用 MIGraphX 的 ONNX Runtime 原生库 |
| Windows | 支持 DirectML 的 GPU 上的 Windows | 除了捆绑的 DirectML 运行时外无需其他设置 |
| CUDA | 配备 NVIDIA GPU 的 Linux/Windows | CUDA + cuDNN |
| CPU | 任何机器 | 无,但速度非常慢 |
对于 Linux 上的 AMD,请使用此分支发布版中的 linux-amd jar,而不是 CPU jar,也不是上游发布工件。
要求
- 带有 NeoForge 的 Minecraft
- Java 21
- 对于 Linux AMD 路径:
- 受 ROCm/MIGraphX 支持的 AMD GPU
- 可用的 ROCm 用户空间安装
- 启用 MIGraphX 构建的自定义 ONNX Runtime 原生库
内存需求随世界规模和区块生成压力而变化。在测试机器上:
- 推理使用的 GPU 显存:约
1.5-2 GB - 用于测试的 Minecraft RAM 分配:
12 GB
快速开始
- 将
linux-amdjar 安装到 Minecraft 的mods/文件夹中。 - 启动一次,以便模组创建其配置并下载模型。
- 编辑
config/terrain-diffusion-mc.properties。 - 设置:
inference.device=gpu
inference.provider=migraphx
inference.native_path=/absolute/path/to/onnxruntime-migraphx-native-directory
该目录包含:
libonnxruntime.solibonnxruntime4j_jni.solibonnxruntime_providers_migraphx.solibonnxruntime_providers_shared.so
配置
模组配置文件为 config/terrain-diffusion-mc.properties。
此分支中相关的推理设置:
# "cpu", "gpu" 或 "auto"
inference.device=gpu"auto", "migraphx", "rocm", "cuda" 或 "directml"
inference.provider=migraphx
自定义 ONNX Runtime 原生库的可选路径
inference.native_path=
在阶段之间卸载非活动模型
inference.offload_models=true
验证现有模型文件
validate_model=true
资源管理器 Web UI 端口
explorer.port=19801
区块生成区域大小(以方块为单位)
tile_size=256
世界规模说明
地形扩散世界暴露了从 1 到 6 的 World Scale 设置。
2是默认值,也是此代码库中最平衡的设置。- 较高的值并不意味着“更多细节”。它们以模型原生分辨率生成,然后更积极地进行上采样。
- 高于
4时,非常宽泛的平滑处理可能会产生大量以海洋为主的起始区域。这是当前缩放逻辑的预期结果,并非 AMD/Linux 特有的问题。
依赖项
此分支涉及的主要运行时/构建依赖项:
- Minecraft
1.21.1 - NeoForge
21.1.229 - ONNX Runtime
1.23.2 - ROCm/MIGraphX
7.2.x
此分支中的 Linux AMD 路径依赖于自定义的 ONNX Runtime Java/原生构建,因为标准的 Maven Java 工件并未为此工作流提供现成的 MIGraphX 包。
从源码构建
标准的上游变体仍然有效:
./gradlew build -PuseDml=true
./gradlew build -PuseCuda=true
./gradlew build -PuseCpu=true
此分支的 Linux AMD 构建:
./gradlew build -PuseMigraphx=true -PonnxRuntimeMigraphxVersion=1.23.2-migraphxfix
这需要有一个匹配的、打过补丁的 ONNX Runtime Java 工件可通过 mavenLocal() 获得。
Linux AMD 说明
日文安装指南:docs/INSTALL_JA.md。
有关 AMD/Linux 移植的详细说明,请参阅 docs/amd-linux-migraphx.md。
常见问题
没有可用的已配置 GPU 提供程序
这通常意味着以下情况之一不正确:
- jar 不包含支持 MIGraphX 的 Java 绑定
inference.native_path未指向自定义 ORT 原生库目录- 原生库目录缺少提供程序
.so文件 - ROCm/MIGraphX 未安装或无法在机器上加载
高世界规模下出现大量海洋起始区域
这是当前基于上采样的缩放系统的效果。如果您希望减少平滑处理并获得更紧凑的地形特征,请将 World Scale 降低回 2 或 3。
世界生成或模型加载期间内存不足
增加 Minecraft RAM 分配并保持适度的世界规模。模型文件本身很大,较高的缩放值会以可能仍然给内存和 CPU 带来压力的方式改变区块生成行为。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。