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;
20class DataDrivenModel;
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 legacyOffset,
50 float output,
51 float,
52 bool,
53 ::Bedrock::small_vector_base<::Vec3>&
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 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI DataDrivenRenderer(
76 ::std::shared_ptr<::ActorResourceDefinition> definition,
77 ::std::shared_ptr<::mce::TextureGroup> textureGroup
78 );
79
80 MCAPI void addAgentAdditionalRendering();
81
82 MCAPI void addBalloonAdditionalRendering();
83
84 MCAPI void addEnderCrystalAdditionalRendering();
85
86 MCAPI void addEnderDragonAdditionalRendering();
87
88 MCAPI void addEnderManAdditionalRendering(::BlockTessellator* blockTesselator);
89
90 MCAPI void addFoxAdditionalRendering();
91
92 MCAPI void addGuardianAdditionalRendering();
93
94 MCAPI void addHumanoidAdditionalRendering(::std::shared_ptr<::mce::TextureGroup> textureGroup);
95
96 MCAPI void addIronGolemAdditionalRendering(::BlockTessellator* blockTesselator);
97
98 MCAPI void addMinecartAdditionalRendering(::BlockTessellator& commonBlockRenderer);
99
100 MCAPI void addMushroomCowAdditionalRendering(::BlockTessellator& commonBlockRenderer);
101
102 MCAPI void addPandaAdditionalRendering();
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 ::DataDrivenModel& getModel();
121
122 MCAPI ::std::shared_ptr<::DataDrivenModel> getModelShared();
123
124 MCAPI bool isAttachable() const;
125
126 MCAPI void renderModel(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData, ::Model&);
127
128 MCAPI void setupModel(
129 ::ActorRenderData& actorRenderData,
130 ::BaseActorRenderContext* baseActorRenderContext,
131 float actorFrameAlpha
132 );
133 // NOLINTEND
134
135public:
136 // static functions
137 // NOLINTBEGIN
138 MCAPI static void getLeashOffsets(::Actor& actor, bool legacyOffset, ::Bedrock::small_vector_base<::Vec3>& output);
139 // NOLINTEND
140
141public:
142 // constructor thunks
143 // NOLINTBEGIN
144 MCAPI void*
145 $ctor(::std::shared_ptr<::ActorResourceDefinition> definition, ::std::shared_ptr<::mce::TextureGroup> textureGroup);
146 // NOLINTEND
147
148public:
149 // virtual function thunks
150 // NOLINTBEGIN
151 MCAPI void $getLeashOffsets(
152 ::Actor& actor,
153 float legacyOffset,
154 float output,
155 float,
156 bool,
157 ::Bedrock::small_vector_base<::Vec3>&
158 ) const;
159
160 MCAPI void $render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
161
162 MCAPI void $renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
163
164 MCAPI ::AABB $getRenderBounds(::Actor const& entity) const;
165
166 MCAPI void $addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup);
167
168 MCAPI void $setIsOnScreen(::Actor& actor, bool const isOnScreen, float distance) const;
169
170 MCAPI bool $shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams& renderParams) const;
171
172 MCAPI bool $shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams) const;
173 // NOLINTEND
174
175public:
176 // vftables
177 // NOLINTBEGIN
178 MCNAPI static void** $vftable();
179 // NOLINTEND
180};
Definition AABB.h:18
Definition ActorRenderData.h:5
Definition ActorRenderer.h:5
Definition ActorResourceDefinition.h:5
Definition Actor.h:125
Definition BaseActorRenderContext.h:5
Definition BlockTessellator.h:5
Definition DataDrivenModel.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