Skip to content
Utility Nexus Admin

Quick rating

Community listing page, reviews may not be monitored by the author.

Utility Nexus Admin

No reviews yet

A server administration utility mod featuring dynamic datapack loading, admin commands, and management tools for Minecraft 1.21.1 NeoForge servers.

Mod Loaders
Minecraft

About

Description

⚙️ Utility Nexus Admin

Server-side admin utility for NeoForge: inject datapacks into every world without a restart, and pregenerate chunks in the background without ever lagging or blocking players.

CurseForge Downloads CurseForge Version Minecraft 1.21.1 NeoForge Client & Server MIT




✨ Overview

Utility Nexus Admin bundles two things every modded server ends up needing — a global datapack loader and a server-safe chunk pregenerator — into one lightweight, dependency-free mod, with a single commented TOML config and one /una command tree, plus one client-side QoL fix for modded creative inventories. Built for NeoForge 21.1.259 on Minecraft 1.21.1.

What it covers:

  • Datapacks — auto-load folder / .zip packs from <game-dir>/datapacks/ into every world; load, unload, reload and validate at runtime
  • Chunk pregeneration — asynchronous, throttled, resumable, and guaranteed to step aside for players
  • Creative tabs — the creative inventory tab bar sorted alphabetically in the player's own language
  • Configuration — one config/utility_nexus/admin/config.toml, read and edited live with /una config
  • Permissions — one configurable OP-level gate for the whole command tree, no permission mod required
Codex Stalking Dragons


🎯 Features

📦 Global Datapack Loader

Vanilla only loads datapacks from a single world's <world>/datapacks/ folder. This loads every folder or .zip datapack placed in <game-dir>/datapacks/ into every world, on dedicated servers and in single-player alike.

  • Packs are selected before the world's first data load, so enabling them does not trigger an extra resource reload at startup
  • Structure is validated first (pack.mcmeta parses, data/ directory present); invalid packs are skipped with a warning
  • A folder pack with no pack.mcmeta can have a default one generated automatically
  • Runtime management, no restart: /una datapack list, load|unload|reload <name>, validate <name>, loadall

🌎 Server-Safe Chunk Pregeneration

A background pregenerator designed so it can never get in a player's way or stall a login.

  • Spiral traversal — generates chunks in an outward square spiral (Ulam-style) from the center, giving better early-game coverage than a raster scan; radius can be finite (pregen.radius > 0), infinite (-1), or disabled (0)
  • Off-thread generation — chunks are requested asynchronously with a bounded number of requests in flight (pregen.maxConcurrentChunks); the server thread never blocks building a chunk
  • Per-tick time budget (pregen.maxMillisPerTick) plus an MSPT-aware throttle (pregen.maxServerMspt) — pregen skips any tick where the server is already running slow
  • Work / rest cycles — generate for pregen.workSeconds, idle for pregen.restSeconds, repeat (set rest to 0 to always work)
  • Player-safe — pauses the instant a player is online or a connection reaches the login / configuration handshake; server-list pings are ignored; resumes only after the server has been empty for pregen.resumeGraceSeconds
  • Scheduled burst window — enable schedule.enabled to run an aggressive pregeneration pass during a daily hour window (default 08:00–10:00) that bypasses MSPT throttle, work/rest, and player-pause; emits a restart warning on window close
  • Deferred auto-start — starts pregen.startupDelaySeconds after the server is fully up, and only while it is empty, so it never collides with world load
  • Resumable — progress is written to a small file and picked up on the next start
  • Commands: /una pregen status | start | stop | pause | resume and /una pregen config enabled|center|radius|chunksPerTick|dimension

🎨 Alphabetical Creative Tabs

NeoForge orders the creative tab bar by tab id: the ten vanilla tabs first, then every mod tab appended at the end unless the mod declares withTabsBefore / withTabsAfter. On a pack with dozens of mods that means the bar is grouped by mod, and finding one tab means scanning ten-tab pages. This sorts the bar A–Z instead.

  • Sorted by display name — the label the player reads, not the tab id
  • Uses the collation rules of the player's own language: a Spanish client gets Armas next to Bloques, and accented names sort with their own letter (Añadir lands with the A entries)
  • Ties break on the registry id, so the order is stable across launches
  • The vanilla tabs stay at the front in their usual order and only the mod tabs are sorted; set creative.vanillaTabsFirst = false to sort every tab, vanilla ones included
  • The hotbar, search, operator and inventory tabs keep their fixed columns
  • Only the tab order changes — the items inside each tab are untouched
  • Client side only; the mixin lives in the client list, so a dedicated server neither applies it nor loads client classes
  • Toggle with creative.sortTabsAlphabetically (default true)

⚙️ Configuration System

Two commented TOML files (NeoForge ModConfigSpec). Every value is reachable at runtime by its section.key name:

  • Common config — config/utility_nexus/admin/config.toml (datapacks, commands, logging, creative) — shared between client and server
  • Server config — utility_nexus/admin/pregen.toml (pregeneration + schedule) — written to world/serverconfig/ on dedicated servers; only generated on dedicated servers
  • /una config get <key> — read a value (e.g. pregen.maxMillisPerTick)
  • /una config set <key> <value> — change it and persist to disk
  • /una config reload — re-read both files from disk

🔐 Command Permissions

The whole /una tree is gated behind a configurable vanilla OP level (commands.opLevel, default 2). The datapack and config sub-trees can each be turned off entirely from the config. No permission-mod dependency.

🪶 Lightweight & Dependency-Free

Zero hard dependencies beyond NeoForge. Server-focused; every system is event-driven and idle until used.


⚙️ Configuration Reference

Full contents of both config files:

KeyDefaultNotes
[datapack] / [commands] / [logging] / [creative] — config/utility_nexus/admin/config.toml
[datapack]
datapack.autoLoadtrueInject datapacks found in <game-dir>/datapacks/ into every world. If false, that folder is ignored entirely.
datapack.validateOnLoadtrueValidate pack structure (pack.mcmeta parses, data/ present) before injecting; invalid packs are skipped with a warning.
datapack.createMissingMetadatatrueGenerate a default pack.mcmeta (pack_format 48) for a folder pack that has none. Zip packs without one are skipped.
[commands]
commands.opLevel2Minimum vanilla OP level required to use /una (0–4). Applied when the command tree is built.
commands.enableDatapackCommandstrueRegister the /una datapack … sub-tree.
commands.enableConfigCommandstrueRegister the /una config … sub-tree.
[logging]
logging.levelINFOMinimum level the mod emits to the log: DEBUG, INFO, WARN or ERROR.
[creative]
creative.sortTabsAlphabeticallytrueClient side only: sort the creative inventory tabs alphabetically by the name shown to the player, in the player's language.
creative.vanillaTabsFirsttrueOnly used when the option above is on. true: the vanilla tabs stay at the front of the tab bar in NeoForge's order and only the mod tabs are sorted alphabetically. false: every tab, vanilla included, is sorted alphabetically together.
[pregen] / [schedule] — utility_nexus/admin/pregen.toml (server config, dedicated only)
pregen.enabledfalseAuto-start chunk pregeneration on server start (only progresses while 0 players are online).
pregen.startX / pregen.startZ0 / 0Center chunk (chunk coords, not blocks).
pregen.radius00 = disabled. -1 = infinite outward spiral. >0 = finite Chebyshev radius in chunks (spiral from center).
pregen.chunksPerTick8Upper bound on chunk requests submitted per tick (1–200). The real pace is governed by the budget and concurrency limits below.
pregen.dimensionminecraft:overworldTarget dimension id.
pregen.maxConcurrentChunks4Maximum chunk-generation requests in flight at once (1–64). Lower = smoother.
pregen.maxMillisPerTick8Wall-time budget per tick for pregen work (1–40 ms).
pregen.maxServerMspt45If the mean tick time exceeds this (10–500 ms), pregen does nothing that tick.
pregen.workSeconds300Seconds of active generation per work/rest cycle (5–86400).
pregen.restSeconds120Seconds of rest between work phases (0–86400). 0 = never rest.
pregen.resumeGraceSeconds30Seconds the server must stay continuously empty before pregen resumes (0–3600).
pregen.startupDelaySeconds60Delay after the server finishes starting before pregen auto-starts (0–3600).
[schedule]
schedule.enabledfalseMaster toggle for the daily pregen burst window (independent of pregen.enabled).
schedule.startHour8Burst window start hour (local server time, 0–23).
schedule.endHour10Burst window end hour. If end <= start the window wraps past midnight.
schedule.burstChunksPerTick64Chunk submissions per tick during burst window.
schedule.burstMaxConcurrentChunks16Max in-flight chunk futures during burst.
schedule.burstMaxMillisPerTick30Wall-time budget per tick during burst.
schedule.burstMaxServerMspt500MSPT threshold during burst (500 = no effective throttle).
schedule.ignorePlayerstrueDuring burst, generate even when players are online.
schedule.autoStopAtWindowEndtrueStop pregen and save progress when burst window closes.
schedule.requireRestartAftertrueEmit restart warning after burst window closes.
Note: [pregen] and [schedule] are server-only config — auto-start and scheduled burst only run on dedicated servers. On a dedicated server set pause-when-empty-seconds=-1 in server.properties so the server keeps ticking while empty — otherwise pregen only runs when someone briefly connects.


📋 Requirements

Minecraft1.21.1
NeoForge21.1.259+
Java21
SideServer, plus one client-side creative tab feature (works in single-player too)


📦 Available Versions

MinecraftNeoForgeJavaLatest buildStatus
1.21.121.1.259+211.2.0Stable

1.21.1 is the only target — there is no earlier build.


🎮 How to Use

  1. Install NeoForge 21.1.259 for Minecraft 1.21.1.
  2. Place Utility Nexus Admin in your mods folder.
  3. Start once — a default common config is written to config/utility_nexus/admin/config.toml; the pregen server config lives in utility_nexus/admin/pregen.toml (dedicated server only).
  4. Put folder or .zip datapacks in <instance-or-server>/datapacks/; they load into every world automatically.
  5. Run /una help in-game or from console for the full command list.
  6. Chunk pregeneration does not auto-start by default; enable it with pregen.enabled = true in utility_nexus/admin/pregen.toml, and tune it under the [pregen] config section or with /una pregen. Monitor with /una pregen status.
  7. Creative tabs are already sorted alphabetically — nothing to do. The vanilla tabs keep their usual spot; set creative.vanillaTabsFirst = false to fold them into the alphabetical sort, or creative.sortTabsAlphabetically = false to get NeoForge's default order back entirely.




🙏 Credits & License

An original mod by Stalking Dragons — not a port or fork of another mod. Released under the MIT license; see the LICENSE file.



Codex Stalking Dragons
https://codex.skdragons.com/
Codex Stalking Dragons — Minecraft Modding