Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
FoliageBlock.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 Block;
14class BlockPos;
15class BlockSource;
18namespace BlockEvents { class BlockQueuedTickEvent; }
19// clang-format on
20
21class FoliageBlock : public ::BlockType {
22public:
23 LLAPI FoliageBlock(::std::string const& nameId, int id);
24
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
29 /*override*/;
30
31 virtual void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
32
33 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
34
35 virtual ::AABB getCollisionShape(
36 ::Block const& block,
37 ::IConstBlockSource const& region,
38 ::BlockPos const& pos,
40 ) const /*override*/;
41
42 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
43
44 virtual void checkAlive(::BlockSource& region, ::BlockPos const& pos) const;
45
46 virtual ::Block const& setGrowth(
47 ::BlockSource& region,
48 ::BlockPos const& pos,
49 ::Block const& baseBlock,
50 ushort newGrowth,
51 int updateFlags
52 ) const;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCNAPI bool growCrops(::BlockSource& region, ::BlockPos const& pos, ::FertilizerType fType) const;
59 // NOLINTEND
60
61public:
62 // virtual function thunks
63 // NOLINTBEGIN
64 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
65
66 MCAPI void $tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
67
68 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
69
70 MCFOLD ::AABB $getCollisionShape(
71 ::Block const& block,
72 ::IConstBlockSource const& region,
73 ::BlockPos const& pos,
75 ) const;
76
77 MCFOLD bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
78
79 MCFOLD void $checkAlive(::BlockSource& region, ::BlockPos const& pos) const;
80
81 MCAPI ::Block const& $setGrowth(
82 ::BlockSource& region,
83 ::BlockPos const& pos,
84 ::Block const& baseBlock,
85 ushort newGrowth,
86 int updateFlags
87 ) const;
88
89
90 // NOLINTEND
91
92public:
93 // vftables
94 // NOLINTBEGIN
95 MCNAPI static void** $vftable();
96 // NOLINTEND
97};
Definition AABB.h:18
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
MCAPI bool growCrops(::BlockSource &region, ::BlockPos const &pos, ::FertilizerType fType) const
static MCAPI void ** $vftable()
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition optional_ref.h:10