mirror of
https://github.com/carm-outsource/TimeReward.git
synced 2026-06-05 01:08:10 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ca0e4bbd6b |
@@ -107,7 +107,7 @@
|
|||||||
|
|
||||||
若您觉得本插件做的不错,您可以捐赠支持我,感谢您成为开源项目的支持者!
|
若您觉得本插件做的不错,您可以捐赠支持我,感谢您成为开源项目的支持者!
|
||||||
|
|
||||||
万分感谢 [egg_拿]() 赞助本项目的开发与维护!
|
万分感谢 [egg_拿]() 与 [ayoiz](https://github.com/ayoi2) 赞助本项目的开发与维护!
|
||||||
|
|
||||||
Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.
|
Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.
|
||||||
[](https://www.jetbrains.com/?from=https://github.com/CarmJos/UserPrefix)
|
[](https://www.jetbrains.com/?from=https://github.com/CarmJos/UserPrefix)
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<groupId>cc.carm.plugin</groupId>
|
<groupId>cc.carm.plugin</groupId>
|
||||||
<artifactId>timereward</artifactId>
|
<artifactId>timereward</artifactId>
|
||||||
<version>3.1.2</version>
|
<version>3.1.3</version>
|
||||||
|
|
||||||
<name>TimeReward</name>
|
<name>TimeReward</name>
|
||||||
<description>在线时长自动领奖插件,通过指令发放奖励,基于EasyPlugin实现。</description>
|
<description>在线时长自动领奖插件,通过指令发放奖励,基于EasyPlugin实现。</description>
|
||||||
|
|||||||
@@ -2,26 +2,32 @@ package cc.carm.plugin.timereward.listener;
|
|||||||
|
|
||||||
import cc.carm.plugin.timereward.Main;
|
import cc.carm.plugin.timereward.Main;
|
||||||
import cc.carm.plugin.timereward.TimeRewardAPI;
|
import cc.carm.plugin.timereward.TimeRewardAPI;
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class UserListener implements Listener {
|
public class UserListener implements Listener {
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onJoin(PlayerJoinEvent event) {
|
public void onJoin(PlayerJoinEvent event) {
|
||||||
TimeRewardAPI.getUserManager().load(event.getPlayer().getUniqueId(), true).thenAccept(data -> {
|
@Nullable Player player = event.getPlayer();
|
||||||
Player player = Bukkit.getPlayer(data.getUserUUID());
|
// Delayed load to avoid async error
|
||||||
if (player == null || !player.isOnline()) {
|
Main.getInstance().getScheduler().runLater(20L, () -> {
|
||||||
TimeRewardAPI.getUserManager().unload(data.getUserUUID());
|
if (player == null || !player.isOnline()) return;
|
||||||
} // 不在线自动卸载
|
TimeRewardAPI.getUserManager()
|
||||||
}).exceptionally(ex -> {
|
.load(event.getPlayer().getUniqueId(), true)
|
||||||
Main.severe("加载用户在线时长数据失败: " + event.getPlayer().getName());
|
.thenAccept(data -> {
|
||||||
ex.printStackTrace();
|
if (!player.isOnline()) { // 不在线自动卸载
|
||||||
return null;
|
TimeRewardAPI.getUserManager().unload(data.getUserUUID(), false);
|
||||||
|
}
|
||||||
|
}).exceptionally(ex -> {
|
||||||
|
Main.severe("加载用户在线时长数据失败: " + event.getPlayer().getName());
|
||||||
|
ex.printStackTrace();
|
||||||
|
return null;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user