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