All Mods Resource Packs Data Packs Shaders Modpacks Plugins
RailOptimization

RailOptimization

by EasterGhost2 • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Description

RailOptimization is a lightweight mod that makes powered rails and activator rails turn on and off up to 12x faster in complex rail networks.

The best result is that you notice nothing while it is operating, except smoother and faster rail updates. Vanilla behavior and the default power range are preserved unless you explicitly change the range.

Performance

Benchmark scenario (use v2.0) Fabric (up to) NeoForge (up to)
Straight rail state changes 9.38x 16.69x
Mixed-slope state changes 12.09x 22.93x
Repeated unchanged-state updates (indirect power) 48.69x 38.30x

Leak:

Benchmark scenario (use v2.5-dev) Fabric (up to) NeoForge (up to)
Straight rail state changes 14.00x 22.59x
Mixed-slope state changes 18.56x 30.04x
Repeated unchanged-state updates (indirect power) 52.27x 40.15x

Measured in local multi-round benchmarks at the default power range of 8 with updating length 17, comparing optimized and unoptimized rail updates on the same mod loader. Actual gains vary with rail layout, server load, hardware, power range, and other installed mods.

State-change results include both turning rails on and turning them off. The unchanged-state result measures repeated updates without a power-state change; it is not an on/off speedup or a whole-server speedup.

Features

  • Fast updates across straight, ascending, descending, and mixed-slope rail networks.
  • Greatly reduced cost for repeated updates that leave rail state unchanged.
  • Optional power range from 1 to 64, with vanilla's default of 8 unchanged.
  • Switch between vanilla and optimized update logic without restarting.
  • Native builds for Fabric, Forge, and NeoForge, with no Architectury API dependency.

Install it with the default settings and it works without additional configuration.

Commands

Command Purpose
/railoptimization Show the current state and power limit
/railoptimization on Enable the optimized update path
/railoptimization off Use vanilla update logic
/railoptimization powerLimit <value> Set the rail power range from 1 to 64
/railoptimization reload Reload the configuration file

Changing settings requires administrator permission. Settings are saved automatically in railoptimization.json and persist across restarts.

Compatibility

  • Choose the file for your Minecraft version and mod loader.
  • RailOptimization v1.2 and earlier are incompatible with Carpet TIS Addition. RailOptimization v1.3 and later are compatible.
  • To compare a contraption with vanilla, use /railoptimization off and trigger it again. If you find a behavioral difference, please report it with a minimal reproduction.

Acknowledgements

RailOptimization began as a fork of FxMorin's RailOptimization. My sincere thanks go to FxMorin and the original contributors for their work. The current implementation has since been extensively rewritten, but this project would not exist without their original work.

More Information

For source code, issue reports, or any other questions, please visit the RailOptimization GitHub repository.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3 26.2 26.1.x
Neoforge
17h ago 1
26.3 26.2 26.1.x
Fabric Quilt
17h ago 1
1.21.11
Neoforge
17h ago 1
1.21.11
Fabric Quilt
17h ago 1
1.21.x
Neoforge
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.x
Neoforge
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.x
Neoforge
17h ago 1
1.20.x
Neoforge
17h ago 1
1.20.x
Neoforge
17h ago 1
1.20.x
Forge
17h ago 1
1.21.x 1.20.x
Fabric Quilt
17h ago 1
26.2 26.1.x
Fabric Quilt
17h ago 1
26.2 26.1.x
Neoforge
17h ago 1
26.2 26.1.x
Neoforge
17h ago 1
26.2 26.1.x
Fabric Quilt
17h ago 1
26.2 26.1.x
Neoforge
17h ago 1
26.2 26.1.x
Fabric Quilt
17h ago 1
26.2 26.1.x
Neoforge
17h ago 1
26.2 26.1.x
Fabric Quilt
17h ago 1
26.2 26.1.x
Fabric Quilt
17h ago 1
26.2 26.1.x
Fabric Quilt
17h ago 1
1.21.x 1.20.x
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.11
Fabric Quilt
17h ago 1
26.3 26.2 26.1.x
Fabric Quilt
17h ago 1
1.21.x 1.20.x
Fabric Quilt
17h ago 1
1.21.x 1.20.x
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.11
Fabric Quilt
17h ago 1
26.3 26.2 26.1.x
Fabric Quilt
17h ago 1
1.21.11
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.x 1.20.x
Fabric Quilt
17h ago 1
26.3 26.2 26.1.x
Fabric Quilt
17h ago 1
1.21.x 1.20.x
Fabric Quilt
17h ago 1
26.3 26.2 26.1.x
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.21.x
Fabric Quilt
17h ago 1
1.20.x
Fabric Quilt
17h ago 1
1.20.x
Fabric Quilt
17h ago 1
1.20.3-pre2
Fabric Quilt
17h ago 1
1.16.x
Fabric Quilt
17h ago 1
1.16.4
Fabric Quilt
17h ago 1
1.16.5
Fabric Quilt
17h ago 1
1.17.x
Fabric Quilt
17h ago 1
1.18.x
Fabric Quilt
17h ago 1
1.19.x
Fabric Quilt
17h ago 1
1.20.x
Fabric Quilt
17h ago 1
1.20.2
Fabric Quilt
17h ago 1
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
[2.0] RailOptimization 2.0 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v2.0

RailOptimization 2.0 brings an **INCREDIBLY** faster rail update engine, Forge and NeoForge support, and persistent configuration.

### What's New

  • 6x faster** than v1.6 in complex rail network.
  • Added **Forge and NeoForge support** alongside Fabric.
  • Optimization and power-limit settings are now saved automatically in railoptimization.json and restored after restarts.
  • Added /railoptimization reload to apply configuration-file changes without restarting.

### Improvements

  • Reworked rail signal searches and propagation to reduce repeated work on straight and mixed-slope lines.
  • Greatly reduced the cost of repeated neighbor updates that leave rail states unchanged.
  • Reduced temporary allocations, repeated support checks, and redundant neighbor notifications.
  • Improved **WorldThreader compatibility** by keeping update-cache invalidation independent between dimensions.
  • Improved compatibility with modded redstone blocks and rail variants on Forge and NeoForge.

### Fixes

  • Corrected direction-dependent rail update ordering, including observer and piston/BUD microtiming at rail endpoints.

The default rail power range remains **8**; extending it is still optional.
## RailOptimization v2.0-snapshot 6

> This snapshot further reduces rail-update overhead on Fabric and NeoForge.

### Improvements

  • Reduced repeated support checks for powered and activator rails, including slopes
  • Removed duplicate neighbor notifications at straight rail endpoints while preserving the order of the first notifications
  • Reduced redundant cache lookups and temporary allocations during rail updates

## RailOptimization v2.0-snapshot 6

> This snapshot further reduces rail-update overhead on Fabric and NeoForge.

### Improvements

  • Reduced repeated support checks for powered and activator rails, including slopes
  • Removed duplicate neighbor notifications at straight rail endpoints while preserving the order of the first notifications
  • Reduced redundant cache lookups and temporary allocations during rail updates

## RailOptimization v2.0-snapshot 5

> This snapshot improves NeoForge mod compatibility and fixes rail-end microtiming and update-cache saturation.

### Improvements

  • Improved NeoForge compatibility with modded redstone blocks by respecting their custom power-conduction rules
  • Preserved NeoForge's signal propagation between compatible modded rail variants, including the correct source block in neighbor notifications

### Fixes

  • Corrected neighbor-update ordering at the west and south ends of straight rail lines, fixing piston/BUD microtiming differences from vanilla
  • Fixed the rail update cache becoming saturated after many different rails received updates without changing state, preventing persistent slowdowns in subsequent cache lookups

## RailOptimization v2.0-snapshot 5

> This snapshot improves NeoForge mod compatibility and fixes rail-end microtiming and update-cache saturation.

### Improvements

  • Improved NeoForge compatibility with modded redstone blocks by respecting their custom power-conduction rules
  • Preserved NeoForge's signal propagation between compatible modded rail variants, including the correct source block in neighbor notifications

### Fixes

  • Corrected neighbor-update ordering at the west and south ends of straight rail lines, fixing piston/BUD microtiming differences from vanilla
  • Fixed the rail update cache becoming saturated after many different rails received updates without changing state, preventing persistent slowdowns in subsequent cache lookups

## RailOptimization v2.0-snapshot 4

> This snapshot restores vanilla-observable rail update microtiming and improves compatibility with concurrent dimension ticking.

### 🛠 Improvements

  • Scoped update-memo invalidation to each world, improving WorldThreader compatibility by preventing unrelated block changes in another dimension from invalidating reusable rail-update results

### 🐞 Fixes

  • Restored vanilla-observable neighbor and shape update ordering for powered and activator rails, including direction-dependent propagation and observer/BUD microtiming

### ⚠️ Snapshot Notes

  • This is a snapshot intended for testing before the final v2.0 release
  • Snapshot builds are only provided for selected Minecraft versions; all supported versions will be updated with the final release
  • There are no intentional gameplay behavior changes; these fixes restore vanilla parity

## RailOptimization v2.0-snapshot 4

> This snapshot restores vanilla-observable rail update microtiming and improves compatibility with concurrent dimension ticking.

### 🛠 Improvements

  • Scoped update-memo invalidation to each world, improving WorldThreader compatibility by preventing unrelated block changes in another dimension from invalidating reusable rail-update results

### 🐞 Fixes

  • Restored vanilla-observable neighbor and shape update ordering for powered and activator rails, including direction-dependent propagation and observer/BUD microtiming

### ⚠️ Snapshot Notes

  • This is a snapshot intended for testing before the final v2.0 release
  • Snapshot builds are only provided for selected Minecraft versions; all supported versions will be updated with the final release
  • There are no intentional gameplay behavior changes; these fixes restore vanilla parity

## RailOptimization v2.0-snapshot 3

> This snapshot brings RailOptimization to NeoForge, adds persistent configuration, and further reduces powered and activator rail signal-search overhead while preserving vanilla behavior.

### ✨ What's New

  • Added **NeoForge support for Minecraft 26.1.x**
  • Runtime settings are now saved to config/railoptimization.json and persist across game or server restarts
  • Added /railoptimization reload to apply configuration-file changes without restarting
  • Fabric and NeoForge share the same optimization engine, commands, and configuration behavior
  • Configuration writes are handled asynchronously and replaced atomically

### 🚀 Performance

  • Reused block states already read during direct-power checks, avoiding duplicate world lookups on unsuccessful rail signal searches
  • Streamlined direct-signal direction checks without changing Minecraft's signal observation order
  • In balanced local measurements, complete no-signal searches were about **10% faster at the default power range** and **13% faster at powerLimit=64**, with successful and early-exit paths effectively unchanged
  • No additional per-update allocation was introduced

### ⚠️ Snapshot Notes

  • This is a snapshot intended for testing before the final v2.0 release
  • Snapshot builds are only provided for selected Minecraft versions; all supported versions will be updated with the final release
  • There are no intentional gameplay behavior changes; vanilla behavior and the default rail power range remain unchanged
## RailOptimization v2.0-snapshot 3

> This snapshot brings RailOptimization to NeoForge, adds persistent configuration, and further reduces powered and activator rail signal-search overhead while preserving vanilla behavior.

### ✨ What's New

  • Added **NeoForge support for Minecraft 26.1.x**
  • Runtime settings are now saved to config/railoptimization.json and persist across game or server restarts
  • Added /railoptimization reload to apply configuration-file changes without restarting
  • Fabric and NeoForge share the same optimization engine, commands, and configuration behavior
  • Configuration writes are handled asynchronously and replaced atomically

### 🚀 Performance

  • Reused block states already read during direct-power checks, avoiding duplicate world lookups on unsuccessful rail signal searches
  • Streamlined direct-signal direction checks without changing Minecraft's signal observation order
  • In balanced local measurements, complete no-signal searches were about **10% faster at the default power range** and **13% faster at powerLimit=64**, with successful and early-exit paths effectively unchanged
  • No additional per-update allocation was introduced

### ⚠️ Snapshot Notes

  • This is a snapshot intended for testing before the final v2.0 release
  • Snapshot builds are only provided for selected Minecraft versions; all supported versions will be updated with the final release
  • There are no intentional gameplay behavior changes; vanilla behavior and the default rail power range remain unchanged
## RailOptimization v2.0-snapshot 2

> This snapshot hardens the new v2.0 rail update engine, improving cache performance and vanilla parity for dynamic redstone sources and concurrent dimension ticking.

### 🚀 Performance

  • Local release-build benchmarks measured state-changing updates at **7.56x faster** on straight lines and **9.90x faster** on mixed slopes than vanilla
  • In the same release build, unchanged updates measured **5.41x faster** when unpowered, **3.45x faster** when directly powered, and **32.36x faster** at distance 8 from an indirect power source
  • Reworked rail-search hashing to mix all BlockPos coordinate bits, eliminating direction-dependent collisions on flat rail lines
  • At powerLimit=64, state-changing updates measured 176-191 microseconds per operation on straight lines across both axes and 241 microseconds per operation on mixed slopes
  • Connected straight and sloped paths are now collected once during depowering instead of being scanned repeatedly
  • Cached powered-rail shape and power metadata and streamlined update-memo probing
  • Fixed search generations periodically losing reusable cached results
  • Benchmark results vary with hardware and server load

### 🛠 Improvements

  • Isolated update memos by world and thread, with atomic invalidation for safer operation when dimensions tick concurrently
  • Split rail traversal, lane updates, signal checks, and notifications into focused components without changing update behavior

### 🐞 Fixes

  • Fixed memoized unchanged updates potentially ignoring signal changes from trapped chests, jukeboxes, and other block-entity, analog-output, or direct-signal sources
  • Fixed memo entries being reused in another world at the same coordinates
  • Fixed stale or duplicate update-memo entries after block changes
  • Fixed packed search-cache metadata and generation edge cases that could disable reuse or misread cached state

### ⚠️ Snapshot Notes

  • This is a snapshot intended for testing before the final v2.0 release
  • Snapshot builds are only provided for selected Minecraft versions; all supported versions will be updated with the final release
  • There are no intentional gameplay behavior changes; the fixes restore vanilla parity in edge cases

## RailOptimization v2.0-snapshot 1

> This snapshot introduces the next-generation rail update engine — with state-changing updates 7-9x faster and unchanged updates up to 30x faster than vanilla.

### 🚀 Performance

  • State-changing updates (toggles): **7.5-9x faster** than vanilla
  • Unchanged neighbor updates (repeated redstone pulses on an unchanged rail line): **up to 30x faster**
  • Long rail lines with powerLimit=64: **about 12x faster than v1.6**
  • Figures are statistical medians over 32 benchmark rounds on our test machine; real-world results vary with hardware and load

### ✨ New Features

#### Zero-Allocation Update Engine

  • Rebuilt the powered rail update pipeline on pooled, per-thread update contexts with no allocation in the mod's own hot paths
  • The rail search cache and update memo store their metadata in single bit-packed machine words, keeping the hot tables inside the L1 cache
  • Straight and ascending rail depowering share a single step-table path with no branching per rail

#### Memoized Unchanged Updates

  • Unchanged rails validate repeated neighbor updates against a memoized state and skip the rail line re-search entirely
  • Redstone clocks and repeated pulses no longer re-traverse the full powered rail chain when nothing changed

### 🛠 Improvements

  • Powered rail searches prune with the exact cached cost instead of re-walking known distances
  • Signal searches skip conductor directions already known to be invalid
  • Rail power limit values are clamped to the valid range

### 🐞 Fixes

  • Fixed out-of-range rail power limit values being stored as-is instead of being clamped

### ⚠️ Snapshot Notes

  • This is a snapshot intended for testing before the final v2.0 release
  • This release changes no observable rail or redstone behavior — it is a pure performance update, verified by the parity test suite

[1.6] RailOptimization 1.6 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v1.6

RailOptimization v1.6 further reduces the cost of powered rail and activator rail updates, especially in frequently changing rail networks.

### What's New

  • Added /railoptimization powerLimit <value> to change the powered/activator rail signal range from 1 to 64. The default remains 8 and changing it requires administrator permission.
  • /railoptimization now displays both the optimization state and the current power limit.

### Improvements

  • Reworked rail traversal and search caching to avoid repeated path scans during the same update.
  • Replaced the per-update hash map with a compact cache designed for Minecraft's short rail signal paths.
  • Reused update contexts and mutable positions to reduce temporary allocations and garbage collection pressure.
  • Cached direct redstone power checks and improved the fast path for straight rail lines.

### Fixes

  • Rail-shape lookup tables no longer rely on hard-coded enum ordinal ordering.
  • Rail-search cache entries are isolated between update phases to prevent unrelated search results from being reused.

[1.6] RailOptimization 1.6 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v1.6

RailOptimization v1.6 further reduces the cost of powered rail and activator rail updates, especially in frequently changing rail networks.

### What's New

  • Added /railoptimization powerLimit <value> to change the powered/activator rail signal range from 1 to 64. The default remains 8 and changing it requires administrator permission.
  • /railoptimization now displays both the optimization state and the current power limit.

### Improvements

  • Reworked rail traversal and search caching to avoid repeated path scans during the same update.
  • Replaced the per-update hash map with a compact cache designed for Minecraft's short rail signal paths.
  • Reused update contexts and mutable positions to reduce temporary allocations and garbage collection pressure.
  • Cached direct redstone power checks and improved the fast path for straight rail lines.

### Fixes

  • Rail-shape lookup tables no longer rely on hard-coded enum ordinal ordering.
  • Rail-search cache entries are isolated between update phases to prevent unrelated search results from being reused.

[1.6] RailOptimization 1.6 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v1.6

RailOptimization v1.6 further reduces the cost of powered rail and activator rail updates, especially in frequently changing rail networks.

### What's New

  • Added /railoptimization powerLimit <value> to change the powered/activator rail signal range from 1 to 64. The default remains 8 and changing it requires administrator permission.
  • /railoptimization now displays both the optimization state and the current power limit.

### Improvements

  • Reworked rail traversal and search caching to avoid repeated path scans during the same update.
  • Replaced the per-update hash map with a compact cache designed for Minecraft's short rail signal paths.
  • Reused update contexts and mutable positions to reduce temporary allocations and garbage collection pressure.
  • Cached direct redstone power checks and improved the fast path for straight rail lines.

### Fixes

  • Rail-shape lookup tables no longer rely on hard-coded enum ordinal ordering.
  • Rail-search cache entries are isolated between update phases to prevent unrelated search results from being reused.

[1.6] RailOptimization 1.6 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v1.6

RailOptimization v1.6 further reduces the cost of powered rail and activator rail updates, especially in frequently changing rail networks.

### What's New

  • Added /railoptimization powerLimit <value> to change the powered/activator rail signal range from 1 to 64. The default remains 8 and changing it requires administrator permission.
  • /railoptimization now displays both the optimization state and the current power limit.

### Improvements

  • Reworked rail traversal and search caching to avoid repeated path scans during the same update.
  • Replaced the per-update hash map with a compact cache designed for Minecraft's short rail signal paths.
  • Reused update contexts and mutable positions to reduce temporary allocations and garbage collection pressure.
  • Cached direct redstone power checks and improved the fast path for straight rail lines.

### Fixes

  • Rail-shape lookup tables no longer rely on hard-coded enum ordinal ordering.
  • Rail-search cache entries are isolated between update phases to prevent unrelated search results from being reused.

[1.6] RailOptimization 1.6 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v1.6

RailOptimization v1.6 further reduces the cost of powered rail and activator rail updates, especially in frequently changing rail networks.

### What's New

  • Added /railoptimization powerLimit <value> to change the powered/activator rail signal range from 1 to 64. The default remains 8 and changing it requires administrator permission.
  • /railoptimization now displays both the optimization state and the current power limit.

### Improvements

  • Reworked rail traversal and search caching to avoid repeated path scans during the same update.
  • Replaced the per-update hash map with a compact cache designed for Minecraft's short rail signal paths.
  • Reused update contexts and mutable positions to reduce temporary allocations and garbage collection pressure.
  • Cached direct redstone power checks and improved the fast path for straight rail lines.

### Fixes

  • Rail-shape lookup tables no longer rely on hard-coded enum ordinal ordering.
  • Rail-search cache entries are isolated between update phases to prevent unrelated search results from being reused.

[1.5.1] RailOptimization 1.5.1 by EasterGhost2 on Oct 14, 2026
Download
## RailOptimization v1.5.1

Fixed a crash that could happen during powered rail neighbor updates in Minecraft 1.20.x-1.21.1.

  • Fixed a null source position in rail update notifications
  • Improved compatibility with redstone-powered rail update chains

### Note

Only v1.5 in 1.20-1.21.1 is affected, older versions work normally.
## RailOptimization v1.5

RailOptimization optimizes powered rail and activator rail redstone updates by replacing repeated vanilla recursive scans with a faster cached propagation path.

### What's New

  • Sloped powered rails are now included in the optimized batch propagation path. Long rail lines containing ascending or descending rails no longer fall back to the slower vanilla propagation step after a rail state changes.
  • Direction-sensitive slope traversal improves correctness for asymmetric rail layouts, including continuous slopes, descent-to-ascent chains, and diagonal zigzag-style rail paths.
  • Rail neighbor notification order has been adjusted to preserve vanilla-like update behavior, including observer and BUD-sensitive setups around rail endpoints.
  • The optimized path keeps curved rails and unsupported shapes guarded, falling back to vanilla behavior where the fast path is not safe.

### Fixes

  • Fixed update-order differences that could prevent observer/BUD behavior from matching vanilla in some rail endpoint update chains.
RailOptimization Icon
Download RailOptimization
Select game version
Select platform