Твікери класу
Твікери класу, раніше відомі як розширювачі доступу, перш ніж отримати подальшу функціональність, надають інструменти трансформації, що доповнюють маніпуляції байт-кодом міксина. Вони також дозволяють зробити деякі модифікації середовища виконання доступними в середовищі розробки.
WARNING
Твікери класу не є специфічними для певної версії Minecraft, але доступні лише починаючи з 0.18.0 Завантажувача Fabric та Loom 1.12, і можуть націлюватися лише на класи стандартного Minecraft.
Налаштування
Формат файлу
Файли твікерів класу зазвичай називаються як ваш ID мода, example-mod.classtweaker, щоб допомогти плаґінам IDE їх розпізнати. Їх слід зберігати в resources.
У першому рядку файлу має бути такий заголовок:
classtweaker
classTweaker v1 official1
Файли налаштування класу можуть містити порожні рядки та коментарі, що починаються з #. Коментарі можуть починатися в кінці рядка.
Синтаксис може відрізнятися залежно від використовуваної функції, але кожна модифікація оголошується як «записи» в окремих рядках і починається з «директиви», яка визначає тип модифікації, яку слід застосувати. Елементи запису можна відокремлювати будь-якими пробілами, включаючи Tab.
Перехідні записи
Щоб зробити ваші зміни в декомпільованому вихідному коді видимими для модів, які залежать від вашого, додайте префікс директиви transitive-:
classtweaker
# Transitive Access Widening directives
transitive-accessible
transitive-extendable
transitive-mutable
# Transitive Interface Injection directive
transitive-inject-interfaceУказівка розташування файлу
Розташування файлу твікера класу має бути вказано у ваших файлах build.gradle і fabric.mod.json. Пам’ятайте, що ви також повинні залежати від 0.18.0 Завантажувача Fabric або новішої версії, щоб використовувати твікери класу.
Специфікації все ще називаються на честь розширювачів доступу, щоб зберегти зворотну сумісність.
build.gradle
gradle
No lines matched.fabric.mod.json
json
...
"accessWidener": "example-mod.classtweaker",
...Після вказівки розташування файлу у файлі build.gradle перезавантажте проєкт Gradle в IDE.
Перевірка файлу
Усталено твікер класу ігноруватиме записи, що посилаються на цілі модифікації, які неможливо знайти. Щоб перевірити, чи всі класи, поля та методи, указані у файлі, дійсні, запустіть завдання Gradle validateAccessWidener.
Помилки вкажуть на будь-який недійсний запис, але вони можуть стосуватися того, яка частина запису недійсна.




