Repository navigation
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.
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) |
| # | 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. |
| 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, andpc-mod(the NeoForge binding). See Architecture.
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.
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.
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 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 |
- Progression — reactor tiers, industry eras and the automation ladder
- Reactor-Physics
- Nuclear-Fuel-Cycle
- Architecture
- Create-Integration
- CC-Tweaked-API
- Roadmap
Prompt Critical · © 2026 denfry · Repository · Report an issue
Start here
Design
Nuclear
Industries
Control and automation
World and server
Development