LeviLamina
Loading...
Searching...
No Matches
ScriptDimension.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
7#include "mc/deps/scripting/lifetime_registry/TypedObjectHandle.h"
8#include "mc/deps/scripting/lifetime_registry/WeakLifetimeScope.h"
9#include "mc/deps/scripting/runtime/Result.h"
10#include "mc/deps/scripting/runtime/Result_deprecated.h"
11#include "mc/deps/scripting/script_engine/Promise.h"
12#include "mc/scripting/modules/minecraft/ScriptWeatherType.h"
13
14// auto generated forward declare list
15// clang-format off
16class BlockPos;
17class Dimension;
18class Level;
19class Vec2;
20class Vec3;
21class VecXZ;
22namespace ScriptModuleMinecraft { class ScriptActor; }
23namespace ScriptModuleMinecraft { class ScriptActorIterator; }
24namespace ScriptModuleMinecraft { class ScriptActorType; }
25namespace ScriptModuleMinecraft { class ScriptBiomeFilter; }
26namespace ScriptModuleMinecraft { class ScriptBiomeType; }
27namespace ScriptModuleMinecraft { class ScriptBlock; }
28namespace ScriptModuleMinecraft { class ScriptBlockFilter; }
29namespace ScriptModuleMinecraft { class ScriptBlockPermutation; }
30namespace ScriptModuleMinecraft { class ScriptBlockRaycastHit; }
31namespace ScriptModuleMinecraft { class ScriptBlockType; }
32namespace ScriptModuleMinecraft { class ScriptBlockVolumeBase; }
33namespace ScriptModuleMinecraft { class ScriptEntityRaycastHit; }
34namespace ScriptModuleMinecraft { class ScriptItemStack; }
35namespace ScriptModuleMinecraft { class ScriptListBlockVolume; }
36namespace ScriptModuleMinecraft { class ScriptMolangVariableMap; }
37namespace ScriptModuleMinecraft { class ScriptPlayer; }
38namespace ScriptModuleMinecraft { class ScriptPlayerIterator; }
39namespace ScriptModuleMinecraft { class ScriptVector; }
40namespace ScriptModuleMinecraft { struct ScriptActorQueryOptions; }
41namespace ScriptModuleMinecraft { struct ScriptActorSpawnError; }
42namespace ScriptModuleMinecraft { struct ScriptBiomeSearchOptions; }
43namespace ScriptModuleMinecraft { struct ScriptBlockFillOptions; }
44namespace ScriptModuleMinecraft { struct ScriptBlockRaycastOptions; }
45namespace ScriptModuleMinecraft { struct ScriptCommandError; }
46namespace ScriptModuleMinecraft { struct ScriptCommandResult; }
47namespace ScriptModuleMinecraft { struct ScriptEntityRaycastOptions; }
48namespace ScriptModuleMinecraft { struct ScriptExplosionOptions; }
49namespace ScriptModuleMinecraft { struct ScriptInvalidActorError; }
50namespace ScriptModuleMinecraft { struct ScriptLocationInUnloadedChunkError; }
51namespace ScriptModuleMinecraft { struct ScriptLocationOutOfWorldBoundsError; }
52namespace ScriptModuleMinecraft { struct ScriptSpawnEntityOptions; }
53namespace ScriptModuleMinecraft { struct ScriptUnloadedChunksError; }
54namespace ScriptModuleMinecraft { struct ScriptWorldSoundOptions; }
55namespace Scripting { class DependencyLocator; }
56namespace Scripting { class ScriptObjectFactory; }
57namespace Scripting { struct ClassBinding; }
58namespace Scripting { struct ContextConfig; }
59namespace Scripting { struct EngineError; }
60namespace Scripting { struct EnumBinding; }
61namespace Scripting { struct Error; }
62namespace Scripting { struct InvalidArgumentError; }
63namespace Scripting { struct JSON; }
64namespace Scripting { struct PropertyOutOfBoundsError; }
65namespace Scripting { struct UnsupportedAPIError; }
66// clang-format on
67
68namespace ScriptModuleMinecraft {
69
70class ScriptDimension {
71public:
72 // ScriptDimension inner types declare
73 // clang-format off
74 struct Key;
75 // clang-format on
76
77 // ScriptDimension inner types define
78 struct Key {
79 public:
80 // member variables
81 // NOLINTBEGIN
82 ::ll::TypedStorage<4, 4, ::DimensionType> mId;
83 // NOLINTEND
84 };
85
86 using SpawnEntityResult = ::Scripting::Result<
93
94 using SpawnEntityResult_Internal = ::Scripting::Result<
99
100public:
101 // member variables
102 // NOLINTBEGIN
103 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
104 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Dimension*>> mDimension;
105 // NOLINTEND
106
107public:
108 // prevent constructor by default
109 ScriptDimension& operator=(ScriptDimension const&);
110 ScriptDimension();
111
112public:
113 // virtual functions
114 // NOLINTBEGIN
115 virtual ~ScriptDimension() = default;
116 // NOLINTEND
117
118public:
119 // member functions
120 // NOLINTBEGIN
121 MCAPI ScriptDimension(::ScriptModuleMinecraft::ScriptDimension const& rhs);
122
123 MCAPI ::Scripting::Result<
128 _spawnEntity(
129 ::std::variant<::ScriptModuleMinecraft::ScriptActorType, ::std::string> const& identifier,
130 ::std::variant<::BlockPos, ::Vec3> const& pos,
131 ::Vec2 const& rotation,
132 bool initialPersistence,
133 bool allowActorDefinitionSpawnEvent,
134 ::std::string const& spawnEvent
135 ) const;
136
137 MCAPI ::Scripting::Result<
138 bool,
143 containsBiomes(
146 bool isSuperset
147 ) const;
148
149 MCAPI ::Scripting::Result<bool, ::ScriptModuleMinecraft::ScriptUnloadedChunksError, ::Scripting::Error>
150 containsBlock(
153 bool allowUnloadedChunks
154 ) const;
155
156 MCAPI ::Scripting::Result<
157 bool,
160 createExplosion(
161 ::Vec3 const& pos,
162 float radius,
163 ::std::optional<::ScriptModuleMinecraft::ScriptExplosionOptions> explosionOptions
164 ) const;
165
166 MCAPI ::Scripting::Result_deprecated<void> createExplosion_V010(
167 ::Vec3 const& pos,
168 float radius,
170 ) const;
171
172 MCAPI ::Scripting::Result<
177 fillBlocks(
179 ::std::variant<
180 ::std::string,
183 ::std::optional<::ScriptModuleMinecraft::ScriptBlockFillOptions> const& options
184 );
185
186 MCAPI ::Scripting::Result<::std::optional<::Vec3>, ::Scripting::EngineError, ::Scripting::Error> findClosestBiome(
187 ::Vec3 const& pos,
188 ::std::variant<
190 ::std::string> const& typeToFind,
191 ::std::optional<::ScriptModuleMinecraft::ScriptBiomeSearchOptions> options
192 ) const;
193
194 MCAPI ::Scripting::Result<
198 getBiome(::Vec3 const& location) const;
199
200 MCAPI ::Scripting::Result<
201 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
204 getBlock(::Scripting::WeakLifetimeScope scope, ::Vec3 const& position) const;
205
206 MCAPI ::Scripting::Result_deprecated<
207 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
208 getBlockAbove(
210 ::Vec3 const& pos,
211 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
212 ) const;
213
214 MCAPI ::Scripting::Result_deprecated<
215 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
216 getBlockBelow(
218 ::Vec3 const& pos,
219 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
220 ) const;
221
222 MCAPI ::Scripting::Result_deprecated<::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastHit>>
223 getBlockFromRay(
225 ::Vec3 const& pos,
226 ::Vec3 const& vector,
227 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
228 ) const;
229
230 MCAPI ::Scripting::Result_deprecated<
231 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
232 getBlockFromRay_V010(
234 ::Vec3 const& pos,
236 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
237 ) const;
238
239 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>
240 getBlock_V010(::Scripting::WeakLifetimeScope scope, ::BlockPos const& position);
241
242 MCAPI ::Scripting::Result<
246 getBlocks(
250 bool allowUnloadedChunks
251 ) const;
252
253 MCFOLD ::Dimension& getDimension() const;
254
255 MCAPI ::DimensionType getDimensionId() const;
256
257 MCAPI ::Scripting::Result<
258 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>,
261 getEntities(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
262
263 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
264 getEntitiesAtBlockLocation(::Vec3 const& pos) const;
265
266 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
267 getEntitiesAtBlockLocation_V010(::BlockPos const& pos) const;
268
269 MCAPI ::Scripting::Result<
270 ::std::vector<::ScriptModuleMinecraft::ScriptEntityRaycastHit>,
275 getEntitiesFromRay(
277 ::Vec3 const& pos,
278 ::Vec3 const& direction,
279 ::std::optional<::ScriptModuleMinecraft::ScriptEntityRaycastOptions> const& options
280 ) const;
281
282 MCAPI ::Scripting::Result_deprecated<
283 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>>
284 getEntitiesFromRay_V010(
286 ::Vec3 const& pos,
288 ::std::optional<::ScriptModuleMinecraft::ScriptEntityRaycastOptions> const& options
289 ) const;
290
291 MCAPI ::Scripting::Result_deprecated<
293 getEntities_V010(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
294
295 MCAPI ::Scripting::Result<
296 ::std::vector<::std::string>,
299 getGeneratedStructures(::Vec3 const& location) const;
300
301 MCAPI ::Scripting::
302 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
303 getLightLevel(::Vec3 const& location) const;
304
305 MCAPI ::Scripting::Result<
306 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptPlayer>>,
309 getPlayers(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
310
311 MCAPI ::Scripting::Result_deprecated<
313 getPlayers_V010(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
314
315 MCAPI ::Scripting::
316 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
317 getSkyLightLevel(::Vec3 const& location) const;
318
319 MCAPI ::Scripting::Result_deprecated<
320 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
321 getTopmostBlock(
323 ::VecXZ const& locationXZ,
324 ::std::optional<float> minHeight
325 ) const;
326
327 MCAPI bool isChunkLoaded(::Vec3 const& location) const;
328
329 MCAPI bool isEmpty_V010(::BlockPos const& position) const;
330
331 MCAPI ::ScriptModuleMinecraft::ScriptDimension& operator=(::ScriptModuleMinecraft::ScriptDimension&& rhs);
332
333 MCAPI ::Scripting::Result<
334 bool,
338 placeFeature(::std::string const& featureName, ::Vec3 const& location, bool shouldThrowOnFailure) const;
339
340 MCAPI ::Scripting::
341 Result<bool, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
342 placeFeatureRule(::std::string const& featureRuleName, ::Vec3 const& location) const;
343
344 MCAPI ::Scripting::Result<void, ::Scripting::PropertyOutOfBoundsError> playSound(
345 ::std::string const& soundID,
346 ::Vec3 const& location,
347 ::std::optional<::ScriptModuleMinecraft::ScriptWorldSoundOptions> soundOptions
348 );
349
350 MCAPI ::Scripting::Result<
353 runCommand(
355 ::Scripting::ContextConfig const& contextConfig,
356 ::std::string const& commandString
357 );
358
359 MCAPI ::Scripting::Result_deprecated<::Scripting::Promise<
362 runCommandAsync(
364 ::Scripting::ContextConfig const& contextConfig,
366 ::std::string const& commandString
367 );
368
369 MCAPI ::Scripting::Result_deprecated<::Scripting::JSON>
370 runCommand_V010(::Scripting::ContextConfig const& contextConfig, ::std::string const& commandString);
371
372 MCAPI ::Scripting::Result<
373 void,
376 setBlockPermutation(::Vec3 const& location, ::ScriptModuleMinecraft::ScriptBlockPermutation const& permutation);
377
378 MCAPI ::Scripting::Result<
379 void,
383 setBlockType(
384 ::Vec3 const& location,
385 ::std::variant<
387 ::std::string> const& blockType
388 );
389
390 MCAPI ::Scripting::Result_deprecated<void>
391 setWeather(::ScriptModuleMinecraft::ScriptWeatherType type, ::std::optional<int> duration);
392
393 MCAPI ::Scripting::Result<
400 spawnEntity(
401 ::std::variant<::ScriptModuleMinecraft::ScriptActorType, ::std::string> const& identifier,
402 ::Vec3 const& pos,
403 ::std::optional<::ScriptModuleMinecraft::ScriptSpawnEntityOptions> const& options
404 ) const;
405
406 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
407 spawnEntity_V010(::std::string const& identifier, ::std::variant<::BlockPos, ::Vec3> const& pos) const;
408
409 MCAPI ::Scripting::Result<
416 spawnEntity_V130(::std::string const& identifier, ::Vec3 const& pos) const;
417
418 MCAPI ::Scripting::Result<
422 spawnItem(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack, ::Vec3 const& pos) const;
423
424 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
425 spawnItem_V010(
426 ::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack,
427 ::std::variant<::BlockPos, ::Vec3> const& pos
428 ) const;
429
430 MCAPI ::Scripting::Result<
431 void,
434 spawnParticle(
435 ::std::string const& effectName,
436 ::Vec3 const& location,
438 molangVariables
439 );
440
441 MCAPI void spawnParticle_V010(
442 ::std::string const& effectName,
443 ::Vec3 const& location,
445 );
446
447 MCAPI ::Scripting::Result<
448 void,
451 spawnXp(::Vec3 const& pos, int amount) const;
452
453 MCAPI void stopAllSounds();
454
455 MCAPI void stopSound(::std::string const& soundID);
456 // NOLINTEND
457
458public:
459 // static functions
460 // NOLINTBEGIN
461 MCAPI static ::Scripting::ClassBinding bind();
462
463 MCAPI static ::Scripting::EnumBinding bindScriptWeatherType();
464
465 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension>
466 getOrCreateHandle(::Dimension& dimension, ::Scripting::WeakLifetimeScope const& scope);
467
468 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension>
469 getOrCreateHandle(::DimensionType id, ::Level& level, ::Scripting::WeakLifetimeScope const& scope);
470 // NOLINTEND
471
472public:
473 // constructor thunks
474 // NOLINTBEGIN
475 MCAPI void* $ctor(::ScriptModuleMinecraft::ScriptDimension const& rhs);
476 // NOLINTEND
477
478public:
479 // vftables
480 // NOLINTBEGIN
481 MCNAPI static void** $vftable();
482 // NOLINTEND
483};
484
485} // namespace ScriptModuleMinecraft
Definition BlockPos.h:21
Definition Dimension.h:88
Definition Level.h:254
Definition ScriptActorIterator.h:19
Definition ScriptActorType.h:20
Definition ScriptActor.h:69
Definition ScriptBiomeFilter.h:15
Definition ScriptBiomeType.h:18
Definition ScriptBlockFilter.h:22
Definition ScriptBlockPermutation.h:24
Definition ScriptBlockRaycastHit.h:21
Definition ScriptBlockType.h:20
Definition ScriptBlockVolumeBase.h:27
Definition ScriptBlock.h:35
Definition ScriptDimension.h:70
Definition ScriptEntityRaycastHit.h:16
Definition ScriptItemStack.h:32
Definition ScriptListBlockVolume.h:21
Definition ScriptMolangVariableMap.h:24
Definition ScriptPlayerIterator.h:19
Definition ScriptPlayer.h:56
Definition ScriptVector.h:16
Definition DependencyLocator.h:7
Definition Promise.h:8
Definition Result.h:8
Definition ScriptObjectFactory.h:7
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:14
Definition Vec2.h:5
Definition Vec3.h:10
Definition VecXZ.h:8
Definition ScriptActorQueryOptions.h:17
Definition ScriptActorSpawnError.h:16
Definition ScriptBiomeSearchOptions.h:16
Definition ScriptBlockFillOptions.h:15
Definition ScriptBlockRaycastOptions.h:16
Definition ScriptCommandError.h:16
Definition ScriptCommandResult.h:12
Definition ScriptDimension.h:78
Definition ScriptEntityRaycastOptions.h:16
Definition ScriptExplosionOptions.h:17
Definition ScriptInvalidActorError.h:18
Definition ScriptLocationInUnloadedChunkError.h:16
Definition ScriptLocationOutOfWorldBoundsError.h:16
Definition ScriptSpawnEntityOptions.h:12
Definition ScriptUnloadedChunksError.h:15
Definition ScriptWorldSoundOptions.h:14
Definition ClassBinding.h:19
Definition ContextConfig.h:20
Definition EngineError.h:15
Definition EnumBinding.h:15
Definition Error.h:10
Definition InvalidArgumentError.h:17
Definition JSON.h:7
Definition PropertyOutOfBoundsError.h:15
Definition TypedObjectHandle.h:8
Definition UnsupportedAPIError.h:15