Проблема расчёта брони в старых версиях Forge
С обновлением Minecraft до версии 1.9 разработчики Mojang полностью переработали механику защиты. Появилась новая характеристика — прочность брони (armor toughness), изменилась формула снижения урона, а сама броня стала поддерживать дробные значения очков защиты. Это добавило глубины сражениям и позволило картостроителям точнее настраивать баланс через NBT-теги и зелья. Однако сборки Forge для версий 1.9.4, 1.10 и ранних билдов 1.11.2 внесли неожиданную путаницу.
Дело в том, что разработчики Forge временно откатили алгоритм расчёта брони к модели 1.8.x. В результате все нововведения — изменённые через атрибуты показатели брони, эффекты зелий, влияющие на защиту, и сама прочность брони — попросту игнорировались. Это ломало ванильные карты, где защита была тщательно выверена через командные блоки, и делало бесполезными многие моды, опиравшиеся на новую механику. Официальное исправление появилось только в сборке Forge 1.11.2-13.20.0.2307, но для 1.9.4 и 1.10 проблема осталась нерешённой. Именно здесь на помощь приходит небольшой, но важный мод Armor Recalc.
Что делает Armor Recalc
Мод заменяет устаревший код Forge на актуальную ванильную формулу расчёта урона. Он возвращает корректную работу прочности брони, NBT-значений и модификаторов атрибутов, которые были сломаны в промежуточных сборках. По сути, Armor Recalc восстанавливает справедливость для всех, кто продолжает играть на 1.9.4 или 1.10 с модами и хочет видеть правильное снижение урона.
Если вы используете старую сборку Forge и замечаете, что зачарованная броня или эффекты сопротивления не дают ожидаемой защиты, скорее всего, виноват именно этот баг. Мод исправляет ситуацию без необходимости обновлять весь сервер или клиент до более новой версии, что особенно ценно для сборок с десятками модификаций, завязанных на конкретный билд игры. К слову, установить Armor Recalc можно без лишних хлопот через лаунчер foxygame.net — там реализован удобный каталог модов прямо в меню, так что не придётся искать файлы по форумам и вручную копировать их в папку mods.
Технические детали: почему дробная броня не работала
В ванильной версии 1.9+ формула урона выглядит так:
vanillaDamage = incomingDamage * (1 - max(defensePoints / 5, defensePoints - incomingDamage / 2) / 25)
Проблема заключалась в том, что при чтении переменной defensePoints значение типа double принудительно приводилось к целому числу, а затем обратно к float. Дробная часть отсекалась, и броня с показателем 2.5 работала точно так же, как 2.0. Мод Armor Recalc использует хук Forge, чтобы скорректировать входящий урон таким образом, будто расчёт изначально проводился с настоящим дробным значением защиты. Благодаря этому 2.5 очка брони действительно становятся лучше, чем 2.0, но хуже, чем 3.0 — именно так, как и задумывалось разработчиками.
Совместимость и подводные камни
Мод ориентирован на сборки Forge с 1.9.4 до 1.11.2-13.20.0.2306. На более поздних версиях он не нужен, поскольку проблема уже исправлена на уровне Forge. Однако важно учитывать нюанс с броней, использующей систему ISpecialArmor. Большинство модов не задействуют этот интерфейс, и их броня работает предсказуемо. Но если в сборке присутствуют предметы вроде набора из тёмной стали из Ender IO, поведение может быть нестабильным.
Основные моменты совместимости:
- Обычная броня, не использующая
ISpecialArmor(например, из Simple Ores или Tinkers’ Construct), функционирует полностью корректно. - Броня с особыми системами снижения урона через
ISpecialArmorможет потерять часть своих уникальных свойств — например, у тёмной стали перестанут работать RF-улучшения прочности, хотя базовые защитные характеристики сохранятся. - Версия мода для 1.9.0 дополнительно учитывает частичные очки брони, но из-за того, что откат кода Forge произошёл в середине жизненного цикла 1.9.0, на поздних сборках этой ветки мод может работать некорректно. Рекомендуется проверять конкретный билд Forge перед установкой.
Перед добавлением Armor Recalc в крупную модпак-сборку стоит протестировать взаимодействие с ключевыми модами, особенно если они активно меняют атрибуты защиты через зелья или собственные механики. В большинстве случаев мод ведёт себя прозрачно и не вызывает конфликтов, но осторожность не помешает.
Почему это важно для выживания и картостроения
Точный расчёт брони критичен не только в PvP-сражениях, но и при прохождении приключенческих карт. Авторы часто балансируют экипировку через командные блоки, задавая дробные значения защиты, чтобы создать плавную кривую сложности. Без Armor Recalc все эти настройки превращаются в фикцию, и игрок получает либо слишком лёгкий, либо неоправданно суровый опыт. Восстановление ванильной формулы возвращает картам задуманный разработчиками уровень челленджа.
Кроме того, мод полезен серверам, которые хотят сохранить совместимость с клиентами на старых версиях Forge, но при этом не жертвовать корректностью игровых механик. Он не добавляет новых блоков или предметов, а лишь чинит то, что было сломано, поэтому его влияние на производительность минимально.
Заключение
Armor Recalc — это точечный патч, который устраняет досадный просчёт в сборках Forge для Minecraft 1.9.4 и 1.10. Он возвращает на место ванильную логику расчёта брони, позволяя дробным очкам защиты и модификаторам атрибутов работать так, как задумано. Если ваша любимая сборка до сих пор живёт на этих версиях, а странности с уроном вызывают вопросы, этот небольшой мод станет незаметным, но действенным решением. Главное — помнить о возможных нюансах с ISpecialArmor и проверять совместимость с ключевыми модами. В остальном же он делает игру честнее и ближе к оригинальным механикам, что всегда ценится в мире кубических приключений.