ReikaKalseki / Reika_Mods_Issues

The issue tracker for all of my mods - RotaryCraft, its addons, ChromatiCraft, and everything else.
46 stars 14 forks source link

[Electricraft] Wires Melt on Update with Active Networks #1268

Closed robertmaxton42 closed 7 years ago

robertmaxton42 commented 7 years ago

First - yes, I know about the complexity limit. This isn't that, I shouldn't think.

I have a set of hydrokinetic generators - two sets of sixteen each - funneling into an auroral battery, and from the top of the battery to an electric motor through a relay. That's... well, the entire extent of the network - no branches or joins anymore. I thought it might be that it was registering the generators as independent sources, so I put industrial coils between them and the actual wires, and merged them with a junction before attaching them to a generator, so now the entire "network" is

            |---------|
         Battery    Relay - Motor
            |
Generator ->|

(No screenshots because my base conceals a lot of the wiring behind walls and I'm not too willing to tear up most of my walls by hand to reveal it.)

The moment I place the relay and connect the battery to an output, all my wires melt. This is very reproducible, as in I've flooded my base with lava about three or four times trying to figure out the problem. It is somewhat sporadic, but it consistently happens if my engines are on and power is running through the network when I add the motor to the circuit.

(On a side note, if I may offer a suggestion - what about just throwing the actual physics at it? You'd have a set of differential equations with variables equal to the number of blocks in the network, which is a nice O(n^2) algorithm instead of O(e^n). There's a bit of a fiddly bit regarding the fact that real circuits are, well, circuits, but we can resolve that by assuming the Minecraft Earth is a perfect conductor and thus a battery with its negative end grounded to the Earth and, say, a motor are basically "in contact" for the purposes of the equation.)

robertmaxton42 commented 7 years ago

Oh, I should probably note this explicitly, but I am using superconducting wires.

ReikaKalseki commented 7 years ago

This is a network overcomplexity issue. This is not a bug, but temporary behavior to prevent a server freeze.

robertmaxton42 commented 7 years ago

Um, would you mind explaining more, and how I can get around this? The network seems as simple as I can get it, since there's just the one line without any forks or junctions...

Builderb0y commented 7 years ago

The network seems as simple as I can get it, since there's just the one line without any forks or junctions...

Shafts/engines connected directly or indirectly to the motor count as part of the network (this was done to prevent bypassing the 4x merging behavior of shaft junctions), so your network could be more complex than you think.

With that said though, I've seen other people on the forum thread complain about this as well, and it started around v16. I think enough people have reported it now to rule out that being a coincidence, which means that something in v16 must have broken previously-safe networks. Problem is, I don't remember any changes to network logic between v15 and v16, and IIRC neither does reika. See if you can narrow this issue down by using fewer engines.

ranger135xp commented 7 years ago

same issue. Previously safe networks now generate lava randomly. The network shown in my last thread about free energy from ElC melted suddenly just today.