aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0420-Add-titleOverride-to-InventoryOpenEvent.patch
blob: 68e755f0102b1cf0154407310464b549e2f74913 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
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.
+     * <p>
+     * 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".
+     * <p>
+     * <b>NOTE:</b> 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() {