LeviLamina
Loading...
Searching...
No Matches
SignRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/model/models/SignModel.h"
7#include "mc/client/renderer/actor/ActorTextureInfo.h"
8#include "mc/client/renderer/blockactor/BlockActorRenderer.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
11#include "mc/world/level/block/SignBlock.h"
12#include "mc/world/level/block/actor/SignBlockActor.h"
13#include "mc/world/level/block/actor/SignTextSide.h"
14
15// auto generated forward declare list
16// clang-format off
18class Block;
19class BlockActor;
20class BlockPos;
21class BlockSource;
22class Font;
23class IClientInstance;
24class Model;
26class ScreenContext;
27class SignBlockActor;
29namespace mce { class TextureGroup; }
30namespace mce { struct ClientTexture; }
31namespace mce::framebuilder { struct CustomSurfaceShaderMetadata; }
32// clang-format on
33
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 320, ::ActorTextureInfo> mSignTex;
39 ::ll::TypedStorage<8, 16, ::std::map<::SignBlock::SignType, ::ActorTextureInfo>> mTextureMap;
40 ::ll::TypedStorage<8, 1488, ::SignModel> mSignModel;
41 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mGlowSignTextMaterial;
42 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mSignTextMaterial;
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 SignRenderer();
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual void
53 render(::BaseActorRenderContext& renderContext, ::BlockActorRenderData& blockEntityRenderData) /*override*/;
54
55 virtual float _getScaleFactor() const;
56
57 virtual float _yTextOffset() const;
58
59 virtual float _zTextOffset() const;
60
61 virtual int _getSignWidth() const;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI explicit SignRenderer(::std::shared_ptr<::mce::TextureGroup> textureGroup);
68
69 MCAPI ::SignBlockActor::CachedMessageData const& _getCachedSignMessage(
70 ::SignBlockActor& signBlockActor,
71 ::IClientInstance& clientInstance,
72 ::Bedrock::NotNullNonOwnerPtr<::ProfanityContext> const& context,
73 ::Font& font,
74 ::SignTextSide side
75 );
76
77 MCAPI void _renderSign(
78 ::BaseActorRenderContext& renderContext,
79 ::Block const& block,
80 float size,
81 int breakingAmount,
82 float frameAlpha,
83 ::ScreenContext& screenContext,
84 ::BlockSource& renderSource,
85 ::BlockActor& entity,
86 ::BlockPos const& worldPos,
87 ::mce::MaterialPtr const& forcedMat,
88 ::mce::ClientTexture forcedTex,
89 ::Model& model,
90 ::mce::framebuilder::CustomSurfaceShaderMetadata const& cssMetadata
91 );
92
93 MCAPI void _renderText(
94 ::BaseActorRenderContext& renderContext,
95 ::BlockActor& te,
96 float size,
97 ::BlockSource const& renderSource,
98 ::SignTextSide side
99 );
100 // NOLINTEND
101
102public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void* $ctor(::std::shared_ptr<::mce::TextureGroup> textureGroup);
106 // NOLINTEND
107
108public:
109 // virtual function thunks
110 // NOLINTBEGIN
111 MCAPI void $render(::BaseActorRenderContext& renderContext, ::BlockActorRenderData& blockEntityRenderData);
112
113 MCFOLD float $_getScaleFactor() const;
114
115 MCFOLD float $_yTextOffset() const;
116
117 MCFOLD float $_zTextOffset() const;
118
119 MCFOLD int $_getSignWidth() const;
120 // NOLINTEND
121
122public:
123 // vftables
124 // NOLINTBEGIN
125 MCNAPI static void** $vftable();
126 // NOLINTEND
127};
Definition BaseActorRenderContext.h:5
Definition BlockActorRenderer.h:5
Definition BlockActor.h:30
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition Font.h:5
Definition IClientInstance.h:5
Definition Model.h:5
Definition ProfanityContext.h:5
Definition ScreenContext.h:5
Definition SignBlockActor.h:32
Definition SignRenderer.h:5
static MCAPI void ** $vftable()
Definition TextureGroup.h:7
Definition BlockActorRenderData.h:5
Definition ClientTexture.h:7
Definition CustomSurfaceShaderMetadata.h:7