1.2.0: Remove unnecessary events, use yml as a config, implement log disabling

This commit is contained in:
2025-11-25 23:10:57 +08:00
parent eabb5a69c1
commit 02f73ad13e
13 changed files with 193 additions and 140 deletions
@@ -1,6 +1,7 @@
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;
@@ -15,18 +16,20 @@ import java.util.Date;
public class PlayerBedEnter implements Listener {
@EventHandler
public void onPlayerBedEnter(PlayerBedEnterEvent event) {
Bukkit.getConsoleSender().sendMessage("Player entered a bed.");
Player player = event.getPlayer();
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle(player.getName() + " is now sleeping...")
.addField("Time", new Date().toString(), false)
.addField("Player name", player.getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
if (Main.configR.getBoolean("log")) {
Bukkit.getConsoleSender().sendMessage("Player entered a bed.");
Player player = event.getPlayer();
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle(player.getName() + " is now sleeping...")
.addField("Time", new Date().toString(), false)
.addField("Player name", player.getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
@@ -1,6 +1,7 @@
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;
@@ -15,18 +16,20 @@ import java.util.Date;
public class PlayerBedLeave implements Listener {
@EventHandler
public void onPlayerBedLeave(PlayerBedLeaveEvent event) {
Bukkit.getConsoleSender().sendMessage("Player left a bed");
Player player = event.getPlayer();
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle(player.getName() + " is no longer sleeping.")
.addField("Time", new Date().toString(), false)
.addField("Player name", player.getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
if (Main.configR.getBoolean("log")) {
Bukkit.getConsoleSender().sendMessage("Player left a bed");
Player player = event.getPlayer();
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle(player.getName() + " is no longer sleeping.")
.addField("Time", new Date().toString(), false)
.addField("Player name", player.getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
@@ -1,6 +1,7 @@
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;
@@ -18,18 +19,19 @@ public class PlayerChat implements Listener {
@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent event) {
Bukkit.getConsoleSender().sendMessage("A message was sent by " + event.getPlayer().getName());
Player player = event.getPlayer();
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);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
// 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")) {
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);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
@@ -1,6 +1,7 @@
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;
@@ -16,36 +17,38 @@ import java.util.Date;
public class PlayerCommandPreprocess implements Listener {
@EventHandler
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) {
Bukkit.getConsoleSender().sendMessage("%s used a command".formatted(event.getPlayer().getName()));
Player player = event.getPlayer();
String[] command = event.getMessage().split(" "); // get the command name
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("Command used")
.addField("Date of usage", new Date().toString(), false)
.addField("Player name", player.getName(), false)
.addField("Command", command[0], true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
// temp: log on /stop
if (command[0].equals("/stop")) {
DiscordWebhook ntf = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embed = new DiscordWebhook.EmbedObject()
.setTitle("Server stopped")
.setDescription("The server was stopped using the `/stop` command.")
.addField("Date", "<t:%n:R>".formatted(new Timestamp(System.currentTimeMillis()).getTime()), true)
.addField("Player name", player.getName(), true);
ntf.addEmbed(embed);
if (Main.configR.getBoolean("log")) {
Bukkit.getConsoleSender().sendMessage("%s used a command".formatted(event.getPlayer().getName()));
Player player = event.getPlayer();
String[] command = event.getMessage().split(" "); // get the command name
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("Command used")
.addField("Date of usage", new Date().toString(), false)
.addField("Player name", player.getName(), false)
.addField("Command", command[0], true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
ntf.execute();
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
// temp: log on /stop
if (command[0].equals("/stop")) {
DiscordWebhook ntf = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embed = new DiscordWebhook.EmbedObject()
.setTitle("Server stopped")
.setDescription("The server was stopped using the `/stop` command.")
.addField("Date", "<t:%n:R>".formatted(new Timestamp(System.currentTimeMillis()).getTime()), true)
.addField("Player name", player.getName(), true);
ntf.addEmbed(embed);
try {
ntf.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
}
@@ -17,19 +17,21 @@ import java.util.Date;
public class PlayerJoin implements Listener {
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Bukkit.getConsoleSender().sendMessage("A player has joined the server.");
Player player = event.getPlayer();
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);
try {
Bukkit.broadcastMessage(Main.getGreetMessage(player));
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
if (Main.configR.getBoolean("log")) {
Bukkit.getConsoleSender().sendMessage("A player has joined the server.");
Player player = event.getPlayer();
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);
try {
Bukkit.broadcastMessage(Main.getGreetMessage(player));
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
@@ -1,6 +1,7 @@
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;
@@ -14,18 +15,20 @@ import java.util.Date;
public class PlayerQuit implements Listener {
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
Bukkit.getConsoleSender().sendMessage("A player has left the server.");
Player player = event.getPlayer();
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);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
if (Main.configR.getBoolean("log")) {
Bukkit.getConsoleSender().sendMessage("A player has left the server.");
Player player = event.getPlayer();
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);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
@@ -1,6 +1,7 @@
package moe.sob.events.world;
import moe.sob.DiscordWebhook;
import moe.sob.Main;
import moe.sob.ServerUtils;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
@@ -14,17 +15,19 @@ import java.util.Date;
public class WorldLoad implements Listener {
@EventHandler
public void onWorldLoad(WorldLoadEvent event) {
Bukkit.getConsoleSender().sendMessage("Triggered WorldLoad event.");
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("World loaded")
.addField("Time", new Date().toString(), false)
.addField("World name", event.getWorld().getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
if (Main.configR.getBoolean("log")) {
Bukkit.getConsoleSender().sendMessage("Triggered WorldLoad event.");
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("World loaded")
.addField("Time", new Date().toString(), false)
.addField("World name", event.getWorld().getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
@@ -1,6 +1,7 @@
package moe.sob.events.world;
import moe.sob.DiscordWebhook;
import moe.sob.Main;
import moe.sob.ServerUtils;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
@@ -14,17 +15,19 @@ import java.util.Date;
public class WorldUnload implements Listener {
@EventHandler
public void onWorldUnload(WorldUnloadEvent event) {
Bukkit.getConsoleSender().sendMessage("Triggered WorldUnload event.");
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("WorldUnload").setDescription("A world was unloaded...")
.addField("Time", new Date().toString(), false)
.addField("World name", event.getWorld().getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
if (Main.configR.getBoolean("log")) {
Bukkit.getConsoleSender().sendMessage("Triggered WorldUnload event.");
DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify);
DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle("WorldUnload").setDescription("A world was unloaded...")
.addField("Time", new Date().toString(), false)
.addField("World name", event.getWorld().getName(), true)
.setColor(Color.BLUE);
notify.addEmbed(embedObject);
try {
notify.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}