From ecd8d3e4642c78e5943717aed64df470aa7f83c9 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 21 Jun 2015 15:05:21 -0400 Subject: [PATCH] Custom replacement for eaten items diff --git a/src/main/java/org/bukkit/event/player/PlayerItemConsumeEvent.java b/src/main/java/org/bukkit/event/player/PlayerItemConsumeEvent.java index 8ab76b1d..7d28155b 100644 --- a/src/main/java/org/bukkit/event/player/PlayerItemConsumeEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerItemConsumeEvent.java @@ -6,6 +6,8 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; import org.bukkit.inventory.ItemStack; +import javax.annotation.Nullable; + /** * This event will fire when a player is finishing consuming an item (food, * potion, milk bucket). @@ -20,6 +22,7 @@ public class PlayerItemConsumeEvent extends PlayerEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private boolean isCancelled = false; private ItemStack item; + @Nullable private ItemStack replacement; // Paper /** * @param player the player consuming @@ -55,6 +58,29 @@ public class PlayerItemConsumeEvent extends PlayerEvent implements Cancellable { } } + // Paper start + /** + * Return the custom item stack that will replace the consumed item, or null if no + * custom replacement has been set (which means the default replacement will be used). + * + * @return The custom item stack that will replace the consumed item or null + */ + @Nullable + public ItemStack getReplacement() { + return this.replacement; + } + + /** + * Set a custom item stack to replace the consumed item. Pass null to clear any custom + * stack that has been set and use the default replacement. + * + * @param replacement Replacement item to set, null to clear any custom stack and use default + */ + public void setReplacement(@Nullable ItemStack replacement) { + this.replacement = replacement; + } + // Paper end + public boolean isCancelled() { return this.isCancelled; } -- 2.20.1