diff --git a/src/main/java/moe/sob/DiscordWebhook.java b/src/main/java/moe/sob/DiscordWebhook.java index f04561c..cfaacbd 100644 --- a/src/main/java/moe/sob/DiscordWebhook.java +++ b/src/main/java/moe/sob/DiscordWebhook.java @@ -2,9 +2,9 @@ package moe.sob; import javax.net.ssl.HttpsURLConnection; import java.awt.*; -import java.io.IOException; import java.io.OutputStream; import java.lang.reflect.Array; +import java.net.URI; import java.net.URL; import java.util.List; import java.util.*; @@ -50,106 +50,110 @@ public class DiscordWebhook { this.embeds.add(embed); } - public void execute() throws IOException { - if (this.content == null && this.embeds.isEmpty()) { - throw new IllegalArgumentException("Set content or add at least one EmbedObject"); - } - - JSONObject json = new JSONObject(); - - json.put("content", this.content); - json.put("username", this.username); - json.put("avatar_url", this.avatarUrl); - json.put("tts", this.tts); - - if (!this.embeds.isEmpty()) { - List embedObjects = new ArrayList<>(); - - for (EmbedObject embed : this.embeds) { - JSONObject jsonEmbed = new JSONObject(); - - jsonEmbed.put("title", embed.getTitle()); - jsonEmbed.put("description", embed.getDescription()); - jsonEmbed.put("url", embed.getUrl()); - - if (embed.getColor() != null) { - Color color = embed.getColor(); - int rgb = color.getRed(); - rgb = (rgb << 8) + color.getGreen(); - rgb = (rgb << 8) + color.getBlue(); - - jsonEmbed.put("color", rgb); - } - - EmbedObject.Footer footer = embed.getFooter(); - EmbedObject.Image image = embed.getImage(); - EmbedObject.Thumbnail thumbnail = embed.getThumbnail(); - EmbedObject.Author author = embed.getAuthor(); - List fields = embed.getFields(); - - if (footer != null) { - JSONObject jsonFooter = new JSONObject(); - - jsonFooter.put("text", footer.getText()); - jsonFooter.put("icon_url", footer.getIconUrl()); - jsonEmbed.put("footer", jsonFooter); - } - - if (image != null) { - JSONObject jsonImage = new JSONObject(); - - jsonImage.put("url", image.getUrl()); - jsonEmbed.put("image", jsonImage); - } - - if (thumbnail != null) { - JSONObject jsonThumbnail = new JSONObject(); - - jsonThumbnail.put("url", thumbnail.getUrl()); - jsonEmbed.put("thumbnail", jsonThumbnail); - } - - if (author != null) { - JSONObject jsonAuthor = new JSONObject(); - - jsonAuthor.put("name", author.getName()); - jsonAuthor.put("url", author.getUrl()); - jsonAuthor.put("icon_url", author.getIconUrl()); - jsonEmbed.put("author", jsonAuthor); - } - - List jsonFields = new ArrayList<>(); - for (EmbedObject.Field field : fields) { - JSONObject jsonField = new JSONObject(); - - jsonField.put("name", field.getName()); - jsonField.put("value", field.getValue()); - jsonField.put("inline", field.isInline()); - - jsonFields.add(jsonField); - } - - jsonEmbed.put("fields", jsonFields.toArray()); - embedObjects.add(jsonEmbed); + public void execute() throws Exception { + try { + if (this.content == null && this.embeds.isEmpty()) { + throw new IllegalArgumentException("Set content or add at least one EmbedObject"); } - json.put("embeds", embedObjects.toArray()); + JSONObject json = new JSONObject(); + + json.put("content", this.content); + json.put("username", this.username); + json.put("avatar_url", this.avatarUrl); + json.put("tts", this.tts); + + if (!this.embeds.isEmpty()) { + List embedObjects = new ArrayList<>(); + + for (EmbedObject embed : this.embeds) { + JSONObject jsonEmbed = new JSONObject(); + + jsonEmbed.put("title", embed.getTitle()); + jsonEmbed.put("description", embed.getDescription()); + jsonEmbed.put("url", embed.getUrl()); + + if (embed.getColor() != null) { + Color color = embed.getColor(); + int rgb = color.getRed(); + rgb = (rgb << 8) + color.getGreen(); + rgb = (rgb << 8) + color.getBlue(); + + jsonEmbed.put("color", rgb); + } + + EmbedObject.Footer footer = embed.getFooter(); + EmbedObject.Image image = embed.getImage(); + EmbedObject.Thumbnail thumbnail = embed.getThumbnail(); + EmbedObject.Author author = embed.getAuthor(); + List fields = embed.getFields(); + + if (footer != null) { + JSONObject jsonFooter = new JSONObject(); + + jsonFooter.put("text", footer.getText()); + jsonFooter.put("icon_url", footer.getIconUrl()); + jsonEmbed.put("footer", jsonFooter); + } + + if (image != null) { + JSONObject jsonImage = new JSONObject(); + + jsonImage.put("url", image.getUrl()); + jsonEmbed.put("image", jsonImage); + } + + if (thumbnail != null) { + JSONObject jsonThumbnail = new JSONObject(); + + jsonThumbnail.put("url", thumbnail.getUrl()); + jsonEmbed.put("thumbnail", jsonThumbnail); + } + + if (author != null) { + JSONObject jsonAuthor = new JSONObject(); + + jsonAuthor.put("name", author.getName()); + jsonAuthor.put("url", author.getUrl()); + jsonAuthor.put("icon_url", author.getIconUrl()); + jsonEmbed.put("author", jsonAuthor); + } + + List jsonFields = new ArrayList<>(); + for (EmbedObject.Field field : fields) { + JSONObject jsonField = new JSONObject(); + + jsonField.put("name", field.getName()); + jsonField.put("value", field.getValue()); + jsonField.put("inline", field.isInline()); + + jsonFields.add(jsonField); + } + + jsonEmbed.put("fields", jsonFields.toArray()); + embedObjects.add(jsonEmbed); + } + + json.put("embeds", embedObjects.toArray()); + } + + URL url = new URI(this.url).toURL(); + HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); + connection.addRequestProperty("Content-Type", "application/json"); + connection.addRequestProperty("User-Agent", "Java-DiscordWebhook-BY-Gelox_"); + connection.setDoOutput(true); + connection.setRequestMethod("POST"); + + OutputStream stream = connection.getOutputStream(); + stream.write(json.toString().getBytes()); + stream.flush(); + stream.close(); + + connection.getInputStream().close(); // I'm not sure why but it doesn't work without getting the InputStream + connection.disconnect(); + } catch (Exception e) { + throw new Exception(); } - - URL url = new URL(this.url); - HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); - connection.addRequestProperty("Content-Type", "application/json"); - connection.addRequestProperty("User-Agent", "Java-DiscordWebhook-BY-Gelox_"); - connection.setDoOutput(true); - connection.setRequestMethod("POST"); - - OutputStream stream = connection.getOutputStream(); - stream.write(json.toString().getBytes()); - stream.flush(); - stream.close(); - - connection.getInputStream().close(); //I'm not sure why but it doesn't work without getting the InputStream - connection.disconnect(); } public static class EmbedObject { diff --git a/src/main/java/moe/sob/Main.java b/src/main/java/moe/sob/Main.java index cc7c658..3742aeb 100644 --- a/src/main/java/moe/sob/Main.java +++ b/src/main/java/moe/sob/Main.java @@ -18,6 +18,7 @@ import org.bukkit.plugin.java.JavaPlugin; import java.awt.*; import java.io.*; import java.net.HttpURLConnection; +import java.net.URI; import java.net.URL; import java.util.Date; import java.util.Objects; @@ -41,7 +42,7 @@ public class Main extends JavaPlugin { notify.addEmbed(embedObject); try { notify.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } } @@ -72,7 +73,7 @@ public class Main extends JavaPlugin { } // such cap - //Bukkit.getConsoleSender().sendMessage("Note: This Spigot/Bukkit plugin is highly verbose, so it will log a lot of events..."); + //Main.mainSmall.getLogger().info("Note: This Spigot/Bukkit plugin is highly verbose, so it will log a lot of events..."); // register commands try { Objects.requireNonNull(this.getCommand("info")).setExecutor(new InfoCommand()); @@ -106,7 +107,7 @@ public class Main extends JavaPlugin { return false; } - URL url = new URL(getPublicMessageWebhook()); + URL url = new URI(getPublicMessageWebhook()).toURL(); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); int responseCode = connection.getResponseCode(); @@ -117,8 +118,8 @@ public class Main extends JavaPlugin { return false; } } catch (Exception e) { - mainSmall.getLogger().warning("Invalid webhook URL provide for your public messages. Please provide the correct webhook and check for any typos. (Caught exception)"); - mainSmall.getLogger().severe(String.format("Exception: %s%n", e)); + mainSmall.getLogger().severe("Invalid webhook URL provide for your public messages. Please provide the correct webhook and check for any typos. (Caught exception)"); + //mainSmall.getLogger().severe(String.format("Exception: %s%n", e)); return false; } } @@ -130,7 +131,7 @@ public class Main extends JavaPlugin { return false; } - URL url = new URL(getNotifyWebhook()); + URL url = new URI(getNotifyWebhook()).toURL(); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); int responseCode = connection.getResponseCode(); @@ -141,7 +142,7 @@ public class Main extends JavaPlugin { return false; } } catch (Exception e) { - mainSmall.getLogger().warning("Invalid webhook URL provided for the event logs. Please provide the correct webhook and check for any typos. (Caught exception)"); + mainSmall.getLogger().severe("Invalid webhook URL provided for the event logs. Please provide the correct webhook and check for any typos. (Caught exception)"); return false; } } @@ -185,14 +186,14 @@ public class Main extends JavaPlugin { public void registerEvents() { PlayerChat playerChat = new PlayerChat(); PlayerCommandPreprocess playerCommandPreprocess = new PlayerCommandPreprocess(); - PlayerBedEnter playerBedEnter = new PlayerBedEnter(); - PlayerBedLeave playerBedLeave = new PlayerBedLeave(); + //PlayerBedEnter playerBedEnter = new PlayerBedEnter(); + //PlayerBedLeave playerBedLeave = new PlayerBedLeave(); // Redundant event WorldLoad worldLoad = new WorldLoad(); WorldUnload worldUnload = new WorldUnload(); getServer().getPluginManager().registerEvents(playerChat, this); getServer().getPluginManager().registerEvents(playerCommandPreprocess, this); - getServer().getPluginManager().registerEvents(playerBedEnter, this); - getServer().getPluginManager().registerEvents(playerBedLeave, this); + //getServer().getPluginManager().registerEvents(playerBedEnter, this); + //getServer().getPluginManager().registerEvents(playerBedLeave, this); getServer().getPluginManager().registerEvents(worldLoad, this); getServer().getPluginManager().registerEvents(worldUnload, this); } diff --git a/src/main/java/moe/sob/ServerUtils.java b/src/main/java/moe/sob/ServerUtils.java index 2fd4ee1..19a21cf 100644 --- a/src/main/java/moe/sob/ServerUtils.java +++ b/src/main/java/moe/sob/ServerUtils.java @@ -5,14 +5,13 @@ import org.bukkit.Server; import java.net.InetSocketAddress; import java.net.Socket; -import moe.sob.Main; public class ServerUtils { public static int port = 25565; public static String address_fallback = "localhost"; public static String webhook_notify = Main.getNotifyWebhook(); public static String webhook_messages = Main.getPublicMessageWebhook(); - public static String address = Utils.getServerHostPublicIP(); + public static String address = "localhost"; public static boolean serverIsUp(String serverAddress, Integer serverPort) { try { @@ -20,7 +19,7 @@ public class ServerUtils { Socket s = new Socket(); s.connect(new InetSocketAddress(serverAddress, Integer.parseInt(serverPort.toString())), 15); s.close(); - Bukkit.getConsoleSender().sendMessage("Server is online. Test notifying by sending a message to your webhook... (Pinged " + serverAddress + ":" + server.getPort() + ")"); + Main.mainSmall.getLogger().info("Server is online. Test notifying by sending a message to your webhook... (Pinged " + serverAddress + ":" + server.getPort() + ")"); return true; } catch (Exception e) { Main.mainSmall.getLogger().warning("Server is inactive. Pinging fallback address..."); @@ -29,10 +28,10 @@ public class ServerUtils { Socket s = new Socket(); s.connect(new InetSocketAddress(address_fallback, Integer.parseInt(serverPort.toString())), 15); s.close(); - Bukkit.getConsoleSender().sendMessage("Server is online. Sending message to webhook_notify... (Pinged " + Utils.getServerHostPublicIP() + ":" + server.getPort() + ")"); + Main.mainSmall.getLogger().info("Server is online. Sending message to webhook_notify... (Pinged " + Utils.getServerHostPublicIP() + ":" + server.getPort() + ")"); return true; } catch (Exception err) { - Bukkit.getConsoleSender().sendMessage("Fallback address is inactive. No longer pinging..."); + Main.mainSmall.getLogger().info("Fallback address is inactive. No longer pinging..."); } return false; } diff --git a/src/main/java/moe/sob/Utils.java b/src/main/java/moe/sob/Utils.java index 7d03118..d89938d 100644 --- a/src/main/java/moe/sob/Utils.java +++ b/src/main/java/moe/sob/Utils.java @@ -7,6 +7,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetAddress; +import java.net.URI; import java.net.URL; public class Utils { @@ -29,11 +30,11 @@ public class Utils { public static String getServerHostPublicIP() { String urlString = "http://myexternalip.com/raw"; try { - URL url = new URL(urlString); + URL url = new URI(urlString).toURL(); try (BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()))) { return br.readLine(); } - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/main/java/moe/sob/commands/SendMessageCommand.java b/src/main/java/moe/sob/commands/SendMessageCommand.java index 73251ea..595f486 100644 --- a/src/main/java/moe/sob/commands/SendMessageCommand.java +++ b/src/main/java/moe/sob/commands/SendMessageCommand.java @@ -7,8 +7,6 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import java.io.IOException; - public class SendMessageCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { @@ -26,7 +24,7 @@ public class SendMessageCommand implements CommandExecutor { discordWebhook.execute(); sender.sendMessage("Sent public message."); return true; - } catch (IOException e) { + } catch (Exception e) { sender.sendMessage("An error occurred while sending your message..."); throw new RuntimeException(e); } diff --git a/src/main/java/moe/sob/events/player/PlayerBedEnter.java b/src/main/java/moe/sob/events/player/PlayerBedEnter.java index b0a711f..e8fc7f8 100644 --- a/src/main/java/moe/sob/events/player/PlayerBedEnter.java +++ b/src/main/java/moe/sob/events/player/PlayerBedEnter.java @@ -3,21 +3,19 @@ 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.PlayerBedEnterEvent; import java.awt.*; -import java.io.IOException; import java.util.Date; public class PlayerBedEnter implements Listener { @EventHandler public void onPlayerBedEnter(PlayerBedEnterEvent event) { if (Main.configR.getBoolean("log")) { - Bukkit.getConsoleSender().sendMessage("Player entered a bed."); + Main.mainSmall.getLogger().info("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...") @@ -27,7 +25,7 @@ public class PlayerBedEnter implements Listener { notify.addEmbed(embedObject); try { notify.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/main/java/moe/sob/events/player/PlayerBedLeave.java b/src/main/java/moe/sob/events/player/PlayerBedLeave.java index 36038f8..9378bfd 100644 --- a/src/main/java/moe/sob/events/player/PlayerBedLeave.java +++ b/src/main/java/moe/sob/events/player/PlayerBedLeave.java @@ -3,31 +3,30 @@ 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.PlayerBedLeaveEvent; import java.awt.*; -import java.io.IOException; import java.util.Date; public class PlayerBedLeave implements Listener { @EventHandler public void onPlayerBedLeave(PlayerBedLeaveEvent event) { if (Main.configR.getBoolean("log")) { - Bukkit.getConsoleSender().sendMessage("Player left a bed"); Player player = event.getPlayer(); + Main.mainSmall.getLogger().info("Player left a bed"); DiscordWebhook notify = new DiscordWebhook(ServerUtils.webhook_notify); - DiscordWebhook.EmbedObject embedObject = new DiscordWebhook.EmbedObject().setTitle(player.getName() + " is no longer sleeping.") + 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) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/main/java/moe/sob/events/player/PlayerChat.java b/src/main/java/moe/sob/events/player/PlayerChat.java index 9dddab5..123bfc7 100644 --- a/src/main/java/moe/sob/events/player/PlayerChat.java +++ b/src/main/java/moe/sob/events/player/PlayerChat.java @@ -3,14 +3,11 @@ 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.AsyncPlayerChatEvent; import java.awt.*; -import java.io.IOException; import java.util.Date; public class PlayerChat implements Listener { @@ -29,7 +26,7 @@ public class PlayerChat implements Listener { notify.addEmbed(embedObject); try { notify.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/main/java/moe/sob/events/player/PlayerCommandPreprocess.java b/src/main/java/moe/sob/events/player/PlayerCommandPreprocess.java index cb63a30..e37a6a6 100644 --- a/src/main/java/moe/sob/events/player/PlayerCommandPreprocess.java +++ b/src/main/java/moe/sob/events/player/PlayerCommandPreprocess.java @@ -3,14 +3,12 @@ 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.PlayerCommandPreprocessEvent; import java.awt.*; -import java.io.IOException; import java.sql.Timestamp; import java.util.Date; @@ -18,7 +16,7 @@ public class PlayerCommandPreprocess implements Listener { @EventHandler public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { if (Main.configR.getBoolean("log")) { - Bukkit.getConsoleSender().sendMessage("%s used a command".formatted(event.getPlayer().getName())); + Main.mainSmall.getLogger().info("%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); @@ -30,7 +28,7 @@ public class PlayerCommandPreprocess implements Listener { notify.addEmbed(embedObject); try { notify.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } @@ -45,7 +43,7 @@ public class PlayerCommandPreprocess implements Listener { ntf.addEmbed(embed); try { ntf.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/main/java/moe/sob/events/player/PlayerJoin.java b/src/main/java/moe/sob/events/player/PlayerJoin.java index 1336a0a..fae819f 100644 --- a/src/main/java/moe/sob/events/player/PlayerJoin.java +++ b/src/main/java/moe/sob/events/player/PlayerJoin.java @@ -4,21 +4,19 @@ import moe.sob.DiscordWebhook; import moe.sob.Main; import moe.sob.ServerUtils; import org.bukkit.Bukkit; -import org.bukkit.Server; 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.io.IOException; import java.util.Date; public class PlayerJoin implements Listener { @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { if (Main.configR.getBoolean("log")) { - Bukkit.getConsoleSender().sendMessage("A player has joined the server."); + Main.mainSmall.getLogger().info("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.") @@ -29,7 +27,7 @@ public class PlayerJoin implements Listener { try { Bukkit.broadcastMessage(Main.getGreetMessage(player)); notify.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/main/java/moe/sob/events/player/PlayerQuit.java b/src/main/java/moe/sob/events/player/PlayerQuit.java index ff0e235..9ba737b 100644 --- a/src/main/java/moe/sob/events/player/PlayerQuit.java +++ b/src/main/java/moe/sob/events/player/PlayerQuit.java @@ -3,21 +3,17 @@ 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.PlayerQuitEvent; import java.awt.*; -import java.io.IOException; import java.util.Date; public class PlayerQuit implements Listener { @EventHandler public void onPlayerQuit(PlayerQuitEvent event) { if (Main.configR.getBoolean("log")) { - Bukkit.getConsoleSender().sendMessage("A player has left the server."); - Player player = event.getPlayer(); + 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) @@ -26,7 +22,7 @@ public class PlayerQuit implements Listener { notify.addEmbed(embedObject); try { notify.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/main/java/moe/sob/events/server/ServerLoad.java b/src/main/java/moe/sob/events/server/ServerLoad.java index 8b24147..c7d9d9e 100644 --- a/src/main/java/moe/sob/events/server/ServerLoad.java +++ b/src/main/java/moe/sob/events/server/ServerLoad.java @@ -2,7 +2,6 @@ package moe.sob.events.server; import moe.sob.DiscordWebhook; import moe.sob.Main; -import moe.sob.ServerUtils; import moe.sob.Utils; import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; @@ -10,43 +9,50 @@ import org.bukkit.event.Listener; import org.bukkit.event.server.ServerLoadEvent; import java.awt.*; -import java.io.IOException; import java.util.Date; import moe.sob.DiscordWebhook.EmbedObject; -import static moe.sob.ServerUtils.address; public class ServerLoad implements Listener { - public static int timesCalled = 0; + //public static int timesCalled = 0; + @EventHandler public void onServerStart(ServerLoadEvent event) { - Bukkit.getConsoleSender().sendMessage("Triggered ServerLoad event."); - if (timesCalled < 1) { - Bukkit.getConsoleSender().sendMessage("Checking if server is up on " + ServerUtils.address + " with port " + Bukkit.getServer().getPort() + "..."); - if (ServerUtils.serverIsUp(address, Bukkit.getServer().getPort())) { - // System.out.println(ServerUtils.webhook_messages); // What the fuck!! - // System.out.println(ServerUtils.webhook_notify); - DiscordWebhook notify = new DiscordWebhook(Main.getNotifyWebhook()); - EmbedObject embedObject = new EmbedObject().setTitle("Server started up successfully").setDescription(String.format("The server at %s:%d has started successfully.", Utils.getServerHostPublicIP(), Bukkit.getServer().getPort())) - .addField("Date of start", new Date().toString(), false) - .setColor(Color.GREEN); - if (!Main.configR.getBoolean("log")) - embedObject.addField("Extra notes", "The server will not try to log any events.", false); - notify.addEmbed(embedObject); - try { - notify.execute(); - } catch (IOException e) { - throw new RuntimeException(e); - } - timesCalled++; - } else { - Bukkit.getConsoleSender().sendMessage("OnServerStart was called, but the server is currently offline... This may trigger more than once."); - } - } else { - Bukkit.getConsoleSender().sendMessage("(debug) server start event was called more than 1 time"); + Main.mainSmall.getLogger().info("Triggered ServerLoad event."); + /* + * if (timesCalled < 1) { + * Main.mainSmall.getLogger().info("Checking if server is up on " + + * ServerUtils.address + " with port " + Bukkit.getServer().getPort() + "..."); + * if (ServerUtils.serverIsUp(address, Bukkit.getServer().getPort())) { + */ + // System.out.println(ServerUtils.webhook_messages); // What the fuck!! + // System.out.println(ServerUtils.webhook_notify); + DiscordWebhook notify = new DiscordWebhook(Main.getNotifyWebhook()); + EmbedObject embedObject = new EmbedObject().setTitle("Server started up successfully") + .setDescription(String.format("The server at %s:%d has started successfully.", + Utils.getServerHostPublicIP(), Bukkit.getServer().getPort())) + .addField("Date of start", new Date().toString(), false) + .setColor(Color.GREEN); + if (!Main.configR.getBoolean("log")) + embedObject.addField("Extra notes", "The server will not try to log any events.", false); + notify.addEmbed(embedObject); + try { + notify.execute(); + } catch (Exception e) { + throw new RuntimeException(e); } + /* + * } else { + * Main.mainSmall.getLogger(). + * info("OnServerStart was called, but the server is currently offline... This may trigger more than once." + * ); + * } + * } else { + * Main.mainSmall.getLogger(). + * info("(debug) server start event was called more than 1 time"); + * } + */ } - } \ No newline at end of file diff --git a/src/main/java/moe/sob/events/world/WorldLoad.java b/src/main/java/moe/sob/events/world/WorldLoad.java index 52cc678..83878e2 100644 --- a/src/main/java/moe/sob/events/world/WorldLoad.java +++ b/src/main/java/moe/sob/events/world/WorldLoad.java @@ -3,20 +3,18 @@ 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; import org.bukkit.event.Listener; import org.bukkit.event.world.WorldLoadEvent; import java.awt.*; -import java.io.IOException; import java.util.Date; public class WorldLoad implements Listener { @EventHandler public void onWorldLoad(WorldLoadEvent event) { if (Main.configR.getBoolean("log")) { - Bukkit.getConsoleSender().sendMessage("Triggered WorldLoad event."); + Main.mainSmall.getLogger().info("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) @@ -25,7 +23,7 @@ public class WorldLoad implements Listener { notify.addEmbed(embedObject); try { notify.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/main/java/moe/sob/events/world/WorldUnload.java b/src/main/java/moe/sob/events/world/WorldUnload.java index 46a71f0..57453a2 100644 --- a/src/main/java/moe/sob/events/world/WorldUnload.java +++ b/src/main/java/moe/sob/events/world/WorldUnload.java @@ -3,20 +3,18 @@ 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; import org.bukkit.event.Listener; import org.bukkit.event.world.WorldUnloadEvent; import java.awt.*; -import java.io.IOException; import java.util.Date; public class WorldUnload implements Listener { @EventHandler public void onWorldUnload(WorldUnloadEvent event) { if (Main.configR.getBoolean("log")) { - Bukkit.getConsoleSender().sendMessage("Triggered WorldUnload event."); + Main.mainSmall.getLogger().info("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) @@ -25,7 +23,7 @@ public class WorldUnload implements Listener { notify.addEmbed(embedObject); try { notify.execute(); - } catch (IOException e) { + } catch (Exception e) { throw new RuntimeException(e); } }