BuildCraft|Core

BuildCraft|Core

7M Downloads

[6.4.3] Pipe wires- feedback loop.

MrGraphic opened this issue ยท 18 comments

commented

Object : closed wire loop,

Symptomps : high signal travels over whole circuit loop without active source,

Description : After cutting signal at source ( gate ) high signal starts to disappear towards furthest
point in the loop in both directions then at that point it returns counter clokwise and dissapear after few laps. In a simple 10x10 circuit I counted seven loops ( plus part of the wire to the next curve ),

Workaround : any kind of gap in loop - feasible only for A to B like wiring

commented

Why would you have a wire loop in any real pipe system? You can easily get the signal from wherever to wherever without loops, unless you simply want to cause 'bugs'.

commented

@viliml sometimes due to high gate concentration loops are necessary. Please be more polite in future. If I was reporting this bug, I would receive your response as almost personal attack.

commented

I will give only one example from many @viliml : phased facades ^^.

commented

I'm sorry if my response seemed rude, I don't see how it's a personal attack.
In any case, can you show me a scenario in which this bug occurs, that isn't avoidable by putting facades between some pipes?

commented

Oh, wait, do facades not stop wire from connecting? It seemed like they did...

commented

@viliml - caught and fixed, c5408d9

commented

I see, structure pipes always pass the signal, even though facades. That's most likely a bug.

commented

Well, looks like my example wasn't precise enough. Imagine wall made out of phased facades and you want to actually use them the way they have been designed. In order to prevent - for example, facade "flickering" you need to plug every possible loop in grid - life is too short ;).

commented

Whenever something could form a loop, you either zigzag the pipes with plugs, or split them into rows which aren't interconnected.

Anyway, the reason vanilla redstone loops don't cause problems is because of power levels:
A possible fix would be for wires to hold their "rank": gates would set a signal of rank 1 to the wires on it's own pipe. Off wires would be rank 0. When a gate updates, it checks if any adjacent gate has a smaller (but nonzero) rank. If it does, it updates all adjacent wires with a rank higher that it's own + 1. If it doesn't, it turns itself off and updates all adjacent wires(if there's another source but it's further away than the one that was previously the closest to this wire, let other wires recalculate the rank and possibly turn it back on).
I don't know if that would be too slow though, or cause too much network load...

Anyway, it's not a big priority since it can be easily worked-around in the same way as loops were always handled in BC. Item pipes transfer back and forth unnecessarily, possibly back where they came from, fluid pipes slow down and probably also more bad things, and kinesis pipes overload when in loops; there's nothing you can do about it. It's nothing strange wires would act funny too.

commented

@viliml - Actually, pipe wires have ranks - from 0 to 255. They're just not visible.

About the things you mentioned... many things will get fixes. Eventually.

commented

I see... I guess I should look into the code before making suggestions :P
Too bad it doesn't work as expected...

commented

@viliml if you are not thinking creatively then you are missing the whole point of my report. The point is that this "worm" that travels through closed network/grid untill it lose his power limits creativity and as far as I know BC is not about mining and moving items from point a to point b.

commented

@MrGraphic You don't understand. First of all, this was already implemented. Second of all, the only visible effect it makes to you is that it fixes bugs. I doesn't actually lose power. It's just an internal counter of how far away from the gate it is. That information is useful to fixing your problem.

commented

I don't know about you but this is an issue for me too. :P Walls of phased facades can't be done smoothly, because the wires always flickers. Even if its a small wall, at that.

commented

I may not understand, @RagaRBM understands totally and I have some fancy gifs for the rest:
simply loop: http://gfycat.com/MelodicMessyBinturong
grid example: http://gfycat.com/ValuableAridHoneycreeper
phased facades example: http://gfycat.com/BitterOddHarrier

commented

This is going to be fixed. Don't worry.

commented

Thanks Adrian :).

commented

We're gonna link this to #2089 as it's about the same thing.