Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
A Fabric mod that turns Minecraft into an analog electronics lab. Place resistors, capacitors, inductors, memristors, diodes, and an ideal op-amp as blocks, wire them up, drive them with power supplies and function generators, and probe the live voltage/current with a handheld oscilloscope — all backed by a real modified-nodal-analysis (MNA) circuit solver, the same family of algorithm SPICE uses, not a scripted approximation.
This is a teaching tool: the goal is for the in-game behavior to actually match what you'd see on a real bench (RC charge curves, RLC ringing, a memristor's resistance drifting with accumulated charge, a diode's rectified output), just at Minecraft-tick timescales instead of real-world ones.

Requirements
- Minecraft 26.2 — Mojang's new
year.releaseversioning, not the old1.21.xline. - Fabric Loader >= 0.19.3
- Fabric API 0.155.2+26.2 (must match the Minecraft version — required dependency below)
- Java 25 — a Minecraft 26.2 requirement in general, not something specific to this mod.
The components
| Block/Item | What it is |
|---|---|
| Resistor | Ohmic resistor. Cycles 10 / 100 / 1,000 / 10,000 Ω. |
| Capacitor | Trapezoidal-integration companion model. Cycles 1 / 10 / 100 / 1,000 µF. |
| Inductor | Trapezoidal-integration companion model. Cycles 0.01 / 0.1 / 1 / 5 H. |
| Memristor | Charge-controlled linear-drift (HP) model. Resistance drifts between 100 Ω and 10,000 Ω based on accumulated charge — the "memory" persists across circuit rebuilds, unlike every other reactive element. |
| Diode | Linearized Shockley-equation companion model, re-fit every tick. Cycles silicon (~0.7 V) / germanium (~0.3 V) / red LED (~2 V) presets. |
| Ideal Op-Amp | Infinite gain/input impedance, zero output impedance, modeled as a nullor with its own branch-current unknown. The only 3-terminal component. |
| Power Supply | Ideal DC source. Cycles 1.5 / 5 / 9 / 12 / 24 V. Open-circuit until it receives a redstone signal. |
| Function Generator | Time-varying source: sine/square/triangle. Amplitude/frequency come from adjacent Voltage/Frequency Modules (defaults to 5 V / 1 Hz with none attached). |
| Voltage Module / Frequency Module | Undirected utility cubes that set a Function Generator's amplitude/frequency. Chains of modules relay one shared value to every generator the chain reaches. |
| Wire / Ground | Zero-resistance conductor, conductive on all six faces. Ground ties the network to a real 0 V reference — probing it always reads exactly 0 V. |
| Ammeter | A 0 V source in series — doesn't disturb the circuit, gives an exact current reading. |
| Oscilloscope Probe | Pin up to 3 components/wires at once for live, auto-scaled, SI-prefixed voltage/current traces. |
| X-Y Oscilloscope Probe | Plots one pinned channel against another (Lissajous/hysteresis-loop mode) instead of against time — independent per-axis auto-scaling. |
Wiring rules
Every component occupies one block, oriented by the direction you were looking when placed — its two electrical leads are its front/back faces along that axis, the other four are insulated. Wire conducts on all six faces. Two positions merge into the same electrical node whenever each presents a conductive face toward the other, so components connect through wire or directly lead-to-lead. An unconnected lead is just a floating node — it simulates safely at every intermediate stage while you build.
Verification methodology
Every element's stamping and state-update routine was checked during development against closed-form analytic solutions (RC/RL step responses, the memristor's charge-controlled ODE) to within about 1%. The solver package has zero Minecraft dependencies, so this can be — and was — run as a plain Java program, no game instance required.
Source, issues, and citation
Source, issue tracker, and full documentation: https://github.com/rpicos-uib/circuitcraft
If you use CircuitCraft in a classroom, a paper, or a derivative mod, please credit the authors:
Rodrigo Picos, Stavros G. Stavrinides, George Stavrinides, Ariadna Picos, and Gerard Picos. See
the repository's CITATION.cff for the full citation.
License
MIT — permits reuse without attribution; the citation request above is a courtesy ask on top of that, not an added legal restriction.


