So I was trying to make a plane/vehicle in Minecraft by teleporting Shulkers, using the /tp command. I made a repeating command block with this command:

/tp @e[type=Shulker] ~ ~0.1 ~

Even though they dont move the command block outputs this:

[16:34:02] Teleported Shulker to 837.5, 59.5, 176.5

So am I doing anything wrong here? Is it because the shulkers are like a block?

I really thought this would work but they just stayed there. When I changes the 0.1 to 1 they telported up really really glitchy like teleporting everywhere.

Is there any way to do this?

  • I don't think that's possible. Why not try using the /entitydata command instead with the motion tag? Might work.
    – Reflexive
    Mar 6, 2017 at 16:38

3 Answers 3


Shulkers automatically snap themselves to the grid when moved, so your teleport works, and then the shulker rounds its position and returns itself to where it last was.

Consider making it ride another entity like an armor stand, which stops this behavior.

/summon armor_stand ~ ~ ~ {CustomName:ShulkerHolder,Marker:1b,Invisible:1b,NoGravity:1b,Passengers:[{id:shulker}]}

You then teleport the armor stand like so: /tp @e[type=armor_stand,name=ShulkerHolder] ~ ~.1 ~

  • Would the shulker still be solid though? Mar 7, 2017 at 21:13
  • No the shulker switches to soft. Best answer yet though +1 Mar 7, 2017 at 21:15
  • The shulker stays solid while riding an armor stand.
    – tryashtar
    Mar 7, 2017 at 21:54
  • I've tested this [1.11.2] and they dont stay solid. I fall right through Mar 7, 2017 at 22:33
  • At least its solid when its not teleporting. Mar 7, 2017 at 22:34

The problem is your coordinates.

With a normal TP command, the location is relative to the sender. So ~ ~0.1 ~ is actually teleporting the shulker 0.1 blocks higher then the command block. And since the command block is stationary, so is the shulker.

To fix this problem, you must teleport the shulker relative to itself, using /execute:

execute @e[type=Shulker] ~ ~ ~ tp @p ~ ~0.1 ~
  • 1
    This isn't correct. /tp is teleporting relative to the target, not the sender. As a result, the shulker is teleported up 0.1 blocks from its own location each tick. /teleport is what teleports relative to the sender.
    – Skylinerw
    Mar 7, 2017 at 8:19

/summon armor_stand ~ ~ ~ {CustomName:PUT NAME HERE,Invisible:1b,NoGravity:1b,Passengers:[{id:shulker}]}

/execute @e[type=armor_stand, name=SAME NAME ABOVE] ~ ~ ~ tp @p ~# ~# ~#

So, this is really the same command that the other guy did. /-=

  • 1
    Then why post a new answer?
    – Nissa
    Jan 4, 2018 at 21:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .