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.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
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.
✨ Overview
🎯 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.mcmetaparses,data/directory present); invalid packs are skipped with a warning - A folder pack with no
pack.mcmetacan 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 forpregen.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.enabledto 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.startupDelaySecondsafter 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 | resumeand/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
Armasnext toBloques, and accented names sort with their own letter (Añadirlands 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 = falseto 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
clientlist, so a dedicated server neither applies it nor loads client classes - Toggle with
creative.sortTabsAlphabetically(defaulttrue)
⚙️ 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 toworld/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:
| Key | Default | Notes |
|---|---|---|
[datapack] / [commands] / [logging] / [creative] — config/utility_nexus/admin/config.toml | ||
| [datapack] | ||
datapack.autoLoad | true | Inject datapacks found in <game-dir>/datapacks/ into every world. If false, that folder is ignored entirely. |
datapack.validateOnLoad | true | Validate pack structure (pack.mcmeta parses, data/ present) before injecting; invalid packs are skipped with a warning. |
datapack.createMissingMetadata | true | Generate a default pack.mcmeta (pack_format 48) for a folder pack that has none. Zip packs without one are skipped. |
| [commands] | ||
commands.opLevel | 2 | Minimum vanilla OP level required to use /una (0–4). Applied when the command tree is built. |
commands.enableDatapackCommands | true | Register the /una datapack … sub-tree. |
commands.enableConfigCommands | true | Register the /una config … sub-tree. |
| [logging] | ||
logging.level | INFO | Minimum level the mod emits to the log: DEBUG, INFO, WARN or ERROR. |
| [creative] | ||
creative.sortTabsAlphabetically | true | Client side only: sort the creative inventory tabs alphabetically by the name shown to the player, in the player's language. |
creative.vanillaTabsFirst | true | Only 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.enabled | false | Auto-start chunk pregeneration on server start (only progresses while 0 players are online). |
pregen.startX / pregen.startZ | 0 / 0 | Center chunk (chunk coords, not blocks). |
pregen.radius | 0 | 0 = disabled. -1 = infinite outward spiral. >0 = finite Chebyshev radius in chunks (spiral from center). |
pregen.chunksPerTick | 8 | Upper bound on chunk requests submitted per tick (1–200). The real pace is governed by the budget and concurrency limits below. |
pregen.dimension | minecraft:overworld | Target dimension id. |
pregen.maxConcurrentChunks | 4 | Maximum chunk-generation requests in flight at once (1–64). Lower = smoother. |
pregen.maxMillisPerTick | 8 | Wall-time budget per tick for pregen work (1–40 ms). |
pregen.maxServerMspt | 45 | If the mean tick time exceeds this (10–500 ms), pregen does nothing that tick. |
pregen.workSeconds | 300 | Seconds of active generation per work/rest cycle (5–86400). |
pregen.restSeconds | 120 | Seconds of rest between work phases (0–86400). 0 = never rest. |
pregen.resumeGraceSeconds | 30 | Seconds the server must stay continuously empty before pregen resumes (0–3600). |
pregen.startupDelaySeconds | 60 | Delay after the server finishes starting before pregen auto-starts (0–3600). |
| [schedule] | ||
schedule.enabled | false | Master toggle for the daily pregen burst window (independent of pregen.enabled). |
schedule.startHour | 8 | Burst window start hour (local server time, 0–23). |
schedule.endHour | 10 | Burst window end hour. If end <= start the window wraps past midnight. |
schedule.burstChunksPerTick | 64 | Chunk submissions per tick during burst window. |
schedule.burstMaxConcurrentChunks | 16 | Max in-flight chunk futures during burst. |
schedule.burstMaxMillisPerTick | 30 | Wall-time budget per tick during burst. |
schedule.burstMaxServerMspt | 500 | MSPT threshold during burst (500 = no effective throttle). |
schedule.ignorePlayers | true | During burst, generate even when players are online. |
schedule.autoStopAtWindowEnd | true | Stop pregen and save progress when burst window closes. |
schedule.requireRestartAfter | true | Emit 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
| Minecraft | 1.21.1 |
| NeoForge | 21.1.259+ |
| Java | 21 |
| Side | Server, plus one client-side creative tab feature (works in single-player too) |
📦 Available Versions
| Minecraft | NeoForge | Java | Latest build | Status |
|---|---|---|---|---|
| 1.21.1 | 21.1.259+ | 21 | 1.2.0 | Stable |
1.21.1 is the only target — there is no earlier build.
🎮 How to Use
- Install NeoForge 21.1.259 for Minecraft 1.21.1.
- Place Utility Nexus Admin in your
modsfolder. - Start once — a default common config is written to
config/utility_nexus/admin/config.toml; the pregen server config lives inutility_nexus/admin/pregen.toml(dedicated server only). - Put folder or
.zipdatapacks in<instance-or-server>/datapacks/; they load into every world automatically. - Run
/una helpin-game or from console for the full command list. - Chunk pregeneration does not auto-start by default; enable it with
pregen.enabled = trueinutility_nexus/admin/pregen.toml, and tune it under the[pregen]config section or with/una pregen. Monitor with/una pregen status. - Creative tabs are already sorted alphabetically — nothing to do. The vanilla tabs keep their usual spot; set
creative.vanillaTabsFirst = falseto fold them into the alphabetical sort, orcreative.sortTabsAlphabetically = falseto 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.
https://codex.skdragons.com/
Codex Stalking Dragons — Minecraft Modding
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers