Correct duplicate attribute check (#10901)

Brackets got lost during the update, leading to an incorrect
precondition call.
This commit is contained in:
Bjarne Koll 2024-06-18 11:11:14 +02:00 committed by GitHub
parent b4b820851f
commit 4514f41ffa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 9 additions and 9 deletions

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Fix CraftMetaItem#getAttributeModifier duplication check
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 24ebc5841ed16129c0e9305da6cf1d8fb67d42ec..529e20fcbf0e7ba22a3f0e7a60ae540c21fed424 100644
index 24ebc5841ed16129c0e9305da6cf1d8fb67d42ec..995ef97b833a0b6e83a27620b1291e984527f09d 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1405,7 +1405,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@ -13,7 +13,7 @@ index 24ebc5841ed16129c0e9305da6cf1d8fb67d42ec..529e20fcbf0e7ba22a3f0e7a60ae540c
this.checkAttributeList();
for (Map.Entry<Attribute, AttributeModifier> entry : this.attributeModifiers.entries()) {
- Preconditions.checkArgument(!entry.getValue().getKey().equals(modifier.getKey()), "Cannot register AttributeModifier. Modifier is already applied! %s", modifier);
+ Preconditions.checkArgument(!entry.getValue().getKey().equals(modifier.getKey()) && entry.getKey() == attribute, "Cannot register AttributeModifier. Modifier is already applied! %s", modifier); // Paper - attribute modifiers with same namespaced key but on different attributes are fine
+ Preconditions.checkArgument(!(entry.getValue().getKey().equals(modifier.getKey()) && entry.getKey() == attribute), "Cannot register AttributeModifier. Modifier is already applied! %s", modifier); // Paper - attribute modifiers with same namespaced key but on different attributes are fine
}
return this.attributeModifiers.put(attribute, modifier);
}