13
0
geforkt von Mirrors/Velocity

Allow to edit GameProfile properties.

Dieser Commit ist enthalten in:
Leymooo 2018-09-11 19:00:34 +03:00
Ursprung f9a98ae41c
Commit d2b4b77134
2 geänderte Dateien mit 30 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -5,7 +5,9 @@ import com.velocitypowered.api.proxy.player.PlayerSettings;
import com.velocitypowered.api.proxy.messages.ChannelMessageSink;
import com.velocitypowered.api.proxy.messages.ChannelMessageSource;
import com.velocitypowered.api.proxy.server.ServerInfo;
import com.velocitypowered.api.util.GameProfile;
import com.velocitypowered.api.util.MessagePosition;
import java.util.List;
import net.kyori.text.Component;
import org.checkerframework.checker.nullness.qual.NonNull;
@ -34,6 +36,10 @@ public interface Player extends CommandSource, InboundConnection, ChannelMessage
*/
Optional<ServerConnection> getCurrentServer();
/**
* Returns the player settings
* @return the settings
*/
PlayerSettings getPlayerSettings();
/**
@ -64,6 +70,18 @@ public interface Player extends CommandSource, InboundConnection, ChannelMessage
*/
ConnectionRequestBuilder createConnectionRequest(@NonNull ServerInfo info);
/**
* Gets a game profile properties of player
* @return a immutable list of properties
*/
List<GameProfile.Property> getGameProfileProperties();
/**
* Sets a GameProfile properties({@link GameProfile.Property)
* @param properties a properties to set
*/
void setGameProfileProperties(List<GameProfile.Property> properties);
/**
* Sets the tab list header and footer for the player.
* @param header the header component

Datei anzeigen

@ -54,7 +54,7 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
private final MinecraftConnection connection;
private final InetSocketAddress virtualHost;
private final GameProfile profile;
private GameProfile profile;
private PermissionFunction permissionFunction = null;
private int tryIndex = 0;
private long ping = -1;
@ -162,6 +162,17 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
public ConnectionRequestBuilder createConnectionRequest(@NonNull ServerInfo info) {
return new ConnectionRequestBuilderImpl(info);
}
@Override
public List<GameProfile.Property> getGameProfileProperties() {
return this.profile.getProperties();
}
@Override
public void setGameProfileProperties(List<GameProfile.Property> properties) {
Preconditions.checkNotNull(properties);
this.profile = new GameProfile(profile.getId(), profile.getName(), properties);
}
@Override
public void setHeaderAndFooter(@NonNull Component header, @NonNull Component footer) {