Yarn: Manera automatizada de generar jars con nombre

Creado en 2 abr. 2021  ·  5Comentarios  ·  Fuente: FabricMC/yarn

Hola,
Escribí una herramienta llamada PixLyzer . Utiliza las asignaciones de hilo para < 1.14.4 y las asignaciones de mojang para 1.14.4 +. Me gustan mucho más los mapeos de hilo que los originales.

Mi problema es que necesito integrar la integración de jar con nombre en mi script. No tengo tiempo para generar manualmente frascos de hilo para versiones más nuevas y para todas las versiones entre 21w13a y 1.14.4 . Mi último intento de generar las asignaciones anteriores fue pagar 1.14.4? y cambiar la versión de Minecraft aquí: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L29. Las versiones anteriores son incompatibles con gradle y/o no tienen mapNamedJar

¿Cómo generar automáticamente asignaciones para versiones anteriores de forma automática? (Con eso me refiero a algo como gradle mapNamedJar 1.15.2 .

Gracias

discussion toolchain

Comentario más útil

Hola,

Puede usar tiny remapper para reasignar frascos con asignaciones dadas.

Puede encontrar una descarga aquí: https://maven.fabricmc.net/net/fabricmc/tiny-remapper/0.3.2/ (use el frasco gordo si desea usarlo a través de la CLI)
Puede encontrar hilo en formato pequeño aquí: https://maven.fabricmc.net/net/fabricmc/yarn/ (los archivos none v2 jar o gz serán mejores para versiones de juegos anteriores)

Tiny reamplificador también tiene una API si deseas llamarla directamente en tu código (simplemente insértala a través de maven). Puede usar mapNamedJar como ejemplo de esto: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050

Debería ser solo una cuestión de obtener su herramienta para descargar Minecraft y la versión de hilo que desea usar y luego invocar a tiny remapper.

Todos 5 comentarios

Hola,

Puede usar tiny remapper para reasignar frascos con asignaciones dadas.

Puede encontrar una descarga aquí: https://maven.fabricmc.net/net/fabricmc/tiny-remapper/0.3.2/ (use el frasco gordo si desea usarlo a través de la CLI)
Puede encontrar hilo en formato pequeño aquí: https://maven.fabricmc.net/net/fabricmc/yarn/ (los archivos none v2 jar o gz serán mejores para versiones de juegos anteriores)

Tiny reamplificador también tiene una API si deseas llamarla directamente en tu código (simplemente insértala a través de maven). Puede usar mapNamedJar como ejemplo de esto: https://github.com/FabricMC/yarn/blob/21w13a/build.gradle#L1050

Debería ser solo una cuestión de obtener su herramienta para descargar Minecraft y la versión de hilo que desea usar y luego invocar a tiny remapper.

@ modmuss50 Gracias por la respuesta (superrápida), definitivamente lo probaré. Lamentablemente, no tuve tiempo los últimos días para responder.

Hola,
tengo otra pregunta

(Suponga que usa la versión 21w13a y desea mapear de oficial a nombrado):

Puedo usar tiny remapper para mapear desde offical a intermediary . Todo bien con este. Ahora quiero asignar desde intermediary a named . Cuando pago 21w13a y ejecuto gradle mapNamedJar , veo en la carpeta temporal un archivo llamado merge-v2.tiny . Cuando uso este archivo y ejecuto el reasignador, todo está bien y obtengo el contenedor al que estoy acostumbrado. Cuando uso las asignaciones de hilo de maven (no importa qué, las fusionadas, la v2, ...) puedo asignar la mayoría de las clases a los nombres con nombre, pero algunas (por ejemplo net/minecraft/class_6171 ) simplemente no son siendo renombrado. Revisé las asignaciones y cuando grepping después de esta clase obtengo el siguiente resultado:

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

Por lo tanto, no hay una asignación con nombre disponible. ¿Las asignaciones en maven son diferentes o estoy haciendo algo mal?

Ty

(Está bien, pequeña edición: usé pequeñas asignaciones antiguas, pero aún así: verifique la clase net/minecraft/class_5348$1 )

v2 no contiene los nombres intermedios, debe descargarlos por separado de maven y combinar las asignaciones o ir desde oficial -> intermediario -> nombrado.

Puedo mapear de oficial a intermediario sin problema. Uso v2 o v1 de maven (https://maven.fabricmc.net/net/fabricmc/yarn/) pero en ninguna parte hay un nombre con nombre de esta clase. Ese es el problema y no que no mapee en absoluto (casi todos están mapeados)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

Boundarybreaker picture Boundarybreaker  ·  3Comentarios

copygirl picture copygirl  ·  6Comentarios

liach picture liach  ·  4Comentarios

Juuxel picture Juuxel  ·  6Comentarios

Awakened-Redstone picture Awakened-Redstone  ·  4Comentarios