LeviLamina
Loading...
Searching...
No Matches
BlockActorRenderDispatcher.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/DenseEnumMap.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/world/level/block/actor/BlockActorRendererId.h"
9
10// auto generated forward declare list
11// clang-format off
14class BaseGameVersion;
15class Block;
16class BlockActor;
18class BlockPos;
19class BlockSource;
21class Experiments;
22class GeometryGroup;
25class Vec3;
26namespace dragon { struct RenderMetadata; }
27namespace mce { class MaterialPtr; }
28namespace mce { class TextureGroup; }
29namespace mce { struct ClientTexture; }
30// clang-format on
31
33public:
34 // BlockActorRenderDispatcher inner types define
35 using RendererMap = ::Bedrock::DenseEnumMap<::BlockActorRendererId, ::std::unique_ptr<::BlockActorRenderer>, 28>;
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<
41 8,
42 224,
43 ::Bedrock::DenseEnumMap<::BlockActorRendererId, ::std::unique_ptr<::BlockActorRenderer>, 28>>
44 mRenderers;
45 ::ll::TypedStorage<
46 8,
47 24,
48 ::std::vector<::std::function<void(
49 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup const> const&,
50 ::std::shared_ptr<::mce::TextureGroup>
51 )>>>
52 mGameSpecificRegistrationCallbacks;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI void initializeBlockEntityRenderers(
59 ::Bedrock::NotNullNonOwnerPtr<::GeometryGroup> const& geometryGroup,
60 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
61 ::BlockTessellator& blockTessellator,
62 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup const> const& actorResourceDefinitionGroup,
63 ::ResourcePackManager& resourcePackManager,
64 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
65 ::BaseGameVersion const& baseGameVersion,
66 ::Experiments const& experiments
67 );
68
69 MCAPI void render(
70 ::BaseActorRenderContext& entityRenderContext,
71 ::BlockSource& renderSource,
72 ::BlockActor& e,
73 ::Block const& block,
74 bool renderAlphaLayer,
75 ::mce::MaterialPtr const& forcedMat,
76 ::mce::ClientTexture const* forceTex,
77 int breakingAmount,
78 ::std::optional<::dragon::RenderMetadata> renderMetadata
79 );
80
81 MCAPI void render(
82 ::BaseActorRenderContext& entityRenderContext,
83 ::BlockSource& renderSource,
84 ::BlockActor& e,
85 ::Block const& block,
86 ::Vec3 const& renderPos,
87 ::BlockPos const& worldPos,
88 bool renderAlphaLayer,
89 ::mce::MaterialPtr const& forcedMat,
90 ::mce::ClientTexture const* forceTex,
91 int breakingAmount,
92 ::std::optional<::dragon::RenderMetadata> renderMetadata
93 );
94 // NOLINTEND
95};
Definition ActorResourceDefinitionGroup.h:5
Definition BaseActorRenderContext.h:5
Definition BaseGameVersion.h:8
Definition BlockActorRenderDispatcher.h:5
Definition BlockActorRenderer.h:5
Definition BlockActor.h:30
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition BlockTessellator.h:5
Definition Block.h:43
Definition Experiments.h:14
Definition GeometryGroup.h:5
Definition ResourceLoadManager.h:19
Definition ResourcePackManager.h:30
Definition Vec3.h:10
Definition MaterialPtr.h:15
Definition TextureGroup.h:7
Definition RenderMetadata.h:7
Definition ClientTexture.h:7