(1.3.0) Use plain messages instead of embeds, add PlayerDeath event

This commit is contained in:
2026-01-17 20:35:07 +08:00
parent 533d25cbce
commit 346d93d209
7 changed files with 45 additions and 32 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ plugins {
}
group 'moe.sob'
version '1.2.0'
version '1.3.0'
repositories {
mavenCentral()
+4 -2
View File
@@ -185,16 +185,18 @@ public class Main extends JavaPlugin {
public void registerEvents() {
PlayerChat playerChat = new PlayerChat();
PlayerCommandPreprocess playerCommandPreprocess = new PlayerCommandPreprocess();
//PlayerCommandPreprocess playerCommandPreprocess = new PlayerCommandPreprocess();
//PlayerBedEnter playerBedEnter = new PlayerBedEnter();
//PlayerBedLeave playerBedLeave = new PlayerBedLeave(); // Redundant event
WorldLoad worldLoad = new WorldLoad();
WorldUnload worldUnload = new WorldUnload();
PlayerDeath playerDeath = new PlayerDeath();
getServer().getPluginManager().registerEvents(playerChat, this);
getServer().getPluginManager().registerEvents(playerCommandPreprocess, this);
//getServer().getPluginManager().registerEvents(playerCommandPreprocess, this);
//getServer().getPluginManager().registerEvents(playerBedEnter, this);
//getServer().getPluginManager().registerEvents(playerBedLeave, this);
getServer().getPluginManager().registerEvents(worldLoad, this);
getServer().getPluginManager().registerEvents(worldUnload, this);
getServer().getPluginManager().registerEvents(playerDeath, this);
}
}
@@ -7,9 +7,6 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import java.awt.*;
import java.util.Date;
public class PlayerChat implements Listener {
public PlayerChat() {
}
@@ -17,13 +14,11 @@ public class PlayerChat implements Listener {
@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent event) {
// Bukkit.getConsoleSender().sendMessage("A message was sent by " + event.getPlayer().getName()); // kind of redundant considering the fact that we see chats in the console too
if (!Main.configR.getBoolean("log")) {
if (Main.configR.getBoolean("log")) {
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("A message was sent by " + event.getPlayer().getName())
.addField("Send date", new Date().toString(), false)
.addField("Message content", event.getMessage(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
notify.setUsername(event.getPlayer().getName());
notify.setContent(event.getMessage());
//notify.setAvatarUrl(String.format("https://minotar.net/avatar/%s.png", event.getPlayer().getName()));
try {
notify.execute();
} catch (Exception e) {
@@ -0,0 +1,29 @@
package moe.sob.events.player;
import org.bukkit.event.Listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.PlayerDeathEvent;
import moe.sob.DiscordWebhook;
import moe.sob.Main;
import moe.sob.ServerUtils;
// technically belongs to a /entity folder but it concerns a player anyways
public class PlayerDeath implements Listener {
@EventHandler
public void onPlayerDeath(PlayerDeathEvent event) {
if (Main.configR.getBoolean("log")) {
String playerName = event.getEntity().getName();
String deathMessage = event.getDeathMessage();
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
notify.setContent(deathMessage.replace(playerName, String.format("**%s**", playerName)));
notify.setUsername(playerName);
try {
notify.execute();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}
@@ -3,29 +3,22 @@ package moe.sob.events.player;
import moe.sob.DiscordWebhook;
import moe.sob.Main;
import moe.sob.ServerUtils;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import java.awt.*;
import java.util.Date;
public class PlayerJoin implements Listener {
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
if (Main.configR.getBoolean("log")) {
Main.mainSmall.getLogger().info("A player has joined the server.");
Player player = event.getPlayer();
event.setJoinMessage(Main.getGreetMessage(player));
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("A player has joined the server.")
.addField("Triggered at", new Date().toString(), false)
.addField("Player name", player.getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
notify.setUsername(player.getName());
notify.setContent(String.format("**%s** joined the server.", player.getName()));
try {
Bukkit.broadcastMessage(Main.getGreetMessage(player));
notify.execute();
} catch (Exception e) {
throw new RuntimeException(e);
@@ -7,19 +7,13 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
import java.awt.*;
import java.util.Date;
public class PlayerQuit implements Listener {
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
if (Main.configR.getBoolean("log")) {
Main.mainSmall.getLogger().info("A player has left the server.");
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("A player has left the server.")
.addField("Date of exit", new Date().toString(), false)
.addField("Player name", event.getPlayer().getName(), true)
.setColor(Color.BLUE);
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
notify.addEmbed(embedObject);
notify.setUsername(event.getPlayer().getName());
notify.setContent(String.format("**%s** left the server.", event.getPlayer().getName()));
try {
notify.execute();
} catch (Exception e) {
+1 -1
View File
@@ -1,5 +1,5 @@
main: moe.sob.Main
version: 1.2.0
version: 1.3.0
name: notifyOnStart
description: A logging plugin.
api-version: 1.19