
Redstone Evolved
Redstone cables with infinite length, vertical placement, 6-side connection control, inverter, diode, delayer, and optimized performance.
Список изменений
Targeted optimizations for Delayors and cable networks.
-
Delayors no longer wake up on every tick. A pending Delayor asked the game to wake it up every single tick just to advance its texture — even though the texture only changes eight times regardless of the chosen duration. It now targets only the exact moments when the image needs to update.
For a 20-tick delay, this means 8 wakeups instead of 20. For the default setting of 10 ticks, 8 instead of 10. Below 9 ticks there is nothing to gain, as every tick already requires an image change.
-
Out-of-sight Delayors no longer animate. If no player is within 32 blocks, the texture is not visible anyway: the Delayor jumps directly to its end time. On large machines, virtually all Delayors drop from eight wakeups to a single one per transition.
-
Half as many reads and no more duplicate packets on cables. When a network changes state, the mod used to iterate over its neighbors twice: once to determine who to notify, and once to refresh colors. A single pass is now sufficient.
More importantly, a component bordered by multiple cables from the same network used to receive as many display packets as adjacent cables. It now receives only one.
-
Removed a redundant calculation from the core engine. To determine if a component was powering a cable, the mod routed back through Minecraft's vanilla redstone system, which re-read the block, performed a check that had already been done, and re-read the cable asking the question — only to reach the conclusion the mod already knew.
-
Cable networks are no longer scanned entirely on every pulse. To determine if a network is powered, the mod used to iterate over all its cables. However, a cable surrounded solely by other cables can never be a power source: only cables touching something else matter.
The mod now caches these entry points and only checks them. On a straight line of 128 cables, it inspects 2 instead of 128 — and this number does not increase as the line gets longer.
This list is recalculated whenever you modify a connection, place, or break a block next to a cable.
-
Lamp synchronization no longer re-scans the entire network either. It was previously bypassing the optimization above and re-iterating through every cable on each pulse. Since a lamp is not a cable, only entry points can touch one.
