diff --git a/api/src/main/java/com/alttd/chat/config/Config.java b/api/src/main/java/com/alttd/chat/config/Config.java index 0e7e8cb..380dd28 100755 --- a/api/src/main/java/com/alttd/chat/config/Config.java +++ b/api/src/main/java/com/alttd/chat/config/Config.java @@ -424,6 +424,7 @@ public final class Config { public static String mailUnread = "You have unread mail, click to view it."; public static String mailSent = "Successfully send mail to : <#2e8b57>"; public static List mailCommandAlias = new ArrayList<>(); + public static int mailDisplayDelay = 5; private static void mailSettings() { mailHeader = getString("settings.mail.header", mailHeader); mailBody = getString("settings.mail.message", mailBody); @@ -432,6 +433,7 @@ public final class Config { mailReceived = getString("settings.mail.mail-received", mailReceived); mailUnread = getString("settings.mail.mail-unread", mailUnread); mailSent = getString("settings.mail.mail-sent", mailSent); + mailDisplayDelay = getInt("settings.mail.delay", mailDisplayDelay); } public static HashMap serverChannelId = new HashMap<>(); diff --git a/velocity/src/main/java/com/alttd/velocitychat/listeners/ProxyPlayerListener.java b/velocity/src/main/java/com/alttd/velocitychat/listeners/ProxyPlayerListener.java index f8c2f83..b269b05 100755 --- a/velocity/src/main/java/com/alttd/velocitychat/listeners/ProxyPlayerListener.java +++ b/velocity/src/main/java/com/alttd/velocitychat/listeners/ProxyPlayerListener.java @@ -23,8 +23,10 @@ import com.velocitypowered.api.proxy.server.RegisteredServer; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; +import net.kyori.adventure.title.Title; import java.util.*; +import java.util.concurrent.TimeUnit; public class ProxyPlayerListener { @@ -68,9 +70,17 @@ public class ProxyPlayerListener { List unReadMail = chatUser.getUnReadMail(); if (unReadMail.isEmpty()) return; - player.sendMessage(Utility.parseMiniMessage(Config.mailUnread, - Placeholder.unparsed("amount", String.valueOf(unReadMail.size())) - )); + VelocityChat plugin = VelocityChat.getPlugin(); + plugin.getProxy().getScheduler().buildTask(plugin, () -> { + if (!player.isActive()) + return; + + Component message = Utility.parseMiniMessage(Config.mailUnread, + Placeholder.unparsed("amount", String.valueOf(unReadMail.size()))); + player.sendMessage(message); + player.showTitle(Title.title(message, Component.empty())); + }).delay(Config.mailDisplayDelay * 50L, TimeUnit.MILLISECONDS).schedule(); + } @Subscribe