Руководства / Строительство и ресурсы
Выход рецепта округляется вверх, поэтому стоимость крафта — это не просто умножение
Из бумаги получается 3 штуки за крафт. Если нужно 4, придётся потратить 6 сахарного тростника, и останется 2 лишние бумаги. Так происходит на каждом уровне дерева рецептов, и отходы накапливаются вниз по цепочке.
Подсчёт стоимости чего-либо в сырье выглядит как задача на умножение. Но это не так, потому что рецепт выдаёт фиксированную партию, а скрафтить дробную часть нельзя.
Правило
craftsNeeded = ceil(needed / makes)
produced = craftsNeeded × makes
leftover = produced − needed
makes — это выход рецепта. Бумага — makes: 3 из 3 сахарного тростника. Значит:
| нужно бумаги | крафтов | сахарный тростник | остаток бумаги |
|---|---|---|---|
| 1 | 1 | 3 | 2 |
| 3 | 1 | 3 | 0 |
| 4 | 2 | 6 | 2 |
| 6 | 2 | 6 | 0 |
Одна бумага стоит столько же, сколько три. Четыре стоят столько же, сколько шесть. Функция стоимости — это лестница, а не прямая, и каждая ступенька, на которую ты только что перешагнул, бьёт по тебе обратно.
Это накапливается вниз по дереву
Округление вверх применяется на каждом уровне, а не один раз в конце. Книга — это 3 бумаги и 1 кожа; бумага — 3 за крафт из сахарного тростника. Значит, на одну книгу нужен ровно один крафт бумаги — 3 сахарного тростника, без отходов.
На две книги нужно 6 бумаги, то есть 2 крафта, всё ещё чисто. Но сдвинь любое количество в дереве с границы партии — и округление на этом уровне передаётся как большая потребность всему, что ниже, что в свою очередь тоже округляется вверх. Глубокие деревья накапливают это, и итог может превысить наивное quantity × unit cost с большим отрывом, хотя каждый отдельный шаг выглядит правильным.
Это единственная причина, по которой стоит иметь калькулятор стоимости, а не считать самому: арифметика проста, а вот учёт — нет.
Альтернативные рецепты меняют дерево, а не только цену
У некоторых предметов есть больше одного способа изготовления, и калькулятор позволяет переключаться:
- Железный слиток — плавка в печи или переплавка в плавильной печи. Оба потребляют 1 рудное железо и дают 1, так что выбор — это скорость и топливо, а не материалы.
- Золотой слиток — та же пара с той же эквивалентностью.
- Палка — два по-настоящему разных рецепта, поэтому именно на ней инструмент демонстрирует переключение.
Случаи с железом и золотом стоит заметить именно потому, что они не являются решением о стоимости. Дерево, предлагающее выбор, не всегда предлагает более дешёвую ветвь, и замена печи на плавильную печь вообще ничего не меняет в списке покупок.
Где дерево останавливается
Пятнадцать предметов считаются сырыми листьями — развёртка останавливается на них, а не идёт дальше:
дубовое бревно · булыжник · рудное железо · рудное золото · алмаз · редстоуновая пыль · песок · звезда Незера · обсидиан · незеритовый лом · сахарный тростник · кожа · бамбук · шерсть · нить
Два из них заслуживают примечания. Незеритовый лом — это на самом деле переплавленные древние обломки, и для простоты он считается сырьём — так что стоимость незерита будет занижена на один шаг плавки за каждый лом. А дубовое бревно заменяет «любое бревно», поэтому дерево не разветвляется на десять пород дерева (и два стебля Незера), которые ведут себя одинаково.
Знать, где дерево упирается в дно, так же важно, как и само дерево: стоимость в «сырье» имеет смысл, только когда знаешь, какие материалы расчёт считает сырьём.