Структура проекта 26.1.2
Обзор структуры проекта Fabric мода.
На этой странице будет рассмотрена структура проекта Fabric мода, и назначение каждого файла и папки в проекте.
fabric.mod.json
Файл fabric.mod.json - это главный файл который описывает ваш мод загрузчику Fabric. Он содержит такую информацию как идентификатор мода, версию и зависимости.
Важнейшие поля в файле fabric.mod.json:
id: идентификатор мода (должен быть уникальным);name: название мода;environment: среда выполнения, в которой запускается ваш мод. Например,client,server, или*для обеих;entrypoints: точки входа вашего мода. Например,mainилиclient;depends: моды, от которых зависит ваш мод;mixins: миксины, которые предоставляет ваш мод.
Точки входа
Как упоминалось ранее, файл fabric.mod.json содержит поле с именем entrypoints — оно используется для указания точек входа, предоставляемых вашим модом.
Генератор шаблонных модов по умолчанию создает как main, так и client точку входа:
- Точка входа
mainиспользуется для общего кода и содержится в классе, реализующемModInitializer - Точка входа
clientиспользуется для кода, специфичного для клиента, и ее класс реализуетClientModInitializer
Эти точки входа вызывается, когда игра запускается.
Вот пример простой main точки входа этих логов, которая записывает сообщение на консоль при запуске игры:
java
public class ExampleMod implements ModInitializer {
// This logger is used to write text to the console and the log file.
// It is considered best practice to use your mod id as the logger's name.
// That way, it's clear which mod wrote info, warnings, and errors.
public static final String MOD_ID = "example-mod";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
@Override
public void onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.
LOGGER.info("Hello Fabric world!");
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
src/main/resources
Папка src/main/resources используется для хранения ресурсов которые использует ваш мод, например текстуры, модели, и звуки.
Это так же папка хранения fabric.mod.json и все файлы конфигурации, которые использует ваш мод.
Активы хранятся в структуре, которая повторяет структуру ресурс-паков - например, текстура для блока будет храниться в assets/example-mod/textures/block/block.png.
src/client/resources
Папка src/client/resources используется для хранения клиентоориентированных ресурсов.
src/main/java
Папка src/main/java используется для хранения исходного кода вашего мода, она существует на клиентской так и на серверной среде.
src/client/java
Папка src/client/java используется для хранения клиентоориентированного исходного кода, например код рендеринга или логика на стороне клиента - например предоставляемый цвет блока.

