Скачать UniMixins — Minecraft Моды — MetaMods

UniMixins

Активный

Установок

4

Последнее обновление

3 месяца назад

Версии

1.7.10
Клиент
Forge
Библиотеки

UniMixins

UniMixins представляет собой загрузчик Mixin для Minecraft версий 1.7.10 с частичной поддержкой 1.8.9-1.12.2, созданный для достижения максимальной совместимости. Его главная цель — объединить возможности различных загрузчиков Mixin в одном решении. Благодаря модульной архитектуре, вы можете использовать его совместно с другими загрузчиками при необходимости.

Предыстория проекта

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

Сравнительная таблица

Ниже представлена таблица сравнения функциональных возможностей известных загрузчиков Mixin.

Сравнительная таблица загрузчиков Mixin

  • [NOP]: Не выполняет никаких действий
  • [SEP]: Доступен как отдельный мод

Использование

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

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

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

Расширенное использование

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

При отсутствии других загрузчиков Mixin обычно рекомендуется использовать следующие модули:

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

Игра завершится аварийно при отсутствии зависимостей модулей. Это можно отключить в конфигурации.

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

Все модули зависят от модуля Mixin. Зависимости не обязательно должны поступать из модулей UniMixins — их могут предоставлять и другие моды.

Включено в all-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 в модах
    • Добавляет информацию о mixins в отчёты об ошибках [только 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

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

Зачем нужен ещё один загрузчик Mixin?

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

Модульность

Почему используется Fabric форк Mixin? Разве это не Forge мод?

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

Что именно делают "дополнения"?

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

В чём разница между Mixin, mixin, SpongeMixins и SpongePowered?

  • Mixin: Java библиотека для трансформации Java классов
  • SpongePowered: организация, создавшая Mixin
  • mixin: специальный Java класс, определяющий "изменение", которое должно быть применено к классу
  • SpongeMixins: загрузчик Mixin с очень общим названием

Лицензия

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