Date: 2017/01/29 14:05:09 UTC-08:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@EventHandler
public void onDeath(PlayerDeathEvent e) {
Player player = e.getEntity();
StatsProfile playerProfile = Shift.statsHandler.getStatsProfile(player.getUniqueId());
String message = "";
e.setKeepLevel(true);
e.setKeepInventory(true);
playerProfile.add(Statistic.DEATHS, 1);
EntityDamageEvent ede = player.getLastDamageCause();
if (ede instanceof EntityDamageByEntityEvent) {
EntityDamageByEntityEvent e2 = (EntityDamageByEntityEvent) ede;
Entity dmger = e2.getDamager();
if (dmger.hasMetadata("thrower")) {
Player thrower = Bukkit.getPlayer(dmger.getMetadata("thrower").get(0).asString());
StatsProfile throwerProfile = Shift.statsHandler.getStatsProfile(thrower.getUniqueId());
throwerProfile.add(Statistic.KILLS_WITH_OTHER, 1);
throwerProfile.add(Statistic.KILLS, 1);
throwerProfile.add(Statistic.GAME_KILLS, 1);
message = SimpleUtils.color("&8[&c&lX&8] &6" + e.getEntity().getName()
+ " was killed by a TNT thrown by " + thrower.getName());
e.setDeathMessage(message);
new BukkitRunnable() {
@Override
public void run() {
player.spigot().respawn();
}
}.runTaskLater(Shift.plugin, 1);
return;
}
}