Skip to content
LeviMC
English
AutoLightDark
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#include "mc/world/level/ticking/TransientTickingAreaLimits.h"
16
17// auto generated forward declare list
18// clang-format off
19class ServerLevel;
21namespace ScriptModuleMinecraft { struct ScriptTickingArea; }
22namespace Scripting { struct ClassBinding; }
23namespace Scripting { struct Error; }
24// clang-format on
25
26namespace ScriptModuleMinecraft {
27
28class ScriptTickingAreaManager : public ::EventListenerDispatcher<::LevelEventListener> {
29public:
30 // ScriptTickingAreaManager inner types declare
31 // clang-format off
32 struct Counter;
33 struct PromiseContext;
34 // clang-format on
35
36 // ScriptTickingAreaManager inner types define
37 struct Counter {
38 public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<4, 4, int> mCount;
42 // NOLINTEND
43 };
44
46 public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 32, ::std::string> mName;
50 ::ll::TypedStorage<4, 48, ::Bounds> mBounds;
51 ::ll::TypedStorage<8, 80, ::Scripting::Promise<void, ::Scripting::Error>> mPromise;
52 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionType;
53 ::ll::TypedStorage<1, 1, bool> mFinishedLoading;
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
60 ::ll::TypedStorage<
61 8,
62 64,
63 ::std::unordered_map<::mce::UUID, ::ScriptModuleMinecraft::ScriptTickingAreaManager::PromiseContext>>
64 mPromiseContexts;
65 ::ll::TypedStorage<
66 8,
67 16,
68 ::std::map<
70 ::std::unordered_map<::ChunkPos, ::ScriptModuleMinecraft::ScriptTickingAreaManager::Counter>>>
71 mTickingChunksCache;
72 ::ll::TypedStorage<4, 8, ::TransientTickingAreaLimits const> mLimitPolicy;
73 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
74 ::ll::TypedStorage<8, 8, ::gsl::not_null<::ServerLevel*>> mLevel;
75 // NOLINTEND
76
77public:
78 // virtual functions
79 // NOLINTBEGIN
80 virtual ~ScriptTickingAreaManager() /*override*/ = default;
81
82 virtual ::EventResult onEvent(::LevelTickingAreaFinishedLoadingEvent const& event) /*override*/;
83 // NOLINTEND
84
85public:
86 // member functions
87 // NOLINTBEGIN
88 MCNAPI ::std::optional<::ScriptModuleMinecraft::ScriptTickingArea>
90
91 MCNAPI bool _hasCapacity(::DimensionType const& dimensionId, ::Bounds const& bounds);
92
93 MCNAPI bool _removeTickingAreas(::std::vector<::mce::UUID> const& uuids);
94 // NOLINTEND
95
96public:
97 // static functions
98 // NOLINTBEGIN
99 MCNAPI static ::Scripting::ClassBinding bind();
100 // NOLINTEND
101
102public:
103 // virtual function thunks
104 // NOLINTBEGIN
105 MCNAPI ::EventResult $onEvent(::LevelTickingAreaFinishedLoadingEvent const& event);
106
107
108 // NOLINTEND
109};
110
111} // namespace ScriptModuleMinecraft
Definition EventListenerDispatcher.h:6
Definition ScriptTickingAreaManager.h:28
MCAPI::EventResult $onEvent(::LevelTickingAreaFinishedLoadingEvent const &event)
MCAPI bool _hasCapacity(::DimensionType const &dimensionId, ::Bounds const &bounds)
MCAPI ::std::optional<::ScriptModuleMinecraft::ScriptTickingArea > _getTickingArea(::ScriptModuleMinecraft::ScriptTickingAreaManager::PromiseContext const &context) const
MCAPI bool _removeTickingAreas(::std::vector<::mce::UUID > const &uuids)
static MCAPI ::Scripting::ClassBinding bind()
Definition ServerLevel.h:58
Definition Bounds.h:8
Definition DimensionType.h:5
Definition LevelTickingAreaFinishedLoadingEvent.h:8
Definition ScriptTickingAreaManager.h:37
Definition ScriptTickingArea.h:17
Definition ClassBinding.h:10
Definition Error.h:10
Definition context.h:5