3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/world/JoinServerWorldResult.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
16class IThirdPartyServerRepository;
24namespace Network {
struct ServerID; }
27namespace Social {
class User; }
40 enum class ServerType :
int {
49 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClient;
50 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mMinecraftEventing;
51 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Social::IUserManager>> mUserManager;
52 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IAppPlatform>> mAppPlatform;
53 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository>> mThirdPartyServerRepository;
54 ::ll::TypedStorage<8, 8, ::ServerLocator&> mServerLocator;
55 ::ll::TypedStorage<8, 8, ::World::IServerURLResolver&> mServerURLResolver;
56 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mTaskGroup;
57 ::ll::TypedStorage<8, 8, ::INetworkGameConnector&> mNetworkGameConnector;
58 ::ll::TypedStorage<8, 8, ::World::ExternalServerWorldList&> mExternalServerWorldList;
59 ::ll::TypedStorage<8, 8, ::World::FriendServerWorldList&> mFriendServerWorldList;
60 ::ll::TypedStorage<8, 8, ::World::LanServerWorldList&> mLanServerWorldList;
61 ::ll::TypedStorage<8, 8, ::World::ThirdPartyWorldList&> mThirdPartyWorldList;
62 ::ll::TypedStorage<1, 1, bool> mIsEduMode;
63 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::GatheringManager>> mGatheringManager;
64 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mServerConnectionTime;
69 ServerWorldJoiner& operator=(ServerWorldJoiner
const&);
70 ServerWorldJoiner(ServerWorldJoiner
const&);
76 MCAPI ServerWorldJoiner(
77 ::IClientInstance& client,
78 ::IMinecraftEventing& minecraftEventing,
79 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager>
const& userManager,
80 ::Bedrock::NonOwnerPointer<::IAppPlatform>
const& appPlatform,
81 ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository> thirdPartyServerRepository,
82 ::ServerLocator& serverLocator,
83 ::World::IServerURLResolver& serverURLResolver,
84 ::INetworkGameConnector& networkGameConnector,
85 ::World::ExternalServerWorldList& externalServerWorldList,
86 ::World::FriendServerWorldList& friendServerWorldList,
87 ::World::LanServerWorldList& lanServerWorldList,
88 ::World::ThirdPartyWorldList& thirdPartyWorldList,
90 ::Bedrock::NotNullNonOwnerPtr<::GatheringManager>
const& gatheringManager
93 MCAPI ::Social::GameConnectionInfo
94 _getGameConnectionInfo(::NetworkWorldInfo& world, ::World::ServerWorldJoiner::ServerType serverType);
96 MCAPI
void _joinFriendWorld(
97 ::NetworkWorldInfo
const& world,
98 ::std::function<
void(::World::JoinServerWorldResult)> onCompleteCallback
101 MCAPI
void _joinLanWorld(
102 ::PingedCompatibleServer
const* world,
103 ::std::function<
void(::std::unique_ptr<::ProgressHandler>)> onCompleteCallback,
104 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
107 MCAPI
void _joinNetworkWorld(
108 ::NetworkWorldInfo& world,
109 ::World::ServerWorldJoiner::ServerType serverType,
110 ::std::function<
void(::std::deque<::std::unique_ptr<::ProgressHandler>>,
bool)> onJoinServerCompleted,
111 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
114 MCAPI
bool _validateInternetConnection(::Social::User& user)
const;
117 joinExperienceWorld(::ExperienceConnectionData
const& connectionData, ::PlayerJoinWorldContext
const& joinContext);
119 MCAPI
void joinExternalNetworkWorld(
120 ::std::string
const&
id,
121 ::std::function<
void(::std::deque<::std::unique_ptr<::ProgressHandler>>,
bool)> onJoinServerCompleted,
122 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
125 MCAPI
void joinFriendServerWorld(
126 ::Network::ServerID
const& serverId,
127 ::std::function<
void(::World::JoinServerWorldResult)> onCompleteCallback
130 MCAPI
void joinLANServerWorld(
131 ::Network::ServerID
const& serverId,
132 ::std::function<
void(::std::unique_ptr<::ProgressHandler>)> onCompleteCallback,
133 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
136 MCAPI
void joinThirdPartyServerWorld(
137 ::std::string
const&
id,
138 ::std::function<
void(::std::deque<::std::unique_ptr<::ProgressHandler>>,
bool)> onJoinServerCompleted,
139 ::std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
142 MCAPI ~ServerWorldJoiner();
149 ::IClientInstance& client,
150 ::IMinecraftEventing& minecraftEventing,
151 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager>
const& userManager,
152 ::Bedrock::NonOwnerPointer<::IAppPlatform>
const& appPlatform,
153 ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository> thirdPartyServerRepository,
154 ::ServerLocator& serverLocator,
155 ::World::IServerURLResolver& serverURLResolver,
156 ::INetworkGameConnector& networkGameConnector,
157 ::World::ExternalServerWorldList& externalServerWorldList,
158 ::World::FriendServerWorldList& friendServerWorldList,
159 ::World::LanServerWorldList& lanServerWorldList,
160 ::World::ThirdPartyWorldList& thirdPartyWorldList,
162 ::Bedrock::NotNullNonOwnerPtr<::GatheringManager>
const& gatheringManager
Definition GatheringManager.h:5
Definition IClientInstance.h:5
Definition IMinecraftEventing.h:138
Definition INetworkGameConnector.h:5
Definition ProgressHandler.h:5
Definition ServerLocator.h:19
Definition GameConnectionInfo.h:23
Definition IUserManager.h:7
Definition TaskGroup.h:55
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 ExperienceConnectionData.h:5
Definition NetworkWorldInfo.h:5
Definition PingedCompatibleServer.h:5
Definition PlayerJoinWorldContext.h:5