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.
This commit is contained in:
Teriuihi 2025-02-15 04:07:07 +01:00
parent 400032a94c
commit c02bda6ea7
2 changed files with 7 additions and 3 deletions

View File

@ -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();

View File

@ -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