LeviLamina
Loading...
Searching...
No Matches
EditorVolumeHighlightRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/controls/renderers/MinecraftUICustomRenderer.h"
7#include "mc/deps/application/AppPlatformListener.h"
8#include "mc/deps/core/math/Vec3.h"
9#include "mc/deps/game_refs/WeakRef.h"
10#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
11#include "mc/world/level/BlockChangedEventTarget.h"
12#include "mc/world/level/BlockSourceListener.h"
13#include "mc/world/level/Tick.h"
14
15// auto generated forward declare list
16// clang-format off
17class AABB;
18class Actor;
20class Block;
21class BlockPos;
22class BlockSource;
24class IClientInstance;
28class Tessellator;
29class UIControl;
32namespace ClientBlockPipeline { class TessellatorContext; }
33// clang-format on
34
38public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<1, 1, bool> mListenerInitialized;
42 ::ll::TypedStorage<8, 8, ::EditorVolumeHighlightRendererInstanceData*> mInstanceContext;
43 ::ll::TypedStorage<8, 8, ::Tick> mRenderTick;
44 ::ll::TypedStorage<4, 12, ::Vec3> mSortingCameraPos;
45 ::ll::TypedStorage<1, 1, bool> mResort;
46 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mSelectedBlocksOverlayTex;
47 // NOLINTEND
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual ~EditorVolumeHighlightRenderer() /*override*/ = default;
53
54 virtual ::std::shared_ptr<::UICustomRenderer> clone() const /*override*/;
55
56 virtual void
57 render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& client, ::UIControl&, int) /*override*/;
58
59 virtual void onSourceDestroyed(::BlockSource& source) /*override*/;
60
61 virtual void onBlockChanged(
62 ::BlockSource& source,
63 ::BlockPos const& pos,
64 uint layer,
65 ::Block const& block,
66 ::Block const& oldBlock,
67 int updateFlags,
68 ::ActorBlockSyncMessage const* syncMsg,
69 ::BlockChangedEventTarget eventTarget,
70 ::Actor* blockChangeSource
71 ) /*override*/;
72 // NOLINTEND
73
74public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI EditorVolumeHighlightRenderer();
78
79 MCAPI ::std::vector<::BlockPos> _generateChunkStartPositions(::AABB const& area) const;
80
81 MCAPI ::RenderChunkInstanced& _getRenderChunkInstanced(::BlockPos const& chunkPos);
82
83 MCAPI void _initializeChunkBuilder(
84 ::ClientBlockPipeline::TessellatorContext& pipelineContext,
85 ::BlockSource& region,
86 ::Tessellator& tessellator,
87 ::WeakRef<::RenderChunkCoordinator> coordinator,
88 ::AABB const& area
89 );
90
91 MCAPI bool _renderBlockEntities(
92 ::BaseActorRenderContext& renderContext,
93 ::BlockSource& region,
94 ::AABB const& area,
95 ::Vec3 const& offset,
96 bool renderAlphaLayer
97 ) const;
98
99 MCAPI bool _renderBlocks(
100 ::BaseActorRenderContext& renderContext,
101 ::BlockSource& region,
102 ::AABB const& area,
103 ::Vec3 const& offset
104 );
105 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor();
111 // NOLINTEND
112
113public:
114 // virtual function thunks
115 // NOLINTBEGIN
116 MCAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
117
118 MCAPI void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& client, ::UIControl&, int);
119
120 MCFOLD void $onSourceDestroyed(::BlockSource& source);
121
122 MCAPI void $onBlockChanged(
123 ::BlockSource& source,
124 ::BlockPos const& pos,
125 uint layer,
126 ::Block const& block,
127 ::Block const& oldBlock,
128 int updateFlags,
129 ::ActorBlockSyncMessage const* syncMsg,
130 ::BlockChangedEventTarget eventTarget,
131 ::Actor* blockChangeSource
132 );
133 // NOLINTEND
134
135public:
136 // vftables
137 // NOLINTBEGIN
138 MCNAPI static void** $vftableForAppPlatformListener();
139
140 MCNAPI static void** $vftableForBlockSourceListener();
141
143 // NOLINTEND
144};
Definition AABB.h:18
Definition Actor.h:125
Definition AppPlatformListener.h:15
Definition BaseActorRenderContext.h:5
Definition BlockPos.h:21
Definition BlockSourceListener.h:18
Definition BlockSource.h:73
Definition Block.h:69
Definition TessellatorContext.h:7
Definition EditorVolumeHighlightRendererInstanceData.h:5
Definition EditorVolumeHighlightRenderer.h:5
static MCAPI void ** $vftableForAppPlatformListener()
static MCAPI void ** $vftableForBlockSourceListener()
static MCAPI void ** $vftableForMinecraftUICustomRenderer()
Definition IClientInstance.h:5
Definition MinecraftUICustomRenderer.h:5
Definition MinecraftUIRenderContext.h:5
Definition RenderChunkCoordinator.h:5
Definition RenderChunkInstanced.h:5
Definition Tessellator.h:5
Definition UIControl.h:5
Definition UICustomRenderer.h:5
Definition ActorBlockSyncMessage.h:8