Dispensers can't be pushed by pistons.
Related issues
is duplicated by
Comments


The question is why can't tile entities be pushed by pistons? I've never seen an answer to that, just the repeated statement that they can't. Yes, pistons use tile entities themselves for the block being moved, but the NBT format has a compound type that should allow the piston to package up the tile entity of the block being moved, then unpack and recreate the tile entity at the destination. Or just change the X, Y, and Z values of the tile entity to match the new position.
So was it a deliberate, game-balance sort of choice that blocks with tile entities cannot be moved by pistons, or something that just seemed like too much work to implement?

It would be somewhat difficult to retain parameters of the tile entities, such as contents of the object or the specified output (in the case of the note block).

But why would it be difficult? I've only given the code a cursory look, but it seems as simple as changing the X, Y, and Z fields in the related tile entity. It's not clear if it's a mapping issue, a serialization issue, a transactional issue, etc. I'm not saying it's simple, just that it looks simple, so it would be nice to have an explanation why it's not, if that's the case.

This mod moves tile entities, vanilla and mod, so it's possible. Its source is available and its license is permissive.
http://forums.technicpack.net/threads/1-5-x-redstone-in-motion-redpower-frames-1-2-0-0-july-7.47048/

please reopen. just because the workaround works as intended, doesn’t mean the behavior is set in stone.
maybe it’s difficult, and the current implementation provided an easy way to implement pistons at the time, without spending too much time on a corner case like this. but it’s fact that the current behavior (with that workaround in place) isn’t a rule of nature or otherwise impossible to change, and neither has it any lore/logic demanding it. it’s possible to fix and minecraft would improve by fixing it.
so this is still a bug. maybe not one that’s intended to be fixed in the near future, but a bug nonetheless, and has to be open until it’s fixed.

Only Mojang can determine what's a bug, and what's working as intended. It's unfortunate that they haven't elaborated on whether this particular decision is due to difficulty of implementation, performance, or gameplay balance, but there's no use arguing about it here. If would be better if someone articulated a case for this change on the suggestions forum or subreddit.

Only Mojang can determine what's a bug, and what's working as intended.
if it’s unclear, yes. but in this case, it’s clearly a workaround, which i will now logically derive.
obsidian is intended to be a piston extension stopper. it had that property in the original piston mod and has it now, without being a tile entity
the other blocks (as this bug title says) all have the property of being a tile entity. we know that moving the data isn’t trivial, but not impossible because
pistons work by saving the block ids of the pushed block in their own tile entities during pushing, which makes dealing with the pushed block’s tile entities nontrivial, but
notch doesn’t think it’s difficult, and it has been implemented in the original piston mod
⇒ it’s a workaround, no gameplay decision or performance issue.
furthermore, any workaround which is clearly only in place due to difficulties in implementation is a bug unless it ascended to a feature (e.g. if the workaround would have enabled something else). the case of an “ascended workaround” isn’t given, since obsidian is the only block clearly intended to inhibit piston extension. all other blocks have that property just because they have tile entities which are difficult to move.
⇒ it’s a bug, and no ascended bug which has become a feature.
so logic demands that this bug is marked as such. if you have an actual argument that i haven’t considered, please name it. but since your only argument was “we don’t know the reason for this behavior, only mojang can tell it to us”, and i have just inferred the exact reason from the information we have, there is no argument against reopening left.
in case all this sounds arrogant or otherwise inappropriate to you, please don’t interpret it as such: i’m no native english speaker and i often come over as rude if i just want to be direct.

I don't think you quite understand the meaning of the words "intended" and "workaround". When I said that only Mojang can determine what's a bug, and what's intended, I didn't mean that they had special knowledge. I meant that by definition, it is their prerogative to call any behavior a bug or intended. If they wanted, they could call the game crashing intended behavior, and in some cases, they actually have done just that. The user's perspective as to whether a behavior is desirable or undesirable is irrelevant. If they want to say that pistons being unable to push tile entities is intended behavior, then they don't have to justify it.
I agree that all evidence (including notch's tweet, and that there are mods that already do it) suggests that this behavior would not be particularly difficult to change. I certainly would like it if pistons could push tile entities, both because it would be useful, and because it would be less confusing. The average player isn't going to even know what a tile entity is, let alone which blocks have tile entities, and that the reason they can't push some blocks is because they have tile entities. However, it's not me that has to be convinced, but Mojang. Someone is going to have to convince them that it would be good for the game, and worth doing. Arguing over whether or not it's a bug is futile.
It is frustrating that one mod says they would leave it open for Mojang to decide, and then another comes along and closes it. It's possible that a Mojang employee told them to, but that was not made clear. Regardless, there are other avenues to pursue this (the aforementioned suggestions forum and subreddit).

I meant that by definition, it is their prerogative to call any behavior a bug or intended.
so it has to be reopened anyway, because there was no reason for changing its status to “works as intended” in the first place. (default to open until we hear from mojang, since closed bugs are “off the charts” and don’t get looked at)
WaI.

Thanks for clarifying that, Grum. Any chance you could elaborate as to the reason why? Even an answer as simple as Difficulty/Performance/Game balance, or some combination of the tree (or whatever it may be) would be appreciated, and help people know whether or not to pursue this elsewhere.

This was implemented in bedrock edition, so it's not impossible to make pistons move tile entities

In Bbedrock Edition tile entities is writen by json file format In Java Edition tile entities is writen on ".minecraft/saves/[save name]/region/r.*.*.mca"

@unknown. Mojang on feedback site says: "Java and Bedrock will not have the exact same the same redstone systems", so we may never get movable tile entities in Java Edition.
This is not a bug - Dispensers are Tile Entities, and can't be pushed by pistons. That is the limitation of pistons. Will leave this open in case a Mojang employee wants to take a look at it.