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
35 // NOLINTEND
36
37 public:
38 // prevent constructor by default
39 EnchantmentOption& operator=(EnchantmentOption const&);
42
43 public:
44 // member functions
45 // NOLINTBEGIN
47 // NOLINTEND
48
49 public:
50 // destructor thunk
51 // NOLINTBEGIN
52 MCNAPI void $dtor();
53 // NOLINTEND
54 };
55
56public:
57 // member variables
58 // NOLINTBEGIN
64 // NOLINTEND
65
66public:
67 // prevent constructor by default
71
72public:
73 // virtual functions
74 // NOLINTBEGIN
75 // vIndex: 0
76 virtual ~EnchantBookForTradingFunction() /*override*/ = default;
77
78 // vIndex: 4
79 virtual void apply(::ItemStack& item, ::Random& random, ::LootTableContext&) /*override*/;
80
81 // vIndex: 3
82 virtual int
83 apply(::ItemStack& item, ::Random& random, ::Trade const& trade, ::LootTableContext& context) /*override*/;
84
85 // vIndex: 2
86 virtual void apply(::ItemInstance& item, ::Random& random, ::LootTableContext&) /*override*/;
87
88 // vIndex: 1
89 virtual int
90 apply(::ItemInstance& item, ::Random& random, ::Trade const& trade, ::LootTableContext& context) /*override*/;
91 // NOLINTEND
92
93public:
94 // member functions
95 // NOLINTBEGIN
96 MCNAPI ::EnchantmentInstance _getRandomEnchantInstance(::Random& random) const;
97
98 MCNAPI ::std::optional<::EnchantmentInstance> _trySelectEnchantmentFromOptions(::Random& random) const;
99 // NOLINTEND
100
101public:
102 // static functions
103 // NOLINTBEGIN
104 MCNAPI static ::std::optional<::EnchantBookForTradingFunction::EnchantmentOption>
105 _parseEnchantmentOption(::Json::Value const& enchantOptionData);
106
107 MCNAPI static ::std::unique_ptr<::EnchantBookForTradingFunction>
108 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
109 // NOLINTEND
110
111public:
112 // virtual function thunks
113 // NOLINTBEGIN
114 MCNAPI void $apply(::ItemStack& item, ::Random& random, ::LootTableContext&);
115
116 MCNAPI int $apply(::ItemStack& item, ::Random& random, ::Trade const& trade, ::LootTableContext& context);
117
118 MCNAPI void $apply(::ItemInstance& item, ::Random& random, ::LootTableContext&);
119
120 MCNAPI int $apply(::ItemInstance& item, ::Random& random, ::Trade const& trade, ::LootTableContext& context);
121 // NOLINTEND
122
123public:
124 // vftables
125 // NOLINTBEGIN
126 MCNAPI static void** $vftable();
127 // NOLINTEND
128};
Definition EnchantBookForTradingFunction.h:20
MCAPI int $apply(::ItemStack &item, ::Random &random, ::Trade const &trade, ::LootTableContext &context)
MCAPI int $apply(::ItemInstance &item, ::Random &random, ::Trade const &trade, ::LootTableContext &context)
MCAPI::EnchantmentInstance _getRandomEnchantInstance(::Random &random) const
static MCAPI void ** $vftable()
static MCAPI ::std::unique_ptr<::EnchantBookForTradingFunction > deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition > > &predicates)
MCAPI ::std::optional<::EnchantmentInstance > _trySelectEnchantmentFromOptions(::Random &random) const
MCAPI void $apply(::ItemStack &item, ::Random &random, ::LootTableContext &)
MCAPI void $apply(::ItemInstance &item, ::Random &random, ::LootTableContext &)
static MCAPI ::std::optional<::EnchantBookForTradingFunction::EnchantmentOption > _parseEnchantmentOption(::Json::Value const &enchantOptionData)
Definition EnchantmentInstance.h:8
Definition ItemInstance.h:16
Definition ItemStack.h:25
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:17
Definition LootTableContext.h:20
Definition Random.h:11
Definition EnchantBookForTradingFunction.h:28
Definition Trade.h:5
Definition context.h:5
Definition Alias.h:14