mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-19 23:33:49 +01:00
SPIGOT-6078: Add SmithItemEvent and expand SmithingInventory API
By: Julian van den Berkmortel <julianvdberkmortel@outlook.com>
This commit is contained in:
parent
9766143027
commit
31449091f3
2 changed files with 53 additions and 1 deletions
|
@ -0,0 +1,25 @@
|
|||
package org.bukkit.event.inventory;
|
||||
|
||||
import org.bukkit.inventory.InventoryView;
|
||||
import org.bukkit.inventory.SmithingInventory;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* Called when the recipe of an Item is completed inside a smithing table.
|
||||
*/
|
||||
public class SmithItemEvent extends InventoryClickEvent {
|
||||
|
||||
public SmithItemEvent(@NotNull InventoryView view, @NotNull InventoryType.SlotType type, int slot, @NotNull ClickType click, @NotNull InventoryAction action) {
|
||||
super(view, type, slot, click, action);
|
||||
}
|
||||
|
||||
public SmithItemEvent(@NotNull InventoryView view, @NotNull InventoryType.SlotType type, int slot, @NotNull ClickType click, @NotNull InventoryAction action, int key) {
|
||||
super(view, type, slot, click, action, key);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public SmithingInventory getInventory() {
|
||||
return (SmithingInventory) super.getInventory();
|
||||
}
|
||||
}
|
|
@ -1,6 +1,33 @@
|
|||
package org.bukkit.inventory;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Interface to the inventory of a Smithing table.
|
||||
*/
|
||||
public interface SmithingInventory extends Inventory { }
|
||||
public interface SmithingInventory extends Inventory {
|
||||
|
||||
/**
|
||||
* Check what item is in the result slot of this smithing table.
|
||||
*
|
||||
* @return the result item
|
||||
*/
|
||||
@Nullable
|
||||
ItemStack getResult();
|
||||
|
||||
/**
|
||||
* Set the item in the result slot of the smithing table
|
||||
*
|
||||
* @param newResult the new result item
|
||||
*/
|
||||
void setResult(@Nullable ItemStack newResult);
|
||||
|
||||
/**
|
||||
* Get the current recipe formed on the smithing table, if any.
|
||||
*
|
||||
* @return the recipe, or null if the current contents don't match any
|
||||
* recipe
|
||||
*/
|
||||
@Nullable
|
||||
Recipe getRecipe();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue