▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/UniMixins
UniMixins

UniMixins

UniMixins - загрузчик Mixin для Minecraft 1.7.10 с максимальной совместимостью. Решает проблему несовместимости разных миксин-лоадеров, объединяя их фичи в одном.

Оцените первым
495.4K
38

UniMixins - это загрузчик Mixin для Minecraft 1.7.10 (с частичной поддержкой версий 1.8.9-1.12.2), созданный для максимальной совместимости. Он объединяет фичи как можно большего числа миксин-лоадеров, а его модульная структура позволяет использовать его вместе с другими лоадерами, если это нужно.

Зачем это вообще нужно?

На версии 1.7.10 существует куча разных загрузчиков Mixin. Каждый из них даёт свой набор дополнительных возможностей - так называемые "экстры", которые навешиваются поверх обычного Mixin. Проблема в том, что они монолитны: их нельзя использовать одновременно из-за пересечения функций. UniMixins решает эту проблему, предлагая каждую фичу как отдельный модуль (хотя для удобства есть и единый jar-файл).

Сравнение с другими лоадерами

Ниже - таблица возможностей известных миксин-лоадеров:

  • [NOP]: ничего не делает (баг)
  • [SEP]: доступен как отдельный мод

Установка

Просто скачай jar с суффиксом -all и кинь в папку mods. Удали все остальные конфликтующие загрузчики Mixin (сверься с таблицей выше).

Важно: jar-файл должен называться так, чтобы в алфавитном порядке быть первым - иначе может возникнуть проблема сортировки с модами, в которых уже вшит Mixin. Поэтому в начале названия стоит +. Если возникают проблемы с переименованными jar-файлами, замени + на !.

Для справки: порядок сортировки у некоторых символов: ! < + < 0 < a

Продвинутая установка

Можно собрать свою комбинацию модулей из отдельных jar-файлов. Некоторые модули зависят от других - смотри раздел "Список модулей".

Если других загрузчиков Mixin нет, обычно ставят:

  • Mixin (любая одна версия разработчика)
  • Compat и Mixingasm (опционально, но настоятельно рекомендую)
  • Модули с нужными экстрами

Если каких-то зависимостей не хватает - игра упадёт. В конфиге это можно отключить.

Список модулей

Все модули зависят от модуля Mixin. При этом они не обязательно должны быть из UniMixins - можно использовать и другие моды.

Входят в полный jar

  • Mixin (UniMix) - форк Mixin от разработчиков UniMixins, основанный на Fabric-версии.
  • SpongeMixins (только 1.7.10) - эмуляция экстров SpongeMixins.
  • MixinBooterLegacy (только 1.7.10) - эмуляция экстров MixinBooterLegacy с перемещённым MixinExtras.
  • MixinExtras - сам MixinExtras.
  • GasStation (только 1.7.10) - эмуляция экстров GasStation. Зависит от SpongeMixins, MixinBooterLegacy и MixinExtras.
  • GTNHMixins (только 1.7.10) - эмуляция экстров GTNHMixins с перемещённым MixinExtras. Зависит от SpongeMixins.
  • Compat - разные твики совместимости: перемаппинг неверных ссылок на классы Mixin, а также добавление информации о миксинах в краш-логи (только 1.7.10).
  • Mixingasm - улучшает совместимость Mixin с ASM-трансформерами.

Опциональные

  • Future Compat (только 1.8.9+) - делает модули доступными на версиях 1.8.9+. Нужен для работы на 1.8+. Для Mixingasm не требуется.

Совсем необязательные (только для тестов)

Можно использовать только один модуль Mixin за раз:

  • Mixin (SpongePowered) - оригинальный форк Mixin.
  • Mixin (Fabric) - Fabric-форк Mixin.
  • Mixin (GasMix) - GasStation-форк Mixin.
  • Mixin (GTNH) - GTNH-форк Mixin.

FAQ (или "Важно знать")

Почему ещё один загрузчик Mixin? Вы не видели тот xkcd-стрип?

До появления UniMixins в моде на 1.7.10 царила настоящая фрагментация: разные моды требовали разные несовместимые загрузчики. Причина - и конфликты между разработчиками, и технические ограничения (лоадеры были монолитными, а это автоматически вело к несовместимости). У UniMixins нет ни того, ни другого.

Почему вы используете Fabric-форк Mixin? Это же Forge-мод?

Fabric-форк Mixin развивается активнее оригинала и содержит дополнительные фиксы. Большинство его изменений не завязаны на Fabric.

Что вообще делают эти "экстры"?

  • SpongeMixins, Grimoire, MixinBooterLegacy, GasStation и GTNHMixins позволяют вливаться в классы не-coremod-ов (по умолчанию Mixin это не поддерживает, потому что все его фазы проходят до того, как Forge найдёт не-coremod-ы и загрузит их в classpath).
    • MixinBooterLegacy, GasStation и GTNHMixins добавляют "позднюю" фазу миксина, которая запускается прямо перед первой конструкцией мода (на этом этапе все моды уже найдены).
    • SpongeMixins даёт возможность вручную добавлять моды в classpath по их имени - старый, хакерский способ.
    • Для новых модов рекомендую GTNHMixins - самый активный и поддерживаемый вариант.
  • Mixingasm чинит баг Mixin, из-за которого ломаются некоторые ASM-трансформеры (Mixin меняет способ их вызова).
  • MixinExtras добавляет новые фичи Mixin, чтобы писать менее инвазивные миксины.

Mixin? mixin? SpongeMixins? SpongePowered? В чём разница?

  • Mixin - Java-библиотека для гибкого преобразования классов.
  • SpongePowered - организация, создавшая Mixin (они же разработали апи Sponge).
  • mixin - специальный Java-класс, описывающий изменение, которое надо применить к другому классу. Эти изменения применяются через Mixin.
  • SpongeMixins - загрузчик Mixin от TimeConqueror (название, конечно, неудачное).

Лицензия

UniMixins распространяется под лицензией Unlicense, за исключением некоторых модулей. Подробнее - в LICENSE.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.7.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Ссылки

Детали

Лицензия:
Опубликован:3 года назад
Обновлён:2 недели назад
Главная