LeviLamina
Loading...
Searching...
No Matches
StemBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/FertilizerType.h"
7#include "mc/world/level/block/FoliageBlock.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class Block;
14class BlockActor;
15class BlockPos;
16class BlockSource;
17class BlockType;
18class Experiments;
19class ItemInstance;
20namespace BlockEvents { class BlockRandomTickEvent; }
21// clang-format on
22
23class StemBlock : public ::FoliageBlock {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::BlockType const&> mFruit;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 StemBlock& operator=(StemBlock const&);
33 StemBlock(StemBlock const&);
34 StemBlock();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
40
41 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
42 /*override*/;
43
44 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
45
46 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
47
48 virtual bool
49 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
50 /*override*/;
51
52 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
53 /*override*/;
54
55 virtual bool isStemBlock() const /*override*/;
56
57 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
58
59 virtual ~StemBlock() /*override*/ = default;
60 // NOLINTEND
61
62public:
63 // member functions
64 // NOLINTBEGIN
65 MCAPI float getGrowthSpeed(::BlockSource& region, ::BlockPos const& pos) const;
66
67 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
68 // NOLINTEND
69
70public:
71 // virtual function thunks
72 // NOLINTBEGIN
73 MCFOLD bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
74
75 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
76
77 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
78
79 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
80
81 MCAPI bool
82 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
83
84 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
85
86 MCFOLD bool $isStemBlock() const;
87
88 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
89
90
91 // NOLINTEND
92
93public:
94 // vftables
95 // NOLINTBEGIN
96 MCAPI static void** $vftable();
97 // NOLINTEND
98};
Definition AABB.h:18
Definition Actor.h:105
Definition BlockActor.h:32
Definition BlockRandomTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockType.h:84
Definition Block.h:43
Definition Experiments.h:14
Definition FoliageBlock.h:23
Definition ItemInstance.h:15