LeviLamina
Loading...
Searching...
No Matches
ParticleProvider.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/utility/pub_sub/Publisher.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
14class HashedString;
16class IRandom;
18class Vec3;
21namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
22namespace mce { class Color; }
23// clang-format on
24
25class ParticleProvider {
26public:
27 // ParticleProvider inner types define
28 using AddBiomeTintedParticleFunction =
29 void(::HashedString const&, ::BlockPos const&, ::Block const&, ::std::optional<::mce::Color>);
30
31 using AddBreakingItemParticleFunction =
32 void(::Vec3 const&, ::BreakingItemParticleData const&, ::ResolvedItemIconInfo const&);
33
34 using AddTerrainParticleFunction = void(::BlockPos const&, ::Block const&, ::Vec3 const&, float, float, float);
35
36 using AddTerrainSlideFunction = void(::BlockPos const&, ::Block const&, ::Vec3 const&, float, float, float);
37
38 using SendLegacyParticleFunction = void(::ParticleType, ::Vec3 const&, ::Vec3 const&, int);
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ParticleSystemInterface>> mParticleSystemInterface;
44 ::ll::TypedStorage<
45 8,
46 128,
48 void(::ParticleType, ::Vec3 const&, ::Vec3 const&, int),
50 0>>
51 mSendServerLegacyParticlePublisher;
52 ::ll::TypedStorage<
53 8,
54 128,
56 void(::BlockPos const&, ::Block const&, ::Vec3 const&, float, float, float),
58 0>>
59 mAddTerrainParticleEffectPublisher;
60 ::ll::TypedStorage<
61 8,
62 128,
64 void(::BlockPos const&, ::Block const&, ::Vec3 const&, float, float, float),
66 0>>
67 mAddTerrainSlideEffectPublisher;
68 ::ll::TypedStorage<
69 8,
70 128,
72 void(::Vec3 const&, ::BreakingItemParticleData const&, ::ResolvedItemIconInfo const&),
74 0>>
75 mAddBreakingItemParticleEffectPublisher;
76 ::ll::TypedStorage<
77 8,
78 128,
80 void(::HashedString const&, ::BlockPos const&, ::Block const&, ::std::optional<::mce::Color>),
82 0>>
83 mAddBiomeTintedParticleEffectPublisher;
84 // NOLINTEND
85
86public:
87 // virtual functions
88 // NOLINTBEGIN
89 virtual ~ParticleProvider() = default;
90
91 virtual void addSprintParticleEffect(::Actor const&, ::IConstBlockSource const&, ::IRandom&);
92 // NOLINTEND
93
94public:
95 // member functions
96 // NOLINTBEGIN
97 MCAPI ParticleProvider();
98 // NOLINTEND
99
100public:
101 // constructor thunks
102 // NOLINTBEGIN
103 MCAPI void* $ctor();
104 // NOLINTEND
105
106public:
107 // virtual function thunks
108 // NOLINTBEGIN
109 MCFOLD void $addSprintParticleEffect(::Actor const&, ::IConstBlockSource const&, ::IRandom&);
110
111
112 // NOLINTEND
113
114public:
115 // vftables
116 // NOLINTBEGIN
117 MCNAPI static void** $vftable();
118 // NOLINTEND
119};
Definition Actor.h:105
Definition Publisher.h:8
Definition BlockPos.h:19
Definition Block.h:43
Definition HashedString.h:5
Definition IConstBlockSource.h:25
Definition IRandom.h:13
static MCAPI void ** $vftable()
Definition ParticleSystemInterface.h:17
Definition Vec3.h:10
Definition Color.h:13
Definition BreakingItemParticleData.h:8
Definition ResolvedItemIconInfo.h:8