LeviLamina
Loading...
Searching...
No Matches
LevelEventManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/pub_sub/Connector.h"
8#include "mc/deps/core/utility/pub_sub/Publisher.h"
9#include "mc/deps/shared_types/legacy/LevelEvent.h"
10#include "mc/world/level/ILevelEventManagerCoordinator.h"
11
12// auto generated forward declare list
13// clang-format off
14class CompoundTag;
15class IDimension;
17class PacketSender;
19class Vec3;
20namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
21namespace mce { class Color; }
22// clang-format on
23
24class LevelEventManager : public ::ILevelEventManagerCoordinator {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<1, 1, bool const> mIsClientSide;
29 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator> const> mLevelEventCoordinator;
30 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PacketSender>> mPacketSender;
31 ::ll::TypedStorage<
32 8,
33 128,
35 void(::SharedTypes::Legacy::LevelEvent, ::Vec3 const&, int),
37 0>>
38 mLevelEventDataPublisher;
39 ::ll::TypedStorage<
40 8,
41 128,
43 void(::SharedTypes::Legacy::LevelEvent, ::CompoundTag const&),
45 0>>
46 mLevelEventCompoundTagPublisher;
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 LevelEventManager();
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual ~LevelEventManager() /*override*/ = default;
57
58 virtual ::Bedrock::PubSub::Connector<void(::SharedTypes::Legacy::LevelEvent, ::Vec3 const&, int)>&
59 getLevelEventDataConnector() /*override*/;
60
61 virtual ::Bedrock::PubSub::Connector<void(::SharedTypes::Legacy::LevelEvent, ::CompoundTag const&)>&
62 getLevelEventCompoundTagConnector() /*override*/;
63 // NOLINTEND
64
65public:
66 // member functions
67 // NOLINTBEGIN
68 MCAPI
69 LevelEventManager(bool isClientSide, ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator> levelEventCoordinator);
70
71 MCAPI void broadcastLevelEvent(
72 ::SharedTypes::Legacy::LevelEvent type,
73 ::CompoundTag const& tag,
74 ::UserEntityIdentifierComponent const* userIdentifierToExclude
75 );
76
77 MCAPI void broadcastLevelEvent(
78 ::SharedTypes::Legacy::LevelEvent type,
79 ::Vec3 const& pos,
80 int data,
81 ::UserEntityIdentifierComponent const* userIdentifierToExclude
82 );
83
84 MCAPI void
85 broadcastLocalEvent(::IDimension& dimension, ::SharedTypes::Legacy::LevelEvent type, ::Vec3 const& pos, int data);
86
87 MCAPI void potionSplash(::Vec3 const& pos, ::mce::Color const& color, bool instantaneousEffect);
88 // NOLINTEND
89
90public:
91 // constructor thunks
92 // NOLINTBEGIN
93 MCAPI void* $ctor(bool isClientSide, ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator> levelEventCoordinator);
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99#ifdef LL_PLAT_S
100 MCAPI ::Bedrock::PubSub::Connector<void(::SharedTypes::Legacy::LevelEvent, ::Vec3 const&, int)>&
101 $getLevelEventDataConnector();
102#else // LL_PLAT_C
103 MCFOLD ::Bedrock::PubSub::Connector<void(::SharedTypes::Legacy::LevelEvent, ::Vec3 const&, int)>&
104 $getLevelEventDataConnector();
105#endif
106
107 MCAPI ::Bedrock::PubSub::Connector<void(::SharedTypes::Legacy::LevelEvent, ::CompoundTag const&)>&
108 $getLevelEventCompoundTagConnector();
109
110
111 // NOLINTEND
112
113public:
114 // vftables
115 // NOLINTBEGIN
116 MCNAPI static void** $vftable();
117 // NOLINTEND
118};
Definition Publisher.h:25
Definition CompoundTag.h:18
Definition IDimension.h:24
Definition ILevelEventManagerCoordinator.h:15
Definition LevelEventCoordinator.h:26
static MCAPI void ** $vftable()
Definition PacketSender.h:17
Definition UserEntityIdentifierComponent.h:17
Definition Vec3.h:10
Definition Color.h:13