MultiLoader 26.1+ · Part 2

Setting Up RegistrationUtils (MultiLoader 26.1+)

BEGINNER MULTILOADER 26.1-26.1.2 8 min read · Jun 12, 2026
MultiLoader 26.1+ · 17 parts
1 Getting Started with MultiLoader 26.1+ 2 Setting Up RegistrationUtils (MultiLoader 26.1+) 3 Creating Items (MultiLoader 26.1+) 4 Creating Blocks (MultiLoader 26.1+) 5 Data Generation: Block & Item Models (MultiLoader 26.1+) 6 Data Generation: Block Loot Tables (MultiLoader 26.1+) 7 Data Generation: Crafting Recipes (MultiLoader 26.1+) 8 Data Generation: Block & Item Tags (MultiLoader 26.1+) 9 Data Generation: Language Files (MultiLoader 26.1+) 10 Data Generation: Advancements (MultiLoader 26.1+) 11 Data Generation: Sound Definitions (MultiLoader 26.1+) 12 Data Generation: Particle Descriptions (MultiLoader 26.1+) 13 Data Generation: Enchantments (MultiLoader 26.1+) 14 Custom Food Items (MultiLoader 26.1+) 15 Custom Tools (MultiLoader 26.1+) 16 Custom Armour (MultiLoader 26.1+) 17 Block Entities (MultiLoader 26.1+)

RegistrationUtils is a Gradle plugin providing registration utilities for Minecraft multi-loader projects. The plugin installs the dependency and shadows it into your mod's jar when you build, so you won't need to declare any hard runtime dependencies. It also makes registering blocks, items, and other objects across NeoForge and Fabric much simpler.

NOTE
Make sure you have completed the Getting Started tutorial before continuing. You need a working MultiLoader 26.1.2 template project open in IntelliJ IDEA.

Adding the Plugin

Open build.gradle in your root directory (not in any subproject). Find the plugins block at the top and add the RegistrationUtils plugin:

groovy
plugins {
// ... existing plugins ...
id 'com.matyrobbrt.mc.registrationutils' version '26.1-0.1.0'
}
TIP
The RegistrationUtils version number follows a <mc-version>-<plugin-version> format from 26.1 onwards, so 26.1-0.1.0 targets Minecraft 26.1. Always check the RegistrationUtils releases page for the latest version number that targets your Minecraft version.

Configuring RegistrationUtils

Still in the root build.gradle, add the following block anywhere outside the plugins and subprojects sections:

groovy
registrationUtils {
group 'com.example.examplemod.registration'
projects {
fabric { type 'fabric' } // the fabric subproject
neoforge { type 'neoforge' } // the neoforge subproject
common { type 'common' } // the common subproject
}
}

The group property sets the Java package where RegistrationUtils will generate the necessary helper classes. Use the same group you defined in gradle.properties plus a .registration suffix, for example com.example.examplemod.registration.

The three project names (fabric, neoforge, common) must match the subproject names defined in your settings.gradle. Each entry tells RegistrationUtils which loader type applies so it can generate the correct registration provider implementations.

WARNING
The project names here are case-sensitive and must match exactly. If your template uses different casing (e.g., NeoForge with a capital N), update accordingly.

Refreshing Gradle

Once you have saved the changes to build.gradle, open the Gradle tool window in IntelliJ IDEA and click the Refresh (sync) button. Gradle will download the plugin, apply it, and generate the registration helper files into the registration package you specified.

After the sync completes, you should see a new registrations folder appear inside your common project's generated sources. This contains the RegistrationProvider interface and loader-specific implementations that we will use in the Items and Blocks tutorials.

You can find the source for this tutorial here:

View Source on GitHub
NEXT IN SERIES

Creating Items (MultiLoader 26.1+)

Build an ItemRegistry using RegistrationProvider, register a custom item, add a generated item model and texture, wire up a creative tab, and add localisation — all from the common module.

Continue →