Wiki 9Minecraft Wiki 9Minecraft

Librarianlib Wiki & Guide

Guides 4FAQ 20Related mods 60

A client-side rendering and animation library for Minecraft mods, providing shared visual and utility code rather than adding blocks, items, or gameplay content of its own.

DownloadLibrarianlib

Get the files on 9Minecraft

Contents (6)
  1. Overview
  2. Version Differences
  3. Guides
  4. Frequently asked questions
  5. Gallery
  6. You May Also Like

Overview

LibrarianLib is a suite of libraries designed to streamline the modding process for Minecraft, specifically tailored for the mods created by Team Wizardry. It acts as a foundational layer that handles the complex "boilerplate" code required for modern modding, allowing developers to focus on creative content rather than technical minutiae.

While the library is primarily written in Kotlin, it is meticulously engineered to be fully compatible and easy to use within Java environments. It manages several critical aspects of modding, including:

  • Automated Registration: Simplifies the process of adding blocks, items, and entities to the game.
  • Networking (Courier): A robust packet-handling system.
  • UI Framework (Facade): A sophisticated system for creating complex Graphical User Interfaces (GUIs).
  • Rendering (Glint/Form): Advanced shader and model rendering utilities.

Version Differences

LibrarianLib has evolved significantly between Minecraft versions 1.12.2 and 1.17.1:

Feature 1.12.2 Status 1.17.1+ Status
Foundation Core registration module Removed (Integrated into Forge/Vanilla)
Courier Deeply coupled with Forge Lightly coupled, updated registration
Facade Fully supported Updated for modern rendering engines
Kotlin Support Required as a dependency Integrated/Bundled

Guides

Step-by-step, in-game.

Frequently asked questions

Do I need to do anything to install Librarianlib or does it just work?
LibrarianLib is a library mod that works automatically once installed—you don't need to configure it. Other mods that depend on LibrarianLib will use its features behind the scenes.
How do I sync data between my server and client?
Mark the fields you want to sync with the @Save annotation, and LibrarianLib will handle the network communication automatically. Check the guide on syncing custom data for setup details specific to tile entities or packets.
Can I use Librarianlib to make a custom GUI without hardcoding pixel positions?
Yes—LibrarianLib's GUI library uses a modular, constraint-based system that lets you build layouts without magic numbers. See the custom GUI guide for examples of positioning elements relative to each other.
What's the performance impact of using Librarianlib's particle system?
LibrarianLib's particle system is optimized to handle thousands of particles efficiently, so it should have minimal impact on most systems. If you're spawning massive numbers of particles, the guide on particle effects covers best practices.

See all 20 Librarianlib questions ›