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.ChannelMessageSink;
import com.velocitypowered.api.proxy.messages.ChannelMessageSource; import com.velocitypowered.api.proxy.messages.ChannelMessageSource;
import com.velocitypowered.api.proxy.server.ServerInfo; import com.velocitypowered.api.proxy.server.ServerInfo;
import com.velocitypowered.api.util.GameProfile;
import com.velocitypowered.api.util.MessagePosition; import com.velocitypowered.api.util.MessagePosition;
import java.util.List;
import net.kyori.text.Component; import net.kyori.text.Component;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
@ -34,6 +36,10 @@ public interface Player extends CommandSource, InboundConnection, ChannelMessage
*/ */
Optional<ServerConnection> getCurrentServer(); Optional<ServerConnection> getCurrentServer();
/**
* Returns the player settings
* @return the settings
*/
PlayerSettings getPlayerSettings(); PlayerSettings getPlayerSettings();
/** /**
@ -64,6 +70,18 @@ public interface Player extends CommandSource, InboundConnection, ChannelMessage
*/ */
ConnectionRequestBuilder createConnectionRequest(@NonNull ServerInfo info); 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. * Sets the tab list header and footer for the player.
* @param header the header component * @param header the header component

Datei anzeigen

@ -54,7 +54,7 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
private final MinecraftConnection connection; private final MinecraftConnection connection;
private final InetSocketAddress virtualHost; private final InetSocketAddress virtualHost;
private final GameProfile profile; private GameProfile profile;
private PermissionFunction permissionFunction = null; private PermissionFunction permissionFunction = null;
private int tryIndex = 0; private int tryIndex = 0;
private long ping = -1; private long ping = -1;
@ -163,6 +163,17 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
return new ConnectionRequestBuilderImpl(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 @Override
public void setHeaderAndFooter(@NonNull Component header, @NonNull Component footer) { public void setHeaderAndFooter(@NonNull Component header, @NonNull Component footer) {
Preconditions.checkNotNull(header, "header"); Preconditions.checkNotNull(header, "header");