CurseForge · Minecraft mod
HammerLib
Utility mod that contains really useful code for quite a few mods.
Quick answer
Which HammerLib release should I use?
HammerLib [1.12.2] HammerLib - 12.2.66 targets 1.12.2 with Forge. The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server. No extra mods listed for this file.
Where it goes
Is HammerLib required on the client, server, or both?
The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server.
The source does not explicitly classify this release as client-only or server-only.
What else does HammerLib [1.12.2] HammerLib - 12.2.66 need?
[1.12.2] HammerLib - 12.2.66. 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 HammerLib without breaking your instance.
Built for HammerLib [1.12.2] HammerLib - 12.2.66. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use [1.12.2] HammerLib - 12.2.66. It targets 1.12.2 with Forge; 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 it belongs on the client. The project page does not say whether it belongs on the dedicated server.
- 04
Pick the file you checked
Use the “Get this file” button beside [1.12.2] HammerLib - 12.2.66. It opens that exact file at the source.
About this project
What does HammerLib add?

Utility mod that contains really useful code for quite a few mods.
This library provides:
- Simple, annotation-based content registration.
- For Blocks, HammerLib automagically registers BlockItem(s). If you want to disable BlockItem(s), let your block implement INoItemBlock, ICustomBlockItem, or ICreativeTabBlock, depending on what you want to achieve.
- For BlockEntity rendering, custom BlockEntityType constants may have additional @TileRenderer, pointing to an IBESR<Tile> class.
- Old-styled language parsers in format of "key=value", instead of JSONs (the file names and format is like in older game versions, but you need to call LanguageAdapter.registerMod(MOD_ID); inside your mod's constructor for it to register.
- Mod Source checks, that allow you to check if the mod was downloaded from adware/malware sites, AND warn users about it.
- Java-based recipe registration with a simple RegisterRecipesEvent, that runs on HammerLib.EVENT_BUS, allowing you, as a developer, to register crafting recipes like before, with code.
- Java-based tag population, with BuildTagsEvent, that runs on HammerLib.EVENT_BUS.
- Vastly simplified networking, using Network class, and IPacket + INBTPacket to allow for flawless and intuitive packet code development.
- Wrappers for block harvesting, that has been moved over to tags - BlockHarvestAdapter
- Field-based NBT serialization, so that you don't make a typo/forget to write serialization/deserialization code.
- Good old TileEntity wrappers, with TileSyncable and TileSyncableTickable, that allow synchronization of initial state, as well as registering properties that will be synchronized independently.
- ContainerAPI for BlockEntities, allowing to avoid MenuType<?> altogether (no need to register screen providers, menu types etc)
- ItemStack -> Color[] API, with TexturePixelGetter.getAllColors
- Annotation-based custom model loaders (@LoadUnbakedGeometry on IUnbakedGeometry<SELF>), avoids using the geometry loader class by making a common wrapper.
- ...And a whole lot more!
And a lot of rich features for mod devs.
Not enough? You can just view sources on GitHub, it's free!

Permissions:
- You can use this mod in your modpack.
- Yes, you are allowed to build a mod that requires and depends on HammerLib, but not embeds it!
- You are not allowed to repost this mod to other sites without providing a CurseForge/Modrinth download link and my permission (
Zeitheron on Discord) - You are not allowed to include this (or any other mods of DragonForge team) in your own mod. Building addons, however, is allowed, but a friendly PM would be good.
Note:
- The only supported version of minecraft is the latest one that this mod exists for. DO NOT ASK TO DOWNGRADE!

Join the discord server and follow Zeitheron on Twitter!
If you would like to support my work, you can become a patron via
Patreon. 
Project description from CurseForge.
Pick your setup
HammerLib by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.1
1 loader build1.21
1 loader build1.20.6
1 loader build1.20.5
1 loader build1.20.4
1 loader build1.20.3
1 loader build1.20.2
1 loader build1.20.1
2 loader builds1.19.2
1 loader build1.12.2
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
HammerLib versions and loaders
[1.12.2] HammerLib - 12.2.66
HammerLib-1.12.2-12.2.66.jar
14 Jul 2026
[1.12.2] HammerLib - 12.2.65
HammerLib-1.12.2-12.2.65.jar
27 Jun 2026
[1.12.2] HammerLib - 12.2.63
HammerLib-1.12.2-12.2.63.jar
13 Jun 2026
[1.12.2] HammerLib - 12.2.62
HammerLib-1.12.2-12.2.62.jar
7 Jun 2026
[1.12.2] HammerLib - 12.2.61
HammerLib-1.12.2-12.2.61.jar
3 Jun 2026
[1.12.2] HammerLib - 12.2.60
HammerLib-1.12.2-12.2.60.jar
1 Jun 2026
[1.12.2] HammerLib - 12.2.59
HammerLib-1.12.2-12.2.59.jar
31 May 2026
[1.12.2] HammerLib - 12.2.58
HammerLib-1.12.2-12.2.58.jar
26 Mar 2025
[1.20.1] HammerLib - 20.1.50
HammerLib-1.20.1-20.1.50.jar
23 Mar 2025
[1.21.4] HammerLib - 21.4.5
HammerLib-1.21.4-21.4.5.jar
5 Mar 2025
[1.21.4] HammerLib - 21.4.4
HammerLib-1.21.4-21.4.4.jar
5 Mar 2025
[1.21.4] HammerLib - 21.4.3
HammerLib-1.21.4-21.4.3.jar
5 Mar 2025
Looking for an older file? The official CurseForge project page is in Resources.