Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
WallFoliageBlock.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/FoliageBlock.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
19class Material;
20class Vec3;
21namespace BlockEvents { class BlockEntityFallOnEvent; }
22// clang-format on
23
24class WallFoliageBlock : public ::FoliageBlock {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<4, 4, int> mMaxSizeLevel;
29 ::ll::TypedStorage<1, 1, bool> mIsBonemealable;
30 ::ll::TypedStorage<4, 4, float> mBounciness;
31 ::ll::TypedStorage<4, 4, float> mFallDamageMultiplier;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 WallFoliageBlock();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
42
43 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
44
45 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
46
47 virtual ::Block const&
48 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
49 /*override*/;
50
51 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
52 /*override*/;
53
54 virtual bool
55 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
56 /*override*/;
57
58 virtual float getBounciness(::IConstBlockSource const&, ::BlockPos const&) const /*override*/;
59
60 virtual bool isLavaBlocking() const /*override*/;
61
62 virtual ::AABB getCollisionShape(
63 ::Block const& block,
64 ::IConstBlockSource const& region,
65 ::BlockPos const& pos,
67 ) const /*override*/;
68 // NOLINTEND
69
70public:
71 // member functions
72 // NOLINTBEGIN
74 ::std::string const& nameId,
75 int id,
76 ::Material const& material,
77 int sizeCount,
78 bool isBonemealable,
79 float bounciness,
80 float fallDamageMultiplier
81 );
82
83 MCNAPI void onFallOn(::BlockEvents::BlockEntityFallOnEvent& eventData) const;
84 // NOLINTEND
85
86public:
87 // constructor thunks
88 // NOLINTBEGIN
89 MCNAPI void* $ctor(
90 ::std::string const& nameId,
91 int id,
92 ::Material const& material,
93 int sizeCount,
94 bool isBonemealable,
95 float bounciness,
96 float fallDamageMultiplier
97 );
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCNAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
104
105 MCNAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
106
107 MCNAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
108
109 MCNAPI ::Block const& $getPlacementBlock(
110 ::Actor const& by,
111 ::BlockPos const& pos,
112 uchar face,
113 ::Vec3 const& clickPos,
114 int itemValue
115 ) const;
116
117 MCNAPI bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
118
119 MCNAPI bool
120 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
121
122 MCNAPI float $getBounciness(::IConstBlockSource const&, ::BlockPos const&) const;
123
124 MCNAPI bool $isLavaBlocking() const;
125
126 MCNAPI ::AABB $getCollisionShape(
127 ::Block const& block,
128 ::IConstBlockSource const& region,
129 ::BlockPos const& pos,
131 ) const;
132
133
134 // NOLINTEND
135
136public:
137 // vftables
138 // NOLINTBEGIN
139 MCNAPI static void** $vftable();
140 // NOLINTEND
141};
Definition AABB.h:18
Definition Actor.h:116
Definition BlockEntityFallOnEvent.h:17
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition Material.h:8
Definition Vec3.h:10
MCAPI float $getBounciness(::IConstBlockSource const &, ::BlockPos const &) const
MCAPI bool $onFertilized(::BlockSource &region, ::BlockPos const &pos, ::Actor *actor, ::FertilizerType fType) const
MCAPI bool $canSurvive(::BlockSource &region, ::BlockPos const &pos) const
MCAPI bool $mayPlace(::BlockSource &region, ::BlockPos const &pos, uchar face) const
MCAPI void * $ctor(::std::string const &nameId, int id, ::Material const &material, int sizeCount, bool isBonemealable, float bounciness, float fallDamageMultiplier)
MCAPI bool $isLavaBlocking() const
MCAPI::AABB $getCollisionShape(::Block const &block, ::IConstBlockSource const &region, ::BlockPos const &pos, ::optional_ref<::GetCollisionShapeInterface const > entity) const
MCAPI bool $canBeFertilized(::BlockSource &region, ::BlockPos const &pos, ::Block const &aboveBlock) const
MCAPI bool $mayPlace(::BlockSource &region, ::BlockPos const &pos) const
MCAPI::Block const & $getPlacementBlock(::Actor const &by, ::BlockPos const &pos, uchar face, ::Vec3 const &clickPos, int itemValue) const
MCAPI void onFallOn(::BlockEvents::BlockEntityFallOnEvent &eventData) const
MCAPI WallFoliageBlock(::std::string const &nameId, int id, ::Material const &material, int sizeCount, bool isBonemealable, float bounciness, float fallDamageMultiplier)
static MCAPI void ** $vftable()
Definition optional_ref.h:10