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
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)
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.