fix tracker. again.

This commit is contained in:
YouHaveTrouble
2021-03-17 20:56:08 +01:00
parent 9d45a1ea02
commit 5a7b38e62f
@@ -26,25 +26,31 @@ public class PlayerManager {
playerList.put(p.getUniqueId(), playerData); playerList.put(p.getUniqueId(), playerData);
} }
combatTrackerTask = Bukkit.getScheduler().runTaskTimerAsynchronously(TogglePvp.getPlugin(), () -> playerList.forEach((uuid, playerData) -> { combatTrackerTask = Bukkit.getScheduler().runTaskTimerAsynchronously(TogglePvp.getPlugin(), () -> {
if (!(!CombatTimer.isInCombat(uuid) && playerData.getLastCombatCheck())) { playerList.forEach(((uuid, playerData) -> {
PlayerLeaveCombatEvent playerLeaveCombatEvent = new PlayerLeaveCombatEvent(Bukkit.getPlayer(uuid)); if (!CombatTimer.isInCombat(uuid)) {
Bukkit.getScheduler().runTask(TogglePvp.getPlugin(), () -> { if (playerData.getLastCombatCheck()) {
Bukkit.getPluginManager().callEvent(playerLeaveCombatEvent); Player player = Bukkit.getPlayer(uuid);
if (playerLeaveCombatEvent.isCancelled()) { if (player == null)
playerData.setLastCombatCheck(true); return;
playerData.refreshCombatTime(); PlayerLeaveCombatEvent playerLeaveCombatEvent = new PlayerLeaveCombatEvent(player);
} else { Bukkit.getScheduler().runTask(TogglePvp.getPlugin(), () -> {
playerData.setLastCombatCheck(false); Bukkit.getPluginManager().callEvent(playerLeaveCombatEvent);
playerData.setInCombat(false); if (playerLeaveCombatEvent.isCancelled()) {
PluginMessages.sendActionBar(uuid, TogglePvp.getPlugin().getConfigCache().getLeaving_combat()); playerData.refreshCombatTime();
return;
}
playerData.setLastCombatCheck(false);
playerData.setInCombat(false);
PluginMessages.sendActionBar(uuid, TogglePvp.getPlugin().getConfigCache().getLeaving_combat());
});
} }
}); } else {
} else { playerData.setLastCombatCheck(true);
playerData.setLastCombatCheck(true); }
playerData.refreshCachetime(); }));
} }, 20, 20);
}), 20, 20);
} }
public void refreshPlayersCacheTime(UUID uuid) { public void refreshPlayersCacheTime(UUID uuid) {