LeviLamina
Loading...
Searching...
No Matches
EditorStructureBlockSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/editor/structure/EditorStructureTemplate.h"
7#include "mc/world/actor/ActorType.h"
8#include "mc/world/level/BlockPos.h"
9#include "mc/world/level/BlockSource.h"
10#include "mc/world/phys/AABB.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class Block;
19struct Bounds;
20// clang-format on
21
22class EditorStructureBlockSource : public ::BlockSource {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<4, 24, ::AABB> mBounds;
27 ::ll::TypedStorage<8, 408, ::Editor::EditorStructureTemplate> mTemplate;
28 ::ll::TypedStorage<4, 12, ::BlockPos const> mOffset;
29 // NOLINTEND
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual ~EditorStructureBlockSource() /*override*/ = default;
35
36 virtual void addListener(::BlockSourceListener& l) /*override*/;
37
38 virtual void removeListener(::BlockSourceListener& l) /*override*/;
39
40 virtual ::gsl::span<::gsl::not_null<::Actor*>>
41 fetchEntities(::Actor const* except, ::AABB const& bb, bool useHitbox, bool getDisplayEntities) /*override*/;
42
43 virtual ::gsl::span<::gsl::not_null<::Actor*>> fetchEntities(
44 ::ActorType entityTypeId,
45 ::AABB const& bb,
46 ::Actor const* except,
47 ::std::function<bool(::Actor*)> selector
48 ) /*override*/;
49
50 virtual bool hasChunksAt(::Bounds const& bounds, bool ignoreClientChunk) const /*override*/;
51
52 virtual bool hasChunksAt(::BlockPos const& pos, int r, bool ignoreClientChunk) const /*override*/;
53
54 virtual bool hasChunksAt(::AABB const& bb, bool ignoreClientChunk) const /*override*/;
55
56 virtual bool setBlock(
57 ::BlockPos const& pos,
58 ::Block const& block,
59 int updateFlags,
60 ::ActorBlockSyncMessage const* syncMsg,
61 ::BlockChangeContext const& changeSourceContext
62 ) /*override*/;
63 // NOLINTEND
64
65public:
66 // virtual function thunks
67 // NOLINTBEGIN
69
71
72 MCNAPI ::gsl::span<::gsl::not_null<::Actor*>>
73 $fetchEntities(::Actor const* except, ::AABB const& bb, bool useHitbox, bool getDisplayEntities);
74
75 MCNAPI ::gsl::span<::gsl::not_null<::Actor*>> $fetchEntities(
76 ::ActorType entityTypeId,
77 ::AABB const& bb,
78 ::Actor const* except,
79 ::std::function<bool(::Actor*)> selector
80 );
81
82 MCNAPI bool $hasChunksAt(::Bounds const& bounds, bool ignoreClientChunk) const;
83
84 MCNAPI bool $hasChunksAt(::BlockPos const& pos, int r, bool ignoreClientChunk) const;
85
86 MCNAPI bool $hasChunksAt(::AABB const& bb, bool ignoreClientChunk) const;
87
88 MCNAPI bool $setBlock(
89 ::BlockPos const& pos,
90 ::Block const& block,
91 int updateFlags,
92 ::ActorBlockSyncMessage const* syncMsg,
93 ::BlockChangeContext const& changeSourceContext
94 );
95
96
97 // NOLINTEND
98
99public:
100 // vftables
101 // NOLINTBEGIN
102 MCNAPI static void** $vftable();
103 // NOLINTEND
104};
Definition AABB.h:18
Definition Actor.h:106
Definition BlockChangeContext.h:10
Definition BlockPos.h:19
Definition BlockSourceListener.h:18
Definition Block.h:43
Definition EditorStructureBlockSource.h:22
MCAPI bool $hasChunksAt(::BlockPos const &pos, int r, bool ignoreClientChunk) const
MCAPI bool $hasChunksAt(::Bounds const &bounds, bool ignoreClientChunk) const
static MCAPI void ** $vftable()
MCAPI ::gsl::span<::gsl::not_null<::Actor * > > $fetchEntities(::Actor const *except, ::AABB const &bb, bool useHitbox, bool getDisplayEntities)
MCAPI ::gsl::span<::gsl::not_null<::Actor * > > $fetchEntities(::ActorType entityTypeId, ::AABB const &bb, ::Actor const *except, ::std::function< bool(::Actor *)> selector)
MCAPI void $removeListener(::BlockSourceListener &l)
MCAPI void $addListener(::BlockSourceListener &l)
MCAPI bool $hasChunksAt(::AABB const &bb, bool ignoreClientChunk) const
MCAPI bool $setBlock(::BlockPos const &pos, ::Block const &block, int updateFlags, ::ActorBlockSyncMessage const *syncMsg, ::BlockChangeContext const &changeSourceContext)
Definition ActorBlockSyncMessage.h:8
Definition Bounds.h:8