LeviLamina
Loading...
Searching...
No Matches
DataDrivenRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/actor/ActorRenderer.h"
7#include "mc/deps/core/container/small_vector_base.h"
8#include "mc/deps/core/string/HashedString.h"
9#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
10#include "mc/util/molang/ExpressionNode.h"
11
12// auto generated forward declare list
13// clang-format off
14class AABB;
15class Actor;
16class ActorRenderData;
21class RenderParams;
22class Vec3;
23namespace mce { class TextureGroup; }
24// clang-format on
25
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::DataDrivenRenderer_tempComponent>>> mTempComponents;
31 ::ll::TypedStorage<8, 48, ::HashedString const> mName;
32 ::ll::TypedStorage<1, 1, bool const> mIsAttachable;
33 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mDefaultSkin;
34 ::ll::TypedStorage<8, 16, ::ExpressionNode> mUpdateBonesAndEffectsIfOffScreen;
35 ::ll::TypedStorage<8, 16, ::ExpressionNode> mUpdateEffectsIfOffScreen;
36 ::ll::TypedStorage<8, 16, ::ExpressionNode> mHideHeldItems;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 DataDrivenRenderer();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual void getLeashOffsets(
47 ::Actor& actor,
48 float,
49 float,
50 float,
51 bool legacyOffset,
52 ::Bedrock::small_vector_base<::Vec3>& output
53 ) const /*override*/;
54
55 virtual void render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData) /*override*/;
56
57 virtual void
58 renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData) /*override*/;
59
60 virtual ::AABB getRenderBounds(::Actor const& entity) const /*override*/;
61
62 virtual void addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup) /*override*/;
63
64 virtual void setIsOnScreen(::Actor& actor, bool const isOnScreen, float distance) const /*override*/;
65
66 virtual bool shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams& renderParams) const /*override*/;
67
68 virtual bool shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams) const /*override*/;
69
70 virtual bool shouldHideHeldItems(::RenderParams& renderParams) const /*override*/;
71 // NOLINTEND
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCAPI DataDrivenRenderer(
77 ::std::shared_ptr<::ActorResourceDefinition> definition,
78 ::std::shared_ptr<::mce::TextureGroup> textureGroup
79 );
80
81 MCAPI void addAgentAdditionalRendering();
82
83 MCAPI void addBalloonAdditionalRendering();
84
85 MCAPI void addEnderCrystalAdditionalRendering();
86
87 MCAPI void addEnderDragonAdditionalRendering();
88
89 MCAPI void addEnderManAdditionalRendering(::BlockTessellator* blockTesselator);
90
91 MCAPI void addFoxAdditionalRendering();
92
93 MCAPI void addGuardianAdditionalRendering();
94
95 MCAPI void addHumanoidAdditionalRendering(::std::shared_ptr<::mce::TextureGroup> textureGroup);
96
97 MCAPI void addIronGolemAdditionalRendering(::BlockTessellator* blockTesselator);
98
99 MCAPI void addMinecartAdditionalRendering(::BlockTessellator& commonBlockRenderer);
100
101 MCAPI void addMushroomCowAdditionalRendering(::BlockTessellator& commonBlockRenderer);
102
103 MCAPI void addPandaAdditionalRendering();
104
105 MCAPI void addSnowGolemAdditionalRendering(::BlockTessellator* blockTesselator);
106
107 MCAPI void addVexAdditionalRendering();
108
109 MCAPI void addVillagerAdditionalRendering();
110
111 MCFOLD void addVillagerV2AdditionalRendering();
112
113 MCFOLD void addWanderingTraderAdditionalRendering();
114
115 MCAPI void addWitchAdditionalRendering();
116 // NOLINTEND
117
118public:
119 // static functions
120 // NOLINTBEGIN
121 MCAPI static void getLeashOffsets(::Actor& actor, bool legacyOffset, ::Bedrock::small_vector_base<::Vec3>& output);
122 // NOLINTEND
123
124public:
125 // constructor thunks
126 // NOLINTBEGIN
127 MCAPI void*
128 $ctor(::std::shared_ptr<::ActorResourceDefinition> definition, ::std::shared_ptr<::mce::TextureGroup> textureGroup);
129 // NOLINTEND
130
131public:
132 // virtual function thunks
133 // NOLINTBEGIN
134 MCAPI void $getLeashOffsets(
135 ::Actor& actor,
136 float,
137 float,
138 float,
139 bool legacyOffset,
140 ::Bedrock::small_vector_base<::Vec3>& output
141 ) const;
142
143 MCAPI void $render(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
144
145 MCAPI void $renderEffects(::BaseActorRenderContext& renderContext, ::ActorRenderData& actorRenderData);
146
147 MCAPI ::AABB $getRenderBounds(::Actor const& entity) const;
148
149 MCAPI void $addAdditionalRenderingIfNeeded(::std::shared_ptr<::mce::TextureGroup> textureGroup);
150
151 MCAPI void $setIsOnScreen(::Actor& actor, bool const isOnScreen, float distance) const;
152
153 MCAPI bool $shouldUpdateBonesAndEffectsIfOffScreen(::RenderParams& renderParams) const;
154
155 MCAPI bool $shouldUpdateEffectsIfOffScreen(::RenderParams& renderParams) const;
156
157 MCAPI bool $shouldHideHeldItems(::RenderParams& renderParams) const;
158 // NOLINTEND
159};
Definition AABB.h:18
Definition ActorRenderData.h:5
Definition ActorRenderer.h:5
Definition ActorResourceDefinition.h:5
Definition Actor.h:113
Definition BaseActorRenderContext.h:5
Definition BlockTessellator.h:5
Definition DataDrivenRenderer_tempComponent.h:5
Definition DataDrivenRenderer.h:5
Definition RenderParams.h:29
Definition Vec3.h:10
Definition TextureGroup.h:7