LeviLamina
Loading...
Searching...
No Matches
EditorStructureTemplate.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/world/level/levelgen/structure/StructureTemplate.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
13class Block;
14class BlockPalette;
15class BlockPos;
16class BlockSource;
17class BlockVolumeBase;
18class BoundingBox;
19class CompoundTag;
22class Vec3;
23namespace Editor { class RelativeVolumeListBlockVolume; }
24// clang-format on
25
26namespace Editor {
27
28class EditorStructureTemplate : public ::StructureTemplate {
29public:
30 // member variables
31 // NOLINTBEGIN
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 EditorStructureTemplate& operator=(EditorStructureTemplate const&);
40 EditorStructureTemplate(EditorStructureTemplate const&);
41 EditorStructureTemplate();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual ~EditorStructureTemplate() /*override*/;
47
48 virtual void clear() /*override*/;
49
50 virtual bool load(::CompoundTag const& tag) /*override*/;
51
52 virtual ::std::unique_ptr<::CompoundTag> save() const /*override*/;
53
54 virtual ::BoundingBox
55 getTransformedBounds(::BlockPos loadPosition, ::StructureSettings const& structureSettings) const /*override*/;
56
57 virtual void fillEmpty(::BlockPos const& size) /*override*/;
58
59 virtual bool _allowReadBlock(::BlockPos const& position, ::Block const& block) const /*override*/;
60
61 virtual bool _allowReadActor(::Actor const& actor) const /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCNAPI explicit EditorStructureTemplate(::std::string_view name);
68
69#ifdef LL_PLAT_C
70 MCNAPI EditorStructureTemplate(
71 ::StructureTemplate const& temp,
73 );
74#endif
75
77 ::BlockSource& region,
78 ::std::unique_ptr<::BaseBlockLocationIterator> locationIterator,
79 ::BlockPos const& posMin,
80 ::BlockPos const& size,
81 ::BlockPos const& structureOffset
82 );
83
85 ::BlockSource& region,
86 ::StructureSettings const& structureSettings,
87 ::BlockVolumeBase const& volume
88 );
89
91 ::BlockSource& region,
92 ::StructureSettings const& structureSettings,
94 );
95
97 ::BlockSource& region,
98 ::StructureSettings const& structureSettings,
99 ::std::unique_ptr<::BaseBlockLocationIterator> locationIterator,
100 ::BlockPos const& posMin,
101 ::BlockPos const& span
102 );
103
104#ifdef LL_PLAT_C
105 MCNAPI ::Editor::RelativeVolumeListBlockVolume const& getBlockVolume() const;
106#endif
107
108 MCNAPI ::Vec3 const& getNormalizedOrigin() const;
109
110 MCNAPI ::Vec3 getOriginalWorldLocation() const;
111
112#ifdef LL_PLAT_C
113 MCNAPI ::std::vector<::std::string> getTags() const;
114#endif
115
117 ::BlockSource& region,
118 ::BlockPalette const& globalBlockPalette,
119 ::BoundingBox const& transformedBounds,
120 ::StructureSettings const& structureSettings,
121 bool excludeAirBlocks
122 ) const;
123
124 MCNAPI void setBounds(::BlockVolumeBase const& volume);
125
127
128 MCNAPI void setBounds(::BlockPos const& from, ::BlockPos const& to);
129
130 MCNAPI bool setNormalizedOrigin(::Vec3 newOrigin);
131 // NOLINTEND
132
133public:
134 // constructor thunks
135 // NOLINTBEGIN
136 MCNAPI void* $ctor(::std::string_view name);
137
138#ifdef LL_PLAT_C
139 MCNAPI void* $ctor(
140 ::StructureTemplate const& temp,
142 );
143#endif
144 // NOLINTEND
145
146public:
147 // destructor thunk
148 // NOLINTBEGIN
149 MCNAPI void $dtor();
150 // NOLINTEND
151
152public:
153 // virtual function thunks
154 // NOLINTBEGIN
155 MCNAPI void $clear();
156
157 MCNAPI bool $load(::CompoundTag const& tag);
158
159 MCNAPI ::std::unique_ptr<::CompoundTag> $save() const;
160
161 MCNAPI ::BoundingBox
162 $getTransformedBounds(::BlockPos loadPosition, ::StructureSettings const& structureSettings) const;
163
164 MCNAPI void $fillEmpty(::BlockPos const& size);
165
166 MCNAPI bool $_allowReadBlock(::BlockPos const& position, ::Block const& block) const;
167
168 MCNAPI bool $_allowReadActor(::Actor const& actor) const;
169
170
171 // NOLINTEND
172
173public:
174 // vftables
175 // NOLINTBEGIN
176 MCNAPI static void** $vftable();
177 // NOLINTEND
178};
179
180} // namespace Editor
Definition Actor.h:125
Definition BaseBlockLocationIterator.h:8
Definition NonOwnerPointer.h:9
Definition BlockPalette.h:21
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BlockVolumeBase.h:16
Definition Block.h:69
Definition BoundingBox.h:13
Definition CompoundTag.h:23
MCAPI void editorFillFromWorld(::BlockSource &region, ::StructureSettings const &structureSettings, ::Editor::RelativeVolumeListBlockVolume const &volume)
MCAPI ::std::unique_ptr<::CompoundTag > $save() const
MCAPI void setBounds(::Editor::RelativeVolumeListBlockVolume const &volume)
MCAPI void $fillEmpty(::BlockPos const &size)
MCAPI void setBounds(::BlockPos const &from, ::BlockPos const &to)
MCAPI void placeStructureTemplateInWorldForEditor(::BlockSource &region, ::BlockPalette const &globalBlockPalette, ::BoundingBox const &transformedBounds, ::StructureSettings const &structureSettings, bool excludeAirBlocks) const
MCAPI bool setNormalizedOrigin(::Vec3 newOrigin)
MCAPI bool $_allowReadBlock(::BlockPos const &position, ::Block const &block) const
MCAPI void editorFillFromWorld(::BlockSource &region, ::StructureSettings const &structureSettings, ::BlockVolumeBase const &volume)
MCAPI::Vec3 const & getNormalizedOrigin() const
MCAPI void * $ctor(::std::string_view name)
MCAPI void editorFillFromWorld(::BlockSource &region, ::StructureSettings const &structureSettings, ::std::unique_ptr<::BaseBlockLocationIterator > locationIterator, ::BlockPos const &posMin, ::BlockPos const &span)
MCAPI::BoundingBox $getTransformedBounds(::BlockPos loadPosition, ::StructureSettings const &structureSettings) const
MCAPI void setBounds(::BlockVolumeBase const &volume)
MCAPI bool $load(::CompoundTag const &tag)
static MCAPI void ** $vftable()
MCAPI void _editorFillBlockInfo(::BlockSource &region, ::std::unique_ptr<::BaseBlockLocationIterator > locationIterator, ::BlockPos const &posMin, ::BlockPos const &size, ::BlockPos const &structureOffset)
MCAPI bool $_allowReadActor(::Actor const &actor) const
MCAPI::Vec3 getOriginalWorldLocation() const
MCAPI EditorStructureTemplate(::std::string_view name)
Definition RelativeVolumeListBlockVolume.h:23
Definition IUnknownBlockTypeRegistry.h:14
Definition StructureSettings.h:18
Definition Vec3.h:10
Definition Alias.h:14