diff --git a/src/main/java/buttondevteam/discordplugin/ChromaBot.java b/src/main/java/buttondevteam/discordplugin/ChromaBot.java new file mode 100644 index 0000000..9acc861 --- /dev/null +++ b/src/main/java/buttondevteam/discordplugin/ChromaBot.java @@ -0,0 +1,11 @@ +package buttondevteam.discordplugin; + +import lombok.Getter; + +public class ChromaBot { + /** + * May be null if it's not initialized + */ + public @Getter ChromaBot instance; + // TODO +} diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java index 4b7fe3e..41abe7d 100644 --- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java +++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java @@ -44,14 +44,21 @@ public class DiscordPlugin extends JavaPlugin implements IListener { public static DiscordPlugin plugin; public static boolean SafeMode = true; public static List GameRoles; + public static boolean hooked = false; @SuppressWarnings("unchecked") @Override public void onEnable() { try { Bukkit.getLogger().info("Initializing DiscordPlugin..."); - PlayerListWatcher.hookUp(); - Bukkit.getLogger().info("Finished hooking into the player list"); + try { + PlayerListWatcher.hookUp(); + hooked = true; + Bukkit.getLogger().info("Finished hooking into the player list"); + } catch (Throwable e) { + e.printStackTrace(); + Bukkit.getLogger().warning("Couldn't hook into the player list!"); + } plugin = this; lastannouncementtime = getConfig().getLong("lastannouncementtime"); lastseentime = getConfig().getLong("lastseentime"); diff --git a/src/main/java/buttondevteam/discordplugin/listeners/MCListener.java b/src/main/java/buttondevteam/discordplugin/listeners/MCListener.java index 6f1bf9a..0ee2a35 100644 --- a/src/main/java/buttondevteam/discordplugin/listeners/MCListener.java +++ b/src/main/java/buttondevteam/discordplugin/listeners/MCListener.java @@ -68,7 +68,8 @@ public class MCListener implements Listener { + " do /discord accept"); p.sendMessage("§bIf it wasn't you, do /discord decline"); } - MCChatListener.sendSystemMessageToChat(e.GetPlayer().PlayerName().get() + " joined the game"); + if (!DiscordPlugin.hooked) + MCChatListener.sendSystemMessageToChat(e.GetPlayer().PlayerName().get() + " joined the game"); MCChatListener.ListC = 0; DiscordPlugin.updatePlayerList(); } @@ -83,7 +84,8 @@ public class MCListener implements Listener { () -> MCChatListener.ConnectedSenders.values().stream() .filter(s -> s.getUniqueId().equals(e.getPlayer().getUniqueId())).findAny() .ifPresent(dcp -> callEventExcludingSome(new PlayerJoinEvent(dcp, "")))); - MCChatListener.sendSystemMessageToChat(e.GetPlayer().PlayerName().get() + " left the game"); + if (!DiscordPlugin.hooked) + MCChatListener.sendSystemMessageToChat(e.GetPlayer().PlayerName().get() + " left the game"); Bukkit.getScheduler().runTaskLaterAsynchronously(DiscordPlugin.plugin, DiscordPlugin::updatePlayerList, 5); } @@ -105,7 +107,8 @@ public class MCListener implements Listener { @EventHandler(priority = EventPriority.LOW) public void onPlayerDeath(PlayerDeathEvent e) { - MCChatListener.sendSystemMessageToChat(e.getDeathMessage()); + if (!DiscordPlugin.hooked) + MCChatListener.sendSystemMessageToChat(e.getDeathMessage()); } @EventHandler