The bug
There are a number of things whose movement isn't based on tick speed, instead moving in real time. This means that when there is large tick lag, some things will behave oddly. There are 2 different categories of these:
1. Most of these just appear to move too fast, but actually don't. They will render as though in their new position, but are actually where they should be. Some of them can appear glitchy, sometimes appearing to snap back to their true location or disappearing for a while. Others appear perfectly normal:
Glitchy:
Daylight cycle
Bottle O' Enchanting
Arrow
Thrown Potions
Snowball
Fireballs
Small Fireball
Firework rocket
Shulker bullet
Normal:
XP Orbs
FallingSand
Dropped items
Dynamic block textures
Dynamic entity skins
Particles
2. Then there are the ones that actually do move based on real time, therefore becoming out-of-sync with other game objects if there is a large amount of tick lag:
World border
Player movement and actions
Boat movement with player mounted
Horse movement with player mounted
Player placing/destroying blocks
Notably, minecarts with a player mounted work as they should, along with regular mob movement, status effect duration, and other things.
An easy way to induce tick lag with no frame lag is to summon a few entities and put "execute @e ~ ~ ~ testfor @e" on a clock. Be careful not to have too many, as too much lag can corrupt the world.
Linked issues
relates to 3
Comments 13
This is caused by the client assuming the server to run at 20 ticks. This is an integral part of a smooth gameplay experience.
But the problem is that it's inconsistent. Some things, like mob movement, slow down when tick speed is lowered. Others, like arrows, don't. If they all worked the same way, fine, but it's the inconsistency that's the problem.
The world border especially is a problem, since it actually moves based on real time, and therefor becomes out of sync with any redstone mechanisms going on. (Unfortunately, MC-53491 makes it pretty clear they won't fix that one.)
Affects 1.18-pre1
Another side effect of the world border moving in real time is that it can move while the world is still loading, effectively jumping a big distance even though the world isn't even ticking yet.
1."Player placing/destroying blocks" and "Player movement and actions" is usually due to built-in Minecraft shader-based code. 2. This still often occurs without large tick lag. Although is way more noticeable during large tick lag though. 3. I would go under the assumption this issue is true for all versions although worst in stated versions. 4. using java arg -DspriteAtlasTextures:false also would help
Anybody still able to reproduce?