LeviLamina
Loading...
Searching...
No Matches
ScriptTickingAreaManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/script_core/lifetime_registry/scripting/WeakLifetimeScope.h"
7#include "mc/deps/script_core/script_engine/scripting/Promise.h"
8#include "mc/platform/UUID.h"
9#include "mc/util/Bounds.h"
10#include "mc/world/events/EventListenerDispatcher.h"
11#include "mc/world/events/EventResult.h"
12#include "mc/world/events/LevelEventListener.h"
13#include "mc/world/level/ChunkPos.h"
14#include "mc/world/level/dimension/DimensionType.h"
15
16// auto generated forward declare list
17// clang-format off
18class ServerLevel;
20namespace ScriptModuleMinecraft { struct ScriptTickingArea; }
21namespace Scripting { struct ClassBinding; }
22namespace Scripting { struct Error; }
23// clang-format on
24
25namespace ScriptModuleMinecraft {
26
27class ScriptTickingAreaManager : public ::EventListenerDispatcher<::LevelEventListener> {
28public:
29 // ScriptTickingAreaManager inner types declare
30 // clang-format off
31 struct Counter;
32 struct PromiseContext;
33 // clang-format on
34
35 // ScriptTickingAreaManager inner types define
36 struct Counter {
37 public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<4, 4, int> mCount;
41 // NOLINTEND
42 };
43
45 public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 32, ::std::string> mName;
49 ::ll::TypedStorage<4, 48, ::Bounds> mBounds;
50 ::ll::TypedStorage<8, 80, ::Scripting::Promise<void, ::Scripting::Error>> mPromise;
51 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionType;
52 ::ll::TypedStorage<1, 1, bool> mFinishedLoading;
53 // NOLINTEND
54 };
55
56public:
57 // member variables
58 // NOLINTBEGIN
59 ::ll::TypedStorage<
60 8,
61 64,
62 ::std::unordered_map<::mce::UUID, ::ScriptModuleMinecraft::ScriptTickingAreaManager::PromiseContext>>
63 mPromiseContexts;
64 ::ll::TypedStorage<
65 8,
66 16,
67 ::std::map<
69 ::std::unordered_map<::ChunkPos, ::ScriptModuleMinecraft::ScriptTickingAreaManager::Counter>>>
70 mTickingChunksCache;
71 ::ll::TypedStorage<4, 4, int const> mMaxNumberOfChunks;
72 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
73 ::ll::TypedStorage<8, 8, ::gsl::not_null<::ServerLevel*>> mLevel;
74 // NOLINTEND
75
76public:
77 // virtual functions
78 // NOLINTBEGIN
79 virtual ~ScriptTickingAreaManager() /*override*/ = default;
80
81 virtual ::EventResult onEvent(::LevelTickingAreaFinishedLoadingEvent const& event) /*override*/;
82 // NOLINTEND
83
84public:
85 // member functions
86 // NOLINTBEGIN
87 MCAPI ::std::optional<::ScriptModuleMinecraft::ScriptTickingArea>
89
90 MCAPI bool _hasCapacity(::DimensionType const& dimensionId, ::Bounds const& bounds);
91
92 MCAPI bool _removeTickingAreas(::std::vector<::mce::UUID> const& uuids);
93 // NOLINTEND
94
95public:
96 // static functions
97 // NOLINTBEGIN
98 MCAPI static ::Scripting::ClassBinding bind();
99 // NOLINTEND
100
101public:
102 // virtual function thunks
103 // NOLINTBEGIN
104 MCAPI ::EventResult $onEvent(::LevelTickingAreaFinishedLoadingEvent const& event);
105
106
107 // NOLINTEND
108};
109
110} // namespace ScriptModuleMinecraft
Definition EventListenerDispatcher.h:6
Definition ScriptTickingAreaManager.h:27
Definition ServerLevel.h:57
Definition Bounds.h:8
Definition DimensionType.h:5
Definition LevelTickingAreaFinishedLoadingEvent.h:8
Definition ScriptTickingAreaManager.h:36
Definition ScriptTickingArea.h:17
Definition ClassBinding.h:10
Definition Error.h:10
Definition context.h:5