LeviLamina
Loading...
Searching...
No Matches
ScriptBlock.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/WeakLifetimeScope.h"
8#include "mc/deps/scripting/runtime/Result.h"
9#include "mc/deps/scripting/runtime/Result_deprecated.h"
10#include "mc/deps/shared_types/v1_26_0/block/LiquidType.h"
11#include "mc/scripting/modules/minecraft/ScriptFacing.h"
12#include "mc/world/level/BlockPos.h"
13
14// auto generated forward declare list
15// clang-format off
16class BlockSource;
17class Vec3;
18namespace ScriptModuleMinecraft { class BaseScriptBlockComponent; }
19namespace ScriptModuleMinecraft { class ScriptBlockComponents; }
20namespace ScriptModuleMinecraft { class ScriptBlockPermutation; }
21namespace ScriptModuleMinecraft { class ScriptBlockType; }
22namespace ScriptModuleMinecraft { class ScriptDimension; }
23namespace ScriptModuleMinecraft { class ScriptItemStack; }
24namespace ScriptModuleMinecraft { class ScriptRGBA; }
25namespace ScriptModuleMinecraft { struct ScriptLocationInUnloadedChunkError; }
26namespace ScriptModuleMinecraft { struct ScriptLocationOutOfWorldBoundsError; }
27namespace Scripting { struct ClassBinding; }
28namespace Scripting { struct Error; }
29namespace Scripting { struct InvalidArgumentError; }
30// clang-format on
31
32namespace ScriptModuleMinecraft {
33
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
39 ::ll::TypedStorage<8, 8, ::BlockSource*> mBlockSource;
40 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI bool _isValid() const;
47
48 MCAPI ::Scripting::Result<
49 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
52 above(int steps) const;
53
54 MCAPI ::Scripting::Result<
55 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
58 below(int steps) const;
59
60 MCAPI ::Scripting::Result<
61 bool,
65 canBeDestroyedByLiquidSpread(::SharedTypes::v1_26_0::LiquidType liquidType) const;
66
67 MCAPI ::Scripting::Result<
68 bool,
72 canContainLiquid(::SharedTypes::v1_26_0::LiquidType liquidType) const;
73
74 MCAPI ::Scripting::Result<
75 bool,
79 canPlace(
80 ::std::variant<
81 ::std::string,
84 ::std::optional<::ScriptModuleMinecraft::ScriptFacing> faceToPlaceOn
85 ) const;
86
87 MCAPI ::Scripting::Result<
88 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
91 east(int steps) const;
92
93 MCAPI ::Scripting::Result_deprecated<
94 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>>
95 getComponent_010(
97 ::std::string const& componentName
98 );
99
100 MCAPI ::Scripting::Result<
101 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>,
104 getComponent_V1(::ScriptModuleMinecraft::ScriptBlockComponents const& components, ::std::string_view componentName);
105
106 MCAPI ::Scripting::Result<
107 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>,
110 getComponent_V2(::ScriptModuleMinecraft::ScriptBlockComponents const& components, ::std::string_view componentName);
111
112 MCAPI ::Scripting::Result<
113 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>,
116 getComponents(::ScriptModuleMinecraft::ScriptBlockComponents const& components);
117
118 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension> getDimension() const;
119
120 MCAPI ::std::string getId_010() const;
121
122 MCAPI ::Scripting::Result<
123 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>,
126 getItemStack(int amount, bool withData) const;
127
128 MCAPI ::Scripting::
129 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
130 getLightLevel() const;
131
132 MCAPI ::Scripting::Result<
133 ::std::string,
136 getLocalizationKey() const;
137
138 MCAPI ::Scripting::Result_deprecated<::Vec3> getLocation() const;
139
140 MCAPI ::Scripting::StrongTypedObjectHandle<::BlockPos> getLocation_010() const;
141
142 MCAPI ::Scripting::Result<
146 getMapColor() const;
147
148 MCAPI ::Scripting::Result<
149 ::std::optional<::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>,
152 getMultiBlockParts() const;
153
154 MCAPI ::Scripting::Result<
158 getPermutation() const;
159
160 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockPermutation>
161 getPermutation_010() const;
162
163 MCAPI ::Scripting::Result<
164 ::std::optional<int>,
167 getRedstonePower() const;
168
169 MCAPI ::Scripting::
170 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
171 getSkyLightLevel() const;
172
173 MCAPI ::Scripting::Result<
174 ::std::vector<::std::string>,
177 getTags() const;
178
179 MCAPI ::std::vector<::std::string> getTags_010() const;
180
181 MCAPI ::Scripting::Result<
185 getType() const;
186
187 MCAPI ::Scripting::Result<
188 ::std::string,
191 getTypeId() const;
192
193 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockType> getType_010() const;
194
195 MCAPI ::Scripting::Result<
196 bool,
199 getWaterlogged() const;
200
201 MCAPI ::Scripting::Result<
202 bool,
205 hasComponent(::ScriptModuleMinecraft::ScriptBlockComponents const& components, ::std::string_view componentName);
206
207 MCAPI ::Scripting::Result<
208 bool,
211 hasTag(::std::string const& tag) const;
212
213 MCAPI bool hasTag_010(::std::string const& tag) const;
214
215 MCAPI ::Scripting::Result<
216 bool,
219 isAir() const;
220
221 MCAPI ::Scripting::Result<
222 bool,
225 isLiquid() const;
226
227 MCAPI ::Scripting::Result<
228 bool,
232 isLiquidBlocking(::SharedTypes::v1_26_0::LiquidType liquidType) const;
233
234 MCAPI ::Scripting::Result<
235 bool,
238 isSolid() const;
239
240 MCAPI ::Scripting::Result<
241 bool,
245 liquidCanFlowFromDirection(
246 ::SharedTypes::v1_26_0::LiquidType liquidType,
247 ::ScriptModuleMinecraft::ScriptFacing flowDirection
248 ) const;
249
250 MCAPI ::Scripting::Result<
251 bool,
255 liquidSpreadCausesSpawn(::SharedTypes::v1_26_0::LiquidType liquidType) const;
256
257 MCAPI ::Scripting::Result<
258 bool,
261 matches(
262 ::std::string blockName,
263 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> properties
264 ) const;
265
266 MCAPI ::Scripting::Result<
267 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
270 north(int steps) const;
271
272 MCAPI ::Scripting::Result<
273 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
276 offset(::Vec3 const& offset) const;
277
278 MCAPI ::Scripting::Result<
279 void,
282 setPermutation(::ScriptModuleMinecraft::ScriptBlockPermutation const& blockData);
283
284 MCAPI ::Scripting::Result<
285 void,
289 setType(
290 ::std::variant<
292 ::std::string> const& blockType
293 );
294
295 MCAPI ::Scripting::Result<
296 void,
300 setWaterlogged(bool setWaterlogged);
301
302 MCAPI ::Scripting::Result<
303 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
306 south(int steps) const;
307
308 MCAPI ::Scripting::Result<
309 bool,
312 trySetPermutation(::ScriptModuleMinecraft::ScriptBlockPermutation const& blockData) const;
313
314 MCAPI ::Scripting::Result<
315 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
318 west(int steps) const;
319 // NOLINTEND
320
321public:
322 // static functions
323 // NOLINTBEGIN
324 MCAPI static ::Scripting::ClassBinding
325 bind(::std::shared_ptr<::ScriptModuleMinecraft::ScriptBlockComponents> const& blockComponents);
326
327 MCAPI static ::Scripting::Result<
328 void,
331 setPermutationStatic(
332 ::BlockSource& region,
333 ::BlockPos const& location,
335 );
336
337 MCAPI static ::Scripting::Result<
338 void,
342 setTypeStatic(
343 ::BlockSource& region,
344 ::BlockPos const& location,
345 ::std::variant<
347 ::std::string> const& blockTypeOrBlockTypeName
348 );
349 // NOLINTEND
350};
351
352} // namespace ScriptModuleMinecraft
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition BaseScriptBlockComponent.h:20
Definition ScriptBlockComponents.h:25
Definition ScriptBlockPermutation.h:24
Definition ScriptBlockType.h:20
Definition ScriptBlock.h:34
Definition ScriptDimension.h:72
Definition ScriptItemStack.h:32
Definition ScriptRGBA.h:15
Definition StrongTypedObjectHandle.h:8
Definition Vec3.h:10
Definition ScriptLocationInUnloadedChunkError.h:16
Definition ScriptLocationOutOfWorldBoundsError.h:10
Definition ClassBinding.h:19
Definition Error.h:10
Definition InvalidArgumentError.h:17