Yarn: طريقة آلية لتوليد الجرار المسماة

تم إنشاؤها على ٢ أبريل ٢٠٢١  ·  5تعليقات  ·  مصدر: FabricMC/yarn

أهلا،
لقد كتبت أداة تسمى PixLyzer . يستخدم تعيينات الغزل لتعيينات < 1.14.4 وتعيينات mojang مقابل 1.14.4 +. أنا أحب تعيينات الغزل أكثر من تلك الأصلية.

مشكلتي هي أنني بحاجة إلى دمج تكامل الجرة المحدد في البرنامج النصي الخاص بي. ليس لدي وقت لإنشاء برطمانات الغزل يدويًا للإصدارات الأحدث ولجميع الإصدارات بين 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

التعليق الأكثر فائدة

مرحبا،

يمكنك استخدام remapper صغير لإعادة رسم الجرار مع تعيينات معينة.

يمكنك العثور على التنزيل هنا: https://maven.fabricmc.net/net/fabricmc/tiny-remapper/0.3.2/ (استخدم وعاء الدهون إذا كنت تريد استخدامه عبر cli)
يمكنك العثور على الغزل بالتنسيق الصغير هنا: https://maven.fabricmc.net/net/fabricmc/yarn/ (ستكون ملفات no v2 jar أو gz هي الأفضل لإصدارات اللعبة الأقدم)

يحتوي Tiny reampper أيضًا على واجهة برمجة تطبيقات إذا كنت ترغب في استدعاؤها مباشرة في التعليمات البرمجية الخاصة بك (فقط اسحبها عبر maven). يمكنك استخدام mapNamedJar كمثال على ذلك: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050

يجب أن تكون مجرد مسألة الحصول على أداتك لتنزيل minecraft وإصدار الغزل الذي تريد استخدامه ثم استدعاء remapper الصغير.

ال 5 كومينتر

مرحبا،

يمكنك استخدام remapper صغير لإعادة رسم الجرار مع تعيينات معينة.

يمكنك العثور على التنزيل هنا: https://maven.fabricmc.net/net/fabricmc/tiny-remapper/0.3.2/ (استخدم وعاء الدهون إذا كنت تريد استخدامه عبر cli)
يمكنك العثور على الغزل بالتنسيق الصغير هنا: https://maven.fabricmc.net/net/fabricmc/yarn/ (ستكون ملفات no v2 jar أو gz هي الأفضل لإصدارات اللعبة الأقدم)

يحتوي Tiny reampper أيضًا على واجهة برمجة تطبيقات إذا كنت ترغب في استدعاؤها مباشرة في التعليمات البرمجية الخاصة بك (فقط اسحبها عبر maven). يمكنك استخدام mapNamedJar كمثال على ذلك: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050

يجب أن تكون مجرد مسألة الحصول على أداتك لتنزيل minecraft وإصدار الغزل الذي تريد استخدامه ثم استدعاء remapper الصغير.

@ modmuss50 شكرًا على الإجابة (فائقة السرعة) ، سأجربها بالتأكيد. للأسف ، لم يكن لدي وقت في الأيام الأخيرة للرد.

أهلا،
لدي سؤال آخر.

(افترض أنك تستخدم الإصدار 21w13a وتريد التعيين من المسؤول إلى المسمى):

يمكنني استخدام أداة إعادة رسم صغيرة للتعيين من offical إلى intermediary . كل شيء على ما يرام مع هذا. الآن أريد التعيين من intermediary إلى named . عندما أقوم بتسجيل الخروج 21w13a وتشغيل gradle mapNamedJar أرى في المجلد المؤقت ملفًا يسمى merge-v2.tiny . عندما أستخدم هذا الملف وأقوم بتشغيل remapper ، يكون كل شيء على ما يرام وأحصل على الجرة التي اعتدت عليها. عندما أستخدم تعيينات الغزل من 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

لذلك لا يوجد تعيين مسمى متاح. هل التعيينات في المخضرم مختلفة أم أفعل شيئًا خاطئًا؟

تاي

(حسنًا ، تعديل صغير: لقد استخدمت تعيينات صغيرة قديمة ، ولكن لا يزال: تحقق من الفصل net/minecraft/class_5348$1 )

لا يحتوي الإصدار 2 على الأسماء الوسيطة ، فأنت بحاجة إلى تنزيل هذه الأسماء بشكل منفصل من المخضرم وإما دمج التعيينات أو الانتقال من مسؤول -> وسيط -> اسمه.

يمكنني التعيين من مسؤول إلى وسيط دون مشكلة. أستخدم v2 أو v1 من maven (https://maven.fabricmc.net/net/fabricmc/yarn/) ولكن لا يوجد أي اسم مسمى من هذه الفئة. هذه هي المشكلة وليست أنه لن يتم تعيينها على الإطلاق (يتم تعيين كل منها تقريبًا)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

Runemoro picture Runemoro  ·  4تعليقات

asiekierka picture asiekierka  ·  3تعليقات

enbrain picture enbrain  ·  4تعليقات

Awakened-Redstone picture Awakened-Redstone  ·  4تعليقات

liach picture liach  ·  4تعليقات