From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Fri, 4 Mar 2022 12:45:21 -0800 Subject: [PATCH] Add titleOverride to InventoryOpenEvent diff --git a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java index ceae092eb782698803c6c3df41267dde20ba62b2..8e2afeab4c62724148e8bb0c83fb7eec569c7a0c 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java @@ -12,6 +12,7 @@ import org.jetbrains.annotations.NotNull; public class InventoryOpenEvent extends InventoryEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private boolean cancelled; + private net.kyori.adventure.text.Component titleOverride; // Paper public InventoryOpenEvent(@NotNull InventoryView transaction) { super(transaction); @@ -56,6 +57,33 @@ public class InventoryOpenEvent extends InventoryEvent implements Cancellable { cancelled = cancel; } + // Paper start + /** + * Gets the title override set by another event or null + * if not set. + * + * @return the title override or null + */ + public net.kyori.adventure.text.@org.jetbrains.annotations.Nullable Component titleOverride() { + return this.titleOverride; + } + + /** + * Sets the title override or clears the override. + *

+ * This is only the title sent to the client in the open packet, this doesn't change + * the title returned by {@link InventoryView#title()}, hence "override". + *

+ * NOTE: Horse inventories are a special case where setting this will + * have no effect. Horse inventory titles are set by the horse display name. + * + * @param titleOverride the title override or null + */ + public void titleOverride(net.kyori.adventure.text.@org.jetbrains.annotations.Nullable Component titleOverride) { + this.titleOverride = titleOverride; + } + // Paper end + @NotNull @Override public HandlerList getHandlers() {