LeviLamina
Loading...
Searching...
No Matches
BannerPattern.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7
8// auto generated forward declare list
9// clang-format off
10class CompoundTag;
11class ItemInstance;
12class ItemStack;
13class ItemStackBase;
14class Tag;
15// clang-format on
16
17class BannerPattern : public ::Bedrock::EnableNonOwnerReferences {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<1, 1, uchar> mID;
22 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mPattern;
23 ::ll::TypedStorage<8, 64, ::std::function<::ItemStack()>> mIngredientItemFunctor;
24 ::ll::TypedStorage<8, 32, ::std::string> mName;
25 ::ll::TypedStorage<8, 32, ::std::string> mNameID;
26 ::ll::TypedStorage<2, 2, short> mPatternItemType;
27 ::ll::TypedStorage<1, 1, bool> mIgnoreAux;
28 ::ll::TypedStorage<1, 1, bool> mHiddenFromCrafting;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 BannerPattern& operator=(BannerPattern const&);
34 BannerPattern();
35
36public:
37 // member functions
38 // NOLINTBEGIN
39 MCAPI BannerPattern(::BannerPattern const&);
40
41 MCAPI BannerPattern(::std::string const& name, ::std::string const& nameID, bool hiddenFromCrafting);
42
43 MCAPI BannerPattern(
44 ::std::string const& name,
45 ::std::string const& nameID,
46 ::std::function<::ItemStack()>&& itemFunctor,
47 short patternItemType
48 );
49
50 MCAPI BannerPattern(
51 ::std::string const& name,
52 ::std::string const& nameID,
53 ::std::function<::ItemStack()>&& itemFunctor,
54 short patternItemType,
55 bool ignoreAux
56 );
57
58 MCAPI BannerPattern(
59 ::std::string const& name,
60 ::std::string const& nameID,
61 ::std::string const& row1,
62 ::std::string const& row2,
63 ::std::string const& row3
64 );
65
66 MCFOLD bool getIgnoreAux() const;
67
68 MCAPI ::ItemStack getIngredientItem() const;
69
70 MCFOLD ::std::string const& getName() const;
71
72 MCFOLD ::std::string const& getNameID() const;
73
74 MCFOLD ::std::vector<::std::string> const& getPattern() const;
75
76 MCAPI bool hasPattern() const;
77
78#ifdef LL_PLAT_C
79 MCFOLD bool isHiddenFromCrafting() const;
80#endif
81
82 MCAPI bool matchesPatternItem(::ItemStackBase const& item) const;
83
84 MCAPI bool requiresIngredientItem() const;
85
86 MCAPI bool requiresPatternItem() const;
87 // NOLINTEND
88
89public:
90 // static functions
91 // NOLINTBEGIN
92 MCAPI static ::std::optional<uchar> findPatternIndexByNameID(::std::string const& nameID);
93
94#ifdef LL_PLAT_C
95 MCAPI static ::ItemInstance getItemFromPattern(::BannerPattern const& pattern);
96#endif
97
98 MCAPI static ::std::optional<uchar> getPatternIndexFromName(::std::string const& name);
99
100 MCAPI static uchar getPatternIndexFromNameID(::std::string const& nameID);
101
102 MCAPI static ::std::optional<::std::reference_wrapper<::std::string const>> getPatternNameFromIndex(uchar index);
103
104 MCAPI static ::CompoundTag const* tryGetPatternDataFromTag(::Tag const* tag);
105 // NOLINTEND
106
107public:
108 // static variables
109 // NOLINTBEGIN
110 MCAPI static char const* const& BASE_NAME();
111
112 MCAPI static char const* const& SQUARE_TOP_LEFT_NAME_ID();
113
114 MCAPI static ::std::vector<::BannerPattern> const& mPatterns();
115 // NOLINTEND
116
117public:
118 // constructor thunks
119 // NOLINTBEGIN
120 MCAPI void* $ctor(::BannerPattern const&);
121
122 MCAPI void* $ctor(::std::string const& name, ::std::string const& nameID, bool hiddenFromCrafting);
123
124 MCAPI void* $ctor(
125 ::std::string const& name,
126 ::std::string const& nameID,
127 ::std::function<::ItemStack()>&& itemFunctor,
128 short patternItemType
129 );
130
131 MCAPI void* $ctor(
132 ::std::string const& name,
133 ::std::string const& nameID,
134 ::std::function<::ItemStack()>&& itemFunctor,
135 short patternItemType,
136 bool ignoreAux
137 );
138
139 MCAPI void* $ctor(
140 ::std::string const& name,
141 ::std::string const& nameID,
142 ::std::string const& row1,
143 ::std::string const& row2,
144 ::std::string const& row3
145 );
146 // NOLINTEND
147
148public:
149 // vftables
150 // NOLINTBEGIN
151 MCNAPI static void** $vftable();
152 // NOLINTEND
153};
static MCAPI void ** $vftable()
Definition EnableNonOwnerReferences.h:7
Definition CompoundTag.h:23
Definition ItemInstance.h:15
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition Tag.h:42