Return a Users UUID as a UUID object whilst keeping support for returning as a String
This commit is contained in:
parent
a4dd0dba88
commit
13848def72
@ -2,6 +2,7 @@ package net.md_5.bungee;
|
|||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Series of utility classes to perform various operations.
|
* Series of utility classes to perform various operations.
|
||||||
@ -63,4 +64,15 @@ public class Util
|
|||||||
{
|
{
|
||||||
return Joiner.on( separators ).join( objects );
|
return Joiner.on( separators ).join( objects );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a String to a UUID
|
||||||
|
*
|
||||||
|
* @param uuid The string to be converted
|
||||||
|
* @return The result
|
||||||
|
*/
|
||||||
|
public static UUID getUUID(String uuid)
|
||||||
|
{
|
||||||
|
return UUID.fromString( uuid.substring( 0, 8 ) + "-" + uuid.substring( 8, 12 ) + "-" + uuid.substring( 12, 16 ) + "-" + uuid.substring( 16, 20 ) + "-" + uuid.substring( 20, 32 ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package net.md_5.bungee.api.connection;
|
package net.md_5.bungee.api.connection;
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
import java.util.UUID;
|
||||||
import net.md_5.bungee.api.config.ListenerInfo;
|
import net.md_5.bungee.api.config.ListenerInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,9 +42,18 @@ public interface PendingConnection extends Connection
|
|||||||
* Get this connection's UUID, if set.
|
* Get this connection's UUID, if set.
|
||||||
*
|
*
|
||||||
* @return the UUID
|
* @return the UUID
|
||||||
|
* @deprecated In favour of {@link #getUniqueId()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
String getUUID();
|
String getUUID();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get this connection's UUID, if set.
|
||||||
|
*
|
||||||
|
* @return the UUID
|
||||||
|
*/
|
||||||
|
UUID getUniqueId();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get this connection's online mode.
|
* Get this connection's online mode.
|
||||||
*
|
*
|
||||||
|
@ -4,6 +4,7 @@ import net.md_5.bungee.api.Callback;
|
|||||||
import net.md_5.bungee.api.CommandSender;
|
import net.md_5.bungee.api.CommandSender;
|
||||||
import net.md_5.bungee.api.config.ServerInfo;
|
import net.md_5.bungee.api.config.ServerInfo;
|
||||||
import net.md_5.bungee.api.tab.TabListHandler;
|
import net.md_5.bungee.api.tab.TabListHandler;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a player who's connection is being connected to somewhere else,
|
* Represents a player who's connection is being connected to somewhere else,
|
||||||
@ -117,6 +118,15 @@ public interface ProxiedPlayer extends Connection, CommandSender
|
|||||||
* Get this connection's UUID, if set.
|
* Get this connection's UUID, if set.
|
||||||
*
|
*
|
||||||
* @return the UUID
|
* @return the UUID
|
||||||
|
* @deprecated In favour of {@link #getUniqueId()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
String getUUID();
|
String getUUID();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get this connection's UUID, if set.
|
||||||
|
*
|
||||||
|
* @return the UUID
|
||||||
|
*/
|
||||||
|
UUID getUniqueId();
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ import java.util.Collection;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
@ -421,4 +422,10 @@ public final class UserConnection implements ProxiedPlayer
|
|||||||
{
|
{
|
||||||
return getPendingConnection().getUUID();
|
return getPendingConnection().getUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UUID getUniqueId()
|
||||||
|
{
|
||||||
|
return getPendingConnection().getUniqueId();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import java.net.URLEncoder;
|
|||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@ -81,7 +82,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||||||
@Getter
|
@Getter
|
||||||
private InetSocketAddress virtualHost;
|
private InetSocketAddress virtualHost;
|
||||||
@Getter
|
@Getter
|
||||||
private String UUID;
|
private UUID uniqueId;
|
||||||
|
|
||||||
private enum State
|
private enum State
|
||||||
{
|
{
|
||||||
@ -320,7 +321,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||||||
LoginResult obj = BungeeCord.getInstance().gson.fromJson( result, LoginResult.class );
|
LoginResult obj = BungeeCord.getInstance().gson.fromJson( result, LoginResult.class );
|
||||||
if ( obj != null )
|
if ( obj != null )
|
||||||
{
|
{
|
||||||
UUID = obj.getId();
|
uniqueId = Util.getUUID( obj.getId() );
|
||||||
finish();
|
finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -366,11 +367,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||||||
{
|
{
|
||||||
if ( ch.getHandle().isActive() )
|
if ( ch.getHandle().isActive() )
|
||||||
{
|
{
|
||||||
if ( UUID == null )
|
if ( uniqueId == null )
|
||||||
{
|
{
|
||||||
UUID = java.util.UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + getName() ).getBytes( Charsets.UTF_8 ) ).toString();
|
uniqueId = java.util.UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + getName() ).getBytes( Charsets.UTF_8 ) );
|
||||||
}
|
}
|
||||||
unsafe.sendPacket( new LoginSuccess( UUID, getName() ) );
|
unsafe.sendPacket( new LoginSuccess( uniqueId.toString(), getName() ) );
|
||||||
ch.setProtocol( Protocol.GAME );
|
ch.setProtocol( Protocol.GAME );
|
||||||
|
|
||||||
UserConnection userCon = new UserConnection( bungee, ch, getName(), InitialHandler.this );
|
UserConnection userCon = new UserConnection( bungee, ch, getName(), InitialHandler.this );
|
||||||
@ -466,6 +467,12 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||||||
this.onlineMode = onlineMode;
|
this.onlineMode = onlineMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUUID()
|
||||||
|
{
|
||||||
|
return uniqueId.toString().replaceAll( "-", "" );
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user