LeviLamina
Loading...
Searching...
No Matches
ChorusFlowerBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockSupportType.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 Random;
16namespace BlockEvents { class BlockQueuedTickEvent; }
17namespace BlockEvents { class BlockRandomTickEvent; }
18// clang-format on
19
20class ChorusFlowerBlock : public ::BlockType {
21public:
22 // prevent constructor by default
23 ChorusFlowerBlock();
24
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual int getVariant(::Block const& block) const /*override*/;
29
30 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
31
32 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
33 /*override*/;
34
35 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
36
37 virtual bool canProvideSupport(::Block const& face, uchar type, ::BlockSupportType) const /*override*/;
38
39 virtual void onProjectileHit(::BlockSource& region, ::BlockPos const& pos, ::Actor const&) const /*override*/;
40
41 virtual bool isLavaBlocking() const /*override*/;
42 // NOLINTEND
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI ChorusFlowerBlock(::std::string const& nameId, int id);
48
49 MCAPI void _placeDeadFlower(::BlockSource& region, ::BlockPos const& pos) const;
50
51 MCAPI void _placeGrownFlower(::BlockSource& region, ::BlockPos const& pos, int newAge) const;
52
53 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
54
55 MCFOLD void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
56 // NOLINTEND
57
58public:
59 // static functions
60 // NOLINTBEGIN
61 MCAPI static bool _allNeighborsEmpty(::BlockSource& region, ::BlockPos const& pos, uchar ignore);
62
63 MCAPI static void _growTreeRecursive(
64 ::BlockSource& region,
65 ::BlockPos const& current,
66 ::BlockPos const& startPos,
67 ::Random& random,
68 int maxHorizontalSpread,
69 int depth
70 );
71
72 MCAPI static void
73 generatePlant(::BlockSource& region, ::BlockPos const& target, ::Random& random, int maxHorizontalSpread);
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCAPI void* $ctor(::std::string const& nameId, int id);
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCAPI int $getVariant(::Block const& block) const;
86
87 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
88
89 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
90
91 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
92
93 MCFOLD bool $canProvideSupport(::Block const& face, uchar type, ::BlockSupportType) const;
94
95 MCAPI void $onProjectileHit(::BlockSource& region, ::BlockPos const& pos, ::Actor const&) const;
96
97 MCFOLD bool $isLavaBlocking() const;
98
99
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCAPI static void** $vftable();
106 // NOLINTEND
107};
Definition Actor.h:125
Definition BlockQueuedTickEvent.h:18
Definition BlockRandomTickEvent.h:17
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition Random.h:10