mojira.dev
MC-8328

Powered mechanisms react when receiving a 0 tick redstone signal (existence of micro-pulses in general / inconsistent block update 'algorithm')

When a piston receives a 0 tick redstone signal it pulses instead of staying in the current state. Before 1.3.1 pistons would turn into derp pistons but now they pulse which is equally annoying. It destroys piston based logic (most importantly instant logic).
It is pretty easy to recreate this bug: Just connect a input with a 1 tick delay (repeater) and the inverted input (1 redstone torch = 1 tick delay) to a piston and switch the state of the input.

Update 1.5.1:
For pistons this bug is still not completely fixed because when receiving a 0 tick redstone signal from other pistons (e.g. in instant logic) a piston will still pulse sometimes depending on how the redstone gets updated.

Edit, 16-MAR-2016: It would be really nice if 0-tick/micro pulses (or as Dico has correctly said years ago, non-existing pulses in Minecraft terms) would finally be patched out of the game and if the game was able to handle actual simultaneity. So a proper/intelligent block update algorithm with a consistently synced quantized timeline instead of random Java hashsets and micro time-intervals, which would allow multiple blocks (that interact with eachother) to be updated all in the same gametick into their correct new stages (instead of purely successive block updates which leads to wrong/unintended behaviour).
To replicate it, OR the input of an instant NOT gate (http://youtu.be/vCsJWc7PcT0) and it's output together and attach it to another piston. Toggle the input and the piston will pulse even though it shouldn't. It usually only happens on the falling edge (lever going from on to off) because the block that gets pulled by the piston (and by that allows a new connection to a powersource) gets updated after the line of redstone that is directly connect to the lever, which leads to a combined output that pulses for a split second. It does not affect all positions/placements because of the location dependent nature of block updates in Minecraft.
With the use of instant ALUs, we could build 5Hz CPUs (maybe with small games running on it) and other very cool things but this completely illogical bug doesn't seem to get the attention it needs.

I suggest a server command / gamerule to switch between the current (unintended) behaviour and the fixed/intended behaviour so that contraptions of people using microticks can remain working.
More info in the last few comments.

Linked issues

MC-12678 Rapid Fire Redstone Connecting to Pistons Creates a Graphical Glitch Resolved MC-16814 Piston appears to be retracted AND extended when rapidly changing the signal strength Resolved MC-26849 Nanoticks in 1.6.2 Resolved MC-28260 Redstone Resolved MC-47101 Piston texture issue when using a super fast command block pulse Resolved

Attachments

Comments 67

DicoTheRedstoner

I've also seen this before, try to put the piston on a different location, its the order minecraft updates.
Also, there is no 0 tick pulses. a 0 tick pulse is no pulse

Henrik Lindström

Hi dico 😛
A 0 tick pulse would be a signal that turns on and off in the same tick.
And as dico said, it depends on if the repeater or the torch updates first.

Very annoying though as it breaks alot of instant piston logic 😞

Vincent Wiltschek

Yes, I know it's a special case of the old update bug. But since they are currently fixing these bugs (especially those related to pistons) I wanted to make sure that they know about this one.

Confirmed and applies to all powered mechanisms, attached screenshot for reference: flipping the lever up results in the piston "reacting", while flipping the lever down nothing happens.

Affects 13w09b.

57 more comments

This should be fixed, for feature parity. Similarly, quasi-connectivity should be removed from Java or added to Bedrock.

The 0 tick is a parity for java. It’s a weird mechanic that allows a block to be extended and not get pushed back. Who knows of Mojang will fix this in the future or bring this to bedrock.

In 1.16.2 RC-1

Can confirm in 1.17.

Can confirm in 1.17.1 Release Candidate 1.

Vincent Wiltschek

(Unassigned)

Confirmed

Platform

Normal

Block states, Redstone

redstone

Snapshot 13w03a, Snapshot 13w04a, Snapshot 13w09a, Snapshot 13w09b, Snapshot 13w10b, ..., 1.17, 1.17.1 Release Candidate 1, 1.17.1, 1.19.3, 1.21.3

Snapshot 13w09c

Retrieved