User Tools

Site Tools


zh_cn:tutorial:mappings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
zh_cn:tutorial:mappings [2020/11/17 03:25]
solidblock [介绍]
zh_cn:tutorial:mappings [2020/11/17 03:48] (current)
solidblock [使用映射]
Line 5: Line 5:
 映射(mapping)定义了类、字段和方法的名称。在常规的loom环境中,使用[[https://​github.com/​FabricMC/​yarn|Yarn]]映射,这是社区决定的,它为Minecraft的代码库提供了有意义的名称。[[https://​github.com/​FabricMC/​intermediary|Intermediary]]也是Fabric使用的一个必要的映射类型。对映射的需要来自Minecraft发布的混淆(obfuscation),这代表了多个挑战。重映射(remapping)是对编译的类或者源代码文件应用映射的过程。 映射(mapping)定义了类、字段和方法的名称。在常规的loom环境中,使用[[https://​github.com/​FabricMC/​yarn|Yarn]]映射,这是社区决定的,它为Minecraft的代码库提供了有意义的名称。[[https://​github.com/​FabricMC/​intermediary|Intermediary]]也是Fabric使用的一个必要的映射类型。对映射的需要来自Minecraft发布的混淆(obfuscation),这代表了多个挑战。重映射(remapping)是对编译的类或者源代码文件应用映射的过程。
 ==== 使用映射 ==== ==== 使用映射 ====
 +在Loom中,映射定义了你在开发环境中使用的Minecraft类、字段和方法的名称。这些名称可能因开发环境而异,取决于你安装的映射。
  
-在Loom中,映射定义了开发环境中使用的Minecraft类,字段和方法的名称。 根据安装的映射,这些名称可能因开发环境而异。 +Yarn是Loom使用的默认映射。随着贡献的接受Yarn逐渐改进并接受新的发布Loom中的映射是使用buildcraft中的''​mappings''​依赖配置指定的,可以通过更新依赖来更新。Minecraft以及包含在模组增强依赖配置中的依赖项(如''​modCompile''​)都是通过映射来重映射在Yarn中映射的类字段和方法,会以中间名显示,如''​class_1234''​''​method_1234''​''​field_1234''​。
- +
-毛线是Loom使用的默认映射。 随着贡献的增加纱线会逐渐改进并获得新的版本。 使用构建脚本中的“映射”依赖配置指定Loom中映射并且可以通过更新依赖进行更新。 Minecraft以及mod增强依赖配置(如 ''​modCompile''​ )中包含的依赖项均通过映射进行映射。 ​在Yarn中映射的类字段和方法中间名称为''​class_1234''​''​method_1234''​''​field_1234''​。+
  
 <​code>​ <​code>​
Line 17: Line 16:
 </​code>​ </​code>​
  
-通过改开发环境中的映射,可以预期Minecraft中方法和字段的名称以及所有mod均已更改,并且可能必须更新代码以引用更改的名称。 [[tutorial:​migratemappings|过程可以部分自动化]]。 ​您还必须运行''​genSources''​以使用更新的映射访问Minecraft源。+通过改变您的开发环境中的映射,Minecraft中类方法和字段的名称模组都可能会您的代码可能需要更新才能引用更改的名称。[[tutorial:​migratemappings|这一过程可以部分自动化]]。你可能也需要运行''​genSources''​来运行带有更新的映射Minecraft源代码
  
-Loom的''​remapJar''​任务将产生主要mod工件是使用中间名称构建的jar。 此外,如果存在''​sourcesJar''​任务,''​remapSourcesJar''​使用中间名称生成一个源jar。 这些jar可以安装为mod包含在具有''​modCompile''​依赖配置开发环境中。 +Loom的''​remapJar''​任务会提供原始模组成品这个成品是使用中间名的jar文件。此外,如果''​sourcesJar''​任务,''​remapSourcesJar''​会产生使用中间名代码jar。这些jar文件都可以作为模组安装者连同''​modCompile''​依赖配置一起被包括在开发环境中。 
-* **'​-dev'​jar(''​jar''​任务输出)不使用中,因此没有用。**不能将其作为mod安装开发环境之外,且只能在 ​匹配映射的开发环境。 应该改用常规jar(''​remapJar''​任务输出)并使用经过mod增强依赖项配置(例如''​modCompile''​)将其安装在开发环境中。 + 
-   ​* **纱线名称仅开发环境中应用**。 在开发环境之外,存在中间名这意味着代码将与您写的内容完全不匹配。 Loom可以为您透明地处理此过渡,但是使用反射时要格外小心+  ​* **'​-dev'​ jar(''​jar''​任务输出)不使用中名,因此用。**可以被安装开发环境之外的模组,且只能在符合的映射的开发环境中起作常规jar文件(''​remapJar''​任务输出)才应被使用并使用像''​modCompile''​这样的模组增强依赖项安装在开发环境中。 
 +  * **Yarn名称仅应用于开发环境**。在开发环境之外,存在中间名,也就是说代码不会准确地匹配你和写的东西。Loom ​transparently可以为您处理这个转换,但是使用反射(reflection)时要谨慎。 
 + 
 +=== Mojang的映射 === 
 + 
 +对于Loom 0.5,你也可以使用Mojang的官方映射而不是Yarn,像这样: 
 + 
 +<​code>​ 
 +dependencies { 
 +    [...] 
 +    mappings minecraft.officialMojangMappings() 
 +
 +</​code>​ 
 + 
 +Mojang的映射带有可用的但比Yarn更严的许可证。您需要自行承担使用的风险
  
 === 自定义映射 === === 自定义映射 ===
  
-You can use custom tiny mappings for Fabric Loom for your Gradle project setup.+您也可以在您的Gradle项目设置为Fabric Loom使用自定义的微型(tiny)映射。 
 + 
 +比如,如果您有需要用于映射的自定义Yarn分支,你可以使用“./gradlew build”命令建立yarn,拿出“build/​libs”目录中的jar文件,然后移动到您的Gradle项目中的“mapping”文件夹下。然后,将您的映射依赖项更改为:
  
-例如,如果您有一个要用于映射的自定义毛线分支,则可以使用''​ ./gradlew build''​命令纱,取出''​ build / libs''​目录中的jar文件,然后将其移动到 Gradle项目中的''​映射''​文件夹。 然后,将映射依赖项更改为: 
 <​code>​ <​code>​
 dependencies { dependencies {
Line 34: Line 48:
 </​code>​ </​code>​
  
-您可以放置映射的目录更改为任何自定义名称。 只需上面的''​dir''​参数中更改名称即可。 注意,如果映射目录中映射jar除了其他文件,Gradle构建将失败!+您可以更改放置映射的目录,使其具有任何自定义名称只需更改上面的dir参数中名称。注意,如果映射目录中映射jar文件以外的任何其他文件,Gradle构建将失败!
  
 ==== 重新映射 ==== ==== 重新映射 ====
zh_cn/tutorial/mappings.1605583542.txt.gz · Last modified: 2020/11/17 03:25 by solidblock