У меня отличные новости, ведь совсем недавно вышел Forge 1.17.1! Я его долго ждал, так как не хотелось продолжать что-то писать для старой версии. Мог, но кайф не тот. Так что самое время переписать гайд по моддингу Minecraft.
И в этот раз я хочу изменить и стиль повествования, и уровень разъяснений. Предыдущие гайды вообще частично были переведены с английского, и подача там была тоже своеобразная.
Ещё очень часто я зависал из-за проблемы понимания аудитории. С одной стороны, я трачу время для разъяснений очевидного тем, кто имеет хоть какой-то опыт. Но при этом не всегда разбираю достаточно для того, чтобы человек без хоть какого-то понимания смог бы это повторить. Так что теперь мы опустим повторяющиеся ненужные места и разъяснения, а комментарии будут только по факту: что делает функция, для чего нужен параметр и т.д.
Буду рад любому фидбеку и надеюсь, что кому-то мой труд поможет в реализации идей.
Готовим проект Forge мода
Нет ничего приятнее, чем начинать новый проект. Нет ничего сложнее, что его закончить… Но сейчас об этом рано беспокоится 😀
Учтите, что Minecraft недавно перешел на 16 версию Java. Пожалуйста, убедитесь, что у вас установлена JDK 16 Java, а также прописана JAVA_HOME.
А для создания мода на Forge нам нужен Forge MDK (Mod Development Kit). Найти его можно тут.

Выбираем подходящую версию и качаем. Это проект мода, который содержит весь необходимый инструментарий для работы, в т.ч. шаблон мода и исполняемые файлы.
Распаковываем архив в пустую папку, где вам будет удобно.
Как я и указал выше, это проект, и его можно открыть вашей IDE. В официальной документации можете найти все поддерживаемые IDE. Я же, по традиции, буду писать в Intellij IDEA.

Для генерации конфигурации запуска игры из IDE и загрузки необходимого запускаем genIntellijRuns:

Проблем возникнуть не должно, и после сообщения о завершении операции:
1 |
19:13:21: Task execution finished 'genIntellijRuns'. |
Видим готовые конфигурации для разных вариантов запуска:

Для теста выбираем runClient и жмём Shift+F10 (настаиваю на шорткатах, т.к. делает ваш труд более эффективным) или зелёную иконку Run.

Должна запуститься игра, в которую уже вшит Forge. Ваш будущий (а пока тестовый) мод тоже должен быть там.

Чтобы не перегружать материал, на этом тут всё, но обязательно переходите к следующей части!
Список всех уроков: Создание модов для Minecraft 1.15-1.17 [Forge/Fabric]
Исходный код проекта на Github