CurseForge · Minecraft mod
RegistryLib
A high-efficiency registry library for NeoForge modders, using a fluent API to make registering blocks, items, and more faster, cleaner, and easier to extend.
Quick answer
Which RegistryLib release should I use?
registrylib-neoforge-1.21.1-8.0.16.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is RegistryLib required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does registrylib-neoforge-1.21.1-8.0.16.jar need?
registrylib-neoforge-1.21.1-8.0.16.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add RegistryLib without breaking your instance.
Built for registrylib-neoforge-1.21.1-8.0.16.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use registrylib-neoforge-1.21.1-8.0.16.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside registrylib-neoforge-1.21.1-8.0.16.jar. It opens that exact file at the source.
About this project
What does RegistryLib add?
RegistryLib
WIKI : https://registrylib.gtodyssey.com/
RegistryLib is a NeoForge library mod built to reduce registry boilerplate and make common content setup feel much more consistent. Instead of scattering item registration, block setup, fluid definitions, tooltip logic, and data-related glue code across multiple classes, you can keep that work inside a clean fluent builder workflow.
The RegistryLibTest module shows the everyday use cases that matter most for real mod development. It covers fast item and block registration, automatic item bindings, custom loot behavior, grouped configuration for content families, and tooltip composition that stays readable even when your content starts getting more complex.
RegistryLib also gives fluid content a much cleaner setup path. The examples include tinted fluids, vanilla-style texture reuse, linked fluid blocks, and bucket item customization, which makes it a strong fit for tech mods, material-heavy mods, and projects that need to add a lot of structured content without drowning in setup code.
For larger projects, the library goes beyond basic registration. RegistryLibTest demonstrates CompositeItem attachments, BlockEntity binding, client renderer integration, and structured tooltip nodes, so the API remains useful even after your mod grows past simple items and decorative blocks.
If you want a registry workflow that scales from quick prototypes to full content mods without turning into maintenance-heavy boilerplate, RegistryLib is designed for that job. It is a practical builder-based toolkit for NeoForge developers who want cleaner registration code and more time to focus on gameplay.
Example Snippets
Basic Item Registration
public static final ItemEntry<Item> COPPER_COIN = RegistryLibTest.REGISTRYLIB
.item("copper_coin", Item::new)
.lang("Copper Coin")
.register();
Block With Custom Loot And Tooltip
public static final BlockEntry<Block> DECORATIVE_STONE = RegistryLibTest.REGISTRYLIB
.block("decorative_stone", Block::new)
.initialProperties(() -> Blocks.STONE)
.lang("Decorative Stone")
.simpleItem()
.register();
Shared Configuration With Groups
public static final Group TIMER_GROUP = RegistryLibTest.REGISTRYLIB
.group("timers")
.langPrefix("Timer")
.blockProperties(p -> p.strength(5.0F, 6.0F))
.build();
public static final BlockEntry<TimerBlock> TIMER_TIER_1 = TIMER_GROUP.block(
"tier_1",
p -> new TimerBlock(p, 1),
block -> {
block.initialProperties(() -> Blocks.IRON_BLOCK)
.item(itemBuilder -> itemBuilder.tooltip((collector, stack) -> {
collector.node(new SubNode.Basic(Component.literal("Tier 1 Timer"), 0), true, false);
collector.node(new SubNode.Basic(Component.literal("Tick interval: 20"), 10));
}));
});
Fluid, Block, And Bucket Setup In One Flow
private static final Identifier FLUID_STILL =
Identifier.fromNamespaceAndPath("registrylib", "block/fluid/liquid_still");
private static final Identifier FLUID_FLOW =
Identifier.fromNamespaceAndPath("registrylib", "block/fluid/liquid_flow");
public static final FluidEntry<BaseFlowingFluid.Flowing> ACID =
RegistryLibTest.REGISTRYLIB
.fluid("acid", FLUID_STILL, FLUID_FLOW)
.lang("Acid")
.clientExtension(FLUID_STILL, FLUID_FLOW)
.register();
Project description from CurseForge.
Pick your setup
RegistryLib by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
26.1-snapshot
1 loader build26.1
1 loader build1.21.1
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
RegistryLib versions and loaders
registrylib-neoforge-1.21.1-8.0.16.jar
29 Aug 2026
registrylib-neoforge-26.1.2-8.0.15.jar
28 Jul 2026
registrylib-neoforge-26.1.2-8.0.14.jar
30 May 2026
registrylib-neoforge-26.1.2-8.0.13.jar
28 May 2026
registrylib-neoforge-26.1.2-8.0.12.jar
26 May 2026
registrylib-neoforge-26.1.2-8.0.11.jar
25 May 2026
registrylib-neoforge-26.1.2-8.0.10.jar
25 May 2026
registrylib-neoforge-26.1.2-8.0.9.jar
25 May 2026
registrylib-neoforge-26.1.2-8.0.8.jar
18 May 2026
registrylib-neoforge-26.1.2-8.0.7.jar
18 May 2026
registrylib-neoforge-26.1.2-8.0.6.jar
15 May 2026
registrylib-neoforge-26.1.2-8.0.5.jar
13 May 2026
Looking for an older file? The official CurseForge project page is in Resources.