mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-11 21:06:55 +00:00
do database calls async
This commit is contained in:
+19
-4
@@ -4,11 +4,13 @@ import eu.endermite.togglepvp.TogglePvp;
|
|||||||
import eu.endermite.togglepvp.players.PlayerData;
|
import eu.endermite.togglepvp.players.PlayerData;
|
||||||
import eu.endermite.togglepvp.players.SmartCache;
|
import eu.endermite.togglepvp.players.SmartCache;
|
||||||
import eu.endermite.togglepvp.util.PluginMessages;
|
import eu.endermite.togglepvp.util.PluginMessages;
|
||||||
|
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 java.time.Instant;
|
import java.time.Instant;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
@eu.endermite.togglepvp.util.Listener
|
@eu.endermite.togglepvp.util.Listener
|
||||||
public class PlayerJoinAndLeaveListener implements Listener {
|
public class PlayerJoinAndLeaveListener implements Listener {
|
||||||
@@ -18,9 +20,21 @@ public class PlayerJoinAndLeaveListener implements Listener {
|
|||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent event) {
|
public void onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
SmartCache smartCache = TogglePvp.getPlugin().getSmartCache();
|
UUID uuid = player.getUniqueId();
|
||||||
PlayerData playerData = smartCache.getPlayerData(player.getUniqueId());
|
|
||||||
playerData.setLoginTimestamp(Instant.now().getEpochSecond());
|
PlayerData playerData = TogglePvp.getPlugin().getPlayerManager().getPlayer(player.getUniqueId());
|
||||||
|
long time = Instant.now().getEpochSecond();
|
||||||
|
if (playerData == null) {
|
||||||
|
TogglePvp.getPlugin().getPlayerManager().addPlayer(uuid, new PlayerData(false));
|
||||||
|
Bukkit.getScheduler().runTaskAsynchronously(TogglePvp.getPlugin(), () -> {
|
||||||
|
PlayerData data = TogglePvp.getPlugin().getSqLite().getPlayerInfo(uuid);
|
||||||
|
TogglePvp.getPlugin().getPlayerManager().addPlayer(uuid, data);
|
||||||
|
data.setLoginTimestamp(time);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
playerData.refreshCachetime();
|
||||||
|
playerData.setLoginTimestamp(time);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,7 +44,8 @@ public class PlayerJoinAndLeaveListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerLeave(org.bukkit.event.player.PlayerQuitEvent event) {
|
public void onPlayerLeave(org.bukkit.event.player.PlayerQuitEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
TogglePvp.getPlugin().getSqLite().updatePlayerInfo(player.getUniqueId(), TogglePvp.getPlugin().getPlayerManager().getPlayer(player.getUniqueId()));
|
Bukkit.getScheduler().runTaskAsynchronously(TogglePvp.getPlugin(), () -> TogglePvp.getPlugin().getSqLite().updatePlayerInfo(player.getUniqueId(), TogglePvp.getPlugin().getPlayerManager().getPlayer(player.getUniqueId())));
|
||||||
|
|
||||||
if (!TogglePvp.getPlugin().getConfigCache().isPunish_for_combat_logout())
|
if (!TogglePvp.getPlugin().getConfigCache().isPunish_for_combat_logout())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user