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