Minecraft Forge: API для модификаций¶
Minecraft Forge — это свободно распространяемый программный слой (API) и платформа загрузки модификаций для компьютерной версии игры Minecraft, созданный сообществом разработчиков. Forge позволяет игрокам устанавливать и запускать множество независимо созданных модов одновременно, обеспечивая их совместимость друг с другом и с конкретной версией игры, а также предоставляет разработчикам единый набор инструментов для изменения игрового процесса.
¶История
Проект был основан в 2011 году программистом под псевдонимом LexManos. Первоначально Forge возник как ответ на фрагментацию сообщества моддеров: ранние инструменты (такие как ModLoader и Minecraft Coder Pack) не обеспечивали достаточной совместимости между модами, что приводило к конфликтам и «крашам» игры. Forge объединил усилия разработчиков, предложив единую систему хуков (hooks) — точек входа в игровой код, через которые моды могут перехватывать и изменять стандартное поведение игры.
С выходом обновлений Minecraft (особенно с версии 1.13, где Mojang внедрила официальную систему Data Pack) Forge пережил несколько этапов реструктуризации. Наиболее значимым изменением стал выпуск версии Forge для Minecraft 1.17, которая полностью отказалась от старой системы запуска и перешла на новый формат, известный как «FML» (Forge Mod Loader) третьего поколения. Это потребовало от моддеров обновления их кода, но обеспечило более высокую стабильность и скорость загрузки.
¶Архитектура и устройство
Технически Forge состоит из двух ключевых компонентов:
- Forge Mod Loader (FML) — отвечает за обнаружение модов в папке
mods, проверку их зависимостей и загрузку в правильном порядке. FML управляет жизненным циклом мода, вызывая события (events) на разных этапах запуска игры. - Minecraft Forge API — набор библиотек и классов, которые разработчики используют при написании кода. API предоставляет доступ к рендерингу, генерации мира, рецептам крафта, игровым сущностям и интерфейсу пользователя.
Моды для Forge пишутся на языке Java и распространяются в виде файлов .jar. Каждый мод содержит файл манифеста mods.toml, в котором указываются версия, зависимости и описание. Forge поддерживает механизм событий (Event Bus), позволяющий модам реагировать на действия игрока или изменения игрового мира без прямого редактирования базового кода Minecraft.
¶Значение и применение
Forge является одной из двух основных платформ для модификации Minecraft (второй является Fabric). На протяжении большей части 2010-х годов Forge оставался доминирующим инструментом, поддерживая тысячи популярных модов, включая такие крупные проекты, как IndustrialCraft, Thaumcraft, Twilight Forest и многие другие. Многие сборки модов (модпаки), распространяемые через лаунчеры (например, CurseForge или Technic), базируются именно на Forge.
Платформа используется как для одиночной игры, так и для серверов, позволяя администраторам добавлять плагины, меняющие правила и экономику. Forge также активно применяется в образовательных целях и в индустрии для прототипирования игровых механик.
¶Критика и ограничения
Основным недостатком Forge является его инертность: выпуск новой версии Forge под новое обновление Minecraft часто занимает несколько недель или месяцев, что замедляет обновление модов. Кроме того, из-за сложности кодовой базы порог входа для начинающих моддеров выше, чем у альтернативного API Fabric, который предлагает более легковесную и модульную архитектуру. Также Forge исторически страдал от проблем с производительностью при большом количестве установленных модов, хотя современные версии частично решили эту проблему.
¶Текущее состояние
По состоянию на 2024 год Forge продолжает активно поддерживаться для актуальных версий Minecraft (1.20.x и новее). Наряду с ним существует форк под названием NeoForge, созданный в 2023 году после внутренних разногласий в команде разработчиков. NeoForge унаследовал большую часть кодовой базы Forge и продолжает развиваться параллельно, сохраняя совместимость с большинством существующих модов. Обе платформы остаются бесплатными и распространяются под лицензией с открытым исходным кодом (LGPL).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

