LeviLamina
Loading...
Searching...
No Matches
EnchantBookForTradingFunction.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/storage/loot/functions/LootItemFunction.h"
7
8// auto generated forward declare list
9// clang-format off
11class ItemInstance;
12class ItemStack;
15class Random;
16struct Trade;
17namespace Json { class Value; }
18// clang-format on
19
21public:
22 // EnchantBookForTradingFunction inner types declare
23 // clang-format off
24 struct EnchantmentOption;
25 // clang-format on
26
27 // EnchantBookForTradingFunction inner types define
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 32, ::std::string> mEnchantmentName;
33 ::ll::TypedStorage<4, 4, int> mMinLevel;
34 ::ll::TypedStorage<4, 4, int> mMaxLevel;
35 // NOLINTEND
36
37 public:
38 // member functions
39 // NOLINTBEGIN
40 MCAPI ~EnchantmentOption();
41 // NOLINTEND
42
43 public:
44 // destructor thunk
45 // NOLINTBEGIN
46 MCFOLD void $dtor();
47 // NOLINTEND
48 };
49
50public:
51 // member variables
52 // NOLINTBEGIN
53 ::ll::TypedStorage<4, 4, int> mBaseCost;
54 ::ll::TypedStorage<4, 4, int> mRandomBaseCost;
55 ::ll::TypedStorage<4, 4, int> mRandomPerLevelCost;
56 ::ll::TypedStorage<4, 4, int> mPerLevelCost;
57 ::ll::TypedStorage<8, 24, ::std::vector<::EnchantBookForTradingFunction::EnchantmentOption>> mEnchantmentOptions;
58 // NOLINTEND
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ~EnchantBookForTradingFunction() /*override*/ = default;
64
65 virtual void apply(::ItemStack& item, ::Random& random, ::LootTableContext&) /*override*/;
66
67 virtual int
68 apply(::ItemStack& item, ::Random& random, ::Trade const& trade, ::LootTableContext& context) /*override*/;
69
70 virtual void apply(::ItemInstance& item, ::Random& random, ::LootTableContext&) /*override*/;
71
72 virtual int
73 apply(::ItemInstance& item, ::Random& random, ::Trade const& trade, ::LootTableContext& context) /*override*/;
74
75 virtual ::LootItemFunction::FunctionType getFunctionType() const /*override*/;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCAPI ::EnchantmentInstance _getRandomEnchantInstance(::Random& random) const;
82
83 MCAPI ::std::optional<::EnchantmentInstance> _trySelectEnchantmentFromOptions(::Random& random) const;
84 // NOLINTEND
85
86public:
87 // static functions
88 // NOLINTBEGIN
89 MCAPI static ::std::optional<::EnchantBookForTradingFunction::EnchantmentOption>
90 _parseEnchantmentOption(::Json::Value const& enchantOptionData);
91
92 MCAPI static ::std::unique_ptr<::EnchantBookForTradingFunction>
93 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCFOLD void $apply(::ItemStack& item, ::Random& random, ::LootTableContext&);
100
101 MCFOLD int $apply(::ItemStack& item, ::Random& random, ::Trade const& trade, ::LootTableContext& context);
102
103 MCFOLD void $apply(::ItemInstance& item, ::Random& random, ::LootTableContext&);
104
105 MCFOLD int $apply(::ItemInstance& item, ::Random& random, ::Trade const& trade, ::LootTableContext& context);
106
107 MCFOLD ::LootItemFunction::FunctionType $getFunctionType() const;
108
109
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
115 MCNAPI static void** $vftable();
116 // NOLINTEND
117};
Definition EnchantBookForTradingFunction.h:20
static MCAPI void ** $vftable()
Definition EnchantmentInstance.h:8
Definition ItemInstance.h:15
Definition ItemStack.h:26
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:17
Definition LootTableContext.h:20
Definition Random.h:10
STL namespace.
Definition EnchantBookForTradingFunction.h:28
Definition Trade.h:10
Definition context.h:5