Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
GameModuleClient.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/application/app_extensions/AppExtensionsNonOwner.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8
9// auto generated forward declare list
10// clang-format off
13class BaseGameVersion;
15class ClientLevel;
16class CommandRegistry;
17class Experiments;
19class IClientInstance;
22class ItemRegistryRef;
23class Level;
26// clang-format on
27
29public:
30 // GameModuleClient inner types define
31 enum class ResourceLoadingPhase : int {
32 AppStartup = 0,
33 Frontend = 1,
34 InGame = 2,
35 };
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~GameModuleClient() /*override*/ = default;
41
42 virtual void init(::IClientInstance& client, ::Bedrock::NotNullNonOwnerPtr<::Level> const& level) = 0;
43
44 virtual void configureLevel(
45 ::IClientInstance& client,
46 ::Bedrock::NotNullNonOwnerPtr<::ClientLevel> const& level,
47 ::Experiments const& experiments,
48 ::BaseGameVersion const& baseGameVersion
49 ) = 0;
50
51 virtual void deconfigureLevel(::IClientInstance& client) = 0;
52
53 virtual void onLeaveWorld() = 0;
54
55 virtual void initializeResourceStack(
56 ::Experiments const* experiments,
57 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository> const& repo,
58 ::ResourcePackStack& stack,
59 ::BaseGameVersion const& baseGameVersion,
60 ::GameModuleClient::ResourceLoadingPhase loadingPhase,
61 bool includeEditorPacks,
62 ::IEducationOptions const* educationOptions
63 ) = 0;
64
65 virtual void configureDocumentation(::GameModuleDocumentation&, ::ItemRegistryRef const) = 0;
66
67 virtual void tick(::IClientInstance const& client) = 0;
68
69 virtual void setupStandardCommands(
70 ::CommandRegistry& commandRegistry,
71 ::AtomicClientEntityFactory& atomicClientEntityFactory,
72 ::IEducationOptions const& educationOptions
73 ) = 0;
74
75 virtual void setupStartMenuScreenCommands(::CommandRegistry&) = 0;
76
77 virtual void setupUI() = 0;
78
79 virtual void registerActorRenderers(::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client) = 0;
80
81 virtual ::std::unique_ptr<::ClientInputMappingFactory> createInputMappingFactory(::IClientInstance& client) = 0;
82
83 virtual ::std::shared_ptr<void> registerVanillaGoalsForUpgrader(
84 ::Experiments const& experiments,
85 ::BaseGameVersion const& baseGameVersion,
86 ::ItemRegistryRef const itemRegistryRef,
87 ::ActorMigratedDefinitionFactory& migratedFactory
88 ) const = 0;
89
90 virtual ::ServerboundDiagnosticsPacket createServerboundDiagnosticsPacket() = 0;
91
92 virtual ::std::shared_ptr<void const> getWorldSystemsScope() = 0;
93 // NOLINTEND
94};
Definition ActorMigratedDefinitionFactory.h:42
Definition AppExtensionsNonOwner.h:16
Definition AtomicClientEntityFactory.h:13
Definition BaseGameVersion.h:8
Definition ClientInputMappingFactory.h:5
Definition ClientLevel.h:5
Definition CommandRegistry.h:51
Definition Experiments.h:14
Definition GameModuleClient.h:5
Definition GameModuleDocumentation.h:5
Definition IClientInstance.h:5
Definition IEducationOptions.h:8
Definition IResourcePackRepository.h:36
Definition ItemRegistryRef.h:36
Definition Level.h:255
Definition ResourcePackStack.h:23
Definition ServerboundDiagnosticsPacket.h:19