From 2c0718aa82cd4e266008ecf2b5a732fe47fbc1c1 Mon Sep 17 00:00:00 2001 From: nearfe Date: Fri, 14 Jun 2024 15:58:20 -0300 Subject: [PATCH] MELHOR LB --- .../java/land/battle/practice/Practice.java | 1 + .../practice/commands/DivisionCommand.java | 2 +- .../practice/listeners/MatchListener.java | 27 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/land/battle/practice/Practice.java b/src/main/java/land/battle/practice/Practice.java index c9565e6..17c44df 100644 --- a/src/main/java/land/battle/practice/Practice.java +++ b/src/main/java/land/battle/practice/Practice.java @@ -259,6 +259,7 @@ public class Practice extends ExtendedJavaPlugin { }); Arrays.asList( + new DivisionCommand(), new ResetStatsCommand(), new AcceptCommand(), new PartyCommand(), diff --git a/src/main/java/land/battle/practice/commands/DivisionCommand.java b/src/main/java/land/battle/practice/commands/DivisionCommand.java index 5d6c384..364975c 100644 --- a/src/main/java/land/battle/practice/commands/DivisionCommand.java +++ b/src/main/java/land/battle/practice/commands/DivisionCommand.java @@ -16,7 +16,7 @@ import org.bukkit.entity.Player; * @since 5/17/2021 */ -@CommandAlias("division") +@CommandAlias("division|liga") public class DivisionCommand extends BaseCommand { @Default diff --git a/src/main/java/land/battle/practice/listeners/MatchListener.java b/src/main/java/land/battle/practice/listeners/MatchListener.java index a43c50b..4ff312f 100644 --- a/src/main/java/land/battle/practice/listeners/MatchListener.java +++ b/src/main/java/land/battle/practice/listeners/MatchListener.java @@ -33,6 +33,7 @@ import org.bukkit.event.entity.*; import org.bukkit.event.player.PlayerInteractAtEntityEvent; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; +import org.bukkit.scheduler.BukkitRunnable; import java.util.*; import java.util.concurrent.CompletableFuture; @@ -40,6 +41,7 @@ import java.util.concurrent.CompletableFuture; public class MatchListener implements Listener { private final Practice plugin = Practice.getInstance(); + private int counter = 0; @EventHandler public void onFreeze(PlayerFreezeEvent event) { @@ -124,6 +126,28 @@ public class MatchListener implements Listener { } } + @EventHandler + public void onEntityDamage(EntityDamageByEntityEvent event) { + if (event.getEntity() instanceof Player && event.getDamager() instanceof Player) { + Player defender = (Player) event.getEntity(); + + if (defender.isBlocking() && defender.getInventory().getItemInHand().getType().toString().contains("SWORD")) { + new BukkitRunnable() { + @Override + public void run() { + if (defender.isBlocking() && counter >= 20) { + defender.setHealth(defender.getHealth() - 1.0); + cancel(); + } else if (defender.isBlocking()) { + counter++; + } + } + }.runTaskAsynchronously(Practice.getInstance()); + } + } + } + + @EventHandler public void onMatchStart(MatchStartEvent event) { final Match match = event.getMatch(); @@ -169,6 +193,8 @@ public class MatchListener implements Listener { playerData.setLongestCombo(0); playerData.setCombo(0); playerData.setHits(0); + playerData.setBlockedHits(0); + playerData.setCriticalHits(0); PlayerUtil.updateNametag(player, kit.getFlag().equals(Flag.BUILD)); @@ -223,6 +249,7 @@ public class MatchListener implements Listener { @EventHandler public void onMatchEnd(MatchEndEvent event) { final Match match = event.getMatch(); + counter = 0; if (event.getWinningTeam() == null) { match.setMatchState(MatchState.ENDING);