The bug
Phantoms deal less damage in 1.14+ than in 1.13.2. This damage change does not appear to be mentioned in any changelogs and therefore could be unintentional.
Difficulty | Damage in 1.13.2 | Damage in 1.14+ |
---|---|---|
Easy | 4 (2 hearts) | 2 (1 heart) |
Normal | 6 (3 hearts) | 2 (1 heart) |
Hard | 9 (4.5 hearts) | 3 (1.5 hearts) |
How to reproduce
Summon a phantom with a spawn egg or
/summon phantom
Switch to
/gamemode survival
while not wearing any armor or under the Resistance effect
→ Observe the damage done by the attacking phantom
Linked issues
is duplicated by 1
relates to 2
Comments 29
More information, the same bug also applies to Skeletons with their bow removed. 1.14+ damage is less than 1.13.2.
My guess as to what's going on:
Phantoms set their attack damage to 6 + size
in updatePhantomSizeInfo()
, which is called by onSyncedDataUpdated()
if the size tag is being modified. When a phantom is spawned, the constructor calls defineSynchedData()
which sets the size to 0 using SynchedEntityData.define()
(which doesn't seem to call onSyncedDataUpdated()
). The attack damage attribute is then registered with the default value of 2. Finally, the size is set to 0 again with SynchedEntityData.set()
, which calls onSyncedDataUpdated()
only if the new value is different; since it's the same, the method is skipped and the default attack damage is not overridden.
This can be seen in-game by changing a phantom's size to a different value (e.g. with /data modify entity @e[type=phantom,limit=1] Size set value 1
) and back to 0; it will now do the old damage.
This is likely to have been introduced as a result of the fix of MC-135247; newly-spawned phantoms did 6 damage in 19w07a but 2 damage in 19w08a.
Can confirm that the damage is different in 1.14+ than in 1.13.2, at least for phantoms spawned through spawn eggs or commands. I added some more information to the description and title.