SANDBOX — this is a test environment. No servers are actually deployed and no real payments are charged.
✓ VerifiedLibraries & compatibility

BKCommonLib

by bergerkiller · for Minecraft

Spigot/Paper Utility Library and Minecraft Server API

24KDownloads
14d agoLast updated
MITLicense
Bukkit · Paper +2Loaders

About BKCommonLib

From Modrinth

Spigot/Paper Utility Library and Minecraft Server API

Logo

〚 ⤓ Modrinth / ⤓ Spigot / ⤓ Jenkins Dev Builds / Source on GitHub / Javadocs / Discord 〛

About BKCommonLib

BKCommonLib is a Paper/Spigot/Bukkit server plugin and library which houses a large selection of utilities, API's, frameworks and performance-critical code. It was made to eliminate all use of Minecraft Server Code (aka NMS) from plugins themselves, improving their stability.

It made it so that when Minecraft updates, only this library has to be updated. Plugins using it generally don't require updates anymore, except to stay compatible with BKCommonLib itself.

Compatible Servers

  • Spigot, PaperMC, Pufferfish, Purpur, Tuinity, TacoSpigot
  • Most other forks of the above should work fine
  • Forge Paper hybrids, with limitations:
  • Mohist 1.12.2 and 1.16.5
  • Magma 1.12.2
  • Arclight 1.12.2, 1.15.2, 1.16.5 and 1.18.2
  • CatServer 1.12.2

Backwards-Compatible

The latest version of BKCommonLib is compatible with all Minecraft versions 1.8 and above. This means version 1.19 of BKCommonLib should work on Spigot 1.12.2, Paper 1.16.5, Pufferfish 1.18.2 and so on.

Do not install an older version of BKCommonLib for older versions of Minecraft.

Support

If Minecraft just updated or Spottedleaf made some ground-breaking optimizations in Paper, you might find that BKCommonLib stops working. Bergerkiller is probably on the case, and there might already be development builds available that fix your problem over at our build server:

Development Builds: https://ci.mg-dev.eu/job/BKCommonLib/

Report any problems to us on the GitHub Issue Tracker or join our Discord Server for assistance. Issue reports for older server versions are welcome too.

Tutorials and example projects are lacking a bit, but you can ask for API help on the discord. We'll help.

Features

Includes Mountiplex General Purpose Java Reflection Library

##### Mountiplex is core to BKCommonLib's ability to support so many different Minecraft Server versions and even forge at the same time. It combines the strengths of ASM, Javassist and Objenesis with a _Template Engine_ to generate compatible code at runtime. To achieve this it supports template declarations for macros, reflection and remapping and molds this into a compiletime-generated interface.

This means you don't have to compile different classes for every different permutation of paper/spigot/forge/version and the millions of forks people create. If someone changes something, add an _#if - #endif_ block and you're set!

Here is an example template for various packets to demonstrate the power of this approach

  • At-runtime class generation with Handles, reflection, template engine
  • Dynamic type/name remapping to support forge/multi-version/Mojang Mappings
  • Parse version strings, compare them. Also inside templates.
  • Detect existence of types, methods and fields and generate an appropriate compatible implementation
  • Access private members with _#require_ and call them with _#name_ anywhere in the code
  • Maven Mojo tasks to generate the interfaces or convert block comments into strings (jdk8 multiline string back-support)
  • Type Conversion
  • Automatically convert one value type to another using a type <> type registry
  • Example: Use Bukkit Entity in API, convert to net.minecraft Entity for use in generated code
  • Compatible with NBT / YAML to store any custom type and convert automatically
  • Declare conversions inline in your template:
      // Fields
      public final (IntVector3) BlockPosition position;

      // Instance methods
      public (List<org.bukkit.entity.Entity>) List<Entity> findEntities() {
          // Code
      }

******

Includes Cloud Command Framework

##### BKCommonLib includes the Cloud Command Framework. Write clean commands with annotations or builder pattern, complete with suggestions, permission handling and localization. BKCommonLib adds a few default utilities to get set up for Paper/Spigot servers even faster. ******

PluginBase Framework

Read the full description on Modrinth →

Highlights

From source data

Game versions

Supports 75 Minecraft versions, the newest being 26.3.

Loaders

Runs on Bukkit, Paper, Purpur and Spigot.

Footprint

Rated a light load on a server.

What kind of mod it is

From the catalog
Listed on Modrinth as “Mods”

Libraries & compatibility

Foundations and fixes other mods build on. Usually installed because something else needs it.

Runs on your server

From source side support

Modrinth lists BKCommonLib as required on the server. Check its Modrinth page to see whether players need it too.

Compatibility

Game
Minecraft
Loaders
BukkitPaperPurpurSpigot
Runs on
Serverrequired on the server
Game versions
26.3 and 74 earlier

Verified at the source

  • ✓ModrinthOfficial listing, checked 2026-10-01Open ↗
  • ✓Authorbergerkiller, as published on Modrinth
  • ✓LicenseMITFree

BKCommonLib, answered

Generated from the mod’s own source data.

Do my players need to install BKCommonLib?

Modrinth lists BKCommonLib as required on the server. Check its Modrinth page to see whether players need it too.

Which loaders does it support?

Bukkit, Paper, Purpur and Spigot.

Is it free?

Yes. BKCommonLib is free to download from Modrinth. Its license is MIT.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run BKCommonLib on a Minecraft server.

Deploy in about a minute from $4.20 a month, then add BKCommonLib in one click.