LeviLamina
Loading...
Searching...
No Matches
SaplingBlock.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 Actor;
12class Block;
13class BlockPos;
14class BlockSource;
15class Experiments;
16class Random;
17namespace BlockEvents { class BlockRandomTickEvent; }
18// clang-format on
19
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mSingleSaplingTree;
25 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mSingleSaplingTreeWithBeehive;
26 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mQuadrupleSaplingTree;
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 // vIndex: 78
37 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
38
39 // vIndex: 73
40 virtual bool
41 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
42 /*override*/;
43
44 // vIndex: 75
45 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
46 /*override*/;
47
48 // vIndex: 130
49 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
50
51 // vIndex: 0
52 virtual ~SaplingBlock() /*override*/ = default;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI SaplingBlock(
59 ::std::string const& nameId,
60 int id,
61 ::std::optional<::std::string> singleSaplingTree,
62 ::std::optional<::std::string> singleSaplingTreeWithBeehive,
63 ::std::optional<::std::string> quadrupleSaplingTree
64 );
65
66 MCAPI bool _age(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
67
68 MCAPI ::std::optional<::BlockPos>
69 _getQuadrupleSaplingOffset(::BlockSource const& region, ::BlockPos const& pos) const;
70
71 MCAPI bool _placeFeature(
72 ::BlockSource& region,
73 ::BlockPos const& pos,
74 ::std::optional<::BlockPos> quadrupleSaplingOffset,
75 ::std::string const& featureName,
76 ::Random& random
77 ) const;
78
79 MCAPI bool _placeTree(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
80
81 MCAPI void _setBlockNoUpdate(
82 ::BlockSource& region,
83 ::BlockPos const& pos,
84 ::std::optional<::BlockPos> quadrupleSaplingOffset,
85 ::Block const& block
86 ) const;
87
88 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
89 // NOLINTEND
90
91public:
92 // constructor thunks
93 // NOLINTBEGIN
94 MCAPI void* $ctor(
95 ::std::string const& nameId,
96 int id,
97 ::std::optional<::std::string> singleSaplingTree,
98 ::std::optional<::std::string> singleSaplingTreeWithBeehive,
99 ::std::optional<::std::string> quadrupleSaplingTree
100 );
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
107
108 MCAPI bool
109 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
110
111 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
112
113 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
114 // NOLINTEND
115
116public:
117 // vftables
118 // NOLINTBEGIN
119 MCNAPI static void** $vftable();
120 // NOLINTEND
121};
Definition Actor.h:103
Definition BlockRandomTickEvent.h:16
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition FoliageBlock.h:23
Definition Random.h:11
Definition SaplingBlock.h:20
static MCAPI void ** $vftable()
Definition BlockRandomTickEvent.h:13