Newer
Older
KeeperJerry_Launcher / Launcher / source / request / uuid / ProfileByUUIDRequest.java
@KeeperJerry KeeperJerry on 27 Jun 2020 1 KB Рефактор кода
package launcher.request.uuid;

import launcher.Launcher.Config;
import launcher.LauncherAPI;
import launcher.client.PlayerProfile;
import launcher.request.Request;
import launcher.serialize.HInput;
import launcher.serialize.HOutput;

import java.io.IOException;
import java.util.Objects;
import java.util.UUID;

public final class ProfileByUUIDRequest extends Request<PlayerProfile>
{
    private final UUID uuid;

    @LauncherAPI
    public ProfileByUUIDRequest(Config config, UUID uuid)
    {
        super(config);
        this.uuid = Objects.requireNonNull(uuid, "uuid");
    }

    @LauncherAPI
    public ProfileByUUIDRequest(UUID uuid)
    {
        this(null, uuid);
    }

    @Override
    public Type getType()
    {
        return Type.PROFILE_BY_UUID;
    }

    @Override
    protected PlayerProfile requestDo(HInput input, HOutput output) throws IOException
    {
        output.writeUUID(uuid);
        output.flush();

        // Return profile
        return input.readBoolean() ? new PlayerProfile(input) : null;
    }
}