mojira.dev
MC-91522

Shulker rendering position desync and generates ghost shulker when destroying shulker-ridden boat or minecart

The shulker appears to end up below the boat, but it actually exited to the side.

Video:
https://www.youtube.com/watch?v=kWG73Q3GI-Q

Also affects minecarts.

19w34a update:
Sometime shulker drop off position is still at the bottom of the boat.


Code analysis by @unknown can be found in this comment.

Linked issues

Attachments

Comments 10

Please attach a video of this issue.

  • New video. 🙂

Confirmed and edited description. Is there a way to reproduce this with minecarts?

Now(15w45a) seems difficult to prove in minecart.
Probably because MC-88336 / MC-92165

Please link to this comment in the description

The following is based on a decompiled version of Minecraft 1.10 using MCP 9.30.

This happens because the method net.minecraft.entity.monster.EntityShulker.setPositionAndRotationDirect(double, double, double, float, float, int, boolean) overrides its parent method to not set the correct position.

Note: Client-side the shulker will still appear for some ticks in the ground. This happens because the boat sets offsets the y position of the shulker by -0.1, as the shulker has no y offset (see MC-90084). This means its y value will be .9 of the block below.

Re-occurred at 19w45b.
But not easy to reproduce.

I can't seem to reproduce this issue in 20w06a.
If someone successfully reproduces this issue, please reply below and the issue will be reopened.

Mobs now dismount vehicles only in front of the boat.

Sometimes when testing MC-174216, this issue still appears.

[Mod]Les3awe

(Unassigned)

Confirmed

Mob behaviour

boat, desync, minecart, position, rendering, shulker

Minecraft 15w44a, Minecraft 15w44b, Minecraft 15w45a, Minecraft 15w46a, Minecraft 15w47a, ..., 1.16.3, 1.16.4 Pre-release 1, 1.16.4 Release Candidate 1, 1.16.4, 20w45a

19w39a, 20w10a, 21w03a

Retrieved