mojira.dev

Luflosi

Assigned

No issues.

Reported

MC-121196 Overloaded servers pointlessly wait up to 50 ms every couple ticks Fixed

Comments

The fix suggested in MC-121196 does resolve this issue because it updates the value of currentTime every tick.

This is probably related to MC-22147, since that bug is about entity duplication, which also duplicates the UUID of that entity. This causes multiple entities with the same UUID to exist in the world.

The following is based on a decompiled version of Minecraft 1.11 using MCP 9.35.

The reason for this is that the method net.minecraft.entity.player.EntityPlayer.getEyeHeight() returns 1.54F when the player is sneaking, whether the player is flying or not.

public float getEyeHeight() {
    float f = 1.62F;

    if (this.isPlayerSleeping()) {
        f = 0.2F;
    } else if (!this.isSneaking() && this.height != 1.65F) {
        if (this.isElytraFlying() || this.height == 0.6F) {
            f = 0.4F;
        }
    } else {
        f -= 0.08F;
    }

    return f;
}

Can reproduce in 1.11.2 using a wither (also see attachments for the setup):
1. Build a simple wither cage (with bedrock for example)
2. Summon the wither
3. Set up a dispenser with arrows or snow balls to damage the wither
4. Place a piston with a movable block in front so that the block would be where the wither can break blocks if the piston was extended
5. Connect the dispenser to a button with redstone dust and connect the piston to the button using three repeaters on maximum delay
6. Activate the button and see the missing texture when the wither breaks the moving block