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*/;
38
39 virtual void apply(::ItemStack& item, ::Random& random, ::LootTableContext& context) /*override*/;
40
41 virtual void apply(::ItemInstance& item, ::Random&, ::LootTableContext&) /*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&, ::LootTableContext&) const;
50
51 MCFOLD ::BannerBlockType getBannerType() const;
52
53 MCFOLD ::ItemColor getBaseColor() const;
54
55 MCFOLD ::std::vector<::std::pair<uchar, ::ItemColor>> const& getPatterns() const;
56 // NOLINTEND
57
58public:
59 // static functions
60 // NOLINTBEGIN
61 MCAPI static void
62 _parseBannerPattern(::std::vector<::std::pair<uchar, ::ItemColor>>& patternVec, ::Json::Value const& object);
63
64 MCAPI static ::std::unique_ptr<::LootItemFunction>
65 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
66 // NOLINTEND
67
68public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCAPI void $dtor();
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCFOLD void $apply(::ItemStack& item, ::Random& random, ::LootTableContext& context);
78
79 MCFOLD void $apply(::ItemInstance& item, ::Random&, ::LootTableContext&);
80
81 MCFOLD ::LootItemFunction::FunctionType $getFunctionType() const;
82
83
84 // NOLINTEND
85
86public:
87 // vftables
88 // NOLINTBEGIN
89 MCNAPI static void** $vftable();
90 // NOLINTEND
91};
Definition ItemInstance.h:15
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:17
Definition LootTableContext.h:21
Definition Random.h:10
Definition SetBannerDetailsFunction.h:21
static MCAPI void ** $vftable()
Definition context.h:5