NeoForge
magicutils-neoforge provides the platform adapter; magicutils-commands-neoforge
adds the Brigadier command integration and the NeoForgeBootstrap helper.
Recommended Bootstrap
NeoForgeBootstrap mirrors FabricBootstrap: give it the mod id and a supplier
for the running MinecraftServer, then keep the runtime handle.
build() returns the legacy bootstrap view; buildRuntime() additionally gives
you a managed MagicRuntime.
Bootstrap Options
NeoForgeBootstrap.Builder supports the same core options as the other
platforms, plus the mod-specific opLevel:
| Method | Description |
|---|---|
slf4j(logger) | Bind an SLF4J logger for console output. |
configDir(path) | Override the config/lang data directory. |
enableCommands() | Create a CommandRegistry during bootstrap. |
permissionPrefix(prefix) | Set the permission node prefix for commands. |
opLevel(int) | Operator threshold used for permission fallbacks. |
configureCommands(consumer) | Register commands during bootstrap. |
enableDiagnostics() | Enable the diagnostics service. |
configureDiagnostics(consumer) | Register custom diagnostic checks. |
initLanguage(boolean) | Enable/disable language manager initialization. |
bindLoggerLanguage(boolean) | Bind the language manager to the logger. |
setMessagesManager(boolean) | Set the global Messages language manager. |
registerMessages(boolean) | Register the plugin's messages scope. |
addMagicUtilsMessages(boolean) | Register built-in MagicUtils messages. |
bindClientLocaleSync(boolean) | Follow each player's client locale. |
translations(consumer) | Configure additional translations. |
Manual Wiring
When you want full control, wire the services yourself instead of using the bootstrap:
The second argument to CommandRegistry.create(...) is the permission prefix;
an overload accepts an explicit operator level.
Notes
- NeoForge uses
LoggerCoredirectly instead of the Bukkit/FabricLoggerwrapper.
Platform limitations
Player chat/command events (subscribePlayerMessages) are not available on
NeoForge; player lifecycle and locale events are. There is also no NeoForge
placeholder bridge yet, so use MagicUtils core placeholders directly where needed.