LeviLamina
Loading...
Searching...
No Matches
ScriptBlockVolumeBase.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/WeakHandleFromThis.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/scripting/modules/minecraft/ScriptBlockVolumeIterable.h"
10
11// auto generated forward declare list
12// clang-format off
14class BlockPos;
15class BlockVolumeBase;
16class BoundingBox;
17class ChunkPos;
18class Vec3;
19namespace ScriptModuleMinecraft { class ScriptBlockLocationIterator; }
20namespace Scripting { class WeakLifetimeScope; }
21namespace Scripting { struct ClassBinding; }
22// clang-format on
23
24namespace ScriptModuleMinecraft {
25
26class ScriptBlockVolumeBase : public ::ScriptModuleMinecraft::ScriptBlockVolumeIterable,
27 public ::Scripting::WeakHandleFromThis<::ScriptModuleMinecraft::ScriptBlockVolumeBase> {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::BlockVolumeBase>>> mBlockVolumeBase;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 ScriptBlockVolumeBase();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ~ScriptBlockVolumeBase() /*override*/;
42
43 virtual ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockLocationIterator>
44 getBlockLocationIterator(::Scripting::WeakLifetimeScope scope) = 0;
45
46 virtual ::std::unique_ptr<::BaseBlockLocationIterator> createBlockLocationIterator() = 0;
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCAPI explicit ScriptBlockVolumeBase(::std::unique_ptr<::BlockVolumeBase> blockVolumeBase);
53
54#ifdef LL_PLAT_C
55 MCAPI void forEach(::std::function<bool(::BlockPos const&)> callback) const;
56#endif
57
58 MCAPI ::Scripting::Result_deprecated<::BoundingBox> getBoundingBox() const;
59
60#ifdef LL_PLAT_C
61 MCAPI int getCapacity() const;
62#endif
63
64 MCAPI ::std::set<::ChunkPos> getChunks() const;
65
66 MCAPI ::Scripting::Result_deprecated<::Vec3> getMax() const;
67
68 MCAPI ::Scripting::Result_deprecated<::Vec3> getMin() const;
69
70 MCAPI ::Vec3 getSpan() const;
71
72 MCAPI bool isInside(::Vec3 const& location) const;
73
74 MCAPI void translate(::Vec3 const& delta);
75 // NOLINTEND
76
77public:
78 // static functions
79 // NOLINTBEGIN
80 MCAPI static ::Scripting::ClassBinding bind();
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCAPI void* $ctor(::std::unique_ptr<::BlockVolumeBase> blockVolumeBase);
87 // NOLINTEND
88
89public:
90 // destructor thunk
91 // NOLINTBEGIN
92 MCFOLD void $dtor();
93 // NOLINTEND
94
95public:
96 // virtual function thunks
97 // NOLINTBEGIN
98
99 // NOLINTEND
100
101public:
102 // vftables
103 // NOLINTBEGIN
104 MCNAPI static void** $vftable();
105 // NOLINTEND
106};
107
108} // namespace ScriptModuleMinecraft
Definition BaseBlockLocationIterator.h:8
Definition BlockPos.h:21
Definition BlockVolumeBase.h:16
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition ScriptBlockLocationIterator.h:21
Definition ScriptBlockVolumeIterable.h:7
Definition WeakHandleFromThis.h:8
Definition WeakLifetimeScope.h:14
Definition Vec3.h:10
Definition ClassBinding.h:19