Skip to content

Commit dd06f8f

Browse files
committed
(api) make login push able to cache message for afk players
1 parent f8ad1f5 commit dd06f8f

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/main/java/cat/nyaa/ukit/api/UKitAPI.java

+10
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import cat.nyaa.ukit.SpigotLoader;
44
import cat.nyaa.ukit.loginpush.LoginPushRecorder;
5+
import cat.nyaa.ukit.utils.EssentialsPluginUtils;
56
import net.kyori.adventure.text.Component;
67
import org.bukkit.NamespacedKey;
78

@@ -27,4 +28,13 @@ public static UKitAPI getAPIInstance() {
2728
public void createLoginPush(UUID playerUniqueID, Component message, Component senderName) throws SQLException {
2829
loginPushRecorder.createLoginPush(playerUniqueID, message, senderName);
2930
}
31+
32+
public void pushMessage(UUID playerUniqueID, Component message, Component senderName) throws SQLException {
33+
var player = pluginInstance.getServer().getPlayer(playerUniqueID);
34+
if (player == null || !player.isOnline() || EssentialsPluginUtils.isAFK(playerUniqueID)) {
35+
createLoginPush(playerUniqueID, message, senderName);
36+
} else {
37+
player.sendMessage(message);
38+
}
39+
}
3040
}

src/main/java/cat/nyaa/ukit/utils/EssentialsPluginUtils.java

+7
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ public static boolean hasNick(UUID uniqueID) {
4040
return essentials.getUser(uniqueID).getNickname() != null;
4141
}
4242

43+
public static boolean isAFK(UUID uniqueID) {
44+
if (!enabled) {
45+
return false;
46+
}
47+
return essentials.getUser(uniqueID).isAfk();
48+
}
49+
4350
public static Object nickWithHoverOrNormalName(UUID uniqueID) {
4451
return EssentialsPluginUtils.isEnabled() && EssentialsPluginUtils.hasNick(uniqueID) ?
4552
LegacyComponentSerializer.legacySection().deserialize(EssentialsPluginUtils.getPlayerNickName(uniqueID))

0 commit comments

Comments
 (0)