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