LeviLamina
Loading...
Searching...
No Matches
ChalkboardBlock.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#include "mc/world/level/block/actor/ChalkboardSize.h"
10
11// auto generated forward declare list
12// clang-format off
13class AABB;
14class Actor;
15class Block;
16class BlockActor;
17class BlockPos;
18class BlockSource;
20class Experiments;
23class ItemInstance;
24class Player;
25namespace BlockEvents { class BlockPlayerInteractEvent; }
26// clang-format on
27
28class ChalkboardBlock : public ::ActorBlock {
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ::AABB const& getVisualShapeInWorld(
33 ::Block const& block,
34 ::IConstBlockSource const& region,
35 ::BlockPos const& pos,
36 ::AABB& bufferAABB
37 ) const /*override*/;
38
39 virtual ::AABB const& getOutline(
40 ::Block const& block,
41 ::IConstBlockSource const& region,
42 ::BlockPos const& pos,
43 ::AABB& bufferValue
44 ) const /*override*/;
45
46 virtual ::AABB getCollisionShape(
47 ::Block const&,
49 ::BlockPos const&,
51 ) const /*override*/;
52
53 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
54 /*override*/;
55
56 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const* blockActor) const /*override*/;
57
58 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
59 /*override*/;
60
61 virtual bool isInteractiveBlock() const /*override*/;
62
63 virtual int getVariant(::Block const& block) const /*override*/;
64
65 virtual bool getIgnoresDestroyPermissions(::Actor& entity, ::BlockPos const& pos) const /*override*/;
66
67 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
68
69 virtual ~ChalkboardBlock() /*override*/ = default;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
76 // NOLINTEND
77
78public:
79 // static functions
80 // NOLINTBEGIN
81 MCAPI static ::ChalkboardBlockActor* _getBaseChalkboard(::BlockSource& region, ::BlockPos const& pos);
82
83 MCAPI static void _getShape(::ChalkboardSize size, bool isOnGround, int dir, ::AABB& bufferValue);
84
85#ifdef LL_PLAT_C
86 MCAPI static bool mayPlayerEdit(::Player& player, ::BlockPos const& pos);
87#endif
88 // NOLINTEND
89
90public:
91 // virtual function thunks
92 // NOLINTBEGIN
93 MCAPI ::AABB const& $getVisualShapeInWorld(
94 ::Block const& block,
95 ::IConstBlockSource const& region,
96 ::BlockPos const& pos,
97 ::AABB& bufferAABB
98 ) const;
99
100 MCAPI ::AABB const& $getOutline(
101 ::Block const& block,
102 ::IConstBlockSource const& region,
103 ::BlockPos const& pos,
104 ::AABB& bufferValue
105 ) const;
106
107 MCFOLD ::AABB $getCollisionShape(
108 ::Block const&,
109 ::IConstBlockSource const&,
110 ::BlockPos const&,
112 ) const;
113
114 MCFOLD bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
115
116 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const* blockActor) const;
117
118 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
119
120 MCFOLD bool $isInteractiveBlock() const;
121
122 MCFOLD int $getVariant(::Block const& block) const;
123
124 MCAPI bool $getIgnoresDestroyPermissions(::Actor& entity, ::BlockPos const& pos) const;
125
126 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
127
128
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCAPI static void** $vftable();
135 // NOLINTEND
136};
Definition AABB.h:18
Definition Actor.h:106
Definition BlockActor.h:30
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Block.h:43
Definition ChalkboardBlockActor.h:24
Definition ChalkboardBlock.h:28
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition Player.h:129
Definition optional_ref.h:10