The bug
You cannot use fireworks to boost while you fly with an elytra if your entity id is 0, which is typically right after you started the game.
How to reproduce
Start the game
Open a world with no other entities
Start flying with an elytra and try to use fireworks to boost
→ The fireworks are used but fly straight in the air even if you are not right clicking a block
Code analysis
Based on 1.11.2 decompiled using MCP 9.35 rc1
The data parameter net.minecraft.entity.item.EntityFireworkRocket.field_191512_b
stores the entity id of the entity being boosted. The problem is that it treats 0 as not set, but stores the entity id without adding 1. Therefor a player with entity id 0 will not be boosted.
Linked issues
is duplicated by 46
relates to 2
Comments 21
I have the same issue but only on old worlds. Maybe it is by design, because they removed the Mending/ Infinity combo?
Video: https://youtu.be/0Tpta3dRZv4
A reload of the world fix this.
This bug does not only affect the first player that enters the game. After about two weeks of running a busy server, the entity IDs will overflow, which results in no player being able to use fireworks. Negative entity IDs are also ignored by this function (from 1.12.1 decompiled with MCP):
public boolean isAttachedToEntity() {
return ((Integer)this.dataManager.get(BOOSTED_ENTITY_ID)).intValue() > 0;
}
so annoying.. I really wanted to try the new feature but it wouldn't work..
Windows 10 Home
Intel Core i7