summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/bukkit/attribute/AttributeModifier.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
index a3a69ffa..2bc9878f 100644
--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
+++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
@@ -2,6 +2,7 @@ package org.bukkit.attribute;
import java.util.HashMap;
import java.util.Map;
+import java.util.Objects;
import java.util.UUID;
import org.apache.commons.lang.Validate;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
@@ -103,11 +104,22 @@ public class AttributeModifier implements ConfigurationSerializable {
return false;
}
AttributeModifier mod = (AttributeModifier) other;
- boolean slots = (this.slot != null ? (this.slot == mod.slot) : mod.slot != null);
+ boolean slots = (this.slot != null ? (this.slot == mod.slot) : mod.slot == null);
return this.uuid.equals(mod.uuid) && this.name.equals(mod.name) && this.amount == mod.amount && this.operation == mod.operation && slots;
}
@Override
+ public int hashCode() {
+ int hash = 5;
+ hash = 17 * hash + Objects.hashCode(this.uuid);
+ hash = 17 * hash + Objects.hashCode(this.name);
+ hash = 17 * hash + (int) (Double.doubleToLongBits(this.amount) ^ (Double.doubleToLongBits(this.amount) >>> 32));
+ hash = 17 * hash + Objects.hashCode(this.operation);
+ hash = 17 * hash + Objects.hashCode(this.slot);
+ return hash;
+ }
+
+ @Override
public String toString() {
return "AttributeModifier{"
+ "uuid=" + this.uuid.toString()