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;
17class Experiments;
20class Player;
21namespace BlockEvents { class BlockPlaceEvent; }
22namespace BlockEvents { class BlockQueuedTickEvent; }
23// clang-format on
24
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 24, ::AABB> mBottomVisualShape;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 // vIndex: 2
40 virtual ::Block const* getNextBlockPermutation(::Block const& currentBlock) const /*override*/;
41
42 // vIndex: 78
43 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
44
45 // vIndex: 79
46 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
47
48 // vIndex: 148
49 virtual void checkAlive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
50
51 // vIndex: 138
52 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
53
54 // vIndex: 147
55 virtual void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const /*override*/;
56
57 // vIndex: 5
58 virtual ::AABB getCollisionShape(
59 ::Block const&,
61 ::BlockPos const&,
63 ) const /*override*/;
64
65 // vIndex: 11
66 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
67
68 // vIndex: 88
69 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
70 /*override*/;
71
72 // vIndex: 87
73 virtual bool getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const
74 /*override*/;
75
76 // vIndex: 73
77 virtual bool
78 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
79 /*override*/;
80
81 // vIndex: 75
82 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
83 /*override*/;
84
85 // vIndex: 150
86 virtual ::Block const& _keepRelevantStateForDropping(::Block const& block) const;
87
88 // vIndex: 130
89 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
90
91 // vIndex: 0
92 virtual ~DoublePlantBaseBlock() /*override*/ = default;
93 // NOLINTEND
94
95public:
96 // member functions
97 // NOLINTBEGIN
98 MCAPI DoublePlantBaseBlock(::std::string const& nameId, int id);
99
100 MCAPI void _preventCreativeDropFromBottomPart(::Player const& player, ::BlockPos const& bottomHalfPos) const;
101
102 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
103 // NOLINTEND
104
105public:
106 // constructor thunks
107 // NOLINTBEGIN
108 MCAPI void* $ctor(::std::string const& nameId, int id);
109 // NOLINTEND
110
111public:
112 // virtual function thunks
113 // NOLINTBEGIN
114 MCFOLD ::Block const* $getNextBlockPermutation(::Block const& currentBlock) const;
115
116 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
117
118 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
119
120 MCFOLD void $checkAlive(::BlockSource& region, ::BlockPos const& pos) const;
121
122 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
123
124 MCFOLD void $tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
125
126 MCFOLD ::AABB $getCollisionShape(
127 ::Block const&,
128 ::IConstBlockSource const&,
129 ::BlockPos const&,
131 ) const;
132
133 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
134
135 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
136
137 MCFOLD bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
138
139 MCAPI bool
140 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
141
142 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
143
144 MCAPI ::Block const& $_keepRelevantStateForDropping(::Block const& block) const;
145
146 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
147 // NOLINTEND
148
149public:
150 // vftables
151 // NOLINTBEGIN
152 MCNAPI static void** $vftable();
153 // NOLINTEND
154};
Definition AABB.h:18
Definition Actor.h:103
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition DoublePlantBaseBlock.h:25
static MCAPI void ** $vftable()
Definition Experiments.h:14
Definition FoliageBlock.h:23
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Player.h:119
Definition optional_ref.h:10