Guides / Building & Resources

合成产物数量向上取整,所以合成成本绝不是简单的乘法

每合成一次纸会产出3张。如果你需要4张纸,你需要消耗6根甘蔗,并多出2张纸。配方树的每一层都会发生这种情况,浪费会层层累积。

计算某物品的原材料成本看起来像一个乘法问题。但事实并非如此,因为一个配方会产出固定数量的物品,你无法合成其中一部分

规则

craftsNeeded = ceil(needed / makes)
produced     = craftsNeeded × makes
leftover     = produced − needed

makes 是配方的产出数量。纸张是使用3根甘蔗合成makes: 3。所以:

所需纸张数量合成次数甘蔗数量剩余纸张数量
1132
3130
4262
6260

需要1张纸的成本与需要3张纸的成本相同。需要4张纸的成本与需要6张纸的成本相同。成本函数是一个阶梯状的曲线,而不是一条直线,每当你刚好超过一个阶梯,你都需要付出双倍的代价。

它在配方树中层层累积

向上取整(ceiling)是在每一层应用,而不是只在最后应用一次。一本书需要3张纸和1块皮革;纸张是使用甘蔗每合成一次产出3张。因此,一本书正好需要一次纸张合成——3根甘蔗,没有浪费。

两本书需要6张纸,也就是2次合成,仍然没有浪费。但是,如果配方树中任何一个数量偏离了批次边界,该层的取整就会导致其下方的所有物品需要更多的原材料,而这些原材料又会依次向上取整。深层配方树会累积这种效应,最终的总成本可能会大大超过简单的quantity × unit cost,尽管每一步看起来都是正确的。

这就是为什么拥有一个成本计算器比自己手动计算更有价值的唯一原因:算术很简单,但记账却不简单。

替代配方改变的是配方树,而不仅仅是价格

有些物品有不止一种制作方法,计算器允许你切换:

  • 铁锭 (Iron Ingot) — 在熔炉 (Furnace) 中烧炼,或在高炉 (Blast Furnace) 中烧炼。两者都消耗1个粗铁 (Raw Iron) 并产出1个,所以选择的是速度和燃料,而不是材料。
  • 金锭 (Gold Ingot) — 同样是这两种方式,等效性相同。
  • 木棍 (Stick) — 两种真正不同的配方,这也是该工具用来演示切换的例子。

铁和金的情况值得注意,正是因为它们不是成本决策。提供选择的配方树并不总是提供更便宜的分支,将熔炉换成高炉并不会改变购物清单上的任何东西。

配方树的终点

有十五种物品被视为原始叶子 (raw leaves)——扩展到此为止,不再进一步:

橡木原木 (Oak Log) · 圆石 (Cobblestone) · 粗铁 (Raw Iron) · 粗金 (Raw Gold) · 钻石 (Diamond) · 红石粉 (Redstone Dust) · 沙子 (Sand) · 下界之星 (Nether Star) · 黑曜石 (Obsidian) · 下界合金碎片 (Netherite Scrap) · 甘蔗 (Sugar Cane) · 皮革 (Leather) · 竹子 (Bamboo) · 羊毛 · 线 (String)

其中有两项值得注意。下界合金碎片 (Netherite Scrap) 实际上是烧炼远古残骸 (Ancient Debris) 得到的,为了简化处理,它被视为原始材料——因此,下界合金的成本会比实际少计算每碎片一次烧炼步骤。而橡木原木 (Oak Log) 代表“任何原木”,因此配方树不会分叉成六种行为完全相同的木材类型。

了解配方树的终点与配方树本身一样重要:只有当你知道计算将哪些材料视为原始材料时,“原材料”成本才有意义。

合成成本树计算器 →

More guides

Browse all →

还想找别的我的世界工具?

一整套在浏览器里运行的生成器、查看器和转换器,全部免费。