diff --git a/api/src/main/java/org/codemc/worldguardwrapper/event/DisallowedPVPEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/DisallowedPVPEvent.java
new file mode 100644
index 0000000..3a150fd
--- /dev/null
+++ b/api/src/main/java/org/codemc/worldguardwrapper/event/DisallowedPVPEvent.java
@@ -0,0 +1,27 @@
+package org.codemc.worldguardwrapper.event;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Event;
+import org.bukkit.event.HandlerList;
+
+@RequiredArgsConstructor
+@Getter
+public class DisallowedPVPEvent extends AbstractWrappedEvent {
+
+ private static final HandlerList handlers = new HandlerList();
+
+ private final Player attacker;
+ private final Player defender;
+ private final Event cause;
+
+ @Override
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+}
diff --git a/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/EventListener.java b/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/EventListener.java
index 5343efa..6c1fda4 100644
--- a/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/EventListener.java
+++ b/implementation/v7/src/main/java/org/codemc/worldguardwrapper/implementation/v7/EventListener.java
@@ -3,12 +3,13 @@ package org.codemc.worldguardwrapper.implementation.v7;
import com.sk89q.worldguard.bukkit.event.block.UseBlockEvent;
import com.sk89q.worldguard.bukkit.event.entity.DamageEntityEvent;
import com.sk89q.worldguard.bukkit.event.entity.UseEntityEvent;
+import com.sk89q.worldguard.bukkit.protection.events.DisallowedPVPEvent;
import lombok.NoArgsConstructor;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
+import org.bukkit.event.Event.Result;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
-import org.bukkit.event.Event.Result;
import org.codemc.worldguardwrapper.event.AbstractWrappedEvent;
@NoArgsConstructor
@@ -80,4 +81,19 @@ public class EventListener implements Listener {
}
}
+ @EventHandler
+ public void onDisallowedPVP(DisallowedPVPEvent worldGuardEvent) {
+ AbstractWrappedEvent event = new org.codemc.worldguardwrapper.event.DisallowedPVPEvent(
+ worldGuardEvent.getAttacker(),
+ worldGuardEvent.getDefender(),
+ worldGuardEvent.getCause());
+ Bukkit.getServer().getPluginManager().callEvent(event);
+
+ if (event.getResult() != Result.DEFAULT) {
+ // DEFAULT = Result probably has not been touched by the handler,
+ // so don't touch the original result either.
+ worldGuardEvent.setCancelled(event.getResult() == Result.DENY);
+ }
+ }
+
}
diff --git a/pom.xml b/pom.xml
index 8bd3db7..f37c2c1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,7 +51,7 @@
UTF-8
UTF-8
1.8
- 1.13-R0.1-SNAPSHOT
+ 1.13.2-R0.1-SNAPSHOT
@@ -89,7 +89,7 @@
org.projectlombok
lombok
- 1.18.0
+ 1.18.2
provided
@@ -149,7 +149,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.1.1
+ 3.2.0
false