mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-12 05:16:55 +00:00
47 lines
1.7 KiB
Java
47 lines
1.7 KiB
Java
package eu.endermite.togglepvp.util;
|
|
|
|
import eu.endermite.togglepvp.TogglePvp;
|
|
import eu.endermite.togglepvp.api.event.PlayerEnterCombatEvent;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.entity.Player;
|
|
import java.time.Instant;
|
|
import java.util.UUID;
|
|
|
|
public class CombatTimer {
|
|
|
|
public static void refreshPlayersCombatTime(UUID uuid) {
|
|
try {
|
|
long now = Instant.now().getEpochSecond();
|
|
long combattime = TogglePvp.getPlugin().getSmartCache().getPlayerData(uuid).getCombattime();
|
|
|
|
Player player = Bukkit.getPlayer(uuid);
|
|
PlayerEnterCombatEvent playerEnterCombatEvent = new PlayerEnterCombatEvent(player);
|
|
Bukkit.getScheduler().runTask(TogglePvp.getPlugin(), () -> {
|
|
Bukkit.getPluginManager().callEvent(playerEnterCombatEvent);
|
|
if (playerEnterCombatEvent.isCancelled())
|
|
return;
|
|
TogglePvp.getPlugin().getPlayerManager().refreshPlayersCombatTime(uuid);
|
|
|
|
if (combattime <= now) {
|
|
PluginMessages.sendActionBar(uuid, TogglePvp.getPlugin().getConfigCache().getEntering_combat());
|
|
}
|
|
});
|
|
} catch (Exception ignored) {
|
|
}
|
|
}
|
|
|
|
public static void refreshPlayersCombatTime(UUID attacker_uuid, UUID victim_uuid) {
|
|
refreshPlayersCombatTime(attacker_uuid);
|
|
refreshPlayersCombatTime(victim_uuid);
|
|
}
|
|
|
|
public static boolean isInCombat(UUID uuid) {
|
|
try {
|
|
return TogglePvp.getPlugin().getPlayerManager().getPlayer(uuid).getCombattime() >= Instant.now().getEpochSecond();
|
|
} catch (Exception e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
}
|