mojira.dev
MC-5726

Sticky pistons do not retract a block which they have pushed when given a short pulse

Resolution note

@unknown resolved this report as "Works As Intended". He also commented roughly one year later as response to the following:

Panda4994 (source):

I always viewed the breaking of the sticky piston connection as inertia, and taking away the block teleportation part, I don't think this behaviour is buggy at all.

Jeb (source):

The reason why the piston behavior "technically a bug" is because the block in front of the sticky piston is supposed to act as if fixated to the piston. Your interpretation as "it's inertia" actually makes sense.

The bug

When a sticky piston is powered with a very short pulse ("0-tick pulse"), it will push the block, but not retract it.

To reproduce

Build the contraption in this screenshot:

[media]

The redstone block will not be pulled back.

After 1.14, it is also possible to reproduce this by placing a button on the side of a sticky piston, and press the button to move a block.

Linked issues

MC-5763 strange piston behavior with redstone blocks Resolved MC-5862 Pistons retract when powered by a block they're pushing with pulling block back Resolved MC-6092 When powering a sticky piston with a redstone block the piston retracts without pulling the redstone block Resolved MC-8752 Piston Problem Resolved MC-9033 Sticky pistons occasionaly do not retract a block which they have pushed Resolved

Attachments

Comments 16

It's ordinary for sticky pistons to do this when powered for a single tick, and is in fact crucial to many designs (I think Mojang has stated that this is considered a feature). You can achieve the same results by placing an ordinary block in that location, and using another repeater and a torch to push power into it.

Oh, I gotcha. In that case I'll close this up, if possible.
Edit: Doesn't seem like I can. Shoot.

Ok, tested for ~4 hours here using a standard ender-ender, with a command block killing all enderman every ~45 seconds. For those interested, the design alternates redstone with repeaters to ensure each piston fires individually. After 4 hours I found a total of 9 (out of 272) pistons that had not retrieved their block, all of which were just the redstone, none with the repeater if that makes sense. What this tells me is that if for some reason the piston is set off for just one block (as WolfieMario says) is setoff for just one tick, it leaves the block, while 99% of the time the pressure plates on mob farms give at least two ticks and thus don't leave the block. Based on this, my initial thinking is that if mobs land just barely on the edge of the pressure plate, they get a single tick and leave the block, otherwise they last long enough the piston retracts.

As far as fixes go, either a player needs to take this into account and use a repeater going into pistons everywhere this happens (and thus 3x the redstone), or some sort of more complex and/or accurate (depending on perspective) timer on the pressure plates. While the latter might be easier in theory for the player, I'm going to switch all of my farms to all repeaters and no single-pieces of redstone to work around this at least for now, despite the cost.

Further input/testing welcome of course...

Carl Bryan Samson

This is actually not a bug but a 'feature', it is actually meant to be like this.

Do you have a link to an official statement to back that up? It's not even documented on the wiki.

6 more comments

@unknown and @unknown The ticket has been flagged for review by Mojang to determine if it is an intended (or now desired) feature, it is up to them to make that decision.

Just because a few people use it doesn't mean it should stay in the game. It doesn't make any sense storyline-wise, why would sticky pistons stop being sticky for a moment? And while it can be helpful in some cases, it causes more problems than it solves.

https://xkcd.com/1172/

I can tell you a TON of people use this. TONS. However, no need to continue the conversation.
We will wait for Mojang.

I'm not sure why it affects you anyway. Sticky pistons can work with only sticking with anything more than a tick. Both mechanics work currently. If you'd like to continue this conversation, hit me up on twitter.

Daniel Burnett

It makes perfect sense flavor-wise; a quick pulse pulls so hard it detaches the block, like a fast tug. That said, gameplay is more important than realism, so it doesn't matter if it "makes sense" as long as it's useful. In most cases, if you're getting a 1-tick-pulse into a sticky piston, it's because you're trying to cause this behavior. And it's used a lot, for example as a form of T-flip-flop. So, yeah, I'm glad it's marked as WAI because if it changed, it'd break builds, whereas having it in doesn't break anything.

I edited the ticket for better searchability. This does not change anything about the fact that this behaviour is intended.

Jake

Jens Bergensten

Confirmed

clock, grab, pull, pulse, rapid, redstone, redstone_block, retract, sticky_piston, tick

Snapshot 13w01a, Snapshot 13w05b, Minecraft 1.5, Snapshot 13w11a, Minecraft 1.7.5, Minecraft 14w11b, Minecraft 1.8.2-pre4, Minecraft 1.11.2

Retrieved