LeviLamina
Loading...
Searching...
No Matches
SerializedActorRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/blockactor/BlockActorRenderer.h"
7
8// auto generated forward declare list
9// clang-format off
11class BlockPos;
12class BlockSource;
13class BlockType;
14class ItemStack;
17struct ActorTextureInfo;
19struct Brightness;
20namespace dragon { struct RenderMetadata; }
21// clang-format on
22
24public:
25 // SerializedActorRenderer inner types declare
26 // clang-format off
27 struct RenderData;
28 // clang-format on
29
30 // SerializedActorRenderer inner types define
31 enum class RenderType : uchar {
32 World = 0,
33 ItemFrame = 1,
34 Hand = 2,
35 Gui = 3,
36 };
37
38 struct RenderData {
39 public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<8, 8, ::ActorTextureInfo const&> mTexture;
43 ::ll::TypedStorage<8, 8, ::SerializedActorModel&> mModel;
44 ::ll::TypedStorage<4, 4, float> yOffset;
45 // NOLINTEND
46
47 public:
48 // prevent constructor by default
49 RenderData& operator=(RenderData const&);
50 RenderData(RenderData const&);
51 RenderData();
52 };
53
54public:
55 // virtual functions
56 // NOLINTBEGIN
57 virtual void
58 render(::BaseActorRenderContext& renderContext, ::BlockActorRenderData& blockEntityRenderData) /*override*/;
59
60 virtual ::SerializedActorRenderer::RenderData getRenderData(
61 ::SerializedActorRenderer::RenderType type,
62 ::BlockType const& block,
63 ::SerializedActorBlockActor const* entity,
64 ::ItemStack const* item
65 ) = 0;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCAPI void renderInGui(
72 ::BaseActorRenderContext& renderContext,
73 ::dragon::RenderMetadata const& renderMetadata,
74 ::ItemStack const& item,
75 float x,
76 float y,
77 float scale,
78 float lightMultiplier
79 );
80
81 MCAPI void renderInHand(
82 ::BaseActorRenderContext& renderContext,
83 ::BlockActorRenderData const& blockEntityRenderData,
84 ::ItemStack const& item,
85 bool isFirstPerson,
86 bool isInHandItem
87 );
88
89 MCAPI void renderInItemFrame(
90 ::BaseActorRenderContext& renderContext,
91 ::dragon::RenderMetadata const& renderMetadata,
92 ::ItemStack const& item,
93 ::BlockSource& region,
94 ::BlockPos const& pos,
95 bool ignoreLighting,
96 ::Brightness lightEmission
97 );
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCAPI void $render(::BaseActorRenderContext& renderContext, ::BlockActorRenderData& blockEntityRenderData);
104 // NOLINTEND
105};
Definition BaseActorRenderContext.h:5
Definition BlockActorRenderer.h:5
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BlockType.h:84
Definition ItemStack.h:35
Definition SerializedActorBlockActor.h:30
Definition SerializedActorModel.h:5
Definition SerializedActorRenderer.h:5
Definition ActorTextureInfo.h:5
Definition BlockActorRenderData.h:5
Definition Brightness.h:8
Definition SerializedActorRenderer.h:15
Definition RenderMetadata.h:7