summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
authorTravis Watkins <amaranth@ubuntu.com>2014-04-17 10:45:10 -0500
committerTravis Watkins <amaranth@ubuntu.com>2014-04-17 10:45:10 -0500
commit3e911dba54ba2d6bc107adac7758efb75123e1f8 (patch)
tree6c70c062bf987a405bf67c895c1563fc8524de2b /src/main/java/org
parenta8d5c1224f93f2b8fcdd2acb20ae11fc92336cb6 (diff)
downloadcraftbukkit-3e911dba54ba2d6bc107adac7758efb75123e1f8.tar
craftbukkit-3e911dba54ba2d6bc107adac7758efb75123e1f8.tar.gz
craftbukkit-3e911dba54ba2d6bc107adac7758efb75123e1f8.tar.lz
craftbukkit-3e911dba54ba2d6bc107adac7758efb75123e1f8.tar.xz
craftbukkit-3e911dba54ba2d6bc107adac7758efb75123e1f8.zip
Make bans pretend to use names like before 1.7.8.
Bans require a name and UUID but our API only allows for a single string identifier for a ban entry. Until this is sorted out go back to the old name based setup since we can always get a UUID given a name.
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java14
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java2
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java23
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftServer.java2
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java6
5 files changed, 28 insertions, 19 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
index 237837d7..1328c175 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -90,14 +90,22 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
}
public boolean isBanned() {
- return server.getBanList(BanList.Type.UUID).isBanned(getUniqueId().toString());
+ if (getName() == null) {
+ return false;
+ }
+
+ return server.getBanList(BanList.Type.NAME).isBanned(getName());
}
public void setBanned(boolean value) {
+ if (getName() == null) {
+ return;
+ }
+
if (value) {
- server.getBanList(BanList.Type.UUID).addBan(getUniqueId().toString(), null, null, null);
+ server.getBanList(BanList.Type.NAME).addBan(getName(), null, null, null);
} else {
- server.getBanList(BanList.Type.UUID).pardon(getUniqueId().toString());
+ server.getBanList(BanList.Type.NAME).pardon(getName());
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java b/src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java
index c4491970..7ec00068 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java
@@ -27,7 +27,7 @@ public final class CraftProfileBanEntry implements org.bukkit.BanEntry {
@Override
public String getTarget() {
- return this.profile.getId().toString();
+ return this.profile.getName();
}
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java b/src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java
index 5679a036..20433590 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java
@@ -3,7 +3,6 @@ package org.bukkit.craftbukkit;
import java.io.IOException;
import java.util.Date;
import java.util.Set;
-import java.util.UUID;
import net.minecraft.server.GameProfileBanEntry;
import net.minecraft.server.GameProfileBanList;
@@ -27,8 +26,10 @@ public class CraftProfileBanList implements org.bukkit.BanList {
public org.bukkit.BanEntry getBanEntry(String target) {
Validate.notNull(target, "Target cannot be null");
- UUID id = UUID.fromString(target);
- GameProfile profile = new GameProfile(id, null);
+ GameProfile profile = MinecraftServer.getServer().getUserCache().a(target);
+ if (profile == null) {
+ return null;
+ }
GameProfileBanEntry entry = (GameProfileBanEntry) list.get(profile);
if (entry == null) {
@@ -42,8 +43,10 @@ public class CraftProfileBanList implements org.bukkit.BanList {
public org.bukkit.BanEntry addBan(String target, String reason, Date expires, String source) {
Validate.notNull(target, "Ban target cannot be null");
- UUID id = UUID.fromString(target);
- GameProfile profile = new GameProfile(id, null);
+ GameProfile profile = MinecraftServer.getServer().getUserCache().a(target);
+ if (profile == null) {
+ return null;
+ }
GameProfileBanEntry entry = new GameProfileBanEntry(profile, new Date(),
StringUtils.isBlank(source) ? null : source, expires,
@@ -75,8 +78,10 @@ public class CraftProfileBanList implements org.bukkit.BanList {
public boolean isBanned(String target) {
Validate.notNull(target, "Target cannot be null");
- UUID id = UUID.fromString(target);
- GameProfile profile = new GameProfile(id, null);
+ GameProfile profile = MinecraftServer.getServer().getUserCache().a(target);
+ if (profile == null) {
+ return false;
+ }
return list.isBanned(profile);
}
@@ -85,9 +90,7 @@ public class CraftProfileBanList implements org.bukkit.BanList {
public void pardon(String target) {
Validate.notNull(target, "Target cannot be null");
- UUID id = UUID.fromString(target);
- GameProfile profile = new GameProfile(id, null);
-
+ GameProfile profile = MinecraftServer.getServer().getUserCache().a(target);
list.remove(profile);
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e33576d9..111abb82 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1356,8 +1356,6 @@ public final class CraftServer implements Server {
case IP:
return new CraftIpBanList(playerList.getIPBans());
case NAME:
- return null;
- case UUID:
default:
return new CraftProfileBanList(playerList.getProfileBans());
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 220967ba..7c427fa3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -738,15 +738,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public boolean isBanned() {
- return server.getBanList(BanList.Type.UUID).isBanned(getUniqueId().toString());
+ return server.getBanList(BanList.Type.NAME).isBanned(getName());
}
@Override
public void setBanned(boolean value) {
if (value) {
- server.getBanList(BanList.Type.UUID).addBan(getUniqueId().toString(), null, null, null);
+ server.getBanList(BanList.Type.NAME).addBan(getName(), null, null, null);
} else {
- server.getBanList(BanList.Type.UUID).pardon(getUniqueId().toString());
+ server.getBanList(BanList.Type.NAME).pardon(getName());
}
}