From e9ed40848952a3cca0b78f0e7369117726835010 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Wed, 21 Jun 2023 23:14:55 +0200 Subject: [PATCH] Changed afk now bar to be afk kick soon --- .../com/alttd/afkdectector/AFKCheckTimer.java | 5 ++++- .../alttd/afkdectector/afkplayer/AFKPlayer.java | 16 +++++++++------- .../com/alttd/afkdectector/config/Messages.java | 1 + 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/alttd/afkdectector/AFKCheckTimer.java b/src/main/java/com/alttd/afkdectector/AFKCheckTimer.java index bc2b195..9337289 100755 --- a/src/main/java/com/alttd/afkdectector/AFKCheckTimer.java +++ b/src/main/java/com/alttd/afkdectector/AFKCheckTimer.java @@ -55,6 +55,9 @@ public class AFKCheckTimer extends BukkitRunnable { if (!afkPlayer.isAFK() && System.currentTimeMillis() - standingTime > TimeUnit.MINUTES.toMillis(Config.TOGGLE_TIME)) { setPlayerAFK(afkPlayer, player); } + if (afkPlayer.isAFK()) { + afkPlayer.updateBossBarProgress((int) TimeUnit.MINUTES.toSeconds(afkPlayer.getAfkTimeMinutes())); + } runMessageTimerCheck(afkPlayer, uuid, standingTime); } } @@ -109,7 +112,7 @@ public class AFKCheckTimer extends BukkitRunnable { } private void runMessageTimerCheck(AFKPlayer afkPlayer, UUID uuid, long standingTime) { - if (System.currentTimeMillis() - standingTime > TimeUnit.MINUTES.toMillis(afkPlayer.getAfkTime())) { + if (System.currentTimeMillis() - standingTime > TimeUnit.MINUTES.toMillis(afkPlayer.getAfkTimeMinutes())) { MessageTimer currentTimer = plugin.messageTimers.get(uuid); if (currentTimer == null) { currentTimer = new MessageTimer(plugin, afkPlayer, Config.MESSAGE_REPEATS); diff --git a/src/main/java/com/alttd/afkdectector/afkplayer/AFKPlayer.java b/src/main/java/com/alttd/afkdectector/afkplayer/AFKPlayer.java index c220e68..59f94db 100755 --- a/src/main/java/com/alttd/afkdectector/afkplayer/AFKPlayer.java +++ b/src/main/java/com/alttd/afkdectector/afkplayer/AFKPlayer.java @@ -29,7 +29,7 @@ public class AFKPlayer { private boolean isWarned; private final BossBar bossBar; private final String afkSoon; - private final String afkNow; + private final String afkKickSoon; public AFKPlayer(Player player, AFKDetector plugin) { this.playerName = player.getName(); @@ -41,7 +41,7 @@ public class AFKPlayer { this.bossBar = Bukkit.createBossBar("Time until AFK", BarColor.PURPLE, BarStyle.SOLID); MiniMessage miniMessage = MiniMessage.miniMessage(); this.afkSoon = LegacyComponentSerializer.builder().build().serialize(miniMessage.deserialize(Messages.AFK_SOON_BOSS_BAR.getMessage())); - this.afkNow = LegacyComponentSerializer.builder().build().serialize(miniMessage.deserialize(Messages.AFK_NOW_BOSS_BAR.getMessage())); + this.afkKickSoon = LegacyComponentSerializer.builder().build().serialize(miniMessage.deserialize(Messages.AFK_KICK_SOON_BOSS_BAR.getMessage())); } public String getPlayerName() { @@ -68,7 +68,7 @@ public class AFKPlayer { standingTime = Time; } - public int getAfkTime() { + public int getAfkTimeMinutes() { if (isInSpawn()) return this.afkTime + Config.EXTRA_MIN_IN_SPAWN; return this.afkTime; @@ -96,7 +96,8 @@ public class AFKPlayer { } public void setAFK(Player player) { - bossBar.setTitle(afkNow); + bossBar.setTitle(afkKickSoon); + bossBar.setColor(BarColor.RED); player.setAfk(true); isAFK = true; } @@ -113,17 +114,18 @@ public class AFKPlayer { } public void warnPlayer(Player player) { - updateBossBarProgress(); + updateBossBarProgress(Config.TOGGLE_TIME); if (isWarned) return; + bossBar.setColor(BarColor.PURPLE); bossBar.setTitle(afkSoon); bossBar.addPlayer(player); isWarned = true; } - public void updateBossBarProgress() { + public void updateBossBarProgress(int totalAllowedSeconds) { double afkSeconds = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - getStandingTime()); - double toggleSeconds = TimeUnit.MINUTES.toSeconds(Config.TOGGLE_TIME); + double toggleSeconds = TimeUnit.MINUTES.toSeconds(totalAllowedSeconds); bossBar.setProgress(Math.min(afkSeconds / toggleSeconds, 1)); } } diff --git a/src/main/java/com/alttd/afkdectector/config/Messages.java b/src/main/java/com/alttd/afkdectector/config/Messages.java index a252653..6ce7890 100644 --- a/src/main/java/com/alttd/afkdectector/config/Messages.java +++ b/src/main/java/com/alttd/afkdectector/config/Messages.java @@ -22,6 +22,7 @@ public enum Messages { AFK_KICK_STAFF_MESSAGE("afkkick-staff-messsge", " got afk kicked after being afk for minutes."), SUSPICIOUS_KICK_COUNT("afkkick-suspicious-message", " has had suspicious AFK kicks since last reboot."), AFK_SOON_BOSS_BAR("afk-soon-boss-bar", "Time until AFK."), + AFK_KICK_SOON_BOSS_BAR("afk-kick-soon-boss-bar", "Time until AFK kick."), AFK_NOW_BOSS_BAR("afk-now-boss-bar", "AFK"); private final String key;