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() =
default;
47 MCAPI
explicit DataDrivenModel(::std::weak_ptr<::ActorResourceDefinition> definitionWeakPtr);
49 MCAPI
bool _setArmorTrim(
50 ::ItemStack
const& itemInstance,
51 ::std::shared_ptr<::DataDrivenModel> model,
53 ::RenderParams& renderParams,
54 ::RenderParams& childRenderParams
57 MCAPI ::ExpressionNode getCopyOfScript_defaultIfNone(::HashedString
const& name)
const;
59 MCAPI ::std::weak_ptr<::DataDrivenRenderer>
60 getDataDrivenRenderer(::RenderParams& renderParams, ::ItemStack
const& itemInstance);
62 MCAPI ::std::string getResourceDefinitionName()
const;
64 MCAPI
bool hasScript(::HashedString
const& name)
const;
67 ::std::shared_ptr<::DataDrivenRenderer> renderer,
68 ::ActorRenderData& actorRenderData,
69 ::Vec3
const& modelTranslationWithWorldRotation,
70 ::Vec3
const& cameraTargetPos
73 MCAPI
void renderAttachable(
74 ::ItemStack
const& itemInstance,
75 ::AttachableSlotIndex
const& attachableSlotIndex,
76 ::RenderParams& renderParams,
80 MCAPI
void renderAttachableNoChecks(
81 ::ItemStack
const& itemInstance,
82 ::AttachableSlotIndex
const& attachableSlotIndex,
83 ::RenderParams& renderParams,
87 MCAPI
void resolveHeldItemScaleForRender(::RenderParams& renderParams)
const;
89 MCAPI
void setupAttachable(
90 ::ItemStack
const& itemInstance,
91 ::AttachableSlotIndex
const& attachableSlotIndex,
92 ::RenderParams& renderParams,
96 MCAPI
void setupAttachableNoChecks(
97 ::ItemStack
const& itemInstance,
98 ::AttachableSlotIndex
const& attachableSlotIndex,
99 ::RenderParams& renderParams,
105 MCAPI
bool tryExecuteScript(::HashedString
const& scriptName, ::RenderParams& renderParams,
float& result);
111 MCAPI
static bool shouldRenderAttachableOnActor(
112 ::ItemStack
const& itemInstance,
113 ::AttachableSlotIndex
const& attachableSlotIndex,
116 bool isRenderingOnMap,
117 bool lessThanOrEqualToVersion_1_16_210,
125 MCAPI static ::GameVersion& Version_1_16_210();
131 MCAPI
void* $ctor(::std::weak_ptr<::ActorResourceDefinition> definitionWeakPtr);
Definition ActorRenderData.h:5
Definition ActorResourceDefinition.h:5
Definition DataDrivenModel.h:5
Definition DataDrivenRenderer.h:5
Definition ExpressionNode.h:35
Definition GameVersion.h:10
Definition ItemStack.h:24
Definition RenderParams.h:29