From 59b03c8e489be250fe02a1d56f2681d4528b8008 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Tue, 20 Jun 2023 19:16:58 -0400 Subject: [PATCH 1/4] Add PreKitExpandItemsEvent --- .../java/com/earth2me/essentials/Kit.java | 5 ++ .../api/v2/events/PreKitExpandItemsEvent.java | 62 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java diff --git a/Essentials/src/main/java/com/earth2me/essentials/Kit.java b/Essentials/src/main/java/com/earth2me/essentials/Kit.java index 0a499f4e6fc..240f39dc1f8 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/Kit.java +++ b/Essentials/src/main/java/com/earth2me/essentials/Kit.java @@ -10,6 +10,7 @@ import com.earth2me.essentials.utils.NumberUtil; import net.ess3.api.IEssentials; import net.ess3.api.events.KitClaimEvent; +import net.essentialsx.api.v2.events.PreKitExpandItemsEvent; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; @@ -219,7 +220,11 @@ public boolean expandItems(final User user, final List items) throws Exc final int maxStackSize = user.isAuthorized("essentials.oversizedstacks") ? ess.getSettings().getOversizedStackSize() : 0; final boolean isDropItemsIfFull = ess.getSettings().isDropItemsIfFull(); + final PreKitExpandItemsEvent itemsEvent = new PreKitExpandItemsEvent(user, kitName, itemList); + Bukkit.getPluginManager().callEvent(itemsEvent); + final ItemStack[] itemArray = itemList.toArray(new ItemStack[0]); + if (!isDropItemsIfFull && !Inventories.hasSpace(user.getBase(), maxStackSize, autoEquip, itemArray)) { user.sendMessage(tl("kitInvFullNoDrop")); return false; diff --git a/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java b/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java new file mode 100644 index 00000000000..2073d0d7649 --- /dev/null +++ b/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java @@ -0,0 +1,62 @@ +package net.essentialsx.api.v2.events; + +import net.ess3.api.IUser; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.bukkit.inventory.ItemStack; + +import java.util.List; + +/** + * Called when items from a kit are about to be given to a {@link IUser user}. + *

+ * This event is not cancelable and is called right before items are about to be recieved by the {@link #getUser() user}. + * If you want to prevent kits from being claimed to begin with, use the {@link net.ess3.api.events.KitClaimEvent} + * @see net.ess3.api.events.KitClaimEvent + */ +public class PreKitExpandItemsEvent extends Event { + private static final HandlerList handlers = new HandlerList(); + + private final IUser user; + private final String kitName; + private final List itemStacks; + + public PreKitExpandItemsEvent(IUser user, String kitName, List itemStacks) { + this.user = user; + this.kitName = kitName; + this.itemStacks = itemStacks; + } + + /** + * Gets the {@link IUser user} who is receiving the kit. + * @return the user. + */ + public IUser getUser() { + return user; + } + + /** + * Gets the name of the kit the {@link IUser user} is receiving. + * @return the name of the kit. + */ + public String getKitName() { + return kitName; + } + + /** + * Returns a mutable list with items to be received by the {@link IUser user}. + * @return the list of items. + */ + public List getItemStacks() { + return itemStacks; + } + + @Override + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } +} From 0dd95343bb1c9b8b9ddc001e4ecff4891f3b100b Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Wed, 21 Jun 2023 19:00:22 -0400 Subject: [PATCH 2/4] Update Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java Co-authored-by: YanisBft --- .../net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java b/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java index 2073d0d7649..4eeb2d72c4b 100644 --- a/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java +++ b/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java @@ -10,7 +10,7 @@ /** * Called when items from a kit are about to be given to a {@link IUser user}. *

- * This event is not cancelable and is called right before items are about to be recieved by the {@link #getUser() user}. + * This event is not cancellable and is called right before items are about to be received by the {@link #getUser() user}. * If you want to prevent kits from being claimed to begin with, use the {@link net.ess3.api.events.KitClaimEvent} * @see net.ess3.api.events.KitClaimEvent */ From c5f422638932a8d990da6f53d7b980a322501df2 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Sat, 1 Jul 2023 17:45:58 -0400 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com> --- Essentials/src/main/java/com/earth2me/essentials/Kit.java | 4 ++-- .../net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/Kit.java b/Essentials/src/main/java/com/earth2me/essentials/Kit.java index 240f39dc1f8..a4b0e4a43ae 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/Kit.java +++ b/Essentials/src/main/java/com/earth2me/essentials/Kit.java @@ -10,7 +10,7 @@ import com.earth2me.essentials.utils.NumberUtil; import net.ess3.api.IEssentials; import net.ess3.api.events.KitClaimEvent; -import net.essentialsx.api.v2.events.PreKitExpandItemsEvent; +import net.essentialsx.api.v2.events.KitPreExpandItemsEvent; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; @@ -220,7 +220,7 @@ public boolean expandItems(final User user, final List items) throws Exc final int maxStackSize = user.isAuthorized("essentials.oversizedstacks") ? ess.getSettings().getOversizedStackSize() : 0; final boolean isDropItemsIfFull = ess.getSettings().isDropItemsIfFull(); - final PreKitExpandItemsEvent itemsEvent = new PreKitExpandItemsEvent(user, kitName, itemList); + final KitPreExpandItemsEvent itemsEvent = new KitPreExpandItemsEvent(user, kitName, itemList); Bukkit.getPluginManager().callEvent(itemsEvent); final ItemStack[] itemArray = itemList.toArray(new ItemStack[0]); diff --git a/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java b/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java index 4eeb2d72c4b..ff8fcc7fdd9 100644 --- a/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java +++ b/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java @@ -14,14 +14,14 @@ * If you want to prevent kits from being claimed to begin with, use the {@link net.ess3.api.events.KitClaimEvent} * @see net.ess3.api.events.KitClaimEvent */ -public class PreKitExpandItemsEvent extends Event { +public class KitPreExpandItemsEvent extends Event { private static final HandlerList handlers = new HandlerList(); private final IUser user; private final String kitName; private final List itemStacks; - public PreKitExpandItemsEvent(IUser user, String kitName, List itemStacks) { + public KitPreExpandItemsEvent(IUser user, String kitName, List itemStacks) { this.user = user; this.kitName = kitName; this.itemStacks = itemStacks; From 130de1ff120434404604f3a162d02b81796bc93f Mon Sep 17 00:00:00 2001 From: MD <1917406+mdcfe@users.noreply.github.com> Date: Sat, 1 Jul 2023 22:48:11 +0100 Subject: [PATCH 4/4] Rename the class file itself too --- .../{PreKitExpandItemsEvent.java => KitPreExpandItemsEvent.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Essentials/src/main/java/net/essentialsx/api/v2/events/{PreKitExpandItemsEvent.java => KitPreExpandItemsEvent.java} (100%) diff --git a/Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java b/Essentials/src/main/java/net/essentialsx/api/v2/events/KitPreExpandItemsEvent.java similarity index 100% rename from Essentials/src/main/java/net/essentialsx/api/v2/events/PreKitExpandItemsEvent.java rename to Essentials/src/main/java/net/essentialsx/api/v2/events/KitPreExpandItemsEvent.java