LeviLamina
Loading...
Searching...
No Matches
MerchantRecipeList.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/inventory/network/TypedServerNetId.h"
7
8// auto generated forward declare list
9// clang-format off
10class CompoundTag;
11class ItemInstance;
12class MerchantRecipe;
13class SaveContext;
14struct RecipeNetIdTag;
15// clang-format on
16
17class MerchantRecipeList {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 24, ::std::vector<::MerchantRecipe>> mRecipeList;
22 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mTierExpRequirements;
23 // NOLINTEND
24
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual ~MerchantRecipeList() = default;
29
30 virtual ::MerchantRecipe* getRecipeFor(::ItemInstance const& buyA, ::ItemInstance const& buyB, int selectionHint);
31
32 virtual void addIfNewOrBetter(::MerchantRecipe* toMatch);
33
34 virtual ::MerchantRecipe*
35 getMatchingRecipeFor(::ItemInstance const& buyA, ::ItemInstance const& buyB, ::ItemInstance const& sell);
36
37 virtual ::MerchantRecipe* getMatchingRecipeFor(::MerchantRecipe const& recipe);
38
39 virtual void load(::CompoundTag const& tag);
40
41 virtual ::std::unique_ptr<::CompoundTag> createTag(bool includeNetInfo, ::SaveContext const& saveContext) const;
42 // NOLINTEND
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI MerchantRecipeList();
48
49 MCAPI void assignNetIds();
50
51 MCAPI ::MerchantRecipe const* getRecipeByNetId(::RecipeNetId const& netId) const;
52
53 MCAPI ::std::optional<uint64> getRecipeIndexByNetId(::RecipeNetId const& netId) const;
54 // NOLINTEND
55
56public:
57 // constructor thunks
58 // NOLINTBEGIN
59 MCAPI void* $ctor();
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65 MCAPI ::MerchantRecipe* $getRecipeFor(::ItemInstance const& buyA, ::ItemInstance const& buyB, int selectionHint);
66
67 MCAPI void $addIfNewOrBetter(::MerchantRecipe* toMatch);
68
69 MCAPI ::MerchantRecipe*
70 $getMatchingRecipeFor(::ItemInstance const& buyA, ::ItemInstance const& buyB, ::ItemInstance const& sell);
71
72 MCAPI ::MerchantRecipe* $getMatchingRecipeFor(::MerchantRecipe const& recipe);
73
74 MCAPI void $load(::CompoundTag const& tag);
75
76 MCAPI ::std::unique_ptr<::CompoundTag> $createTag(bool includeNetInfo, ::SaveContext const& saveContext) const;
77
78
79 // NOLINTEND
80
81public:
82 // vftables
83 // NOLINTBEGIN
84 MCNAPI static void** $vftable();
85 // NOLINTEND
86};
Definition CompoundTag.h:23
Definition ItemInstance.h:15
static MCAPI void ** $vftable()
Definition MerchantRecipe.h:20
Definition SaveContext.h:5
Definition RecipeNetIdTag.h:5