LeviLamina
Loading...
Searching...
No Matches
DoublePlantBaseBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/item/FertilizerType.h"
8#include "mc/world/level/block/FoliageBlock.h"
9#include "mc/world/phys/AABB.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
19class Player;
20namespace BlockEvents { class BlockPlaceEvent; }
21// clang-format on
22
23class DoublePlantBaseBlock : public ::FoliageBlock {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<4, 24, ::AABB> mBottomVisualShape;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 DoublePlantBaseBlock();
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ::Block const* getNextBlockPermutation(::Block const& currentBlock) const /*override*/;
38
39 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
40
41 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
42
43 virtual void checkAlive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
44
45 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
46
47 virtual ::AABB getCollisionShape(
48 ::Block const&,
50 ::BlockPos const&,
52 ) const /*override*/;
53
54 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
55
56 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
57 /*override*/;
58
59 virtual bool getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const
60 /*override*/;
61
62 virtual bool
63 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
64 /*override*/;
65
66 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
67 /*override*/;
68
69 virtual ::Block const& _keepRelevantStateForDropping(::Block const& block) const;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI DoublePlantBaseBlock(::std::string const& nameId, int id);
76
77 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
78 // NOLINTEND
79
80public:
81 // constructor thunks
82 // NOLINTBEGIN
83 MCAPI void* $ctor(::std::string const& nameId, int id);
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCFOLD ::Block const* $getNextBlockPermutation(::Block const& currentBlock) const;
90
91 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
92
93 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
94
95 MCFOLD void $checkAlive(::BlockSource& region, ::BlockPos const& pos) const;
96
97 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
98
99 MCFOLD ::AABB $getCollisionShape(
100 ::Block const&,
101 ::IConstBlockSource const&,
102 ::BlockPos const&,
104 ) const;
105
106 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
107
108 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
109
110 MCFOLD bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
111
112 MCAPI bool
113 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
114
115 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
116
117 MCAPI ::Block const& $_keepRelevantStateForDropping(::Block const& block) const;
118
119
120 // NOLINTEND
121
122public:
123 // vftables
124 // NOLINTBEGIN
125 MCNAPI static void** $vftable();
126 // NOLINTEND
127};
Definition AABB.h:18
Definition Actor.h:113
Definition BlockPlaceEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
static MCAPI void ** $vftable()
Definition FoliageBlock.h:21
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition Player.h:129
Definition optional_ref.h:10