From ef7232e687745eff1e0eaed00669332756e049f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Tue, 8 Apr 2025 11:49:25 +0200 Subject: [PATCH] fixed missing countdown for JoinProtection --- .../metaGameplay/joinProtection/JoinProtection.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtection.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtection.java index 6569103..0e608a7 100644 --- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtection.java +++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtection.java @@ -3,6 +3,7 @@ package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.joinProtection; import eu.mhsl.craftattack.core.Main; import eu.mhsl.craftattack.core.appliance.Appliance; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.util.Ticks; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -20,6 +21,7 @@ public class JoinProtection extends Appliance { static final class Options { public boolean wasOnGround = false; + public Long joinTime = System.currentTimeMillis(); } private final Map protectedPlayers = new HashMap<>(); @@ -36,15 +38,21 @@ public class JoinProtection extends Appliance { ); } - @Nullable Options getOptions(Player player) { + @Nullable JoinProtection.Options getOptions(Player player) { return this.protectedPlayers.get(player.getUniqueId()); } public void cancelEvent(Player player, Cancellable event) { if(!this.protectedPlayers.containsKey(player.getUniqueId())) return; event.setCancelled(true); + + Options option = this.protectedPlayers.get(player.getUniqueId()); + int secondsLeft = Math.abs((int) ((System.currentTimeMillis() - option.joinTime) / 1000) - resistanceDuration); player.sendActionBar( - Component.text("Du befindest dich in der %s Sekündigen") + Component.text( + String.format("Du bist in %d Sekunden angreifbar", secondsLeft), + NamedTextColor.RED + ) ); }