From 96590a338937ebfd1f580465c8db5619c1c2878e Mon Sep 17 00:00:00 2001 From: kmecpp Date: Sat, 9 May 2020 16:19:51 -0400 Subject: [PATCH] Add KitClaimEvent (#3197) Adds an event fired when a kit is expanded for a user. Fixes #3196. --- .../src/com/earth2me/essentials/Kit.java | 8 +++ .../net/ess3/api/events/KitClaimEvent.java | 55 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 Essentials/src/net/ess3/api/events/KitClaimEvent.java diff --git a/Essentials/src/com/earth2me/essentials/Kit.java b/Essentials/src/com/earth2me/essentials/Kit.java index cdf5a7d0c..2609dc6ef 100644 --- a/Essentials/src/com/earth2me/essentials/Kit.java +++ b/Essentials/src/com/earth2me/essentials/Kit.java @@ -8,6 +8,8 @@ import com.earth2me.essentials.textreader.KeywordReplacer; import com.earth2me.essentials.textreader.SimpleTextInput; import com.earth2me.essentials.utils.DateUtil; import net.ess3.api.IEssentials; +import net.ess3.api.events.KitClaimEvent; + import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; @@ -149,6 +151,12 @@ public class Kit { IText input = new SimpleTextInput(items); IText output = new KeywordReplacer(input, user.getSource(), ess, true, true); + KitClaimEvent event = new KitClaimEvent(user, this); + Bukkit.getPluginManager().callEvent(event); + if (event.isCancelled()) { + return false; + } + boolean spew = false; final boolean allowUnsafe = ess.getSettings().allowUnsafeEnchantments(); final boolean currencyIsSuffix = ess.getSettings().isCurrencySymbolSuffixed(); diff --git a/Essentials/src/net/ess3/api/events/KitClaimEvent.java b/Essentials/src/net/ess3/api/events/KitClaimEvent.java new file mode 100644 index 000000000..35ba3a7c8 --- /dev/null +++ b/Essentials/src/net/ess3/api/events/KitClaimEvent.java @@ -0,0 +1,55 @@ +package net.ess3.api.events; + +import org.bukkit.Bukkit; +import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +import com.earth2me.essentials.Kit; + +import net.ess3.api.IUser; + +/** + * Called when the player is given a kit + */ +public class KitClaimEvent extends Event implements Cancellable { + + private static final HandlerList handlers = new HandlerList(); + + private Kit kit; + private IUser user; + private boolean cancelled; + + public KitClaimEvent(IUser user, Kit kit) { + super(!Bukkit.getServer().isPrimaryThread()); + this.user = user; + this.kit = kit; + } + + public IUser getUser() { + return user; + } + + public Kit getKit() { + return kit; + } + + @Override + public boolean isCancelled() { + return cancelled; + } + + @Override + public void setCancelled(boolean cancel) { + cancelled = cancel; + } + + @Override + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } +}