summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNathan Adams <dinnerbone@dinnerbone.com>2011-12-12 15:34:49 +0000
committerNathan Adams <dinnerbone@dinnerbone.com>2011-12-12 15:34:49 +0000
commit91ff0b059d441c3e9bcdcc3c962713e7962876b5 (patch)
treea919017d0b00bd029e9b05657ec60690626c7a77 /src
parent82965eb10f66b84273f61e29b7548c215ebd4fc6 (diff)
downloadcraftbukkit-91ff0b059d441c3e9bcdcc3c962713e7962876b5.tar
craftbukkit-91ff0b059d441c3e9bcdcc3c962713e7962876b5.tar.gz
craftbukkit-91ff0b059d441c3e9bcdcc3c962713e7962876b5.tar.lz
craftbukkit-91ff0b059d441c3e9bcdcc3c962713e7962876b5.tar.xz
craftbukkit-91ff0b059d441c3e9bcdcc3c962713e7962876b5.zip
Made OfflinePlayer and Player share the same .equals and .hashcode
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java22
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java10
2 files changed, 27 insertions, 5 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
index 55b2f1ef..68789a9f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -97,4 +97,26 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
return null;
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof OfflinePlayer)) {
+ return false;
+ }
+ OfflinePlayer other = (OfflinePlayer)obj;
+ if ((this.getName() == null) || (other.getName() == null)) {
+ return false;
+ }
+ return this.getName().equalsIgnoreCase(other.getName());
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 5;
+ hash = 97 * hash + (this.getName() != null ? this.getName().hashCode() : 0);
+ return hash;
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index efed45ac..ba2757bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -4,7 +4,6 @@ import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.LinkedHashMap;
import java.util.Map;
-import net.minecraft.server.EntityHuman;
import net.minecraft.server.EntityPlayer;
import net.minecraft.server.Packet131ItemData;
import net.minecraft.server.Packet200Statistic;
@@ -24,6 +23,7 @@ import org.bukkit.Instrument;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Note;
+import org.bukkit.OfflinePlayer;
import org.bukkit.Statistic;
import org.bukkit.World;
import org.bukkit.configuration.serialization.DelegateDeserialization;
@@ -160,14 +160,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (obj == null) {
return false;
}
- if (getClass() != obj.getClass()) {
+ if (!(obj instanceof OfflinePlayer)) {
return false;
}
- final CraftPlayer other = (CraftPlayer) obj;
- if ((this.getName() == null) ? (other.getName() != null) : !this.getName().equals(other.getName())) {
+ OfflinePlayer other = (OfflinePlayer)obj;
+ if ((this.getName() == null) || (other.getName() == null)) {
return false;
}
- return true;
+ return this.getName().equalsIgnoreCase(other.getName());
}
public void kickPlayer(String message) {