LeviLamina
Loading...
Searching...
No Matches
IItemUseTransactionSubject.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/ContainerID.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12class Container;
14class InventoryAction;
15class ItemStack;
17class Vec3;
20// clang-format on
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~IItemUseTransactionSubject() = default;
27
28 virtual bool isAlive() const = 0;
29
30 virtual ::ItemStack unwrapItem(::NetworkItemStackDescriptor const&) const = 0;
31
32 virtual ::Block const& unwrapBlock(uint const&) const = 0;
33
34 virtual ::ItemStack const& getSelectedItem() const = 0;
35
36 virtual void setSelectedItem(::ItemStack const&) = 0;
37
38 virtual ::PlayerInventorySlotData getSelectedSlot() const = 0;
39
40 virtual void setSelectedSlot(int, ::ContainerID) = 0;
41
42 virtual float getMaxPickRange() const = 0;
43
44 virtual ::Vec3 getPosition() const = 0;
45
46 virtual void setPosition(::Vec3 const&) = 0;
47
48 virtual void createTransactionContext(
49 ::std::function<void(::Container&, int, ::ItemStack const&, ::ItemStack const&)>&&,
50 ::std::function<void()>&&
51 ) = 0;
52
53 virtual void addExpectedAction(::InventoryAction const&) = 0;
54
55 virtual bool baseUseItem(::ItemStack&) = 0;
56
57 virtual bool baseUseItemAsAttack(::ItemStack&, ::Vec3 const&) = 0;
58
59 virtual ::InteractionResult
60 useItemOn(::ItemStack&, ::BlockPos const&, uchar, ::Vec3 const&, ::Block const*, bool) = 0;
61
62 virtual void resendBlocksAroundArea(::BlockPos const&, uchar) const = 0;
63
64 virtual void resendPlayerState() const = 0;
65
66 virtual void sendPlayerInventory() const = 0;
67
68 virtual bool isSneaking() const = 0;
69
70 virtual ::Block const& getBlock(::BlockPos const&) const = 0;
71
72 virtual ::Block const& getExtraBlock(::BlockPos const&) const = 0;
73
74 virtual bool isLastBuildBlockInteractive() const = 0;
75
76 virtual void sendBlockInteractedWith(::BlockPos const&) = 0;
77
78 virtual ::DepenetrationComponent& getDepenetrationComponent() = 0;
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84
85 // NOLINTEND
86};
Definition BlockPos.h:19
Definition Block.h:43
Definition Container.h:33
Definition IItemUseTransactionSubject.h:22
Definition InteractionResult.h:5
Definition InventoryAction.h:15
Definition ItemStack.h:26
Definition NetworkItemStackDescriptor.h:17
Definition Vec3.h:10
Definition DepenetrationComponent.h:13
Definition PlayerInventorySlotData.h:8