diff --git a/CraftBukkit-Patches/0139-Don-t-special-case-invalid-usernames-for-UUIDs.patch b/CraftBukkit-Patches/0139-Don-t-special-case-invalid-usernames-for-UUIDs.patch new file mode 100644 index 000000000..f8e89f6fb --- /dev/null +++ b/CraftBukkit-Patches/0139-Don-t-special-case-invalid-usernames-for-UUIDs.patch @@ -0,0 +1,34 @@ +From e0c38283dbe5d50a2b6290bf60d75140814e80e4 Mon Sep 17 00:00:00 2001 +From: md_5 +Date: Sun, 20 Apr 2014 18:58:00 +1000 +Subject: [PATCH] Don't special case 'invalid' usernames for UUIDs. + + +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +index 7c265b5..a996677 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +@@ -231,8 +231,6 @@ public final class CraftServer implements Server { + private boolean printSaveWarning; + private CraftIconCache icon; + private boolean overrideAllCommandBlockCommands = false; +- private final Pattern validUserPattern = Pattern.compile("^[a-zA-Z0-9_]{2,16}$"); +- private final UUID invalidUserUUID = UUID.nameUUIDFromBytes("InvalidUsername".getBytes(Charsets.UTF_8)); + + private final class BooleanWrapper { + private boolean value = true; +@@ -1321,11 +1319,6 @@ public final class CraftServer implements Server { + Validate.notNull(name, "Name cannot be null"); + com.google.common.base.Preconditions.checkArgument( !org.apache.commons.lang.StringUtils.isBlank( name ), "Name cannot be blank" ); // Spigot + +- // If the name given cannot ever be a valid username give a dummy return, for scoreboard plugins +- if (!validUserPattern.matcher(name).matches()) { +- return new CraftOfflinePlayer(this, new GameProfile(invalidUserUUID, name)); +- } +- + OfflinePlayer result = getPlayerExact(name); + if (result == null) { + // This is potentially blocking :( +-- +1.9.1 +