From b19774aca143b1f8a4a4382a8fd27180dca3c354 Mon Sep 17 00:00:00 2001 From: Frank van der Heijden Date: Fri, 7 Aug 2020 19:51:23 +0200 Subject: [PATCH 1/2] Add ClaimExtendEvent --- .../GriefPrevention/DataStore.java | 6 ++ .../events/ClaimExtendEvent.java | 58 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 src/main/java/me/ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java diff --git a/src/main/java/me/ryanhamshire/GriefPrevention/DataStore.java b/src/main/java/me/ryanhamshire/GriefPrevention/DataStore.java index bd458ba7a..90c747363 100644 --- a/src/main/java/me/ryanhamshire/GriefPrevention/DataStore.java +++ b/src/main/java/me/ryanhamshire/GriefPrevention/DataStore.java @@ -21,6 +21,7 @@ import com.google.common.io.Files; import me.ryanhamshire.GriefPrevention.events.ClaimCreatedEvent; import me.ryanhamshire.GriefPrevention.events.ClaimDeletedEvent; +import me.ryanhamshire.GriefPrevention.events.ClaimExtendEvent; import me.ryanhamshire.GriefPrevention.events.ClaimModifiedEvent; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -1039,6 +1040,11 @@ synchronized public void extendClaim(Claim claim, int newDepth) if (claim.parent != null) claim = claim.parent; + //call event and return if event got cancelled + ClaimExtendEvent event = new ClaimExtendEvent(claim, newDepth); + Bukkit.getPluginManager().callEvent(event); + if (event.isCancelled()) return; + //adjust to new depth claim.lesserBoundaryCorner.setY(newDepth); claim.greaterBoundaryCorner.setY(newDepth); diff --git a/src/main/java/me/ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java b/src/main/java/me/ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java new file mode 100644 index 000000000..bff920c2e --- /dev/null +++ b/src/main/java/me/ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java @@ -0,0 +1,58 @@ +package me.ryanhamshire.GriefPrevention.events; + +import me.ryanhamshire.GriefPrevention.Claim; +import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +/** + * A cancellable event which is called when a claim is extended in the Y direction. + * @author FrankHeijden + */ +public class ClaimExtendEvent extends Event implements Cancellable +{ + private static final HandlerList handlers = new HandlerList(); + + public static HandlerList getHandlerList() + { + return handlers; + } + + private final Claim claim; + private final int newDepth; + private boolean cancelled; + + public ClaimExtendEvent(Claim claim, int newDepth) + { + this.claim = claim; + this.newDepth = newDepth; + } + + @Override + public HandlerList getHandlers() + { + return handlers; + } + + public Claim getClaim() + { + return claim; + } + + public int getNewDepth() + { + return newDepth; + } + + @Override + public boolean isCancelled() + { + return cancelled; + } + + @Override + public void setCancelled(boolean cancelled) + { + this.cancelled = cancelled; + } +} From 4dbdc3df5fbccee6b1af83e1d05c0e07a600e500 Mon Sep 17 00:00:00 2001 From: RoboMWM Date: Fri, 7 Aug 2020 12:49:59 -0700 Subject: [PATCH 2/2] Update ClaimExtendEvent.java --- .../ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/me/ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java b/src/main/java/me/ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java index bff920c2e..cf6a648a6 100644 --- a/src/main/java/me/ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java +++ b/src/main/java/me/ryanhamshire/GriefPrevention/events/ClaimExtendEvent.java @@ -6,7 +6,7 @@ import org.bukkit.event.HandlerList; /** - * A cancellable event which is called when a claim is extended in the Y direction. + * A cancellable event which is called when a claim's depth (lower y bound) is about to be extended. * @author FrankHeijden */ public class ClaimExtendEvent extends Event implements Cancellable