Skip to content

BukkitOfUtils (BOU)

BukkitOfUtils (BOU) is both a Bukkit plugin and a development framework/library. It simplifies Bukkit plugin development and provides a shared foundation for plugins that depend on it — keeping them lighter and faster to download.

Download: Modrinth · Support: Streamline Hub Discord

Supported Platforms

Bukkit Platforms: Bukkit, Spigot, Paper, Purpur, Folia, Mohist, and forks (ImmanitySpigot, FlamePaper, AxolotlSpigot, Airplane, Tuinity, etc.)

Minecraft Versions: 1.7 through 1.21+

Commands

Notation: <required> = mandatory, [optional] = optional

CommandAliasesPermissionDescription
/entity-count [world]entityc, counte, countentitiesbou.command.entity-countCount loaded entities server-wide or in a world
/boumessage <player> <message>boumsgbou.command.boumessageSend a color-coded message to a player
/boutitle <player> <title>\n<subtitle> [-fadeIn=...] [-stay=...] [-fadeOut=...]boutbou.command.boutitleSend a title/subtitle to a player
/boudebug <action> [args]boudbou.command.boudebugDebug utilities (item NBT, item store, tasks, worlds, etc.)
/runfirestring <help|(type) args...>rfs, firestring, fstringbou.command.runfirestringRun a Fire String
/bouhelp [plugin]bouhbou.command.bouhelpShow help for BOU or another Helpful BOU plugin (GUI for players)
/item-factory <plugin> <key>itfbou.command.item-factoryGive yourself an item registered in the Item Factory
/bouplugins <list|enable|disable|info|unload|load|menu> [plugin]boupbou.pluginsManage BetterPlugins (list, lifecycle, info, GUI menus)
/bouversionbouvShow BOU version, server version flags, and Modrinth update status
/onemenuconfigurable (default menu)bou.onemenuOpen the YAML OneMenu GUI (disabled by default)

/bouplugins (/boup)

Manage plugins that extend BetterPlugin:

SubcommandDescription
listList registered BetterPlugins with version and uptime
info <plugin>Show plugin details (authors, uptime, databases, Modrinth status)
enable <plugin> / disable <plugin>Enable or disable a BetterPlugin
unload <plugin>Unload a BetterPlugin
load <jar>Load a plugin JAR from the server plugins folder
menu [plugin]Open the BOU plugins GUI, or a specific plugin's info menu

The plugin info menu shows version, authors, databases, uptime, Modrinth update status (with download link when outdated), and — if the plugin registered one — a custom plugin menu.

/boudebug

Common actions:

ActionDescription
item-nbt / item-nbt-strictPrint NBT of the item in hand
store-item / get-itemStore or retrieve an item in memory
make-item / make-item-strictCreate an item from an NBT/string definition
list-bou-pluginsList loaded BOU plugins
tasksOpen the task manager GUI
uuid / worlds / up / down / topMisc debug helpers
drakapiExercise the Drak API client

Permissions

PermissionDescription
bou.command.entity-countUse /entity-count
bou.command.boumessageUse /boumessage
bou.command.boutitleUse /boutitle
bou.command.boudebugUse /boudebug
bou.command.runfirestringUse /runfirestring
bou.command.bouhelpUse /bouhelp
bou.command.item-factoryUse /item-factory
bou.pluginsUse /bouplugins (/boup)
bou.onemenuUse /onemenu (when enabled)

Configuration

File: plugins/BukkitOfUtils/base-config.yml

Key options (defaults shown conceptually):

PathDefaultDescription
console.name / console.uuidConsole / %Identity used for console-as-sender operations
logging.*.enabled / logging.*.prefixvariesToggle and style info/warn/debug/severe logs
timers.ticking-frequency50Async tick interval in millis (50 ≈ 20 ticks/sec)
timers.entity-collection.frequency10Entity collection interval in async ticks (used on Folia)
version-checker.enabledtrueCheck Modrinth for updates on enable
version-checker.modrinth-project6owv5fWsModrinth project id/slug for BOU
one-menu.enabledfalseEnable the /onemenu command and YAML GUI system
one-menu.command-aliasmenuOptional alias for /onemenu (blank = no alias)

OneMenu

OneMenu is an optional YAML-driven GUI. Enable it in base-config.yml:

yaml
one-menu:
  enabled: true
  command-alias: menu

GUI files live in plugins/BukkitOfUtils/guis/. On first enable, BOU writes a default onemenu.yml.

YAML format

yaml
title: "&6&lOne Menu"
rows: 3  # 1–6

items:
  "11":
    material: COMPASS
    name: "&bServer Info"
    lore:
      - "&7A sample button."
    left-click:
      - "message:&aWelcome!"
      - "player-command:bouhelp"
    right-click:
      - "close"

Slot keys are inventory indices (0size-1). click is accepted as an alias for left-click.

Click actions

ActionDescription
message:<text>Send a message to the clicking player
player-command:<cmd>Run a command as the player (no leading /)
console-command:<cmd>Run a command as console (%player% is replaced)
closeClose the inventory
open-gui:<file.yml>Open another GUI from plugins/BukkitOfUtils/guis/
firestring:<string>Fire a Fire String (%player% is replaced)

Fire Strings

Fire Strings are text commands you can send to BOU to execute actions. They are used throughout BOU-based plugins for running commands, sending messages, and broadcasting.

Fire StringDescription
(console) save-allRuns /save-all as the console
(player) Drakified spawnRuns /spawn as the player Drakified
(consolechat) save-allRuns /save-all as the console (chat variant)
(playerchat) Drakified Hello everyone!Sends Hello everyone! as a chat message from Drakified
(message) Drakified &cHello, &lWorld!Sends a private message to Drakified
(title) Drakified &cHello\n&lWorld!Shows a title (&cHello) and subtitle (&lWorld!) to Drakified
(broadcast) &cHello, &lWorld!Broadcasts a message to all online players
(broadcasttitle) &cHello\n&lWorld!Shows a title and subtitle to all online players

Placeholders

BOU integrates with PlaceholderAPI.

PlaceholderDescription
%bou_expansions_loaded%Number of BOU-dependent plugins loaded
%bou_expansions_papi_loaded%Number of BOU BetterExpansion PAPI expansions loaded
%bou_colored_<text>%Colorizes <text>, supports hex colors (e.g., #ff0000 for red)

For Developers

See the Developer Guide for how to use BOU as a framework in your plugins.