Skip to content

Commit 4391078

Browse files
committed
(func) send unread message notice every time player recovery from afk if they have any
1 parent dd06f8f commit 4391078

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>cat.nyaa</groupId>
88
<artifactId>ukit</artifactId>
9-
<version>1.7.1</version>
9+
<version>1.7.2</version>
1010

1111
<properties>
1212
<maven.compiler.source>21</maven.compiler.source>

src/main/java/cat/nyaa/ukit/loginpush/LoginPushFunction.java

+23-11
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import cat.nyaa.ukit.utils.SubCommandExecutor;
55
import cat.nyaa.ukit.utils.SubTabCompleter;
66
import land.melon.lab.simplelanguageloader.utils.Pair;
7+
import net.ess3.api.events.AfkStatusChangeEvent;
78
import net.kyori.adventure.text.Component;
89
import org.bukkit.Bukkit;
910
import org.bukkit.command.Command;
@@ -77,20 +78,17 @@ public boolean invokeCommand(CommandSender commandSender, Command command, Strin
7778
@EventHandler
7879
public void onPlayerJoin(PlayerJoinEvent event) {
7980
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());
9182
});
9283
}
9384

85+
@EventHandler
86+
public void onAFKStatusChange(AfkStatusChangeEvent event) {
87+
if (!event.getValue()) {
88+
countAndSendMessageIfHasMessage(event.getAffected().getBase());
89+
}
90+
}
91+
9492
@Override
9593
public String getHelp() {
9694
return pluginInstance.language.loginPushLang.news_help.produce();
@@ -109,4 +107,18 @@ public boolean checkPermission(CommandSender commandSender) {
109107
public LoginPushRecorder getLoginPushRecorder() {
110108
return loginPushRecorder;
111109
}
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+
}
112124
}

0 commit comments

Comments
 (0)