LeviLamina
Loading...
Searching...
No Matches
LeavesBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/comprehensive/ParticleType.h"
7#include "mc/deps/core/math/Color.h"
8#include "mc/world/level/block/BlockProperty.h"
9#include "mc/world/level/block/BlockRenderLayer.h"
10#include "mc/world/level/block/BlockSupportType.h"
11#include "mc/world/level/block/BlockType.h"
12
13// auto generated forward declare list
14// clang-format off
15class Actor;
16class BaseGameVersion;
17class Block;
18class BlockPos;
19class BlockSource;
20class HashedString;
21class Vec3;
23namespace BlockEvents { class BlockRandomTickEvent; }
25// clang-format on
26
27class LeavesBlock : public ::BlockType {
28public:
29 // LeavesBlock inner types declare
30 // clang-format off
31 struct ParticleParams;
32 // clang-format on
33
34 // LeavesBlock inner types define
36 public:
37 // ParticleParams inner types declare
38 // clang-format off
39 struct BiomeTintedColor;
40 // clang-format on
41
42 // ParticleParams inner types define
44
45 public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<
49 4,
50 20,
51 ::std::variant<::ParticleType, ::mce::Color, ::LeavesBlock::ParticleParams::BiomeTintedColor>>
52 mParticle;
53 ::ll::TypedStorage<4, 4, int> mOneOutOfChance;
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
60 ::ll::TypedStorage<1, 1, bool> mHasTransparentLeaves;
61 ::ll::TypedStorage<8, 8, ::HashedString const&> mSapling;
62 ::ll::TypedStorage<4, 28, ::std::optional<::LeavesBlock::ParticleParams>> mParticleParams;
63 // NOLINTEND
64
65public:
66 // prevent constructor by default
67 LeavesBlock& operator=(LeavesBlock const&);
68 LeavesBlock(LeavesBlock const&);
69 LeavesBlock();
70
71public:
72 // virtual functions
73 // NOLINTBEGIN
74 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
75
76 virtual int getVariant(::Block const& block) const /*override*/;
77
78 virtual bool isSeasonTinted(::Block const& block, ::BlockSource& region, ::BlockPos const& p) const /*override*/;
79
80 virtual ::BlockRenderLayer getRenderLayer(::Block const& region, ::BlockSource& pos, ::BlockPos const&) const
81 /*override*/;
82
83 virtual ::HashedString const& getCullingLayer() const /*override*/;
84
85 virtual void animateTick(::BlockAnimateTickData const& tickData) const /*override*/;
86
87 virtual bool breaksFallingBlocks(::Block const&, ::BaseGameVersion const) const /*override*/;
88
89 virtual ::Block const&
90 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
91 /*override*/;
92
93 virtual void onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context) /*override*/;
94
95 virtual bool canProvideSupport(::Block const&, uchar, ::BlockSupportType) const /*override*/;
96
97 virtual bool canProvideMultifaceSupport(::Block const& block, uchar face) const /*override*/;
98 // NOLINTEND
99
100public:
101 // member functions
102 // NOLINTBEGIN
103 MCAPI LeavesBlock(
104 ::std::string const& nameId,
105 int id,
106 ::HashedString const& sapling,
107 ::std::optional<::LeavesBlock::ParticleParams> particleParams
108 );
109
110 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
111 // NOLINTEND
112
113public:
114 // static functions
115 // NOLINTBEGIN
116#ifdef LL_PLAT_C
117 MCAPI static bool _isDeepLeavesInducing(::Block const& block, ::BlockProperty const& propertyCheck);
118#endif
119 // NOLINTEND
120
121public:
122 // static variables
123 // NOLINTBEGIN
124 MCAPI static ::LeavesBlock::ParticleParams const& BIOME_TINTED_LEAVES_PARTICLE_PARAMS();
125 // NOLINTEND
126
127public:
128 // constructor thunks
129 // NOLINTBEGIN
130 MCAPI void* $ctor(
131 ::std::string const& nameId,
132 int id,
133 ::HashedString const& sapling,
134 ::std::optional<::LeavesBlock::ParticleParams> particleParams
135 );
136 // NOLINTEND
137
138public:
139 // virtual function thunks
140 // NOLINTBEGIN
141 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
142
143 MCAPI int $getVariant(::Block const& block) const;
144
145 MCAPI bool $isSeasonTinted(::Block const& block, ::BlockSource& region, ::BlockPos const& p) const;
146
147 MCAPI ::BlockRenderLayer $getRenderLayer(::Block const& region, ::BlockSource& pos, ::BlockPos const&) const;
148
149 MCAPI ::HashedString const& $getCullingLayer() const;
150
151 MCAPI void $animateTick(::BlockAnimateTickData const& tickData) const;
152
153 MCFOLD bool $breaksFallingBlocks(::Block const&, ::BaseGameVersion const) const;
154
155 MCAPI ::Block const& $getPlacementBlock(
156 ::Actor const& by,
157 ::BlockPos const& pos,
158 uchar face,
159 ::Vec3 const& clickPos,
160 int itemValue
161 ) const;
162
163 MCAPI void $onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context);
164
165 MCFOLD bool $canProvideSupport(::Block const&, uchar, ::BlockSupportType) const;
166
167 MCFOLD bool $canProvideMultifaceSupport(::Block const& block, uchar face) const;
168
169
170 // NOLINTEND
171
172public:
173 // vftables
174 // NOLINTBEGIN
175 MCAPI static void** $vftable();
176 // NOLINTEND
177};
Definition Actor.h:123
Definition BaseGameVersion.h:13
Definition BlockRandomTickEvent.h:17
Definition BlockPos.h:21
Definition BlockSource.h:72
Definition Block.h:69
Definition HashedString.h:5
Definition Vec3.h:10
STL namespace.
Definition BlockAnimateTickData.h:14
Definition BlockGraphicsModeChangeContext.h:5
Definition BlockRandomTickEvent.h:13
Definition LeavesBlock.h:35
Definition context.h:5