### Setup Forge Dependencies Source: https://docs.architectury.dev/api/migration/neoforge?difftype=sidebyside&do=diff&rev2%5B0%5D=1700194805&rev2%5B1%5D=1715431063 In the forge/build.gradle file, add dependencies for the forge-like project and the common project. This integrates the new NeoForge setup into the existing Forge project. ```groovy dependencies { forge " net.minecraftforge:forge:${rootProject.architectury.minecraft}-${rootProject.forge_version}" common(project(path: ":common", configuration: "namedElements")) { transitive false } common(project(path: ":forgelike", configuration: "namedElements")) { transitive false } } ``` -------------------------------- ### Add NeoForge Subproject Setup Source: https://docs.architectury.dev/api/migration/neoforge?rev=1700196002 Instructions for setting up a new NeoForge subproject by copying configuration files and including it in settings.gradle. ```gradle include “neoforge” ``` -------------------------------- ### Data Generators Declaration Example Source: https://docs.architectury.dev/loom/datagen?difftype=sidebyside&do=diff&rev2%5B0%5D=1663341281&rev2%5B1%5D=1674946761 This example shows how to declare Data Generators in Architectury Loom, starting from version 0.6.55. This is specifically for Forge projects. ```markdown | Data Generators Support has been added to Architectury Loom, starting from 0.6.55, this is how you declare it:| ``` -------------------------------- ### Configure NeoForge configurations and dependencies Source: https://docs.architectury.dev/api/migration/neoforge?difftype=sidebyside&do=diff&rev2%5B0%5D=1700195689&rev2%5B1%5D=1762523844 Set up configurations for NeoForge, including 'forgeLike', and extend classpath configurations. Then, add dependencies on NeoForge and the forge-like project. ```groovy configurations { common forgeLike shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. compileClasspath.extendsFrom common, forgeLike runtimeClasspath.extendsFrom common, forgeLike developmentNeoForge.extendsFrom common developmentForgeLike.extendsFrom forgeLike } dependencies { neoforge " net.neoforged:neoforge:${rootProject.neoforge_version}" common(project(path: ":common", configuration: "namedElements")) { transitive false } forgeLike(project(path: ":forgelike", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive false } shadowCommon(project(path: ":forgelike", configuration: "transformProductionNeoForge")) { transitive false } } ``` -------------------------------- ### Groovy Code Example for Architectury Loom Data Generators Source: https://docs.architectury.dev/loom/datagen?difftype=sidebyside&do=diff&rev2%5B0%5D=1701566110&rev2%5B1%5D=1762523805 This snippet demonstrates how to declare Data Generators support in Architectury Loom, starting from version 0.6.55. It includes automatic arguments for mod ID and output path. ```groovy dataGen { // Automatically adds: --all --mod --output // Add additional arguments here (e.g., '--existing') } ``` -------------------------------- ### Example Usage Source: https://docs.architectury.dev/api/reload_listeners An example demonstrating how to register a PreparableReloadListener for the CLIENT_RESOURCES PackType. ```APIDOC ## Example Here's an example of how to use the `ReloadListenerRegistry` class to register a `PreparableReloadListener` for the `CLIENT_RESOURCES` `PackType`: ```java public class MyReloadListener implements PreparableReloadListener { // implementation of PreparableReloadListener methods }   // register the listener ReloadListenerRegistry.register(PackType.CLIENT_RESOURCES, new MyReloadListener()); ``` ``` -------------------------------- ### Setup Forge-Like and NeoForge Subprojects Source: https://docs.architectury.dev/api/migration/neoforge?difftype=sidebyside&do=diff&rev2%5B0%5D=1700196930&rev2%5B1%5D=1700233290 Configure Forge-like and NeoForge subprojects in their respective build.gradle files, specifying platform packages and remapping for NeoForge. ```groovy // In forgelike/build.gradle architectury { forgeLike(["forge", "neoforge"]) { it.platformPackage "neoforge", "forge" it.remapForgeLike "net/minecraftforge/common/extensions/IForgeItem", "net/neoforged/neoforge/common/extensions/IItemExtension" } } // In neoforge/build.gradle architectury { neoForge { } ``` -------------------------------- ### Configure NeoForge Configurations Source: https://docs.architectury.dev/api/migration/neoforge?difftype=sidebyside&do=diff&rev2%5B0%5D=1700196002&rev2%5B1%5D=1700196930 Set up configurations for NeoForge, including 'forgeLike'. This example shows extending 'compileClasspath' and 'runtimeClasspath' on 'forgeLike', and also 'developmentForgeLike'. ```groovy configurations { common forgeLike } ``` -------------------------------- ### Migrating to Yarn Example Source: https://docs.architectury.dev/loom/using_mcp?difftype=sidebyside&do=diff&rev2%5B0%5D=1686654289&rev2%5B1%5D=1703551933 This snippet demonstrates the command for migrating mappings to Yarn, using an example build version. Similar to the MojMap example, '%%' may indicate formatting or escape changes. ```bash gradlew migrateMappings --mappings "1.16.5+build.3" ``` ```bash gradlew migrateMappings %% --%% mappings %% "%% 1.16.5+build.3%%" "%%" ``` -------------------------------- ### Groovy Code Block Example Source: https://docs.architectury.dev/loom/using_neo?difftype=sidebyside&do=diff&rev2%5B0%5D=1693066822&rev2%5B1%5D=1762523806 This snippet shows an example of a code block written in Groovy, typically used in build scripts. ```groovy ```