diff --git a/paper-api/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java b/paper-api/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java index 77109a07f0..6782024735 100644 --- a/paper-api/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java @@ -10,14 +10,12 @@ import org.jetbrains.annotations.Nullable; /** * Called when an item is put in a slot for repair by an anvil. */ -public class PrepareAnvilEvent extends InventoryEvent { +public class PrepareAnvilEvent extends PrepareInventoryResultEvent { private static final HandlerList handlers = new HandlerList(); - private ItemStack result; public PrepareAnvilEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) { - super(inventory); - this.result = result; + super(inventory, result); } @NotNull @@ -26,20 +24,6 @@ public class PrepareAnvilEvent extends InventoryEvent { return (AnvilInventory) super.getInventory(); } - /** - * Get result item, may be null. - * - * @return result item - */ - @Nullable - public ItemStack getResult() { - return result; - } - - public void setResult(@Nullable ItemStack result) { - this.result = result; - } - @NotNull @Override public HandlerList getHandlers() { diff --git a/paper-api/src/main/java/org/bukkit/event/inventory/PrepareGrindstoneEvent.java b/paper-api/src/main/java/org/bukkit/event/inventory/PrepareGrindstoneEvent.java new file mode 100644 index 0000000000..fb172479ce --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/event/inventory/PrepareGrindstoneEvent.java @@ -0,0 +1,37 @@ +package org.bukkit.event.inventory; + +import org.bukkit.event.HandlerList; +import org.bukkit.inventory.GrindstoneInventory; +import org.bukkit.inventory.InventoryView; +import org.bukkit.inventory.ItemStack; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Called when an item is put in a slot for repair or unenchanting in a grindstone. + */ +public class PrepareGrindstoneEvent extends PrepareInventoryResultEvent { + + private static final HandlerList handlers = new HandlerList(); + + public PrepareGrindstoneEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) { + super(inventory, result); + } + + @NotNull + @Override + public GrindstoneInventory getInventory() { + return (GrindstoneInventory) super.getInventory(); + } + + @NotNull + @Override + public HandlerList getHandlers() { + return handlers; + } + + @NotNull + public static HandlerList getHandlerList() { + return handlers; + } +} diff --git a/paper-api/src/main/java/org/bukkit/event/inventory/PrepareInventoryResultEvent.java b/paper-api/src/main/java/org/bukkit/event/inventory/PrepareInventoryResultEvent.java new file mode 100644 index 0000000000..b543bc17fb --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/event/inventory/PrepareInventoryResultEvent.java @@ -0,0 +1,51 @@ +package org.bukkit.event.inventory; + +import org.bukkit.event.HandlerList; +import org.bukkit.inventory.InventoryView; +import org.bukkit.inventory.ItemStack; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Called when an item is put in a slot and the result is calculated. + */ +public class PrepareInventoryResultEvent extends InventoryEvent { + + private static final HandlerList handlers = new HandlerList(); + private ItemStack result; + + public PrepareInventoryResultEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) { + super(inventory); + this.result = result; + } + + /** + * Get result item, may be null. + * + * @return result item + */ + @Nullable + public ItemStack getResult() { + return result; + } + + /** + * Set result item, may be null. + * + * @param result result item + */ + public void setResult(@Nullable ItemStack result) { + this.result = result; + } + + @NotNull + @Override + public HandlerList getHandlers() { + return handlers; + } + + @NotNull + public static HandlerList getHandlerList() { + return handlers; + } +} diff --git a/paper-api/src/main/java/org/bukkit/event/inventory/PrepareSmithingEvent.java b/paper-api/src/main/java/org/bukkit/event/inventory/PrepareSmithingEvent.java index 99af154032..901774e03f 100644 --- a/paper-api/src/main/java/org/bukkit/event/inventory/PrepareSmithingEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/inventory/PrepareSmithingEvent.java @@ -10,14 +10,12 @@ import org.jetbrains.annotations.Nullable; /** * Called when an item is put in a slot for upgrade by a Smithing Table. */ -public class PrepareSmithingEvent extends InventoryEvent { +public class PrepareSmithingEvent extends PrepareInventoryResultEvent { private static final HandlerList handlers = new HandlerList(); - private ItemStack result; public PrepareSmithingEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) { - super(inventory); - this.result = result; + super(inventory, result); } @NotNull @@ -26,20 +24,6 @@ public class PrepareSmithingEvent extends InventoryEvent { return (SmithingInventory) super.getInventory(); } - /** - * Get result item, may be null. - * - * @return result item - */ - @Nullable - public ItemStack getResult() { - return result; - } - - public void setResult(@Nullable ItemStack result) { - this.result = result; - } - @NotNull @Override public HandlerList getHandlers() {