瀏覽代碼

Use the mob name when we have it.

GJ 12 年之前
父節點
當前提交
3a76a111d3
共有 1 個文件被更改,包括 14 次插入1 次删除
  1. 14 1
      src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

+ 14 - 1
src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

@@ -11,6 +11,8 @@ import org.bukkit.entity.Player;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.EventPriority;
 import org.bukkit.event.EventPriority;
 import org.bukkit.event.Listener;
 import org.bukkit.event.Listener;
+import org.bukkit.event.entity.EntityDamageByEntityEvent;
+import org.bukkit.event.entity.EntityDamageEvent;
 import org.bukkit.event.entity.PlayerDeathEvent;
 import org.bukkit.event.entity.PlayerDeathEvent;
 import org.bukkit.event.player.AsyncPlayerChatEvent;
 import org.bukkit.event.player.AsyncPlayerChatEvent;
 import org.bukkit.event.player.PlayerChangedWorldEvent;
 import org.bukkit.event.player.PlayerChangedWorldEvent;
@@ -49,6 +51,7 @@ import com.gmail.nossr50.util.ItemUtils;
 import com.gmail.nossr50.util.Misc;
 import com.gmail.nossr50.util.Misc;
 import com.gmail.nossr50.util.Motd;
 import com.gmail.nossr50.util.Motd;
 import com.gmail.nossr50.util.Permissions;
 import com.gmail.nossr50.util.Permissions;
+import com.gmail.nossr50.util.StringUtils;
 import com.gmail.nossr50.util.player.UserManager;
 import com.gmail.nossr50.util.player.UserManager;
 import com.gmail.nossr50.util.skills.SkillUtils;
 import com.gmail.nossr50.util.skills.SkillUtils;
 
 
@@ -68,7 +71,17 @@ public class PlayerListener implements Listener {
             return;
             return;
         }
         }
 
 
-        event.setDeathMessage(deathMessage.replaceAll("(?:\u00A7(?:[0-9A-FK-ORa-fk-or]){1}(?:[\u2764\u25A0]{1,10})){1,2}", "a mob"));
+        EntityDamageEvent lastDamageCause = event.getEntity().getLastDamageCause();
+        String replaceString;
+
+        if (lastDamageCause instanceof EntityDamageByEntityEvent) {
+            replaceString = StringUtils.getPrettyEntityTypeString(((EntityDamageByEntityEvent) lastDamageCause).getDamager().getType());
+        }
+        else {
+            replaceString = "a mob";
+        }
+
+        event.setDeathMessage(deathMessage.replaceAll("(?:\u00A7(?:[0-9A-FK-ORa-fk-or]){1}(?:[\u2764\u25A0]{1,10})){1,2}", replaceString));
     }
     }
 
 
     /**
     /**