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) 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 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor*, ::FertilizerType) const
63 /*override*/;
64
65 virtual bool canBeFertilized(::BlockSource&, ::BlockPos const&, ::Block const&) const /*override*/;
66
67 virtual ::Block const& _keepRelevantStateForDropping(::Block const& block) const;
68 // NOLINTEND
69
70public:
71 // member functions
72 // NOLINTBEGIN
73 MCAPI DoublePlantBaseBlock(::std::string const& nameId, int id);
74
75 MCAPI void _preventCreativeDropFromBottomPart(::Player const& player, ::BlockPos const& bottomHalfPos) const;
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) 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 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor*, ::FertilizerType) const;
113
114 MCFOLD bool $canBeFertilized(::BlockSource&, ::BlockPos const&, ::Block const&) const;
115
116 MCAPI ::Block const& $_keepRelevantStateForDropping(::Block const& block) const;
117
118
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCNAPI static void** $vftable();
125 // NOLINTEND
126};
Definition AABB.h:18
Definition Actor.h:125
Definition BlockPlaceEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
static MCAPI void ** $vftable()
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Player.h:137
Definition optional_ref.h:10