-
-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Display panels displaying ID, clone and/or proxy values can break the network value resolution for all other outputs, including other displays #1358
Comments
ok so I reworked the logic and wiped all ID cards so that the comparison is done directly from the source without an ID card, however even still if I create a new ID card on the value source that goes into the comparison, if this ID card is present in a display it breaks the comparison logic the exact same way as before, so ID cards are essentially just not usable... |
ok no, so it turns out its not related to the ID function, its actually to do with how the values are resolved entirely, so if just the final ADD card is cloned and the clone is used on a display, it breaks the original ADD card, in the exact same way as the previous methods... |
further continued; I used the clone of the ADD in a proxy block, and created a proxy card for the display, and yet further still, having the PROXY card in the display, breaks the network just the same as before, but removing the PROXY card from the display immediately fixes the network... |
Delayer is also affected, again in the exact same way, except this time its generating an array of values of which once placed in the display triggers the cascade failure which is reflected in the growing values on the display The Materialiser... simply doesnt work, it will appear that it does but the values do not update except for only once when you open its UI, or move the materialised card around BUT, so far, putting the cloned ADD into the DELAYER, generating the DELAY card (array), putting the DELAY card into the MATERIALISER, and then generating a MATERIALISED DELAYED card, and putting THAT card into the display... WORKS NORMALLY?? |
... continued a little more, the workaround of delayer > materialiser > display works for only one bank, if I do the same on the other bank it breaks the whole network logic, even though theres no way that it should |
oh boy, so the materialised delay card was a partial red herring, the undefined behavior gets even wilder put cloned ADD into delayer, keep it there |
so far the "fix" I ended up using in the given setup was to split the network into 4 seperate ones with individual single variable store blocks with their assortment of cards, and these linked up to the main network of the 4 via redstone modules sending into solid blocks, so each network uses its own displays and delayers for their own variable logs, everything has been working normal as expected just like the dozen other small networks I have elsewhere. The problem seems like it might be specific to large networks consisting of multiple variable stores (3+) with variable cards at least close to 3 digits, i think this one had 50-100 cards before I split it apart. Cant really think though how this number of var stores and cards could cause these issues however, other than possibly a very specific kind of race condition across multiple var stores or with comparator inputs, or some other issue with the way card values are updated |
So it sounds like there's some kind of problem with large networks that break variable resolution. Can you share your forge logs when the problem actively occurs? Also, could you share a world (with only ID+CC+CommonCaps installed) in which this problem occurs? |
Since I already tore apart the faulty network and rebuilt new ones I dont think I have a copy of the world anymore with it, also there was nothing at all mentioned in the logs, no warnings or exceptions |
Ok, no worries. Closing this issue then in the meantime, until new information arises. |
Issue type:
Using multiple ID cards to the same source card results in erronous or outdated values being sent to all but one of the ID childsShort description:
The ID function doesnt resolve correctly when multiple are assigned to the same source cardso far seems to be a bug with display panels on complex networks
Steps to reproduce the problem:
Make a source card of some kind, in my case I was using redstone comparator's, and then create two or more ID cards with this as the source, put these cards into seperate display panels, change the source value in some way (such as inserting or emptying a chest), the values in the displays will then nolonger match
Expected behaviour:
ID cards on the same source should resolve normally
Versions:
Log file:
none generated/not applicable
The text was updated successfully, but these errors were encountered: