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