About BKCommonLib
From ModrinthSpigot/Paper Utility Library and Minecraft Server API
〚 ⤓ 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
Highlights
From source dataGame 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 catalogLibraries & compatibility
Foundations and fixes other mods build on. Usually installed because something else needs it.
Runs on your server
From source side supportModrinth 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









