Всем привет,
Я написал инструмент под названием 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
.
Спасибо
Привет,
Вы можете использовать крошечный переназначитель для переназначения банок с заданными сопоставлениями.
Вы можете найти загрузку здесь: 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/), но нигде нет именованного имени из этого класса. В этом проблема, а не в том, что он вообще не будет отображаться (почти все отображаются)
Самый полезный комментарий
Привет,
Вы можете использовать крошечный переназначитель для переназначения банок с заданными сопоставлениями.
Вы можете найти загрузку здесь: 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 и версии пряжи, которую вы хотите использовать, а затем вызвать крошечный переназначитель.