promotional bannermobile promotional banner

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!
Back to Files

2.2.0-common-1.21.1-bluelib.jar

File name2.2.0-common-1.21.1-bluelib.jar
Uploader
MeAlamMeAlam
Uploaded
Jul 20, 2025
Downloads
28
Size
330.7 KB
Mod Loaders
ForgeFabricNeoForge
File ID
6790764
Type
R
Release
Supported game versions
  • 1.21-Snapshot
  • 1.21.2-Snapshot
  • 1.21.1-Snapshot
  • 1.21.3
  • 1.21.2
  • 1.21.1
  • 1.21

Curse Maven Snippet

Forge

implementation "curse.maven:bluelib-common-1132979:6790764"

Fabric

modImplementation "curse.maven:bluelib-common-1132979:6790764"

NeoForge

implementation "curse.maven:bluelib-common-1132979:6790764"

Learn more about Curse Maven

What's new

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
Type
Name
Game Versions
Mod Loaders
Size
Downloads
Uploaded