20 Тиков 20 тиков в секунду
Моддинг

Мод не правит исходники — он встаёт в точки регистрации

Загрузчик не «дописывает» игру. Он даёт места, куда мод может вставить своё, не трогая чужой код.

обновлено 28 октября 2026 2 мин чтения Java Edition 1.18+
Модифицированная мастерская Minecraft: медные трубы, светящиеся энергоячейки, конвейер и ряд сундуков с воронками

Моддинг Minecraft стал отдельной школой программирования: результат виден сразу, а абстрактные классы превращаются в блоки, предметы и события. Вместо правки исходников мод подключается через загрузчик и API и регистрирует собственные элементы в предусмотренных точках.

Forge и Fabric: выбор не про вкус

Forge — широкая экосистема и много крупных сборок. Fabric легче, быстрее обновляется и собирается из модульных библиотек. Разница проявляется не в описании, а в зависимостях: под конкретную версию игры нужен загрузчик той же ветки и те библиотеки, которые он тянет. Сборка — это граф совместимости, а не папка с файлами: одна несовпавшая версия снимает половину списка.

Как появляется один блок

Новый блок описывает свойства, форму, звуки, модель и локализованное имя, после чего регистрируется под уникальным идентификатором вида modid:block_name. Игра получает объект через реестр. Серверная часть отвечает за состояние и правила, клиентская — за то, как это нарисовать. Отсюда частая ошибка новичка: блок на сервере работает, а в клиенте его не видно, потому что клиентская часть не подключилась.

События и то, чего в них нет

API отдаёт события: загрузка мира, нажатие, изменение блока, получение урона. Если нужного события нет, идут через точки внедрения и трансформацию байткода. Это работает и одновременно самый хрупкий механизм: чем больше чужого кода заменено, тем выше шанс конфликта с другим модом. Хороший тон — менять минимум и не трогать то, что можно просто прочитать.

С чего начинать, чтобы не бросить

С одного блока с одним свойством. Дальше — фиксировать версии игры, загрузчика и JDK, разделять клиентский и серверный код и читать журнал запуска вместо того, чтобы гадать по поведению в игре. Проверять мод в чистом профиле: если сборка падает, первым делом убирают чужие моды и оставляют свой.

Перед тем как выкладывать сборку

  • Зафиксируйте версии: игра, загрузчик, JDK, каждая библиотека.
  • Проверьте чистый профиль — только ваш мод.
  • Прочитайте лицензию чужого кода, который скопировали.
  • Разделите клиентскую и серверную части: без этого сборка не встаёт на сервер.