mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-09 08:32:07 -07:00
SPIGOT-6078: Add SmithItemEvent and expand SmithingInventory API
By: Julian van den Berkmortel <julianvdberkmortel@outlook.com>
This commit is contained in:
@@ -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;
|
package org.bukkit.inventory;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface to the inventory of a Smithing table.
|
* 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();
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user