RedstoneEvolved-1.4.0-MC26.2
Curse Maven Snippet
What's new
Unrestricted Loop Construction + Performance Optimizations
Changes
Your loops are no longer broken. Previously, the mod destroyed a wire as soon as it detected a loop passing through an odd number of inverters, under the assumption that such a cycle has no stable state. However, it was only checking how blocks were connected—never the actual values passing through them. A loop like this can easily be stable: it only takes a lever, or any other condition, to hold one of its inputs. Those builds were being broken too, and the sacrificed wire wasn't even the one you had just placed: the mod traced the inputs back to the very first wire it found. You ended up with a missing piece somewhere in your setup without knowing where. All loops are now allowed, and nothing is ever destroyed.
Actively oscillating loops are now indicated by smoke. A loop is only judged by its behavior at the end of the tick, once all tick inputs have arrived: temporary signal bounce caused by propagation order won't trigger anything. If the circuit is still oscillating at that point, it truly lacks a stable state. The specific component where the loop oscillates will emit smoke, right at the exact spot, while the rest of the installation continues to function normally. As soon as the condition that stabilizes the loop returns—such as flipping a lever back—everything resumes normal operation and the smoke stops.
Performance
Large setup tick time is eight times faster. Measured on an in-game CPU consisting of 54,000 wires and 18,000 components: 13.4 ms on average previously, down to 1.6 ms now. The worst-case tick dropped from 295 ms to 18 ms, and the rebuild command went from 567 ms to 126 ms. Most of the gains come from loop monitoring, which used to re-inspect the circuit on every pulse: it now only checks once and caches the result. The rest comes from eliminating three costly overheads: two states of the same block that only differ by light level now share their shape instead of being compared point-by-point on every toggle; a powered wire now only wakes up blocks directly connected to it; and a network's neighborhood (previously re-read on every calculation) is cached until the next modification.
Placing a block or toggling a lever no longer triggers a full circuit analysis. This analysis was removed along with wiring-based loop detection: on the computer setup mentioned above, it cost 35 ms every time a connection changed, and pressing any button near a wire would trigger it.
This mod has no additional files

