[SPIGOT-6889] Fake falling block entities Created: 05/Jan/22  Updated: 03/Apr/22

Status: Open
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: David White Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: bug, entities
Environment:

Windows 10 Java Edition

Happens in both vanilla 1.18.1 client and Optifine client


Attachments: PNG File 2021-12-26_04.12.47.png     File test.nbt    
Version: This server is running CraftBukkit version 3371-Spigot-8965a50-c59b0ca (MC: 1.18.1) (Implementing API version 1.18.1-R0.1-SNAPSHOT)
Plugin: DeadlyDisasters
Guidelines Read: Yes

 Description   

I am using a plugin that spawns tornados and it creates a lot of falling blocks with high velocities, after the tornados are done the game leaves behind for each player fake buggy falling block entities that are client sided and do not go away until a relog. These are not real entities and cannot be killed with /kill



 Comments   
Comment by Marvin Rieple [ 03/Apr/22 ]

After some testing I was able to reproduce it on a vanilla server with the following command block structure.
But it is easier / faster to get this in spigot than craftbukkit / vanilla.

The issue happens when you fly behind the the falling sand so that it constantly is on the border of the tracking range and switches between being in / out of it.
When the issue happens you can see in the client log an error, that the falling block is already added to the client. I suspect therefor this is caused by a Spawn Entity packaged arriving before the Destroy Entities package.
That this issue is easier to replicate / notice on spigot can be because spigot modifies the entity tracking range.

Comment by David White [ 07/Jan/22 ]

@md_5

As I said, when lots of falling block entities with high velocities are spawned some will bug out in the air like that. I also left the name of the plugin used to create this bug but that shouldn't be necessary, just simply spawn a ton of falling block entities like this and you will see (Just make sure when you spawn them in you follow them fast to keep in your render distance)

for (int i=0; i < 10; i++)
    for (int ii=0; ii < 10; ii++)
        world.spawnFallingBlock(p.getLocation().add(10-i,5,10-ii), Material.STONE.createBlockData()).setVelocity(new Vector(2,2,2)); 
Comment by md_5 [ 05/Jan/22 ]

Reproduction code....

Generated at Tue Apr 15 09:25:29 UTC 2025 using Jira 10.3.3#10030003-sha1:d220e3fefc8dfc6d47f522d3b9a20c1455e12b7b.