The bug:
Some damage type death messages expect two variables for the translation: one for the victim and one for the killer. In vanilla, this always works fine, but with /damage
, it's possible to deal damage of this type without a killer. In this case, due to the recent changes to out of bounds variables, the message is printed without any variable substitution.
How to reproduce:
/damage @s 30 fireball
Prints "%1$s was fireballed by %2$s"
Expected result:
The message should output either: "[username] was fireballed by a command" or "[username] was fireballed by %2$s"
Linked issues
is duplicated by 8
relates to 1
Attachments
Comments 7
@LakeJason
The message output for that would be "[player] was pummeled by [player/entity]"
I think that exact message didn't load properly.
You're not providing the variables the death message requests, as such they are missing. Since a prior snapshot, out of bounds variables are no longer empty strings and print the variable marker instead.
What makes you expect it to print "intentional game design"? That's not set in the damage type file, so it shouldn't print that.
I know, but the weird thing is that the first entity/player in the message should output the player's username, however, it doesn't do that.
The second one might always display those "variable markers", most likely because it was triggered by a command, not another player/entity/projectile.
I said that the symbols will print if no "by" argument is used.
Btw: Thanks for the feedback!
Here's a full table of affected damage types and their corresponding displayed death messages.
Damage Type | Death Message |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/damage @s 100 thrown
also causes missing messages.