LeviLamina
Loading...
Searching...
No Matches
ProjectRegion.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/ProjectRegionAvailabilityMode.h"
7#include "mc/deps/game_refs/EnableGetWeakRef.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
13class BlockPos;
14class BlockSource;
15class BoundingBox;
16class ChunkSource;
17class Dimension;
18class LevelChunk;
19struct Bounds;
20namespace Bedrock::PubSub { class Subscription; }
21namespace Editor { class RelativeVolumeListBlockVolume; }
22namespace Editor { struct ProjectRegionConfig; }
23namespace mce { class UUID; }
24// clang-format on
25
26namespace Editor {
27
28class ProjectRegion : public ::EnableGetWeakRef<::Editor::ProjectRegion> {
29public:
30 // ProjectRegion inner types declare
31 // clang-format off
34 // clang-format on
35
36 // ProjectRegion inner types define
37 struct AvailabilityRequest {
38 public:
39 // member variables
40 // NOLINTBEGIN
45 // NOLINTEND
46
47 public:
48 // prevent constructor by default
49 AvailabilityRequest& operator=(AvailabilityRequest const&);
50 AvailabilityRequest(AvailabilityRequest const&);
51 AvailabilityRequest();
52 };
53
54 struct BlockOperationAreaRequest {
55 public:
56 // member variables
57 // NOLINTBEGIN
64 // NOLINTEND
65
66 public:
67 // prevent constructor by default
68 BlockOperationAreaRequest& operator=(BlockOperationAreaRequest const&);
69 BlockOperationAreaRequest(BlockOperationAreaRequest const&);
70 BlockOperationAreaRequest();
71
72 public:
73 // member functions
74 // NOLINTBEGIN
77 ::std::function<void(
80 )> callback
81 );
82 // NOLINTEND
83
84 public:
85 // constructor thunks
86 // NOLINTBEGIN
87 MCNAPI void* $ctor(
89 ::std::function<void(
92 )> callback
93 );
94 // NOLINTEND
95 };
96
97public:
98 // member variables
99 // NOLINTBEGIN
116 // NOLINTEND
117
118public:
119 // prevent constructor by default
120 ProjectRegion& operator=(ProjectRegion const&);
121 ProjectRegion(ProjectRegion const&);
122 ProjectRegion();
123
124public:
125 // member functions
126 // NOLINTBEGIN
127 MCNAPI
128 ProjectRegion(::Dimension& dimension, ::Editor::ProjectRegionConfig const& config, ::std::optional<uint64> ownerId);
129
130 MCNAPI void _destroy();
131
132 MCNAPI void _discardRequests();
133
134 MCNAPI void _initialize(::Dimension& dimension);
135
136 MCNAPI bool _isBoundsAvailable(::Bounds const& bounds) const;
137
138 MCNAPI void _onChunkLoaded(::ChunkSource& levelChunk, ::LevelChunk&, int);
139
140 MCNAPI void _processAvailability();
141
143
144 MCNAPI void _processBounds();
145
147
148 MCNAPI ::Editor::ProjectRegionAvailabilityMode getAvailabilityMode() const;
149
150 MCNAPI ::BlockSource& getBlockSource();
151
152 MCNAPI ::BoundingBox getBoundingBox() const;
153
154 MCNAPI ::mce::UUID const& getId() const;
155
156 MCNAPI bool isAreaAvailable(::BoundingBox const& area);
157
158 MCNAPI bool isAvailable() const;
159
160 MCNAPI bool isLocationAvailable(::BlockPos const& loc) const;
161
162 MCNAPI bool isValid() const;
163
164 MCNAPI ::Bedrock::PubSub::Subscription listenForBoundsChange(::std::function<void(::Bounds const&)> func);
165
166 MCNAPI ::Scripting::Result_deprecated<::mce::UUID> requestAvailabilityCheck(
167 ::std::function<void(::Scripting::Result_deprecated<void>)> callback,
168 ::std::optional<::Bounds> bounds
169 );
170
171 MCNAPI ::Scripting::Result_deprecated<::mce::UUID> requestBlockOperationArea(
173 ::std::function<
175 callback
176 );
177
178 MCNAPI ::Scripting::Result_deprecated<void> requestBoundsUpdate(::Bounds const& bounds);
179
180 MCNAPI ::Scripting::Result_deprecated<void> requestExpandToInclude(::Bounds const& bounds);
181
182 MCNAPI ::Scripting::Result_deprecated<void> requestMove(::BlockPos const& center);
183
184 MCNAPI ::Scripting::Result_deprecated<void> setBlock(::BlockPos const& pos, ::Block const& block);
185
186 MCNAPI void tick();
187
188 MCNAPI ::Scripting::Result_deprecated<void> tryDimensionTransfer(::Dimension& newDimension);
189
191 // NOLINTEND
192
193public:
194 // static functions
195 // NOLINTBEGIN
196 MCNAPI static bool isValidRegionBounds(::Bounds const& bounds);
197 // NOLINTEND
198
199public:
200 // constructor thunks
201 // NOLINTBEGIN
202 MCNAPI void*
203 $ctor(::Dimension& dimension, ::Editor::ProjectRegionConfig const& config, ::std::optional<uint64> ownerId);
204 // NOLINTEND
205
206public:
207 // destructor thunk
208 // NOLINTBEGIN
209 MCNAPI void $dtor();
210 // NOLINTEND
211};
212
213} // namespace Editor
Definition Subscription.h:10
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition BoundingBox.h:13
Definition ChunkSource.h:37
Definition Dimension.h:89
MCAPI::mce::UUID const & getId() const
MCAPI ::Scripting::Result_deprecated< void > requestExpandToInclude(::Bounds const &bounds)
MCAPI void _processBounds()
MCAPI void _destroy()
MCAPI void _onChunkLoaded(::ChunkSource &levelChunk, ::LevelChunk &, int)
MCAPI ProjectRegion(::Dimension &dimension, ::Editor::ProjectRegionConfig const &config, ::std::optional< uint64 > ownerId)
MCAPI::Editor::ProjectRegionAvailabilityMode getAvailabilityMode() const
MCAPI bool isAvailable() const
MCAPI::BlockSource & getBlockSource()
MCAPI ::Scripting::Result_deprecated< void > tryDimensionTransfer(::Dimension &newDimension)
MCAPI ::Scripting::Result_deprecated<::mce::UUID > requestAvailabilityCheck(::std::function< void(::Scripting::Result_deprecated< void >)> callback, ::std::optional<::Bounds > bounds)
MCAPI void * $ctor(::Dimension &dimension, ::Editor::ProjectRegionConfig const &config, ::std::optional< uint64 > ownerId)
MCAPI void _discardRequests()
MCAPI void _initialize(::Dimension &dimension)
MCAPI bool _isBoundsAvailable(::Bounds const &bounds) const
MCAPI bool isValid() const
MCAPI void _updateChunksToProcess()
MCAPI ::Scripting::Result_deprecated< void > requestBoundsUpdate(::Bounds const &bounds)
MCAPI::BoundingBox getBoundingBox() const
MCAPI ::Scripting::Result_deprecated<::mce::UUID > requestBlockOperationArea(::Editor::RelativeVolumeListBlockVolume volume, ::std::function< void(::Editor::RelativeVolumeListBlockVolume const &, ::std::optional<::Scripting::Result_deprecated< void > >)> callback)
MCAPI ::Scripting::Result_deprecated< void > requestMove(::BlockPos const &center)
MCAPI bool isAreaAvailable(::BoundingBox const &area)
MCAPI bool isLocationAvailable(::BlockPos const &loc) const
MCAPI::Bedrock::PubSub::Subscription listenForBoundsChange(::std::function< void(::Bounds const &)> func)
static MCAPI bool isValidRegionBounds(::Bounds const &bounds)
MCAPI ::Scripting::Result_deprecated< void > setBlock(::BlockPos const &pos, ::Block const &block)
MCAPI void _processBlockOperationAreas()
MCAPI void _processAvailability()
Definition RelativeVolumeListBlockVolume.h:23
Definition EnableGetWeakRef.h:6
Definition LevelChunk.h:87
Definition Result_deprecated.h:8
Definition UUID.h:7
Definition Bounds.h:8
Definition ProjectRegionConfig.h:7
Definition ProjectRegion.h:37
MCAPI void * $ctor(::Editor::RelativeVolumeListBlockVolume volume, ::std::function< void(::Editor::RelativeVolumeListBlockVolume const &, ::std::optional<::Scripting::Result_deprecated< void > >)> callback)
MCAPI BlockOperationAreaRequest(::Editor::RelativeVolumeListBlockVolume volume, ::std::function< void(::Editor::RelativeVolumeListBlockVolume const &, ::std::optional<::Scripting::Result_deprecated< void > >)> callback)
Definition Alias.h:14