mojira.dev
MC-275397

Redstone dust doesn't update properly

I was trying out if my 4x4 piston door still works with the Redstone Experimens feature enabled. It does, but it is a bit spazzy. Which is a shame because this door is designed to be fast. After a full breakdown of the circuit, I discovered this bug is the cause of the spazziness of my door.

How to reproduce:

  1. Create and open a world with the Redstone Experiments feature enabled

  2. Build the circuit shown on the picture.

  3. Right click the lever on, and then off after a second

 

What shoud happen: As you flick the lever off, the redstone dust gets 1 pulse, then a constant power
What does happen: The redstone dust gets 2 pulses, and then gets BUD-powered in it's off state (as shown on the picture).

 

[media]

Attachments

Comments 3

I discovered that adding a piston on top of the powered redstone dust does fix it, but then the randomness of redstone plays a role due to the timing of my door. Sometimes it works, sometimes it doesn't. It bothers me a lot.

Although that is an easy fix, it is not intended behaviour. People using this circuit or similar circuits might not have the extra space available in their contraption to update that redstone dust.

Here is a simple reproduction case. Flicking the lever off causes the top wire to depower entirely, while it should reduce its strength to 14 instead.

[media]

The issue is in `ExperimentalRedstoneWireEvaluator#propagateChangeToNeighbors`. After the top wire depowers, it tries to enqueue neighboring wires, but since the block below it is not a conductor, it skips over the wire diagonally below it. This in turn means the top wire is never enqueued for turning on again. You want to make sure a wire enqueues neighbors it can provide power to, as well as neighbors it can receive power from. Removing that skip will fix this bug.

MisteryGates

Panda4994

Confirmed

Redstone

experimental_redstone

24w33a

24w34a

Retrieved