Yarn: Automatisierte Möglichkeit, benannte Gläser zu generieren

Erstellt am 2. Apr. 2021  ·  5Kommentare  ·  Quelle: FabricMC/yarn

Hi,
Ich habe ein Tool namens PixLyzer geschrieben . Es verwendet die Garnzuordnungen für < 1.14.4 und Mojang-Zuordnungen für 1.14.4 +. Ich mag Garnzuordnungen viel mehr als die ursprünglichen.

Mein Problem ist, dass ich die benannte JAR-Integration in mein Skript integrieren muss. Ich habe keine Zeit, Garnbehälter für neuere Versionen und für alle Versionen zwischen 21w13a und 1.14.4 manuell zu generieren. Mein letzter Versuch, die älteren Mappings zu generieren, war, 1.14.4? auszuchecken und die Minecraft-Version hier zu ändern: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L29. Ältere Versionen sind gradle inkompatibel und/oder haben keine mapNamedJar

Wie kann man Mappings für ältere Versionen automatisch generieren? (Damit meine ich so etwas wie gradle mapNamedJar 1.15.2 .

Danke

discussion toolchain

Hilfreichster Kommentar

Hallo,

Sie können den Tiny Remapper verwenden, um Gläser mit gegebenen Zuordnungen neu zuzuordnen.

Einen Download finden Sie hier: https://maven.fabricmc.net/net/fabricmc/tiny-remapper/0.3.2/ (verwenden Sie das Fat Jar, wenn Sie es über das CLI verwenden möchten)
Garn im winzigen Format finden Sie hier: https://maven.fabricmc.net/net/fabricmc/yarn/ (die jar- oder gz-Dateien ohne v2 eignen sich am besten für ältere Spielversionen)

Tiny Reampper hat auch eine API, wenn Sie es direkt in Ihrem Code aufrufen möchten (ziehen Sie es einfach über Maven ein). Sie können das mapNamedJar als Beispiel dafür verwenden: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050

Es sollte nur darum gehen, dass Sie Ihr Tool dazu bringen, Minecraft und die Garnversion herunterzuladen, die Sie verwenden möchten, und dann den winzigen Remapper aufrufen.

Alle 5 Kommentare

Hallo,

Sie können den Tiny Remapper verwenden, um Gläser mit gegebenen Zuordnungen neu zuzuordnen.

Einen Download finden Sie hier: https://maven.fabricmc.net/net/fabricmc/tiny-remapper/0.3.2/ (verwenden Sie das Fat Jar, wenn Sie es über das CLI verwenden möchten)
Garn im winzigen Format finden Sie hier: https://maven.fabricmc.net/net/fabricmc/yarn/ (die jar- oder gz-Dateien ohne v2 eignen sich am besten für ältere Spielversionen)

Tiny Reampper hat auch eine API, wenn Sie es direkt in Ihrem Code aufrufen möchten (ziehen Sie es einfach über Maven ein). Sie können das mapNamedJar als Beispiel dafür verwenden: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050

Es sollte nur darum gehen, dass Sie Ihr Tool dazu bringen, Minecraft und die Garnversion herunterzuladen, die Sie verwenden möchten, und dann den winzigen Remapper aufrufen.

@modmuss50 Danke für die (superschnelle) Antwort, werde ich auf jeden Fall ausprobieren. Leider hatte ich die letzten Tage keine Zeit zu antworten.

Hi,
hab noch eine frage.

(Angenommen, Sie verwenden die Version 21w13a und möchten von offiziell zu benannt zuordnen):

Ich kann den Tiny Remapper verwenden, um offical auf intermediary abzubilden. Alles gut mit diesem. Jetzt möchte ich von intermediary auf named abbilden. Wenn ich 21w13a und gradle mapNamedJar ausführe, sehe ich im temporären Ordner eine Datei namens merge-v2.tiny . Wenn ich diese Datei verwende und den Remapper ausführe, ist alles in Ordnung und ich bekomme das Glas, an das ich gewöhnt bin. Wenn ich die Garnzuordnungen von maven verwende (egal was, die zusammengeführten, die v2, ...), kann ich die meisten Klassen den benannten Namen zuordnen, aber einige (z. B. net/minecraft/class_6171 ) sind es einfach nicht umbenannt werden. Ich habe die Zuordnungen überprüft und beim Grepping nach dieser Klasse erhalte ich die folgende Ausgabe:

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

Es ist also keine benannte Zuordnung verfügbar. Sind die Zuordnungen in Maven unterschiedlich oder mache ich etwas falsch?

Ty

(Okay kleine Bearbeitung: Ich habe alte winzige Zuordnungen verwendet, aber trotzdem: check class net/minecraft/class_5348$1 )

v2 enthält keine Vermittlernamen, Sie müssen diese separat von maven herunterladen und entweder die Zuordnungen kombinieren oder von offiziell -> Vermittler -> benannt gehen.

Ich kann problemlos vom Beamten zum Vermittler abbilden. Ich verwende v2 oder v1 von maven (https://maven.fabricmc.net/net/fabricmc/yarn/), aber nirgendwo ist ein benannter Name aus dieser Klasse. Das ist das Problem und nicht, dass es überhaupt nicht abgebildet wird (fast alle sind abgebildet)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

enbrain picture enbrain  ·  4Kommentare

Juuxel picture Juuxel  ·  6Kommentare

ChloeDawn picture ChloeDawn  ·  6Kommentare

Runemoro picture Runemoro  ·  3Kommentare

Draylar picture Draylar  ·  6Kommentare