User Tools

Site Tools


documentation:build_pipelines

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
Next revisionBoth sides next revision
documentation:build_pipelines [2019/05/21 16:59] – ↷ Page moved from build_pipelines to documentation:build_pipelines falseresyncdocumentation:build_pipelines [2021/01/28 21:56] – crazy, just crazy jamie
Line 3: Line 3:
 Gradle was chosen to build Fabric mods.  This document will dive into the details of the pipeline steps, and the tools used. Gradle was chosen to build Fabric mods.  This document will dive into the details of the pipeline steps, and the tools used.
  
-===== gradle build =====+===== Mod building =====
  
 +Fabric Mods' building depends on fabric loom Gradle plugin, which sets up the Minecraft dependency for Fabric Mods and properly remap their binaries to intermediary so that they can run across Minecraft snapshots as long as the part of vanilla Minecraft they depend on does not change.
  
 +The main job of loom: generate a Minecraft dependency from the Minecraft version and mappings references supplied, and convert the built mod to intermediary.
  
 +===== Fabric Toolchain =====
 +
 +So Minecraft is available as published by Mojang at [[https://launchermeta.mojang.com/mc/game/version_manifest.json|launchermeta]], how about Mappings? How does Fabric generate or develop mappings?
 +
 +Fabric has a mapping repository called Yarn. It uses Enigma, a deobfuscation tool.
 +
 +To set up Minecraft for Enigma, yarn uses stitch which can generate intermediary (as to allow Fabric mods to work across snapshots if the code they depend on did not change) and to merge minecraft client and server jars (so as to ease mapping/development).
  
 ===== Tools ===== ===== Tools =====
  
 ==== Loom ==== ==== Loom ====
 +
 +A Gradle plugin. Sets up the Minecraft dependency for Fabric Mods and properly remap their binaries to intermediary so that they can run across Minecraft snapshots as long as the part of vanilla Minecraft they depend on does not change.
  
 ==== Yarn ==== ==== Yarn ====
Line 24: Line 35:
 ==== Stitch ==== ==== Stitch ====
  
-Stitch generates and manages intermediary mappings of APIs across MineCraft versions. Each intermediary mapping is uploaded to [[https://github.com/FabricMC/intermediary/tree/master/mappings|FabricMC/intermediary]] and is used used as part of Yarn's build process.+Stitch generates and manages intermediary mappings of APIs across Minecraft versions. Each intermediary mapping is uploaded to [[https://github.com/FabricMC/intermediary/tree/master/mappings|FabricMC/intermediary]] and is used used as part of Yarn's build process.
  
 ==== Matcher ==== ==== Matcher ====
 +
 +Matcher is a project used to update intermediary and yarn when a new Minecraft version comes out. Not directly involved in Fabric toolchain, it is still integral as it enables Fabric to swiftly update.
 +
 ==== Tiny-Remapper ==== ==== Tiny-Remapper ====
 +
 +The tool utilized by loom to convert yarn-named mod binaries to intermediary-named usable mod binaries and by fabric loader to convert obfuscated vanilla Minecraft to intermediary.
  
documentation/build_pipelines.txt · Last modified: 2022/11/30 03:03 by netuserget