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 Block;
17class BlockSource;
18class Vec3;
19namespace ScriptModuleMinecraft { class BaseScriptBlockComponent; }
20namespace ScriptModuleMinecraft { class ScriptBlockComponents; }
21namespace ScriptModuleMinecraft { class ScriptBlockPermutation; }
22namespace ScriptModuleMinecraft { class ScriptBlockType; }
23namespace ScriptModuleMinecraft { class ScriptDimension; }
24namespace ScriptModuleMinecraft { class ScriptItemStack; }
25namespace ScriptModuleMinecraft { class ScriptRGBA; }
26namespace ScriptModuleMinecraft { struct ScriptLocationInUnloadedChunkError; }
27namespace ScriptModuleMinecraft { struct ScriptLocationOutOfWorldBoundsError; }
28namespace Scripting { struct ClassBinding; }
29namespace Scripting { struct Error; }
30namespace Scripting { struct InvalidArgumentError; }
31// clang-format on
32
33namespace ScriptModuleMinecraft {
34
35class ScriptBlock {
36public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
40 ::ll::TypedStorage<8, 8, ::BlockSource*> mBlockSource;
41 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 ScriptBlock& operator=(ScriptBlock const&);
47 ScriptBlock(ScriptBlock const&);
48 ScriptBlock();
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI ScriptBlock(::ScriptModuleMinecraft::ScriptBlock&& rhs);
54
55 MCAPI ScriptBlock(::BlockSource& region, ::BlockPos pos, ::Scripting::WeakLifetimeScope const& scope);
56
57 MCAPI ::Scripting::Result<
58 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
61 above(int steps) const;
62
63 MCAPI ::Scripting::Result<
64 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
67 below(int steps) const;
68
69 MCAPI ::Scripting::Result<
70 bool,
74 canBeDestroyedByLiquidSpread(::SharedTypes::v1_26_0::LiquidType liquidType) const;
75
76 MCAPI ::Scripting::Result<
77 bool,
81 canContainLiquid(::SharedTypes::v1_26_0::LiquidType liquidType) const;
82
83 MCAPI ::Scripting::Result<
84 bool,
88 canPlace(
89 ::std::variant<
90 ::std::string,
93 ::std::optional<::ScriptModuleMinecraft::ScriptFacing> faceToPlaceOn
94 ) const;
95
96 MCAPI ::Scripting::Result<
97 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
100 east(int steps) const;
101
102 MCAPI ::Block const& getBlock() const;
103
104 MCFOLD ::BlockPos const& getBlockPos() const;
105
106 MCAPI ::Scripting::Result_deprecated<
107 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>>
108 getComponent_010(
110 ::std::string const& componentName
111 );
112
113 MCAPI ::Scripting::Result<
114 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>,
117 getComponent_V1(::ScriptModuleMinecraft::ScriptBlockComponents const& components, ::std::string_view componentName);
118
119 MCAPI ::Scripting::Result<
120 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>,
123 getComponent_V2(::ScriptModuleMinecraft::ScriptBlockComponents const& components, ::std::string_view componentName);
124
125 MCAPI ::Scripting::Result<
126 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>,
129 getComponents(::ScriptModuleMinecraft::ScriptBlockComponents const& components);
130
131 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension> getDimension() const;
132
133 MCAPI ::Scripting::Result<
134 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>,
137 getItemStack(int amount, bool withData) const;
138
139 MCAPI ::Scripting::
140 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
141 getLightLevel() const;
142
143 MCAPI ::Scripting::Result<
144 ::std::string,
147 getLocalizationKey() const;
148
149 MCAPI ::Scripting::Result_deprecated<::Vec3> getLocation() const;
150
151 MCAPI ::Scripting::Result<
155 getMapColor() const;
156
157 MCAPI ::Scripting::Result<
158 ::std::optional<::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>,
161 getMultiBlockParts() const;
162
163 MCAPI ::Scripting::Result<
167 getPermutation() const;
168
169 MCAPI ::Scripting::Result<
170 ::std::optional<int>,
173 getRedstonePower() const;
174
175 MCAPI ::Scripting::
176 Result<int, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptLocationInUnloadedChunkError>
177 getSkyLightLevel() const;
178
179 MCAPI ::Scripting::Result<
180 ::std::vector<::std::string>,
183 getTags() const;
184
185 MCAPI ::std::vector<::std::string> getTags_010() const;
186
187 MCAPI ::Scripting::Result<
191 getType() const;
192
193 MCAPI ::Scripting::Result<
194 ::std::string,
197 getTypeId() const;
198
199 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockType> getType_010() const;
200
201 MCAPI ::Scripting::Result<
202 bool,
205 getWaterlogged() const;
206
207 MCAPI ::Scripting::Result<
208 bool,
211 hasComponent(::ScriptModuleMinecraft::ScriptBlockComponents const& components, ::std::string_view componentName);
212
213 MCAPI ::Scripting::Result<
214 bool,
217 hasTag(::std::string const& tag) const;
218
219 MCAPI bool hasTag_010(::std::string const& tag) const;
220
221 MCAPI ::Scripting::Result<
222 bool,
225 isAir() const;
226
227 MCAPI ::Scripting::Result<
228 bool,
231 isLiquid() const;
232
233 MCAPI ::Scripting::Result<
234 bool,
238 isLiquidBlocking(::SharedTypes::v1_26_0::LiquidType liquidType) const;
239
240 MCAPI ::Scripting::Result<
241 bool,
244 isSolid() const;
245
246 MCAPI ::Scripting::Result<
247 bool,
251 liquidCanFlowFromDirection(
252 ::SharedTypes::v1_26_0::LiquidType liquidType,
253 ::ScriptModuleMinecraft::ScriptFacing flowDirection
254 ) const;
255
256 MCAPI ::Scripting::Result<
257 bool,
261 liquidSpreadCausesSpawn(::SharedTypes::v1_26_0::LiquidType liquidType) const;
262
263 MCAPI ::Scripting::Result<
264 bool,
267 matches(
268 ::std::string blockName,
269 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> properties
270 ) const;
271
272 MCAPI ::Scripting::Result<
273 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
276 north(int steps) const;
277
278 MCAPI ::Scripting::Result<
279 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
282 offset(::Vec3 const& offset) const;
283
284 MCAPI ::ScriptModuleMinecraft::ScriptBlock& operator=(::ScriptModuleMinecraft::ScriptBlock&& rhs);
285
286 MCAPI ::Scripting::Result<
287 void,
290 setPermutation(::ScriptModuleMinecraft::ScriptBlockPermutation const& blockData);
291
292 MCAPI void setPermutation_010(::ScriptModuleMinecraft::ScriptBlockPermutation const& blockData);
293
294 MCAPI ::Scripting::Result<
295 void,
299 setType(
300 ::std::variant<
302 ::std::string> const& blockType
303 );
304
305 MCAPI void setType_010(::ScriptModuleMinecraft::ScriptBlockType const& blockType);
306
307 MCAPI ::Scripting::Result<
308 void,
312 setWaterlogged(bool setWaterlogged);
313
314 MCAPI ::Scripting::Result<
315 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
318 south(int steps) const;
319
320 MCAPI ::Scripting::Result<
321 bool,
324 trySetPermutation(::ScriptModuleMinecraft::ScriptBlockPermutation const& blockData) const;
325
326 MCAPI ::Scripting::Result<
327 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>,
330 west(int steps) const;
331
332 MCAPI ~ScriptBlock();
333 // NOLINTEND
334
335public:
336 // static functions
337 // NOLINTBEGIN
338 MCAPI static ::Scripting::ClassBinding
339 bind(::std::shared_ptr<::ScriptModuleMinecraft::ScriptBlockComponents> const& blockComponents);
340
341 MCAPI static ::Scripting::Result<
342 void,
345 setPermutationStatic(
346 ::BlockSource& region,
347 ::BlockPos const& location,
349 );
350
351 MCAPI static ::Scripting::Result<
352 void,
356 setTypeStatic(
357 ::BlockSource& region,
358 ::BlockPos const& location,
359 ::std::variant<
361 ::std::string> const& blockTypeOrBlockTypeName
362 );
363 // NOLINTEND
364
365public:
366 // constructor thunks
367 // NOLINTBEGIN
368 MCAPI void* $ctor(::ScriptModuleMinecraft::ScriptBlock&& rhs);
369
370 MCAPI void* $ctor(::BlockSource& region, ::BlockPos pos, ::Scripting::WeakLifetimeScope const& scope);
371 // NOLINTEND
372
373public:
374 // destructor thunk
375 // NOLINTBEGIN
376 MCFOLD void $dtor();
377 // NOLINTEND
378};
379
380} // namespace ScriptModuleMinecraft
Definition BlockPos.h:21
Definition BlockSource.h:72
Definition Block.h:69
Definition BaseScriptBlockComponent.h:18
Definition ScriptBlockComponents.h:25
Definition ScriptBlockPermutation.h:24
Definition ScriptBlockType.h:20
Definition ScriptBlock.h:35
Definition ScriptDimension.h:70
Definition ScriptItemStack.h:32
Definition ScriptRGBA.h:16
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:14
Definition Vec3.h:10
Definition ScriptLocationInUnloadedChunkError.h:16
Definition ScriptLocationOutOfWorldBoundsError.h:16
Definition ClassBinding.h:19
Definition Error.h:10
Definition InvalidArgumentError.h:17