LeviLamina
Loading...
Searching...
No Matches
CompoundBlockVolume.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/platform/brstd/function_ref.h"
8#include "mc/world/level/BlockPos.h"
9#include "mc/world/level/block/CompoundBlockVolumePositionRelativity.h"
10#include "mc/world/level/levelgen/structure/BoundingBox.h"
11
12// auto generated forward declare list
13// clang-format off
15namespace cereal { struct ReflectionCtx; }
16// clang-format on
17
18class CompoundBlockVolume : public ::Bedrock::EnableNonOwnerReferences {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 24, ::std::vector<::CompoundBlockVolumeItem>> mVolumeList;
23 ::ll::TypedStorage<4, 12, ::BlockPos> mOrigin;
24 ::ll::TypedStorage<4, 24, ::BoundingBox> mBounds;
25 // NOLINTEND
26
27public:
28 // member functions
29 // NOLINTBEGIN
30 MCAPI CompoundBlockVolume();
31
32 MCAPI CompoundBlockVolume(::CompoundBlockVolume const& other);
33
34 MCAPI void _recalculateBounds();
35
36 MCAPI uint64 capacity() const;
37
38 MCAPI void clear(bool resetOrigin);
39
40 MCAPI void forEachPosition(::brstd::function_ref<bool(::BlockPos const&)> callback) const;
41
42 MCAPI void
43 forEachVolumeItem(::brstd::function_ref<bool(::CompoundBlockVolumeItem&, ::CompoundBlockVolume const&)> func);
44
45 MCAPI ::std::vector<::CompoundBlockVolumeItem> getAbsoluteVolumeList() const;
46
47 MCAPI ::BoundingBox getBoundingBox() const;
48
49 MCAPI ::BlockPos getMax() const;
50
51 MCAPI ::BlockPos getMin() const;
52
53 MCFOLD ::BlockPos const& getOrigin() const;
54
55 MCAPI ::std::vector<::CompoundBlockVolumeItem> getVolumeList() const;
56
57 MCFOLD bool isEmpty() const;
58
59 MCAPI bool isInside(::BlockPos const& pos) const;
60
61 MCAPI ::CompoundBlockVolume& operator=(::CompoundBlockVolume const& other);
62
63 MCAPI bool operator==(::CompoundBlockVolume const& other) const;
64
65 MCAPI ::std::optional<::CompoundBlockVolumeItem>
66 peekLastVolume(::std::optional<::CompoundBlockVolumePositionRelativity> optRelativity) const;
67
68 MCAPI bool popVolume();
69
70 MCFOLD void pushVolume(::CompoundBlockVolumeItem&& item);
71
72 MCFOLD void pushVolume(::CompoundBlockVolumeItem const& item);
73
74 MCAPI void setOrigin(::BlockPos const& newPos, bool preserveExistingVolumes);
75
76 MCAPI void translateOrigin(::BlockPos const& deltaPos, bool preserveExistingVolumes);
77
78 MCAPI uint64 volumeCount() const;
79 // NOLINTEND
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
85 // NOLINTEND
86
87public:
88 // constructor thunks
89 // NOLINTBEGIN
90 MCAPI void* $ctor();
91
92 MCAPI void* $ctor(::CompoundBlockVolume const& other);
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCAPI static void** $vftable();
99 // NOLINTEND
100};
Definition EnableNonOwnerReferences.h:7
static MCAPI void ** $vftable()
Definition BlockPos.h:21
Definition CompoundBlockVolumeItem.h:16
Definition function_ref.h:60
Definition ReflectionCtx.h:11
Definition ctx.h:5