LeviLamina
Loading...
Searching...
No Matches
CraftHandlerTrade.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/inventory/network/ItemStackNetResult.h"
7#include "mc/world/inventory/network/TypedServerNetId.h"
8#include "mc/world/inventory/network/crafting/CraftHandlerBase.h"
9#include "mc/world/inventory/network/crafting/ItemStackRequestActionCraft.h"
10
11// auto generated forward declare list
12// clang-format off
14class ItemStack;
16class MerchantRecipe;
18struct RecipeNetIdTag;
19// clang-format on
20
21class CraftHandlerTrade : public ::CraftHandlerBase {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 8, ::ContainerScreenContext const&> mScreenContext;
26 ::ll::TypedStorage<1, 1, bool> mIsTrade2;
27 ::ll::TypedStorage<8, 16, ::std::optional<uint64>> mTradeIndex;
28 ::ll::TypedStorage<4, 4, int> mNumCrafts;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 CraftHandlerTrade& operator=(CraftHandlerTrade const&);
34 CraftHandlerTrade(CraftHandlerTrade const&);
35 CraftHandlerTrade();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~CraftHandlerTrade() /*override*/ = default;
41
42 virtual ::ItemStackNetResult
43 _handleCraftAction(::ItemStackRequestActionCraftBase const& requestAction) /*override*/;
44
45 virtual ::ItemStackNetResult handleConsumedItem(
46 ::FullContainerName const& openContainerNetId,
47 uchar const slot,
48 ::ItemStack const& consumedItem
49 ) /*override*/;
50
51 virtual void _postCraftRequest(bool const wasSuccess) /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI ::std::tuple<::ItemStackNetResult, ::MerchantRecipe const*>
58 _getMerchantRecipeFromNetId(::RecipeNetId const& tradeRecipeNetId);
59
60 MCAPI ::ItemStackNetResult _handleTrade1(::ItemStackRequestActionCraft<::RecipeNetId, 12> const& requestAction);
61
62 MCAPI ::ItemStackNetResult _initResultItem(::RecipeNetId const& tradeRecipeNetId, uchar numCrafts);
63
64 MCAPI ::ItemStackNetResult _initTrade2Consumes();
65 // NOLINTEND
66
67public:
68 // virtual function thunks
69 // NOLINTBEGIN
70 MCAPI ::ItemStackNetResult $_handleCraftAction(::ItemStackRequestActionCraftBase const& requestAction);
71
72 MCAPI ::ItemStackNetResult $handleConsumedItem(
73 ::FullContainerName const& openContainerNetId,
74 uchar const slot,
75 ::ItemStack const& consumedItem
76 );
77
78 MCAPI void $_postCraftRequest(bool const wasSuccess);
79
80
81 // NOLINTEND
82
83public:
84 // vftables
85 // NOLINTBEGIN
86 MCAPI static void** $vftable();
87 // NOLINTEND
88};
Definition ContainerScreenContext.h:17
static MCAPI void ** $vftable()
Definition ItemStackRequestActionCraftBase.h:16
Definition ItemStackRequestActionCraft.h:6
Definition ItemStack.h:26
Definition MerchantRecipe.h:20
Definition FullContainerName.h:8
Definition RecipeNetIdTag.h:5