Utility Nexus Admin
A server administration utility mod featuring dynamic datapack loading, admin commands, and management tools for Minecraft 1.21.1 NeoForge servers.
介绍
⚙️ 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
常见问题
Utility Nexus Admin 支持哪些 Minecraft 版本?
Utility Nexus Admin 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。
Utility Nexus Admin 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
LlaGuiT0 的其他作品
查看全部 →Armor Cosmetic
同时穿两套盔甲——一套管属性,一套管外观。
Teleport Animation
Cinematic camera transitions when teleporting with Waystones or Create: Kinetic Waypoints.
EnchantVenture
Explore, fight, build, and progress through a handcrafted Minecraft adventure featuring immersive exploration, structured progression, magic, technology, optimized performance, official content, and a polished vanilla-friendly experience.
Carry Mechanics
Pick up, carry, and place blocks and entities with your bare hands! A lightweight, configurable successor to Carry On.
评论
登录后评论和评分