3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/world/JoinServerWorldResult.h"
7#include "mc/deps/core/threading/Async.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
17class IThirdPartyServerRepository;
24namespace Network {
struct ServerID; }
25namespace OreUI {
class Router; }
28namespace Social {
class User; }
41 enum class ServerType :
int {
50 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClient;
51 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mMinecraftEventing;
52 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Social::IUserManager>> mUserManager;
53 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IAppPlatform>> mAppPlatform;
54 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository>> mThirdPartyServerRepository;
55 ::ll::TypedStorage<8, 8, ::ServerLocator&> mServerLocator;
56 ::ll::TypedStorage<8, 8, ::World::IServerURLResolver&> mServerURLResolver;
57 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mTaskGroup;
58 ::ll::TypedStorage<8, 8, ::INetworkGameConnector&> mNetworkGameConnector;
59 ::ll::TypedStorage<8, 8, ::World::ExternalServerWorldList&> mExternalServerWorldList;
60 ::ll::TypedStorage<8, 8, ::World::FriendServerWorldList&> mFriendServerWorldList;
61 ::ll::TypedStorage<8, 8, ::World::LanServerWorldList&> mLanServerWorldList;
62 ::ll::TypedStorage<8, 8, ::World::ThirdPartyWorldList&> mThirdPartyWorldList;
63 ::ll::TypedStorage<1, 1, bool> mIsEduMode;
64 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::GatheringManager>> mGatheringManager;
65 ::ll::TypedStorage<8, 64, ::std::function<::Bedrock::NonOwnerPointer<::Parties::IPartyProvider>()>>
67 ::ll::TypedStorage<8, 8, ::OreUI::Router&> mRouter;
68 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mServerConnectionTime;
73 ServerWorldJoiner& operator=(ServerWorldJoiner
const&);
74 ServerWorldJoiner(ServerWorldJoiner
const&);
80 MCAPI ::Bedrock::Threading::Async<::World::JoinServerWorldResult> _joinExperienceWorld(
81 ::ExperienceJoinRequestInfo
const& connectionData,
82 ::PlayerJoinWorldContext
const& joinContext
85 MCAPI
void _joinFriendWorld(
86 ::NetworkWorldInfo
const& world,
87 ::std::function<
void(::World::JoinServerWorldResult)> onCompleteCallback
90 MCAPI
void _joinNetworkWorld(
91 ::NetworkWorldInfo& world,
92 ::World::ServerWorldJoiner::ServerType
const serverType,
93 ::std::function<
void(::std::deque<::std::unique_ptr<::ProgressHandler>>,
bool)> onJoinServerCompleted,
94 ::std::function<
void()> onJoinServerCancelled,
95 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
98 MCAPI
bool _validateInternetConnection(::Social::User& user)
const;
100 MCAPI
void joinExternalNetworkWorld(
101 ::std::string
const&
id,
102 ::std::function<
void(::std::deque<::std::unique_ptr<::ProgressHandler>>,
bool)> onJoinServerCompleted,
103 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
106 MCAPI
void joinExternalServer(
107 ::std::string
const& server,
109 ::std::string
const& externalServerName,
110 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
113 MCAPI
void joinFriendServerWorld(
114 ::Network::ServerID
const& serverId,
115 ::std::function<
void(::World::JoinServerWorldResult)> onCompleteCallback
118 MCAPI
void joinLANServerWorld(
119 ::Network::ServerID
const& serverId,
120 ::std::function<
void(::std::unique_ptr<::ProgressHandler>)> onCompleteCallback,
121 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
Definition GatheringManager.h:5
Definition IClientInstance.h:5
Definition IMinecraftEventing.h:145
Definition INetworkGameConnector.h:5
Definition IPartyProvider.h:7
Definition ProgressHandler.h:5
Definition ServerLocator.h:20
Definition IUserManager.h:7
Definition TaskGroup.h:61
Definition ExternalServerWorldList.h:7
Definition FriendServerWorldList.h:7
Definition IServerURLResolver.h:7
Definition LanServerWorldList.h:7
Definition ServerWorldJoiner.h:7
Definition ThirdPartyWorldList.h:7
Definition ExperienceJoinRequestInfo.h:5
Definition NetworkWorldInfo.h:5
Definition PlayerJoinWorldContext.h:5