LeviLamina
Loading...
Searching...
No Matches
BannerBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BannerBlockType.h"
7#include "mc/world/level/block/actor/BlockActor.h"
8
9// auto generated forward declare list
10// clang-format off
12class BlockPos;
13class BlockSource;
14class CompoundTag;
15class DataLoadHelper;
16class ILevel;
17class ItemStack;
18class ItemStackBase;
19class SaveContext;
20// clang-format on
21
22class BannerBlockActor : public ::BlockActor {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<1, 1, bool> mDirtyBounds;
27 ::ll::TypedStorage<1, 1, uchar> mBaseColor;
28 ::ll::TypedStorage<8, 24, ::std::vector<uchar>> mPatterns;
29 ::ll::TypedStorage<8, 24, ::std::vector<uchar>> mColors;
30 ::ll::TypedStorage<4, 4, ::BannerBlockType> mBannerType;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 BannerBlockActor();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual void onPlace(::BlockSource& region) /*override*/;
41
42 virtual void tick(::BlockSource& region) /*override*/;
43
44 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
45
46 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
47
48 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
49
50 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
51
52 virtual ~BannerBlockActor() /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI explicit BannerBlockActor(::BlockPos const& pos);
59
60 MCAPI void setItemValues(::ItemStackBase const& instance);
61 // NOLINTEND
62
63public:
64 // static functions
65 // NOLINTBEGIN
66#ifdef LL_PLAT_C
67 MCAPI static ::BannerBlockType getBannerType(::CompoundTag const* tag);
68#endif
69
70 MCAPI static int getBaseColor(::ItemStack const& item);
71
72#ifdef LL_PLAT_C
73 MCAPI static ::std::string getColors(::CompoundTag const* tag);
74#endif
75
76 MCAPI static int getPatternCount(::CompoundTag const* tagElement);
77
78#ifdef LL_PLAT_C
79 MCAPI static ::std::string getPatterns(::CompoundTag const* tag);
80#endif
81
82 MCAPI static bool isDefaultBanner(::ItemStackBase const& instance);
83
84 MCAPI static void removeLastPattern(::ItemStack& instance);
85
86#ifdef LL_PLAT_C
87 MCAPI static void setBannerDetails(
88 ::ItemStack& instance,
89 int customColor,
90 ::std::string const& patterns,
91 ::std::string const& colors,
92 ::BannerBlockType bannerType
93 );
94#endif
95 // NOLINTEND
96
97public:
98 // static variables
99 // NOLINTBEGIN
100 MCAPI static ::std::string const& TAG_BASE_COLOR();
101
102 MCAPI static ::std::string const& TAG_COLOR();
103
104 MCAPI static ::std::string const& TAG_PATTERN();
105
106 MCAPI static ::std::string const& TAG_PATTERNS();
107
108 MCAPI static ::std::string const& TAG_TYPE();
109 // NOLINTEND
110
111public:
112 // constructor thunks
113 // NOLINTBEGIN
114 MCAPI void* $ctor(::BlockPos const& pos);
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCAPI void $dtor();
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCAPI void $onPlace(::BlockSource& region);
127
128 MCAPI void $tick(::BlockSource& region);
129
130 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
131
132 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
133
134 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
135
136 MCAPI void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
137
138
139 // NOLINTEND
140
141public:
142 // vftables
143 // NOLINTBEGIN
144 MCAPI static void** $vftable();
145 // NOLINTEND
146};
Definition BlockActorDataPacket.h:19
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition ILevel.h:218
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition SaveContext.h:5