HBM’s Nuclear Tech Mod registers several commands through Forge’s server-side command system. These commands give server operators and developers direct control over radiation data, the live config system, JSON recipes, orbital satellites, power networks, and packet threading — all without requiring a server restart. Unless explicitly noted otherwise, each command listed here inherits the default ForgeDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/hbmmods/hbm-s-nuclear-tech-git/llms.txt
Use this file to discover all available pages before exploring further.
CommandBase permission level of 4 (operator / op), meaning only players with op status (or the server console itself) can run them. The one exception is /ntmcustomize, which is intentionally open to all players.
getRequiredPermissionLevel value.Radiation
/ntmrad — Set or Clear World Radiation
/ntmrad — Set or Clear World Radiation
ChunkRadiationManager.Permission level: 4 (operator)Syntax:| Subcommand | Arguments | Description |
|---|---|---|
set | <amount> (float, 0–100000) | Sets the radiation level at the command sender’s current coordinates. |
clear | (none) | Clears all radiation data for the current world. |
set subcommand places radiation at the sender’s exact block position,
which ChunkRadiationManager then distributes across the surrounding chunk
area according to its normal decay rules.Configuration & Recipe Reload
The three commands below share a common base class (CommandReloadConfig) that provides a consistent list / reload / get / set interface for live-editable config variables. Tab completion is supported for all subcommands and variable names.
/ntmclient — Client-Side Config Variables
/ntmclient — Client-Side Config Variables
ClientCommandHandler, so it is only available in single-player or
from the client side of an integrated server — it cannot be run from a
dedicated server console.Permission level: Available to any player (client-side command).Syntax:| Subcommand | Description |
|---|---|
help [<subcommand>] | Prints usage for all subcommands, or detailed help for a specific one. |
list | Displays all client variable names and their current values. |
reload | Re-reads all client variables from the config file on disk. |
get <name> | Prints the current in-memory value for the named variable. |
set <name> <value> | Updates the named variable and saves it to the config file immediately. |
| Variable | Type | Default | Description |
|---|---|---|---|
RENDER_REEDS | Boolean | true (auto false with Angelica) | Renders the underwater portion of NTM reeds. Disable to work around the Angelica Compact Vertex Format issue. |
GUN_ANIMS_LEGACY | Boolean | — | Switches gun animations to the legacy style. |
GUN_MODEL_FOV | — | — | Controls the field-of-view used for gun model rendering. |
GUN_VISUAL_RECOIL | Boolean | — | Enables or disables visual recoil on guns. |
RENDER_CABLE_HANG | Boolean | — | Toggles cable sag/hanging rendering. |
NUKE_HUD_FLASH | Boolean | — | Toggles the screen flash effect on nuclear detonations. |
NUKE_HUD_SHAKE | Boolean | — | Toggles screen shake on nuclear detonations. |
DODD_RBMK_DIAGNOSTIC | Boolean | — | Shows the RBMK DODD diagnostic overlay. |
COOLING_TOWER_PARTICLES | Boolean | — | Toggles cooling tower steam particles. |
/ntmserver — Server-Side Config Variables
/ntmserver — Server-Side Config Variables
canCommandSenderUseCommand override returns false for non-player
senders, so the server console cannot use this command.Permission level: 4 (operator), player senders only
(console input is rejected).Syntax:| Subcommand | Description |
|---|---|
help [<subcommand>] | Prints usage for all subcommands, or detailed help for a specific one. |
list | Displays all server variable names and their current values. |
reload | Re-reads all server variables from the config file on disk. |
get <name> | Prints the current in-memory value for the named variable. |
set <name> <value> | Updates the named variable and saves it to the config file immediately. |
set take effect immediately in memory and are written to
disk, persisting across restarts. Use reload to pull in edits made
directly to the config file while the server is running./ntmreload — Reload JSON Recipes & Fluids
/ntmreload — Reload JSON Recipes & Fluids
CommandBase level)Syntax:Reload complete :) in
yellow. On failure it prints the exception message and the first stack frame
to chat, and re-throws the exception so the full trace appears in the server
log.What gets reloaded:FluidContainerRegistry— cleared and re-registeredFluids— fluid definitions re-initialisedSerializableRecipe— all JSON machine recipes re-parsedItemPoolConfigJSON— loot pool configs re-parsedDamageResistanceHandler— resistance tables re-loadedLogicBlockActions,LogicBlockConditions,LogicBlockInteractions— structure logic re-initialised
GeneralConfig or other Java-level configs;
use /ntmserver reload for those.World & Structure Tools
/ntmlocate — Find Nearby NTM Structures
/ntmlocate — Find Nearby NTM Structures
PlayerNotFoundException.Syntax:| Subcommand | Arguments | Description |
|---|---|---|
structure | <name> | Searches for the nearest occurrence of the named structure and reports its block coordinates. |
list | (none) | Prints the names of all registered NTM structures. |
structure
keyword.Example output (success):commands.locate.none_found. If the name does not match any registered
structure it reports commands.locate.no_match.Satellite Management
/ntmsatellites — Launch, Remove, and List Orbital Satellites
/ntmsatellites — Launch, Remove, and List Orbital Satellites
SatelliteSavedData. NTM
satellites are items that implement the ISatChip interface; once in orbit
they are tracked by frequency and type.Permission level: 4 (operator, default level). Must be run by a player.Syntax:| Subcommand | Arguments | Description |
|---|---|---|
orbit | (none) | Launches the satellite item currently held in the player’s main hand into orbit. Consumes one item from the stack. The item must implement ISatChip and must not be a blank sat_chip. |
descend | <frequency> (integer) | Removes the satellite registered at the given frequency from the orbital registry. |
list | (none) | Lists all currently orbiting satellites, showing each one’s frequency and class name. |
descend suggests frequencies of currently active
satellites.Example session:Player Tools
/ntmcustomize — Customise a Held Item
/ntmcustomize — Customise a Held Item
ICustomizable interface and
defines its own customize(player, stack, args) handler.Permission level: 0 — available to all players, no operator
permission required.Syntax:- It is run from the console (players only).
- The player is not holding any item.
- The held item does not implement
ICustomizable.
Network Debugging
/ntmreapnetworks — Force-Clear Stale Power & Fluid Networks
/ntmreapnetworks — Force-Clear Stale Power & Fluid Networks
UniNodespace. Every node in every active network is marked as expired and
all network state (links, providers, receivers) is cleared in one sweep.
Networks rebuild themselves naturally as their constituent tile entities
tick.Permission level: 4 (operator, default level)Syntax:Nodespace cleared :). On failure it prints the exception details to chat
and re-throws.When to use this command:Use /ntmreapnetworks when power or fluid networks appear to be stuck —
for example, machines show as connected but no power is flowing, or fluid
networks have stopped transferring after a server crash or chunk reload
incident. The reap forces a clean rebuild from the current tile entity state
rather than relying on potentially corrupted in-memory network topology./ntmloadchunk — Debug Tile Entity Data in a Chunk
/ntmloadchunk — Debug Tile Entity Data in a Chunk
<x> and <z> are block coordinates, not chunk coordinates. The
command converts them to chunk coordinates internally (x >> 4, z >> 4).Output format:- Green entries: tile entity ID and chunk-local coordinates — within valid range.
- Red entries: tile entity ID and chunk-local coordinates — position is out of range (corrupted).
Chunk currently loaded and exits without reading from disk./ntmpackets — Packet Threading Diagnostics
/ntmpackets — Packet Threading Diagnostics
| Subcommand | Description |
|---|---|
info | Prints a full diagnostic report: threading status, thread pool size (total / core / idle / maximum), per-thread names and states, total packet count, queue backlog size, percentage remaining, and time spent waiting on threads last tick. |
resetState | Clears the packet threading error flag (hasTriggered) and resets the clear counter. Use this after resolving a threading error to allow the system to resume normal operation. |
toggleThreadingStatus | Flips enablePacketThreading on or off and reinitialises the thread pool immediately. Useful for isolating whether a crash or lag issue is related to packet threading. |
forceLock | Acquires the packet thread lock on the calling thread. This will freeze the server main thread. Only use this under explicit direction for advanced debugging. |
forceUnlock | Releases a previously force-acquired lock. |
/ntmpackets with no arguments prints the usage string.Example diagnostic output (/ntmpackets info):Client-Side Crash Diagnostics
/dumpthreadsandcrashgame — Thread Dump Utility
/dumpthreadsandcrashgame — Thread Dump Utility
SuicideThreadDump is a client-side only command registered via
ClientCommandHandler. It dumps the full JVM thread state to the log file
and, optionally, forces a JVM exit immediately afterwards. It is intended
as a last-resort tool for diagnosing deadlocks — situations where the game
has frozen and normal crash reporting cannot run.Permission level: Available to any in-game player (client-side). Not
available from the server console.Syntax:| Subcommand | Description |
|---|---|
dump | Writes a full thread dump (all threads, with stack traces, locked monitors, and lock owners) to the log at FATAL level. The game continues running. |
crash | Performs the same thread dump as dump, then calls FMLCommonHandler.exitJava(0, true) to terminate the JVM immediately. |
- Thread name and PID
- Suspended / blocked status (with block time and count)
- Native execution flag
- Thread state (RUNNABLE, BLOCKED, WAITING, etc.)
- All held monitor locks and the stack frame where each was acquired
- Full stack trace
/dumpthreadsandcrashgame dump to capture thread states, then inspect the
FATAL entries in the latest log file to identify which threads are holding
locks and which are waiting on them. Share the log output when reporting
deadlock bugs.