- Загрузчики
- Forge
- Скачиваний на Modrinth
- 2 млн
- Подписчиков на Modrinth
- 41
- версий
- 38
- Обновлён
- 12 октября 202612 окт.
- Опубликован
- в 2023
Коротко о моде
Нужен и в игре, и на сервере
MixinBooter
Позволяет любым миксинам, работающим с модами, без лишних усилий работать на 1.8 - 1.12.2
Текущая версия Mixin: CleanMix 0.2.9 от CleanroomMC, форк SpongePowered/Fabric Mixin (0.8.7)
- Текущая версия MixinExtra: 0.5.4
Псевдо-чейнджлог:
Начиная с 4.2, API MixinBooter изменился, и *всем модам*, использующим миксины, рекомендуется зависеть от MixinBooter, даже тем, которые микшинят в классы vanilla/forge/библиотек. Это нужно, чтобы избежать несовпадений версий миксинов, из-за которых моды падают при попытке реализовать модовые миксины (привет, VanillaFix). Спасибо @embeddedt за рекомендацию и помощь во внедрении этого изменения!
Начиная с 5.0, MixinExtras от @LlamaLad7 включён в состав. Доступен для использования разработчиками.
Начиная с 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
Начиная с 11.0, MixinBooter построен на CleanMix. В рамках усилий по созданию единого бэкенда с Cleanroom.
- Больше не нужно самому объявлять зависимости для аннотационного процессора.
- Также добавлен файл конфигурации (
config/mixinbooter.cfg) для чёрного списка конфигов миксинов и переключения отладочных опций - Отдельный лог миксинов
logs/mixinbooter.log. С возможностью отслеживания загрузки классов для точной отладки. - Позволяет традиционным записям атрибутов манифеста
MixinConfig+MixinConnectorполноценно участвовать в экосистеме - Обнаружение модов для владельцев миксинов, улучшенные проверки
isModLoaded - Подавляет предупреждения Forge о повреждённом zip
- Упразднены "фазы" миксинов
Для разработчиков ~ С чего начать:
- Добавьте репозиторий CleanroomMC и подключите maven-запись MixinBooter:
repositories {
maven {
url 'https://maven.cleanroommc.com'
}
}
dependencies {
def mixin = 'zone.rong:mixinbooter:11.0'
implementation (mixin) {
transitive = false
}
annotationProcessor mixin
// RetroFuturaGradle для генерации refmap:
modUtils.enableMixins(mixin)
// modUtils.enableMixins(mixin, 'mod_id.mixins.refmap.json') << добавьте имя refmap вторым аргументом (опционально)
}- Выберите способ регистрации ваших конфигураций миксинов. MixinBooter поддерживает множество подходов:
(Начиная с 11.0, разделение на early/late больше не существует, поэтому IEarly/ILateMixinLoaders устарели)
- Атрибут манифеста
MixinConfigs: класс загрузчика не нужен. Добавьте в манифест вашего jar список имён ваших конфигураций миксинов, разделённых пробелами. MixinBooter читает его прямо из манифеста jar и регистрирует их. - Атрибут манифеста
MixinConnector: регистрируйте конфиги программно. Укажите класс, реализующийorg.spongepowered.asm.mixin.connect.IMixinConnector, егоconnect()вызывается во время загрузки, где вы сами вызываетеMixins.addConfiguration(...).
Оба атрибута манифеста задаются в вашей задаче jar:
jar {
manifest {
attributes(
'MixinConfigs': 'mixins.mymod.json',
'MixinConnector': 'com.example.mymod.MyMixinConnector'
)
}
}public class MyMixinConnector implements IMixinConnector {
@Override
public void connect() {
// Проверить, загружен ли мод, перед регистрацией?
// Возможно с помощью zone.rong.mixinbooter.service.ModDiscoverer.isModPresent(String modId)
Mixins.addConfiguration("mixins.mymod.json");
}
}Частые вопросы
Как установить MixinBooter?
Установите Forge под свою версию Minecraft, скачайте MixinBooter под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть MixinBooter?
У MixinBooter есть сборки для Minecraft 1.8–1.12.2.
Нужен ли MixinBooter на сервере?
Нужен и в игре, и на сервере