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 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 NumberRange; }
65namespace Scripting { struct PropertyOutOfBoundsError; }
66namespace Scripting { struct UnsupportedAPIError; }
67// clang-format on
68
69namespace ScriptModuleMinecraft {
70
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 // virtual functions
110 // NOLINTBEGIN
111 virtual ~ScriptDimension() = default;
112 // NOLINTEND
113
114public:
115 // member functions
116 // NOLINTBEGIN
117 MCAPI ::Scripting::Result<
122 _spawnEntity(
123 ::std::variant<::ScriptModuleMinecraft::ScriptActorType, ::std::string> const& identifier,
124 ::std::variant<::BlockPos, ::Vec3> const& pos,
125 ::Vec2 const& rotation,
126 bool initialPersistence,
127 bool allowActorDefinitionSpawnEvent,
128 ::std::string const& spawnEvent
129 ) const;
130
131 MCAPI ::Scripting::Result<bool, ::ScriptModuleMinecraft::ScriptUnloadedChunksError, ::Scripting::Error>
132 containsBlock(
135 bool allowUnloadedChunks
136 ) const;
137
138 MCAPI ::Scripting::Result<
139 bool,
142 createExplosion(
143 ::Vec3 const& pos,
144 float radius,
145 ::std::optional<::ScriptModuleMinecraft::ScriptExplosionOptions> explosionOptions
146 ) const;
147
148 MCAPI ::Scripting::Result_deprecated<void> createExplosion_V010(
149 ::Vec3 const& pos,
150 float radius,
152 ) const;
153
154 MCAPI ::Scripting::Result<
159 fillBlocks(
161 ::std::variant<
162 ::std::string,
165 ::std::optional<::ScriptModuleMinecraft::ScriptBlockFillOptions> const& options
166 );
167
168 MCAPI ::Scripting::Result<::std::optional<::Vec3>, ::Scripting::EngineError, ::Scripting::Error> findClosestBiome(
169 ::Vec3 const& pos,
170 ::std::variant<
172 ::std::string> const& typeToFind,
173 ::std::optional<::ScriptModuleMinecraft::ScriptBiomeSearchOptions> options
174 ) const;
175
176 MCAPI ::Scripting::Result<
180 getBiome(::Vec3 const& location) const;
181
182 MCAPI ::Scripting::Result<
183 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
186 getBlock(::Scripting::WeakLifetimeScope scope, ::Vec3 const& position) const;
187
188 MCAPI ::Scripting::Result_deprecated<
189 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
190 getBlockAbove(
192 ::Vec3 const& pos,
193 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
194 ) const;
195
196 MCAPI ::Scripting::Result_deprecated<
197 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
198 getBlockBelow(
200 ::Vec3 const& pos,
201 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
202 ) const;
203
204 MCAPI ::Scripting::Result_deprecated<::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastHit>>
205 getBlockFromRay(
207 ::Vec3 const& pos,
208 ::Vec3 const& vector,
209 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
210 ) const;
211
212 MCAPI ::Scripting::Result_deprecated<
213 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
214 getBlockFromRay_V010(
216 ::Vec3 const& pos,
218 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
219 ) const;
220
221 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>
222 getBlock_V010(::Scripting::WeakLifetimeScope scope, ::BlockPos const& position);
223
224 MCAPI ::Scripting::Result<
228 getBlocks(
232 bool allowUnloadedChunks
233 ) const;
234
235 MCAPI ::Scripting::Result<
236 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>,
239 getEntities(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
240
241 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
242 getEntitiesAtBlockLocation(::Vec3 const& pos) const;
243
244 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
245 getEntitiesAtBlockLocation_V010(::BlockPos const& pos) const;
246
247 MCAPI ::Scripting::Result<
248 ::std::vector<::ScriptModuleMinecraft::ScriptEntityRaycastHit>,
253 getEntitiesFromRay(
255 ::Vec3 const& pos,
256 ::Vec3 const& direction,
257 ::std::optional<::ScriptModuleMinecraft::ScriptEntityRaycastOptions> const& options
258 ) const;
259
260 MCAPI ::Scripting::Result_deprecated<
261 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>>
262 getEntitiesFromRay_V010(
264 ::Vec3 const& pos,
266 ::std::optional<::ScriptModuleMinecraft::ScriptEntityRaycastOptions> const& options
267 ) const;
268
269 MCAPI ::Scripting::Result_deprecated<
271 getEntities_V010(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
272
273 MCAPI ::Scripting::Result<
274 ::std::vector<::std::string>,
277 getGeneratedStructures(::Vec3 const& location) const;
278
279 MCAPI ::Scripting::Result_deprecated<::Scripting::NumberRange> getHeightRange() const;
280
281 MCAPI ::std::string getId() const;
282
283 MCAPI ::Scripting::
284 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
285 getLightLevel(::Vec3 const& location) const;
286
287 MCAPI ::std::string getLocalizationKey() const;
288
289 MCAPI ::Scripting::Result<
290 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptPlayer>>,
293 getPlayers(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
294
295 MCAPI ::Scripting::Result_deprecated<
297 getPlayers_V010(::std::optional<::ScriptModuleMinecraft::ScriptActorQueryOptions> options) const;
298
299 MCAPI ::Scripting::
300 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
301 getSkyLightLevel(::Vec3 const& location) const;
302
303 MCAPI ::Scripting::Result_deprecated<
304 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
305 getTopmostBlock(
307 ::VecXZ const& locationXZ,
308 ::std::optional<float> minHeight
309 ) const;
310
311 MCAPI bool isChunkLoaded(::Vec3 const& location) const;
312
313 MCAPI ::Scripting::Result<
314 bool,
318 placeFeature(::std::string const& featureName, ::Vec3 const& location, bool shouldThrowOnFailure) const;
319
320 MCAPI ::Scripting::
321 Result<bool, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
322 placeFeatureRule(::std::string const& featureRuleName, ::Vec3 const& location) const;
323
324 MCAPI ::Scripting::Result<void, ::Scripting::PropertyOutOfBoundsError> playSound(
325 ::std::string const& soundID,
326 ::Vec3 const& location,
327 ::std::optional<::ScriptModuleMinecraft::ScriptWorldSoundOptions> soundOptions
328 );
329
330 MCAPI ::Scripting::Result<
333 runCommand(
335 ::Scripting::ContextConfig const& contextConfig,
336 ::std::string const& commandString
337 );
338
339 MCAPI ::Scripting::Result_deprecated<::Scripting::Promise<
342 void>>
343 runCommandAsync(
345 ::Scripting::ContextConfig const& contextConfig,
347 ::std::string const& commandString
348 );
349
350 MCAPI ::Scripting::Result_deprecated<::Scripting::JSON>
351 runCommand_V010(::Scripting::ContextConfig const& contextConfig, ::std::string const& commandString);
352
353 MCAPI ::Scripting::Result<
354 void,
357 setBlockPermutation(::Vec3 const& location, ::ScriptModuleMinecraft::ScriptBlockPermutation const& permutation);
358
359 MCAPI ::Scripting::Result<
360 void,
364 setBlockType(
365 ::Vec3 const& location,
366 ::std::variant<
368 ::std::string> const& blockType
369 );
370
371 MCAPI ::Scripting::Result_deprecated<void>
372 setWeather(::ScriptModuleMinecraft::ScriptWeatherType type, ::std::optional<int> duration);
373
374 MCAPI ::Scripting::Result<
381 spawnEntity(
382 ::std::variant<::ScriptModuleMinecraft::ScriptActorType, ::std::string> const& identifier,
383 ::Vec3 const& pos,
384 ::std::optional<::ScriptModuleMinecraft::ScriptSpawnEntityOptions> const& options
385 ) const;
386
387 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
388 spawnEntity_V010(::std::string const& identifier, ::std::variant<::BlockPos, ::Vec3> const& pos) const;
389
390 MCAPI ::Scripting::Result<
397 spawnEntity_V130(::std::string const& identifier, ::Vec3 const& pos) const;
398
399 MCAPI ::Scripting::Result<
403 spawnItem(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack, ::Vec3 const& pos) const;
404
405 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
406 spawnItem_V010(
407 ::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack,
408 ::std::variant<::BlockPos, ::Vec3> const& pos
409 ) const;
410
411 MCAPI ::Scripting::Result<
412 void,
415 spawnParticle(
416 ::std::string const& effectName,
417 ::Vec3 const& location,
419 molangVariables
420 );
421
422 MCAPI void spawnParticle_V010(
423 ::std::string const& effectName,
424 ::Vec3 const& location,
426 );
427
428 MCAPI void stopAllSounds();
429
430 MCAPI void stopSound(::std::string const& soundID);
431 // NOLINTEND
432
433public:
434 // static functions
435 // NOLINTBEGIN
436 MCAPI static ::Scripting::ClassBinding bind();
437
438 MCAPI static ::Scripting::EnumBinding bindScriptWeatherType();
439
440 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension>
441 getOrCreateHandle(::DimensionType id, ::Level& level, ::Scripting::WeakLifetimeScope const& scope);
442 // NOLINTEND
443
444public:
445 // vftables
446 // NOLINTBEGIN
447 MCNAPI static void** $vftable();
448 // NOLINTEND
449};
450
451} // namespace ScriptModuleMinecraft
Definition BlockPos.h:19
Definition Dimension.h:85
Definition Level.h:249
Definition ScriptActorIterator.h:19
Definition ScriptActorType.h:20
Definition ScriptActor.h:65
Definition ScriptBiomeType.h:17
Definition ScriptBlockFilter.h:22
Definition ScriptBlockPermutation.h:23
Definition ScriptBlockRaycastHit.h:18
Definition ScriptBlockType.h:20
Definition ScriptBlockVolumeBase.h:26
Definition ScriptBlock.h:36
Definition ScriptDimension.h:71
Definition ScriptEntityRaycastHit.h:16
Definition ScriptItemStack.h:35
Definition ScriptListBlockVolume.h:20
Definition ScriptMolangVariableMap.h:24
Definition ScriptPlayerIterator.h:19
Definition ScriptPlayer.h:54
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:79
Definition ScriptEntityRaycastOptions.h:16
Definition ScriptExplosionOptions.h:17
Definition ScriptInvalidActorError.h:17
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