LeviLamina
Loading...
Searching...
No Matches
ItemUseInventoryTransaction.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/platform/Result.h"
8#include "mc/util/BidirectionalUnorderedMap.h"
9#include "mc/world/inventory/transaction/ComplexInventoryTransaction.h"
10#include "mc/world/inventory/transaction/InventoryTransactionError.h"
11#include "mc/world/item/HandSlot.h"
12#include "mc/world/item/NetworkItemStackDescriptor.h"
13#include "mc/world/level/BlockPos.h"
14
15// auto generated forward declare list
16// clang-format off
17class BinaryStream;
18class BlockPalette;
19class ItemStack;
20class Player;
22// clang-format on
23
24class ItemUseInventoryTransaction : public ::ComplexInventoryTransaction {
25public:
26 // ItemUseInventoryTransaction inner types define
27 enum class ActionType : int {
28 Place = 0,
29 Use = 1,
30 Destroy = 2,
31 UseAsAttack = 3,
32 };
33
34 enum class ClientCooldownState : uchar {
35 Off = 0,
36 On = 1,
37 };
38
39 enum class PredictedResult : uchar {
40 Failure = 0,
41 Success = 1,
42 };
43
44 enum class TriggerType : uchar {
45 Unknown = 0,
46 PlayerInput = 1,
47 SimulationTick = 2,
48 };
49
50public:
51 // member variables
52 // NOLINTBEGIN
53 ::ll::TypedStorage<4, 4, ::ItemUseInventoryTransaction::ActionType> mActionType;
54 ::ll::TypedStorage<1, 1, ::ItemUseInventoryTransaction::TriggerType> mTriggerType;
55 ::ll::TypedStorage<4, 12, ::BlockPos> mPos;
56 ::ll::TypedStorage<4, 4, uint> mTargetBlockId;
57 ::ll::TypedStorage<1, 1, uchar> mFace;
58 ::ll::TypedStorage<4, 4, int> mSlot;
59 ::ll::TypedStorage<1, 1, ::HandSlot> mHand;
60 ::ll::TypedStorage<8, 96, ::NetworkItemStackDescriptor> mItem;
61 ::ll::TypedStorage<4, 12, ::Vec3> mFromPos;
62 ::ll::TypedStorage<4, 12, ::Vec3> mClickPos;
63 ::ll::TypedStorage<1, 1, ::ItemUseInventoryTransaction::PredictedResult> mClientPredictedResult;
64 ::ll::TypedStorage<1, 1, ::ItemUseInventoryTransaction::ClientCooldownState> mClientCooldownState;
65 // NOLINTEND
66
67public:
68 // prevent constructor by default
69 ItemUseInventoryTransaction();
70
71public:
72 // virtual functions
73 // NOLINTBEGIN
74 virtual ~ItemUseInventoryTransaction() /*override*/;
75
76 virtual ::Bedrock::Result<void> read(::ReadOnlyBinaryStream& stream) /*override*/;
77
78 virtual void write(::BinaryStream& stream) const /*override*/;
79
80 virtual void postLoadItems(::BlockPalette& blockPalette, bool isClientSide) /*override*/;
81
82 virtual void onTransactionError(::Player& player, ::InventoryTransactionError error) const /*override*/;
83
84 virtual ::InventoryTransactionError handle(::Player& player, bool isSenderAuthority) const /*override*/;
85 // NOLINTEND
86
87public:
88 // member functions
89 // NOLINTBEGIN
90 MCAPI ItemUseInventoryTransaction(::ItemUseInventoryTransaction const& transaction);
91
92 MCAPI ::ItemUseInventoryTransaction& operator=(::ItemUseInventoryTransaction const&);
93
94 MCAPI ::ItemUseInventoryTransaction& setSelectedItem(::ItemStack const& item);
95 // NOLINTEND
96
97public:
98 // static functions
99 // NOLINTBEGIN
100 MCAPI static void resendBlocksAroundArea(::Player& player, ::BlockPos const& pos, uchar facing);
101
102 MCAPI static void resendPlayerState(::Player& player);
103 // NOLINTEND
104
105public:
106 // static variables
107 // NOLINTBEGIN
108 MCAPI static ::BidirectionalUnorderedMap<::ItemUseInventoryTransaction::ActionType, ::std::string> const&
109 actionTypeMap();
110 // NOLINTEND
111
112public:
113 // constructor thunks
114 // NOLINTBEGIN
115 MCAPI void* $ctor(::ItemUseInventoryTransaction const& transaction);
116 // NOLINTEND
117
118public:
119 // destructor thunk
120 // NOLINTBEGIN
121 MCAPI void $dtor();
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI ::Bedrock::Result<void> $read(::ReadOnlyBinaryStream& stream);
128
129 MCAPI void $write(::BinaryStream& stream) const;
130
131 MCFOLD void $postLoadItems(::BlockPalette& blockPalette, bool isClientSide);
132
133 MCAPI void $onTransactionError(::Player& player, ::InventoryTransactionError error) const;
134
135 MCAPI ::InventoryTransactionError $handle(::Player& player, bool isSenderAuthority) const;
136
137
138 // NOLINTEND
139
140public:
141 // vftables
142 // NOLINTBEGIN
143 MCNAPI static void** $vftable();
144 // NOLINTEND
145};
146
147// free functions
148// NOLINTBEGIN
149MCAPI bool operator==(::ItemUseInventoryTransaction const& lhs, ::ItemUseInventoryTransaction const& rhs);
150// NOLINTEND
Definition BinaryStream.h:10
Definition BlockPalette.h:18
Definition BlockPos.h:17
Definition ComplexInventoryTransaction.h:20
Definition ItemStack.h:26
Definition ItemUseInventoryTransaction.h:24
static MCAPI void ** $vftable()
Definition Player.h:129
Definition ReadOnlyBinaryStream.h:8