Loom надає DSL для налаштування системної властивості груп шляху класів завантажувача Fabric. Це дозволяє Завантажувачу Fabric групувати разом різні записи шляху до класів, що корисно для модів, які розділяють свій код на кілька вихідних наборів, таких як клієнтський і загальний код або загальний і спеціальний код для платформи. Це може бути важливо, щоб переконатися, що ваші ресурси модів завантажуються правильно. Щоразу, коли у вас є один мод, який створено з кількох вихідних наборів, ви повинні визначити всі вихідні набори в блоці loom.mods, щоб гарантувати, що Завантажувач Fabric зможе їх правильно згрупувати. Ця функція застосовується лише під час запуску гри у вашому середовищі розробки та не впливає на остаточну jar модів, створену вашою збіркою (оскільки все впаковано в один jar).
groovy
loom {
mods {
"example-mod" {
sourceSet sourceSets.main
sourceSet sourceSets.client
}
}
}1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
У наведеному вище прикладі example-mod створено з двох вихідних наборів: main і client. Loom налаштує Запускач Fabric, щоб згрупувати ці вихідні набори в одній групі шляху класів, гарантуючи, що вони правильно завантажуються під час виконання.
groovy
loom {
mods {
"example-mod" {
sourceSet sourceSets.main
sourceSet sourceSets.client
}
"example-mod-test" {
sourceSet sourceSets.testmod
}
}
}1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
У наведеному вище прикладі example-mod-test створено з єдиного вихідного набору: testmod. Loom налаштує Запускач Fabric, щоб згрупувати цей вихідний набір у власній групі шляхів класів, окремо від example-mod.
Підпроєкти
Якщо ви бажаєте визначити моди, які охоплюють кілька проєктів Gradle (часто в багатоплатформових налаштуваннях), ви можете зробити це, вказавши назву вихідного набору та шлях до проєкту.
groovy
loom {
mods {
"example-mod" {
sourceSet sourceSets.main
sourceSet("main", ":core")
}
}
}1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Якщо проєкт, від якого ви залежите, не використовує Loom, ви повинні застосувати до цього проєкту плаґін net.fabricmc.fabric-loom-companion. Це дозволяє проєкту loom отримувати доступ до необхідних даних у спосіб, який відповідає найкращим практикам Gradle. Цей плаґін надає лише необхідну інформацію для груп шляхів класів і не застосовує інші функції Loom.
groovy
plugins {
id 'net.fabricmc.fabric-loom-companion'
}1
2
3
2
3
Затінені залежності
Якщо ви затінюєте залежності у свій мод jar, вам слід також визначити налаштування, яка містить затінені залежності, у блоці loom.mods. Це гарантує, що Завантажувач Fabric зможе правильно згрупувати затінені залежності з кодом вашого мода. Ви не повинні робити це для інших залежностей модів або залежностей, що містять jar усередині jar за допомогою include.
groovy
loom {
mods {
"example-mod" {
sourceSet sourceSets.main
configuration configurations.shade
}
}
}1
2
3
4
5
6
7
8
2
3
4
5
6
7
8

