Don't special case 'invalid' usernames for UUIDs.
This renders any automatically generated username to have the same UUID, thus make pseudo players somewhat limited. When using such names for scoreboards etc you should be using our enhanced String based scoreboard API anyway. Thanks @ElgarL for pointing this out.
This commit is contained in:
parent
28eddfcc38
commit
ca27a33e84
1 changed files with 34 additions and 0 deletions
|
@ -0,0 +1,34 @@
|
|||
From e0c38283dbe5d50a2b6290bf60d75140814e80e4 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
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
|
||||
|
Loading…
Reference in a new issue