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