Почему Minecraft пишет «Слишком дорого!» — и как порядок работы с наковальней помогает этого избежать
Штраф за предыдущую работу удваивается каждый раз, когда вы используете наковальню. Вот правило, которое объясняет это, и как правильно комбинировать предметы, чтобы полный набор зачарований никогда не превышал лимит в 40 уровней.
Каждое объединение на наковальне добавляет к предмету скрытый счетчик, называемый штрафом за предыдущую работу. Он начинается с 0, становится 1 после первого объединения, затем 3, 7, 15, 31 — удваиваясь и прибавляя единицу каждый раз. Этот штраф полностью добавляется к стоимости в уровнях, поэтому меч, который стоил 5 уровней в понедельник, в пятницу будет стоить 35.
Ванильная Java-версия отклоняет любое объединение стоимостью выше 39 уровней с сообщением Too Expensive!. Поэтому цель не в том, чтобы «сделать каждый шаг дешевым», а в том, чтобы сохранить дерево неглубоким.
Правило, которое действительно имеет значение
Объединение двух предметов суммирует их штрафы, а затем увеличивает результат на единицу. Две новые Книги (штраф 0), объединенные в одну, дают Книгу со штрафом 1. Объедините ее с вашим мечом, и меч получит суммарный штраф.
Поэтому самый дешевый путь — это сбалансированное бинарное дерево, а не цепочка:
bad sword + book1 + book2 + book3 + book4 (penalty 1, 3, 7, 15 …)
good (book1+book2) + (book3+book4) -> sword (penalty stays low on both sides)
Практическая последовательность для инструмента с полным набором зачарований
- Объедините Книги до того, как они коснутся инструмента.
- Объедините пары в две «супер-Книги».
- Объедините эти две в одну.
- Примените эту единственную Книгу к новому, никогда не использовавшемуся на наковальне инструменту.
Это четыре объединения вместо пяти, и сам инструмент получает штраф только один раз.
Где порядок все еще имеет значение
- Ремонт тоже считается объединением. Починка (Mending) на инструменте на раннем этапе означает, что каждый ремонт
бесплатен, но ремонт до Починки каждый раз увеличивает штраф.
- Переименование учитывается. Переименование предмета в любой момент добавляет к тому же счетчику — переименовывайте его
в последнюю очередь или примите стоимость.
- Бедрок отличается. Бедрок (Bedrock) по-другому ограничивает отображение на
Too Expensive!и
позволяет некоторые объединения, которые Java-версия отклоняет; приведенные ниже расчеты относятся к Java Edition.
Вместо того чтобы делать это на Бумаге, поместите предмет и зачарования в Калькулятор зачарований — он ищет порядки объединения и возвращает самый дешевый, с точной стоимостью в уровнях на каждом шаге.