#798: Add PrepareGrindstoneEvent and refactor related events to use PrepareInventoryResultEvent

By: FreeSoccerHDX <freesoccerhdx@gmail.com>
This commit is contained in:
Bukkit/Spigot 2022-12-13 19:29:48 +11:00
parent 12020621c8
commit 05e63c40e1
4 changed files with 92 additions and 36 deletions

View File

@ -10,14 +10,12 @@ import org.jetbrains.annotations.Nullable;
/** /**
* Called when an item is put in a slot for repair by an anvil. * 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 static final HandlerList handlers = new HandlerList();
private ItemStack result;
public PrepareAnvilEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) { public PrepareAnvilEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) {
super(inventory); super(inventory, result);
this.result = result;
} }
@NotNull @NotNull
@ -26,20 +24,6 @@ public class PrepareAnvilEvent extends InventoryEvent {
return (AnvilInventory) super.getInventory(); 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 @NotNull
@Override @Override
public HandlerList getHandlers() { public HandlerList getHandlers() {

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -10,14 +10,12 @@ import org.jetbrains.annotations.Nullable;
/** /**
* Called when an item is put in a slot for upgrade by a Smithing Table. * 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 static final HandlerList handlers = new HandlerList();
private ItemStack result;
public PrepareSmithingEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) { public PrepareSmithingEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) {
super(inventory); super(inventory, result);
this.result = result;
} }
@NotNull @NotNull
@ -26,20 +24,6 @@ public class PrepareSmithingEvent extends InventoryEvent {
return (SmithingInventory) super.getInventory(); 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 @NotNull
@Override @Override
public HandlerList getHandlers() { public HandlerList getHandlers() {