Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
BlueLib Common

BlueLib Common

BlueLib is a Minecraft modding library designed to handle a wide range of modding tasks. It includes systems for simplifying code development, with support for data packs and resource packs. The goal is to make modding more accessible!

320
2
Library
Management
Utility

Compatibility

Minecraft: Java Edition

1.21.x

Platforms

Fabric
Forge
NeoForge

Supported environments

Client and server

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server

Creators

MeAlam1
MeAlam1 Co-Author
DragoFRN
DragoFRN Artist
dan6335 Co-Author

Details

Licensed MIT
Published 2 months ago
Updated yesterday
DescriptionGalleryChangelogVersions

Show all versions

2.3.1-common-1.21.1-bluelib

by MeAlam1 on Aug 11, 2025
Download

2.3.1

Warning:

  • This is a major update with extensive changes. While everything has been tested privately, the sheer size means bugs may still occur. Please report any issues on GitHub or message @me_alam on Discord.
  • The version will remain minor until stability and feature completeness are confirmed.

Added

  • Added more Annotations!
  • Added more Logic to the PlatformHelper
    • isPhysicalClient & getGameDir
  • Added More Network Sending Utils
    • sendToAllPlayersTrackingEntity & sendToAllPlayersTrackingBlock
  • Created the @WillBeDeprecated Annotation
    • Unlike Deprecated, which communicates that an element is already discouraged for use, this annotation signals an early notice that the element may be deprecated in the future. The element is still fully supported and no active deprecation or removal work has begun. Use this to communicate upcoming API changes and allow users to prepare.

Added a Complete Bedrock Model/Animation/Texture Loader!

  • Introduced a Bedrock Loader that supports Bedrock models, animations, and textures. No need for Blockbench plugins.
  • Supports Geckolib assets, while also promoting direct use of Bedrock-format resources.
  • Features DataDriven Animation Controllers, Enabling datapack and resource pack creators to inject custom animations and immersive behaviors.
  • Rendering is powered by a new Context System, cleaning up rendering logic for maintainability and flexibility.

Added Full MoLang Support!

  • Integrated a MoLang engine with built-in support for MoLang queries and expressions.
  • Developers can easily extend MoLang with custom queries, allowing for advanced animation logic and entity behaviors.

Note: The Wiki is currently a work in progress and will be expanded gradually to cover all aspects of this major update.

Changed

  • ResourceCache now has an Client and Server side!

Bug Fixes

  • Fixed an Language Missing Issue.
  • Fixed the Translation issues in the Console Logging.
  • Fixed some Minor Parameter Naming.
  • Fixed some incorrect Annotations.

Deleted

  • Deleted Deprecated Markdown Code from 2.2.0
  • Deleted the JSONParser

2.3.0-common-1.21.1-bluelib.jar

by MeAlam1 on Jul 30, 2025
Download

2.3.0

Added

  • Added a New Version Warning screen!
    • Do you release your mods as Alphas/Snapshots, feel free to use this new system and warn your users about it!!!
    • More Info on: Wiki

Changed

  • getRandomVariant() will never return null anymore!
  • Completely Rewrote the PityRandom to allow for every type of class(T) in stead of only Doubles. (Still Experimental)

Bug Fixes

  • Fixed PacketsRegistry from randomly deciding to crash without any reason.

2.2.0-common-1.21.1-bluelib.jar

by MeAlam1 on Jul 20, 2025
Download

2.2.0

Requires NeoForge: 21.1.181 or higher

Added

  • Annotated every method in the codebase with relevant annotations (@NotNull, @Nullable, @Experimental, @Internal, @OverrideOnly)
  • Developers can now manually exclude custom mods in the LoadedModsEvent
  • Moved ReloadHandler to the common package for shared access

Changed

  • All dependencies updated to latest versions
  • Set "Thank You" event priority to lowest (NeoForge only)

Variant Loader

  • Fully rewritten and modernized the Variant Loader

  • Introduced performance improvements like smarter caching and new utility methods

  • Switched from String to ResourceLocation for saving entity identifiers

    • Allows multiple mods to use the Variant Loader without name conflicts
  • Replaced getVariantName() and setVariantName() default interface methods (which relied on unstable casting to IVariantAccessor)

    • New generic interface: IVariantEntity<T>
    • Entities now implement IVariantEntity<YourClass> and override getEntity() to return this
    @Override
    public @NotNull YourEntityClass getEntity() {
        return this;
    }
    
    • This change improves type safety and eliminates the need to implement get/setVariantName() manually

Fixed

  • Fixed crash when Scheduler failed to load without Variant Loader
  • Made blue logging text lighter and easier to read
  • Logging now works correctly when enabled in config
  • Corrected a language inconsistency in the "Mods Loaded" message
  • "Thank You" message now shows after loading is complete
  • Resolved conflict where Minecraft reported a duplicate packet registration

2.1.0-common-1.21-bluelib.jar

by MeAlam1 on Jun 10, 2025
Download

2.1.0

Added

Datapack Driven Brewing Stand Recipe's

  • Added a way for Users to add new Recipes to Minecrafts Brewing Stand using Datapacks!
  • Provided Build in JEI Support into Vanilla Brewing Stand Recipes
  • Remained Compatible with hardcoded Recipes!

Bug Fixes

  • Rejoining a Fabric World doesnt crash due to Configs anymore

2.0.1-common-1.21-bluelib.jar

by MeAlam1 on Jun 5, 2025
Download

Bug Fixes

  • Fixed an issue where Packet Registration was frozen before addons could add packets

2.0.0-common-1.21-bluelib.jar

by MeAlam1 on May 26, 2025
Download

This version brings Breaking Changes.

Updating might make your mod incompatible with previous versions of the Library.

2.0.0

Added

Variant Loader

  • Added a fallback variant parameter to getParameterDataFromVariant, allowing shared data to be centralized in a single JSON instead of duplicating it per variant.
  • Reworked the entire Loading system to have the Events on the Library side and allow Developers to just inject the path and entities.
    • Instead of handling everything themself.
    • All Developers can now remove their ReloadHandler since it became redundant and has been replaced with a way cleaner and more optimized system.
    • For more details, visit the Wiki.
  • onReload has been modified to onDatapackSync.

Logging

  • Added a new /log command accessible to users with a permission level of 3 or higher (/op).
    • This command opens an in-game menu displaying console logs, allowing developers to monitor output directly without needing terminal access.
    • Supports log levels with color-coded formatting for easier readability.
  • isLoggingEnabled has been moved to a server sided config.
  • All Logging is now translatable through Minecrafts Component System!
  • Added a ton more ways to Log stuff to match the slf4j system.

Network Handler

  • Introduced a streamlined network registration system.
    • Simplifies the use of custom packets by automatically handling registration internally via BlueLib.
    • Packet definitions and handlers are now separated into two distinct classes for better structure and maintainability.
    • For more details, visit the Wiki.

Packets

Variant Data Synchronization

  • AllDataPacket – Sends a Map<String, JsonObject> containing all variant data from the server to the client.
  • ParameterDataPacket – Sends specific parameter data for a given variant as a JsonElement.
  • VariantsPacket – Sends a Set<String> representing all available variant identifiers for an entity. ⚠️ These packets are not registered by default; they must be registered on the S2C side, with the handler provided as a lambda defining the logic to execute when the packet is received.⚠️

Changed

  • onReload has been modified to onDatapackSync.

Bug Fixes

  • Cleaned up all of the Logging we had in place.

Deleted

  • Removed IVariantEntityBase since it has become redundant!

Modrinth is open source.

feat/theseus/tauri-v2@c5403db

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.