- Added ItemBuildEvent to API

This commit is contained in:
Dancull47 2021-10-14 19:10:44 -04:00
parent c28107a743
commit 27b8e5beac
2 changed files with 51 additions and 1 deletions

View File

@ -0,0 +1,44 @@
package net.Indyuce.mmoitems.api.event;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.bukkit.inventory.ItemStack;
public class ItemBuildEvent extends Event implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private ItemStack itemStack;
private boolean cancelled;
public ItemBuildEvent(ItemStack itemStack) {
this.itemStack = itemStack;
}
public ItemStack getItemStack() {
return itemStack;
}
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
public ItemBuildEvent setItemStack(ItemStack itemStack) {
this.itemStack = itemStack;
return this;
}
@Override
public boolean isCancelled() {
return cancelled;
}
@Override
public void setCancelled(boolean cancel) {
this.cancelled = cancel;
}
}

View File

@ -9,6 +9,7 @@ import io.lumine.mythicenchants.enchants.MythicEnchant;
import net.Indyuce.mmoitems.ItemStats;
import net.Indyuce.mmoitems.MMOItems;
import net.Indyuce.mmoitems.api.Type;
import net.Indyuce.mmoitems.api.event.ItemBuildEvent;
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
@ -20,6 +21,7 @@ import net.Indyuce.mmoitems.stat.data.StringListData;
import net.Indyuce.mmoitems.stat.type.ItemStat;
import net.Indyuce.mmoitems.stat.type.Previewable;
import net.Indyuce.mmoitems.stat.type.StatHistory;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeModifier;
@ -257,7 +259,11 @@ public class ItemStackBuilder {
* @return Builds the item
*/
public ItemStack build() {
return buildNBT().toItem();
ItemBuildEvent itemBuildEvent = new ItemBuildEvent(buildNBT().toItem());
Bukkit.getServer().getPluginManager().callEvent(itemBuildEvent);
if (itemBuildEvent.isCancelled())
return null;
return itemBuildEvent.getItemStack();
}
/**