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 // prevent constructor by default
40 SkullBlock();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ::std::string buildDescriptionId(::Block const& block) const /*override*/;
46
47 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
48
49 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
50
51 virtual ::Block const&
52 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
53 /*override*/;
54
55 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const /*override*/;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI SkullBlock(::std::string const& nameId, int id);
62
63 MCAPI bool checkMobSpawn(::Level& level, ::BlockSource& region, ::BlockPos const& pos) const;
64
65 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
66 // NOLINTEND
67
68public:
69 // static functions
70 // NOLINTBEGIN
71 MCAPI static ::Block const& getFlattenedBlock(::Block const& block, ::BlockActor const& actor);
72 // NOLINTEND
73
74public:
75 // constructor thunks
76 // NOLINTBEGIN
77 MCAPI void* $ctor(::std::string const& nameId, int id);
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCAPI ::std::string $buildDescriptionId(::Block const& block) const;
84
85 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
86
87 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
88
89 MCAPI ::Block const& $getPlacementBlock(
90 ::Actor const& by,
91 ::BlockPos const& pos,
92 uchar face,
93 ::Vec3 const& clickPos,
94 int itemValue
95 ) const;
96
97 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType type) const;
98
99
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCAPI static void** $vftable();
106 // NOLINTEND
107};
Definition AABB.h:18
Definition Actor.h:125
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition Creeper.h:16
Definition Level.h:255
Definition Piglin.h:19
Definition Skeleton.h:20
Definition Vec3.h:10
Definition Zombie.h:20