Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
PlayerTransactionSubject.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/copyable_function.h"
7#include "mc/platform/brstd/function_ref.h"
8#include "mc/world/ContainerID.h"
9#include "mc/world/gamemode/entity_attack/ValidationMode.h"
10#include "mc/world/inventory/transaction/IItemUseTransactionSubject.h"
11#include "mc/world/item/HandSlot.h"
12
13// auto generated forward declare list
14// clang-format off
15class Block;
16class BlockPos;
17class Container;
18class Experiments;
20class InventoryAction;
21class ItemStack;
23class Vec3;
26// clang-format on
27
28class PlayerTransactionSubject : public ::IItemUseTransactionSubject {
29public:
30 // member variables
31 // NOLINTBEGIN
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 PlayerTransactionSubject& operator=(PlayerTransactionSubject const&);
38 PlayerTransactionSubject(PlayerTransactionSubject const&);
39 PlayerTransactionSubject();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual void setSelectedSlot(int slot, ::ContainerID containerId) /*override*/;
45
46 virtual bool isAlive() const /*override*/;
47
48 virtual ::ItemStack unwrapItem(::NetworkItemStackDescriptor const& item) const /*override*/;
49
50 virtual ::ItemStack const& getItemInHandSlot(::HandSlot const slot) const /*override*/;
51
52 virtual void setItemInHandSlot(::HandSlot const slot, ::ItemStack const& item) /*override*/;
53
54 virtual ::PlayerInventorySlotData getSelectedSlot() const /*override*/;
55
56 virtual float getMaxPickRange() const /*override*/;
57
58 virtual ::Vec3 getPosition() const /*override*/;
59
60 virtual void setPosition(::Vec3 const& position) /*override*/;
61
62 virtual void createTransactionContext(
63 ::HandSlot handSlot,
64 ::brstd::copyable_function<void(::Container&, int, ::ItemStack const&, ::ItemStack const&)> callback,
65 ::brstd::function_ref<void()> execute
66 ) /*override*/;
67
68 virtual void addExpectedAction(::InventoryAction const& action) /*override*/;
69
70 virtual bool baseUseItem(::ItemStack& item, ::HandSlot const handSlot) /*override*/;
71
72 virtual bool
73 baseUseItemAsAttack(::ItemStack& item, ::Vec3 const& aimDirection, ::HandSlot const handSlot) /*override*/;
74
75 virtual ::InteractionResult useItemOn(
76 ::ItemStack& item,
77 ::BlockPos const& at,
78 uchar face,
79 ::Vec3 const& hit,
80 ::HandSlot const handSlot,
81 ::Block const* targetBlock,
82 bool isFirstEvent
83 ) /*override*/;
84
85 virtual void resendBlocksAroundArea(::BlockPos const& pos, uchar facing) const /*override*/;
86
87 virtual void resendPlayerState() const /*override*/;
88
89 virtual void sendPlayerInventory() const /*override*/;
90
91 virtual bool isSneaking() const /*override*/;
92
93 virtual ::Block const& unwrapBlock(uint const& block) const /*override*/;
94
95 virtual ::Block const& getBlock(::BlockPos const& pos) const /*override*/;
96
97 virtual ::Block const& getExtraBlock(::BlockPos const& pos) const /*override*/;
98
99 virtual bool isLastBuildBlockInteractive() const /*override*/;
100
101 virtual void sendBlockInteractedWith(::BlockPos const& pos) /*override*/;
102
103 virtual ::DepenetrationComponent& getDepenetrationComponent() /*override*/;
104
105 virtual ::Experiments const& getExperiments() const /*override*/;
106
107 virtual ::EntityAttack::ValidationMode getEntityAttackRequestCompatibilityMode() const /*override*/;
108 // NOLINTEND
109
110public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCNAPI void $setSelectedSlot(int slot, ::ContainerID containerId);
114
115 MCNAPI bool $isAlive() const;
116
117 MCNAPI ::ItemStack $unwrapItem(::NetworkItemStackDescriptor const& item) const;
118
119 MCNAPI ::ItemStack const& $getItemInHandSlot(::HandSlot const slot) const;
120
121 MCNAPI void $setItemInHandSlot(::HandSlot const slot, ::ItemStack const& item);
122
123 MCNAPI ::PlayerInventorySlotData $getSelectedSlot() const;
124
125 MCNAPI float $getMaxPickRange() const;
126
127 MCNAPI ::Vec3 $getPosition() const;
128
129 MCNAPI void $setPosition(::Vec3 const& position);
130
132 ::HandSlot handSlot,
133 ::brstd::copyable_function<void(::Container&, int, ::ItemStack const&, ::ItemStack const&)> callback,
134 ::brstd::function_ref<void()> execute
135 );
136
137 MCNAPI void $addExpectedAction(::InventoryAction const& action);
138
139 MCAPI bool $baseUseItem(::ItemStack& item, ::HandSlot const handSlot);
140
141 MCNAPI bool $baseUseItemAsAttack(::ItemStack& item, ::Vec3 const& aimDirection, ::HandSlot const handSlot);
142
143 MCNAPI ::InteractionResult $useItemOn(
144 ::ItemStack& item,
145 ::BlockPos const& at,
146 uchar face,
147 ::Vec3 const& hit,
148 ::HandSlot const handSlot,
149 ::Block const* targetBlock,
150 bool isFirstEvent
151 );
152
153 MCNAPI void $resendBlocksAroundArea(::BlockPos const& pos, uchar facing) const;
154
155 MCNAPI void $resendPlayerState() const;
156
157 MCNAPI void $sendPlayerInventory() const;
158
159 MCNAPI bool $isSneaking() const;
160
161 MCNAPI ::Block const& $unwrapBlock(uint const& block) const;
162
163 MCNAPI ::Block const& $getBlock(::BlockPos const& pos) const;
164
165 MCNAPI ::Block const& $getExtraBlock(::BlockPos const& pos) const;
166
167 MCNAPI bool $isLastBuildBlockInteractive() const;
168
169 MCNAPI void $sendBlockInteractedWith(::BlockPos const& pos);
170
171 MCNAPI ::DepenetrationComponent& $getDepenetrationComponent();
172
173 MCNAPI ::Experiments const& $getExperiments() const;
174
175 MCNAPI ::EntityAttack::ValidationMode $getEntityAttackRequestCompatibilityMode() const;
176
177
178 // NOLINTEND
179};
Definition BlockPos.h:14
Definition Block.h:42
Definition Container.h:36
Definition Experiments.h:14
Definition IItemUseTransactionSubject.h:27
Definition InteractionResult.h:5
Definition InventoryAction.h:15
Definition ItemStack.h:26
Definition NetworkItemStackDescriptor.h:17
MCAPI void $setPosition(::Vec3 const &position)
MCAPI void $addExpectedAction(::InventoryAction const &action)
MCAPI bool $isAlive() const
MCAPI void $resendBlocksAroundArea(::BlockPos const &pos, uchar facing) const
MCAPI::EntityAttack::ValidationMode $getEntityAttackRequestCompatibilityMode() const
MCAPI::Block const & $getBlock(::BlockPos const &pos) const
MCAPI::Experiments const & $getExperiments() const
MCAPI void $createTransactionContext(::HandSlot handSlot, ::brstd::copyable_function< void(::Container &, int, ::ItemStack const &, ::ItemStack const &)> callback, ::brstd::function_ref< void()> execute)
MCAPI void $setItemInHandSlot(::HandSlot const slot, ::ItemStack const &item)
MCAPI void $sendPlayerInventory() const
MCAPI void $setSelectedSlot(int slot, ::ContainerID containerId)
MCAPI::ItemStack const & $getItemInHandSlot(::HandSlot const slot) const
MCAPI bool $baseUseItemAsAttack(::ItemStack &item, ::Vec3 const &aimDirection, ::HandSlot const handSlot)
MCAPI::DepenetrationComponent & $getDepenetrationComponent()
MCAPI bool $isSneaking() const
MCAPI float $getMaxPickRange() const
MCAPI::Block const & $unwrapBlock(uint const &block) const
MCAPI::Block const & $getExtraBlock(::BlockPos const &pos) const
MCAPI void $resendPlayerState() const
MCAPI::InteractionResult $useItemOn(::ItemStack &item, ::BlockPos const &at, uchar face, ::Vec3 const &hit, ::HandSlot const handSlot, ::Block const *targetBlock, bool isFirstEvent)
MCAPI void $sendBlockInteractedWith(::BlockPos const &pos)
MCAPI bool $isLastBuildBlockInteractive() const
MCAPI::PlayerInventorySlotData $getSelectedSlot() const
MCAPI::Vec3 $getPosition() const
MCAPI::ItemStack $unwrapItem(::NetworkItemStackDescriptor const &item) const
Definition Vec3.h:10
Definition copyable_function.h:8
Definition function_ref.h:60
Definition DepenetrationComponent.h:13
Definition PlayerInventorySlotData.h:8
Definition Alias.h:14