Minecraft plugin BKCommonLib
Information about the Minecraft plugin BKCommonLib and servers where it is used
🔌 About BKCommonLib
BKCommonLib — is a library/plugin for Minecraft servers that provides a broad set of utilities, APIs and frameworks to help plugin authors avoid direct NMS usage and to support multiple Minecraft versions from a single codebase.
🎯 Purpose
BKCommonLib exists to solve the compatibility and stability problem caused by changing Minecraft internals (NMS). By centralizing version‑specific reflection, template generation and utility code in BKCommonLib, many plugins can remain compatible across Spigot/Paper versions without each plugin embedding its own NMS code. BKCommonLib targets plugin developers and server operators who need cross‑version stability for their Spigot/Paper plugins.
(Primary capabilities summarized later.)
⚙ Main features
- Multi‑version runtime support using Mountiplex (dynamic class generation and reflection).
- Cloud Command Framework integration for annotations and structured commands.
- PluginBase framework: preloaders, plugin metadata, plugin enable/disable callbacks and simplified registration helpers.
- Permission API and automatic PermissionDefaults generation to make permissions manageable across servers.
- Utilities for type conversion, packet templates and convenience helpers used by other plugins.
These features make BKCommonLib a common dependency for plugins that need stable behavior across many Minecraft versions. ()
🧩 Who is it for
- Plugin developers who want to avoid writing NMS per‑version code.
- Server admins/operators running Spigot/Paper (and common forks) who use plugins that depend on BKCommonLib.
- Multi‑version networks that require plugin compatibility across Minecraft 1.8+.
BKCommonLib itself is not a gameplay plugin — it is a developer/runtime library used by many other plugins. ()
🏗 Usage examples
- A plugin uses BKCommonLib to map packet code at runtime so the plugin runs on Paper 1.20 and Spigot 1.16 without per‑version branches.
- A plugin uses PluginBase to auto‑generate Localization.yml and PermissionDefaults.yml, simplifying translation and permission management.
- Developers depend on BKCommonLib via the MG‑Dev Maven repository to compile with a stable API.
⚡ Notable technical specifics
- BKCommonLib includes Mountiplex for runtime code generation and shades/uses libraries such as ASM/Javassist/Objenesis. ()
- Build and development artifacts are available from the project's CI (development builds) and the GitHub repository. ()
⌨️ Commands
The BKCommonLib project provides internal/default command handlers as part of the PluginBase framework (for reading plugin version/build info), but there are no stable public user commands documented for server admins in the official sources. Therefore:
The plugin does not add new player‑facing commands (no documented plugin commands found in official sources).
🔐 Permissions
BKCommonLib provides a Permission API and can generate PermissionDefaults.yml for plugins that use it. Specific permission nodes are not documented as public, standalone permissions for BKCommonLib in the official sources. Information about concrete permission nodes is dependent on the plugins that use BKCommonLib.
| Permission | Description | Default |
|---|---|---|
| (none documented) | No public BKCommonLib permission nodes documented in official sources; plugins using BKCommonLib define their own nodes. | N/A |
⚙ Installation
📥 Installation
- Download the appropriate BKCommonLib .jar from an official distribution (GitHub/Spigot/Modrinth/CI builds).
- Place the .jar into your server's plugins/ folder.
- Restart the server fully (do not rely on /reload).
- Check server console for BKCommonLib load messages and any dependency warnings. ()
📦 Dependencies
- BKCommonLib is a library; it shades/uses several Java libs internally (ASM, Javassist, Objenesis, Gson, SnakeYAML) but does not require common runtime plugins such as Vault. Install BKCommonLib itself; other required dependencies (if any) are listed by plugins that depend on BKCommonLib. ()
🧾 Configuration
- BKCommonLib and plugins using it may generate Localization.yml and PermissionDefaults.yml automatically.
- BKCommonLib is primarily an API/library: it has limited runtime configuration for end users. Detailed configuration is typically in the dependent plugin's config files.
- Database: BKCommonLib itself does not provide MySQL/SQLite features for data storage — those are implemented by plugins that depend on it. Official sources do not list DB support for BKCommonLib itself. ()
🧠 Additional information
Known conflicts & limitations
- BKCommonLib depends on deep reflection and runtime code generation. If Minecraft or server forks change internals, BKCommonLib may temporarily fail until a new BKCommonLib build is released. Use the project CI/dev builds for rapid fixes. ()
- Compatibility: designed for Spigot/Paper and many common forks. Some forge/Paper hybrid forks have limitations (examples listed in official pages). Test on a staging server before production. ()
FAQ
Q: Can I install BKCommonLib on any Paper/Spigot server?
A: BKCommonLib supports Spigot, Paper and many forks; some hybrid forks have limitations — consult the project's compatibility notes. ()
Q: Does BKCommonLib add game features?
A: No — BKCommonLib is a developer/runtime library used by other plugins; it does not add gameplay mechanics by itself. ()
Q: Where do I report issues or get builds?
A: Report issues on the GitHub issue tracker and use the project's CI (development builds) for fixes while waiting for official releases. ()
Q: Does BKCommonLib collect metrics (bStats)?
A: Official sources do not document bStats or telemetry for BKCommonLib itself (information absent in official documentation).
Q: Is there Discord support?
A: The project points users to a Discord server for support (invite listed on project resources). ()
🤝 When BKCommonLib is useful
If you run or develop plugins that must remain compatible across multiple Spigot/Paper Minecraft versions, BKCommonLib reduces the maintenance burden by centralizing version‑specific logic. It is commonly used as a compile/runtime dependency for multi‑version plugins. ()
Useful links
- https://github.com/bergerhealer/BKCommonLib
- https://www.spigotmc.org/resources/bkcommonlib.39590/
- https://modrinth.com/plugin/bkcommonlib
- https://www.curseforge.com/minecraft/bukkit-plugins/bkcommonlib
- https://ci.mg-dev.eu/job/BKCommonLib/
- Eclipse Roleplay3356.69
- RSD Minecraft Survival Server - Version 1.21.10 Neustart 2022 - Bauen & Spielen - www.rsdclan.de
Freebuild survival server with a friendly community, Dynmap and Bedrock support via Geyser/Floodgate — focus on building and playing.
343.48 - Welcome to Sanacraft139.25
- Anarchy has taken over.035.46
- ¶ Britania À [1.21.10] ¶ Survie V Freebuild V Semi-RPÀ
Modded community server — Survival, Freebuild and Semi‑RP with friendly staff, ranks and an active wiki. Forge mods required to join.
235.09 - & WELCOME TO EQUILIBRIUM &020.69
- A Minecraft Server017.35
- Classicraft016.75
- Minecraft Server016.26
- shuuush06.02
- Mango Bay - 1 j jt 0
Community‑built semi‑vanilla survival server with grief prevention, friendly staff and voting rewards — fair play and quality‑of‑life addons.
05.71
Minecraft plugin BKCommonLib is used on public servers to extend gameplay, add new mechanics, or improve server management. This page contains up-to-date information about the plugin's purpose, usage, and popularity among servers.
The catalog of servers with BKCommonLib is generated automatically based on real data. You can see which Minecraft servers have this plugin installed, how often it is used, and what role it plays in gameplay.
BKCommonLib usage statistics help assess its relevance and distribution. Data is updated regularly and reflects the real state of the Minecraft server ecosystem without manual input.
The Minecraft plugin BKCommonLib page is useful for server owners choosing functionality for their project and for players who want to understand what features a server with this plugin offers.
Use this page to find Minecraft servers with the BKCommonLib plugin, analyze its popularity, and make an informed decision about using the plugin on your server.