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/core/utility/AutomaticID.h"
7#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
8#include "mc/deps/scripting/lifetime_registry/TypedObjectHandle.h"
9#include "mc/deps/scripting/lifetime_registry/WeakLifetimeScope.h"
10#include "mc/deps/scripting/runtime/Result.h"
11#include "mc/deps/scripting/runtime/Result_deprecated.h"
12#include "mc/deps/scripting/script_engine/Promise.h"
13#include "mc/scripting/modules/minecraft/ScriptWeatherType.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 NumberRange; }
66namespace Scripting { struct PropertyOutOfBoundsError; }
67namespace Scripting { struct UnsupportedAPIError; }
68// clang-format on
69
70namespace ScriptModuleMinecraft {
71
73public:
74 // ScriptDimension inner types declare
75 // clang-format off
76 struct Key;
77 // clang-format on
78
79 // ScriptDimension inner types define
80 struct Key {
81 public:
82 // member variables
83 // NOLINTBEGIN
84 ::ll::TypedStorage<4, 4, ::DimensionType> mId;
85 // NOLINTEND
86 };
87
88 using SpawnEntityResult = ::Scripting::Result<
95
96 using SpawnEntityResult_Internal = ::Scripting::Result<
101
102public:
103 // member variables
104 // NOLINTBEGIN
105 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
106 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Dimension*>> mDimension;
107 // NOLINTEND
108
109public:
110 // virtual functions
111 // NOLINTBEGIN
112 virtual ~ScriptDimension() = default;
113 // NOLINTEND
114
115public:
116 // member functions
117 // NOLINTBEGIN
118 MCAPI ::Scripting::Result<
123 _spawnEntity(
124 ::std::variant<::ScriptModuleMinecraft::ScriptActorType, ::std::string> const& identifier,
125 ::std::variant<::BlockPos, ::Vec3> const& pos,
126 ::Vec2 const& rotation,
127 bool initialPersistence,
128 bool allowActorDefinitionSpawnEvent,
129 ::std::string const& spawnEvent
130 ) const;
131
132 MCAPI ::Scripting::Result<
133 bool,
138 containsBiomes(
141 bool isSuperset
142 ) const;
143
144 MCAPI ::Scripting::Result<bool, ::ScriptModuleMinecraft::ScriptUnloadedChunksError, ::Scripting::Error>
145 containsBlock(
148 bool allowUnloadedChunks
149 ) const;
150
151 MCAPI ::Scripting::Result<
152 bool,
155 createExplosion(
156 ::Vec3 const& pos,
157 float radius,
158 ::std::optional<::ScriptModuleMinecraft::ScriptExplosionOptions> explosionOptions
159 ) const;
160
161 MCAPI ::Scripting::Result_deprecated<void> createExplosion_V010(
162 ::Vec3 const& pos,
163 float radius,
165 ) const;
166
167 MCAPI ::Scripting::Result<
172 fillBlocks(
174 ::std::variant<
175 ::std::string,
178 ::std::optional<::ScriptModuleMinecraft::ScriptBlockFillOptions> const& options
179 );
180
181 MCAPI ::Scripting::Result<::std::optional<::Vec3>, ::Scripting::EngineError, ::Scripting::Error> findClosestBiome(
182 ::Vec3 const& pos,
183 ::std::variant<
185 ::std::string> const& typeToFind,
186 ::std::optional<::ScriptModuleMinecraft::ScriptBiomeSearchOptions> options
187 ) const;
188
189 MCAPI ::Scripting::Result<
193 getBiome(::Vec3 const& location) const;
194
195 MCAPI ::Scripting::Result<
196 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
199 getBlock(::Scripting::WeakLifetimeScope scope, ::Vec3 const& position) const;
200
201 MCAPI ::Scripting::Result_deprecated<
202 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
203 getBlockAbove(
205 ::Vec3 const& pos,
206 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
207 ) const;
208
209 MCAPI ::Scripting::Result_deprecated<
210 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
211 getBlockBelow(
213 ::Vec3 const& pos,
214 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
215 ) const;
216
217 MCAPI ::Scripting::Result_deprecated<::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastHit>>
218 getBlockFromRay(
220 ::Vec3 const& pos,
221 ::Vec3 const& vector,
222 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
223 ) const;
224
225 MCAPI ::Scripting::Result_deprecated<
226 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
227 getBlockFromRay_V010(
229 ::Vec3 const& pos,
231 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
232 ) const;
233
234 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>
235 getBlock_V010(::Scripting::WeakLifetimeScope scope, ::BlockPos const& position);
236
237 MCAPI ::Scripting::Result<
241 getBlocks(
245 bool allowUnloadedChunks
246 ) const;
247
248 MCAPI ::Scripting::Result<
249 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>,
252 getEntities(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
253
254 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
255 getEntitiesAtBlockLocation(::Vec3 const& pos) const;
256
257 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
258 getEntitiesAtBlockLocation_V010(::BlockPos const& pos) const;
259
260 MCAPI ::Scripting::Result<
261 ::std::vector<::ScriptModuleMinecraft::ScriptEntityRaycastHit>,
266 getEntitiesFromRay(
268 ::Vec3 const& pos,
269 ::Vec3 const& direction,
270 ::std::optional<::ScriptModuleMinecraft::ScriptEntityRaycastOptions> const& options
271 ) const;
272
273 MCAPI ::Scripting::Result_deprecated<
274 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>>
275 getEntitiesFromRay_V010(
277 ::Vec3 const& pos,
279 ::std::optional<::ScriptModuleMinecraft::ScriptEntityRaycastOptions> const& options
280 ) const;
281
282 MCAPI ::Scripting::Result_deprecated<
284 getEntities_V010(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
285
286 MCAPI ::Scripting::Result<
287 ::std::vector<::std::string>,
290 getGeneratedStructures(::Vec3 const& location) const;
291
292 MCAPI ::Scripting::Result_deprecated<::Scripting::NumberRange> getHeightRange() const;
293
294 MCAPI ::std::string getId() const;
295
296 MCAPI ::Scripting::
297 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
298 getLightLevel(::Vec3 const& location) const;
299
300 MCAPI ::std::string getLocalizationKey() const;
301
302 MCAPI ::Scripting::Result<
303 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptPlayer>>,
306 getPlayers(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
307
308 MCAPI ::Scripting::Result_deprecated<
310 getPlayers_V010(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
311
312 MCAPI ::Scripting::
313 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
314 getSkyLightLevel(::Vec3 const& location) const;
315
316 MCAPI ::Scripting::Result_deprecated<
317 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
318 getTopmostBlock(
320 ::VecXZ const& locationXZ,
321 ::std::optional<float> minHeight
322 ) const;
323
324 MCAPI bool isChunkLoaded(::Vec3 const& location) const;
325
326 MCAPI ::Scripting::Result<
327 bool,
331 placeFeature(::std::string const& featureName, ::Vec3 const& location, bool shouldThrowOnFailure) const;
332
333 MCAPI ::Scripting::
334 Result<bool, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
335 placeFeatureRule(::std::string const& featureRuleName, ::Vec3 const& location) const;
336
337 MCAPI ::Scripting::Result<void, ::Scripting::PropertyOutOfBoundsError> playSound(
338 ::std::string const& soundID,
339 ::Vec3 const& location,
340 ::std::optional<::ScriptModuleMinecraft::ScriptWorldSoundOptions> soundOptions
341 );
342
343 MCAPI ::Scripting::Result<
346 runCommand(
348 ::Scripting::ContextConfig const& contextConfig,
349 ::std::string const& commandString
350 );
351
352 MCAPI ::Scripting::Result_deprecated<::Scripting::Promise<
355 runCommandAsync(
357 ::Scripting::ContextConfig const& contextConfig,
359 ::std::string const& commandString
360 );
361
362 MCAPI ::Scripting::Result_deprecated<::Scripting::JSON>
363 runCommand_V010(::Scripting::ContextConfig const& contextConfig, ::std::string const& commandString);
364
365 MCAPI ::Scripting::Result<
366 void,
369 setBlockPermutation(::Vec3 const& location, ::ScriptModuleMinecraft::ScriptBlockPermutation const& permutation);
370
371 MCAPI ::Scripting::Result<
372 void,
376 setBlockType(
377 ::Vec3 const& location,
378 ::std::variant<
380 ::std::string> const& blockType
381 );
382
383 MCAPI ::Scripting::Result_deprecated<void>
384 setWeather(::ScriptModuleMinecraft::ScriptWeatherType type, ::std::optional<int> duration);
385
386 MCAPI ::Scripting::Result<
393 spawnEntity(
394 ::std::variant<::ScriptModuleMinecraft::ScriptActorType, ::std::string> const& identifier,
395 ::Vec3 const& pos,
396 ::std::optional<::ScriptModuleMinecraft::ScriptSpawnEntityOptions> const& options
397 ) const;
398
399 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
400 spawnEntity_V010(::std::string const& identifier, ::std::variant<::BlockPos, ::Vec3> const& pos) const;
401
402 MCAPI ::Scripting::Result<
409 spawnEntity_V130(::std::string const& identifier, ::Vec3 const& pos) const;
410
411 MCAPI ::Scripting::Result<
415 spawnItem(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack, ::Vec3 const& pos) const;
416
417 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
418 spawnItem_V010(
419 ::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack,
420 ::std::variant<::BlockPos, ::Vec3> const& pos
421 ) const;
422
423 MCAPI ::Scripting::Result<
424 void,
427 spawnParticle(
428 ::std::string const& effectName,
429 ::Vec3 const& location,
431 molangVariables
432 );
433
434 MCAPI void spawnParticle_V010(
435 ::std::string const& effectName,
436 ::Vec3 const& location,
438 );
439
440 MCAPI void stopAllSounds();
441
442 MCAPI void stopSound(::std::string const& soundID);
443 // NOLINTEND
444
445public:
446 // static functions
447 // NOLINTBEGIN
448 MCAPI static ::Scripting::ClassBinding bind();
449
450 MCAPI static ::Scripting::EnumBinding bindScriptWeatherType();
451
452 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension>
453 getOrCreateHandle(::DimensionType id, ::Level& level, ::Scripting::WeakLifetimeScope const& scope);
454 // NOLINTEND
455
456public:
457 // vftables
458 // NOLINTBEGIN
459 MCNAPI static void** $vftable();
460 // NOLINTEND
461};
462
463} // namespace ScriptModuleMinecraft
Definition BlockPos.h:19
Definition Dimension.h:86
Definition Level.h:250
Definition ScriptActorIterator.h:19
Definition ScriptActorType.h:20
Definition ScriptActor.h:68
Definition ScriptBiomeFilter.h:15
Definition ScriptBiomeType.h:18
Definition ScriptBlockFilter.h:22
Definition ScriptBlockPermutation.h:24
Definition ScriptBlockRaycastHit.h:18
Definition ScriptBlockType.h:20
Definition ScriptBlockVolumeBase.h:26
Definition ScriptBlock.h:34
Definition ScriptDimension.h:72
Definition ScriptEntityRaycastHit.h:16
Definition ScriptItemStack.h:32
Definition ScriptListBlockVolume.h:20
Definition ScriptMolangVariableMap.h:24
Definition ScriptPlayerIterator.h:19
Definition ScriptPlayer.h:55
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:7
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:80
Definition ScriptEntityRaycastOptions.h:16
Definition ScriptExplosionOptions.h:17
Definition ScriptInvalidActorError.h:18
Definition ScriptLocationInUnloadedChunkError.h:16
Definition ScriptLocationOutOfWorldBoundsError.h:10
Definition ScriptSpawnEntityOptions.h:12
Definition ScriptUnloadedChunksError.h:15
Definition ScriptWorldSoundOptions.h:13
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 NumberRange.h:12
Definition PropertyOutOfBoundsError.h:15
Definition TypedObjectHandle.h:8
Definition UnsupportedAPIError.h:15