From a56d850e4bd7578ea03ce098f1692564b836fc4f Mon Sep 17 00:00:00 2001 From: SoSeDiK Date: Wed, 1 May 2024 20:14:42 +0300 Subject: [PATCH] Expose #hasColor to leather armor (#10638) --- .../Expose-hasColor-to-leather-armor.patch | 25 ++++++++++++ patches/api/Fix-upstream-javadocs.patch | 15 ++++++++ .../Expose-hasColor-to-leather-armor.patch | 38 +++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 patches/api/Expose-hasColor-to-leather-armor.patch create mode 100644 patches/server/Expose-hasColor-to-leather-armor.patch diff --git a/patches/api/Expose-hasColor-to-leather-armor.patch b/patches/api/Expose-hasColor-to-leather-armor.patch new file mode 100644 index 0000000000..82008bf251 --- /dev/null +++ b/patches/api/Expose-hasColor-to-leather-armor.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: SoSeDiK +Date: Wed, 1 May 2024 10:58:50 +0300 +Subject: [PATCH] Expose #hasColor to leather armor + + +diff --git a/src/main/java/org/bukkit/inventory/meta/LeatherArmorMeta.java b/src/main/java/org/bukkit/inventory/meta/LeatherArmorMeta.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/inventory/meta/LeatherArmorMeta.java ++++ b/src/main/java/org/bukkit/inventory/meta/LeatherArmorMeta.java +@@ -0,0 +0,0 @@ public interface LeatherArmorMeta extends ItemMeta { + @Override + @NotNull + LeatherArmorMeta clone(); ++ ++ // Paper start - Expose #hasColor to leather armor ++ /** ++ * Checks whether this leather armor is dyed ++ * (i.e. has a color different from {@link ItemFactory#getDefaultLeatherColor()}) ++ * ++ * @return whether this leather armor is dyed ++ */ ++ boolean isDyed(); ++ // Paper end - Expose #hasColor to leather armor + } diff --git a/patches/api/Fix-upstream-javadocs.patch b/patches/api/Fix-upstream-javadocs.patch index 8eec142eb7..7ada732469 100644 --- a/patches/api/Fix-upstream-javadocs.patch +++ b/patches/api/Fix-upstream-javadocs.patch @@ -1449,6 +1449,21 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 * {@link EquipmentSlot} will be returned. This is because * AttributeModifiers without a slot are active in any slot.
* If there are no attributes set for the given slot, an empty map +diff --git a/src/main/java/org/bukkit/inventory/meta/LeatherArmorMeta.java b/src/main/java/org/bukkit/inventory/meta/LeatherArmorMeta.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/inventory/meta/LeatherArmorMeta.java ++++ b/src/main/java/org/bukkit/inventory/meta/LeatherArmorMeta.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable; + + /** + * Represents leather armor ({@link Material#LEATHER_BOOTS}, {@link +- * Material#LEATHER_CHESTPLATE}, {@link Material#LEATHER_HELMET}, or {@link +- * Material#LEATHER_LEGGINGS}) that can be colored. ++ * Material#LEATHER_LEGGINGS}, {@link Material#LEATHER_CHESTPLATE}, {@link ++ * Material#LEATHER_HELMET}, or {@link Material#LEATHER_HORSE_ARMOR}) that can be colored. + */ + public interface LeatherArmorMeta extends ItemMeta { + diff --git a/src/main/java/org/bukkit/scoreboard/Objective.java b/src/main/java/org/bukkit/scoreboard/Objective.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/scoreboard/Objective.java diff --git a/patches/server/Expose-hasColor-to-leather-armor.patch b/patches/server/Expose-hasColor-to-leather-armor.patch new file mode 100644 index 0000000000..f75ad48401 --- /dev/null +++ b/patches/server/Expose-hasColor-to-leather-armor.patch @@ -0,0 +1,38 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: SoSeDiK +Date: Wed, 1 May 2024 10:58:50 +0300 +Subject: [PATCH] Expose #hasColor to leather armor + + +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaColorableArmor.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaColorableArmor.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaColorableArmor.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaColorableArmor.java +@@ -0,0 +0,0 @@ public class CraftMetaColorableArmor extends CraftMetaArmor implements Colorable + } + return original != hash ? CraftMetaColorableArmor.class.hashCode() ^ hash : hash; + } ++ ++ // Paper start - Expose #hasColor to leather armor ++ @Override ++ public boolean isDyed() { ++ return hasColor(); ++ } ++ // Paper end - Expose #hasColor to leather armor + } +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaLeatherArmor.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaLeatherArmor.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaLeatherArmor.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaLeatherArmor.java +@@ -0,0 +0,0 @@ class CraftMetaLeatherArmor extends CraftMetaItem implements LeatherArmorMeta { + builder.put(CraftMetaLeatherArmor.COLOR.BUKKIT, meta.getColor()); + } + } ++ ++ // Paper start - Expose #hasColor to leather armor ++ @Override ++ public boolean isDyed() { ++ return hasColor(); ++ } ++ // Paper end - Expose #hasColor to leather armor + }