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/V2TempComponentRequirements.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 Model;
23class RenderParams;
24class Vec3;
25namespace mce { class TextureGroup; }
26// clang-format on
27
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::DataDrivenRenderer_tempComponent>>> mTempComponents;
33 ::ll::TypedStorage<8, 48, ::HashedString const> mName;
34 ::ll::TypedStorage<1, 1, bool const> mIsAttachable;
35 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mDefaultSkin;
36 ::ll::TypedStorage<8, 16, ::ExpressionNode> mUpdateBonesAndEffectsIfOffScreen;
37 ::ll::TypedStorage<8, 16, ::ExpressionNode> mUpdateEffectsIfOffScreen;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 DataDrivenRenderer();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual void getLeashOffsets(
48 ::Actor& actor,
49 float,
50 float,
51 float,
52 bool legacyOffset,
53 ::Bedrock::small_vector_base<::Vec3>& output
54 ) const /*override*/;
55
56 virtual void render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData) /*override*/;
57
58 virtual void
59 renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData) /*override*/;
60
61 virtual ::AABB getRenderBounds(::Actor const& entity) const /*override*/;
62
63 virtual void addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup) /*override*/;
64
65 virtual void setIsOnScreen(::Actor& actor, bool const isOnScreen, float distance) const /*override*/;
66
67 virtual bool shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams& renderParams) const /*override*/;
68
69 virtual bool shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams) const /*override*/;
70
71 virtual ~DataDrivenRenderer() /*override*/;
72 // NOLINTEND
73
74public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI DataDrivenRenderer(
78 ::std::shared_ptr<::ActorResourceDefinition> definition,
79 ::std::shared_ptr<::mce::TextureGroup> textureGroup
80 );
81
82 MCAPI void addAgentAdditionalRendering();
83
84 MCAPI void addBalloonAdditionalRendering();
85
86 MCAPI void addEnderCrystalAdditionalRendering();
87
88 MCAPI void addEnderDragonAdditionalRendering();
89
90 MCAPI void addEnderManAdditionalRendering(::BlockTessellator* blockTesselator);
91
92 MCAPI void addFoxAdditionalRendering();
93
94 MCAPI void addGuardianAdditionalRendering();
95
96 MCAPI void addHumanoidAdditionalRendering(::std::shared_ptr<::mce::TextureGroup> textureGroup);
97
98 MCAPI void addIronGolemAdditionalRendering(::BlockTessellator* blockTesselator);
99
100 MCAPI void addMinecartAdditionalRendering(::BlockTessellator& commonBlockRenderer);
101
102 MCAPI void addMushroomCowAdditionalRendering(::BlockTessellator& commonBlockRenderer);
103
104 MCAPI void addSnowGolemAdditionalRendering(::BlockTessellator* blockTesselator);
105
106 MCAPI void addVexAdditionalRendering();
107
108 MCAPI void addVillagerAdditionalRendering();
109
110 MCFOLD void addVillagerV2AdditionalRendering();
111
112 MCFOLD void addWanderingTraderAdditionalRendering();
113
114 MCAPI void addWitchAdditionalRendering();
115
116 MCAPI bool armorHidden() const;
117
118 MCAPI bool attachablesEnabled() const;
119
120 MCAPI ::V2TempComponentRequirements getV2TempComponentRequirement() const;
121
122 MCAPI bool isAttachable() const;
123
124 MCAPI void renderModel(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData, ::Model&);
125
126 MCAPI void setupModel(
127 ::ActorRenderData& actorRenderData,
128 ::BaseActorRenderContext* baseActorRenderContext,
129 float actorFrameAlpha
130 );
131 // NOLINTEND
132
133public:
134 // static functions
135 // NOLINTBEGIN
136 MCAPI static void getLeashOffsets(::Actor& actor, bool legacyOffset, ::Bedrock::small_vector_base<::Vec3>& output);
137 // NOLINTEND
138
139public:
140 // constructor thunks
141 // NOLINTBEGIN
142 MCAPI void*
143 $ctor(::std::shared_ptr<::ActorResourceDefinition> definition, ::std::shared_ptr<::mce::TextureGroup> textureGroup);
144 // NOLINTEND
145
146public:
147 // destructor thunk
148 // NOLINTBEGIN
149 MCAPI void $dtor();
150 // NOLINTEND
151
152public:
153 // virtual function thunks
154 // NOLINTBEGIN
155 MCAPI void $getLeashOffsets(
156 ::Actor& actor,
157 float,
158 float,
159 float,
160 bool legacyOffset,
161 ::Bedrock::small_vector_base<::Vec3>& output
162 ) const;
163
164 MCAPI void $render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
165
166 MCAPI void $renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
167
168 MCAPI ::AABB $getRenderBounds(::Actor const& entity) const;
169
170 MCAPI void $addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup);
171
172 MCAPI void $setIsOnScreen(::Actor& actor, bool const isOnScreen, float distance) const;
173
174 MCAPI bool $shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams& renderParams) const;
175
176 MCAPI bool $shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams) const;
177 // NOLINTEND
178
179public:
180 // vftables
181 // NOLINTBEGIN
182 MCNAPI static void** $vftable();
183 // NOLINTEND
184};
Definition AABB.h:18
Definition ActorRenderData.h:5
Definition ActorRenderer.h:5
Definition ActorResourceDefinition.h:5
Definition Actor.h:106
Definition BaseActorRenderContext.h:5
Definition BlockTessellator.h:5
Definition DataDrivenRenderer_tempComponent.h:5
Definition DataDrivenRenderer.h:5
static MCAPI void ** $vftable()
Definition Model.h:5
Definition RenderParams.h:30
Definition Vec3.h:10
Definition TextureGroup.h:7