Redstonecompiler
No reviews yet
JIT-compiles redstone circuits to bytecode for faster large machines.
Enhances game performance and optimizes resource usage.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description

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).
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources