Alternate Current

Alternate Current

Mod

An efficient and non-locational redstone dust implementation

Server OptimizationTechnologyUtility

305.0k downloads
686 followers
Created3 years ago
Updated7 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

Alternate Current is an efficient and non-locational redstone dust implementation. Its main focus lies in reducing the lag caused by redstone dust, by optimizing the power calculations and reducing the number of shape and block updates emitted. As a side effect of these changes the block update order of redstone dust networks is predictable and intuitive rather than locational and chaotic.

Performance

MSPT contributions of redstone dust are up to 20 times lower with Alternate Current, all the while maintaining a high level of Vanilla parity. Its low number of code modifications make it minimally invasive, so it's an easy drop-in replacement for Vanilla redstone dust.

Check out the GitHub page for a detailed explanation of Alternate Current's improvements.

Why is redstone dust so laggy?

There are two main reasons why redstone dust is laggy: unnecessary updates and unnecessary calculations, both of which are caused by the fact that redstone dust updates recursively. A redstone wire can update its power level over half a dozen times before settling on the final value, doing expensive calculations and emitting copious amounts of shape and block updates each time. On top of that, many shape and block updates are completely redundant.

How does Alternate Current fix that?

Alternate Current fixes these issues by doing power calculations of the entire network before updating the power levels. Each wire will check power from non-wire components just once and power from other wires just twice. Power sources within the network are identified, and the power is spread from there. This makes the calculations more efficient and the update order more intuitive. Shape and block updates are only emitted when the final power level is reached, and each wire emits no redundant updates.

External resources



Project members

Space Walker

Owner


Technical information

License
MIT
Client side
unsupported
Server side
required
Project ID