LeviLamina
Loading...
Searching...
No Matches
ListTag.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/deps/nbt/UniqueTagPtr.h"
5
6// auto generated inclusion list
7#include "mc/deps/nbt/Tag.h"
8#include "mc/platform/Result.h"
9
10// auto generated forward declare list
11// clang-format off
12class IDataInput;
13class IDataOutput;
14class PrintStream;
15// clang-format on
16
18
19class ListTag : public ::Tag, public std::vector<UniqueTagPtr> {
20public:
21 using List = std::vector<UniqueTagPtr>;
22 Tag::Type mType{Tag::End};
23
24 using Tag::operator==;
25
26public:
27 [[nodiscard]] constexpr ListTag() = default;
28
29 [[nodiscard]] constexpr ListTag(List tags) : List(std::move(tags)) {
30 if (!empty()) mType = front().getId();
31 }
32 [[nodiscard]] constexpr ListTag(std::initializer_list<CompoundTagVariant> tags);
33 [[nodiscard]] constexpr ListTag(std::vector<CompoundTagVariant> tags);
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual void write(::IDataOutput& dos) const /*override*/;
39
40 virtual ::Bedrock::Result<void> load(::IDataInput& dis) /*override*/;
41
42 virtual ::Tag::Type getId() const /*override*/;
43
44 virtual ::std::string toString() const /*override*/;
45
46 virtual void print(::std::string const& prefix_, ::PrintStream& out) const /*override*/;
47
48 virtual ::std::unique_ptr<::Tag> copy() const /*override*/;
49
50 virtual uint64 hash() const /*override*/;
51
52 virtual bool equals(::Tag const& rhs) const /*override*/;
53
54 virtual void deleteChildren() /*override*/;
55
56 virtual ~ListTag() /*override*/ = default;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI void add(::std::unique_ptr<::Tag> tag);
63
64 MCAPI ::std::unique_ptr<::ListTag> copyList() const;
65
66 MCAPI ::Tag* get(int index) const;
67
68 MCAPI float getFloat(int index) const;
69 // NOLINTEND
70
71public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCAPI void* $ctor();
75 // NOLINTEND
76
77public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCAPI void $dtor();
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCAPI void $write(::IDataOutput& dos) const;
87
88 MCAPI ::Bedrock::Result<void> $load(::IDataInput& dis);
89
90 MCFOLD ::Tag::Type $getId() const;
91
92 MCAPI ::std::string $toString() const;
93
94 MCAPI void $print(::std::string const& prefix_, ::PrintStream& out) const;
95
96 MCAPI ::std::unique_ptr<::Tag> $copy() const;
97
98 MCAPI uint64 $hash() const;
99
100 MCAPI bool $equals(::Tag const& rhs) const;
101
102 MCAPI void $deleteChildren();
103
104
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCNAPI static void** $vftable();
111 // NOLINTEND
112};
Definition CompoundTagVariant.h:28
Definition IDataInput.h:8
Definition IDataOutput.h:5
static MCAPI void ** $vftable()
Definition PrintStream.h:5