3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/renderer/actor/ActorRenderer.h"
7#include "mc/client/renderer/actor/IconBlitGlint.h"
8#include "mc/client/renderer/actor/ItemRenderChunkType.h"
9#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
10#include "mc/deps/renderer/MatrixStack.h"
11#include "mc/world/level/block/BlockShape.h"
41 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BlockTessellator>> mBlockTessellator;
42 ::ll::TypedStorage<4, 64, float[16]> mRandomFloats;
43 ::ll::TypedStorage<8, 64, ::std::unordered_map<short, ::ItemGraphics>> mItemGraphics;
44 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mUIBlitMaterial;
45 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mUIIconBlitMaterial;
46 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mUIIconBlitMaterialMultiColorTint;
47 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mUIIconUnblitMaterial;
48 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mUIIconBlitGlintMaterial;
49 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mEntityAlphatestChangeColorMaterial;
50 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mEntityAlphatestChangeColorGlintMaterial;
51 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mEntityAlphatestMultiColorTintMaterial;
52 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BannerBlockActor>> mBannerEntity;
53 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DecoratedPotBlockActor>> mDecoratedPotBlockEntity;
54 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SkullBlockActor>> mSkullEntity;
55 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ConduitBlockActor>> mConduitEntity;
56 ::ll::TypedStorage<1, 1, bool> mSupportsNewVertexFormat;
66 virtual ~ItemRenderer() ;
68 virtual void render(::BaseActorRenderContext& renderContext, ::ActorRenderData& entityRenderData) ;
74 MCAPI ItemRenderer(::std::shared_ptr<::mce::TextureGroup> textureGroup,
bool supportsNewVertexFormat);
76 MCAPI
void _applyBlockItemTransforms(
77 ::MatrixStack::MatrixStackRef& worldMatrix,
78 ::BlockType
const* blockType,
86 _getGuiBlockItemTransforms(::Block
const* block, ::Vec3 offset,
float scale,
float squeezeAmount)
const;
88 MCAPI
void _getGuiItemColors(::ItemStack
const& item,
int& color,
int& secondaryColor)
const;
90 MCAPI ::mce::TexturePtr _getShulkerBoxTexture(::ItemStack
const& item);
92 MCAPI
void _renderBannerItem(
93 ::BaseActorRenderContext& renderContext,
94 ::ItemStack
const& item,
95 ::ItemActor& itemEntity,
100 MCAPI
void _renderBlockItem(
101 ::BaseActorRenderContext& renderContext,
102 ::ItemStack
const& item,
103 ::ItemActor& itemEntity,
104 ::BlockType
const* blockType,
106 float actorFrameAlpha,
110 MCAPI
void _renderDecoratedPotItem(
111 ::BaseActorRenderContext& renderContext,
112 ::ItemStack
const& item,
113 ::ItemActor& itemEntity,
117 MCAPI
void _renderGuiBlockTypeItem(
118 ::BaseActorRenderContext& renderContext,
119 ::ItemStack
const& item,
120 ::BlockGraphics
const* blockGraphics,
121 ::mce::TexturePtr
const& texture,
124 float lightMultiplier,
125 float alphaMultiplier,
127 float pickupPopPercentage,
131 MCAPI
void _renderGuiDataDrivenBlockItem(
132 ::BaseActorRenderContext& renderContext,
133 ::Block
const* block,
141 MCAPI
bool _renderGuiEntityBlockItem(
142 ::BaseActorRenderContext& renderContext,
143 ::ItemRenderChunkType itemRenderChunkType,
144 ::dragon::RenderMetadata renderMetadata,
145 ::ItemStack
const& item,
148 float lightMultiplier,
152 MCAPI
void _renderGuiGlowStickItem(
153 ::BaseActorRenderContext& renderContext,
154 ::ItemStack
const& item,
157 float lightMultiplier,
159 float pickupPopPercentage,
163 MCAPI
void _renderItemGroup(
164 ::BaseActorRenderContext& renderContext,
165 ::ItemActor& itemEntity,
172 MCAPI
void _renderShieldItem(
173 ::BaseActorRenderContext& renderContext,
174 ::ItemStack
const& item,
175 ::ItemActor& itemEntity,
176 float actorFrameAlpha
179 MCAPI
void clearDataDrivenRenderers();
181 MCAPI
void forceGraphicsLoad();
183 MCAPI ::ItemGraphics& getGraphics(::ItemStack
const& item);
185 MCAPI ::ItemGraphics& getGraphics(::Item
const& item);
188 ::BaseActorRenderContext& renderContext,
189 ::mce::TexturePtr
const& texture,
193 ::TextureUVCoordinateSet
const& iconTextureCoord,
196 float lightMultiplier,
197 float alphaMultiplier,
199 int secondaryColorMultiplier,
202 ::IconBlitGlint iconBlitGlint,
203 bool useMultiColorTextureTinting
206 MCAPI
void renderGuiItemInChunk(
207 ::BaseActorRenderContext& renderContext,
208 ::ItemRenderChunkType itemRenderChunkType,
209 ::ItemStack
const& item,
212 float lightMultiplier,
213 float alphaMultiplier,
218 ::std::optional<::TextureUVCoordinateSet>
const& customIconUVCoords
221 MCAPI
void renderGuiItemNew(
222 ::BaseActorRenderContext& renderContext,
223 ::ItemStack
const& item,
227 bool renderEnchantmentFoil,
229 float lightMultiplier,
238 MCAPI
static float getRenderYOffset(::ItemActor
const& itemEntity, ::BlockType
const* block,
float ageInSeconds);
244 MCAPI
void* $ctor(::std::shared_ptr<::mce::TextureGroup> textureGroup,
bool supportsNewVertexFormat);
256 MCAPI
void $render(::BaseActorRenderContext& renderContext, ::ActorRenderData& entityRenderData);
Definition ActorRenderData.h:5
Definition ActorRenderer.h:5
Definition BannerBlockActor.h:23
Definition BaseActorRenderContext.h:5
Definition BlockGraphics.h:5
Definition BlockTessellator.h:5
Definition BlockType.h:84
Definition ConduitBlockActor.h:20
Definition DecoratedPotBlockActor.h:23
Definition ItemActor.h:31
Definition ItemGraphics.h:5
Definition ItemRenderer.h:5
static MCAPI void ** $vftable()
Definition ItemStack.h:35
Definition SkullBlockActor.h:20
Definition TextureGroup.h:7
Definition TexturePtr.h:7
Definition TextureUVCoordinateSet.h:5