Repository navigation
Roadmap
Important
Current status: milestone M0 (scaffold) is in progress. The Gradle modules pc-sim, pc-api and pc-mod exist, along with about 270 placeholder Blockbench models and textures. Gameplay described elsewhere in this wiki is design only.
The milestone order is chosen so that each milestone gives a playable result and closes the riskiest technical question as early as possible. The pc-sim domain and its tests come first, the Minecraft binding second: physics can be debugged with JUnit without launching a client.
Milestones follow the industry ladder (see Progression), but the nuclear island simulation core (M1) is built first because it is the most technically risky part and can be developed headless. In the world, the player goes through I0 → I1 → T0 → … in the same order as milestones M2 → M3 → M4.
| Milestone | Status | Content | Done when | GDD sections |
|---|---|---|---|---|
| M0. Scaffold | in progress | Gradle modules pc-sim / pc-mod / pc-api, ModDevGradle, Create 6 and CC: Tweaked dependencies, ArchUnit rule "pc-sim does not import net.minecraft", CI build, config spec, generation tasks (generateCcHelp, registries) |
./gradlew build is green, a stub GameTest passes |
05 §5.1, §5.7, 11 §11.1.3 |
| M1. Simulation core (headless) | planned |
WaterProperties (IAPWS-IF97), FluidPackage interface with WaterPackage, FluidNetwork (lumped element model), HeatStructure, PointKinetics, ReactivityBudget, ProtectionSystem; PowerGrid skeleton (swing equation, load flow) |
Physics test cases groups 1.2–1.5 and 1.10–1.11 pass; JMH ≤ 150 µs/tick on the PR-300 reference reactor; basic grid frequency tests | 01, 07 |
| M2. I0 — coal and steam | planned | Coal mine (methane, ventilation, canary, roof support), coal boiler, steam engine → Create shaft, relief valves, local A0 instruments; handbook (basic page types), first advancements, I0 decor | A player reaches "First Steam" via the handbook in ≤ 30 min; a methane explosion is reproduced in GameTest | 08, 07, 11 |
| M3. I1 — steel and power | planned | Coke ovens (coke, gas, tar, pitch, electrodes), blast furnace, converter, rolling mill, seamless pipe; synchronous generator, synchronization, power lines, transformers, protection relays, under-frequency load shedding, dispatcher; water treatment, air separation; A1 relays and A2 analog computers | A generator is synchronized to the grid with a synchroscope; load shedding trips load on a deficit; steel and pipes feed recipes | 08, 07, 03d |
| M4. T0 graphite pile in the world | planned | Multiblock reactor_controller, fuel_channel, graphite (electrodes → Acheson furnace), zip_rod_winch, neutron_detector, analog gauge; natural uranium from a simplified chain (ore → metal) |
The player brings T0 to criticality by period; a trip drops the "zip" rod | 01 §1.6, 03a §3a.6, 03c §3c.1 |
| M5. Thermal hydraulics in the world + Create | planned | Pipes, valves, primary_pump + pump_flywheel, steam_drum, turbine → Create shaft and grid generator, condenser, feedwater pump; cooling tower and water intake; emergency diesel generators |
A closed T1 loop delivers power to the grid; main coolant pump coastdown matches the reference; a diesel generator picks up load in ≤ 15 s | 01 §1.2, 03a, 07 |
| M6. Automation A3–A4 | planned | PLC with all IEC 61131-3 languages and a GUI editor, function block library, SIS with cause and effect matrix, 4–20 mA and fieldbuses, telemetry; all pc_* peripherals, tag catalog, pcui, pc_watchdog, historian, digital twin, simulator; A3 electronics recipes |
Lua examples from the API spec work unchanged; an LD/FBD/SFC/ST program behaves the same on the twin and the real PLC; the simulator runs a training scenario | 03b, 03c, 03d, 11 |
| M7. Radiation | planned |
RadiationField, shielding materials, dosimeters, player dose tracking, ContaminationMap, decontamination |
Radiation test cases (Cs-137 1 TBq, 10 cm lead) pass both in the domain and in GameTest | 04b |
| M8. I2 — oil and gas | planned |
HydrocarbonPackage and GasMixturePackage, oil/gas field generation, seismic survey and well logging, drilling and blowout prevention, production methods, reservoir, oil treatment, pipelines, refinery (crude distillation, reforming, hydrotreating, Claus, coking), gas plant (amines, helium, NGL fractionation); gas boilers and gas turbines |
A well goes from exploration to sales-grade oil; the column yields fractions per the true boiling point curve; a well kick is killed per procedure in GameTest | 09, 07 |
| M9. I3 — chemistry and fuel cycle up to T2a | planned | Pyrolysis, polymers, chlor-alkali, methane reforming, methanol, resins, TBP; silicon chain and microchips (A4); hydrometallurgy, conversion, centrifuge cascade, pelletizing, fuel assemblies, VVER-like T2a with pressurizer and steam generators, Xe/Sm; combined-cycle plant | A player builds a starting T2a ≈ 100 MW(t) from scratch using gas-plant sulfur, reformer hydrogen and petrochemical resins; the xenon pit is visible on trends | 10, 11, 02 §2.1–2.6, 01 §1.8 |
| M10. Accidents and operations | planned |
AccidentModels (LOCA, SBO, SGTR, ATWS, RIA, hydrogen, cladding), oil and gas accidents (well kick, BLEVE, vapor cloud, H₂S), DamageBudget, containment, ConsequenceRouter, server modes; LOTO, work permits, confined spaces, flare system, firefighting, repairs |
The accident event tree is reproduced by GameTest scenarios; contained mode destroys nothing outside containment; LOTO cannot be removed by another player |
04c, 04d, 09, 13 |
| M11. Acoustics and vibration diagnostics | planned |
AcousticField, procedural voices, cavitation, water hammer, bearing wear, vibrometer; sounds for new industries (drilling rig, furnaces, compressors, power lines) |
Acoustics test cases; blind test: an operator finds a cavitating pump by ear | 04a |
| M12. Isotopes and closing the cycle | planned | Irradiation channels, Co-60, Ir-192, Am-Be, Pu-238, RTGs, neutron transmutation doping, TRIGA; spent fuel pool, dry storage, PUREX, MOX, criticality outside the reactor, vitrification, disposal | The whole fuel cycle can be completed on a test server; a weld defect is found by gamma radiography; an RTG powers an RTU | 12, 02 §2.7–2.9 |
| M13. Environment, economy, content | planned | Emissions and acid rain, CO₂ quotas, oil spills, exchange and contracts; A5 (MES/APC); world structures, full catalog of advancements and scenarios, all decor | The energy dispatcher, exchange and quotas give an economic incentive to switch to nuclear on a test server | 14, 03d, 11 |
| M14. Balance playtest | planned | Calibrate energy.w_per_su, enrichment.swu_multiplier, chain.ore_yield_multiplier, K_slow, nuclide.k_burn, pace of eras I0–I3, exchange prices |
Decisions recorded in the GDD; era completion times fit the planned tables | 00, 02, 04d, 07–10, 14 |
| M15. T3/T4 and post-release | planned | CANDU (D₂O, online refueling, tritium, detritiation), T4 (sodium fast reactor); transportable reactors; backlog items from all sections | — | 01, 02, 04c, 12 |
Section numbers refer to the design document (private): 00 overview, 01 physics, 02 production chain, 03a–03d Create/CC/SCADA/automation, 04a–04d acoustics/radiation/accidents/multiplayer, 05 architecture, 07 grid, 08 coal and metallurgy, 09 oil and gas, 10 petrochemistry, 11 player content, 12 isotopes, 13 operations, 14 environment and economy.
Each model is needed at the milestone where its block first appears in the world. The source of truth for art work is the art registry in each GDD section plus a consolidated art backlog, with statuses TODO → PLACEHOLDER → MODELED → DONE. Existing placeholders (269 models, 46 partial models) cover the registries of sections 00–05. See Art-Pipeline.
| Milestone | Highlights | Partial (animated) models |
|---|---|---|
| M2 | coal boiler, steam engine, mine blocks (roof support, fan, canary cage, methane meter), relief valve, document_lectern
|
mine fan, valve, roof support |
| M3 | coke battery, blast furnace segments, converter, rolling mill, generator, transformer, breaker, pylons, synchroscope, relays and analog blocks | generator rotor, mill rolls, converter tilt, relay armature |
| M4 |
reactor_controller, fuel_channel, moderator_block_graphite, control_rod_channel, neutron_detector, analog_gauge
|
zip_rod_winch drum and rod |
| M5 |
pipe, pipe_large, valve_*, primary_pump, pump_flywheel, steam_drum, turbine_casing, condenser, feedwater_pump, cooling tower, diesel generator |
pump impeller, flywheel disc, turbine stages, gate valve stem |
| M6 |
control_desk, annunciator_panel, indicator_lamp, key_switch, scram_button, chart_recorder, PLC racks, sis_logic_solver, RTUs |
key, scram button cap |
| M7 | shielding materials, instrument_dose_rate, portal monitor, protective equipment |
— |
| M8 | drilling rig, top drive, blowout preventer, pumpjack, ESP, separators, distillation columns, furnaces, floating-roof tanks, flare, compressors, gas turbines | pumpjack beam, rotary table, traveling block |
| M9 | pyrolysis furnace, chlor-alkali cells, silicon clean room, gas_centrifuge, cascade_header, pressurizer, steam_generator
|
centrifuge rotor, rod drive rack, Czochralski crystal |
| M10 |
containment_wall, containment_hatch, hydrogen_recombiner, eccs_accumulator, borated_water_tank, LOTO locks, fire blocks, hazard signs |
containment hatch door, fire monitor |
| M12 | irradiation channels, pneumatic rabbit system, gamma irradiator, RTG, ntd_silicon_rig, source containers, spent fuel pool, PUREX, vitrification, repository |
irradiator rack, NTD ingot, Stirling RTG shaft |
| M13 | exchange terminal, oil booms, station board, remaining decor, world structures | — |
Large multiblocks (turbine, steam generator, cascade, blast furnace, columns, drilling rig, cooling tower) are modeled whole, then sliced into block-grid segments.
The GDD tracks 22 risks. The main ones:
| # | Risk | Mitigation |
|---|---|---|
| K1 | Create 6 class and method names differ from what the design assumes | A single adapter layer (CreateKineticPort / CreateSourcePort) is the only point of contact with Create; verified at M0 |
| K2 | The Create kinetic network may not handle a centrifuge cascade of ≈ 47,700 SU | Option enrichment.steady_power_source = FE | SU; smaller cascades; a T3 branch without enrichment |
| K3 |
W_PER_SU = 1000 makes a nuclear station weaker than Create steam engines |
Calibration after verifying Create's numbers |
| K4 |
K_slow softens station blackout: decay heat falls 72 times faster |
Reactor coolant pump seal leakage keeps SBO dangerous; hardcore option nuclide.decay_heat_clock = REAL_TIME
|
| K5 |
nuclide.k_burn = 4 breaks the heat/burnup energy balance |
Documented; can be set back to 1 |
| K6 | No wave hydraulics: water hammer is only a Joukowsky estimate | Enough for sound and valve damage; full method of characteristics does not fit the TPS budget |
| K7 | Solution criticality model is non-conservative for flat slabs (≈ +30 % critical thickness) | Correction factor fissile.slab_margin; tests against published critical parameters |
| K9 | Minecraft rivers do not flow, so waterborne contamination transport is artificial | Pathfinding to the ocean with a length limit |
| K10 | Contamination stored on items breaks stacking in Create logistics | Coarse contamination classes on items; exact Bq values only in containers |
| K12, K21 | Training scenarios based on real accidents touch historically sensitive topics | Presented as engineering lessons, without names of facilities, countries or dates |
| K13 | Licensing of ANS-5.1 decay heat tables shipped in a datapack | Open approximations (Way–Wigner, public NRC tables) or an in-house fit |
| K14 | Shader packs (Iris) do not support the custom additive render type for Cherenkov glow | Particle fallback |
| K15 | Scope: the industry ladder roughly triples the number of blocks and mechanics | Star (★) / backlog marking in every section; release 1.0 contains only ★ items; every milestone M2–M13 is playable |
| K16 | A GUI editor for all IEC 61131-3 languages inside Minecraft is the mod's largest UI task | One shared IR/bytecode for all languages; implementation order ST → step sequencer → FBD → LD → SFC; ST can also be loaded from CC |
| K17 | Peng–Robinson hydrocarbon properties may not fit the fluid network budget | Property tables built at load time, interpolation in the hot loop |
| K18 | The 3.0 ms/tick budget is exceeded on real servers with several complexes | Sleeping plants, degradation by thinning, per-player limits in the config |
| K19 | Isotope and product prices on the exchange create a "money printer" | Elastic demand, price falling with volume, accounting of source categories 1–3 |
| K22 | Simulation on moving Create contraptions (mobile reactors, drilling rigs on trains) | Monoblocks that sleep while assembled as a contraption; by M15 |
Before implementation, the following data must be checked against the original references: ANS-5.1-1979 decay heat coefficients (23 groups), the Groeneveld 2006 CHF look-up table, NUREG-0630 cladding rupture data, the CORSOR-M fission product release model (NUREG/CR-4173), ICRP 72 inhalation dose coefficients, ICRP 74 and IAEA TRS-472 radiological data, homologous pump curves (Semiscale/LOFT, NUREG/CR-5535), three lattice calibration constants (against Serpent/OpenMC reference runs), Maven coordinates for Create 6 and CC: Tweaked 1.21.1, the FTB Chunks / Open Parties and Claims APIs, and Create 6 source numbers (steam engine SU, hand crank speed, crushing duration).
-
Final value of
energy.w_per_su(watts per Create stress unit; currently 1000). -
Enrichment speed for the PR-300 reference reactor: keep the ≈ 87-hour cascade "megaproject", or let
swu_multipliergrow with the rotor tier. - Presentation of the T1 lesson: how explicitly to show the positive void coefficient and the graphite displacer end effect.
-
Offline owner policy: the default is
SAFE_SHUTDOWNafter 10 minutes. Should PvE servers have a "station runs without its owner" mode? - FE vs. SU as the main output: what to do when the Create network is overloaded — switch to FE automatically or trip the turbine. Partly resolved: the main output is the mod's own AC grid, FE is only the boundary with other mods.
- Energy balance of the complex: a table of large consumers (aluminium, electric arc furnace, Acheson furnace, silicon, electrolysis, air separation, compressors, water injection) against generation by era, so that the factory actually needs the reactor.
- Pace of eras I0–I3: how many hours per era; decided at M14.
-
Stirling RTG on a Create shaft: keep the
isotopes.rtg_su_multiplierscaling or make it electric only. -
Operator license (
ops.require_license): enable by default on PvE servers or not.
Prompt Critical · © 2026 denfry · Repository · Report an issue
Start here
Design
Nuclear
Industries
Control and automation
World and server
Development