Installation
MagicUtils is split into modules. For most projects you only need one platform
entry point (magicutils-bukkit, magicutils-bungee, magicutils-velocity,
magicutils-fabric-bundle, or magicutils-neoforge) plus optional format
helpers.
Use the modular artifacts only when you need a custom wiring path.
Choose A Version
This documentation is versioned. The examples below use
1.22.0 which matches the current docs version.
If you want to hardcode it in your build, replace it with the exact number
(for example 1.10.0).
Repositories
Add the MagicUtils Maven repository.
Which Artifact Do I Need?
| Scenario | Recommended artifacts | Notes |
|---|---|---|
| Bukkit/Paper plugin | magicutils-bukkit | Default choice for most plugins. |
| Shared Bukkit server install | magicutils-bukkit-bundle + plugin compileOnly dependency | Use when multiple plugins should share one install. |
| Fabric mod | magicutils-fabric-bundle | Default choice for most mods. |
| Shared Fabric server install | magicutils-fabric-bundle:dev without include(...) | Install the bundle mod on the server. |
| Modular Fabric setup | magicutils-fabric + Fabric integration modules | Use only when you want custom wiring. |
| BungeeCord plugin | magicutils-bungee | Includes config/logger/lang/commands/diagnostics support. |
| Velocity plugin | magicutils-velocity | Includes config/logger/lang/commands support. |
| NeoForge mod | magicutils-neoforge + magicutils-commands-neoforge | NeoForgeBootstrap lives in magicutils-commands-neoforge. Placeholder bridge not available yet. |
| Shared NeoForge server install | magicutils-neoforge-bundle | Standalone bundle mod for the server, like the Fabric bundle. |
| Extra config formats | magicutils-config-yaml, magicutils-config-toml | Optional helpers for YAML and TOML. |
| HTTP client | magicutils-http-client | Optional runtime-aware HTTP/WebSocket clients. |
Quick Install
Pick your platform, then your Gradle DSL. The DSL choice is remembered across the page, so you only set Kotlin or Groovy once.
The sections below cover bundle options, shared server installs, and modular setups per platform.
Bukkit/Paper
The Bukkit/Paper adapter bundles the core modules (config, logger, commands, lang, placeholders). Add optional format helpers only when you need them.
You can use it in two ways:
- Embed MagicUtils into your plugin.
- Use a shared MagicUtils plugin (
magicutils-bukkit-bundle) so multiple plugins reuse the same runtime.
Shared Bukkit Bundle
If you want a single shared MagicUtils install for multiple plugins, use the bundle plugin and do not embed MagicUtils inside your plugins.
Dependencies (compile-only):
Install the bundle on the server:
- Drop
magicutils-bukkit-bundle-1.22.0.jarintoplugins/. - Add
depend: [MagicUtils](orsoftdepend) to yourplugin.yml.
Fabric
You have two options:
Embed The Bundle Inside Your Mod
This is the recommended approach for single-mod setups and avoids requiring server owners to install MagicUtils separately.
Depend On A Shared Bundle Mod
If you want one shared MagicUtils install for multiple mods, use a standard dependency and install the bundle mod on the server.
If you pick the shared bundle, add the magicutils-fabric-bundle mod to the
server mods/ folder and do not embed it inside other mods.
You can download the bundle from the Maven repository:
magicutils-fabric-bundle-1.22.0.jar
You can also add a dependency in your fabric.mod.json:
Modular Fabric Dependencies
Use this only when you want to wire specific modules yourself instead of using
the bundle. FabricBootstrap lives in the command integration layer, so a
bootstrap-first modular setup usually pulls both the platform adapter and the
Fabric integration modules.
NeoForge
NeoForge exposes platform, config, logger, and Brigadier command integrations.
There is no NeoForge placeholder bridge yet. NeoForgeBootstrap lives in
magicutils-commands-neoforge, so include it even if you register no commands.
See NeoForge for the NeoForgeBootstrap wiring example.
Shared NeoForge Bundle
If you want a single shared MagicUtils install for multiple mods, install the
standalone bundle mod on the server and do not embed MagicUtils inside your
mods. It works like the Fabric bundle: drop the bundle jar in mods/ and depend
on it from your neoforge.mods.toml.
BungeeCord
The BungeeCord adapter exposes platform, config, logger, lang, command, and diagnostics integration in a single artifact.
See BungeeCord for the BungeeBootstrap wiring example.
Velocity
The Velocity adapter exposes platform, config, logger, lang, and command integration in a single artifact.
Optional Format Helpers
magicutils-config-yamlenables YAML support.magicutils-config-tomlenables TOML support.
Without them, MagicUtils uses JSON or JSONC (Fabric default).
Optional HTTP Client
Notes On Shaded Artifacts
Local builds produce *-all artifacts (shaded). The published Maven repository
(maven.theroer.dev) does not include these files, so do not depend on them.