Please join the Streamline Hub Discord to get updates and for me to fully assist you with bugs, questions, or suggestions.
Discord: click here

BukkitOfUtils (BOU for short)
Easily develop plugins that support the majority of server software!
Supported Platforms
- Bukkit
- Spigot
- Paper/Purpur
- Leaf/uSpigot
- Folia
- Mohist/Banner/Youer
- And more!
- Most forks of Spigot and Paper are supported natively.
What is it?
BOU is both a plugin and plugin-making framework / library. It is designed to ease the development process of making Bukkit plugins. It also provides a central framework for plugins that use it, making the plugins that use it more organized and easier to manage as well as making them slimmer and faster to download.
BOU is one of the few plugin-building-frameworks out there that supports
Bukkit, Folia, and Mohist/Banner/Youer!
Plus, its easy-to-understand classes and framework help beginners
start developing plugins that they too can understand!
The plugin is also optimized with its own async methods so that server owners don't have to worry about lag (specifically with method calls like Database operations).
All of this and the fact that it has a built-in database framework that uses HikariCP (the fastest database framework at the moment), means that developers will have an easy time adding database support for their plugins.
What does this do?
As stated before, the main purpose of this plugin is to provide a central framework for plugins that use it.
On top of that, it also has a few abilities it does by itself:
- Allow server admins to change how many milliseconds there are in between the async ticks the plugin has.
- This is used for increasing or decreasing the tickrate of the plugin's runnable tasks.
- Item serialization.
- Serialize and deserialize ItemStacks to and from strings.
- Built-in database framework.
- Easily add database support to your plugins with HikariCP.
- Enhanced logging.
- Allows plugin authors to handle logging messages in a more intuitive way.
- Focus on asynchronous, thread-safe, optimized methods.
- The plugin is designed to be as lag-free as possible.
- Enhanced color support.
- Easily colorize messages with the plugin's built-in color support. Supports RGB colors with Hex!
- Added utility methods.
- The plugin has a few utility methods that can be used in your plugin's project.
- Localized PlaceholderAPI support.
- Easily add PlaceholderAPI support to your plugin with the plugin's built-in PlaceholderAPI support.
- Player lookups without Mojang.
- Player names, UUIDs, and skins come from your server's data and cache first.
- Falls back to Geyser, PlayerDB, then MineTools, pausing any service that is down.
- Offline-mode and no-internet servers are supported (set
web.enabledtofalse).
- Bedrock support through Floodgate and Geyser.
- Bedrock players are fully supported, and their player heads show their real skins.
- Slim download.
- Large libraries are downloaded by the server at startup instead of being bundled in the jar.

Commands
<...> is required, (...) is optional.
/entity-count (world)— aliases:entityc,counte,countentities- Get the amount of entities currently loaded on your server, or in one world.
- Permission:
bou.command.entity-count
/boudebug <action> (args)— alias:boud- Permission:
bou.command.boudebug item-nbt/item-nbt-strict— Serialize the item in your hand to a string.make-item <nbt>/make-item-strict <nbt>— Create an item from a serialized string.store-item— Store the item in your hand in memory.get-item <id>— Get a stored item back from memory.list-bou-plugins— List loaded BOU plugins.dump— Dump debug information.worlds— List all worlds.uuid <player>— Show a copy-able message of a player's UUID.tasks <list|cancel <id>|pause <id>|resume <id>|menu>— View and manage running BOU tasks.- Teleport to:
top— The top-most open space above you.up— The next open space above you.down— The next open space below you.center— The center of your block.center3d— The exact middle of your block.
- Permission:
/boumessage <player> <message>— alias:boumsg- Send a message to a player with the plugin's color support.
- Permission:
bou.command.boumessage
/boutitle <player> <title>\n<subtitle> (-fadeIn=<fade in ticks>) (-stay=<stay ticks>) (-fadeOut=<fade out ticks>)— alias:bout- Send a title to a player with the plugin's color support.
- Permission:
bou.command.boutitle
/bouversion— alias:bouv- Shows
BukkitOfUtilsversioning information, including the server's version. - Checks Modrinth for updates and links the download if you are behind.
- Shows
/bouplugins <list|enable|disable|info|reload|unload|load|menu> (plugin)— alias:boup- List and manage loaded BOU plugins, or open the plugins menu.
- Permission:
bou.plugins
/onemenu— alias:menu(configurable)- Opens the configurable OneMenu GUI.
- Off by default; enable it with
one-menu.enabledin the config. - Permission:
bou.onemenu
/runfirestring <firestring>— aliases:rfs,firestring,fstring- Runs a
FireString. - Permission:
bou.command.runfirestring
- Runs a
/bouhelp <bou-plugin>— alias:bouh- Shows
Helpfulinformation about aBOUplugin. - Permission:
bou.command.bouhelp
- Shows
/item-factory <bou-plugin> <key> (count)— aliases:itemfactory,itf- Gets an item (or several) from the
ItemFactory. - Permission:
bou.command.item-factory
- Gets an item (or several) from the

How do I get started using this?
Head on over to the plugin's wiki to see how you can use it in your own plugin's project. Wiki: https://wiki.drak.gg/bukkitofutils
BStats
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 |
+ Server data and cache are checked first.
+ Falls back to Geyser, PlayerDB, then MineTools.
+ Failing web services are paused, then retried later.
+ Bedrock players are fully supported through Floodgate and Geyser.
+ Bedrock player heads now show their real skins.
+ Saved heads keep their skins after reloading.
+ Offline-mode servers get instant player lookups, no waiting.
+ Unreachable lookup services no longer reject valid player names.
+ Added a player-lookups config section.
+ Set web.enabled to false for no-internet servers.
+ Cache times, timeouts, and backoff are configurable.
+ Set bedrock.prefix when Floodgate runs only on proxy.
+ Entity Performance Improvements.
+ Task Performance Improvements.
+ Database Performance Improvements.
+ Other Performance Improvements.
+ Fixed 1.8 support.
+ Fixed a few bugs.
+ Added more helper classes for GUIs.
Helpful for getting helpful information on a BetterPlugin (a BOU Plugin).+ Added related commands.
+ Added new
ItemFactor classes to make getting custom items easier.+ Added related commands.
+ Patched
TaskManager GUI.+ Fix coming later.
+ Added more functionality to the
/entity-count command.+ You can now filter by world.
+ Added
WorldSets.+ Easy way to pair worlds together. (Overworld, End, Nether, Etc.)
+ Added better
MessageBoard implementation.+ Fixed bug with tab completions on some commands.
+ Added some more optimizations.
+ Added some more util classes.
+ Added DrakAPI support.
VersionUtils class.+ Added a new
/bouversion command that shows some fancy versioning info.+ Added
Versioning class. This is now what tells BOU what version of Bukkit (and Forks) it is running on./boud dump command for better help.+ Added some more utility classes.
+ Added more util methods.
+ Fixed some issues.
worlds sub command for the debug command.+ fix: entity count command.
+ Added some more util classes.
+ ColorUtils now has an method for painting the whole message with a ClickEvent or HoverEvent.
+ Fixed an issue with force unloading the plugin while the server is still running. Doing this will no longer spam error messages with BOU dependant plugins installed.
+ Added a
/firestring command.+ Run and test Fire Strings from in game.
+ Fixed an issue with starting the TaskManager class.
+ Added some more utility methods.
+ Additions of utility classes.
+ Additions of more util classes.
+ Some fixes to Async functions.
+ Fixes with unloading plugins.
+ Added new Async and Sync utils.
+ Fixed unloading plugins not correctly closing database connections.
+ Cleaned up PAPI support.
+ Added more classes for devs to use.
+ Fixed ItemUtils class.
+ Fixed Item serialization.
+ Fixed Item deserialization.
+ Optimized methods.
+ Added a LocationUtils class.
+ For help with Location-based needs.
+ Needed for LibertyBans to not be annoying.
+ Added FireStrings API endpoints.
+ Cleaned up some code.
+ Added more optimizations.
+ Added more utility classes.
+ Fixed a few issues with the BaseManager class.
+ Optimized some more code using Caffeine.
+ Optimized a lot of the code.
+ Added more Utility classes.
+ Tested a lot on different servers.
+ Works. [https://wiki.plas.host/bukkitofutils](https://wiki.plas.host/bukkitofutils)