Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ParticleSystemInterfaceProxy.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/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9#include "mc/world/ParticleSystemInterface.h"
10
11// auto generated forward declare list
12// clang-format off
13class CompoundTag;
14class HashedString;
17class OptionRegistry;
18class Particle;
19class ParticleEngine;
21class Vec3;
22// clang-format on
23
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LevelRendererPlayer const>> mLevelRendererPlayer;
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ParticleEngine>> mParticleEngine;
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ParticleSystemEngine>> mParticleSystemEngine;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mViewDistanceSubscription;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mParticleViewDistanceSubscription;
33 ::ll::TypedStorage<4, 4, int> mViewDistance;
34 ::ll::TypedStorage<4, 4, float> mParticleViewDistance;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 ParticleSystemInterfaceProxy();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~ParticleSystemInterfaceProxy() /*override*/ = default;
45
46 virtual float getDistanceToCameraSqr(::Vec3 const& pos) const /*override*/;
47
48 virtual int getViewDistanceChunks() const /*override*/;
49
50 virtual float getParticleViewDistance() const /*override*/;
51
52 virtual ::Particle* instance(
53 ::ParticleType type,
54 ::Vec3 const& pos,
55 ::Vec3 const& dir,
56 int data,
57 ::CompoundTag const* tag
58 ) /*override*/;
59
60 virtual void addParticleEffect(
61 ::HashedString const& effect,
62 ::Vec3 const& emitterPosition,
63 ::MolangVariableMap const& molangVariables
64 ) /*override*/;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCNAPI ParticleSystemInterfaceProxy(
71 ::LevelRendererPlayer const& levelRendererPlayer,
72 ::OptionRegistry& options,
73 ::std::unique_ptr<::ParticleEngine> particleEngine,
74 ::std::unique_ptr<::ParticleSystemEngine> particleSystemEngine
75 );
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCNAPI void* $ctor(
82 ::LevelRendererPlayer const& levelRendererPlayer,
83 ::OptionRegistry& options,
84 ::std::unique_ptr<::ParticleEngine> particleEngine,
85 ::std::unique_ptr<::ParticleSystemEngine> particleSystemEngine
86 );
87 // NOLINTEND
88
89public:
90 // virtual function thunks
91 // NOLINTBEGIN
92 MCNAPI float $getDistanceToCameraSqr(::Vec3 const& pos) const;
93
94 MCNAPI int $getViewDistanceChunks() const;
95
96 MCNAPI float $getParticleViewDistance() const;
97
98 MCNAPI ::Particle*
99 $instance(::ParticleType type, ::Vec3 const& pos, ::Vec3 const& dir, int data, ::CompoundTag const* tag);
100
102 ::HashedString const& effect,
103 ::Vec3 const& emitterPosition,
104 ::MolangVariableMap const& molangVariables
105 );
106 // NOLINTEND
107};
Definition CompoundTag.h:18
Definition HashedString.h:5
Definition LevelRendererPlayer.h:5
Definition MolangVariableMap.h:17
Definition OptionRegistry.h:5
Definition ParticleEngine.h:5
Definition ParticleSystemEngine.h:5
Definition ParticleSystemInterfaceProxy.h:5
MCAPI::Particle * $instance(::ParticleType type, ::Vec3 const &pos, ::Vec3 const &dir, int data, ::CompoundTag const *tag)
MCAPI void $addParticleEffect(::HashedString const &effect, ::Vec3 const &emitterPosition, ::MolangVariableMap const &molangVariables)
MCAPI float $getDistanceToCameraSqr(::Vec3 const &pos) const
MCAPI int $getViewDistanceChunks() const
MCAPI void * $ctor(::LevelRendererPlayer const &levelRendererPlayer, ::OptionRegistry &options, ::std::unique_ptr<::ParticleEngine > particleEngine, ::std::unique_ptr<::ParticleSystemEngine > particleSystemEngine)
MCAPI float $getParticleViewDistance() const
Definition ParticleSystemInterface.h:5
Definition Particle.h:5
Definition Vec3.h:10
STL namespace.