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