Skip to content

Player Content

denfry edited this page Oct 13, 2026 · 1 revision

Player Content

Note

Design stage. This page describes planned mechanics from the design document. Not implemented yet — see Roadmap (milestone M2 for the handbook and first advancements; M13 for world structures, the full advancement set and decor).

The other design sections describe how the industrial complex works. This page covers what you see and do around the physics: how you find out what to build next, how progress is marked, where you can practice before a mistake becomes an accident, what you find in the world, what instruments are made of, and how you decorate your station. The fuel cycle alone takes 60–100 hours and dozens of machines, and the industry ladder doubles that — without this layer a newcomer would give up on the first evening.

Principles

# Principle Consequence
C1 The handbook explains, instruments show The handbook never shows live plant values. It teaches you to read instruments, it does not replace them.
C2 Progress is unlocked by materials, not quests Advancements and handbook chapters mark progress but block nothing. There is no "turn in a quest, get a recipe".
C3 In-game presentation The handbook is an "Engineer's Handbook", an operating procedure is a document issued with the controller, an operator licence is an ID card. No "tip of the day" windows.
C4 Mistakes belong in the simulator Every accident can be lived through on the training simulator with no consequences in the world.
C5 The world tells stories Structures give information (maps, cores, logs, handbook pages) and a few early parts, never finished machines.
C6 One source of truth Lua help, register tables and tag captions are generated from DeviceDescriptor, not written by hand.

The first 30 minutes

The goal: in half an hour you understand that (1) this mod is about a whole plant, not one reactor; (2) the first step is coal and steam; (3) where to look for answers.

Minute What happens Mechanic
0 On first join you receive the engineering_handbook (once per player, content.give_handbook_on_join) opens on "How the complex works"
0–5 One picture of the industry ladder; "you are here" — I0 clickable illustration, each era leads to its chapter
5–15 Find coal, build a coal boiler and a steam engine on a Create shaft advancement "First Steam"; chapter "Boiler: water, fuel, pressure" opens
15–25 The boiler boils dry or overpressures — the relief valve lifts the first "accident" with no losses: valve whistle, steam cloud; the handbook points to the pressure gauge
25–30 Place a pressure gauge (instrument_pressure, level A0) chapter "Reading instruments": scale, normal, warning, alarm (ISA-101)

On TRAINING difficulty the first boiler has a larger pressure margin and every chapter ends with "What to do next" hints. On HARDCORE there are no hints. See Multiplayer for difficulty modes.

Engineer's Handbook

engineering_handbook is the mod's own book (not Patchouli, so no hard dependency). Content is a datapack that servers can override or extend:

data/promptcritical/handbook/
  categories/<category>.json      ← eras and industries
  entries/<entry>.json            ← chapters
  pages/<lang>/<entry>/*.md       ← text in simplified Markdown
assets/promptcritical/textures/gui/handbook/*.png   ← illustrations, diagrams
Page type Shows
text text with links to chapters and blocks (hover shows the block)
image diagram or illustration
recipe recipe from the registry (vanilla, Create, process recipe)
multiblock rotatable 3D layer-by-layer multiblock view
ponder "Show" button that starts a Ponder scene
formula formula pre-rendered to PNG from LaTeX at build time, with variables explained
register_map Modbus register table generated from the device descriptor
lesson short engineering lesson from real practice

Chapters unlock on always, advancement:<id>, item_obtained:<id> or block_placed:<id>. Locked chapters show as "???" with a hint ("Obtain yellowcake"). content.handbook_all_unlocked = true opens everything.

Category Example chapters
How the complex works industry ladder, cross-industry flows, units and instruments
I0 Coal and Steam mine and methane, boiler, steam engine, relief valves
I1 Steel and Power coke plant, blast furnace, steel and pipe, generator and synchronization, grid
I2 Oil and Gas exploration, drilling and blowout preventer, production, refinery, gas plant
I3 Chemistry cracking, polymers, chlor-alkali, syngas
I4 Nuclear criticality, kinetics, xenon, thermal-hydraulics, scram, fuel cycle, waste
Automation A0–A5 relays, analog blocks, PLC and IEC languages, safety systems, Lua and pcui, historian
Safety dosimetry, LOTO and permits, fires, chemical hazards
Engineering lessons simulator lessons

Operating procedures. Building the controller of a major unit (reactor_controller, refinery column, blast furnace, coke battery, generator) gives you an operating_procedure item with a procedure_ref. Put it on a document_lectern next to the panel and anyone nearby can read that unit's procedure — just as real procedures sit at operator workstations.

Lua help in CC: Tweaked. Pages go under data/computercraft/lua/rom/help/ (pc_reactor.txt, pc_plc.txt, pcui.txt, pc_tags.txt …), generated by the Gradle task generateCcHelp from device descriptors. Two pages are hand-written: pcui and pc_start (first program in 10 lines). On a computer, help pc_pump shows the same content as the handbook, sized for a 51×19 screen.

New Ponder scenes

These continue the Create integration scenes (1–25). Each is ≤ 60 s and uses the same formulas as the simulation.

# Scene Teaches
26 coal_boiler_basics water, fuel, pressure, relief valve
27 mine_ventilation ventilation, methane, canary
28 coke_battery_cycle coking cycle, gas and tar
29 blast_furnace_tap burden, blast, tapping
30 generator_synchronization closing in phase
31 grid_frequency frequency drops on deficit, load shedding
32 drilling_mud_window mud weight window, kicks
33 bop_shut_in shutting in a well
34 pumpjack stroke, Create shaft, rate
35 distillation_column fractions and trays
36 relay_ladder ladder logic from blocks
37 plc_scan_cycle input → program → output
38 current_loop_break a broken loop is visible; zero is not
39 cause_effect_matrix safety logic without code
40 lockout_tagout a lock holds until its owner removes it
41 radiography_exposure exposure and barrier zone
42 ntd_rotation why the ingot rotates
43 cooling_tower evaporation, weather
44 wafer_cleanroom clean room

The Route (quest graph)

The handbook has a Route tab: a graph of tasks across eras I0–I4 and automation levels A0–A5, inspired by the GregTech: New Horizons questbook — with key differences:

GT:NH questbook Prompt Critical Route
Blocks progress no, but recipes follow quest order no: a task only marks and explains
Rewards loot bags, resources XP and decor; no resources or machines
Completion check item in inventory item or plant state: tag value, simulator scenario, run time without a scram
Link to text short description every task opens a handbook chapter and, where available, a Ponder scene
Task type Condition Example
obtain item in inventory or station container "Obtain 16 coke"
build multiblock assembled and validated "Build a blast furnace"
reach plant tag in range for a given time "Hold boiler drum pressure at 1.2 ± 0.1 MPa for 10 minutes"
operate unit runs without a trip for a given time "Generator on the grid for 1 game day"
scenario simulator scenario passed "Pass out_of_phase_sync"
program PLC/Lua program does the job on the digital twin "Write a PI level controller, error < 5 %"
discover structure or deposit sign found "Find a bitumen seep"
choice one of several (a fork) "Choose your path to the atom"

Target: 30–60 tasks per era and 15–25 per automation level, about 300 at release. The graph lives in data/promptcritical/handbook/route/<era>.json; CI checks that it references only existing items, blocks, tags and scenarios. Hints: full "how" on TRAINING, only "what" on STANDARD, titles of open tasks only on HARDCORE.

Advancements

Advancements are vanilla (data/promptcritical/advancement/...) so they work in the vanilla screen, chat and third-party trackers. Almost all conditions use one custom trigger, promptcritical:sim_event, with predicates on domain events. With station_member: true an advancement counts for every station member online within 64 m of the controller — a shared shift success. Rewards are XP and the record only. Types: task, goal, challenge; (H) = hidden.

Production

id Name Condition Type
root Prompt Critical obtain engineering_handbook task
first_steam First Steam steam engine delivers torque to a Create shaft task
canary Canary in a Cage place a canary cage in a mine task
coke Coke and Gas first batch of coke task
pig_iron Pig Iron first blast furnace tap task
steel Steel first converter heat goal
seamless Seamless first seamless pipe task
synchronized On the Grid generator synchronized with torque shock ≤ 10 % goal
first_oil Gusher first oil from a well goal
pumpjack Nodding Donkey pumpjack runs for 1 day task
first_cut First Cut column delivers on-spec gasoline task
sulfur Yellow Mountain 64 sulfur from a Claus unit task
helium Light as Helium helium recovered from gas task
ethylene Ethylene first steam cracking task
bakelite Age of Plastics first bakelite task
yellowcake Yellowcake first yellowcake goal
uf6 Hexafluoride first UF₆ cylinder task
enriched Three Percent UF₆ at ≥ 3 % enrichment goal
first_fa First Assembly first fuel assembly passing inspection task
closed_cycle Closed Cycle MOX assembly from your own plutonium loaded, and a vitrified HLW canister in storage challenge
industrial_complex Industrial Complex blast furnace, refinery, gas plant and reactor above 50 % all running at once challenge

Operations

id Name Condition Type
first_criticality First Criticality k_eff ≥ 1 by operator decision goal
one_over_m 1/M Method critical after ≥ 3 count-rate measurements at different loadings task
xenon_pit Iodine Pit recovered from a xenon pit without violating the reactivity margin goal
scram_clean Clean Scram scram from > 50 % power with no cladding damage task
hundred_days Hundred Days 100 SLOW days without an automatic scram challenge
load_follow Load Follow reactor followed the dispatcher schedule for 1 day within 5 % goal
black_start From Zero grid restored after a blackout without outside help challenge
quiet_pump Quiet Pump cavitating pump found and fixed before it failed task
kill_well Well Killed kick handled without a blowout goal
no_surge No Surge compressor started without a single surge cycle task
refinery_lp Blending on-spec gasoline at ≤ 105 % of the LP optimum cost challenge
turnaround Turnaround unit shut down, repaired under permits and restarted goal

Automation

id Name Condition Type
relay_logic Click-Clack first ≥ 5-relay circuit controlling a mechanism task
analog_pid No Computer analog PI controller holds a value for 1 day goal
plc_first First Scan PLC program in RUN task
all_languages IEC Polyglot LD, FBD, SFC and ST programs in one PLC challenge
sis_matrix Matrix cause-and-effect matrix with ≥ 10 causes and 2oo3 voting task
proof_test Proof Tested safety function proof test done before due task
lua_first Hello, Reactor Lua program called readMany on a pc_* device task
hmi High-Performance HMI L1 pcui screen with ≥ 20 tags task
historian Plant Memory historian stores ≥ 100 tags for ≥ 1 day task
digital_twin Twin First program tested on the digital twin, then loaded into a real PLC goal
tuner Tuner tuning task solved in the server's top 10 % challenge
telemetry Telemechanics 10 remote RTUs on one master goal

Safety and science

id Name Condition Type
dosimeter Count Your Dose wear a dosimeter for 1 day task
alara ALARA main coolant pump repair with team dose < 10 mSv challenge
lockout Lock first LOTO on a valve task
permit By Permit hot work under a permit with gas testing task
own_sun Your Own Sun first Co-60 source task
through_steel Through Steel weld defect found on radiographic film task
everlasting Everlasting Battery RTG powers a remote well RTU goal
pulse Pulse TRIGA pulse ≥ 100 MW without fuel damage challenge
annealing Annealing controlled Wigner energy release challenge
operator_license Licensed operator exam passed on the simulator goal

World and hidden

id Name Condition Type
oklo (H) The Planet Got There First assay shows depleted U-235 in natural reactor ore challenge
gas_crater (H) Door to Hell found a burning gas crater task
pitch_lake (H) Pitch Lake found a natural bitumen seep task
orphan_found (H) Nobody's Source found and surrendered an orphan source task
canary_saved (H) The Bird Lives the canary survived a methane outburst because you got out in time task
stuck_valve (H) Don't Trust the Lamp stuck valve found by its position sensor, not the "command sent" signal challenge

Station record board. station_record_board shows station records from the historian: days without scram, 30-day capacity factor, output, product yield, collective dose. /pc stats compares stations on a server.

Training simulator and scenarios

Real NPP, refinery and grid operators train for years on full-scope simulators. In the game the simulator lets you survive any accident without consequences, delivers lesson content, and tests programs before they go to real hardware (it is the consumer of the digital twin, see Automation Platform).

Block Function
training_simulator compute cabinet; runs an isolated copy of SimulationWorld
simulator_console simulator panel; normal panel blocks and CC computers attached to it work on the copy
instructor_station start, pause, rewind, fault insertion, scoring

A copy is made either from your real station (snapshot of the chosen controller and all connected networks: hydraulic, electrical, PLCs, safety systems — the Minecraft world itself is not copied) or from a reference plant in the datapack: I0 boiler, generator unit with grid, T0, T1, PR-300, crude distillation column, compressor station, well with rig.

Scenario format (example):

{
  "id": "promptcritical:stuck_porv",
  "plant": "promptcritical:pr300",
  "initial": { "preset": "full_power_mol" },
  "faults": [
    { "t": 30, "type": "VALVE_STUCK_OPEN", "target": "rcs.pzr.porv", "indication": "COMMAND" },
    { "t": 30, "type": "SENSOR_FAIL", "target": "rcs.pzr.porv.position", "mode": "FROZEN" }
  ],
  "success": [ { "within": 900, "all": ["core.cladding.max_temp < 1477", "operator.found:rcs.pzr.porv"] } ],
  "failure": [ "core.cladding.max_temp >= 1477" ],
  "debrief": "promptcritical:lessons/stuck_porv"
}

Fault types: sensor (FROZEN, DRIFT, OPEN_LOOP, NOISY), stuck valves (STUCK_OPEN, STUCK_CLOSED, STUCK_AT), pump or compressor failure, pipe break of a given size, bus power loss, PLC WATCHDOG, wrong indication (COMMAND — lamp shows the command, not the position), safety system failure on demand, fire, gas release. The instructor can insert faults live. After a scenario, a lesson page debriefs what happened, which instruments showed it and when, and where time was lost — from the copy's historian trends.

Lesson scenarios

Lessons are presented as engineering lessons without naming real sites or countries.

id Lesson Mechanic Release
stuck_porv "Valve closed" lamp showed the command, not the position; coolant was lost COMMAND indication vs position sensor ★
iodine_pit leaving a xenon pit with a low reactivity margin and a coastdown test reactor kinetics ★
rod_withdrawal_maintenance manual rod withdrawal during maintenance beyond limits rod interlocks, 1/M ★
wigner_anneal graphite annealing on wrong thermocouples Wigner energy ★
solution_criticality uranium solution drained into a vessel of unsafe geometry criticality_alarm ★
permit_shift_change pump taken for repair, permit not handed over at shift change, next shift started it without its relief valve; fire spread across the platform permits, LOTO, shift handover ★
blowout misread pressure test, kick, BOP failure mud window, BOP ★
column_overfill column filled above the level gauge range at startup; vapour cloud found an ignition source limited-range level gauge, relief system ★
tank_overfill night overfill: level sensor froze, independent switch failed safety system, FROZEN sensor, vapour cloud explosion ★
temporary_bypass temporary pipe bypass without calculation or supports management of change, pipe strength ★
hydro_vibration unit with rising vibration left running vibration diagnostics backlog
coal_dust methane ignited coal dust in an un-dusted roadway coal mine ★
lpg_bleve fire under an LPG vessel, relief valve could not cope BLEVE ★
ammonium_nitrate years-long storage of ammonium nitrate at a port, fire oxidizer, DamageBudget backlog
out_of_phase_sync generator closed onto the grid out of phase synchroscope ★
compressor_surge compressor start without anti-surge protection PLC anti-surge block ★
black_start blackout: restore the grid when the NPP needs offsite power diesels, gas turbines, UFLS ★
forced_bit a forced signal left after commissioning silently disabled an interlock PLC forcing ★
orphan_source a decommissioned source disappeared from storage orphan sources backlog

Operator licence

operator_license is an ID item with a license_spec: level (TRAINEE, OPERATOR, SHIFT_SUPERVISOR), plant type, date, station signature. It is issued for passing a set of simulator scenarios with a score ≥ content.license_pass_score (0.75). A server may require it (ops.require_license, default false): then control keys and bypass keys turn only for players with a valid licence of the right level, and the station log shows actions by licence number.

World structures

Structures are vanilla structure + structure_set in the datapack, tuned by worldgen.structures.*. Loot is information and early parts: cores, geological_map (marks the nearest ore body or trap, like a treasure map), handbook pages, logs, broken instruments to salvage, a little coal, steel and copper wire. No finished machines, fuel assemblies or category 1–2 sources — except where the source itself is the hazard.

id Real prototype Where What it gives and teaches Release
natural_reactor_oklo the natural fission reactor in a Gabon uranium deposit very rare, deep under a uraninite body ore with depleted U-235 (0.60 % instead of 0.72 %), fission product traces; handbook page on why it ran and why it stopped. Advancement oklo ★
abandoned_survey_camp abandoned geological survey camp common, mountains and plateaus cores, geological_map, survey log, broken radiometer ★
abandoned_uranium_mine 1940–50s uranium mine rare, near ore bodies radon in adits — the dosimeter shows danger where "nothing is there" ★
old_coal_mine old coal mine common in coal provinces methane pocket that explodes from a torch; canary cage in loot; rotten timber supports collapse ★
pitch_lake natural asphalt lake rare, warm biomes natural_bitumen — sign of an oil basin within 200–500 m; first bitumen without a refinery ★
gas_seep_crater burning gas crater very rare, deserts eternal flame — sign of a gas field; heat makes it dangerous to approach ★
oil_seep natural oil seep rare, shores and swamps pools of crude_oil, sign of a trap ★
abandoned_rtg_lighthouse RTG lighthouse on the coast very rare, cold coasts broken rtg_thermoelectric with sr90_heat_source — an orphan source; teaches dosimeter use backlog
weather_station weather station common weather log (storms and power lines), anemometer backlog
research_institute_ruin ruined industry research institute rare handbook pages for I2–I4, early electronics (vacuum_tube, relay_coil), old analog_gauge backlog
railway_halt siding with tank cars common empty tank cars with UN markings, Create rails backlog

The Oklo reactor is the only place where ore has a non-natural isotopic composition — you find it only by noticing the anomaly on the assay_station.

Sign in the world Meaning
halo of ore blocks uranium ore body nearby
coal outcrop on a slope coal seam
natural_bitumen, oil_seep oil basin
gas_seep_crater, bubbles on water gas
rock salt near the surface trap under a salt dome
radon in a cave uranium or radium nearby

Instrumentation and electronics crafting tree

Instrument models

Level Electronics Key components Materials from
A0 mechanical Bourdon tube, bellows, float, bimetal Create brass and copper, steel
A1 electromechanical relay_coil, contacts, bakelite, copper_wire metallurgy, coke-plant or chemical bakelite
A2 vacuum tubes vacuum_tube glass, copper_wire, nickel grid, magnesium getter, vacuum pump on a Create shaft
A3 semiconductors transistor, printed_circuit_board silicon_wafer, epoxy_resin, copper foil, glass cloth
A4–A5 integrated circuits integrated_circuit silicon_wafer + clean room
A4–A5 power power semiconductors power_thyristor doped_silicon_wafer (neutron transmutation doped)

Power thyristors from NTD silicon are the real main application of neutron transmutation doping (Isotopes and RTG). They are needed for variable_frequency_drive (soft speed control of pumps and centrifuges, ESP drives) and grid static compensators (backlog). Ordinary ICs do not need NTD silicon; otherwise level A4 would sit behind the reactor.

Silicon chain

Stage Unit Process Input Output Era
Metallurgical silicon submerged_arc_furnace SiO₂ + 2C → Si + 2CO, 1900–2100 °C, ~11–13 kWh/kg quartz (minecraft:quartz or quartz_sand), coke metallurgical_silicon 98–99 % I1
Trichlorosilane trichlorosilane_reactor (fluidized bed) Si + 3 HCl → SiHCl₃ + H₂, ~300 °C silicon, HCl from chlorine + hydrogen trichlorosilane I3
Purification fractionating_column distillation trichlorosilane purified trichlorosilane I3
Polysilicon siemens_reactor SiHCl₃ + H₂ → Si + 3 HCl on rods at ~1100 °C; 50–100 kWh/kg trichlorosilane, hydrogen polysilicon (9N) I3
Single crystal czochralski_puller pulling from the melt, seed rotated and raised by a Create shaft polysilicon, boron dopant silicon_ingot I3
Wafers wafer_saw sawing ingot silicon_wafer / doped_silicon_wafer I3

Czochralski window: pull rate 0.5–2 mm/min and rotation 5–30 rpm. Outside it you get polycrystal and zero yield. The ingot grows visibly out of the crucible.

Clean room. wafer_fab is a multiblock: cleanroom_panel walls, HEPA ventilation (hepa_filter), airlock. Particle concentration inside is C = C_out · L / (L + n·V·η_HEPA) with η_HEPA = 0.9997; leakage L grows with open doors, player passages and unsealed blocks. Chip yield follows the Poisson model Y = e^(−D₀·A) with defect density ∝ C. A dirty room means scrap — ventilation becomes a production problem, not only a radiological one.

Instrument recipes

Block Level Key components
instrument_pressure (local) A0 brass Bourdon tube, glass
analog_gauge, chart_recorder A1 relay_coil, bakelite, copper_wire
relay_controller, A1 relays A1 relay_coil, bakelite
protection_cabinet, basic relay sis_logic_solver A1 relays, keys — hardware protection needs no computer
A2 analog computing blocks A2 vacuum_tube, resistors, capacitors
io_module, plc_controller A3 transistor, printed_circuit_board
sis_logic_solver SIL 3 A4 integrated_circuit ×2 (redundancy), PCB
historian_server, RTU A4 integrated_circuit, storage
variable_frequency_drive A4 power_thyristor, integrated_circuit
CC: Tweaked computer and monitor A4 see below

CC: Tweaked recipes. content.cc_recipe_override = true (default) replaces the recipes of the CC computer, monitor and modem so they need an integrated_circuit (advanced computer: ×4). Otherwise level A4 would be available in the first minutes and the automation ladder would collapse. Servers that run other CC mods can turn it off.

Decor

Stations and plants are large builds, and builders want them to look real. Each family is a block + slab + stairs + wall where it makes sense.

Family Variants Real-world place
tile_white, tile_blue, tile_green 15×15 ceramic tile change rooms, labs, spent fuel pool
porcelain_tile grey, beige turbine halls
linoleum_control grey, beige, parquet pattern control rooms, offices
raised_floor perforated or plain server rooms, I&C rooms
ceiling_tile + ceiling_light_panel suspended ceiling, glowing panel control rooms
painted_concrete_two_tone green / blue / beige lower half, white upper industrial corridors
painted_concrete grey, yellow, red (fire)
glass_block clear and frosted 1960–80s industrial buildings
corrugated_steel painted, 5 colours warehouses, shops
sandwich_panel white, grey, blue modern shops
grating floor grating, steps, see-through service platforms
handrail yellow and galvanized, with toe board
cage_ladder caged vertical ladder columns, cooling towers
cable_tray straight, corner, tee, vertical; with or without cables everywhere
pipe_rack posts and crossbeams refinery, gas plant
asphalt + asphalt_marking white and yellow lines, arrows roads, yards
curb kerb
industrial_light industrial, street, floodlight, green emergency "Exit"
room_sign room numbers, "MCR", "Switchgear", "Pump room", evacuation arrows
wall_clock shows game time control room
safety_poster 2×1 and 2×2 safety posters
tritium_lamp self-luminous signs
blast_door_decor massive decorative doors (functional airlocks are containment_hatch)

Hazard signs (radiation, chemical, electrical, UN numbers, diamonds) are owned by Operations and Safety; decor only uses them.

Asphalt is the first use of bitumen, long before a refinery: bitumen from a pitch_lake + gravel → asphalt in a Create mixer. Walking on asphalt is 15 % faster (content.asphalt_speed_bonus) — a natural reason to pave roads between plant units.

See also

Clone this wiki locally