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