promotional bannermobile promotional banner

Nuclear Power Plant

Build your own power grid – from a hand-crank generator to a full
Back to Files

Nuclear Power Plant 5.8.0

File namenuclear-power-plant-5.8.0.jar
Uploaded
Nov 3, 2026
Downloads
8
Size
4.6 MB
Mod Loaders
Fabric
File ID
9414384
Type
R
Release
Supported game versions
  • 26.3

Curse Maven Snippet

Fabric

modImplementation "curse.maven:nuclear-power-plant-1778781:9414384"

Learn more about Curse Maven

What's new

# Nuclear Power Plant 5.8.0 – Radial Menu

## Spool radial menu
- **Hold R** with a cable or pipe spool: move the mouse to a segment, release R to apply; centre or Escape cancels. Mouse wheel or left click switches pages: cross-section, conductor (L1, L2, L3, N, PE, special colours), material/insulation, laying method. Pipe spools select the diameter. R keeps working as before on mounted parts and the core drill.
- **Admin cable spool** (`admin_wire_spool`): creative tab only, no recipe, uses nothing, all conductor settings via the radial menu. Only usable in creative mode or with the tag `npp_admin`.

## Notes
- Built with all unit tests green and an automated dedicated-server start test. Not yet played in-game.

# Also included (5.7.1 and earlier)


## Fix (5.7.1)
- **Fixed a crash** when holding a cable spool, and broken spool tooltips, caused by a missing default laying method.

## Handling
- **Terminal labels in the world:** with a cable or pipe spool, a part or the grid analyzer in hand, terminal names (A1, A2, 11, 14, B, C, E, +, −, L, N, PE …) appear next to terminals within 5 blocks.
- **Cable setup window:** sneak + right-click into the air with a cable spool: cross-section, material, insulation, conductor role and laying method, with live current capacity, pixel size, outer diameter and resistance per metre. Keys H and C still work.
- **Laying method (A1, B2, C, E)** is now stored on the cable and changes its current capacity; shown in the device display.
- **Fixed:** the cable reel no longer loses its conductor selection when metres are used up.
- **Visible states:** relays and contactors show pulled-in or dropped-out, push buttons look pressed, changeover levers tilt, failed electrolytics and resistors look burnt, batteries show a charge LED bar.

## Notes
- Built with all unit tests green and an automated dedicated-server start test. Not yet played in-game.

# Also included (5.6.0 and earlier)


## Mounted batteries
- `part_accu_12v` (12 V / 7 Ah), `part_accu_24v` (24 V / 20 Ah), `part_accu_48v` (48 V / 100 Ah) with terminals **+** (red) and **−** (grey). A cable touching both poles of the same battery is not connected (short-circuit protection).
- Chemistry switchable with sneak + right-click: lead-acid or lithium-ion, each with its own voltage curve over state of charge, charge/discharge rate, efficiency, self-discharge, cycle life and deep-discharge protection. Internal resistance rises with age, temperature derating from 45 °C, shutdown at 60 °C. Right-click shows all values.

## Large battery storage
- `battery_rack` (50 kWh, 25 kW each, stackable), `battery_bms` (battery management) and `battery_inverter` (100 kW, fixed terminals dc / ac / pe). All racks connected to a BMS (max. 32) form one storage with the adjacent inverter.
- Modes (sneak + right-click on the BMS): self-consumption, grid support (frequency droop, island mode in a blackout), emergency reserve 20–100 %, time schedule, off. Cooling via running fans, derating above 45 °C, shutdown at 55 °C.
- **Thermal runaway** is possible if the BMS is disturbed or racks are heated by fire/lava: smoke, CO, hydrogen and CO₂ are released into the room; flames only with fires enabled. New advancement "Battery Bank".

## Notes
- Built with all unit tests green and an automated dedicated-server start test. Not yet played in-game.

# Also included (5.5.0 and earlier)


## Electronic components (mounted, DC)
- New parts with proper terminal names: resistor (1, 2; 10 Ω – 1 MΩ), capacitor (1, 2; 1–10,000 µF), electrolytic capacitor (+, −; reverse polarity destroys it), diode (A, K), LED (A, K; red/green/blue/yellow), NPN transistor (B, C, E), N-channel MOSFET (G, D, S), push button NO (13, 14) and NC (11, 12), changeover switch (11, 12, 14), relay (coil A1/A2, contacts 11/12/14 – control and load circuits isolated), DC power supply (L, N → +, −; 5/12/24 V, 1 A limit) and a test battery (+, −).
- Right-click changes the value (resistance, capacitance, voltage, LED colour) or operates the switch; sneak + right-click opens live readings (voltage and current per terminal, power, temperature) in the device display.
- A dedicated circuit solver (modified nodal analysis with damped Newton iteration, capacitors with implicit Euler) runs every 4 ticks for up to 64 nodes per circuit. Overheated parts and reverse-polarised electrolytics fail permanently.
- The relay contact can also switch a circuit of the power grid.

## Notes
- Built with 1426 unit tests and an automated dedicated-server start test. Not yet played in-game.

# Also included (5.4.0 and earlier)


## Conductor model
- **Cross-sections 0.5 to 50 mm²**, copper or aluminium, PVC (70 °C), XLPE (90 °C) or silicone (180 °C) insulation. Key H cycles the cross-section, sneak + H the material/insulation; the action bar shows e.g. "2.5 mm² Cu PVC – L1 brown".
- **Visible thickness** follows the real outer diameter (conductor + insulation): 0.5–1.5 mm² 1 px, 2.5–4 mm² 2 px, 6–10 mm² 3 px, 16–35 mm² 5 px, 50 mm² 10 px. Electrical values never come from the pixel size.
- **Conductor colours:** L1 brown, L2 black, L3 grey, N blue, PE green-yellow striped (key C offers these first; other colours remain as special/legacy colours). Colour and conductor role are stored separately.
- **Physics:** resistance from length, cross-section, material and temperature; voltage drop, losses, current-carrying capacity per laying method with temperature and grouping factors (simplified DIN VDE 0298-4 / IEC 60364-5-52); conductor heating with a time constant, ageing of overheated insulation. The device display warns when a breaker or fuse is larger than the cable's capacity.
- **Device display / grid analyzer** on a cable: conductor, colour, cross-section, material, insulation, length, resistance, voltage drop, current, capacity, load %, temperature.
- **Old worlds:** existing cables get a matching standard cross-section (1 px → 1.5 mm², 10 px → 50 mm²) and look the same.

## Notes
- Built with 1401 unit tests and an automated dedicated-server start test. Not yet played in-game. Phases (L1/L2/L3/N/PE as separate conductors) follow in a later update; until then the conductor role is a marking.

# Also included (5.3.1 and earlier)


## Fix (5.3.1)
- **A/B cable drag routes around obstacles:** if the straight line between the two points hits a block edge, the cable is laid with one or two right-angle bends instead of being blocked. The preview shows the route.

## Pipes
- **Pixel pipes** on the same 1/16 grid as cables: pipe spools in steel, copper and PVC (`pipe_spool_steel/copper/pvc`), point mode or A/B drag mode (G), diameter 2/3/5/10 px (H). Burst pressure: steel 60 bar, copper 25 bar, PVC 6 bar. Pipes and cables never connect to each other.
- **Pipe nodes:** tee, cross, shut-off valve, check valve (one direction), pump (needs power), pressure reducer (1.2–5 bar), gas vent (releases gas into the room) and gas feed (from hydrogen tanks, electrolyser, gas turbine, heat blocks as steam, generators, composter as methane, magma).

## Gases and rooms
- Air, smoke, methane, hydrogen, carbon monoxide, carbon dioxide, steam, chlorine and ammonia, each with explosion limits, toxicity, suffocation, buoyancy, visibility and corrosiveness. Effects on players and mobs: nausea, blindness, slowness, weakness, damage.
- Explosive mixtures ignite at fire, lava, furnaces, running generators or switch sparks – only if disasters and fires are enabled; explosion strength is capped.
- **Rooms** are detected automatically. Smoke comes from fires, furnaces, generators, vents and leaks and clears through openings, fans and ventilation units. Smoke particles in the room.
- **Smoke detector** now outputs redstone and also reacts to toxic gas, flammable gas and heat; the hydrogen leak sensor measures room air.
- **Gas meter** (`gas_meter`): shows room and pipe values in the device display.

## Blocks react to gas and heat
- Snow and ice melt, water evaporates above 100 °C, flammable blocks ignite above 250 °C (with fires enabled), plants die in toxic air, copper oxidises faster in humid or acidic air, devices age faster above 60 °C.

## Wall feedthroughs
- **Wall feedthrough** (`part_feedthrough`): right-click a wall face to run a cable through 1–4 blocks; a cable gland with a terminal sits on both sides and the piece inside is connected automatically. Sneak + right-click changes the size (1–10 px).
- **Cable spool through walls:** hold sneak on the second click (A/B mode) or sneak + right-click on the far side (point mode).
- Breaking a gland removes the channel piece and closes the wall again.

## Notes
- Built with 1391 unit tests and an automated dedicated-server start test. Not yet played in-game. Wall feedthroughs currently carry cables; pipes go through walls via core-drill holes.

# Also included (5.2.0 and earlier)


## Mounting on any surface
- Mounted parts and pixel cables now sit on the real surface of **slabs, stairs and full blocks** – the block is turned into a carrier that keeps its look.
- **Core drill / wall chaser** (`core_drill`): right-click mills a 2×2 or 4×4 hole through a block, a 2 px groove or a 6×6 recess (sneak + right-click or R switches the mode). Cables run through the openings, parts fit into recesses – e.g. a cable through the ceiling to a lamp below. An empty milled block breaks normally and drops like the original block.
- **Pendant lamps:** a lamp on the ceiling can hang down 0/2/4/8 px (sneak + right-click with empty hand).
- **Fixed:** dragging a cable along a ceiling no longer jumps into the block above ("blocked").

## Direction, distribution, small transformers
- Terminals have roles: lamps and other end consumers have only one input; switches, breakers and sockets have input and output; terminal blocks and junction boxes are pass-through.
- **Directional current:** current flows from input to output only. New **diode** blocks reverse flow.
- New **junction box** (join or split lines) and **distribution box** (1 in, 4 out).
- New **small transformer** (10 kV↔400 V, 110 kV↔10 kV, right-click to switch) with losses and power limit, and a **dimmer** (100/75/50/25 %).
- Existing connections in old worlds stay undirected and keep working.

## Device display instead of chat
- Right-clicking devices now opens a **device display** window: name, state (OK / warning / fault) and a table of values with units and bars, updated live while open. Used by about 60 blocks and many items.
- **Grid analyzer fixed:** it now shows values on every grid device, every mounted part and every pixel cable, also on blocks that used to swallow the click.
- Alarms, story texts, commands and short action-bar feedback stay as before.

## Notes
- Built with 1360 unit tests and an automated dedicated-server start test. Not yet played in-game – please report anything that looks wrong.

# Also included (5.1.0 and earlier)


## Fixed terminals
- **Generators and large devices have a terminal box** with visible terminal bolts: on top for most generators, transformers, batteries, motors, pumps and chargers; at the back for wind, solar, hydro turbines, electric furnace and motor press; at the side for the wallbox. Colours: output orange, input blue, both yellow, protective earth green.
- **New cables connect only at a terminal.** The cable reel snaps onto terminals (also in A/B drag mode) and ends the cable there.
- **Cable sizes per terminal:** e.g. hand crank 1–2 px, coal generator 2–3 px, diesel 3–5 px, large generator 5–10 px, transformer primary 2–3 / secondary 5–10 px. A cable of the wrong size is laid but not connected, with a message; the anchor turns red. Mounted parts have ranges too (small devices 1–2 px, breakers and contactors 1–3 px), shown in the tooltip.
- **Existing worlds:** cables that were already connected stay connected until you lay them again.

## Real sockets
- Sockets have their own feed terminals at the back edge (1–2 px). Without a feed they supply nothing.
- A socket supplies one adjacent small consumer, a socket strip three (in front of or beside the mounting wall). The strip switch works with right-click.
- Overload protection: above 1.44 kW for three seconds the socket trips (red indicator, message); right-click resets it.

## Fix (5.0.1)
- **Breaking a mounted part no longer makes the other cables in the block disappear.** The cables were never removed – the game only lost track of them on your screen until you reloaded. Missing the part or cable slightly now does nothing instead of breaking the whole carrier.

## All new block textures
- **Every block was re-textured by material:** painted sheet steel, brushed steel, galvanized steel with spangles, cast iron, aluminium, copper, brass, rubber, ribbed cable sheath, PVC, clear and tinted glass, concrete, screed, ceramic, wood, brick, tread plate, perforated sheet, grating, fabric, paper, screens, lamps, LED displays, solar cells, insulation cladding, lava and water.
- Surface details where they belong: rivets, screws, vent slots, type plates, doors with handles, inspection windows, gauges, buttons, flange bolts, cooling fins.
- Pictograms (lightning, flame, gauge, valve position, fan, warning sign) now sit on a calm backing plate and are readable.
- States are visible: valves show closed/half/open, tanks and pressure vessels show their fill level, escape route signs show their arrow direction, the emergency stop is a red mushroom button (pressed when triggered), lamps that are off keep a hint of their light colour.
- Hand-drawn textures (safety glass, gratings, monitor images, schematics, escape arrows) are unchanged.

## Automated control room
- **Automation controller:** up to 8 rules IF condition THEN action (frequency, voltage, load, storage level/temperature, time of day, timer → switches and breakers, generator setpoint, load shedding, alarm), with hysteresis and rate limit. Edit them in a list editor (right-click).
- **Assistant:** suggests rules from the grid analysis around you; one click adopts them.
- **Automation level** as progress, advancement **“Autopilot”**, **rule cards** to copy rules between controllers.

## Grid operator competition (multiplayer)
- **Concession office:** teams claim regions (first one free, more must border their area).
- **Grid interconnector** and **tie contract desk:** contracts for power exchange between teams with hourly settlement and penalties.
- **Seasons** with leaderboard and rewards: `/npp season`, `/npp territory`, `/npp contract`. **Team banners** mark plants.

## Quality and migration
- Long random soak tests of the grid solver found and fixed two more tick errors (very well connected cable carriers, invalid numbers).
- Worlds from 3.0 to 4.5 load; old mounted part items stay usable and can be crafted into the new ones.
- The manual got chapters 16–25 and is available as an in-game book (sneak + right-click the manual, or `/npp manual book`).

## Notes
- Built with 1304 unit tests and an automated dedicated-server start test. The new textures and the 5.0 features have not been played in-game yet – please report anything that looks wrong.

# Also included (4.5.0–4.5.1)


## Fix (4.5.1)
- **Cables and mounted parts can be waterlogged:** water now flows into the cable carrier block instead of stopping at it (source water directly; flowing water only where vanilla would form a new source). Water on cables still causes earth faults, as before.

## Ocean energy
- **Tidal power plant** (`tidal_plant`): place it in water with water on all four sides. Two tides per day, strongest at full and new moon, weakest at half moon; best in ocean biomes. Up to 8 kW.
- **Wave buoy** (`wave_buoy`): placed on the water surface like a lily pad. More open water and rougher weather mean more power (rain 80 %, thunderstorm 100 %). Up to 3 kW.
- **Offshore wind farm**: `offshore_foundation` in the water, a `wind_tower` on top, then the `offshore_turbine`. Stronger wind over the ocean. Up to 10 kW.
- **Sea cable** (`sea_cable`): armoured cable for underwater runs, barely corrodes.
- **Salt water corrosion**: grid parts next to sea water age faster; ocean plants lose up to 60 % power when corroded. Right-click with machine grease to maintain them, or use the **maintenance boat** item near the water to service all ocean plants within 24 blocks.
- New advancement **“The Sea Provides”**.

## Geothermal and Nether energy
- **Geothermal drill** (`geothermal_drill`): drills down on its own, one block every 3 seconds. Deeper means hotter; some places are hotspots with much higher output. Right-click shows depth, temperature, yield and remaining time. Every 16 blocks it drops a **core sample**.
- **Heat exchanger** chains (`heat_exchanger`, up to 8 stages, a little loss per stage) and the **ORC turbine** (`orc_turbine`) turn the heat into grid power: about 3–4 kW from a normal well, about 15–17 kW from a hotspot. Unused heat flows into connected district heating pipes.
- **Nether lava heat plant** (`nether_heat_plant`): very strong in the Nether (lava around it), up to 50 kW electric via the turbine. Sneak + right-click sets load level 1–4. Risks: overheating, fire (only if the disaster setting “fires” is on), ghast damage and lava breach at overload – they shut the plant down and wear it out; repair with an iron block.
- **Core samples** can be researched in the research lab for research points. New advancement **“Geothermal Pioneer”**.

## Notes
- Built with 1264 unit tests and an automated dedicated-server start test. The new 4.5 content has not been played in-game yet; all output values are first estimates – please report anything that feels off.

# Also included (4.0.0–4.0.2)


## Fixes and handling (4.0.1–4.0.2)
- **Press R** to rotate the mounted part in your hand by 90° (key can be changed in Controls). Right-click into the air still works too.
- The **placement preview** now shows the terminals: **input blue, output orange** (single connections yellow).
- **Fixed:** the new grid solver could stop calculating after devices aged slowly in several grid parts (error in the server log), so lamps and consumers stayed without power. Covered by a new regression test.

## Regions and supply areas
- The world is divided into **regions of 512×512 blocks**, each with its own name, population, growth and power demand. Settlements in a region add inhabitants.
- **Supply level** per region comes from the power actually delivered to consumers there. Well supplied regions grow (from 60 %), poorly supplied ones shrink and get unhappy. From 80 % a region counts as **connected**; you get a chat message when a region is connected or lost.
- **Regional control desk** (new block): right-click shows the regions around you with population, demand, delivered power, supply level and mood (sneak for a larger area).
- **Grid map** (new item): right-click shows a 7×7 map of the regions around you in chat.
- New advancement **“Regional Supplier”** (3 connected regions).

## Campaign part 3 – The Region Grows
- After part 2, the campaign table continues with **chapters 7–12**: expanding into the region, the smart grid, hydrogen for calm days, the HVDC bridge, citizen participation and security of supply, and a **final exam** (bronze/silver/gold) with a new **regional certificate**.
- Each chapter starts with a short intro sequence (title + story lines), has a reward and its own advancement. Sneak with an empty hand at the table to replay the intro.

## Performance
- The grid solver now splits the grid into independent parts and only recalculates the parts that actually changed. In tests with 10,000–50,000 nodes a quiet tick went from 5–520 ms down to under 0.1 ms, a single change from 18–716 ms to under 2 ms.
- **Time budget per tick** (default 10 ms): large recalculations are spread over several ticks instead of freezing the server.
- New admin command **`/npp perf`** shows solver times and parts per dimension; `/npp perf budget|interval|tolerance|iterations <value>` changes the settings (saved in `config/nuclearpowerplant-performance.properties`).
- Results are identical to the previous solver (checked with randomized comparison tests).

## Notes
- Built with 1242 unit tests and an automated dedicated-server start test. Regions, campaign part 3 and the new solver have not been played in-game yet – please report anything that looks wrong.

# Also included (3.5.0)


## Cables as real separate conductors
- **True electrical separation:** every independent cable inside a block is its own network node. Parallel cables running through the same block are no longer connected just because they share a block – only cables that actually touch (end points, crossings, terminals) are connected. Up to 128 separate conductors per block.
- **Connections to devices:** a cable end that touches the face of a generator, lamp, switch or other device connects to it; when the device is removed, the connection is removed too.
- **Old worlds:** existing cables and the old full-block cables keep working.

## Grid view (key N)
- The grid view now shows the **real cable geometry**: a 1-pixel cable gets a 1-pixel marker, thicker cables their real width, several cables in one block are shown separately.
- New render path that works with the normal world geometry – it no longer draws "always on top" and should no longer turn the screen black with shaders. *(Shader compatibility has not been tested live yet – please report.)*

## Thermal camera
- The thermal camera now also shows **freely laid cables**, each cable separately with its own temperature from its load.
- Grid view and thermal view show up to 512 entries around you (was 128).

## Shader compatibility
- **Fixed:** mounted parts (switches, lamps, breakers …), thick cables, monitor walls and the reactor control panel were invisible with shaders (Iris). They are now drawn as lit object geometry.

## Test world
- New world type **“Nuclear Power Plant Test World”** (Create World → More → World Type): a flat world without structures. On first start it builds two demo circuits next to spawn (hand crank → switch → lamp, coal generator with coal → circuit breaker → lamp) and a showcase of every block of the mod in rows.

## Everything small is mounted now
- Lamp, toggle switch, circuit breaker, fuse, RCD, relay, contactor, terminal block, hall lights, emergency light, exit sign and rotating beacon now place **mounted parts on the 1/16 grid** instead of full blocks. The separate “(mounted)” items are gone from the creative tab; old ones can be crafted into the normal item.
- Full blocks already placed in your world keep working and drop the new item when broken.
- **Cables break pixel by pixel:** mining a cable cuts out a 1-pixel piece at the spot you aim at, the rest of the cable stays.
- The **cable reel** now lays pixel-precise cables with right-click (anchor snapping, finish on a device/anchor), the same way as the free wire reel.

## Electric mobility
- **Electric van** (`electric_van`): a rideable vehicle with a battery. It only drives when charged; battery and range are shown while driving. Right-click to get in, sneak + right-click shows the battery, hit it to pick it up (the charge stays in the item).
- **Wallbox, charging station and fast charger** are real grid consumers and charge a van standing right next to them. Right-click switches the mode: instant → throttled → bidirectional (the van feeds power back when the grid frequency drops and the battery is above 30 %).
- **Charging park monitor:** shows current, average and peak load of all chargers nearby, warns about load peaks and outputs a redstone signal. Several fast chargers on one cable can overload it.
- New advancement **“Under Power on the Road”** (drive 200 blocks in one go).

## Building module kits
- Five kits build a complete module in front of you: **pump house, switchgear house, workshop, control room, cooling tower base**. Sneak + right-click shows the material list, right-click builds (only if the space is free; survival uses the materials, creative is free).
- New decoration blocks: facade panel, roof sheet, cooling tower shell, hazard plate. New advancement **“Module Builder”**.
- The abandoned substation now always contains a research note.

## Test world
- The demo circuits and the block showcase now use mounted parts and pixel cables.

## Handling
- **Placement preview** for mounted parts: a snapped, rotated outline shows where the part will go (green = free, red = blocked).
- Breaking a mounted part removes only that part – the other parts in the block stay.
- A cable now connects when its end lies on or right next to a part (not only exactly on the terminal).
- **Anchor points:** while holding a cable/wire reel, terminals of mounted parts and cable ends around the crosshair are shown as small markers. Clicking within 3 pixels snaps the cable exactly onto the anchor (highlighted in yellow) and finishes the cable there.
- **Mounted parts snap too:** a terminal within 3 pixels of a cable end or another part's terminal moves exactly onto it, and parts placed next to another part on the same surface line up flush in the same row (e.g. circuit breakers side by side). The placement preview shows the snapped position.
- Cables are drawn in their real width (1-pixel cables as a solid 1-pixel conductor, small clamps matching the cable size).
- **Wire reel no longer lays endlessly:** clicking a device, a mounted part or an existing cable ends the cable there; clicking the same point twice finishes it too.
- Industrial doors placed as a double door open and close together.

## Cable reel
- The cable reel can now lay cables in **A/B drag mode** too (click start, click end, live preview). Right-click still places the old block cables.

# Also included (3.4.1)

### Pixel-precise mounting – complete
More components can now be placed freely on the 1/16 grid:
- **Lights:** hall light, emergency light (with charge indicator), exit sign, signal lamp and rotating beacon. All mounted lights are real light sources, their brightness follows the grid voltage (steady, no pulsing).
- **Socket strip** with three sockets and a switch.
- Convert full blocks into their mounted version at the crafting table (and back). Signal lamp: redstone torch + iron nugget + glass pane. Socket strip: 3 mounted sockets + copper ingot.

### Cables
- **Real 16×16×16 cable grid:** cables run through a pixel grid inside the block with obstacle checks along the whole path.
- **A/B drag mode:** click a start point and an end point to lay a cable, with live preview.
- **Five cable thicknesses:** 1, 2, 3, 5 and 10 pixels.

### Building blocks
- **Steel grating** now looks like real bar grating: bearing bars, cross bars and open gaps you can look through (all colours).
- **New: mesh fence panel** – steel frame with posts, handrail and see-through wire mesh. Place several next to each other for a continuous fence wall. Recipe: iron ingot – iron bars – iron ingot (two rows) → 6.
- **New: grating with railing** – a walkway block that combines a bar-grating floor with a railing and wire mesh right at the block edge, so walkways and railings connect without gaps. 8 colours (paint brush). Recipe: steel grating + safety railing.
- The lamp has its own metal base.

### Notes
- Built and unit-tested plus an automated dedicated-server start test. Please report anything that looks wrong in-game.