Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Essentials/src/main/java/com/earth2me/essentials/Kit.java
Original file line number Diff line number Diff line change
Expand Up @@ -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.KitPreExpandItemsEvent;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
Expand Down Expand Up @@ -219,7 +220,11 @@ public boolean expandItems(final User user, final List<String> items) throws Exc
final int maxStackSize = user.isAuthorized("essentials.oversizedstacks") ? ess.getSettings().getOversizedStackSize() : 0;
final boolean isDropItemsIfFull = ess.getSettings().isDropItemsIfFull();

final KitPreExpandItemsEvent itemsEvent = new KitPreExpandItemsEvent(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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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}.
* <p>
* 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
*/
public class KitPreExpandItemsEvent extends Event {
private static final HandlerList handlers = new HandlerList();

private final IUser user;
private final String kitName;
private final List<ItemStack> itemStacks;

public KitPreExpandItemsEvent(IUser user, String kitName, List<ItemStack> 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<ItemStack> getItemStacks() {
return itemStacks;
}

@Override
public HandlerList getHandlers() {
return handlers;
}

public static HandlerList getHandlerList() {
return handlers;
}
}