Entities are not removed client-side when you are dead
The bug
When you're dead, entities which are removed server-side remain loaded client-side. This can cause severe lag when you're working with spawners.
Note: In recent versions this changed so entity creation is not processed either while dead. This results in massive lag when respawning.
How to reproduce
- Set up an always active repeating command block with this command
/summon item ~ ~1 ~ {Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999}]}]}]}]}]}]}]}]}]} - Set your spawnpoint next to the command block
- Go stand in front of the items and kill yourself
- Wait some minutes before pressing the "Respawn" button
After the "Respawn" button is pressed the game lags (intensity depends on how long you waited)
Another way to reproduce (LAN world)
- Start Minecraft in 2 windows with both different names (so use one in offline mode)
- Start a new LAN world
- Join the LAN world with the other Minecraft window
- Set the difficulty to peaceful
- Press F3 and kill yourself using /kill
- Now start spawning a zombie with a spawn egg with the player that is still alive
→ The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that value of "All" on the debug screen is different in the two windows.
Code analysis
Based on 1.12 decompiled using MCP 9.40 PRE 1
The code to send entity destroy packets to the client is in the method net.minecraft.entity.player.EntityPlayerMP.onUpdate() which only runs if the player is alive.
20w08a Mojang name: net.minecraft.server.level.ServerPlayer.tick()
Linked Issues
is duplicated by3
relates to6
- Cannot Reproduce
Jesper the End- 29
- 14
- Confirmed
Important
- Platform
- Entities Networking Performance
- client-side death death-screen despawn entity
1.6.2 - 1.19.4
1.6.2 1.6.4 13w37a 1.7.1 1.7.2 13w47e 13w48a 13w48b 13w49a 1.7.3 1.7.4 14w11b 1.7.9 14w17a 14w18b 14w19a 14w20a 14w20b 14w21a 14w21b 14w25b 14w26b 1.7.10 14w30c 14w31a 14w32a 14w32b 14w33c 14w34a 14w34b 14w34d 1.8 1.8.1-pre3 1.8.1 1.8.2-pre1 1.10.2 16w32b 16w33a 16w36a 16w38a 16w39a 16w39b 16w39c 16w40a 16w41a 16w42a 16w43a 1.11-pre1 1.11 16w50a 1.11.2 17w06a 17w13b 17w15a 17w16b 17w17b 17w18b 1.12-pre2 1.12 1.13.1 1.13.2 18w48a 18w48b 18w49a 20w08a 1.16.2-pre1 1.16.2-pre2 1.16.2-rc1 1.16.2 20w49a 21w40a 1.19.3 23w04a 1.19.4- 14w06b
Created Issue:
Entities do not despawn when you're dead.
When you're dead, entities that despawn are still loaded.
This can cause severe lag when you're working with spawners.How to reproduce:
-start minecraft in 2 windows with both different names (so use one in offline mode)
-start a new LAN world
-join the other minecraft window
-set the gamemode to peacefull
-press F3 and kill yourself using /kill
-now start spawning a zombie with a spawn egg with the player that is still aliveThe zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that 'All' in the F3 menu is different on the 2 screens.
When you're dead, entities that despawn are still loaded.
This can cause severe lag when you're working with spawners.How to reproduce:
-start minecraft in 2 windows with both different names (so use one in offline mode)
-start a new LAN world
-join the other minecraft window
-set the gamemode to peacefull
-press F3 and kill yourself using /kill
-now start spawning a zombie with a spawn egg with the player that is still aliveThe zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that 'All' in the F3 menu is different on the 2 screens.
When you're dead, entities that despawn are still loaded.
This can cause severe lag when you're working with spawners.How to reproduce:
{Count:1,id:"diamond"}
-make a fast clock
(/setblock ~-1 ~ ~ redstone_block
and
/setblock ~1 ~ ~ stone
-spawn an item with age set to 5999:
/summon Item ~ ~1 ~ {Item:,Age:5999}
-go stand in front of the item and kill yourself
-watch the entity count go up in the debug screen.Another way to reproduce:
-start minecraft in 2 windows with both different names (so use one in offline mode)
-start a new LAN world
-join the other minecraft window
-set the gamemode to peacefull
-press F3 and kill yourself using /kill
-now start spawning a zombie with a spawn egg with the player that is still aliveThe zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that 'All' in the F3 menu is different on the 2 screens.
When you're dead, entities that despawn are still loaded.
This can cause severe lag when you're working with spawners.How to reproduce:
{Count:1,id:"diamond"}
-make a fast clock
(/setblock ~-1 ~ ~ redstone_block
and
/setblock ~1 ~ ~ stone
-spawn an item with age set to 5999:
/summon Item ~ ~1 ~ {Item:,Age:5999}
-go stand in front of the item and kill yourself
-watch the entity count go up in the debug screen.Another way to reproduce:
-start minecraft in 2 windows with both different names (so use one in offline mode)
-start a new LAN world
-join the other minecraft window
-set the gamemode to peacefull
-press F3 and kill yourself using /kill
-now start spawning a zombie with a spawn egg with the player that is still aliveThe zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that 'All' in the F3 menu is different on the 2 screens.
When you're dead, entities that despawn are still loaded.
This can cause severe lag when you're working with spawners.How to reproduce:
- Set up a Repeat Always
/summon item ~ ~1 ~ {Item:{Count:1,id:"diamond"},Age:5999}- go stand in front of the item and kill yourself
- watch the entity count go up in the debug screen.
Another way to reproduce:
-start minecraft in 2 windows with both different names (so use one in offline mode)
-start a new LAN world
-join the other minecraft window
-set the gamemode to peacefull
-press F3 and kill yourself using /kill
-now start spawning a zombie with a spawn egg with the player that is still aliveThe zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that 'All' in the F3 menu is different on the 2 screens.
When you're dead, entities that despawn are still loaded.
This can cause severe lag when you're working with spawners.How to reproduce:
Set up aRepeat Always/summon item ~ ~1 ~ {Item:{Count:1,id:"diamond"},Age:5999}- go stand in front of the item and kill yourself
- watch the entity count go up in the debug screen.
Another way to reproduce:
-start minecraft in 2 windows with both different names (so use one in offline mode)
-start a new LAN world
-join the other minecraft window
-set the gamemode to peacefull
-press F3 and kill yourself using /kill
-now start spawning a zombie with a spawn egg with the player that is still aliveThe zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that 'All' in the F3 menu is different on the 2 screens.
When you're dead, entities that despawn are still loaded.
This can cause severe lag when you're working with spawners.How to reproduce:
- set up an Always Active Repeat command block with this command:
/summon item ~ ~1 ~ {Item:{Count:1,id:"diamond"},Age:5999}- go stand in front of the item and kill yourself
- watch the entity count go up in the debug screen.
Another way to reproduce:
- start minecraft in 2 windows with both different names (so use one in offline mode)
- start a new LAN world
- join the other minecraft window
- set the gamemode to peacefull
- press F3 and kill yourself using /kill
- now start spawning a zombie with a spawn egg with the player that is still alive
The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that 'All' in the F3 menu is different on the 2 screens.
is duplicated by
relates to
is duplicated by
relates to
is duplicated by
relates to
relates to
When you're dead, entities
that despawn are still loaded.
This can cause severe lag when you're working with spawners.How to reproduce:
- set up an Always Active Repeat command block with this command:
/summon item ~ ~1 ~ {Item:{Count:1,id:"diamond"},Age:5999}- go stand in front of the item and kill yourself
- watch the entity count go up in the debug screen.
Another way to reproduce:
- start minecraft in 2 windows with both different names (so use one in offline mode)
start a new LAN worldjoin the otherminecraft windowset the gamemode to peacefull- press F3 and kill yourself using /kill
- now start spawning a zombie with a spawn egg with the player that is still alive
The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that 'All' in the F3 menu is different on the 2 screens.
The bug
When you're dead, entities which are removed server-side remain loaded client-side.
This can cause severe lag when you're working with spawners.How to reproduce
- Set up an always active repeating command block with this command
/summon item ~ ~1 ~ {Item:{id:"diamond",Count:1b},Age:5999}- Open the debug screen (F3)
- Go stand in front of the items and kill yourself
→ The entity count in the F3 screen goes upAnother way to reproduce (LAN world)
- Start Minecraft in 2 windows with both different names (so use one in offline mode)
- Start a new LAN world
- Join the LAN world with the other Minecraft window
- Set the gamemode to peaceful
- Press F3 and kill yourself using /kill
- Now start spawning a zombie with a spawn egg with the player that is still alive
→ The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that value of "All" on the debug screen is different in the two windows.Code analysis
Based on 1.12 decompiled using MCP 9.40 PRE 1
The code to send entity destroy packets to the client is in the method net.minecraft.entity.player.EntityPlayerMP.onUpdate() which only runs if the player is alive.
Entitiesdonotdespawnwhen you're dead.Entities are not removed client-side when you are dead
The bug
When you're dead, entities which are removed server-side remain loaded client-side.
This can cause severe lag when you're working with spawners.How to reproduce
- Set up an always active repeating command block with this command
/summon item ~ ~1 ~ {Item:{id:"diamond",Count:1b},Age:5999}- Open the debug screen (F3)
- Go stand in front of the items and kill yourself
→ The entity count in the F3 screen goes upAnother way to reproduce (LAN world)
- Start Minecraft in 2 windows with both different names (so use one in offline mode)
- Start a new LAN world
- Join the LAN world with the other Minecraft window
- Set the
gamemodeto peaceful- Press F3 and kill yourself using /kill
- Now start spawning a zombie with a spawn egg with the player that is still alive
→ The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that value of "All" on the debug screen is different in the two windows.Code analysis
Based on 1.12 decompiled using MCP 9.40 PRE 1
The code to send entity destroy packets to the client is in the method net.minecraft.entity.player.EntityPlayerMP.onUpdate() which only runs if the player is alive.
The bug
When you're dead, entities which are removed server-side remain loaded client-side.
This can cause severe lag when you're working with spawners.How to reproduce
- Set up an always active repeating command block with this command
/summon item ~ ~1 ~ {Item:{id:"diamond",Count:1b},Age:5999}- Open the debug screen (F3)
- Go stand in front of the items and kill yourself
→ The entity count in the F3 screen goes upAnother way to reproduce (LAN world)
- Start Minecraft in 2 windows with both different names (so use one in offline mode)
- Start a new LAN world
- Join the LAN world with the other Minecraft window
- Set the difficulty to peaceful
- Press F3 and kill yourself using /kill
- Now start spawning a zombie with a spawn egg with the player that is still alive
→ The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that value of "All" on the debug screen is different in the two windows.Code analysis
Based on 1.12 decompiled using MCP 9.40 PRE 1
The code to send entity destroy packets to the client is in the method net.minecraft.entity.player.EntityPlayerMP.onUpdate() which only runs if the player is alive.
is duplicated by
The bug
When you're dead, entities which are removed server-side remain loaded client-side.
This can cause severe lag when you're working with spawners.How to reproduce
- Set up an always active repeating command block with this command
/summon item ~ ~1 ~ {Item:{id:"diamond",Count:1b},Age:5999}- Open the debug screen (F3)
- Go stand in front of the items and kill yourself
→ The entity count in the F3screen goes upAnother way to reproduce (LAN world)
- Start Minecraft in 2 windows with both different names (so use one in offline mode)
- Start a new LAN world
- Join the LAN world with the other Minecraft window
- Set the difficulty to peaceful
- Press F3 and kill yourself using /kill
- Now start spawning a zombie with a spawn egg with the player that is still alive
→ The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that value of "All" on the debug screen is different in the two windows.Code analysis
Based on 1.12 decompiled using MCP 9.40 PRE 1
The code to send entity destroy packets to the client is in the method net.minecraft.entity.player.EntityPlayerMP.onUpdate() which only runs if the player is alive.
The bug
When you're dead, entities which are removed server-side remain loaded client-side. This can cause severe lag when you're working with spawners.
How to reproduce
- Set up an always active repeating command block with this command
/summon item ~ ~1 ~ {Item:{id:"diamond",Count:1b},Age:5999}- Open the debug screen (F3)
- Go stand in front of the items and kill yourself
→ The entity count in the F3 screen goes upAnother way to reproduce (LAN world)
- Start Minecraft in 2 windows with both different names (so use one in offline mode)
- Start a new LAN world
- Join the LAN world with the other Minecraft window
- Set the difficulty to peaceful
- Press F3 and kill yourself using /kill
- Now start spawning a zombie with a spawn egg with the player that is still alive
→ The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that value of "All" on the debug screen is different in the two windows.Code analysis
Based on 1.12 decompiled using MCP 9.40 PRE 1
The code to send entity destroy packets to the client is in the method net.minecraft.entity.player.EntityPlayerMP.onUpdate() which only runs if the player is alive.
relates to
The bug
When you're dead, entities which are removed server-side remain loaded client-side. This can cause severe lag when you're working with spawners.
How to reproduce
- Set up an always active repeating command block with this command
/summon item ~ ~1 ~ {Item:{id:"diamond",Count:1b},Age:5999}- Open the debug screen (F3)
- Go stand in front of the items and kill yourself
→ The entity countin the F3 screen goes upAnother way to reproduce (LAN world)
- Start Minecraft in 2 windows with both different names (so use one in offline mode)
- Start a new LAN world
- Join the LAN world with the other Minecraft window
- Set the difficulty to peaceful
- Press F3 and kill yourself using /kill
- Now start spawning a zombie with a spawn egg with the player that is still alive
→ The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that value of "All" on the debug screen is different in the two windows.Code analysis
Based on 1.12 decompiled using MCP 9.40 PRE 1
The code to send entity destroy packets to the client is in the method net.minecraft.entity.player.EntityPlayerMP.onUpdate() which only runs if the player is alive.
The bug
When you're dead, entities which are removed server-side remain loaded client-side. This can cause severe lag when you're working with spawners.
Note: In recent versions this changed so entity creation is not processed either while dead. This results in massive lag when respawning.
How to reproduce
- Set up an always active repeating command block with this command
/summon item ~ ~1 ~ {Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999,Passengers:[{id:item,Item:{id:stone_sword,Count:1b},Age:5999}]}]}]}]}]}]}]}]}]}- Set your spawnpoint next to the command block
- Go stand in front of the items and kill yourself
- Wait some minutes before pressing the "Respawn" button
After the "Respawn" button is pressed the game lags (intensity depends on how long you waited)
Another way to reproduce (LAN world)
- Start Minecraft in 2 windows with both different names (so use one in offline mode)
- Start a new LAN world
- Join the LAN world with the other Minecraft window
- Set the difficulty to peaceful
- Press F3 and kill yourself using /kill
- Now start spawning a zombie with a spawn egg with the player that is still alive
→ The zombies will disappear on the window with the player that is alive but they won't on the screen of the dead player. You can also see that value of "All" on the debug screen is different in the two windows.Code analysis
Based on 1.12 decompiled using MCP 9.40 PRE 1
The code to send entity destroy packets to the client is in the method net.minecraft.entity.player.EntityPlayerMP.onUpdate() which only runs if the player is alive.
20w08a Mojang name: net.minecraft.server.level.ServerPlayer.tick()
Is this still a concern in the current Minecraft version 1.7.2 / Launcher version 1.3.4 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
confirmed
Is this still a concern in the current Minecraft version 14w06b / Launcher version 1.3.8 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
nope, seems to be fixed
ok wait, it actually isn't fixed. Can someone reopen this? Here's a new way to reproduce:
{Count:1,id:"diamond"}-make a fast clock
(/setblock ~-1 ~ ~ redstone_block
and
/setblock ~1 ~ ~ stone
-spawn an item with age set to 5999:
/summon Item ~ ~1 ~ {Item:
,Age:5999}
-go stand in front of the item and kill yourself
-watch the entity count go up in the debug screen.
This still isn't fixed, can a mod reopen this report?
This is still a problem. Confirmed for 14w19a
Reopened.
I can see why this causes much lag, +vote
Confirmed for 14w20b
Confirmed 14w21b
Confirmed for 14w26b
Confirmed 14w31a
Confirmed 14w32a
Confirmed for 14w34b
Confirmed for 14w34d
confirmed for pre3
Still in 1.8.2-pre1
Confirmed for 1.13.1
Cannot reproduce in 20w08a using the singleplayer reproduction steps. Is someone else still able to reproduce it?Nevermind, it appears now the client is not processing the entity creating packets either resulting in them piling up and causing massive lag when respawning.
Can confirm in 21w40a. Side note: the log also spams "Received passengers for unknown entity" for whatever reason as well.
Can confirm in 1.19.3 and 23w04a
This appears to no longer happen.