MixinBooter
Позволяет любым mixins, работающим с модами, беспрепятственно работать на версиях 1.8 - 1.12.2
Текущая версия Mixin: UniMix 0.15.3 forked by CleanroomMC, derived from 0.8.7 branch by LegacyModdingMC
Текущая версия MixinExtra: 0.5.0
Для разработчиков:
- Добавьте репозиторий CleanroomMC и зависьте от maven-записи MixinBooter:
repositories {
maven {
url 'https://maven.cleanroommc.com'
}
}
dependencies {
// Common:
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.7') {
transitive = false
}
annotationProcessor ('zone.rong:mixinbooter:10.7') {
transitive = false
}
// RetroFuturaGradle:
String mixinBooter = modUtils.enableMixins('zone.rong:mixinbooter:10.7')
// modUtils.enableMixins('zone.rong:mixinbooter:10.7', 'mod_id.mixins.refmap.json') << add refmap name as 2nd arg (optional)
api (mixinBooter) {
transitive = false
}
annotationProcessor (mixinBooter) {
transitive = false
}
}
Псевдо-история изменений:
Начиная с 4.2, API MixinBooter изменилось, и все моды, использующие mixins, поощряются к зависимости от MixinBooter, даже те, которые подмешиваются в классы vanilla/forge/библиотек. Чтобы избежать несовместимости версий mixin с модами, которые crash при попытке реализации модифицированных mixins (обращаем внимание на VanillaFix).
Начиная с 5.0, MixinExtras от @LlamaLad7 включен в состав (shaded). Доступен для использования разработчиками.
Начиная с 8.0, MixinBooter теперь работает с 1.8 - 1.12.2. Одна сборка работает со всеми этими версиями! (TODO: Поддержка LiteLoader?)
Начиная с 8.4, MixinBooter активно пытается быть совместимым с SpongeForge
Начиная с 9.2, MixinBooter восстанавливает старую аннотацию MixinLoader для использований в 1.8.x.
Начиная с 10.0, MixinBooter следует за Mixin 0.8.7
Полезные советы:
- Обратитесь к
IEarlyMixinLoader
для mixins, которые затрагивают vanilla, forge или любые классы, передаваемые в classloader очень рано (например, Guava). - Обратитесь к
ILateMixinLoader
для mixins, которые затрагивают моды. - Аннотация
@MixinLoader
, начиная с 4.2, устарела.функциональность аналогичнаILateMixinLoader
. Оба могут использоваться одновременно, особенно для версий 1.8.x, где это необходимо.