What are you searching for?

Alternate Current

Alternate Current

An efficient and non-locational redstone dust implementation

download 6.3M Downloads · favorite 1,274 Followers · Updated 1 month ago
Fabric Forge Neoforge Optimization Ornithe Quilt Technology Utility a1.0.11 a1.0.14 a1.0.15 a1.0.16 a1.0.17_02 +151 more

Versions

inventory_2
[1.21.11 Neoforge] Alternate Current 1.9.0

neoforge-mc1.21.11-1.9.0 · 1 month ago · 50.58 KB

Release download
Neoforge 1.21.11
inventory_2
[1.21.11 Fabric] Alternate Current 1.9.0

mc1.21.11-1.9.0 · 1 month ago · 51.33 KB

Release download
Fabric Quilt 1.21.11
inventory_2
[1.21.9 Neoforge] Alternate Current 1.9.0

neoforge-mc1.21.9-1.9.0 · 4 months ago · 50.49 KB

Release download
Neoforge 1.21.9 1.21.10
inventory_2
[1.21.9 Fabric] Alternate Current 1.9.0

mc1.21.9-1.9.0 · 4 months ago · 52.05 KB

Release download
Fabric Quilt 1.21.9 1.21.10
inventory_2
[1.21.5 Neoforge] Alternate Current 1.9.0

neoforge-mc1.21.5-1.9.0 · 10 months ago · 50.52 KB

Release download
Neoforge 1.21.5 1.21.6 1.21.7

About

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 30 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.

open_in_new View on Modrinth
Compatibility
Client: Unsupported Server: Required
gavel MIT

Conversation

What are your thoughts?

Related projects

Optimization
Sodium
Sodium

by jellysquid3

The fastest and most compatible rendering optimization mod for Minecraft. Now available for both NeoForge and Fabric!

download 117.8M
favorite 32,752
Decoration Optimization
Iris Shaders
Iris Shaders

by coderbot

A modern shader pack loader for Minecraft intended to be compatible with existing OptiFine shader packs

download 90.1M
favorite 23,748
Optimization Utility
FerriteCore
FerriteCore

by malte0811

Memory usage optimizations

download 84.0M
favorite 12,704
Optimization
Entity Culling
Entity Culling

by tr7zw

Using async path-tracing to hide Block-/Entities that are not visible

download 83.6M
favorite 13,745
lock Cookie consent

SkinMC uses cookies to provide functionality and features.