@@ -30,8 +30,13 @@ bool AuthSession::MakeOffline(QString offline_playername)
|
||||
return true;
|
||||
}
|
||||
|
||||
void AuthSession::MakeDemo()
|
||||
void AuthSession::MakeDemo(QString name, QString u)
|
||||
{
|
||||
player_name = "Player";
|
||||
wants_online = false;
|
||||
demo = true;
|
||||
}
|
||||
uuid = u;
|
||||
session = "-";
|
||||
access_token = "0";
|
||||
player_name = name;
|
||||
status = PlayableOnline; // needs online to download the assets
|
||||
};
|
||||
@@ -10,7 +10,7 @@ class QNetworkAccessManager;
|
||||
|
||||
struct AuthSession {
|
||||
bool MakeOffline(QString offline_playername);
|
||||
void MakeDemo();
|
||||
void MakeDemo(QString name, QString uuid);
|
||||
|
||||
QString serializeUserProperties();
|
||||
|
||||
|
||||
@@ -83,8 +83,6 @@ MinecraftAccountPtr MinecraftAccount::createOffline(const QString& username)
|
||||
account->data.yggdrasilToken.issueInstant = QDateTime::currentDateTimeUtc();
|
||||
account->data.yggdrasilToken.extra["userName"] = username;
|
||||
account->data.yggdrasilToken.extra["clientToken"] = QUuid::createUuid().toString().remove(QRegularExpression("[{}-]"));
|
||||
account->data.minecraftEntitlement.ownsMinecraft = true;
|
||||
account->data.minecraftEntitlement.canPlayMinecraft = true;
|
||||
account->data.minecraftProfile.id = uuidFromUsername(username).toString().remove(QRegularExpression("[{}-]"));
|
||||
account->data.minecraftProfile.name = username;
|
||||
account->data.minecraftProfile.validity = Validity::Certain;
|
||||
@@ -253,6 +251,8 @@ void MinecraftAccount::fillSession(AuthSessionPtr session)
|
||||
session->player_name = data.profileName();
|
||||
// profile ID
|
||||
session->uuid = data.profileId();
|
||||
if (session->uuid.isEmpty())
|
||||
session->uuid = uuidFromUsername(session->player_name).toString().remove(QRegularExpression("[{}-]"));
|
||||
// 'legacy' or 'mojang', depending on account type
|
||||
session->user_type = typeString();
|
||||
if (!session->access_token.isEmpty()) {
|
||||
|
||||
@@ -116,7 +116,7 @@ class MinecraftAccount : public QObject, public Usable {
|
||||
|
||||
[[nodiscard]] AccountType accountType() const noexcept { return data.type; }
|
||||
|
||||
bool ownsMinecraft() const { return data.minecraftEntitlement.ownsMinecraft; }
|
||||
bool ownsMinecraft() const { return data.type != AccountType::Offline && data.minecraftEntitlement.ownsMinecraft; }
|
||||
|
||||
bool hasProfile() const { return data.profileId().size() != 0; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user