LeviLamina
Loading...
Searching...
No Matches
SetBannerDetailsFunction.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/ItemColor.h"
7#include "mc/world/level/block/BannerBlockType.h"
8#include "mc/world/level/storage/loot/functions/LootItemFunction.h"
9
10// auto generated forward declare list
11// clang-format off
12class ItemInstance;
13class ItemStack;
14class ItemStackBase;
17class Random;
18namespace Json { class Value; }
19// clang-format on
20
22public:
23 // SetBannerDetailsFunction inner types define
24 using Pattern = ::std::pair<uchar, ::ItemColor>;
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 4, ::BannerBlockType> mBannerType;
30 ::ll::TypedStorage<1, 1, ::ItemColor> mBaseColor;
31 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<uchar, ::ItemColor>>> mBannerPatterns;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ~SetBannerDetailsFunction() /*override*/ = default;
38
39 virtual void apply(::ItemStack& item, ::Random& random, ::LootTableContext& context) /*override*/;
40
41 virtual void apply(::ItemInstance& item, ::Random& random, ::LootTableContext& context) /*override*/;
42
43 virtual ::LootItemFunction::FunctionType getFunctionType() const /*override*/;
44 // NOLINTEND
45
46public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI void _apply(::ItemStackBase& item, ::Random& random, ::LootTableContext& context) const;
50 // NOLINTEND
51
52public:
53 // static functions
54 // NOLINTBEGIN
55 MCAPI static void
56 _parseBannerPattern(::std::vector<::std::pair<uchar, ::ItemColor>>& patternVec, ::Json::Value const& object);
57
58 MCAPI static ::std::unique_ptr<::LootItemFunction>
59 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65 MCFOLD void $apply(::ItemStack& item, ::Random& random, ::LootTableContext& context);
66
67 MCFOLD void $apply(::ItemInstance& item, ::Random& random, ::LootTableContext& context);
68
69 MCFOLD ::LootItemFunction::FunctionType $getFunctionType() const;
70
71
72 // NOLINTEND
73
74public:
75 // vftables
76 // NOLINTBEGIN
77 MCNAPI static void** $vftable();
78 // NOLINTEND
79};
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:17
Definition LootTableContext.h:20
Definition Random.h:10
Definition SetBannerDetailsFunction.h:21
static MCAPI void ** $vftable()
Definition context.h:5