3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/model/models/Model.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/world/actor/animation/AttachableSlotIndex.h"
9#include "mc/world/phys/AABB.h"
29 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ActorResourceDefinition>> mResourceDefinition;
30 ::ll::TypedStorage<8, 48, ::HashedString> mName;
31 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::std::weak_ptr<::DataDrivenRenderer>>> mItemToRendererMap;
32 ::ll::TypedStorage<4, 24, ::AABB> mDefaultPoseAABB;
33 ::ll::TypedStorage<1, 1, bool> mEnableAttachables;
34 ::ll::TypedStorage<1, 1, bool> mHideArmor;
44 virtual ~DataDrivenModel() =
default;
50 MCNAPI
explicit DataDrivenModel(::std::weak_ptr<::ActorResourceDefinition> definitionWeakPtr);
54 ::std::shared_ptr<::DataDrivenModel> model,
64 MCNAPI ::std::weak_ptr<::DataDrivenRenderer>
69 MCAPI ::std::string getResourceDefinitionName()
const;
74 ::std::shared_ptr<::DataDrivenRenderer> renderer,
76 ::Vec3 const& modelTranslationWithWorldRotation,
77 ::Vec3 const& cameraTargetPos
80 MCAPI
void renderAttachable(
82 ::AttachableSlotIndex
const& attachableSlotIndex,
87 MCAPI
void renderAttachableNoChecks(
89 ::AttachableSlotIndex
const& attachableSlotIndex,
96 MCAPI
void setupAttachable(
98 ::AttachableSlotIndex
const& attachableSlotIndex,
105 ::AttachableSlotIndex
const& attachableSlotIndex,
120 ::AttachableSlotIndex
const& attachableSlotIndex,
123 bool isRenderingOnMap,
124 bool lessThanOrEqualToVersion_1_16_210,
138 MCNAPI
void*
$ctor(::std::weak_ptr<::ActorResourceDefinition> definitionWeakPtr);
Definition ActorRenderData.h:5
Definition ActorResourceDefinition.h:5
Definition BaseActorRenderContext.h:5
Definition DataDrivenModel.h:5
MCAPI::AABB getOrCalculateDefaultPoseAABB(::BaseActorRenderContext &renderContext)
static MCAPI bool shouldRenderAttachableOnActor(::ItemStack const &itemInstance, ::AttachableSlotIndex const &attachableSlotIndex, bool isSpectator, bool isFirstPerson, bool isRenderingOnMap, bool lessThanOrEqualToVersion_1_16_210, bool hideArmor)
MCAPI void render(::std::shared_ptr<::DataDrivenRenderer > renderer, ::ActorRenderData &actorRenderData, ::Vec3 const &modelTranslationWithWorldRotation, ::Vec3 const &cameraTargetPos)
MCAPI DataDrivenModel(::std::weak_ptr<::ActorResourceDefinition > definitionWeakPtr)
MCAPI void * $ctor(::std::weak_ptr<::ActorResourceDefinition > definitionWeakPtr)
MCAPI void resolveHeldItemScaleForRender(::RenderParams &renderParams) const
MCAPI bool tryExecuteScript(::HashedString const &scriptName, ::RenderParams &renderParams, float &result)
MCAPI bool hasScript(::HashedString const &name) const
MCAPI bool _setArmorTrim(::ItemStack const &itemInstance, ::std::shared_ptr<::DataDrivenModel > model, ::Actor &actor, ::RenderParams &renderParams, ::RenderParams &childRenderParams)
MCAPI void setupAttachableNoChecks(::ItemStack const &itemInstance, ::AttachableSlotIndex const &attachableSlotIndex, ::RenderParams &renderParams, ::Actor &actor, bool isFirstPerson, bool runParentSetup)
MCAPI::AABB calculateDefaultPoseAABB() const
MCAPI ::std::weak_ptr<::DataDrivenRenderer > getDataDrivenRenderer(::RenderParams &renderParams, ::ItemStack const &itemInstance)
MCAPI::ExpressionNode getCopyOfScript_defaultIfNone(::HashedString const &name) const
static MCAPI ::GameVersion & Version_1_16_210()
Definition DataDrivenRenderer.h:5
Definition ExpressionNode.h:35
Definition GameVersion.h:10
Definition HashedString.h:5
Definition ItemStack.h:26
Definition RenderParams.h:29