Fix death messages

This commit is contained in:
Draycia 2020-05-03 06:00:53 -07:00
parent ad4193d934
commit 1b5bf59c26
3 changed files with 11 additions and 8 deletions

View File

@ -1,5 +1,6 @@
package net.minestom.server.entity;
import net.kyori.text.Component;
import net.kyori.text.TextComponent;
import net.minestom.server.MinecraftServer;
import net.minestom.server.bossbar.BossBar;
@ -247,7 +248,7 @@ public class Player extends LivingEntity {
public void kill() {
if (!isDead()) {
// send death message to player
TextComponent deathMessage;
Component deathMessage;
if (lastDamageSource != null) {
deathMessage = lastDamageSource.buildDeathScreenMessage(this);
} else { // may happen if killed by the server without applying damage
@ -257,7 +258,7 @@ public class Player extends LivingEntity {
playerConnection.sendPacket(deathPacket);
// send death message to chat
TextComponent chatMessage;
Component chatMessage;
if (lastDamageSource != null) {
chatMessage = lastDamageSource.buildChatMessage(this);
} else { // may happen if killed by the server without applying damage
@ -404,7 +405,7 @@ public class Player extends LivingEntity {
sendMessage(Chat.fromLegacyText(message, colorChar));
}
public void sendMessage(TextComponent textObject) {
public void sendMessage(Component textObject) {
sendMessageJson(Chat.toJsonString(textObject));
}

View File

@ -1,5 +1,6 @@
package net.minestom.server.entity.damage;
import net.kyori.text.Component;
import net.kyori.text.TextComponent;
import net.kyori.text.TranslatableComponent;
import net.minestom.server.entity.Entity;
@ -26,15 +27,15 @@ public class DamageType {
return new EntityProjectileDamage(shooter, projectile);
}
public TextComponent buildChatMessage(Player killed) {
return TextComponent.builder().append(TranslatableComponent.of("death."+identifier)).append(killed.getUsername()).build();
public Component buildChatMessage(Player killed) {
return TranslatableComponent.of("death."+identifier, TextComponent.of(killed.getUsername()));
}
public static DamageType fromPlayer(Player player) {
return new EntityDamage(player);
}
public TextComponent buildDeathScreenMessage(Player killed) {
public Component buildDeathScreenMessage(Player killed) {
return buildChatMessage(killed);
}
}

View File

@ -1,5 +1,6 @@
package net.minestom.server.network.packet.server.play;
import net.kyori.text.Component;
import net.kyori.text.TextComponent;
import net.minestom.server.chat.Chat;
import net.minestom.server.entity.Entity;
@ -20,7 +21,7 @@ public class CombatEventPacket implements ServerPacket {
private int duration;
private int opponent;
private int playerID;
private TextComponent deathMessage;
private Component deathMessage;
private CombatEventPacket() {}
@ -38,7 +39,7 @@ public class CombatEventPacket implements ServerPacket {
return packet;
}
public static CombatEventPacket death(Player player, Optional<Entity> killer, TextComponent message) {
public static CombatEventPacket death(Player player, Optional<Entity> killer, Component message) {
CombatEventPacket packet = new CombatEventPacket();
packet.type = EventType.DEATH;
packet.playerID = player.getEntityId();