User Tools

Site Tools


zh_cn:documentation:fabric_loom

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
zh_cn:documentation:fabric_loom [2023/04/17 04:45] – [多项目优化] solidblockzh_cn:documentation:fabric_loom [2023/04/29 07:35] – [分离客户端与常规代码] solidblock
Line 1: Line 1:
 ====== Fabric Loom ====== ====== Fabric Loom ======
  
-Fabric Loom,或者简称为 Loom,是个 [[https://gradle.org/|Gradle]] 插件,用于 Fabric 生态系统的模组开发中。Loom 提供了在开发环境中安装 Minecraft 和模组的一系列工具,所以你可以针对 Minecraft 混淆及其发行版和版本之间的差异来将 Loom 与 Minecraft 链接起来。Loom 还提供了用于 Fabric 加载器的运行配置、mixin 编译处理,以及用于 Fabric Loader 的 jar 中 jar 系统的工具。+Fabric Loom,或者简称为 Loom,是个 [[https://gradle.org/|Gradle]] 插件,用于 Fabric 生态系统的模组开发中。Loom 提供了在开发环境中安装 Minecraft 和模组的一系列工具,所以你可以针对 Minecraft 混淆及其发行版和版本之间的差异来将 Loom 与 Minecraft 链接起来。Loom 还提供了用于 Fabric 加载器的运行配置、mixin 编译处理,以及用于 Fabric Loader 的 jar-in-jar 系统的工具。
  
 ==== 常用任务 ==== ==== 常用任务 ====
  
   * ''migrateMappings'':将当前源代码合并到指定的映射中。见 [[zh_cn:tutorial:migratemappings]]。   * ''migrateMappings'':将当前源代码合并到指定的映射中。见 [[zh_cn:tutorial:migratemappings]]。
-  * ''remapJar'':产生包含 ''jar'' 任务的重映射的输出的 jar。同时也会将 jar 中 jar 包含在模组中。运行 ''build'' 时会调用。+  * ''remapJar'':产生包含 ''jar'' 任务的重映射的输出的 jar。同时也会将 jar-in-jar 包含在模组中。运行 ''build'' 时会调用。
   * ''genSources'':使用默认的反编译器(CFR)反编译 Minecraft jar。   * ''genSources'':使用默认的反编译器(CFR)反编译 Minecraft jar。
   * ''downloadAssets'':下载配置的 Minecraft 版本的资源索引和对象,下载到用户缓存中。   * ''downloadAssets'':下载配置的 Minecraft 版本的资源索引和对象,下载到用户缓存中。
   * ''genEclipseRuns'':安装 Eclipse 运行配置并创建运行目录(如果还不存在)。   * ''genEclipseRuns'':安装 Eclipse 运行配置并创建运行目录(如果还不存在)。
   * ''vscode'':生成或覆盖 Visual Studio Code 的 ''launch.json'' 文件,启动配置在 ''.vscode'' 文件夹中,并创建运行目录,如果还不存在。   * ''vscode'':生成或覆盖 Visual Studio Code 的 ''launch.json'' 文件,启动配置在 ''.vscode'' 文件夹中,并创建运行目录,如果还不存在。
 +  * ''ideaSyncTask'':生成(但是不会覆盖)Intellij IDEA 的启动配置,包括客户端和服务器。
   * ''remapSourcesJar'':只有在 AbstractArchiveTask ''sourcesJar'' 存在时存在。将 ''sourcesJar'' 任务的输出重映射。   * ''remapSourcesJar'':只有在 AbstractArchiveTask ''sourcesJar'' 存在时存在。将 ''sourcesJar'' 任务的输出重映射。
   * ''runClient'':将 Fabric Loader 作为 Minecraft 客户端运行的 JavaExec 任务。   * ''runClient'':将 Fabric Loader 作为 Minecraft 客户端运行的 JavaExec 任务。
Line 30: Line 31:
  
 以下 build.gradle 文件片段展示了如何为您的模组启用此功能。由于您的模组现在将拆分为两个源集,因此您将需要使用新的 DSL 来定义您的模组源集。这将会让 Fabric Loader 将您的模组类路径组合在一起,对于其他一些复杂的多项目设置也有用。 以下 build.gradle 文件片段展示了如何为您的模组启用此功能。由于您的模组现在将拆分为两个源集,因此您将需要使用新的 DSL 来定义您的模组源集。这将会让 Fabric Loader 将您的模组类路径组合在一起,对于其他一些复杂的多项目设置也有用。
 +
 +要分享客户端与服务器的代码,需要 Minecraft 1.18(建议 1.19)、Loader 0.14 和 Loom 1.0 以上的版本。
 <code> <code>
 loom { loom {
Line 117: Line 120:
  // 用于配置 mixin 选项,或应用到额外的源集。  // 用于配置 mixin 选项,或应用到额外的源集。
  mixin {  mixin {
- // 若禁用,会使用微小重映射器来重映射 Mixin 而非 AP。实验性。+ // 若禁用,会使用 tiny remapper 来重映射 Mixin 而非 AP。实验性。
  useLegacyMixinAp = true  useLegacyMixinAp = true
  // 设置默认的 refmap 名称  // 设置默认的 refmap 名称
Line 255: Line 258:
   * ''mappings'':定义用于开发环境的映射。   * ''mappings'':定义用于开发环境的映射。
   * ''modCompile''、''modImplementation''、''modApi'' 和''modRuntime'':相当于''compile''、''implementation''、''api''和''runtime''的增强型变种,用于模组依赖。会被重映射以对应开发环境,并且会移除嵌套的 JAR。可以选择导出并重映射嵌套的 JAR。   * ''modCompile''、''modImplementation''、''modApi'' 和''modRuntime'':相当于''compile''、''implementation''、''api''和''runtime''的增强型变种,用于模组依赖。会被重映射以对应开发环境,并且会移除嵌套的 JAR。可以选择导出并重映射嵌套的 JAR。
-  * ''include'':生命一个应在 ''remapJar'' 输出中包含的 jar 中 jar 依赖。该依赖配置是不可传递的。对于非模组依赖,Loom 会生成一个模组 JAR,其中 fabric.mod.json 使用模组 ID 的名称和相同版本。+  * ''include'':生命一个应在 ''remapJar'' 输出中包含的 jar-in-jar 依赖。该依赖配置是不可传递的。对于非模组依赖,Loom 会生成一个模组 JAR,其中 fabric.mod.json 使用模组 ID 的名称和相同版本。
  
 ==== 默认配置 ==== ==== 默认配置 ====
zh_cn/documentation/fabric_loom.txt · Last modified: 2023/10/10 15:33 by rawdiamondmc