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 '17 at 16:38

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 ~

| improve this answer | |
  • Would the shulker still be solid though? – Team Preverse Mar 7 '17 at 21:13
  • No the shulker switches to soft. Best answer yet though +1 – Team Preverse Mar 7 '17 at 21:15
  • The shulker stays solid while riding an armor stand. – tryashtar Mar 7 '17 at 21:54
  • I've tested this [1.11.2] and they dont stay solid. I fall right through – Team Preverse Mar 7 '17 at 22:33
  • At least its solid when its not teleporting. – Team Preverse Mar 7 '17 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 ~
| improve this answer | |
  • 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 '17 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. /-=

| improve this answer | |
  • 1
    Then why post a new answer? – Nissa Jan 4 '18 at 21:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.