What is the simplest observer/piston contraption that won't loop?

I've tried to figure this one out on my own, but every configuration I can think of has the piston re-triggering the observer, which re-triggers the piston, etc. Very noisy.

I've tried googling, but 95% of the relevant links are videos, and the videos inevitably either talk about Pocket Edition exclusively (not sure the same mechanics apply), are months old from when the feature was beta testing, or are aggrandizing where the machine is as large as possible.

Since the observer block and the piston will either be at right angles to each other, or facing one another, redstone dust wires seem inevitable (correct me if I'm wrong on that). Wires just delay the signal even more, making the problem worse, not better. Repeaters would seem to have the same issue.

I know I'm using these wrong (made the first one last night... scary run into the nether just to get the quartz with little armor/iron). What's the trick?


Solution 1:

I'm assuming you are doing something like checking whether a melon has grown, and pushing it out of the way if it has. When I was playing around with using an observer for this I used a pulse limiter with an input pulse longer than the time it takes for the piston to extend and retract so that the second trigger of the observer is effectively discarded.

enter image description here

Solution 2:

It very much depends on what you're trying to observe.

If it's to watch arrival/appearance of a full block, this is the simplest:

enter image description here

Any full block will make the wall to connect to it. The observer will notice it and push. Piston head, as a non-full block won't impact the wall.

If you're farming melons/pumpkins, it's best to observe the stem instead.

enter image description here

If you want to observe anything happening in front of the piston, it's easiest to use a trivial pulse divider / T flip-flop, that will simply drop every other pulse from the observer - the signal from the piston head discarded. These two provide this observing from a side or from above (the version 'from below' will be just mirrored vertically).

enter image description here

Finally, if you're strapped for space in the observed area, you can do away with the observer entirely, and use block update detection to make the piston double as observer of any changes around it. This example contraption will make the bottom piston trigger and push if you place any block in front of it.

enter image description here enter image description here