Per-chunk redstone speed-up on Folia (2-14× faster). Pick vanilla / Alternate Current / Eigencraft / Disabled per chunk. /undo, sign opt-in, BlueMap, WorldEdit, PAPI, en+fr.
Mark a chunk → it ticks 2-14× faster. Leave the rest vanilla.
Server admins know the dilemma: globally enable Alternate Current and 1% of your machines break, OR keep vanilla everywhere and watch big redstone choke the server. RedstoneRegions ends the dilemma.
Per-chunk choice. Four engines. Hot-swap. Folia-thread-safe.
/redstone-region set alternate-current ← this chunk only
/redstone-region fill 8 alternate-current ← 17×17 chunks around you
/redstone-region selection eigencraft ← your WorldEdit selection
/redstone-region undo ← oh wait, no
| Mode | Speed | Edge cases | Use for |
|---|---|---|---|
| vanilla | 1× (baseline) | none | default; everything works |
| alternate-current | 2-14× faster | piston BUDs, observer-on-wire | dust-heavy mega-bases, sorters, salles des coffres |
| eigencraft | 3-5× faster | very few | hot piston/observer machines |
| disabled | n/a (frozen) | wire never updates | archive zones, dead builds |
| Run | Vanilla | AC | Speedup |
|---|---|---|---|
| Cold | 234 ms | 22 ms | 10.6× |
| Warm JIT | 41 ms | 14 ms | 2.9× |
| Pre-warmed | 71 ms | 5 ms | 14.2× |
At 64×64 chunks of dust, vanilla overshoots one tick by 6×. AC keeps it under 2.
Every wire update goes through a per-chunk dispatcher with ~50 ns total overhead (StampedLock optimistic read + a switch). Tunable via timing.mode: sample for huge grids — drops to ~5 ns at sample-rate 10. Or off for 0 ns.
/redstone-region set ac only where you need it/redstone-region selection ac from your //pos1 //pos2[ac] signs to flip their own chunks (perm-gated, radius-capped)/redstone-region profile gives a 50ms-tick-budget readout per chunk/redstone-region why x y z — explains a wire's current power by enumerating its 6 neighbors' contributions/redstone-region undo — reverses the last batch (set / fill / selection / sign / auto-AC)lang/<code>.yml%redstone-region_mode%, count placeholders per mode/redstone-region reload for config + lang, no restartredstoneregions.jar in plugins//redstone-region set alternate-current. Done.14/14 in-server harness cases green:
Mojang exposed a RedstoneWireBlock.evaluator field in 1.21.2. We swap it at boot with a DispatchingEvaluator that consults a per-chunk flag (PDC-stored) and routes each wire update to the right engine. The Alternate Current implementation is a port of Space Walker's algorithm with per-thread WireHandlers to avoid the latent race in Paper's bundled-AC under Folia.
Full architecture: docs/ARCHITECTURE.md.
Two contraption patterns differ from vanilla under AC and may break:
Run /redstone-region check first → it warns about risky patterns. Or just keep that chunk vanilla. Eigencraft mode has neither edge case while still being 3-5× faster — use it for piston/observer machines.
MIT. Bundled Alternate Current engine: MIT (Space Walker — see plugin's ac/LICENSE).
If you've ever typed redstone-implementation: alternate-current in paper-world.yml and held your breath, this plugin is for you.