Перейти к содержимому
MinecraftUZ

Инструменты

Калькулятор порядка зачарований

Найдите самый дешёвый порядок работы с наковальней — и увидите, когда будет «Слишком дорого!».

Наковальня — самый дорогой механизм в Minecraft, и почти никто не пользуется ею в правильном порядке. Каждый раз, когда вы соединяете два предмета, игра берёт плату за зачарования того предмета, который вы отдаёте, плюс штраф за то, сколько раз каждый из двух предметов уже прошёл через наковальню. Этот штраф удваивается при каждом проходе. Наложите четыре книги на меч как придётся — и заплатите заметно больше, чем за те же четыре книги в правильном порядке, а в какой-то момент наковальня просто откажется работать и покажет Слишком дорого!.

Калькулятор перебирает все возможные порядки — книги напрямую на предмет, книги, соединённые между собой заранее, и любые сочетания того и другого — и возвращает план с наименьшей суммарной ценой в уровнях при условии, что ни одна отдельная операция не упирается в стену в 40 уровней. На каждом шаге он показывает, что кладётся в левую ячейку, а что в правую: наковальня несимметрична, и перестановка меняет цену.

Расчёт исходит из того, что каждое зачарование у вас уже есть на отдельной книге нужного уровня. Если книгу Острота V ещё предстоит собрать из двух книг Острота IV, это отдельный счёт наковальни поверх этого.

0 — для нового предмета

Зачарования — выбрано 4 из 8

Затемнены, потому что конфликтуют с уже выбранным: Бесконечность, Шёлковое касание.

Алмазная кирка

Починка, Прочность III, Удача III, Эффективность V

23
Всего уровней
11
Самый дорогой шаг
4
Проходов через наковальню
  1. Шаг 13 ур.

    Левая ячейка: Алмазная кирка

    Правая ячейка: Книга: Прочность III

    Результат прошёл через наковальню 1× — следующий штраф 1.

  2. Шаг 27 ур.

    Левая ячейка: Алмазная кирка (Прочность III)

    Правая ячейка: Книга: Удача III

    Результат прошёл через наковальню 2× — следующий штраф 3.

  3. Шаг 32 ур.

    Левая ячейка: Книга: Эффективность V

    Правая ячейка: Книга: Починка

    Результат прошёл через наковальню 1× — следующий штраф 1.

  4. Шаг 411 ур.

    Левая ячейка: Алмазная кирка (Прочность III, Удача III)

    Правая ячейка: Книга (Починка, Эффективность V)

    Результат прошёл через наковальню 3× — следующий штраф 7.

Из этих 23 уровней 16 — собственная цена зачарований, посчитанная по одному разу. Остальные 7 — штраф за предыдущие работы, а там, где план сначала сливает две книги, ещё и повторная плата за то же зачарование. Готовый предмет прошёл через наковальню 3×, так что следующий ремонт или зачарование начинается с долгом в 7 уровней.

Как это работает

Цена одной операции на наковальне

В Java Edition соединение предмета-цели с отдаваемым предметом стоит в уровнях:

цена = (зачарования отдаваемого предмета) + (2^a − 1) + (2^b − 1)

где a и b — сколько раз цель и отдаваемый предмет уже прошли через наковальню. Слагаемое 2^n − 1 и есть штраф за предыдущие работы. Новый предмет платит 0, потом 1, потом 3, 7, 15, 31, 63 — оно удваивается каждый раз, поэтому седьмая операция над одним предметом обычно безнадёжна. У результата соединения собственный счётчик равен max(a, b) + 1, так что предварительное слияние книг держит счётчик предмета низким ценой того, что за эти зачарования вы платите дважды.

Сколько стоит каждое зачарование

Зачарование на отдаваемом предмете стоит уровень × множитель. Множитель задаётся редкостью зачарования, и книги дешевле зачарованных предметов:

  • Обычные (Защита, Острота, Эффективность, Сила) — 1 за уровень с книги, 1 с предмета
  • Необычные (Прочность, Невесомость, Заговор огня) — 1 за уровень с книги, 2 с предмета
  • Редкие (Удача, Добыча, Починка, Подводная ходьба) — 2 за уровень с книги, 4 с предмета
  • Очень редкие (Шёлковое касание, Шипы, Бесконечность, Скорость души, проклятия) — 4 за уровень с книги, 8 с предмета

Значит, книга Починка стоит 2 уровня, книга Удача III — 6, книга Эффективность V — 5, а книга Шипы III — 12. Инструмент всегда считает по книгам, потому что это более дешёвый путь: соединение двух зачарованных предметов удваивает эти цифры.

Разбор примера

Алмазная кирка с Эффективность V, Удача III, Прочность III и Починка. Четыре книги стоят 5, 6, 3 и 2 уровня — всего 16, если бы каждая считалась по одному разу. Самый дешёвый порядок, который находит инструмент, обходится в 23 уровня за четыре операции:

  1. Кирка + книга Эффективность V — 5 уровней (5 + 0 + 0). Счётчик кирки стал 1.
  2. Кирка + книга Удача III — 7 уровней (6 + 1 + 0). Счётчик стал 2.
  3. Книга Прочность III + книга Починка — 2 уровня (2 + 0 + 0). Счётчик получившейся книги теперь 1.
  4. Кирка + собранная книга — 9 уровней (3 + 2 за два зачарования и 3 + 1 за два штрафа).

5 + 7 + 2 + 9 = 23. Если накладывать все четыре книги по одной, выйдет 27: штрафы за предыдущие работы дадут 0 + 1 + 3 + 7 = 11 вместо 0 + 1 + 0 + 4 = 5. Предварительное слияние двух дешёвых книг заставляет заплатить за Прочность дважды и всё равно экономит четыре уровня.

Порог «Слишком дорого!»

Наковальня в режиме выживания отказывается от любой отдельной операции ценой в 40 уровней и выше. Это ограничение на операцию, а не на общую сумму: план, который тратит 70 уровней за семь посильных шагов, совершенно законен, а один шаг на 40 уровней — нет. Творческий режим ограничения не видит вовсе. Инструмент ищет только такие планы, где каждый шаг остаётся ниже 40; если такого плана нет, он честно об этом говорит, вместо того чтобы выдать порядок, который игра отвергнет.

Где мы менее уверены

Три оговорки, намеренно осторожные. Первая: переименование предмета на наковальне добавляет 1 уровень к той операции и здесь не учитывается — если переименовываете, прибавьте 1 к нужному шагу. Вторая: Java не берёт плату за зачарования, которые цель принять не может, а просто их игнорирует, поэтому инструмент предлагает только то, что этот предмет действительно способен взять. Третья и самая важная: начиная с 1.21 Mojang хранит у каждого зачарования отдельное значение anvil_cost, но набор данных, на котором построен сайт, отдаёт только старый вес редкости. Множитель мы выводим из этого веса, и он совпадает с anvil_cost у всех зачарований, которые мы смогли проверить, — но если Mojang когда-нибудь разведёт эти две величины для конкретного зачарования, цена именно этого зачарования здесь окажется неверной. В Bedrock Edition часть таких шагов стоит иначе, и эту редакцию инструмент не описывает.