MixinBooter
Позволяет легко использовать любые mixins, предназначенные для модов, в версиях 1.8 - 1.12.2
Текущая версия Mixin: UniMix 0.15.3, форк от CleanroomMC на основе ветки 0.8.7 от LegacyModdingMC
Текущая версия MixinExtra: 0.5.0-beta4
Для разработчиков:
- Добавьте репозиторий CleanroomMC и подключите зависимость через Maven:
repositories {
maven {
url 'https://maven.cleanroommc.com'
}
}
dependencies {
// Общие:
annotationProcessor 'org.ow2.asm:asm-debug-all:5.2'
annotationProcessor 'com.google.guava:guava:32.1.2-jre'
annotationProcessor 'com.google.code.gson:gson:2.8.9'
// ForgeGradle:
implementation ('zone.rong:mixinbooter:10.0') {
transitive = false
}
annotationProcessor ('zone.rong:mixinbooter:10.0') {
transitive = false
}
// RetroFuturaGradle:
String mixinBooter = modUtils.enableMixins('zone.rong:mixinbooter:10.0')
// modUtils.enableMixins('zone.rong:mixinbooter:10.0', 'mod_id.mixins.refmap.json') << укажите имя refmap вторым аргументом (опционально)
api (mixinBooter) {
transitive = false
}
annotationProcessor (mixinBooter) {
transitive = false
}
}
История изменений:
Начиная с версии 4.2, API MixinBooter изменилось. Все моды, использующие mixins, должны подключать MixinBooter для предотвращения конфликтов версий.
Начиная с версии 5.0, включена поддержка MixinExtras от @LlamaLad7.
Начиная с версии 8.0, MixinBooter поддерживает версии 1.8 - 1.12.2 в одном файле сборки.
Начиная с версии 8.4, добавлена совместимость с SpongeForge.
Начиная с версии 9.2, восстановлена поддержка аннотации @MixinLoader для версий 1.8.x.
Начиная с версии 10.0, используется Mixin 0.8.7.
Рекомендации:
- Используйте интерфейс
IEarlyMixinLoader
для mixins, влияющих на ванильные классы или библиотеки, загружаемые на раннем этапе (например, Guava). - Используйте интерфейс
ILateMixinLoader
для mixins, влияющих на другие моды. - Аннотация
@MixinLoader
аналогична по функционалуILateMixinLoader
. Оба варианта можно использовать одновременно, особенно для версий 1.8.x.