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!

File Details

2.2.0-common-1.21.1-bluelib.jar

  • R
  • Jul 20, 2025
  • 330.67 KB
  • 18
  • 1.21.3+6
  • Forge + 2

File Name

2.2.0-common-1.21.1-bluelib.jar

Supported 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"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

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