This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Redstone modes
The plugin lets you mark each chunk with one of four redstone evaluation
modes. The mode is stored in the chunk's PersistentDataContainer
(survives unloads, restarts, world saves) and applies the moment a wire
in that chunk recomputes.
Mode comparison
| Mode | Algorithm | Speed (vs vanilla, dust grid) | Edge cases | Use when |
|---|---|---|---|---|
| vanilla | Mojang DefaultRedstoneWireEvaluator |
1× (baseline) | None — strict Mojang behaviour | Default. Every contraption works. |
| alternate-current | Space Walker's BFS + single-write | 2-15× faster, scales with grid size | A few — see below | Dust-heavy machines: sorters, mega-bases, big chest rooms |
| eigencraft | Theosib's RedstoneWireTurbo (Paper-bundled) | 3-5× faster | Fewer than AC | Hot machines that include pistons/observers, where AC breaks |
| disabled | No-op (wire never recomputes) | n/a — frozen | Wire keeps its last-known power forever | Archive zones, dead builds you don't want to delete |
Edge cases that only work in vanilla (AC limitations)
These are inherent to AC's algorithm — they exist in any AC implementation (Paper-bundled, the original Fabric mod, our port). Eigencraft does NOT have these issues (it preserves the vanilla update sequence, just optimizes the visit order).
-
Piston BUD switches via wire's self-shape-update
Vanilla emits a shape-update for the wire's own block at every intermediate power level (15→14→13→…). A piston relying on quasi-connectivity through that shape change will fire under vanilla, not under AC (which writes the final power level once).
-
Observers counting power-level intermediates
An observer watching a wire sees one block-update under AC instead of multiple as power decays. Counters built on this signal misfire.
-
Strict update-order designs (MC-11193 dependents)
Some redstone-engineer designs depend on the deterministic vanilla update order. AC has its own deterministic order (flow-directional, not coordinate-directional), but it differs from vanilla. Affects sub-tick timing in the most complex builds only.
If a build needs strict vanilla parity, keep its chunks vanilla (default) or switch to eigencraft, which keeps vanilla semantics while still running 3-5× faster.
How to choose
Run /redstone-region check on the chunk to see if it has a piston /
observer / dust mix. If yes, prefer eigencraft. If no, alternate-current
gives the biggest perf win.
Run /redstone-region profile on a chunk to see the timing data + a
recommendation engine that combines mode + components + timing stats.
Performance numbers (32×32 dust grid)
Measured on Folia 1.21.11 build #6, M-series Mac, Java 21, 50 toggles per run:
| Run | Vanilla | AC | Speedup |
|---|---|---|---|
| 1 (cold) | 234 ms | 22 ms | 10.4× |
| 2 (warm JIT) | 41 ms | 14 ms | 2.9× |
| 3 | 71 ms | 5 ms | 14.2× |
Larger grids show wider gaps; AC's overhead is a fixed graph-build cost
per network update, so it dominates only on very small networks
(< 10 wires). See docs/PERFORMANCE.md for the full sweep.
Persistence & migration
The mode is a single byte stored in the chunk's
PersistentDataContainer under the key ekaii:redstone_engine:
| Byte value | Mode |
|---|---|
| 0 | vanilla |
| 1 | alternate-current |
| 2 | eigencraft |
| 3 | disabled |
Existing entries from earlier plugin versions (bytes 0/1) are unchanged. Bytes 2/3 are added by this version onward.
Removing the plugin from your server leaves the PDC entries in place (harmless: a default-vanilla chunk is the same as a chunk with no PDC entry). If you re-install the plugin later, all your AC marks come back.