Skip to content

Overview and Design Pillars

denfry edited this page Oct 13, 2026 · 1 revision

Overview and Design Pillars

Note

Design stage. This page describes planned mechanics from the design document. Not implemented yet — see Roadmap (milestone M0 is in progress; gameplay starts at M1–M2).

Prompt Critical (working alternative title "Create: SCRAM") is a Minecraft NeoForge mod about an industrial complex "from coal mine to closed nuclear fuel cycle". It treats power generation, oil and gas, metallurgy and chemistry as engineering disciplines rather than "a block that outputs RF".

The player climbs a ladder of industries (see Progression):

coal and steam → steel and electricity → oil and gas → chemistry → nuclear.

Each industry depends on the products of the previous ones and supplies the next. The top of the ladder is the full nuclear fuel cycle, from geological exploration to deep geological disposal, and a reactor whose physics is described by real equations: point kinetics with delayed neutrons, xenon and samarium poisoning, and thermal hydraulics with phase change.

The complex is run by plant instrumentation and control (I&C) that the player builds. It grows with the plant: relay cabinets → analog computers → PLCs programmed in IEC 61131-3 languages → DCS and SCADA on CC: Tweaked → plant level (MES/APC). Mechanical power comes from Create.

Inspirations

The mod does not copy other games and mods. It borrows specific ideas that match its pillars. Every borrowing is recorded as a design decision (R19–R30 in the GDD).

Source What is borrowed What is deliberately left out
GregTech: New Horizons quest route, mixed ore veins, voltage classes, per-chunk pollution, maintenance panel progression through recipe grind, space
HBM's Nuclear Tech core cartogram (top-down core map), fluid identifiers on pipes weapons, nuclear explosions
Immersive Engineering visible wires with sag, by voltage class —
Create: Crafts & Additions, TFMG electric motor on a Create shaft, piston engines FE as the main energy
PneumaticCraft instrument air as a dependency of pneumatic actuators pressure as a universal energy
OpenComputers PLC CPU tiers —
Mekanism per-face input/output configuration —
Tinkers' Construct casting molten metal into molds —
Nucleares, Workers & Resources: Soviet Republic, Captain of Industry, Oxygen Not Included, Satisfactory control-room feel, Soviet industrial aesthetics, spare parts as logistics, temperature and gases as physics, grid automation —
Nobody — magic, space, weapons, NPC workers (they dilute the focus)

Design pillars

# Pillar What it means in practice
P1 Physics instead of magic numbers Every constant is either physical (with a cited source) or marked [BALANCE] with a justification and exposed in the config.
P2 Readability through instruments You learn the state of a plant from gauges, sound and vibration, not from tooltips. Everything measurable is measured by sensors that have error and lag.
P3 Automation as gameplay The mod gives you parts, not finished solutions: sensors, registers, PLC function blocks (PID, cascade, selectors — as in a real DCS), CC: Tweaked. You design the control scheme, interlocks, tuning and algorithms. There is no ready-made "station controller" (except a training one in TRAINING mode).
P4 Proportionate consequences Mistakes lead to realistic consequences, bounded by server policy. All destruction goes through a DamageBudget.
P5 Performance is a functional requirement Simulation budget ≤ 3 ms/tick (p95) for the reference complex. A design that exceeds the budget is a bug.
P6 Safety by design Hardware protection works independently of Lua and PLCs: the reactor trip system (RPS), the safety instrumented system (sis_logic_solver) on any hazardous plant, relief valves. Control rods fall under gravity when drive power is lost; SIS valves go to their safe position on loss of power (fail-safe).
P7 Coupled industries No production chain is closed on itself: every industry consumes products of others. Sulfur from the gas plant goes to uranium leaching, coke-oven pitch goes into reactor graphite, refinery diesel feeds the plant's emergency diesel generators, helium from natural gas fills fuel rods. A new chain without at least one input from and one output to another industry is not accepted into the design.

Platform

Component Base version Role
Minecraft 1.21.1 —
NeoForge 21.1.x mod loader
Java 21 language
Create 6.0.x (NeoForge 1.21.1) kinetics, stress, fluids, Ponder
CC: Tweaked 1.113+ (1.21.1) Lua computers, peripherals, monitors
  • Mod id: promptcritical
  • Base Java package: dev.denfry.promptcritical
  • Build modules: pc-sim (pure Java simulation, no Minecraft dependencies), pc-api, and pc-mod (the NeoForge binding). See Architecture.

Optional integrations

All optional integrations are wired through conditional recipes and ModList.isLoaded. None of them is a hard dependency.

Mod Use
JEI / EMI recipe viewing
Jade overlay — only "everyday" data, never instrument readings (pillar P2)
Serene Seasons seasons: heating load, cooling tower efficiency, river level. Without it, the season is derived from in-game days
Simple Voice Chat plant public-address system: intercoms by role
Sound Physics Remastered occlusion and reverb for the Acoustics system
Xaero's Minimap / World Map waypoints from the geological_map
Distant Horizons long-range visibility of cooling towers, flares and derricks

For compatibility with other mods (TFMG, Create Crafts & Additions, Mekanism and so on), cross-industry fluids and items carry common NeoForge c: tags, and optional conversion recipes use neoforge:mod_loaded conditions.

Units and conventions

Inside the simulation everything is SI only. Conversion to "operator" units happens only in the display layer (HMI). The CC: Tweaked peripheral API returns SI values and offers conversion helpers.

Quantity Internal unit Operator unit
Pressure Pa MPa (absolute); kgf/cm² optional
Temperature K °C
Energy / specific enthalpy J / J·kg⁻¹ kJ/kg
Power W MW (thermal MW(t), electric/mechanical MW(e))
Mass flow kg·s⁻¹ t/h, m³/h
Reactivity dimensionless (Δk/k) pcm (10⁻⁵), fractions of β_eff ($)
Reactor period s s
Neutron flux cm⁻²·s⁻¹ % of nominal power
Activity Bq Bq, Ci
Dose rate Sv·s⁻¹, Gy·s⁻¹ µSv/h, mSv/h, Sv/h
Surface contamination Bq·m⁻² Bq/cm², counts/(cm²·min)
Length m (1 block = 1 m) m, mm
Grid voltage / current V / A kV / A
Grid active / reactive power W / var MW / Mvar
Gas volume normal m³ (0 °C, 101 325 Pa) thousand Nm³, million Nm³/day
Formation permeability m² mD
Fuel quality dimensionless octane number (RON/MON), cetane number

Sign conventions: reactivity ρ = (k−1)/k, positive ρ means power rising. Mass flow ṁ > 0 follows the connection direction (from → to). All pressures are absolute.

Time domains

The simulation runs in three time domains with different step sizes.

Domain What it covers Step Time acceleration
FAST neutron kinetics, thermal hydraulics, pump/turbine/rod mechanics, containment pressure, water hammer 0.05 s (one Minecraft tick), internal substeps allowed 1× (real time)
SLOW Xe/Sm, decay heat accumulation, burnup, isotope buildup, chemistry, spent fuel cooling, corrosion 1 s (every 20 ticks) K_slow = 72 [BALANCE]: one Minecraft day (20 min) = one day of "physics"
STORAGE multi-year spent fuel storage, decay of high-level waste in repositories 1 min of real time storage.k_storage = 8766: one real hour = one physical year

A value computed in SLOW is used in FAST as a quasi-static parameter, interpolated between SLOW steps. Decay heat is accumulated in SLOW, but its power is applied in FAST every tick. Other time multipliers: nuclide.k_burn = 4 speeds up fuel burnup (deliberately breaking the heat/burnup energy balance for pacing). Hardcore servers can set nuclide.decay_heat_clock = REAL_TIME so that decay heat is not accelerated.

Performance budget

Performance is a pillar (P5), so the GDD sets hard numbers.

Parameter Target
Whole mod, reference complex ≤ 3.0 ms/tick (p95)
Nuclear island (4 reactors, 400 fluid network elements, 20 players) ≤ 2.0 ms/tick (p95)
One reactor (kinetics + core thermal hydraulics) ≤ 0.15 ms/tick
Radiation field per player ≤ 0.05 ms/tick average (1 Hz update)
Instrument network traffic ≤ 2 KB/s per player in a typical control room
Allocations in the hot loop 0 (pools, primitive arrays, structure-of-arrays)

The reference complex is: 2 T2a (PWR-type) reactors, 1 refinery with 8 process units, 1 gas processing plant, an oil field with 30 wells, 1 steel site (blast furnace, converter, rolling mill), 1 coke battery, a power grid with 60 buses, 40 PLCs and 10 SIS logic solvers, 20 players.

Subsystem Budget, ms/tick
Nuclear island (kinetics, core thermal hydraulics, trips) 1.00
Fluid networks: water, steam, hydrocarbons, gases 0.60
Power grid (load flow, frequency, protection relays) 0.15
Reservoirs and wells (mostly SLOW) 0.10
Refinery, gas plant, petrochemistry, chemical processing 0.30
Metallurgy, mines, coke ovens 0.10
PLCs, SIS, relays, analog blocks, fieldbuses 0.30
Radiation and acoustics 0.25
Reserve 0.20
Total 3.00

See also

Clone this wiki locally