Yarn: Автоматизированный способ создания именованных банок

Созданный на 2 апр. 2021  ·  5Комментарии  ·  Источник: FabricMC/yarn

Всем привет,
Я написал инструмент под названием PixLyzer . Он использует сопоставления пряжи для < 1.14.4 и сопоставления mojang для 1.14.4 +. Мне больше нравятся карты пряжи, чем оригинальные.

Моя проблема в том, что мне нужно интегрировать именованную интеграцию jar в мой скрипт. У меня нет времени вручную создавать баночки для пряжи для более новых версий и для всех версий между 21w13a и 1.14.4 . Моя последняя попытка создать старые сопоставления состояла в том, чтобы проверить 1.14.4? и изменить версию Minecraft здесь: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L29. Старые версии несовместимы с Gradle и/или не имеют mapNamedJar

Как автоматически генерировать сопоставления для более старых версий автоматически? (Под этим я подразумеваю что-то вроде gradle mapNamedJar 1.15.2 .

Спасибо

discussion toolchain

Самый полезный комментарий

Привет,

Вы можете использовать крошечный переназначитель для переназначения банок с заданными сопоставлениями.

Вы можете найти загрузку здесь: https://maven.fabrcmc.net/net/fabrcmc/tiny-remapper/0.3.2/ (используйте толстую банку, если хотите использовать ее через кли)
Вы можете найти пряжу в маленьком формате здесь: https://maven.fabrcmc.net/net/fabricmc/yarn/ (файлы jar или gz none v2 лучше всего подходят для старых версий игры)

Tiny reampper также имеет API, если вы хотите вызвать его непосредственно в своем коде (просто подключите его через maven). В качестве примера вы можете использовать mapNamedJar: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050 .

Нужно просто получить ваш инструмент для загрузки minecraft и версии пряжи, которую вы хотите использовать, а затем вызвать крошечный переназначитель.

Все 5 Комментарий

Привет,

Вы можете использовать крошечный переназначитель для переназначения банок с заданными сопоставлениями.

Вы можете найти загрузку здесь: https://maven.fabrcmc.net/net/fabrcmc/tiny-remapper/0.3.2/ (используйте толстую банку, если хотите использовать ее через кли)
Вы можете найти пряжу в маленьком формате здесь: https://maven.fabrcmc.net/net/fabricmc/yarn/ (файлы jar или gz none v2 лучше всего подходят для старых версий игры)

Tiny reampper также имеет API, если вы хотите вызвать его непосредственно в своем коде (просто подключите его через maven). В качестве примера вы можете использовать mapNamedJar: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050 .

Нужно просто получить ваш инструмент для загрузки minecraft и версии пряжи, которую вы хотите использовать, а затем вызвать крошечный переназначитель.

@modmuss50 Спасибо за (супер быстрый) ответ, обязательно попробую. К сожалению, я не успел последние дни ответить.

Всем привет,
появился еще вопрос.

(Предположим, вы используете версию 21w13a и хотите сопоставить официальную версию с именованной):

Я могу использовать крошечный переназначитель для сопоставления с offical на intermediary . С этим все в порядке. Теперь я хочу отобразить от intermediary до named . Когда я проверяю 21w13a и запускаю gradle mapNamedJar , я вижу во временной папке файл с именем merge-v2.tiny . Когда я использую этот файл и запускаю ремаппер, все в порядке, и я получаю ту банку, к которой привык. Когда я использую сопоставления пряжи из maven (независимо от того, объединенные, v2,...), я могу сопоставить большинство классов с именованными именами, но некоторые (например, net/minecraft/class_6171 ) просто не получают переименование. Я проверил сопоставления, и при поиске после этого класса я получаю следующий результат:

moritz@moritz-tp:~/yarn$ grep -r "net/minecraft/class_6171"
mappings/net/minecraft/unused/packageinfo/PackageInfo6171.mapping:CLASS net/minecraft/class_6171 net/minecraft/unused/packageinfo/PackageInfo6171 
.gradle/temp/yarn-mappings-v2.tiny:c    net/minecraft/class_6171        net/minecraft/unused/packageinfo/PackageInfo6171
.gradle/temp/yarn-mappings.tiny:CLASS   net/minecraft/class_6171        net/minecraft/unused/packageinfo/PackageInfo6171
.gradle/temp/unmerged-named-v2-with-enum.tiny:c net/minecraft/class_6171        net/minecraft/unused/packageinfo/PackageInfo6171
.gradle/temp/merged-reordered-v2.tiny:c dlr     net/minecraft/class_6171        net/minecraft/unused/packageinfo/PackageInfo6171
.gradle/temp/merged-v2.tiny:c   net/minecraft/class_6171        dlr     net/minecraft/unused/packageinfo/PackageInfo6171
.gradle/minecraft/21w13a-intermediary-inverted-v2.tiny:c        net/minecraft/class_6171        dlr
.gradle/minecraft/21w13a-intermediary.tiny:CLASS        dlr     net/minecraft/class_6171
.gradle/minecraft/21w13a-intermediary-v2.tiny:c dlr     net/minecraft/class_6171


moritz@moritz-tp:~/test$ grep -r "net/minecraft/class_6171"
Übereinstimmungen in Binärdatei intermediary.jar
Übereinstimmungen in Binärdatei yarn.jar
intermediary.tiny:c     dlr     net/minecraft/class_6171

Таким образом, именованное сопоставление недоступно. Сопоставления в maven разные или я что-то не так делаю?

Тай

(Хорошо, небольшое редактирование: я использовал старые крошечные сопоставления, но все же: проверьте класс net/minecraft/class_5348$1 )

v2 не содержит имен посредников, вам нужно загрузить их отдельно с maven и либо объединить сопоставления, либо перейти от официального -> промежуточного -> именованного.

Я могу без проблем перейти от официального к посреднику. Я использую v2 или v1 от maven (https://maven.fabricmc.net/net/fabricmc/yarn/), но нигде нет именованного имени из этого класса. В этом проблема, а не в том, что он вообще не будет отображаться (почти все отображаются)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

Juuxel picture Juuxel  ·  5Комментарии

asiekierka picture asiekierka  ·  3Комментарии

haykam821 picture haykam821  ·  4Комментарии

Sollace picture Sollace  ·  5Комментарии

quat1024 picture quat1024  ·  6Комментарии