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 MCAPI_C static bool mayPlayerEdit(::Player& player, ::BlockPos const& pos);
86 // NOLINTEND
87
88public:
89 // virtual function thunks
90 // NOLINTBEGIN
91 MCAPI ::AABB const& $getVisualShapeInWorld(
92 ::Block const& block,
93 ::IConstBlockSource const& region,
94 ::BlockPos const& pos,
95 ::AABB& bufferAABB
96 ) const;
97
98 MCAPI ::AABB const& $getOutline(
99 ::Block const& block,
100 ::IConstBlockSource const& region,
101 ::BlockPos const& pos,
102 ::AABB& bufferValue
103 ) const;
104
105 MCFOLD ::AABB $getCollisionShape(
106 ::Block const&,
107 ::IConstBlockSource const&,
108 ::BlockPos const&,
110 ) const;
111
112 MCFOLD bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
113
114 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const* blockActor) const;
115
116 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
117
118 MCFOLD bool $isInteractiveBlock() const;
119
120 MCFOLD int $getVariant(::Block const& block) const;
121
122 MCAPI bool $getIgnoresDestroyPermissions(::Actor& entity, ::BlockPos const& pos) const;
123
124 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
125
126
127 // NOLINTEND
128
129public:
130 // vftables
131 // NOLINTBEGIN
132 MCAPI static void** $vftable();
133 // NOLINTEND
134};
Definition AABB.h:18
Definition Actor.h:105
Definition BlockActor.h:32
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:68
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:125
Definition optional_ref.h:10