diff --git a/src/main/java/in/twizmwaz/cardinal/chat/ChatConstant.java b/src/main/java/in/twizmwaz/cardinal/chat/ChatConstant.java
index 1d60f6884..585ea5fd5 100644
--- a/src/main/java/in/twizmwaz/cardinal/chat/ChatConstant.java
+++ b/src/main/java/in/twizmwaz/cardinal/chat/ChatConstant.java
@@ -312,7 +312,42 @@ public enum ChatConstant {
UI_MODE_IN_TIME("userInterface.modeInTime"),
SNOWFLAKES_SNOWFLAKE("snowflakes.snowflake"),
- SNOWFLAKES_SNOWFLAKES("snowflakes.snowflakes");
+ SNOWFLAKES_SNOWFLAKES("snowflakes.snowflakes"),
+
+ DEATH_EXPLOSION_SELF("deathMsg.explosionSelf"),
+ DEATH_EXPLOSION_PLAYER("deathMsg.explosionPlayer"),
+ DEATH_EXPLOSION("deathMsg.explosion"),
+ DEATH_CONTACT("deathMsg.contact"),
+ DEATH_DROWNING("deathMsg.drowning"),
+ DEATH_ATTACK_PLAYER_FISTS("deathMsg.attackPlayerFists"),
+ DEATH_ATTACK_PLAYER("deathMsg.attackPlayer"),
+ DEATH_ATTACK("deathMsg.attack"),
+ DEATH_FISTS("deathMsg.fists"),
+ DEATH_FALL_PLAYER_KNOCKED("deathMsg.fallPlayerKnocked"),
+ DEATH_FALL_PLAYER_SHOT("deathMsg.fallPlayerShot"),
+ DEATH_FALL_PLAYER_BLOWN("deathMsg.fallPlayerBlown"),
+ DEATH_SPLEEFED("deathMsg.spleefed"),
+ DEATH_FALL("deathMsg.fall"),
+ DEATH_FALLING_BLOCK("deathMsg.fallingBlock"),
+ DEATH_FIRE("deathMsg.fire"),
+ DEATH_LAVA("deathMsg.lava"),
+ DEATH_LIGHTNING("deathMsg.lightning"),
+ DEATH_POTION_PLAYER("deathMsg.potionPlayer"),
+ DEATH_POTION("deathMsg.potion"),
+ DEATH_PROJECTILE_PLAYER("deathMsg.projectilePlayer"),
+ DEATH_PROJECTILE("deathMsg.projectile"),
+ DEATH_STARVATION("deathMsg.starvation"),
+ DEATH_SUFFOCATION("deathMsg.suffocation"),
+ DEATH_SUICIDE("deathMsg.suicide"),
+ DEATH_THORNS_PLAYER("deathMsg.thornsPlayer"),
+ DEATH_THORNS("deathMsg.thorns"),
+ DEATH_VOID_PLAYER_KNOCKED("deathMsg.voidPlayerKnocked"),
+ DEATH_VOID_PLAYER_KNOCKED_FISTS("deathMsg.voidPlayerKnockedFists"),
+ DEATH_VOID_PLAYER_SHOT("deathMsg.voidPlayerShot"),
+ DEATH_VOID_PLAYER_BLOWN("deathMsg.voidPlayerBlown"),
+ DEATH_VOID("deathMsg.void"),
+ DEATH_WITHER("deathMsg.wither"),
+ DEATH_UNKNOWN("deathMsg.unknown");
private final String path;
diff --git a/src/main/java/in/twizmwaz/cardinal/module/modules/deathMessages/DeathMessages.java b/src/main/java/in/twizmwaz/cardinal/module/modules/deathMessages/DeathMessages.java
index b5dada277..97b56522a 100644
--- a/src/main/java/in/twizmwaz/cardinal/module/modules/deathMessages/DeathMessages.java
+++ b/src/main/java/in/twizmwaz/cardinal/module/modules/deathMessages/DeathMessages.java
@@ -1,6 +1,9 @@
package in.twizmwaz.cardinal.module.modules.deathMessages;
+import in.twizmwaz.cardinal.chat.ChatConstant;
+import in.twizmwaz.cardinal.chat.ChatMessage;
import in.twizmwaz.cardinal.chat.UnlocalizedChatMessage;
+import in.twizmwaz.cardinal.chat.LocalizedChatMessage;
import in.twizmwaz.cardinal.event.CardinalDeathEvent;
import in.twizmwaz.cardinal.module.Module;
import in.twizmwaz.cardinal.module.modules.tracker.Cause;
@@ -8,9 +11,15 @@
import in.twizmwaz.cardinal.module.modules.tracker.event.TrackerDamageEvent;
import in.twizmwaz.cardinal.settings.Settings;
import in.twizmwaz.cardinal.util.Teams;
+import net.md_5.bungee.api.chat.BaseComponent;
+import net.md_5.bungee.api.chat.HoverEvent;
+import net.md_5.bungee.api.chat.TextComponent;
+import net.md_5.bungee.api.chat.TranslatableComponent;
+import net.minecraft.server.v1_8_R3.NBTTagCompound;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
+import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
@@ -25,101 +34,192 @@ public void unload() {
}
+ BaseComponent item;
+
+ public void formatItem (org.bukkit.inventory.ItemStack itemStack) {
+ net.minecraft.server.v1_8_R3.ItemStack nms = CraftItemStack.asNMSCopy(itemStack);
+ NBTTagCompound tag = new NBTTagCompound();
+ nms.save(tag);
+ BaseComponent finalItem = new TextComponent("");
+ if (itemStack.hasItemMeta() && itemStack.getItemMeta().getDisplayName() != null) {
+ BaseComponent[] name = new TextComponent().fromLegacyText(itemStack.getItemMeta().getDisplayName());
+ finalItem.addExtra(new TextComponent("["));
+ for (BaseComponent component : name) {
+ component.setItalic(true);
+ finalItem.addExtra(component);
+ }
+ finalItem.addExtra(new TextComponent("]"));
+ } else {
+ finalItem = new TranslatableComponent(nms.a() + ".name");
+ finalItem.setColor(net.md_5.bungee.api.ChatColor.GRAY);
+ }
+ if (!itemStack.getEnchantments().isEmpty()) {
+ finalItem.setColor(net.md_5.bungee.api.ChatColor.AQUA);
+ }
+ finalItem.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_ITEM, new BaseComponent[]{new TextComponent(tag.toString())}));
+ item = finalItem;
+ }
+
@EventHandler
public void onCardinalDeath(CardinalDeathEvent event) {
try {
if (Teams.getTeamByPlayer(event.getPlayer()) != null) {
- String name = Teams.getTeamColorByPlayer(event.getPlayer()) + event.getPlayer().getName(), deathMessage;
+ String name = Teams.getTeamColorByPlayer(event.getPlayer()) + event.getPlayer().getName();
+ LocalizedChatMessage deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_UNKNOWN, name + ChatColor.GRAY);
DamageCause cause = event.getPlayer().getLastDamageCause().getCause();
int fallDistance = Math.round(event.getPlayer().isInsideVehicle() ? event.getPlayer().getVehicle().getFallDistance() : event.getPlayer().getFallDistance());
if (cause.equals(DamageCause.BLOCK_EXPLOSION) || cause.equals(DamageCause.ENTITY_EXPLOSION)) {
if (event.getKiller() != null) {
if (event.getKiller().equals(event.getPlayer())) {
- deathMessage = name + ChatColor.GRAY + " 'sploded";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_EXPLOSION_SELF,
+ name + ChatColor.GRAY);
} else {
- deathMessage = name + ChatColor.GRAY + " was blown up by " + Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY + "'s TNT";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_EXPLOSION_PLAYER,
+ name + ChatColor.GRAY,
+ Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY);
}
} else {
- deathMessage = name + ChatColor.GRAY + " blew up";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_EXPLOSION,
+ name + ChatColor.GRAY);
}
} else if (cause.equals(DamageCause.CONTACT)) {
- deathMessage = name + ChatColor.GRAY + " was pricked to death";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_CONTACT,
+ name + ChatColor.GRAY);
} else if (cause.equals(DamageCause.DROWNING)) {
- deathMessage = name + ChatColor.GRAY + " forgot to breathe";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_DROWNING,
+ name + ChatColor.GRAY);
} else if (cause.equals(DamageCause.ENTITY_ATTACK)) {
if (event.getKiller() != null) {
if (event.getKiller().getItemInHand().getType().equals(Material.AIR)) {
- deathMessage = name + ChatColor.GRAY + " felt the fury of " + Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY + "'s fists";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_ATTACK_PLAYER_FISTS, name + ChatColor.GRAY, Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY);
} else {
- deathMessage = name + ChatColor.GRAY + " was slain by " + Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY + "'s " + (event.getKiller().getItemInHand().getEnchantments() != null && event.getKiller().getItemInHand().getEnchantments().size() > 0 ? "enchanted " : "") + event.getKiller().getItemInHand().getType().name().replaceAll("_", " ").toLowerCase();
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_ATTACK_PLAYER,
+ name + ChatColor.GRAY,
+ Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY,
+ "/item/");
+ formatItem(event.getKiller().getItemInHand());
}
} else {
- deathMessage = name + ChatColor.GRAY + " was slain";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_ATTACK,
+ name + ChatColor.GRAY);
}
} else if (cause.equals(DamageCause.FALL)) {
if (event.getTrackerDamageEvent() != null) {
TrackerDamageEvent damageEvent = event.getTrackerDamageEvent();
Player killer = event.getKiller();
if (damageEvent.getType().equals(Type.SHOT)) {
- deathMessage = name + ChatColor.GRAY + " was " + damageEvent.getType().name().toLowerCase() + (damageEvent.getDistance() == -1 ? "" : " (" + damageEvent.getDistance() + " blocks)") + " off a high place " + "(" + fallDistance + " blocks)" + " by " + Teams.getTeamColorByPlayer(killer) + killer.getName();
- } else {
- deathMessage = name + ChatColor.GRAY + " was " + damageEvent.getType().name().toLowerCase() + " off a high place " + "(" + fallDistance + " blocks)" + " by " + Teams.getTeamColorByPlayer(killer) + killer.getName() + ChatColor.GRAY + "'s " + (damageEvent.getItem().getType().equals(Material.AIR) ? "fists of fury" : (damageEvent.getItem().getEnchantments() != null && damageEvent.getItem().getEnchantments().size() > 0 ? "enchanted " : "") + damageEvent.getItem().getType().name().replaceAll("_", " ").toLowerCase());
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_FALL_PLAYER_SHOT,
+ name + ChatColor.GRAY,
+ (damageEvent.getDistance() == -1 ? "?" : damageEvent.getDistance() + ""),
+ fallDistance + "",
+ Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY);
+ } else if (damageEvent.getType().equals(Type.KNOCKED)) {
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_FALL_PLAYER_KNOCKED,
+ new UnlocalizedChatMessage(name + ChatColor.GRAY),
+ new UnlocalizedChatMessage(fallDistance + ""),
+ new UnlocalizedChatMessage(Teams.getTeamColorByPlayer(killer) + killer.getName() + ChatColor.GRAY),
+ (damageEvent.getItem().getType().equals(Material.AIR) ?
+ new LocalizedChatMessage(ChatConstant.DEATH_FISTS) :
+ new UnlocalizedChatMessage("/item/")));
+ formatItem(damageEvent.getItem());
+ } else if (damageEvent.getType().equals(Type.BLOWN)){
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_FALL_PLAYER_BLOWN,
+ name + ChatColor.GRAY,
+ fallDistance + "",
+ Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY);
}
} else {
- deathMessage = name + ChatColor.GRAY + " hit the ground too hard (" + fallDistance + " blocks)";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_FALL,
+ name + ChatColor.GRAY,
+ fallDistance + "");
}
} else if (cause.equals(DamageCause.FALLING_BLOCK)) {
- deathMessage = name + ChatColor.GRAY + " was squashed by a falling anvil";
- } else if (cause.equals(DamageCause.FIRE)) {
- deathMessage = name + ChatColor.GRAY + " burned to death";
- } else if (cause.equals(DamageCause.FIRE_TICK)) {
- deathMessage = name + ChatColor.GRAY + " burned to death";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_FALLING_BLOCK,
+ name + ChatColor.GRAY);
+ } else if (cause.equals(DamageCause.FIRE) || cause.equals(DamageCause.FIRE_TICK)) {
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_FIRE,
+ name + ChatColor.GRAY);
} else if (cause.equals(DamageCause.LAVA)) {
- deathMessage = name + ChatColor.GRAY + " tried to swim in lava";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_LAVA,
+ name + ChatColor.GRAY);
} else if (cause.equals(DamageCause.LIGHTNING)) {
- deathMessage = name + ChatColor.GRAY + " was struck by lightning";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_LIGHTNING,
+ name + ChatColor.GRAY);
} else if (cause.equals(DamageCause.MAGIC)) {
if (event.getKiller() != null) {
int distance = (int) Math.round(event.getPlayer().getLocation().distance(event.getKiller().getLocation()));
- deathMessage = name + ChatColor.GRAY + " took " + Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY + "'s potion to the face (" + distance + " blocks)";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_POTION_PLAYER,
+ name + ChatColor.GRAY,
+ Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY,
+ distance + "");
} else {
- deathMessage = name + ChatColor.GRAY + " took a potion to the face";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_POTION,
+ name + ChatColor.GRAY);
}
} else if (cause.equals(DamageCause.PROJECTILE)) {
if (event.getKiller() != null) {
int distance = (int) Math.round(event.getPlayer().getLocation().distance(event.getKiller().getLocation()));
- deathMessage = name + ChatColor.GRAY + " was shot by " + Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY + " (" + distance + " blocks)";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_PROJECTILE_PLAYER,
+ name + ChatColor.GRAY,
+ Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName() + ChatColor.GRAY,
+ distance + " ");
} else {
- deathMessage = name + ChatColor.GRAY + " was shot";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_PROJECTILE,
+ name + ChatColor.GRAY);
}
} else if (cause.equals(DamageCause.STARVATION)) {
- deathMessage = name + ChatColor.GRAY + " starved to death";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_STARVATION,
+ name + ChatColor.GRAY);
} else if (cause.equals(DamageCause.SUFFOCATION)) {
- deathMessage = name + ChatColor.GRAY + " suffocated in a wall";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_SUFFOCATION,
+ name + ChatColor.GRAY);
} else if (cause.equals(DamageCause.SUICIDE)) {
- deathMessage = name + ChatColor.GRAY + " died";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_SUICIDE,
+ name + ChatColor.GRAY);
} else if (cause.equals(DamageCause.THORNS)) {
if (event.getKiller() != null) {
- deathMessage = name + ChatColor.GRAY + " died trying to hurt " + Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName();
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_THORNS_PLAYER,
+ name + ChatColor.GRAY,
+ Teams.getTeamColorByPlayer(event.getKiller()) + event.getKiller().getName());
} else {
- deathMessage = name + ChatColor.GRAY + " died trying to hurt an enemy";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_THORNS,
+ name + ChatColor.GRAY);
}
} else if (cause.equals(DamageCause.VOID)) {
if (event.getTrackerDamageEvent() != null) {
TrackerDamageEvent damageEvent = event.getTrackerDamageEvent();
Player killer = event.getKiller();
if (damageEvent.getType().equals(Type.SHOT)) {
- deathMessage = name + ChatColor.GRAY + " was " + damageEvent.getType().name().toLowerCase() + (damageEvent.getDistance() == -1 ? "" : " (" + damageEvent.getDistance() + " blocks)") + " out of the world by " + Teams.getTeamColorByPlayer(killer) + killer.getName();
- } else {
- deathMessage = name + ChatColor.GRAY + " was " + damageEvent.getType().name().toLowerCase() + " out of the world by " + Teams.getTeamColorByPlayer(killer) + killer.getName() + ChatColor.GRAY + "'s " + (damageEvent.getCause().equals(Cause.TNT) ? "TNT" : (damageEvent.getItem().getType().equals(Material.AIR) ? "fists of fury" : (damageEvent.getItem().getEnchantments() != null && damageEvent.getItem().getEnchantments().size() > 0 ? "enchanted " : "") + damageEvent.getItem().getType().name().replaceAll("_", " ").toLowerCase()));
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_VOID_PLAYER_SHOT,
+ name + ChatColor.GRAY,
+ damageEvent.getDistance() + "",
+ Teams.getTeamColorByPlayer(killer) + killer.getName());
+ } else if (damageEvent.getType().equals(Type.KNOCKED)){
+ if (damageEvent.getItem().getType().equals(Material.AIR)){
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_VOID_PLAYER_KNOCKED_FISTS,
+ name + ChatColor.GRAY,
+ Teams.getTeamColorByPlayer(killer) + killer.getName() + ChatColor.GRAY);
+ } else {
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_VOID_PLAYER_KNOCKED,
+ name + ChatColor.GRAY, Teams.getTeamColorByPlayer(killer) + killer.getName() + ChatColor.GRAY,
+ "/item/");
+ formatItem(damageEvent.getItem());
+ }
+ } else if (damageEvent.getType().equals(Type.BLOWN)){
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_VOID_PLAYER_BLOWN,
+ name + ChatColor.GRAY,
+ Teams.getTeamColorByPlayer(killer) + killer.getName() + ChatColor.GRAY);
}
} else {
- deathMessage = name + ChatColor.GRAY + " fell out of the world";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_VOID,
+ name + ChatColor.GRAY);
}
} else if (cause.equals(DamageCause.WITHER)) {
- deathMessage = name + ChatColor.GRAY + " withered away";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_WITHER,
+ name + ChatColor.GRAY);
} else {
- deathMessage = name + ChatColor.GRAY + " died";
+ deathMessage = new LocalizedChatMessage(ChatConstant.DEATH_SUICIDE,
+ name + ChatColor.GRAY);
}
for (Player player : Bukkit.getOnlinePlayers()) {
boolean involved = false;
@@ -128,74 +228,48 @@ public void onCardinalDeath(CardinalDeathEvent event) {
} else if (event.getKiller() != null && event.getKiller().equals(player)) {
involved = true;
}
- UnlocalizedChatMessage toSend = new UnlocalizedChatMessage(deathMessage);
- if (Settings.getSettingByName("HighlightDeathMessages") != null && involved) {
- if (Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("bold")) {
- String message = deathMessage;
- boolean bold = false;
- boolean color = false;
- for (int i = 0; i < message.length(); i++) {
- if (message.charAt(i) == '§') {
- color = true;
- } else {
- if (bold) {
- message = message.substring(0, i) + ChatColor.BOLD + message.substring(i);
- bold = false;
- }
- if (color) {
- color = false;
- bold = true;
- }
- }
+ boolean white = false;
+ if (Settings.getSettingByName("HighlightDeathMessages") != null && Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("white") && involved) {
+ white = true;
+ }
+ if (Settings.getSettingByName("DeathMessages") == null || (Settings.getSettingByName("DeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("all") || (Settings.getSettingByName("DeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("own") && involved))) {
+ String toSendMsg = white ? deathMessage.getMessage(player.getLocale()).replaceAll(ChatColor.GRAY + "", ChatColor.WHITE + "") : deathMessage.getMessage(player.getLocale());
+ BaseComponent finalMessage = new TextComponent("");
+ if (toSendMsg.contains("/item/")) {
+ String[] splitMessage = toSendMsg.split("/", 3);
+ BaseComponent[] message;
+ message = new TextComponent().fromLegacyText(splitMessage[0]);
+ for (BaseComponent component : message) {
+ finalMessage.addExtra(component);
}
- toSend = new UnlocalizedChatMessage(message);
- }
- if (Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("italics")) {
- String message = deathMessage;
- boolean italic = false;
- boolean color = false;
- for (int i = 0; i < message.length(); i++) {
- if (message.charAt(i) == '§') {
- color = true;
- } else {
- if (italic) {
- message = message.substring(0, i) + ChatColor.ITALIC + message.substring(i);
- italic = false;
- }
- if (color) {
- color = false;
- italic = true;
- }
+ if (white && !item.toPlainText().contains("[") && !item.getColor().equals(net.md_5.bungee.api.ChatColor.AQUA)) {
+ item.setColor(net.md_5.bungee.api.ChatColor.WHITE);
+ }
+ finalMessage.addExtra(item);
+ if (splitMessage.length > 2) {
+ message = new TextComponent().fromLegacyText(splitMessage[2]);
+ for (BaseComponent component : message) {
+ finalMessage.addExtra(component);
}
}
- toSend = new UnlocalizedChatMessage(message);
- }
- if (Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("white")) {
- toSend = new UnlocalizedChatMessage(deathMessage.replaceAll(ChatColor.GRAY + "", ChatColor.WHITE + ""));
+ } else {
+ BaseComponent[] message;
+ message = new TextComponent().fromLegacyText(toSendMsg);
+ for (BaseComponent component : message) {
+ finalMessage.addExtra(component);
+ }
}
- if (Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("underline")) {
- String message = deathMessage;
- boolean underline = false;
- boolean color = false;
- for (int i = 0; i < message.length(); i++) {
- if (message.charAt(i) == '§') {
- color = true;
- } else {
- if (underline) {
- message = message.substring(0, i) + ChatColor.UNDERLINE + message.substring(i);
- underline = false;
- }
- if (color) {
- color = false;
- underline = true;
- }
- }
+ if (Settings.getSettingByName("HighlightDeathMessages") != null && !Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("white") && involved) {
+ if (Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("bold")) {
+ finalMessage.setBold(true);
+ } else if (Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("italics")) {
+ finalMessage.setItalic(true);
+ } else if (Settings.getSettingByName("HighlightDeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("underline")) {
+ finalMessage.setUnderlined(true);
}
- toSend = new UnlocalizedChatMessage(message);
}
- }
- if (Settings.getSettingByName("DeathMessages") == null || (Settings.getSettingByName("DeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("all") || (Settings.getSettingByName("DeathMessages").getValueByPlayer(player).getValue().equalsIgnoreCase("own") && involved))) {
- player.sendMessage(toSend.getMessage(player.getLocale()));
+ player.sendMessage(finalMessage);
+
}
}
}
diff --git a/src/main/resources/lang/en.xml b/src/main/resources/lang/en.xml
index a17ed6545..1bf3bdbf5 100644
--- a/src/main/resources/lang/en.xml
+++ b/src/main/resources/lang/en.xml
@@ -319,30 +319,29 @@
{0} felt the fury of {1}'s fists
{0} was slain by {1}'s {2}
{0} was slain
- {0} was {1} off a high place ({2}) by {3}'s {4}
- {0} was {1} off a high place ({2}) by {3} ({4})
- {0} was {1} off a high place ({2}) by {3}'s TNT
- shot
- knocked
- blown
+ fists
+ {0} was knocked off a high place ({1} blocks) by {2}'s {3}
+ {0} was shot ({1} blocks) off a high place ({2} blocks) by {3}
+ {0} was blown off a high place ({1} blocks) by {2}'s TNT
spleefed
- {0} hit the ground too hard
+ {0} hit the ground too hard ({1} blocks)
{0} was squashed by a falling anvil
{0} burned to death
{0} tried to swim in lava
{0} was struck by lightning
- {0} took {1}'s potion to the face
+ {0} took {1}'s potion to the face ({2} blocks)
{0} took a potion to the face
- {0} was shot by {1}
+ {0} was shot by {1} ({2} blocks)
{0} was shot
{0} starved to death
{0} suffocated in a wall
{0} died
{0} died trying to hurt {1}
{0} died trying to hurt an enemy
- {0} was {1} out of the world by {3}'s {4}
- {0} was {1} out of the world by {3} ({4})
- {0} was {1} out of the world by {3}'s TNT
+ {0} was knocked out of the world by {1}'s {2}
+ {0} was knocked out of the world by {1}'s fists
+ {0} was shot ({1} blocks) out of the world by {2}
+ {0} was blown out of the world by {1}'s TNT
{0} fell out of the world
{0} withered away
{0} died from unknown causes