QoL/src/main/java/xyz/etztech/qol/listeners/DeathListener.java

46 lines
1.4 KiB
Java

package xyz.etztech.qol.listeners;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import xyz.etztech.qol.QoL;
import java.util.Arrays;
public class DeathListener implements Listener {
QoL plugin;
public DeathListener(QoL plugin) {
this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@EventHandler
public void onDeath(PlayerDeathEvent event) {
String message = event.getDeathMessage();
event.setDeathMessage("");
if (!plugin.hasDeathMute(event.getEntity().getPlayer())) {
Location location = event.getEntity().getLocation();
String coords = StringUtils.join(Arrays.asList(location.getBlockX(), location.getBlockY(), location.getBlockZ()), ", ");
TextComponent newMessage = new TextComponent(message);
newMessage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Location: " + coords).create()));
for (Player player : Bukkit.getOnlinePlayers()) {
player.spigot().sendMessage(newMessage);
}
}
}
}