Crossroads-Development / Essentials

Essentials is a mod for Minecraft. It adds a few simple utility-style blocks and items, mostly meant to enhance vanilla-style automation.
MIT License
11 stars 10 forks source link

Phantom Circuit Signal Bug - [1.14] #30

Closed AlchemiconSilver closed 4 years ago

AlchemiconSilver commented 4 years ago

Somehow a value is getting through to a place where it isn't supposed to be (Which will be referred to as a Phantom Circuit Signal, or PCS, throughout this bug report) What was I doing when the bug started - I was testing another contraption that I made outside of the chunk render distance of the affected contraption. When I returned to the affected contraption, somehow whatever bug caused the PCS was somehow activated and now I don't know how to fix it. There should be no places for the signal to get to where it managed to get to with the circuit configuration that is active, as seen below. Screenshot 1: 2020-05-24_19 10 11

Screenshot 2: 2020-05-24_19 17 52

The signal strength of the PCS is the same as the one for the Wireless Reciever marked in Green (Refer to Screenshot below), while Purple is at strength 0. Screenshot 3: 2020-05-24_19 20 33

This issue may have something to do with chunk borders, so just in case, this fourth screenshot will be provided.

Screenshot 4: 2020-05-24_19 21 49

If you want video showing the properties of the bug, then feel free to ask.

Mod List: Essentials (1.14.4-2.6.9) Crossroads (1.14.4-2.0.0, NOTE: Was latest public beta before launch announcement) JEI (1.14.4-6.0.0.27) Patchouli (1.14.4-1.1-26.5)

Da-Technomancer commented 4 years ago

I've been unable to reproduce this issue even with an exact copy of the circuit. I expect it is related to chunk borders with only one part of the circuit being loaded, but still have been unable to reproduce it.

As a temporary fix: Does forcing a block update (just by braking and replacing a solid block next to) the 'max circuit' fix it? Failing that, try updating or breaking and replacing the green receiver or max circuit.

One question: Does the PCS keep the same value as in the green receiver if you change it? For example, if you send a signal of 30 through the green transmitter, does the PCS update?

AlchemiconSilver commented 4 years ago

The PCS is updated by changes to the signal being sent through the green transmitter. In addition, breaking and replacing only the receiver makes the receiver ignore the signal being sent by the transmitter, technically fixing the PCS, but at the cost of breaking the circuit's function. Breaking and replacing the transmitter and the receiver restores theoretical functionality of the circuit, but causes the PCS to appear again. What actually fixed the PCS was breaking and replacing the wire junctions (found this out after recording the bug, idea popped up in my head when thinking about it).

In addition, the max circuit has nothing to do with the signal itself. If I break and replace it, the WJPCS persists. If I replace it with just wire, the WJPCS moves to the connected Beam Siphon. The max circuit was only there to help visualize the WJPCS, and can be replaced with any circuit controllable device, or any other circuit that accepts input (like the addition circuit).

A video has been taken to demonstrate the properties of a Wire Junction PCS, and can be seen here: https://youtu.be/nEZJ74O8a5g

Da-Technomancer commented 4 years ago

This is fixed in the latest commit. The issue was due to wire junctions acting as normal wires after reloading. It appears that this bug could occur whenever the chunk was reloaded from the disk- it is unclear why the issue was intermittent instead of occurring every time.

A temporary workaround until the update is published is to break and replace the affected wire junction(s), as noted above.