-
Bug
-
Resolution: Unresolved
-
None
-
1.16.3, 1.17.1
-
None
-
Vanilla Minecraft Java 1.16.3, Java 1.8.0_51 64 bit
-
Community Consensus
-
(Unassigned)
The player's Fire tag is usually -20 when not on fire. However, when entering water, it is set to 0 for 1 game tick, and then set back to -20 on the next. This happens whether the player is on fire when out of the water or not.
How to reproduce: Set up a scoreboard objective "fire" to track the Fire tag of the player, and set the display to sidebar to watch it. Set up some repeating command blocks with the commands:
/execute store result score @a fire run data get entity @p Fire (to update the "fire" objective),
/execute if score @p fire matches 1.. run [something to signal that the player is properly on fire, with Fire tag at least 1, here "playsound minecraft:block.dispenser.fail block @a"]
/execute if score @p fire matches 0 run [something else to signal that the Fire tag momentarily became 0, here "playsound minecraft:block.anvil.land block @a"]
Expected Result: When the player enters water, if they are on fire, they should be put out by setting their Fire tag to the normal -20. The Fire tag does not need to change if the player was not on fire when out of the water.
Experimental Result: The player's Fire tag is set to 0 on the tick they enter the water (whether flowing or not), but then is set back to -20 on the next tick. This does not happen with other entities: when other entities enter water, their Fire tags remain at -1 if they were not on fire and are set to -1 if they were on fire, with no tick where they are 0. Also, the player's Fire tag is not set to 0 momentarily when entering a filled cauldron or rain, other ways fire can be extinguished. However, if the player is standing in both lava and water, the Fire tag is set to 0 for every tick while the player stands in both, and it is also set to 0 when standing in both lava and a filled cauldron or lava and rain. The Fire tag is not set to 0 when in both water and fire, both a filled cauldron and fire, or in both rain and fire, but is still set to 0 momentarily when the player enters water (not a cauldron or rain) while in the fire.
In summary, the Fire tag for players (only players, not other entities) is set to 0 for one game tick when the player enters water, but not when entering a filled cauldron or rain. It is constantly 0 when standing in both lava and water, lava and a filled cauldron, or lava and rain.
This seems unintentional because it does not occur with other entities, or in other circumstances that put out fires. It could be intended as a way for mapmakers to detect when a player enters water, but this seems not useful.