LeviLamina
Loading...
Searching...
No Matches
NyliumBlock.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/BlockType.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
14class BlockSource;
15class Experiments;
16class Random;
17class Randomize;
18namespace BlockEvents { class BlockRandomTickEvent; }
19// clang-format on
20
21class NyliumBlock : public ::BlockType {
22public:
23 // NyliumBlock inner types declare
24 // clang-format off
27 // clang-format on
28
29 // NyliumBlock inner types define
31
33
34 using RandomPlantProvider = ::std::function<::Block const&(::Randomize const&)>;
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
40 /*override*/;
41
42 virtual bool
43 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* entity, ::FertilizerType fType) const
44 /*override*/;
45
46 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
47
48 virtual ~NyliumBlock() /*override*/ = default;
49 // NOLINTEND
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI bool _scatterVegetation(
55 ::BlockSource& region,
56 ::BlockPos const& pos,
57 ::Random& random,
58 ::std::function<::Block const&(::Randomize const&)> plantProvider
59 ) const;
60
61 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
62 // NOLINTEND
63
64public:
65 // static functions
66 // NOLINTBEGIN
67 MCAPI static bool canBeNylium(::BlockSource const& region, ::BlockPos const& pos);
68
69 MCAPI static ::Block const& crimsonBlockProvider(::Randomize const& randomize);
70
71 MCAPI static ::Block const& netherSproutBlockProvider(::Randomize const& randomize);
72
73 MCAPI static ::Block const& warpedBlockProvider(::Randomize const& randomize);
74 // NOLINTEND
75
76public:
77 // virtual function thunks
78 // NOLINTBEGIN
79 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
80
81 MCAPI bool
82 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* entity, ::FertilizerType fType) const;
83
84 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
85
86
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCNAPI static void** $vftable();
93 // NOLINTEND
94};
Definition Actor.h:105
Definition BlockRandomTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Experiments.h:14
Definition NyliumBlock.h:21
static MCAPI void ** $vftable()
Definition Random.h:10
Definition Randomize.h:13