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;
18class Material;
19class Vec3;
20namespace BlockEvents { class BlockQueuedTickEvent; }
21// clang-format on
22
23class FoliageBlock : public ::BlockType {
24public:
25 // prevent constructor by default
26 FoliageBlock();
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
32 /*override*/;
33
34 virtual void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
35
36 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
37
38 virtual ::AABB getCollisionShape(
39 ::Block const& block,
40 ::IConstBlockSource const& region,
41 ::BlockPos const& pos,
43 ) const /*override*/;
44
45 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
46
47 virtual void checkAlive(::BlockSource& region, ::BlockPos const& pos) const;
48
49 virtual ::Block const& setGrowth(
50 ::BlockSource& region,
51 ::BlockPos const& pos,
52 ::Block const& baseBlock,
53 ushort newGrowth,
54 int updateFlags
55 ) const;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI FoliageBlock(::std::string const& nameId, int id, ::Material const& material);
62
63 MCAPI bool growCrops(::BlockSource& region, ::BlockPos const& pos, ::FertilizerType fType) const;
64 // NOLINTEND
65
66public:
67 // static variables
68 // NOLINTBEGIN
69 MCAPI static ::Vec3 const& BUSH_VISUAL_SHAPE_MAX();
70
71 MCAPI static ::Vec3 const& BUSH_VISUAL_SHAPE_MIN();
72 // NOLINTEND
73
74public:
75 // constructor thunks
76 // NOLINTBEGIN
77 MCAPI void* $ctor(::std::string const& nameId, int id, ::Material const& material);
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
84
85 MCAPI void $tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
86
87 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
88
89 MCFOLD ::AABB $getCollisionShape(
90 ::Block const& block,
91 ::IConstBlockSource const& region,
92 ::BlockPos const& pos,
94 ) const;
95
96 MCAPI bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
97
98 MCFOLD void $checkAlive(::BlockSource& region, ::BlockPos const& pos) const;
99
100 MCAPI ::Block const& $setGrowth(
101 ::BlockSource& region,
102 ::BlockPos const& pos,
103 ::Block const& baseBlock,
104 ushort newGrowth,
105 int updateFlags
106 ) const;
107
108
109 // NOLINTEND
110
111public:
112 // vftables
113 // NOLINTBEGIN
114 MCAPI static void** $vftable();
115 // NOLINTEND
116};
Definition AABB.h:18
Definition BlockQueuedTickEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Material.h:8
Definition Vec3.h:10
Definition optional_ref.h:10