3#include "mc/_HeaderOutputPredefine.h"
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"
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;
47 virtual void getLeashOffsets(
53 ::Bedrock::small_vector_base<::Vec3>& output
56 virtual void render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData) ;
59 renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData) ;
61 virtual ::AABB getRenderBounds(::Actor
const& entity)
const ;
63 virtual void addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup) ;
65 virtual void setIsOnScreen(::Actor& actor,
bool const isOnScreen,
float distance)
const ;
67 virtual bool shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams& renderParams)
const ;
69 virtual bool shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams)
const ;
71 virtual ~DataDrivenRenderer() ;
77 MCAPI DataDrivenRenderer(
78 ::std::shared_ptr<::ActorResourceDefinition> definition,
79 ::std::shared_ptr<::mce::TextureGroup> textureGroup
82 MCAPI
void addAgentAdditionalRendering();
84 MCAPI
void addBalloonAdditionalRendering();
86 MCAPI
void addEnderCrystalAdditionalRendering();
88 MCAPI
void addEnderDragonAdditionalRendering();
90 MCAPI
void addEnderManAdditionalRendering(::BlockTessellator* blockTesselator);
92 MCAPI
void addGuardianAdditionalRendering();
94 MCAPI
void addHumanoidAdditionalRendering(::std::shared_ptr<::mce::TextureGroup> textureGroup);
96 MCAPI
void addIronGolemAdditionalRendering(::BlockTessellator* blockTesselator);
98 MCAPI
void addMinecartAdditionalRendering(::BlockTessellator& commonBlockRenderer);
100 MCAPI
void addMushroomCowAdditionalRendering(::BlockTessellator& commonBlockRenderer);
102 MCAPI
void addSnowGolemAdditionalRendering(::BlockTessellator* blockTesselator);
104 MCAPI
void addVexAdditionalRendering();
106 MCAPI
void addVillagerAdditionalRendering();
108 MCFOLD
void addVillagerV2AdditionalRendering();
110 MCFOLD
void addWanderingTraderAdditionalRendering();
112 MCAPI
void addWitchAdditionalRendering();
114 MCAPI
bool armorHidden()
const;
116 MCAPI
bool attachablesEnabled()
const;
118 MCAPI ::V2TempComponentRequirements getV2TempComponentRequirement()
const;
120 MCAPI
bool isAttachable()
const;
122 MCAPI
void renderModel(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData, ::Model&);
124 MCAPI
void setupModel(
125 ::ActorRenderData& actorRenderData,
126 ::BaseActorRenderContext* baseActorRenderContext,
127 float actorFrameAlpha
134 MCAPI
static void getLeashOffsets(::Actor& actor,
bool legacyOffset, ::Bedrock::small_vector_base<::Vec3>& output);
141 $ctor(::std::shared_ptr<::ActorResourceDefinition> definition, ::std::shared_ptr<::mce::TextureGroup> textureGroup);
153 MCAPI
void $getLeashOffsets(
159 ::Bedrock::small_vector_base<::Vec3>& output
162 MCAPI
void $render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
164 MCAPI
void $renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
166 MCAPI ::AABB $getRenderBounds(::Actor
const& entity)
const;
168 MCAPI
void $addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup);
170 MCAPI
void $setIsOnScreen(::Actor& actor,
bool const isOnScreen,
float distance)
const;
172 MCAPI
bool $shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams& renderParams)
const;
174 MCAPI
bool $shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams)
const;
Definition ActorRenderData.h:5
Definition ActorRenderer.h:5
Definition BaseActorRenderContext.h:34
Definition DataDrivenRenderer_tempComponent.h:5
Definition DataDrivenRenderer.h:5
static MCAPI void ** $vftable()
Definition RenderParams.h:30
Definition TextureGroup.h:7
Definition ActorResourceDefinition.h:5
Definition BlockTessellator.h:5