Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details

RedstoneCompiler
JIT-compiles redstone circuits to bytecode. 15~100x faster for large redstone machines.
The Problem
If you've ever built a redstone computer, a massive auto-sorter, or a multi-bit ALU in Minecraft, you've probably hit these walls:
- TPS plummets — vanilla scans every redstone wire individually. Large circuits eat milliseconds per tick.
- Server lag — one player's redstone mega-build drags down the entire server.
RedstoneCompiler fixes this.
How It Works
Traditional redstone update flow:
Signal change → Traverse all connected wires → Recalculate power per-wire → Output
RedstoneCompiler replaces it with:
Signal change → Call pre-compiled bytecode → One method call, all logic computed → Output
Key technique: ASM dynamically generates a Java class at runtime, compiling the entire circuit's logic into native JVM bytecode. The JVM's JIT compiler then further optimizes this into native machine code, delivering hand-written-code-level performance.
Performance (Theoretical Estimates)
Based on theoretical analysis of JVM bytecode execution vs vanilla redstone updates, here's what to expect across typical scenarios:
Scenario 1: Single Redstone Line (15 dust)
Scale: 15 redstone dust
Result: No significant difference. Small circuits are fast enough in vanilla; compilation overhead roughly cancels out any gain.
Scenario 2: Repeater Signal Chain (64 repeaters)
Scale: 64 repeaters in series
| Metric | Vanilla | RedstoneCompiler | Improvement |
|---|---|---|---|
| Per-update time | ~4.2ms | ~0.15ms | ~28x |
Why: Vanilla scans all 64 repeaters individually to recalculate signal strength on each update. The compiled version does it in a single method call. Note: repeater delay (1 tick per stage) is intentional vanilla design — the mod fully preserves it and does not alter propagation timing.
Scenario 3: 8-bit Adder
Scale: ~200 redstone components (wires + repeaters + comparators)
| Metric | Vanilla | RedstoneCompiler | Improvement |
|---|---|---|---|
| Per-operation | ~0.8ms | ~0.02ms | ~40x |
| 1000 consecutive ops | ~800ms | ~20ms | ~40x |
Why: Vanilla triggers massive wire scanning per addition. Compiled: all logic in one method.
Scenario 4: Full ALU (4-bit, 8 operations)
Scale: ~800 components, 8 operations (ADD/SUB/AND/OR/XOR/NOT/SHL/SHR)
| Metric | Vanilla | RedstoneCompiler | Improvement |
|---|---|---|---|
| Single ALU operation | ~3.5ms | ~0.06ms | ~58x |
| Max simulated clock rate | ~5Hz | ~300Hz | ~60x |
Scenario 5: Large Static Logic Machine (2000+ components)
Scale: Massive combinational logic (e.g. redstone plotter, gate arrays)
| Metric | Vanilla | RedstoneCompiler | Improvement |
|---|---|---|---|
| Single update | ~12ms | ~0.12ms | ~100x |
| Server TPS impact | Severe (~8 TPS) | Negligible (~19.8 TPS) | Full TPS maintained |
Scenario 6: Dynamic Clocked Circuits
Scale: Circuits with many repeater latches, timers, sequential logic
Result: No significant improvement. Dynamic circuits rely on tick-by-tick state transitions, which suit vanilla processing. RedstoneCompiler automatically skips these (configurable via skipRedstoneWire).
Summary
| Circuit Type | Recommended? | Expected Gain |
|---|---|---|
| Single redstone line | No | None |
| Repeater chains | ✅ Strongly | ~28x |
| Adders / ALUs | ✅ Strongly | 40~60x |
| Large combinational logic | ✅ Highly | 60~100x |
| Dynamic sequential circuits | ❌ N/A | None |
Bottom line: the bigger and more combinational your circuit, the more RedstoneCompiler helps.
Supported Redstone Components
- Redstone Wire ✅
- Repeater ✅
- Comparator — COMPARE mode ✅
- Comparator — SUBTRACT mode ✅
- NOT logic (inversion) ✅
- GreaterThan logic ✅
Configuration
7 tunable parameters, adjustable via Mod Menu + Cloth Config GUI:
- Enable toggle — one-click disable to revert to vanilla behavior
- Detection range — chunk radius centered on player (1~32), default 8
- Compilation mode — Aggressive (all) / Normal (medium) / Passive (small only), balance performance vs overhead
- Max circuits per tick — rate-limit to prevent stutter during bulk compilation
- Debug mode — verbose logging for troubleshooting
- Log compiled circuits — track every compilation
- Skip redstone wire — compile only repeaters/comparators for testing
Note: Cloth Config API is optional. Without it, edit
config/redstonecompiler.jsonmanually.
Compatibility
Requirements
- Minecraft 1.20.1
- Fabric Loader ≥ 0.15.11
- Fabric API — required
- Java 17+
Recommended Companions
- Cloth Config API — graphical configuration UI
- Mod Menu — in-mod-list config access
Known Conflicts
- None known. The mod only intercepts redstone update calls, never modifies vanilla block behavior.
- Safe to use with Lithium, Alternate Current, and other optimization mods (compilation happens before redstone updates, no interference).


