diff --git a/pom.xml b/pom.xml
index a7c4749..d649693 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
me.youhavetrouble
PreventStabby
- 2.0.0-rc-2
+ 2.0.0-rc-3
jar
PreventStabby
diff --git a/src/main/java/me/youhavetrouble/preventstabby/data/PlayerManager.java b/src/main/java/me/youhavetrouble/preventstabby/data/PlayerManager.java
index 7e70dca..6171e74 100644
--- a/src/main/java/me/youhavetrouble/preventstabby/data/PlayerManager.java
+++ b/src/main/java/me/youhavetrouble/preventstabby/data/PlayerManager.java
@@ -3,6 +3,7 @@ package me.youhavetrouble.preventstabby.data;
import me.youhavetrouble.preventstabby.PreventStabby;
import me.youhavetrouble.preventstabby.api.event.PlayerEnterCombatEvent;
import me.youhavetrouble.preventstabby.api.event.PlayerLeaveCombatEvent;
+import me.youhavetrouble.preventstabby.hooks.WorldGuardHook;
import me.youhavetrouble.preventstabby.util.PluginMessages;
import me.youhavetrouble.preventstabby.util.PvpState;
import org.bukkit.Bukkit;
@@ -174,7 +175,7 @@ public class PlayerManager {
}
}
- if (!attackerPlayerData.isPvpEnabled()) {
+ if (!attackerPlayerData.isPvpEnabled() && !WorldGuardHook.isPlayerForcedToPvp(Bukkit.getPlayer(attackerId))) {
String message = switch (victimClassifier) {
case PLAYER -> plugin.getConfigCache().cannot_attack_attacker;
case PET -> plugin.getConfigCache().cannot_attack_pets_victim;
@@ -184,7 +185,7 @@ public class PlayerManager {
return new DamageCheckResult(false, attackerId, victimId, message, victimClassifier.equals(Target.EntityClassifier.PLAYER));
}
- if (!victimPlayerData.isPvpEnabled()) {
+ if (!victimPlayerData.isPvpEnabled() && !WorldGuardHook.isPlayerForcedToPvp(Bukkit.getPlayer(victimId))) {
String message = switch (victimClassifier) {
case PLAYER -> plugin.getConfigCache().cannot_attack_victim;
case PET -> plugin.getConfigCache().cannot_attack_pets_attacker;
diff --git a/src/main/java/me/youhavetrouble/preventstabby/hooks/WorldGuardHook.java b/src/main/java/me/youhavetrouble/preventstabby/hooks/WorldGuardHook.java
index 3907852..5130d4b 100644
--- a/src/main/java/me/youhavetrouble/preventstabby/hooks/WorldGuardHook.java
+++ b/src/main/java/me/youhavetrouble/preventstabby/hooks/WorldGuardHook.java
@@ -52,6 +52,8 @@ public class WorldGuardHook {
}
public static boolean isPlayerForcedToPvp(Player player) {
+ if (player == null) return false;
+ if (!PreventStabby.worldGuardHookEnabled()) return false;
RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
RegionQuery query = container.createQuery();
org.bukkit.Location loc = player.getLocation();