Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
DataDrivenRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/actor/ActorRenderer.h"
7#include "mc/client/renderer/actor/DataDrivenRendererLifecycle.h"
8#include "mc/deps/core/container/small_vector_base.h"
9#include "mc/deps/core/string/HashedString.h"
10#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
11#include "mc/util/molang/ExpressionNode.h"
12
13// auto generated forward declare list
14// clang-format off
15class AABB;
16class Actor;
17class ActorRenderData;
22class RenderParams;
23class Vec3;
24namespace mce { class TextureGroup; }
25// clang-format on
26
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::DataDrivenRenderer_tempComponent>>> mTempComponents;
32 ::ll::TypedStorage<8, 48, ::HashedString const> mName;
33 ::ll::TypedStorage<1, 1, bool const> mIsAttachable;
34 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mDefaultSkin;
35 ::ll::TypedStorage<8, 16, ::ExpressionNode> mUpdateBonesAndEffectsIfOffScreen;
36 ::ll::TypedStorage<8, 16, ::ExpressionNode> mUpdateEffectsIfOffScreen;
37 ::ll::TypedStorage<8, 16, ::ExpressionNode> mHideHeldItems;
38 ::ll::TypedStorage<4, 4, ::DataDrivenRendererLifecycle const> mLifecycle;
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 DataDrivenRenderer();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual void getLeashOffsets(
49 ::Actor& actor,
50 float,
51 float,
52 float,
53 bool legacyOffset,
54 ::Bedrock::small_vector_base<::Vec3>& output
55 ) const /*override*/;
56
57 virtual void render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData) /*override*/;
58
59 virtual void
60 renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData) /*override*/;
61
62 virtual ::AABB getRenderBounds(::Actor const& entity) const /*override*/;
63
64 virtual void addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup) /*override*/;
65
66 virtual void setIsOnScreen(::Actor& actor, bool const isOnScreen, float distance) const /*override*/;
67
68 virtual bool shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams& renderParams) const /*override*/;
69
70 virtual bool shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams) const /*override*/;
71
72 virtual bool shouldHideHeldItems(::RenderParams& renderParams) const /*override*/;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
79 ::std::shared_ptr<::ActorResourceDefinition> definition,
80 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
81 ::DataDrivenRendererLifecycle lifecycle
82 );
83
85
86 MCNAPI void addHumanoidAdditionalRendering(::std::shared_ptr<::mce::TextureGroup> textureGroup);
87
88 MCNAPI void addMinecartAdditionalRendering(::BlockTessellator& commonBlockRenderer);
89 // NOLINTEND
90
91public:
92 // static functions
93 // NOLINTBEGIN
94 MCNAPI static void getLeashOffsets(::Actor& actor, bool legacyOffset, ::Bedrock::small_vector_base<::Vec3>& output);
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCNAPI void* $ctor(
101 ::std::shared_ptr<::ActorResourceDefinition> definition,
102 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
103 ::DataDrivenRendererLifecycle lifecycle
104 );
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCNAPI void $getLeashOffsets(
111 ::Actor& actor,
112 float,
113 float,
114 float,
115 bool legacyOffset,
117 ) const;
118
119 MCAPI void $render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
120
121 MCNAPI void $renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
122
123 MCNAPI ::AABB $getRenderBounds(::Actor const& entity) const;
124
125 MCNAPI void $addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup);
126
127 MCNAPI void $setIsOnScreen(::Actor& actor, bool const isOnScreen, float distance) const;
128
130
131 MCNAPI bool $shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams) const;
132
133 MCNAPI bool $shouldHideHeldItems(::RenderParams& renderParams) const;
134 // NOLINTEND
135};
Definition AABB.h:18
Definition ActorRenderData.h:5
Definition ActorRenderer.h:5
Definition ActorResourceDefinition.h:5
Definition Actor.h:116
Definition BaseActorRenderContext.h:5
Definition small_vector_base.h:10
Definition BlockTessellator.h:5
Definition DataDrivenRenderer_tempComponent.h:5
Definition DataDrivenRenderer.h:5
static MCAPI void getLeashOffsets(::Actor &actor, bool legacyOffset, ::Bedrock::small_vector_base<::Vec3 > &output)
MCAPI void * $ctor(::std::shared_ptr<::ActorResourceDefinition > definition, ::std::shared_ptr<::mce::TextureGroup > textureGroup, ::DataDrivenRendererLifecycle lifecycle)
MCAPI void $setIsOnScreen(::Actor &actor, bool const isOnScreen, float distance) const
MCAPI void addMinecartAdditionalRendering(::BlockTessellator &commonBlockRenderer)
MCAPI::AABB $getRenderBounds(::Actor const &entity) const
MCAPI void $addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup > textureGroup)
MCAPI bool $shouldUpdateEffectsIfOffScreen(::RenderParams &renderParams) const
MCAPI void $renderEffects(::BaseActorRenderContext &renderContext, ::ActorRenderData &actorRenderData)
MCAPI void addGuardianAdditionalRendering()
MCAPI DataDrivenRenderer(::std::shared_ptr<::ActorResourceDefinition > definition, ::std::shared_ptr<::mce::TextureGroup > textureGroup, ::DataDrivenRendererLifecycle lifecycle)
MCAPI bool $shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams &renderParams) const
MCAPI void $getLeashOffsets(::Actor &actor, float, float, float, bool legacyOffset, ::Bedrock::small_vector_base<::Vec3 > &output) const
MCAPI bool $shouldHideHeldItems(::RenderParams &renderParams) const
MCAPI void addHumanoidAdditionalRendering(::std::shared_ptr<::mce::TextureGroup > textureGroup)
Definition RenderParams.h:29
Definition Vec3.h:10
Definition TextureGroup.h:7