Yarn: Cara otomatis untuk menghasilkan toples bernama

Dibuat pada 2 Apr 2021  ·  5Komentar  ·  Sumber: FabricMC/yarn

Hai, yang di sana,
Saya menulis alat yang disebut PixLyzer . Ia menggunakan pemetaan benang untuk < 1.14.4 dan pemetaan mojang untuk 1.14.4 +. Saya lebih suka pemetaan benang, daripada yang asli.

Masalah saya adalah, saya perlu mengintegrasikan integrasi jar bernama dalam skrip saya. Saya tidak punya waktu untuk membuat guci benang secara manual untuk versi yang lebih baru dan untuk semua versi antara 21w13a dan 1.14.4 . Upaya terakhir saya untuk menghasilkan pemetaan yang lebih lama adalah dengan checkout 1.14.4? dan mengubah versi minecraft di sini: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L29. Versi yang lebih lama tidak kompatibel secara bertahap dan/atau tidak memiliki mapNamedJar

Bagaimana cara menghasilkan pemetaan secara otomatis untuk versi yang lebih lama secara otomatis? (Maksud saya sesuatu seperti gradle mapNamedJar 1.15.2 .

Terima kasih

discussion toolchain

Komentar yang paling membantu

Hai,

Anda dapat menggunakan remapper kecil untuk memetakan kembali stoples dengan pemetaan yang diberikan.

Anda dapat menemukan unduhan di sini: https://maven.fabricmc.net/net/fabricmc/tiny-remapper/0.3.2/ (gunakan toples lemak jika Anda ingin menggunakannya melalui cli)
Anda dapat menemukan benang dalam format kecil di sini: https://maven.fabricmc.net/net/fabricmc/yarn/ (tidak ada v2 jar atau file gz akan menjadi yang terbaik untuk versi game yang lebih lama)

Reampper kecil juga memiliki API jika Anda ingin memanggilnya langsung dalam kode Anda (cukup tarik melalui pakar). Anda dapat menggunakan mapNamedJar sebagai contoh: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050

Seharusnya hanya masalah mendapatkan alat Anda untuk mengunduh minecraft dan versi benang yang ingin Anda gunakan dan kemudian memanggil remapper kecil.

Semua 5 komentar

Hai,

Anda dapat menggunakan remapper kecil untuk memetakan kembali stoples dengan pemetaan yang diberikan.

Anda dapat menemukan unduhan di sini: https://maven.fabricmc.net/net/fabricmc/tiny-remapper/0.3.2/ (gunakan toples lemak jika Anda ingin menggunakannya melalui cli)
Anda dapat menemukan benang dalam format kecil di sini: https://maven.fabricmc.net/net/fabricmc/yarn/ (tidak ada v2 jar atau file gz akan menjadi yang terbaik untuk versi game yang lebih lama)

Reampper kecil juga memiliki API jika Anda ingin memanggilnya langsung dalam kode Anda (cukup tarik melalui pakar). Anda dapat menggunakan mapNamedJar sebagai contoh: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050

Seharusnya hanya masalah mendapatkan alat Anda untuk mengunduh minecraft dan versi benang yang ingin Anda gunakan dan kemudian memanggil remapper kecil.

@ modmuss50 Terima kasih atas jawaban (super cepat), saya pasti akan mencobanya. Sayangnya, saya tidak punya waktu hari-hari terakhir untuk menjawab.

Hai, yang di sana,
mendapat pertanyaan lain.

(Asumsikan Anda menggunakan versi 21w13a dan ingin memetakan dari resmi ke bernama):

Saya dapat menggunakan remapper kecil untuk memetakan dari offical ke intermediary . Semua baik-baik saja dengan yang satu ini. Sekarang saya ingin memetakan dari intermediary ke named . Ketika saya checkout 21w13a dan menjalankan gradle mapNamedJar Saya melihat di folder temp sebuah file bernama merge-v2.tiny . Ketika saya menggunakan file ini dan menjalankan remapper semuanya baik-baik saja dan saya mendapatkan toples yang biasa saya gunakan. Ketika saya menggunakan pemetaan benang dari pakar (tidak peduli apa, yang digabungkan, v2, ...) Saya dapat memetakan sebagian besar kelas ke nama yang disebutkan, tetapi beberapa (misalnya net/minecraft/class_6171 ) tidak mendapatkan berganti nama. Saya memeriksa pemetaan dan ketika mengambil setelah kelas ini saya mendapatkan output berikut:

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

Jadi tidak ada pemetaan bernama yang tersedia. Apakah pemetaan di maven berbeda atau saya melakukan sesuatu yang salah?

Ty

(Oke edit kecil: Saya menggunakan pemetaan kecil lama, tapi tetap saja: periksa kelas net/minecraft/class_5348$1 )

v2 tidak mengandung nama perantara, Anda perlu mengunduhnya secara terpisah dari pakar dan menggabungkan pemetaan atau pergi dari resmi -> perantara -> bernama.

Saya dapat memetakan dari resmi ke perantara tanpa masalah. Saya menggunakan v2 atau v1 dari maven (https://maven.fabricmc.net/net/fabricmc/yarn/) tetapi tidak ada nama bernama dari kelas ini. Itulah masalahnya dan bukan karena itu tidak akan dipetakan sama sekali (hampir semua dipetakan)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Sollace picture Sollace  ·  5Komentar

asiekierka picture asiekierka  ·  4Komentar

Draylar picture Draylar  ·  6Komentar

asiekierka picture asiekierka  ·  3Komentar

Juuxel picture Juuxel  ·  6Komentar