4
4
import cat .nyaa .ukit .utils .SubCommandExecutor ;
5
5
import cat .nyaa .ukit .utils .SubTabCompleter ;
6
6
import land .melon .lab .simplelanguageloader .utils .Pair ;
7
+ import net .ess3 .api .events .AfkStatusChangeEvent ;
7
8
import net .kyori .adventure .text .Component ;
8
9
import org .bukkit .Bukkit ;
9
10
import org .bukkit .command .Command ;
@@ -77,20 +78,17 @@ public boolean invokeCommand(CommandSender commandSender, Command command, Strin
77
78
@ EventHandler
78
79
public void onPlayerJoin (PlayerJoinEvent event ) {
79
80
Bukkit .getAsyncScheduler ().runNow (pluginInstance ,(task )->{
80
- try {
81
- int unreadPush = loginPushRecorder .countUnreadPush (event .getPlayer ().getUniqueId ());
82
- if (unreadPush > 0 ) {
83
- Bukkit .getGlobalRegionScheduler ().runDelayed (pluginInstance , (ignored ) -> event .getPlayer ().sendMessage (pluginInstance .language .loginPushLang .login_push_notice .produce (
84
- Pair .of ("number" , unreadPush )
85
- )), 20 * 3 );
86
- }
87
- } catch (SQLException e ) {
88
- e .printStackTrace ();
89
- event .getPlayer ().sendMessage (pluginInstance .language .commonLang .sqlErrorOccurred .produce ());
90
- }
81
+ countAndSendMessageIfHasMessage (event .getPlayer ());
91
82
});
92
83
}
93
84
85
+ @ EventHandler
86
+ public void onAFKStatusChange (AfkStatusChangeEvent event ) {
87
+ if (!event .getValue ()) {
88
+ countAndSendMessageIfHasMessage (event .getAffected ().getBase ());
89
+ }
90
+ }
91
+
94
92
@ Override
95
93
public String getHelp () {
96
94
return pluginInstance .language .loginPushLang .news_help .produce ();
@@ -109,4 +107,18 @@ public boolean checkPermission(CommandSender commandSender) {
109
107
public LoginPushRecorder getLoginPushRecorder () {
110
108
return loginPushRecorder ;
111
109
}
110
+
111
+ private void countAndSendMessageIfHasMessage (Player player ) {
112
+ try {
113
+ int unreadPush = loginPushRecorder .countUnreadPush (player .getUniqueId ());
114
+ if (unreadPush > 0 ) {
115
+ Bukkit .getGlobalRegionScheduler ().runDelayed (pluginInstance , (ignored ) -> player .sendMessage (pluginInstance .language .loginPushLang .login_push_notice .produce (
116
+ Pair .of ("number" , unreadPush )
117
+ )), 20 * 3 );
118
+ }
119
+ } catch (SQLException e ) {
120
+ pluginInstance .getLogger ().warning (e .getMessage ());
121
+ player .sendMessage (pluginInstance .language .commonLang .sqlErrorOccurred .produce ());
122
+ }
123
+ }
112
124
}
0 commit comments