mojira.dev
MC-9405

Top piece of staircase redstone dust doesn't power blocks on the same height in the direction it is powered from unless only connected to something on the other side

See attached screenshots. The piston is not powered by the redstone dust behind it even though the dust is pointing into the piston. The piston only becomes powered once you connect that piece of redstone dust with something else, like a lever/button/redstone dust/redstone block. This can be on the same level, below or above (if applicable). The piece of redstone dust may not be connected to anything on the side, otherwise the piston won't be powered either.

I'm not even going to attempt explaining what logic error caused this bug.

Linked issues

MC-12643 Redstone wire running through a piston doesn't extend it! Resolved MC-12811 Redstone wire running through a piston extends under certain circumstances. (see screenshots) Resolved MC-21689 piston bug with detection powered redstone wire Resolved MC-25534 Redstone dust seens to directly power block but it doesn't Resolved MC-44063 Piston/Hopper/TNT won't power(certain position) when redstone transfer upward by slab/glowstone Resolved

Attachments

Comments 12

If you place a block next to the pistons that aren't extending, do they update and extend?

No, they are not waiting for an update.

I was hoping it was a new way for a bud switch, but sadly no. lol

Added image so its clearer for you guys.

Confirmed.

2 more comments

Still a concern in 1.7.5 and 14w08a

Confirmed for 14w18a

Jens Bergensten

Won't fix because the risk is too high that something else changes behavior.

The bug is that when a block (or piston, redstone lamp, trapdoor etc) checks to see if redstone is pointing towards it
It actually checks to see if the dust is pointing away from it AND if its not pointing to the left or right
(Theres a seperate check to see if the dust is a dot, rather than a line)

A simple fix that works 100% is...

Inside the BlockRedstoneWire.class
At the bottom of the method getWeakPower()
Just below

if (side.getAxis().isHorizontal() && enumset.isEmpty()) {
                    return i;
                }
                else if (enumset.contains(side) && !enumset.contains(side.rotateYCCW()) && !enumset.contains(side.rotateY())) {
                    return i;
                }

and above

else
                {
                    return 0;
                }

add

else if (enumset.contains(side.getOpposite())) {
                    return i;
                }

(It fixes all except the slab tower, which is another bug)

[media]

Fixed 20w18a

Marc Osborne

[Mod] redstonehelper

(Unassigned)

Confirmed

Redstone

piston, redstone, redstone-wire

Snapshot 13w06a, Snapshot 13w09c, Snapshot 13w10a, Minecraft 1.5, Snapshot 13w11a, ..., Minecraft 1.8.8, Minecraft 15w40b, Minecraft 15w45a, Minecraft 1.11.2, Minecraft 17w06a

20w18a

Retrieved