3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/renderer/ActorShaderManager.h"
7#include "mc/client/renderer/game/ItemInHandRenderFrameId.h"
8#include "mc/deps/core/container/DenseEnumMap.h"
9#include "mc/deps/core/math/Matrix.h"
10#include "mc/deps/core/utility/pub_sub/Connector.h"
11#include "mc/deps/core/utility/pub_sub/Subscription.h"
12#include "mc/deps/minecraft_renderer/game/ItemContextFlags.h"
13#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
14#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
15#include "mc/deps/renderer/MatrixStack.h"
16#include "mc/world/item/HandSlot.h"
17#include "mc/world/level/block/BlockShape.h"
61 enum class Direction : uchar {
70 ::ll::UntypedStorage<1, 1> mUnk8b3a1f;
71 ::ll::UntypedStorage<8, 8> mUnkad04bd;
72 ::ll::UntypedStorage<8, 8> mUnk711535;
73 ::ll::UntypedStorage<8, 8> mUnk673c3d;
74 ::ll::UntypedStorage<1, 1> mUnk70d991;
75 ::ll::UntypedStorage<4, 4> mUnk1a7539;
76 ::ll::UntypedStorage<1, 1> mUnkb8460a;
81 Scoped& operator=(Scoped
const&);
82 Scoped(Scoped
const&);
116 using RenderMap = ::std::map<::ItemInHandRenderFrameId, ::ItemRenderCall>;
121 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClient;
122 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TextureTessellator>> mTextureTessellator;
123 ::ll::TypedStorage<8, 336, ::Bedrock::DenseEnumMap<::HandSlot, ::ItemInHandRenderer::HandAnimationState, 2>>
125 ::ll::TypedStorage<8, 8, ::BlockTessellator&> mBlockTessellator;
126 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatOpaqueBlock;
127 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatOpaqueBlockColor;
128 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatAlphaBlock;
129 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatItem;
130 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatBlendBlock;
131 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatBlendBlockNoColor;
132 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatAlphaColoredBlock;
133 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatItemMultiColorTint;
134 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatAlphaOneSidedBlock;
135 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatAlphaOneSidedColoredBlock;
136 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatOpaqueBlockGlint;
137 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatAlphaBlockGlint;
138 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatItemGlint;
139 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mMatFishingLine;
140 ::ll::TypedStorage<8, 128, ::std::array<::mce::MaterialPtr const*, 16>> mMaterialMatrix;
141 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mGlintTexture;
142 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BannerBlockActor>> mBannerEntity;
143 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DecoratedPotBlockActor>> mDecoratedPotEntity;
144 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SerializedActorBlockActor>> mCopperGolemStatueEntity;
145 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ConduitBlockActor>> mConduitEntity;
146 ::ll::TypedStorage<8, 16, ::std::map<::ItemInHandRenderFrameId, ::ItemRenderCall>> mRenderObjects;
147 ::ll::TypedStorage<4, 64, ::Matrix> mTransform;
148 ::ll::TypedStorage<4, 64, ::Matrix> mPreFirstPersonItemRenderProj;
149 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPauseStateChange;
150 ::ll::TypedStorage<8, 8, ::std::chrono::duration<double, ::std::ratio<1, 1>>> mTimer;
151 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastTime;
152 ::ll::TypedStorage<1, 1, bool> mIsDeferredEnabled;
173 ::std::shared_ptr<::mce::TextureGroup> textureGroup
176 MCAPI
void _applyDefaultItemTransforms(
181 ::BlockShape blockShape,
184 bool posAndRotSetByJSON
192 MCNAPI ::ItemRenderCall&
201 ::std::optional<::glm::vec3>
const& lightEmissionColor,
211 ::std::optional<::glm::vec3>
const& lightEmissionColor,
220 bool const isFirstPerson,
221 bool const isInHandItem
229 bool const isFirstPerson
238 ::std::optional<::glm::vec3>
const& lightEmissionColor,
240 ::ItemContextFlags itemFlags,
246 MCAPI
void _renderPhotoMapItem(
249 float const frameAlpha,
250 bool const isMainHand
263 bool const isMainHand,
264 ::ItemContextFlags itemFlags,
270 MCAPI ::ItemRenderCall
const&
278 MCAPI
void renderItem(
282 bool posAndRotSetByJSON,
283 ::ItemContextFlags itemFlags,
285 bool renderingMainHand
292 ::ItemContextFlags itemFlags,
296 MCAPI
void renderObject(
300 ::ItemContextFlags itemFlags
316 bool const isPaperDoll
329 MCAPI
static bool canTessellateAsBlockItem(
::ItemStack const& item);
338 ::std::shared_ptr<::mce::TextureGroup> textureGroup
Definition ActorShaderManager.h:5
Definition BannerBlockActor.h:21
Definition BaseActorRenderContext.h:5
Definition Connector.h:15
Definition BlockTessellator.h:5
Definition BlockType.h:79
Definition ConduitBlockActor.h:20
Definition DecoratedPotBlockActor.h:23
Definition IClientInstance.h:5
Definition ItemInHandRenderer.h:5
MCAPI void tessellateAtFrame(::BaseActorRenderContext &renderContext, ::Mob *mob, ::ItemStack const &item, int frame)
MCAPI void _tessellateBlockItem(::Tessellator &tessellator, ::BlockTessellator &t, ::Block const &block, ::mce::framebuilder::FrameLightingModelCapabilities const &lightingModelCaps)
MCAPI void * $ctor(::IClientInstance &client, ::BlockTessellator &commonRenderer, ::std::shared_ptr<::mce::TextureGroup > textureGroup)
static MCAPI ::dragon::RenderMetadata _createRenderMetadata(::BaseActorRenderContext const &renderContext, ::Actor const &entity, ::ItemStack const &item, bool const isPaperDoll)
MCAPI void renderItemNew(::BaseActorRenderContext &renderContext, ::Actor &entity, ::ItemStack const &item, ::ItemContextFlags itemFlags, ::Brightness lightEmission)
MCAPI void _renderDecoratedPotBlockItem(::BaseActorRenderContext &renderContext, ::dragon::RenderMetadata const renderMetadata, ::ItemStack const &item, ::Actor &entity, bool const isFirstPerson) const
MCAPI void _renderCopperGolemStatueBlockItem(::BaseActorRenderContext &renderContext, ::dragon::RenderMetadata const renderMetadata, ::ItemStack const &item, ::Actor &entity, bool const isFirstPerson, bool const isInHandItem) const
MCAPI void _renderConduitBlockItem(::BaseActorRenderContext &renderContext, ::dragon::RenderMetadata const renderMetadata, ::Actor &entity, ::Brightness lightEmission, ::std::optional<::glm::vec3 > const &lightEmissionColor, float frameAlpha) const
MCAPI void _renderGlowstickBlockItem(::BaseActorRenderContext &renderContext, ::dragon::RenderMetadata const renderMetadata, ::ItemStack const &item, ::Actor &entity, ::Brightness lightEmission, ::std::optional<::glm::vec3 > const &lightEmissionColor, float frameAlpha, ::ItemContextFlags itemFlags, float scale)
MCAPI void registerPauseManagerCallback(::Bedrock::PubSub::Connector< void(bool)> &connector)
MCAPI::ItemRenderCall * _getRenderCall(::Mob *mob, ::ItemStack const &itemInstance, int fallbackFrame)
static MCAPI bool _areNotMatchingChemistrySticks(::ItemStack &itemBefore, ::ItemStack const &itemAfter)
MCAPI ItemInHandRenderer(::IClientInstance &client, ::BlockTessellator &commonRenderer, ::std::shared_ptr<::mce::TextureGroup > textureGroup)
MCAPI void _renderBannerBlockItem(::BaseActorRenderContext &renderContext, ::dragon::RenderMetadata const renderMetadata, ::ItemStack const &item, ::Actor &entity, ::Brightness lightEmission, ::std::optional<::glm::vec3 > const &lightEmissionColor, float frameAlpha, float scale) const
MCAPI void clearRenderObjects()
static MCAPI void _tessellateTextureItem(::BaseActorRenderContext &renderContext, ::TextureTessellator &textureTessellator, ::Mob *mob, ::ItemStack const &item, int fallbackFrame, ushort &heightOut, ushort &widthOut)
MCAPI void _transformWorldMatrixFromJson(::MatrixStack::MatrixStackRef &worldMatrix, ::ItemStack const &item, bool const isMainHand, ::ItemContextFlags itemFlags, float textureScale)
MCAPI::ItemRenderCall & _rebuildItem(::BaseActorRenderContext &renderContext, ::Mob *mob, ::ItemStack const &item, int fallbackFrame)
MCAPI void _pushSparklerParticles(::BaseActorRenderContext &renderContext, ::ItemStack const &item, ::Level &level)
Definition ItemRenderCall.h:5
Definition ItemStack.h:26
Definition SerializedActorBlockActor.h:26
Definition Tessellator.h:5
Definition TextureTessellator.h:5
Definition TextureGroup.h:7
Definition Brightness.h:8
Definition ItemInHandRenderer.h:27
Definition ItemInHandRenderer.h:24
Definition ItemInHandRenderer.h:14
Definition MatrixStack.h:13
Definition FrameLightingModelCapabilities.h:7