LeviLamina
Loading...
Searching...
No Matches
FlowerBedBlock.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/BlockType.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
19class Vec3;
20namespace BlockEvents { class BlockPlayerInteractEvent; }
21namespace BlockEvents { class BlockQueuedTickEvent; }
22// clang-format on
23
24class FlowerBedBlock : public ::BlockType {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<1, 1, bool const> mHasStems;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 FlowerBedBlock();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual int getVariant(::Block const& block) const /*override*/;
39
40 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
41
42 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
43
44 virtual bool canBeBuiltOver(
45 ::Block const& block,
46 ::BlockSource const& region,
47 ::BlockPos const& pos,
48 ::BlockType const& newBlock
49 ) const /*override*/;
50
51 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
52
53 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
54 /*override*/;
55
56 virtual ::Block const& getPlacementBlock(
57 ::Actor const& by,
58 ::BlockPos const& pos,
59 uchar facing,
60 ::Vec3 const& clickPos,
61 int itemValue
62 ) const /*override*/;
63
64 virtual ::AABB getCollisionShape(
65 ::Block const&,
67 ::BlockPos const&,
69 ) const /*override*/;
70
71 virtual bool
72 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
73 /*override*/;
74
75 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
76 /*override*/;
77 // NOLINTEND
78
79public:
80 // member functions
81 // NOLINTBEGIN
82 MCAPI FlowerBedBlock(::std::string const& nameId, int id, bool hasStems, ::std::optional<int> visualHeightTx);
83
84 MCFOLD void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
85
86 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
87 // NOLINTEND
88
89public:
90 // static functions
91 // NOLINTBEGIN
92 MCAPI static bool tryGrow(::BlockSource& region, ::BlockPos const pos);
93 // NOLINTEND
94
95public:
96 // constructor thunks
97 // NOLINTBEGIN
98 MCAPI void* $ctor(::std::string const& nameId, int id, bool hasStems, ::std::optional<int> visualHeightTx);
99 // NOLINTEND
100
101public:
102 // virtual function thunks
103 // NOLINTBEGIN
104 MCFOLD int $getVariant(::Block const& block) const;
105
106 MCFOLD bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
107
108 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
109
110 MCAPI bool $canBeBuiltOver(
111 ::Block const& block,
112 ::BlockSource const& region,
113 ::BlockPos const& pos,
114 ::BlockType const& newBlock
115 ) const;
116
117 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
118
119 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
120
121 MCAPI ::Block const& $getPlacementBlock(
122 ::Actor const& by,
123 ::BlockPos const& pos,
124 uchar facing,
125 ::Vec3 const& clickPos,
126 int itemValue
127 ) const;
128
129 MCFOLD ::AABB $getCollisionShape(
130 ::Block const&,
131 ::IConstBlockSource const&,
132 ::BlockPos const&,
134 ) const;
135
136 MCAPI bool
137 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
138
139 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
140
141
142 // NOLINTEND
143
144public:
145 // vftables
146 // NOLINTBEGIN
147 MCAPI static void** $vftable();
148 // NOLINTEND
149};
Definition AABB.h:18
Definition Actor.h:113
Definition BlockPlayerInteractEvent.h:18
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition Vec3.h:10
Definition optional_ref.h:10