documentation:build_pipelines
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
build_pipelines [2019/02/05 06:25] – [Tools] irtimaled | documentation: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:// | ||
+ | |||
+ | 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/ | ||
===== 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 ==== | ||
- | Yarn is a repository that contains all the mappings used to turn Minecraft obfuscated names into useful names for mod developers. | + | Yarn is an open-source |
+ | |||
+ | For more information on how to contribute mappings take a look here: [[https:// | ||
+ | |||
+ | ==== Enigma ==== | ||
+ | |||
+ | Enigma | ||
+ | |||
+ | The code is not for the faint of heart but can be seen here [[https:// | ||
+ | ==== Stitch ==== | ||
+ | |||
+ | Stitch generates and manages intermediary mappings of APIs across Minecraft versions. Each intermediary mapping is uploaded | ||
+ | |||
+ | ==== 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 ==== | ||
+ | |||
+ | 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. | ||
- | For more information on how to contribute mappings take a look here: [[https:// | ||
- | * Enigma | ||
- | * Stitch | ||
- | * Matcher | ||
- | * Tiny-Remapper |
documentation/build_pipelines.txt · Last modified: 2022/11/30 03:03 by netuserget