What are you searching for?

HammerLib
HammerLib

HammerLib

Utility mod that contains really useful code for quite a few mods.

download 538.7K Downloads · favorite 54 Followers · Updated 10 months ago
Forge Library Neoforge 1.10.2 1.11 1.11.2 1.12.2 1.13.2 +17 more

Versions

inventory_2
12.2.58

12.2.58 · 10 months ago · 2.47 MB

Release download
Forge 1.12.2
inventory_2
20.1.50

20.1.50 · 10 months ago · 2.33 MB

Release download
Forge Neoforge 1.20.1
inventory_2
21.4.5

21.4.5 · 11 months ago · 2.38 MB

Release download
Neoforge 1.21.4
inventory_2
21.4.4

21.4.4 · 11 months ago · 2.38 MB

Release download
Neoforge 1.21.4
inventory_2
21.4.3

21.4.3 · 11 months ago · 2.37 MB

Release download
Neoforge 1.21.4

About

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 Hammer Core, 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

open_in_new View on Modrinth
Categories
Compatibility
Client: Required Server: Required
gavel LicenseRef-All-Rights-Reserved

Conversation

What are your thoughts?

Related projects

Library
Fabric API
Fabric API

by modmuss50

Lightweight and modular API providing common hooks and intercompatibility measures utilized by mods using the Fabric toolchain.

download 128.4M
favorite 27,401
Library
Cloth Config API
Cloth Config API

by shedaniel

Configuration Library for Minecraft Mods

download 94.4M
favorite 13,670
Library Management Utility
YetAnotherConfigLib (YACL)
YetAnotherConfigLib (YACL)

by isxander

A builder-based configuration library for Minecraft!

download 66.1M
favorite 7,607
Library
Architectury API
Architectury API

by shedaniel

An intermediary api aimed to ease developing multiplatform mods.

download 61.0M
favorite 6,652
lock Cookie consent

SkinMC uses cookies to provide functionality and features.