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"
27 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ActorResourceDefinition>> mResourceDefinition;
28 ::ll::TypedStorage<8, 48, ::HashedString> mName;
29 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::std::weak_ptr<::DataDrivenRenderer>>> mItemToRendererMap;
30 ::ll::TypedStorage<1, 1, bool> mEnableAttachables;
31 ::ll::TypedStorage<1, 1, bool> mHideArmor;
41 virtual ~DataDrivenModel() ;
47 MCAPI
explicit DataDrivenModel(::std::weak_ptr<::ActorResourceDefinition> definitionWeakPtr);
49 MCAPI ::HashedString _parseRootSkinName(::HashedString
const& skinName);
51 MCAPI
bool _setArmorTrim(
52 ::ItemStack
const& itemInstance,
53 ::std::shared_ptr<::DataDrivenModel> model,
55 ::RenderParams& renderParams,
56 ::RenderParams& childRenderParams
60 executeScript(::HashedString
const& scriptName, ::RenderParams& renderParams,
float defaultValueIfNoScript);
62 MCAPI ::ExpressionNode getCopyOfScript_defaultIfNone(::HashedString
const& name)
const;
64 MCAPI ::std::weak_ptr<::DataDrivenRenderer>
65 getDataDrivenRenderer(::RenderParams& renderParams, ::ItemStack
const& itemInstance);
67 MCAPI ::std::string getResourceDefinitionName()
const;
69 MCAPI
bool hasScript(::HashedString
const& name)
const;
72 ::std::shared_ptr<::DataDrivenRenderer> renderer,
73 ::ActorRenderData& actorRenderData,
74 ::Vec3
const& modelTranslationWithWorldRotation,
75 ::Vec3
const& cameraTargetPos
78 MCAPI
void renderAsChild(::RenderParams& renderParams, ::AttachableSlotIndex
const& index);
80 MCAPI
void renderAttachable(
81 ::ItemStack
const& itemInstance,
82 ::AttachableSlotIndex
const& attachableSlotIndex,
83 ::RenderParams& renderParams,
87 MCAPI
void renderAttachableNoChecks(
88 ::ItemStack
const& itemInstance,
89 ::AttachableSlotIndex
const& attachableSlotIndex,
90 ::RenderParams& renderParams,
94 MCAPI
void setupAttachable(
95 ::ItemStack
const& itemInstance,
96 ::AttachableSlotIndex
const& attachableSlotIndex,
97 ::RenderParams& renderParams,
101 MCAPI
void setupAttachableNoChecks(
102 ::ItemStack
const& itemInstance,
103 ::AttachableSlotIndex
const& attachableSlotIndex,
104 ::RenderParams& renderParams,
110 MCAPI
bool tryExecuteScript(::HashedString
const& scriptName, ::RenderParams& renderParams,
float& result);
116 MCAPI
static bool shouldRenderAttachableOnActor(
117 ::ItemStack
const& itemInstance,
118 ::AttachableSlotIndex
const& attachableSlotIndex,
121 bool isRenderingOnMap,
122 bool lessThanOrEqualToVersion_1_16_210,
130 MCAPI static ::GameVersion& Version_1_16_210();
136 MCAPI
void* $ctor(::std::weak_ptr<::ActorResourceDefinition> definitionWeakPtr);
Definition ActorRenderData.h:5
Definition ActorResourceDefinition.h:5
Definition DataDrivenModel.h:5
static MCAPI void ** $vftable()
Definition DataDrivenRenderer.h:5
Definition ExpressionNode.h:36
Definition GameVersion.h:10
Definition ItemStack.h:35
Definition RenderParams.h:30