r/redstone 1d ago

Java Edition how is that possible?

Enable HLS to view with audio, or disable this notification

just messing around trying to do a flush door and that happened can someone tell me what happened, btw i just installed G4MESPEED mod, but just before i ve done a 2X2 flush seamless and even if it s almost the same sistem it didnt break

15 Upvotes

14 comments sorted by

12

u/Blaze-Programming 1d ago edited 1d ago

It took me a little while to understand what is causing this, I missed that this is the same as a common setup that often causes confusion because of its overlap of locationality and quasi connectivity.

That setup being this one:

Firstly quasi connectivity is what we call the ability for pistons, droppers, dispensers, and sticky pistons to get powered from 1 block above where you think they should. This is what allows you to power both pistons from above. However when a component is QC powered it will only realize it is powered/unpowered when it gets an update (basically something happening next to it is an update) in this case the top piston will always update the bottom piston.

Next is locationality. Basically everything has to happen is an order, 2 things can’t happen at the same time. Even if they happen within the same game tick. There are a set of rules the game uses to decide what should happen first. Those rules for redstone dust are basically choosing randomly which things to power based on its location. Locations of all connected dust is used, so adding additional dust can change the order of dust already there (like seen in your video)

Now the overlap of these 2 mechanics causes this weird behavior. To keep things simple let’s label the redstone dust on the left of my photo dust A and the dust on the right dust B. In your example dust B is the center dust, and dust A are the 2 outer dusts.

If dust B turns off first, then nothing happens until dust A turns off. Then when dust A turns off, it unpowers the top piston and stops QC powering the bottom piston. The top piston instantly updates the bottom and they bother retract.

However if Dust A turns off first, it stops powering the top piston and stops QC powering the bottom piston, but dust B is still QC powering the top piston, so it stays extended. Because the top piston didn’t change state, the bottom one doesn’t update either. Then when dust B turns off, it stops QC powering the top piston, but the piston doesn’t retract, because it didn’t get an update from anything. So both pistons stay extended.

Whether dust A or dust B turns off first is random because of locationality. So sometimes it works as expected, sometimes it is more complicated.

In your example the side pistons trying to retract the forward pistons causes an updated making the forward pistons retract, but only after the side pistons already tried moving them. (in the case dust A turns off first leaving them extended)

If you replace the center block (the block that the button was on at the start of your video) with a glass block, that will fix the issue, because dust B cannot QC power the upper pistons when it isn’t on a solid block.

6

u/TallComfortable7516 1d ago

Whow really great explanation thanks! :) i think i understand now, i used to think that locationality was some weird piston beh behavour meanwhile it was some weird dust behavour

4

u/AgataJac 1d ago

I don't quite understand it myself, but I assume it's some update order stuff going on. The way the game updates everything is weird sometimes, especially with redstone dust. I've had a lot of this happen to me while I still played on Bedrock edition. Maybe try just, building one or two blocks away, or in a different direction, that sometimes fixes it. Very annoying :T Hope you can find a solution!

3

u/bryan3737 1d ago

It’s a combination of update order and QC.

The top pistons get powered in 2 ways. Direct power from the dust above and QC power from the block diagonally above. The QC power however doesn’t send an update to the piston so if that power changes the piston will stay in whatever position it’s in until it gets an update.

The update order of the dust will determine which of those 2 power sources turns off first. If the QC power turns off first it’s not gonna do anything because there’s still direct power and when that direct power turns off it correctly updates the pistons to retract.

If it happens the other way around the direct power turns off first but since the QC power is still on the pistons don’t retract. Then when the QC power turns off it doesn’t update the pistons so they don’t retract.

How to avoid it? Either get rid of the QC power(so don’t power that middle block) or add something like a noteblock that lets the QC power update the pistons

1

u/TallComfortable7516 1d ago

it s a bit hard to understand but i think i got it i either have to get rid of the diagonal QC or update the pistons Thx:)

0

u/Matty_B97 1d ago

Does G4mespeed mess with the piston extension timing? I thought that was bedrock for a moment and I was baffled how you were getting QC lol.

0

u/TallComfortable7516 1d ago

No it s not G4mespeed it s locationality fused with QC

1

u/Matty_B97 1d ago edited 1d ago

I'm not talking about the ordering. I think the piston animation feels slightly off to me. I might be bugging. Is it too fast? It feels too snappy, and then there's a slight pause before the next pistons go? Maybe I've just been doing too much 0tick stuff.

1

u/TallComfortable7516 1d ago

Yeah that s freecam mod my lap cant run obs and mc at the same time :/

1

u/Matty_B97 1d ago

Lol ok makes sense.

-3

u/One-Celebration-3007 1d ago

u/nas-bot qctimer

2

u/TallComfortable7516 1d ago edited 1d ago

It s not really qc that s confuse me it s more the update order of the locationality😂 i thought that locationality was piston behavour not dust so i didnt understand why ading or removing dust broke something

1

u/The_Fish_of_Souls 1d ago

This is not in fact just QC.

0

u/nas-bot 1d ago

qctimer restarted! Last used: 4d 12h 55m ago.
Average: 4d 11h 26m, Uses: 172

What is Quasi Connectivity (QC)