Dispensers can't be pushed by pistons.
Linked issues
is duplicated by 28
Comments 15
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/
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.
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"
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.