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/script_core/lifetime_registry/scripting/StrongTypedObjectHandle.h"
7#include "mc/deps/script_core/lifetime_registry/scripting/WeakLifetimeScope.h"
8#include "mc/deps/script_core/runtime/scripting/Result.h"
9#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
10#include "mc/deps/script_core/script_engine/scripting/Promise.h"
11#include "mc/world/level/dimension/DimensionType.h"
12
13// auto generated forward declare list
14// clang-format off
15class BlockPos;
16class Dimension;
17class Level;
18class Vec2;
19class Vec3;
20namespace ScriptModuleMinecraft { class ScriptActor; }
21namespace ScriptModuleMinecraft { class ScriptActorType; }
22namespace ScriptModuleMinecraft { class ScriptBlock; }
23namespace ScriptModuleMinecraft { class ScriptBlockFilter; }
24namespace ScriptModuleMinecraft { class ScriptBlockVolumeBase; }
25namespace ScriptModuleMinecraft { class ScriptItemStack; }
26namespace ScriptModuleMinecraft { class ScriptListBlockVolume; }
27namespace ScriptModuleMinecraft { class ScriptSoundInstance; }
28namespace ScriptModuleMinecraft { struct ScriptActorSpawnError; }
29namespace ScriptModuleMinecraft { struct ScriptBlockRaycastOptions; }
30namespace ScriptModuleMinecraft { struct ScriptCommandError; }
31namespace ScriptModuleMinecraft { struct ScriptCommandResult; }
32namespace ScriptModuleMinecraft { struct ScriptInvalidActorError; }
33namespace ScriptModuleMinecraft { struct ScriptLocationInUnloadedChunkError; }
34namespace ScriptModuleMinecraft { struct ScriptLocationOutOfWorldBoundsError; }
35namespace ScriptModuleMinecraft { struct ScriptUnloadedChunksError; }
36namespace ScriptModuleMinecraft { struct ScriptWorldSoundOptions; }
37namespace Scripting { class DependencyLocator; }
38namespace Scripting { class ScriptObjectFactory; }
39namespace Scripting { struct ArgumentOutOfBoundsError; }
40namespace Scripting { struct ClassBinding; }
41namespace Scripting { struct ContextConfig; }
42namespace Scripting { struct EngineError; }
43namespace Scripting { struct EnumBinding; }
44namespace Scripting { struct Error; }
45namespace Scripting { struct InvalidArgumentError; }
46namespace Scripting { struct PropertyOutOfBoundsError; }
47// clang-format on
48
49namespace ScriptModuleMinecraft {
50
52public:
53 // ScriptDimension inner types declare
54 // clang-format off
55 struct Key;
56 // clang-format on
57
58 // ScriptDimension inner types define
59 struct Key {
60 public:
61 // member variables
62 // NOLINTBEGIN
63 ::ll::TypedStorage<4, 4, ::DimensionType> mId;
64 // NOLINTEND
65 };
66
67 using GetBlocksResult = ::Scripting::Result<
73
74 using SpawnEntityResult = ::Scripting::Result<
81
82 using SpawnEntityResult_Internal = ::Scripting::Result<
87
88public:
89 // member variables
90 // NOLINTBEGIN
91 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
92 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Dimension*>> mDimension;
93 // NOLINTEND
94
95public:
96 // virtual functions
97 // NOLINTBEGIN
98 virtual ~ScriptDimension() = default;
99 // NOLINTEND
100
101public:
102 // member functions
103 // NOLINTBEGIN
104 MCAPI ::nonstd::expected<
105 ::std::vector<::Vec3>,
106 ::std::variant<::ScriptModuleMinecraft::ScriptUnloadedChunksError, ::Scripting::Error>>
107 _getBlockPositions(
110 bool allowUnloadedChunks
111 ) const;
112
113 MCAPI ::Scripting::Result<
118 _spawnEntity(
119 ::std::variant<::ScriptModuleMinecraft::ScriptActorType, ::std::string> const& identifier,
120 ::std::variant<::BlockPos, ::Vec3> const& pos,
121 ::Vec2 const& rotation,
122 bool initialPersistence,
123 bool allowActorDefinitionSpawnEvent,
124 ::std::string const& spawnEvent
125 ) const;
126
127 MCAPI ::Scripting::Result<
128 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
131 getBlock(::Scripting::WeakLifetimeScope scope, ::Vec3 const& position) const;
132
133 MCAPI ::Scripting::Result_deprecated<
134 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
135 getBlockAbove(
137 ::Vec3 const& pos,
138 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
139 ) const;
140
141 MCAPI ::Scripting::Result_deprecated<
142 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
143 getBlockBelow(
145 ::Vec3 const& pos,
146 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
147 ) const;
148
149 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
150 getEntitiesAtBlockLocation_V010(::BlockPos const& pos) const;
151
152 MCAPI ::Scripting::
153 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
154 getLightLevel(::Vec3 const& location) const;
155
156 MCAPI ::Scripting::
157 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
158 getSkyLightLevel(::Vec3 const& location) const;
159
160 MCAPI ::Scripting::Result<
164 playSound(
166 ::std::string const& soundID,
167 ::Vec3 const& location,
168 ::std::optional<::ScriptModuleMinecraft::ScriptWorldSoundOptions> soundOptions
169 );
170
171 MCAPI ::Scripting::Result_deprecated<::Scripting::Promise<
174 runCommandAsync(
176 ::Scripting::ContextConfig const& contextConfig,
178 ::std::string const& commandString
179 );
180
181 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
182 spawnItem_V010(
183 ::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack,
184 ::std::variant<::BlockPos, ::Vec3> const& pos
185 ) const;
186 // NOLINTEND
187
188public:
189 // static functions
190 // NOLINTBEGIN
191 MCAPI static ::Scripting::ClassBinding bind();
192
193 MCAPI static ::Scripting::EnumBinding bindScriptWeatherType();
194
195 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension>
196 getOrCreateHandle(::DimensionType id, ::Level& level, ::Scripting::WeakLifetimeScope const& scope);
197 // NOLINTEND
198
199public:
200 // vftables
201 // NOLINTBEGIN
202 MCNAPI static void** $vftable();
203 // NOLINTEND
204};
205
206} // namespace ScriptModuleMinecraft
Definition BlockPos.h:17
Definition Dimension.h:86
Definition Level.h:253
Definition ScriptActorType.h:20
Definition ScriptActor.h:63
Definition ScriptBlockFilter.h:22
Definition ScriptBlockVolumeBase.h:31
Definition ScriptBlock.h:29
Definition ScriptDimension.h:51
Definition ScriptItemStack.h:31
Definition ScriptListBlockVolume.h:20
Definition ScriptSoundInstance.h:19
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 DimensionType.h:5
Definition ScriptActorSpawnError.h:16
Definition ScriptBlockRaycastOptions.h:16
Definition ScriptCommandError.h:16
Definition ScriptCommandResult.h:12
Definition ScriptDimension.h:59
Definition ScriptInvalidActorError.h:18
Definition ScriptLocationInUnloadedChunkError.h:16
Definition ScriptLocationOutOfWorldBoundsError.h:16
Definition ScriptUnloadedChunksError.h:15
Definition ScriptWorldSoundOptions.h:13
Definition ArgumentOutOfBoundsError.h:10
Definition ClassBinding.h:10
Definition ContextConfig.h:20
Definition EngineError.h:10
Definition EnumBinding.h:10
Definition Error.h:10
Definition InvalidArgumentError.h:11
Definition PropertyOutOfBoundsError.h:10