From c02bda6ea7339c416c184d04a7f30dacf336d3f2 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sat, 15 Feb 2025 04:07:07 +0100 Subject: [PATCH] Add slowness effect to flag carriers and clear it on reset Flag carriers now receive a slowness effect to hinder movement while holding the flag. The effect is cleared when the flag carrier is reset to ensure consistent gameplay behavior. Updated build number to reflect these changes. --- src/main/java/com/alttd/ctf/flag/Flag.java | 6 +++++- version.properties | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/alttd/ctf/flag/Flag.java b/src/main/java/com/alttd/ctf/flag/Flag.java index a881d57..95762fc 100644 --- a/src/main/java/com/alttd/ctf/flag/Flag.java +++ b/src/main/java/com/alttd/ctf/flag/Flag.java @@ -11,7 +11,6 @@ import lombok.extern.slf4j.Slf4j; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; -import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import net.kyori.adventure.title.Title; import org.bukkit.*; @@ -22,6 +21,8 @@ import org.bukkit.boss.KeyedBossBar; import org.bukkit.entity.Player; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; import java.util.*; import java.util.concurrent.CompletableFuture; @@ -83,6 +84,7 @@ public class Flag implements Runnable { player.getInventory().setItem(EquipmentSlot.HEAD, new ItemStack(teamPlayer.getTeam().getFlagMaterial())); Bukkit.getScheduler().runTask(main, () -> flagLocation.getBlock().setType(Material.AIR)); flagCarrier = player; + player.addPotionEffect(new PotionEffect(PotionEffectType.SLOWNESS, PotionEffect.INFINITE_DURATION, 0, false, false)); notifyAboutCapture(); resetFlag(); } @@ -351,6 +353,8 @@ public class Flag implements Runnable { } public void resetFlagCarrier() { + final Player player = flagCarrier; + Bukkit.getScheduler().runTask(main, player::clearActivePotionEffects); flagCarrier = null; winningTeam = null; particleTrail.clear(); diff --git a/version.properties b/version.properties index cf87afd..c219452 100644 --- a/version.properties +++ b/version.properties @@ -1,3 +1,3 @@ -#Sat Feb 15 03:47:20 CET 2025 -buildNumber=50 +#Sat Feb 15 04:06:48 CET 2025 +buildNumber=54 version=0.1