Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ListBlockVolume.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/function_ref.h"
7#include "mc/world/level/BlockPos.h"
8#include "mc/world/level/block/BlockVolumeBase.h"
9
10// auto generated forward declare list
11// clang-format off
13class BoundingBox;
14class ChunkPos;
15class Vec3;
16// clang-format on
17
18class ListBlockVolume : public ::BlockVolumeBase {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 64, ::std::unordered_set<::BlockPos>> mBlockPositions;
23 ::ll::TypedStorage<4, 12, ::BlockPos> mMin;
24 ::ll::TypedStorage<4, 12, ::BlockPos> mMax;
25 ::ll::TypedStorage<8, 8, uint64> mChangeCount;
26 // NOLINTEND
27
28public:
29 // prevent constructor by default
30 ListBlockVolume();
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual ::BlockPos getMin() const /*override*/;
36
37 virtual ::BlockPos getMax() const /*override*/;
38
39 virtual ::BoundingBox getBoundingBox() const /*override*/;
40
41 virtual ::glm::ivec3 getSpan() const /*override*/;
42
43 virtual int getCapacity() const /*override*/;
44
45 virtual bool isInside(::BlockPos const& pos) const /*override*/;
46
47 virtual void translate(::BlockPos const& delta) /*override*/;
48
49 virtual void forEach(::brstd::function_ref<bool(::BlockPos const&)> callback) const /*override*/;
50
51 virtual ::std::set<::ChunkPos> getChunks() const /*override*/;
52
53 virtual ::std::unordered_set<::BlockPos> getFlattenedBlockPositions() const /*override*/;
54
55 virtual ::std::unique_ptr<::BaseBlockLocationIterator> getIterator() const /*override*/;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCNAPI explicit ListBlockVolume(::std::vector<::BlockPos> const& blockPositions);
62
63 MCNAPI explicit ListBlockVolume(::std::vector<::Vec3> const& blockPositions);
64
65 MCNAPI void erase(::std::vector<::Vec3> const& blockPositions);
66
67 MCNAPI void insert(::std::vector<::Vec3> const& blockPositions);
68 // NOLINTEND
69
70public:
71 // constructor thunks
72 // NOLINTBEGIN
73 MCNAPI void* $ctor(::std::vector<::BlockPos> const& blockPositions);
74
75 MCNAPI void* $ctor(::std::vector<::Vec3> const& blockPositions);
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81 MCNAPI ::BlockPos $getMin() const;
82
83 MCNAPI ::BlockPos $getMax() const;
84
85 MCNAPI ::BoundingBox $getBoundingBox() const;
86
87 MCNAPI ::glm::ivec3 $getSpan() const;
88
89 MCNAPI int $getCapacity() const;
90
91 MCNAPI bool $isInside(::BlockPos const& pos) const;
92
93 MCNAPI void $translate(::BlockPos const& delta);
94
95 MCNAPI void $forEach(::brstd::function_ref<bool(::BlockPos const&)> callback) const;
96
97 MCNAPI ::std::set<::ChunkPos> $getChunks() const;
98
99 MCNAPI ::std::unordered_set<::BlockPos> $getFlattenedBlockPositions() const;
100
101 MCNAPI ::std::unique_ptr<::BaseBlockLocationIterator> $getIterator() const;
102
103
104 // NOLINTEND
105
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCNAPI static void** $vftable();
110 // NOLINTEND
111};
Definition BaseBlockLocationIterator.h:8
Definition BlockPos.h:14
Definition BlockVolumeBase.h:16
Definition BoundingBox.h:13
Definition ChunkPos.h:13
MCAPI void erase(::std::vector<::Vec3 > const &blockPositions)
MCAPI::glm::ivec3 $getSpan() const
MCAPI ::std::unique_ptr<::BaseBlockLocationIterator > $getIterator() const
static MCAPI void ** $vftable()
MCAPI void * $ctor(::std::vector<::BlockPos > const &blockPositions)
MCAPI::BoundingBox $getBoundingBox() const
MCAPI ::std::set<::ChunkPos > $getChunks() const
MCAPI ListBlockVolume(::std::vector<::BlockPos > const &blockPositions)
MCAPI bool $isInside(::BlockPos const &pos) const
MCAPI::BlockPos $getMin() const
MCAPI::BlockPos $getMax() const
MCAPI ListBlockVolume(::std::vector<::Vec3 > const &blockPositions)
MCAPI void * $ctor(::std::vector<::Vec3 > const &blockPositions)
MCAPI void $forEach(::brstd::function_ref< bool(::BlockPos const &)> callback) const
MCAPI void insert(::std::vector<::Vec3 > const &blockPositions)
MCAPI int $getCapacity() const
MCAPI void $translate(::BlockPos const &delta)
MCAPI ::std::unordered_set<::BlockPos > $getFlattenedBlockPositions() const
Definition Vec3.h:10
Definition function_ref.h:60