PaperMC/patches/api/0200-Support-components-in-ItemMeta.patch
Shane Freeder 52ff3b7382
Add itemName components (Resolves #10467) (#10471)
* Add itemName components (Resolves ##10467)

* improve javadocs and formatting

* rebased

---------

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2024-04-28 10:08:59 -07:00

93 lines
3.1 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MiniDigger <admin@benndorf.dev>
Date: Sat, 6 Jun 2020 18:13:16 +0200
Subject: [PATCH] Support components in ItemMeta
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
index 3ddd52b135f339ff006b5d53f46487bfbe1ff7fd..ed12e27a0ed75caa8aa46c3e965ed566a97865cf 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -5,6 +5,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import net.kyori.adventure.text.Component;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeModifier;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
@@ -65,6 +66,20 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@NotNull
String getDisplayName();
+ // Paper start
+ /**
+ * Gets the display name that is set.
+ * <p>
+ * Plugins should check that hasDisplayName() returns <code>true</code>
+ * before calling this method.
+ *
+ * @return the display name that is set
+ * @deprecated use {@link #displayName()}
+ */
+ @NotNull
+ @Deprecated
+ net.md_5.bungee.api.chat.BaseComponent[] getDisplayNameComponent();
+ // Paper end
/**
* Sets the display name.
*
@@ -74,6 +89,16 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@Deprecated // Paper
void setDisplayName(@Nullable String name);
+ // Paper start
+ /**
+ * Sets the display name.
+ *
+ * @param component the name component to set
+ * @deprecated use {@link #displayName(Component)}
+ */
+ @Deprecated
+ void setDisplayNameComponent(@Nullable net.md_5.bungee.api.chat.BaseComponent[] component);
+ // Paper end
/**
* Checks for existence of an item name.
* <br>
@@ -210,6 +235,19 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@Nullable
List<String> getLore();
+ /**
+ * Gets the lore that is set.
+ * <p>
+ * Plugins should check if hasLore() returns <code>true</code> before
+ * calling this method.
+ *
+ * @return a list of lore that is set
+ * @deprecated use {@link #lore()}
+ */
+ @Nullable
+ @Deprecated
+ List<net.md_5.bungee.api.chat.BaseComponent[]> getLoreComponents();
+
/**
* Sets the lore for this item.
* Removes lore when given null.
@@ -220,6 +258,16 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@Deprecated // Paper
void setLore(@Nullable List<String> lore);
+ /**
+ * Sets the lore for this item.
+ * Removes lore when given null.
+ *
+ * @param lore the lore that will be set
+ * @deprecated use {@link #lore(List)}
+ */
+ @Deprecated
+ void setLoreComponents(@Nullable List<net.md_5.bungee.api.chat.BaseComponent[]> lore);
+
/**
* Checks for existence of custom model data.
* <p>