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
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class Block;
14class BlockActor;
15class BlockLegacy;
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: 112
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: 79
49 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
50
51 // vIndex: 92
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: 67
57 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
58
59 // vIndex: 23
60 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const /*override*/;
61
62 // vIndex: 131
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 // destructor thunk
85 // NOLINTBEGIN
86
87 // NOLINTEND
88
89public:
90 // virtual function thunks
91 // NOLINTBEGIN
92 MCAPI ::std::string $buildDescriptionId(::Block const& block) const;
93
94 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
95
96 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
97
98 MCAPI ::Block const&
99 $getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue)
100 const;
101
102 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
103
104 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const;
105
106 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
107 // NOLINTEND
108
109public:
110 // vftables
111 // NOLINTBEGIN
112 MCAPI static void** $vftable();
113 // NOLINTEND
114};
Definition AABB.h:16
Definition ActorBlockBase.h:6
Definition Actor.h:104
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Creeper.h:13
Definition Experiments.h:14
Definition Level.h:234
Definition Piglin.h:18
Definition Skeleton.h:19
Definition SkullBlock.h:24
Definition Vec3.h:10
Definition Zombie.h:20