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; 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; @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"); } } }