mojira.dev
MC-270802

Fireworks Explosions do not render beyond 64 blocks

The Bug:
Firework explosions do not render when they occur over 64 blocks horizontally away from players. Given that fireworks are meant to be seen from distance and can be shot by a player further than 64 blocks away, I believe this to be a bug.

Steps to reproduce:

1. Fill a dispenser with exploding fireworks and create a redstone line that will activate it more than 64 blocks long

2. Observe when dispenser is activated and the player is within 64 blocks horizontally of the dispenser, dispenser shoots the firework and you can see the firework explode

3. Observe when you're beyond 64 blocks horizontally the dispenser will still shoot the firework BUT you don't see the firework explode

Videos:

Video showing 64 block rendering bug: https://www.youtube.com/watch?v=og2gY7hI77c
Flight Duration 3 Fireworks shot via Crossbow affected by the same bug: https://www.youtube.com/watch?v=JIa5z0iNmkQ

Attachments

Comments 4

Upon testing further it also does affect single player. Updated the bug report to reflect that.

Note that in the video, if a firework doesn't render, it also doesn't produce a sound; thus this is not just a rendering issue but probably something in the networking code preventing fireworks from registering at all clientside at this distance.

I've tried reproducing this in a singleplayer world in 24w18a and was unable to do so; both with crossbow and with a dispenser. I also tried opening the world to LAN, and for both the host and the guest, the firework renders beyond 64 blocks. (Important: Reducing the simulation distance has a similar effect as described in the bug report since the firework doesn't fire serverside in the first place, so when testing this bug make sure you're not going out of simulation distance.)

However, on a server I'm able to reproduce this exactly as described (simulation distance 10, default). I'm not sure if there's some extra circumstance which makes the bug appear in singleplayer as well; if there is, that might be a good hint for why this happens.

I've attached a world save to make this easier to reproduce (24w18a+):

[media]

I was able to reproduce in single player both with crossbow and dispenser in 24w18a in a fresh world (default simulation distance 12 chunks). I tried turning simulation distance down to the lowest setting (5 chunks) and it had no noticeable effect. Maybe there is something specific that triggers the bug for some in single player but not others.

Yeah, simulation distance shifts the distance to 80 blocks instead; it's just that I first thought I could reproduce it but then noticed my simulation distance was low and I was too far away.

I think I've figured it out. My entity distance was set at 500%, which means fireworks will pretty much always render. When setting it to 100% (default) I'm able to reproduce this in singleplayer too.

Servers have their own entity distance as well, and cap it to 100% by default before transferring the firework entity to the client. This can be changed via the entity-broadcast-range-percentage server property. When setting that to 500 as well, the bug is no longer reproducible on servers too.

Different entities have different default entity distances (=100%); armor stands for example never disappear regardless of entity distance from what I can tell, while sheep do at ~128 blocks. It seems like this value is just very small at 64 for fireworks, which does seem like an oversight.

If you set your client entity distance to 50% but the server is at 500%, the particles will still show up, but you won't see the rocket entity. Vice-versa you won't see anything of the shot rocket.

Jeremy

(Unassigned)

Confirmed

Platform

Normal

Networking, Particles

bedrock, firework, multiplayer, rendering

1.20.4, 1.20.5 Pre-Release 2, 1.20.5 Release Candidate 2, 1.20.5, 1.20.6, ..., 1.21.1, 24w35a, 24w36a, 1.21.8, 25w35a

Retrieved