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