矿物分布

矿物分布

修改了所有维度的矿石生成。轻松配置矿石大小、稀有度和生成。还增加了大型矿脉。全部可配置!

矿石与资源

矿物分布

全面掌控矿物生成——重新调整原版、模组与数据包矿物,生长出巨大的地质巨型矿脉——全部以确定性、安全的方式生成,构建在专为专用服务器优化的数据驱动引擎之上。

矿物分布(Ore Distribution)会自动发现你世界中的每一种矿物(原版、模组与数据包),并将调节旋钮交到你手中:让钻石稀有十倍、让铜矿翻倍、完全禁用某种矿物,或投放巨大的跨区块巨型矿脉,打造截然不同的采矿经济——全程无需编写任何数据包。

Minecraft 1.21.1 · NeoForge 21.1.x · Java 21 · 服务器权威(在专用服务器上安全)


✨ 亮点

  • 🔎 自动矿物发现 —— 自动识别原版、模组与数据包矿物,无需逐矿设置。
  • 🎚️ 逐矿物与逐维度调节 —— 频率与规模倍率,语义直观且诚实。
  • 🏔️ 巨型矿脉 —— 大型、外观自然的矿藏,无缝跨越区块边界。
  • 🌍 维度感知接管 —— 可更改主世界与下界,同时保持其他维度不受影响。
  • 🔒 秘盐播种放置 —— 普通玩家无法通过公开的世界种子推算出矿物位置。
  • 🧩 适配器 API —— 模组作者可为其自定义矿物系统接入支持。
  • 🛡️ 安全设计 —— 结构保护、故障安全启动与硬性性能上限。

🧠 工作原理

首次启动时,矿物分布会扫描服务器的注册表,并为其找到的每一种矿物构建可编辑配置,以每种矿物的检测到的源值作为默认值。当所有值均为1.0时,你的世界生成效果与原版加模组完全一致——直到你决定做出改变。

在世界生成时,每个新区块会执行两项操作:

  1. 抑制原有的天然矿物生成(仅在你启用的维度中)。
  2. 替换为基于相同源数据的受控生成——因此变更干净利落,不会产生重复或删除的矿物。

所有内容均基于服务器启动时构建的不可变计划进行计算,因此在区块生成期间不会进行配置解析或重型工作。


🎚️ 频率与规模 —— 清晰、诚实的数值

frequency_multiplier 会线性缩放预期的矿藏数量:

数值 效果
1.0 原始频率(不变)
0.5 约减少一半
0.1 约十分之一——稀有十倍
2.0 约增加一倍
0.0 禁用

size 倍率以相同方式缩放矿脉/矿藏规模。小数值采用无偏舍入处理,因此稀有矿物绝不会意外归零。


⛏️ 标准矿脉 vs. 巨型矿脉

标准矿脉是你熟悉的常规每区块矿物散布——现在可完全调节。

巨型矿脉是一个附加系统:稀有、大型、分支状的地质矿藏,跨越多个区块并自然连接边界(区块边缘不会有丑陋的直线切割)。可为每种矿物选择一种形状:

  • BRANCHING_LODE(默认)· ELLIPSOID_CLUSTER · RIBBON · STRATIFORM · PIPE

可独立于标准矿脉开关它们,并调节其频率与规模。


🧬 两种生成策略(按矿物)

  • SOURCE_COMPAT(默认)—— 回放原始矿物特性,因此在1.0时它能精确保持源分布;频率与规模可在此基础上精确缩放。
  • CUSTOM —— 忽略源数据并自行定义:输出方块、宿主岩层、Y轴范围、垂直分布、矿脉大小等。

🌍 维度感知控制

每个维度都会自动添加到配置中。默认值:

维度 默认
主世界 ✅ 启用
下界 ✅ 启用
末地 ❌ 禁用
模组 / 自定义维度 ❌ 禁用

由于接管是维度感知的,同时出现在启用与禁用维度中的矿物,在其禁用的维度中会保持原始生成。维度高度限制与相对锚点(底部上方 / 顶部下方)均被尊重——不预设主世界假设。


🔒 秘盐播种、确定性放置

矿物布局是私有每世界秘盐加上维度、区块/单元格、矿物与算法版本的纯函数。这意味着:

  • 生成完全确定性——无论区块顺序、线程或重启,结果一致。
  • 普通玩家无法从公开的世界种子推导出矿物位置。

秘盐通过加密强度高的生成器为每个世界创建一次,私下存储,绝不记录、显示或发送给客户端。

诚实说明:这并不能阻止 X-Ray 客户端、服务器文件窃取或拥有磁盘访问权限的管理员。它只是封堵了“种子 → 矿物图”的捷径,仅此而已。


🛡️ 安全优先

  • 结构保护 —— 矿物接管仅针对自然生成;结构方块绝不会被移除。
  • 故障安全启动 —— 如果任何内容无法安全解析,模组会保持原版生成不变,而非冒险损坏你的世界。另有STRICT模式可供希望启动时因任何未解析矿物而停止的管理员使用。
  • 性能预算 —— 硬性每区块上限可防止极端配置冻结服务器,并会给出清晰的(限速)警告。

🧩 兼容性 —— 实际支持范围

可自动支持任何使用标准 Minecraft/NeoForge 管线的内容:

  • 原版矿物
  • 以正常矿物特性注册的模组矿物
  • 数据包定义的矿物、生物群系、特性与维度
  • 自定义维度与生物群系模组

通过适配器 API 支持: 自定义矿物特性类型(模组作者无需让矿物分布依赖其模组即可添加支持)。

检测、报告,绝不静默更改: 在正常生成管线之外写入矿物、替换区块生成器或在运行时放置矿物的模组。这些会列在兼容性报告中,确保不会悄无声息地出问题。

这并非“与所有模组都兼容”——也不会假装如此。它对自己的边界坦诚相告,也绝不会破坏它无法理解的生成。


🕹️ 命令(仅限管理员)

/oredistribution report            检测与启用内容的摘要
/oredistribution list ores         所有已发现的矿物配置文件
/oredistribution list dimensions   已发现的维度及其状态
/oredistribution explain <ore>     某矿物(及维度)的有效数值
/oredistribution validate          检查配置
/oredistribution scan              重新扫描并更新配置文件
/oredistribution debug chunk X Z   汇总某区块附近的矿藏
/oredistribution salt status       确认秘盐存在(绝不显示)

🚀 快速开始

  1. 将 jar 放入 NeoForge 1.21.1 环境的 mods/ 文件夹,并启动服务器一次。
  2. 矿物分布会在 serverconfig/oredistribution/ 下生成可编辑配置及一份兼容性报告。
  3. 停止服务器,编辑 TOML 文件,然后重新启动。

重要提示: 生成设置仅适用于新生成的区块——已存在的区块不会被追溯更改。如需在所有区域应用新设置,请重置世界或删除区块。你的编辑在重启与重新扫描后都会保留;新矿物会被添加,已移除的会保留为孤立项,你的数值绝不会被覆盖。


📦 需求

  • Minecraft 1.21.1
  • NeoForge 21.1.x
  • 安装在服务器上(单人世界也可用;所有设置均为世界侧)。

❓ 常见问题

我的矿物没有变化。 只有新生成的区块会受影响——请探索新区域或重置世界。同时检查维度是否已启用,以及接管模式是否不是OFF。

某个矿物模组未被检测到。 检查 generated/unresolved-features.json。若其使用自定义特性类型,则需要兼容性适配器——请参阅文档。

对现有世界安全吗? 安全。它不会追溯编辑已生成的区块,并且在任何不确定情况下都会进行故障安全处理。

客户端还是服务器端? 所有生成逻辑均为服务器/世界侧。它在客户端上可正常加载,但没有任何客户端侧玩法。


🐛 报告问题

如有任何帮助或问题,欢迎在评论区留言。我会回复。


矿物分布 —— 你的世界,你的矿物,你的规则。