From ac1cafe0d90b6e19183fdd05dc61f8faf6abc916 Mon Sep 17 00:00:00 2001 From: youhavetrouble Date: Wed, 3 May 2023 21:26:38 +0200 Subject: [PATCH] tempting horses should not cause player to enter combat --- .../listeners/pets/PetTargettingPlayerListener.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/youhavetrouble/preventstabby/listeners/pets/PetTargettingPlayerListener.java b/src/main/java/me/youhavetrouble/preventstabby/listeners/pets/PetTargettingPlayerListener.java index ff12ce2..1af3aa3 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/listeners/pets/PetTargettingPlayerListener.java +++ b/src/main/java/me/youhavetrouble/preventstabby/listeners/pets/PetTargettingPlayerListener.java @@ -8,6 +8,7 @@ import org.bukkit.entity.Tameable; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityTargetEvent; import java.util.UUID; @@ -17,7 +18,7 @@ public class PetTargettingPlayerListener implements Listener { * Stops pets with owners targetting players with pvp off */ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onPetTargetPlayer(org.bukkit.event.entity.EntityTargetEvent event) { + public void onPetTargetPlayer(EntityTargetEvent event) { if (!(event.getEntity() instanceof Tameable)) return; Tameable entity = (Tameable) event.getEntity(); if (!(entity.getOwner() instanceof Player)) return; @@ -26,8 +27,13 @@ public class PetTargettingPlayerListener implements Listener { UUID damager = entity.getOwner().getUniqueId(); UUID victim = event.getTarget().getUniqueId(); - if (PreventStabby.getPlugin().getPlayerManager().canDamage(damager, victim, true, false)) + if (PreventStabby.getPlugin().getPlayerManager().canDamage(damager, victim, true, false)) { + if (event.getReason().equals(EntityTargetEvent.TargetReason.TEMPT)) { + event.setCancelled(true); + return; + } CombatTimer.refreshPlayersCombatTime(damager, victim); + } else event.setCancelled(true);