HBM’s Nuclear Tech Mod includes first-class integration with the OpenComputers mod (OC), exposing dozens of NTM machines as OC components that Lua scripts can query and control at runtime. This unlocks automation far beyond what Redstone Over Radio can express: a Lua script can read exact core temperatures, adjust control rod insertion levels with arithmetic precision, detect coolant loss, trigger emergency shutdowns, manage fluid valve states, and display real-time reactor dashboards on OC screens — all without redstone dust. The integration is implemented as a compile-only dependency, meaning NTM loads and runs normally even if OpenComputers is not installed; the component interfaces are simply inactive. Contributors to the OC integration include Voxelstice, BallOfEnergy1 (Microwave), PewPewCricket, kelllllen, and Toshayo.Documentation 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.
Architecture
The integration is centred on two classes:CompatHandler(com.hbm.handler.CompatHandler) — utility class providing helper functions (e.g., converting steam type enums to/from integers) and theOCComponentmarker interface that machine tile entities implement.TileEntityProxyCombo(com.hbm.tileentity.TileEntityProxyCombo) — a proxy tile entity that wraps any NTM machine and exposes itsOCComponent+SimpleComponentinterfaces to OpenComputers, along with the full RoR INDEX API (IRORValueProvider,IRORInteractive).
CompatHandler.OCComponent and declare their component name via getComponentName(). The @Optional.Method(modid = "OpenComputers") annotation ensures the @Callback-annotated methods are ignored when OC is absent.
Registered OC Components
The following NTM machines expose OpenComputers component names and@Callback methods:
- Reactors & Power
- Fluids & Chemistry
- Particle Accelerator
- Weapons & Misc
| Component Name | Machine |
|---|---|
ntm_pwr_control | PWR Controller (TileEntityPWRController) |
ntm_turbine | Steam Turbine, Industrial Turbine, Large Turbine, Chungus Turbine |
ntm_gas_turbine | Gas Turbine |
ntm_combustion_engine | Combustion Engine |
ntm_fusion_torus | Fusion Reactor Torus |
ntm_fusion_boiler | Fusion Boiler |
ntm_fusion_breeder | Fusion Breeder |
ntm_fusion_klystron | Fusion Klystron |
ntm_fusion_mhdt | Fusion MHD Topping Cycle |
ntm_icf_reactor | Inertial Confinement Fusion Reactor |
ntm_energy_storage | Battery Base |
ntm_energy_storage_legacy | Legacy Machine Battery |
Connecting an OC Computer to an NTM Machine
Install OpenComputers
Download and install the OpenComputers mod. NTM will automatically detect it at startup and activate the integration layer.
Place an OC Adapter block
In-game, craft an OC Adapter block and place it directly adjacent to the NTM machine you want to control. The adapter must share a face with the machine’s tile entity.
Connect cables and a computer
Run OC cables from the adapter to your computer case. Add a CPU, RAM, and either a floppy drive or hard drive. Power the computer with an OC power converter attached to your NTM power grid.
Discover the component
Boot the computer and run
components (or component.list() in Lua) to confirm the NTM component appears under its registered name (e.g., ntm_pwr_control).Available Callbacks — Steam Turbine
The turbine components (ntm_turbine) expose the following methods:
PWR Controller Callbacks
Thentm_pwr_control component (PWR reactor controller) is the most feature-rich component, used by the included PWRangler automation script:
PWRangler — Included Automation Script
NTM ships a complete Lua script on a virtual floppy disk (hbm/disks/pwrangler/usr/bin/PWRangler.lua). It provides a full-screen control panel for the PWR reactor:
- Real-time core heat, hull heat, and neutron flux readouts
- Visual control rod position bar graph
- Coolant buffer gauges for both hot and cold coolant loops with delta indicators
- Interactive +1/+5/+10 and −1/−5/−10 control rod buttons
- Emergency SCRAM button (sets rod level to 100 = fully inserted)
- Configurable automatic SCRAM triggers:
- Core overheat ESTOP — SCRAMs if core heat exceeds 90% of capacity
- Coolant loss ESTOP — SCRAMs if cold coolant drops below 10,000 mB
- Hot coolant overflow ESTOP — SCRAMs if hot coolant exceeds 50% of capacity
The PWRangler script uses
component.list("ntm_pwr_control") to auto-discover the PWR Controller address. If you have multiple PWR reactors, only the first discovered will be managed. Extend the script to handle multiple addresses for multi-reactor plants.Example: Simple Reactor Safety Script
Steam Type Mapping
TheCompatHandler.steamTypeToInt / intToSteamType helpers define the following mapping used by turbine components:
| Integer | Fluid |
|---|---|
0 | Steam (standard) |
1 | Hot Steam |
2 | Super-Hot Steam |
3 | Ultra-Hot Steam |
