我们如何构建我的世界数据库
本栏目的每个数字都来自我的世界 Java版 26.3 自身的文件,下载自 Mojang 启动器服务器,而非百科或其他网站。计算值(掉落概率、矿石分布曲线、挖掘时间、铁砧花费)使用从游戏代码中读取的游戏自身公式。
数据库包含什么
游戏数据每类数据、它在 Java版 26.3 中的条目数,以及它在游戏文件中的来源。
| 数据 | 条目 | 游戏文件中的来源 |
|---|---|---|
| 装备 | 1,567 | 游戏数据文件 |
| 方块 | 1,141 | 通过运行游戏自身代码读取 |
| 合成表 | 2,042 | 游戏数据文件 |
| 战利品表 | 1,447 | 游戏数据文件 |
| 生物 | 91 | 通过运行游戏自身代码读取 |
| 附魔 | 43 | 游戏数据文件 |
| 状态效果 | 40 | 通过运行游戏自身代码读取 |
| 药水 | 46 | 游戏代码 + 数据文件中的酿造配方 |
| 村民交易 | 397 | 游戏数据文件 |
| 生态群系 | 67 | 游戏数据文件 |
| 结构 | 52 | 游戏数据文件 |
| 进度 | 126 | 游戏数据文件 |
| 画 | 51 | 游戏数据文件 |
| 音乐唱片 | 22 | 游戏数据文件 |
| 命令 | 94 | 游戏内置的命令列表 |
数据:我的世界 Java版 26.3 游戏文件。
数据从哪里来
游戏数据我们从 Mojang 公开的启动器服务器下载每个正式版(以及最新快照)的 Java版客户端和服务端 jar,方式与官方启动器完全相同,并用 Mojang 公布的校验值验证每个文件。
客户端 jar 中包含原版数据包:合成表、战利品表、进度、魔咒、村民交易、生物群系、结构和世界生成,全部为 JSON 格式。我们按原样读取。
服务端 jar 内置 Mojang 自己的数据生成器。运行它会生成报告,包含所有方块及其状态、所有注册表、完整的命令树以及全部 1,567 种物品的默认组件(耐久度、攻击伤害、食物数值、工具规则)。
有些数值不在任何数据文件中:生物的生命值、伤害、护甲和速度,方块的硬度和爆炸抗性,以及药水和状态效果。对于这些数值,我们运行游戏自身的代码并直接从中读取。自 26.1 起 Mojang 以可读形式发布游戏代码,因此每个数值都可以核对。
完全不以数据形式存储的行为(经验掉落、繁殖和驯服用的物品、生成规则、特殊攻击)读取自游戏代码,每条信息都与其确切出处进行了核对。
计算数值的原理
计算所得这些数值出现的地方都标有“计算所得”。每一项都与游戏代码一致。
- 掉落概率:每个战利品池按权重抽取条目;物品至少掉落一次的概率由抽取次数、权重、条件和数量范围精确计算(数量为 0–2 意味着三分之一的抽取什么都不给)。
- 抢夺:与游戏相同,每级额外掉落 round(等级 × 0–1 随机数);受抢夺加成的概率(凋灵骷髅头颅、僵尸稀有掉落)使用战利品表中的每级加成。
- 矿石分布:每区块矿脉数 × 矿脉大小 × 每种矿石地物的高度分布(均匀或梯形,精确计算),并去除底部的基岩层。这就是钻石在 Y −59(就在基岩上方)最多的原因。
- 挖掘时间:使用正确工具时,每刻削减方块强度的 工具速度 ÷ 硬度 ÷ 30(否则 ÷ 100);时间即达到 100% 所需的刻数,不计魔咒或状态效果,且站在地面上。
- 铁砧花费:每一步的花费为两件物品的累积惩罚,加上每个新增魔咒的铁砧花费 × 等级(附魔书减半),每个冲突魔咒 +1;达到 40 级或以上即为“过于昂贵!”。计算器会搜索所有合并顺序,找出最省的一种。
- 不同难度的生物伤害:简单为一半伤害 +1(不超过普通),普通为列出的数值,困难为 1.5 倍。
- 经验:0–15 级每级需要 2×等级+7 点,16–30 级需要 5×等级−38 点,31 级以上需要 9×等级−158 点。
- 燃料:熔炉每 200 刻(10 秒)烧炼一个物品,因此燃料的燃烧时间 ÷ 200 就是它能烧炼的物品数。
名称与翻译
物品、方块、生物、魔咒、状态效果、生物群系和进度的名称来自游戏官方语言文件,覆盖本站全部 18 种语言,因此与你在游戏中看到的一致。
页面文字、说明以及结构名称(游戏文件中没有官方名称)由我们撰写,并翻译成本站的每种语言。
局限
这些数据不涵盖:
- 基岩版:这里的一切都是 Java版的。基岩版在部分地方有所不同(部分合成表、魔咒机制、生物数值)。
- 生成权重是生物群系的自然生成表;你实际看到的数量还取决于亮度、空间和生物上限。
- 结构战利品通过游戏的战利品表名称与结构对应;少数结构会以文件未列出的方式放置额外容器。
- “Wilderness Bound”这类更新名称来自 Mojang 的公告,而非游戏文件。
- 快照内容(26.4-snapshot-5)在正式发布前可能改变,只有正式发布后才会有独立页面。
更新频率
每个正式版和新快照都会从 Mojang 服务器拉取,并经过同样的流程处理,因此数据库会在几天内跟上游戏。当前数据:Java版 26.3;上一个正式版 26.2;最新快照 26.4-snapshot-5(游戏文件需要 Java 25)。
数据库基于我的世界 Java版 26.3 的官方文件构建:数据包、Mojang 数据生成器报告,以及只存在于游戏代码中的数值。 计算数值使用游戏公式,官方名称来自游戏全部 18 种语言的语言文件。
数据说明常见问题
这些我的世界数据从哪里来?
来自 Mojang 启动器服务器上的我的世界 Java版 26.3 游戏文件:内置数据包、游戏的数据生成器及其代码。
掉落概率是怎么计算的?
根据每个战利品表精确计算:抽取次数、条目权重、条件和数量范围,包括数量为 0 的掉落。抢夺列使用游戏的每级公式。
这里包含基岩版吗?
不包含。所有数据都读取自 Java版;基岩版在部分合成表、数值和机制上有所不同。
为什么我的语言中的名称不一样?
其实是一样的:名称来自我的世界自身的语言文件,因此在我们支持的全部 18 种语言中都与你的游戏一致。
数据多久更新一次?
每个新正式版和快照都经过同样的流程处理,通常在几天内完成。