LeviLamina
Loading...
Searching...
No Matches
SkullBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/ActorBlockBase.h"
7#include "mc/world/level/block/BlockSupportType.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;
18class Level;
19class Vec3;
20namespace BlockEvents { class BlockPlaceEvent; }
21// clang-format on
22
23class SkullBlock : public ::ActorBlock {
24public:
25 // SkullBlock inner types define
26 enum class SkullType : int {
27 Unset = -1,
28 Skeleton = 0,
29 Wither = 1,
30 Zombie = 2,
31 Char = 3,
32 Creeper = 4,
33 Dragon = 5,
34 Piglin = 6,
35 Count = 7,
36 };
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ::std::string buildDescriptionId(::Block const& block) const /*override*/;
42
43 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
44
45 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
46
47 virtual ::Block const&
48 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
49 /*override*/;
50
51 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const /*override*/;
52
53 virtual ~SkullBlock() /*override*/ = default;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI bool checkMobSpawn(::Level& level, ::BlockSource& region, ::BlockPos const& pos) const;
60
61 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
62 // NOLINTEND
63
64public:
65 // static functions
66 // NOLINTBEGIN
67 MCAPI static ::Block const& getFlattenedBlock(::Block const& block, ::BlockActor const& actor);
68 // NOLINTEND
69
70public:
71 // virtual function thunks
72 // NOLINTBEGIN
73 MCAPI ::std::string $buildDescriptionId(::Block const& block) const;
74
75 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
76
77 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
78
79 MCAPI ::Block const& $getPlacementBlock(
80 ::Actor const& by,
81 ::BlockPos const& pos,
82 uchar face,
83 ::Vec3 const& clickPos,
84 int itemValue
85 ) const;
86
87 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const;
88
89
90 // NOLINTEND
91
92public:
93 // vftables
94 // NOLINTBEGIN
95 MCAPI static void** $vftable();
96 // NOLINTEND
97};
Definition AABB.h:18
Definition Actor.h:106
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Block.h:43
Definition Creeper.h:13
Definition Level.h:250
Definition Piglin.h:19
Definition Skeleton.h:20
Definition SkullBlock.h:23
Definition Vec3.h:10
Definition Zombie.h:20