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 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI bool checkMobSpawn(::Level& level, ::BlockSource& region, ::BlockPos const& pos) const;
58
59 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
60 // NOLINTEND
61
62public:
63 // static functions
64 // NOLINTBEGIN
65 MCAPI static ::Block const& getFlattenedBlock(::Block const& block, ::BlockActor const& actor);
66 // NOLINTEND
67
68public:
69 // virtual function thunks
70 // NOLINTBEGIN
71 MCAPI ::std::string $buildDescriptionId(::Block const& block) const;
72
73 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
74
75 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
76
77 MCAPI ::Block const& $getPlacementBlock(
78 ::Actor const& by,
79 ::BlockPos const& pos,
80 uchar face,
81 ::Vec3 const& clickPos,
82 int itemValue
83 ) const;
84
85 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const;
86
87
88 // NOLINTEND
89
90public:
91 // vftables
92 // NOLINTBEGIN
93 MCAPI static void** $vftable();
94 // NOLINTEND
95};
Definition AABB.h:18
Definition Actor.h:113
Definition BlockActor.h:29
Definition BlockPlaceEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition Creeper.h:16
Definition Level.h:254
Definition Piglin.h:18
Definition Skeleton.h:20
Definition SkullBlock.h:23
Definition Vec3.h:10
Definition Zombie.h:20