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)) {
if (playerData.getLastCombatCheck()) {
Player player = Bukkit.getPlayer(uuid);
if (player == null)
return;
PlayerLeaveCombatEvent playerLeaveCombatEvent = new PlayerLeaveCombatEvent(player);
Bukkit.getScheduler().runTask(TogglePvp.getPlugin(), () -> { Bukkit.getScheduler().runTask(TogglePvp.getPlugin(), () -> {
Bukkit.getPluginManager().callEvent(playerLeaveCombatEvent); Bukkit.getPluginManager().callEvent(playerLeaveCombatEvent);
if (playerLeaveCombatEvent.isCancelled()) { if (playerLeaveCombatEvent.isCancelled()) {
playerData.setLastCombatCheck(true);
playerData.refreshCombatTime(); playerData.refreshCombatTime();
} else { return;
}
playerData.setLastCombatCheck(false); playerData.setLastCombatCheck(false);
playerData.setInCombat(false); playerData.setInCombat(false);
PluginMessages.sendActionBar(uuid, TogglePvp.getPlugin().getConfigCache().getLeaving_combat()); 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) {