Структура проєкту 26.1.2
Огляд структури проєкту мода Fabric.
На цій сторінці буде описано структуру проєкту мода Fabric і призначення кожного файлу та теки в проєкті.
fabric.mod.json
Файл fabric.mod.json — це основний файл, який описує ваш мод Завантажувача Fabric. Він містить таку інформацію, як ID мода, версія та залежності.
Найважливіші поля у файлі fabric.mod.json:
id: 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
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 використовується для зберігання початкового коду Java для вашого мода — він існує як на клієнтському, так і на серверному середовищах.
src/client/java
Тека src/client/java використовується для зберігання клієнтського початкового коду Java, наприклад коду рендера або логіки на стороні клієнта, наприклад постачальників кольорів блока.

