[1.16.5-4.2.4-134] Energy in capacitors & connectors don't add up right when transferring power, as measured by the Voltmeter
JavaRogers opened this issue ยท 3 comments
Description of the issue:
Powered wire connectors attached to blue input plugs read as empty on the voltmeter, but they demonstrate having an energy storage. When you break these, there's no immediately apparent energy loss. After transferring the connected device's energy, an amount of energy vanishes (up to the size of the wire connector).
Steps to recreate:
- Place an MV capacitor, and juice it up.
- Confirm its input connector reads 0 Flux, then snip its wire.
- Confirm the capacitor still reads 1000000.
- Attach an output connector.
- Confirm the capacitor reads 998976 (1024 less).
Repeat the experiment, but break the input connector instead of snipping it:
- Place an MV capacitor, and juice it up.
- Confirm its input connector reads 0 Flux, then break it.
- Confirm the capacitor still reads 1000000.
- Attach an output connector.
- Confirm the capacitor reads 997952 (2048 less).
I can't speculate about why it is so ๐
Versions & Modlist
IE version 1.16.5-4.2.4-134
Forge version 36.1.23
IE wires have energy loss over distance, and the storage inside a wire connector is used only for sending not for receiving.
Wire loss is irrelevant here, but it's still (mostly) correct behavior. Connectors now (since 1.14) have 2 buffers, one for sending (from a machine to the net) and one for receiving (from the net to a machine), 1024 IF each in this case. The receiving buffer is not visible to the outside, I think I had a reason for doing that? The connector through which you filled the capacitor still has a full receive buffer after the cap is full, so there's a 1024 IF offset in the first case. The fact that putting an output connector on the cap consumed 2048 rather than 1024 IF confused me for a bit, but apparently the energy transfer code is capable of transferring energy from a connector to itself. So both the send- and receive-buffers are being filled, with 1024 IF each.