Legacy OptiFabric
OptiFabric для Legacy Fabric (1.3.1–1.13.2) и Ornithe (b1.7.3–1.14.4)
Быстрое задание
Как далеко вы сможете убежать, прежде чем вас поймают толпы?
Проверка Minecraft
Подтвердите свой запуск
Пройдите быструю проверку, чтобы получить свой код.
Legacy OptiFabric
для мкср: use mods.tildejustin.dev
Если вы ищете OptiFabric для версий 1.14–1.15.2, который подходит для обычной ткани, а не для Ornithe, обратите внимание на OptiFabric Origins.
Устаревшая ткань OptiFabric
OptiFabric для Legacy Fabric (1.3.1-1.13.2) и Ornithe (b1.7.3-1.14.4)
- Установщик Legacy Fabric и официальные экземпляры MultiMC: https://legacyfabric.net/downloads.html - Установщик Ornithe (может генерировать экземпляры MultiMC): https://ornithemc.net - Легальные экземпляры MultiMC для скоростного прохождения под управлением Ornithe и Legacy Fabric (ванильная версия LWJGL, без дополнительных библиотек или модов): Minecraft-Java-Edition-Speedrunning/legacy-fabric-instance-generator/releases
Основано на работе RedLime OptiFabric-Pre1.14, форке OptiFabric 1.8.9 от hYdos, который, в свою очередь, является производным от оригинального OptiFabric от modmuss.
Установка
Для работы этого мода требуется файл optifine.jar, расположенный в папке mods рядом с optifabric. Для версий 1.7.2 и выше его можно найти на официальном сайте OptiFine, а для более старых версий — в архиве Optifine для версий до 1.9 от SpeedyCube64 или в теме, посвященной истории OptiFine.
Как это работает
Этот мод использует Minecraft-Java-Edition-Speedrunning/fabric-asm, небольшую производную от Fabric-ASM/no-guava от Cat Core, которая, в свою очередь, является обновленной версией fabric-asm от Chocohead. Fabric-asm позволяет вносить более радикальные изменения в ассемблерный код, а используемая форк-версия не зависит от guava или apache commons, которые отсутствуют в более старых версиях Minecraft.
шага
1. Мод ищет установщик Optifine, JAR-файл или ZIP-архив в текущей папке модов. 2. Если он находит JAR-файл установщика, он запускает задачу извлечения в своем собственном временном загрузчике классов. 3. JAR-файл мода Optifine представляет собой набор классов, которые необходимо заменить классами, предоставляемыми Minecraft. 4. Заменяющие классы Optifine изменяют имена некоторых лямбда-методов, поэтому он пытается угадать старое имя (используя оригинальный JAR-файл Minecraft). 5. Переназначить Optifine на промежуточный класс. 6. Переместить исправленные классы, так как они не принесут большой пользы, если будут присутствовать в classpath дважды. 7. Добавить Optifine в classpath. 8. Зарегистрировать программу для внесения исправлений для каждого класса, который необходимо заменить. 9. Заменить целевой класс на извлеченный класс, а также внести в него дополнительные исправления и сделать его общедоступным (из-за проблем с доступом). 10. Надеюсь, это сработает.
ноты
- Этот мод не очень хорошо работает в средах разработки или именованных средах. В случае с Legacy Fabric сборки yarn в некоторых версиях повреждены, поэтому сейчас это не работает; Feather лучше, но всё ещё имеет проблемы. - accessWideners создаются на основе вывода опции checkPackageAccess tiny remapper, но они вряд ли когда-либо будут на 100% полными. Если у вас произошёл сбой, связанный с недопустимым доступом, сообщите об этом, и, возможно, его удастся исправить.
исключение класса
Это своего рода скрытая функция, которая иногда полезна для удаления файлов при переназначении jar-файла. Для этого она считывает файл `optifabric-excluded-classes.json` в `.minecraft/config/`, если он существует, и ожидает, что файл будет содержать сопоставление версий (имен полей) с массивом удаляемых классов (или текстур, или чего-либо еще, это просто имя файла). Пример содержимого файла для отмены удаления профилировщика для версии 1.3.2 Light приведен ниже. Если версия Optifine, для которой вы пытаетесь создать запись-исключение, уже была загружена ранее в вашем экземпляре, удалите ее папку в папке `.optifine` в `.minecraft`, чтобы принудительно выполнить перекэширование.
```json { "OptiFine_1.3.2_L_B2": [ "ik.class" ] } ```