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;
18class ChunkSource;
19class Dimension;
20class Level;
22struct Bounds;
23// clang-format on
24
25class EditorStructureBlockSource : public ::BlockSource {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 24, ::AABB> mBounds;
30 ::ll::TypedStorage<8, 408, ::Editor::EditorStructureTemplate> mTemplate;
31 ::ll::TypedStorage<4, 12, ::BlockPos const> mOffset;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 EditorStructureBlockSource();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ~EditorStructureBlockSource() /*override*/ = default;
42
43 virtual void addListener(::BlockSourceListener& l) /*override*/;
44
45 virtual void removeListener(::BlockSourceListener& l) /*override*/;
46
47 virtual ::gsl::span<::gsl::not_null<::Actor*>>
48 fetchEntities(::Actor const* except, ::AABB const& bb, bool useHitbox, bool getDisplayEntities) /*override*/;
49
50 virtual ::gsl::span<::gsl::not_null<::Actor*>> fetchEntities(
51 ::ActorType entityTypeId,
52 ::AABB const& bb,
53 ::Actor const* except,
54 ::std::function<bool(::Actor*)> selector
55 ) /*override*/;
56
57 virtual bool hasChunksAt(::Bounds const& bounds, bool ignoreClientChunk) const /*override*/;
58
59 virtual bool hasChunksAt(::BlockPos const& pos, int r, bool ignoreClientChunk) const /*override*/;
60
61 virtual bool hasChunksAt(::AABB const& bb, bool ignoreClientChunk) const /*override*/;
62
63 virtual bool setBlock(
64 ::BlockPos const& pos,
65 ::Block const& block,
66 int updateFlags,
67 ::ActorBlockSyncMessage const* syncMsg,
68 ::BlockChangeContext const& changeSourceContext
69 ) /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
76 ::Level& level,
77 ::Dimension& dimension,
78 ::ChunkSource& chunkSource,
79 ::AABB const& bounds,
80 ::BlockPos offset
81 );
82
83 MCNAPI ::Editor::EditorStructureTemplate const& getTemplate();
84 // NOLINTEND
85
86public:
87 // constructor thunks
88 // NOLINTBEGIN
89 MCNAPI void*
90 $ctor(::Level& level, ::Dimension& dimension, ::ChunkSource& chunkSource, ::AABB const& bounds, ::BlockPos offset);
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
97
99
100 MCNAPI ::gsl::span<::gsl::not_null<::Actor*>>
101 $fetchEntities(::Actor const* except, ::AABB const& bb, bool useHitbox, bool getDisplayEntities);
102
103 MCNAPI ::gsl::span<::gsl::not_null<::Actor*>> $fetchEntities(
104 ::ActorType entityTypeId,
105 ::AABB const& bb,
106 ::Actor const* except,
107 ::std::function<bool(::Actor*)> selector
108 );
109
110 MCNAPI bool $hasChunksAt(::Bounds const& bounds, bool ignoreClientChunk) const;
111
112 MCNAPI bool $hasChunksAt(::BlockPos const& pos, int r, bool ignoreClientChunk) const;
113
114 MCNAPI bool $hasChunksAt(::AABB const& bb, bool ignoreClientChunk) const;
115
116 MCNAPI bool $setBlock(
117 ::BlockPos const& pos,
118 ::Block const& block,
119 int updateFlags,
120 ::ActorBlockSyncMessage const* syncMsg,
121 ::BlockChangeContext const& changeSourceContext
122 );
123
124
125 // NOLINTEND
126
127public:
128 // vftables
129 // NOLINTBEGIN
130 MCNAPI static void** $vftable();
131 // NOLINTEND
132};
Definition AABB.h:18
Definition Actor.h:125
Definition BlockChangeContext.h:16
Definition BlockPos.h:21
Definition BlockSourceListener.h:18
Definition Block.h:69
Definition ChunkSource.h:37
Definition Dimension.h:89
MCAPI bool $hasChunksAt(::BlockPos const &pos, int r, bool ignoreClientChunk) const
MCAPI EditorStructureBlockSource(::Level &level, ::Dimension &dimension, ::ChunkSource &chunkSource, ::AABB const &bounds, ::BlockPos offset)
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 * $ctor(::Level &level, ::Dimension &dimension, ::ChunkSource &chunkSource, ::AABB const &bounds, ::BlockPos offset)
MCAPI::Editor::EditorStructureTemplate const & getTemplate()
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 Level.h:255
Definition ActorBlockSyncMessage.h:8
Definition Bounds.h:8