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 // virtual functions
24 // NOLINTBEGIN
25 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
26 /*override*/;
27
28 virtual void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
29
30 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
31
32 virtual ::AABB getCollisionShape(
33 ::Block const& block,
34 ::IConstBlockSource const& region,
35 ::BlockPos const& pos,
37 ) const /*override*/;
38
39 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
40
41 virtual void checkAlive(::BlockSource& region, ::BlockPos const& pos) const;
42
43 virtual ::Block const& setGrowth(
44 ::BlockSource& region,
45 ::BlockPos const& pos,
46 ::Block const& baseBlock,
47 ushort newGrowth,
48 int updateFlags
49 ) const;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI bool growCrops(::BlockSource& region, ::BlockPos const& pos, ::FertilizerType fType) const;
56 // NOLINTEND
57
58public:
59 // virtual function thunks
60 // NOLINTBEGIN
61 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
62
63 MCAPI void $tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
64
65 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
66
67 MCFOLD ::AABB $getCollisionShape(
68 ::Block const& block,
69 ::IConstBlockSource const& region,
70 ::BlockPos const& pos,
72 ) const;
73
74 MCFOLD bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
75
76 MCFOLD void $checkAlive(::BlockSource& region, ::BlockPos const& pos) const;
77
78 MCAPI ::Block const& $setGrowth(
79 ::BlockSource& region,
80 ::BlockPos const& pos,
81 ::Block const& baseBlock,
82 ushort newGrowth,
83 int updateFlags
84 ) const;
85
86
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCAPI static void** $vftable();
93 // NOLINTEND
94};
Definition AABB.h:18
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition FoliageBlock.h:21
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition optional_ref.h:10