LeviLamina
Loading...
Searching...
No Matches
ItemFrameBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/level/block/ActorBlockBase.h"
8#include "mc/world/level/block/BlockType.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class Block;
15class BlockActor;
16class BlockPos;
17class BlockSource;
19class HashedString;
21class ItemInstance;
23class Player;
24class Vec3;
26namespace BlockEvents { class BlockPlaceEvent; }
27namespace BlockEvents { class BlockPlayerInteractEvent; }
28namespace BlockEvents { class BlockQueuedTickEvent; }
29// clang-format on
30
31class ItemFrameBlock : public ::ActorBlock {
32public:
33 // prevent constructor by default
34 ItemFrameBlock();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ::Block const&
40 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
41 /*override*/;
42
43 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
44
45 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
46
47 virtual ::AABB getCollisionShape(
48 ::Block const&,
50 ::BlockPos const&,
52 ) const /*override*/;
53
54 virtual bool isInteractiveBlock() const /*override*/;
55
56 virtual ::ItemInstance asItemInstance(::Block const& blockActor, ::BlockActor const*) const /*override*/;
57
58 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
59 /*override*/;
60
61 virtual bool attack(::Player* player, ::BlockPos const& pos) const /*override*/;
62
63 virtual bool getIgnoresDestroyPermissions(::Actor& entity, ::BlockPos const& pos) const /*override*/;
64
65 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
66
67 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
68 /*override*/;
69
70 virtual bool hasComparatorSignal() const /*override*/;
71
72 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const
73 /*override*/;
74
75 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
76
77 virtual bool isLavaBlocking() const /*override*/;
78
79 virtual ::HashedString getSpawnedItemName() const;
80
81 virtual void
82 spawnAfterBreak(::BlockSource& region, ::Block const& pos, ::BlockPos const&, ::ResourceDropsContext const&) const
83 /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI ItemFrameBlock(::std::string const& nameId, int id);
90
91 MCAPI int _addMapCollection(
92 ::std::vector<::MapItemSavedData*>& detectionGrid,
93 ::BlockPos const& centerPos,
94 ::BlockSource& region
95 ) const;
96
97 MCAPI void _checkAchievements(::Player& player, ::BlockPos const& currentPos) const;
98
99 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
100
101 MCFOLD void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
102
103 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
104 // NOLINTEND
105
106public:
107 // constructor thunks
108 // NOLINTBEGIN
109 MCAPI void* $ctor(::std::string const& nameId, int id);
110 // NOLINTEND
111
112public:
113 // virtual function thunks
114 // NOLINTBEGIN
115 MCFOLD ::Block const& $getPlacementBlock(
116 ::Actor const& by,
117 ::BlockPos const& pos,
118 uchar face,
119 ::Vec3 const& clickPos,
120 int itemValue
121 ) const;
122
123 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
124
125 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
126
127 MCFOLD ::AABB $getCollisionShape(
128 ::Block const&,
129 ::IConstBlockSource const&,
130 ::BlockPos const&,
132 ) const;
133
134 MCFOLD bool $isInteractiveBlock() const;
135
136 MCAPI ::ItemInstance $asItemInstance(::Block const& blockActor, ::BlockActor const*) const;
137
138 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
139
140 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
141
142 MCAPI bool $getIgnoresDestroyPermissions(::Actor& entity, ::BlockPos const& pos) const;
143
144 MCFOLD void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
145
146 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
147
148 MCFOLD bool $hasComparatorSignal() const;
149
150 MCAPI int $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
151
152 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
153
154 MCFOLD bool $isLavaBlocking() const;
155
156 MCAPI ::HashedString $getSpawnedItemName() const;
157
158 MCAPI void
159 $spawnAfterBreak(::BlockSource& region, ::Block const& pos, ::BlockPos const&, ::ResourceDropsContext const&) const;
160
161
162 // NOLINTEND
163
164public:
165 // vftables
166 // NOLINTBEGIN
167 MCAPI static void** $vftable();
168 // NOLINTEND
169};
Definition AABB.h:18
Definition Actor.h:125
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:18
Definition BlockPlayerInteractEvent.h:20
Definition BlockQueuedTickEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition GetCollisionShapeInterface.h:13
Definition HashedString.h:5
Definition IConstBlockSource.h:24
Definition ItemInstance.h:15
Definition MapItemSavedData.h:32
Definition Player.h:137
Definition Vec3.h:10
Definition optional_ref.h:10
Definition ResourceDropsContext.h:19