13
0
geforkt von Mirrors/Paper

distinguish between null and empty map in API (#10829)

Dieser Commit ist enthalten in:
Jake Potrebic 2024-07-16 11:36:07 -07:00
Ursprung ad2de918bf
Commit 2a8b311dfb
2 geänderte Dateien mit 27 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -71,3 +71,19 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
/**
* Checks to see if this item has a maximum amount of damage.
*
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -0,0 +0,0 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
/**
* Set all {@link Attribute}s and their {@link AttributeModifier}s.
- * To clear all currently set Attributes and AttributeModifiers use
- * null or an empty Multimap.
+ * To clear all custom attribute modifiers, use {@code null}. To set
+ * no modifiers (which will override the default modifiers), use an
+ * empty map.
* If not null nor empty, this will filter all entries that are not-null
* and add them to the ItemStack.
*

Datei anzeigen

@ -954,7 +954,17 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
return this.attributeModifiers.put(attribute, modifier);
}
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@Override
public void setAttributeModifiers(@Nullable Multimap<Attribute, AttributeModifier> attributeModifiers) {
- if (attributeModifiers == null || attributeModifiers.isEmpty()) {
+ // Paper start - distinguish between null and empty
+ if (attributeModifiers == null) {
+ this.attributeModifiers = null;
+ return;
+ }
+ if (attributeModifiers.isEmpty()) {
+ // Paper end - distinguish between null and empty
this.attributeModifiers = LinkedHashMultimap.create();
return;
}