From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.Client/EntityRenderDispatcher.h | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Minecraft.Client/EntityRenderDispatcher.h (limited to 'Minecraft.Client/EntityRenderDispatcher.h') diff --git a/Minecraft.Client/EntityRenderDispatcher.h b/Minecraft.Client/EntityRenderDispatcher.h new file mode 100644 index 00000000..248be18f --- /dev/null +++ b/Minecraft.Client/EntityRenderDispatcher.h @@ -0,0 +1,49 @@ +#pragma once +#include "EntityRenderer.h" +#include "..\Minecraft.World\Entity.h" +#include "..\Minecraft.World\JavaIntHash.h" +class font; +using namespace std; + +class EntityRenderDispatcher +{ +public: + static void staticCtor(); // 4J added +private: + typedef unordered_map classToRendererMap; + classToRendererMap renderers; + // 4J - was: +// Map, EntityRenderer> renderers = new HashMap, EntityRenderer>(); + +public: + static EntityRenderDispatcher *instance; +private: + Font *font; + +public: + static double xOff, yOff, zOff; + + Textures *textures; + ItemInHandRenderer *itemInHandRenderer; + Level *level; + shared_ptr cameraEntity; + float playerRotY; + float playerRotX; + Options *options; + bool isGuiRender; // 4J added + + double xPlayer, yPlayer, zPlayer; + +private: + EntityRenderDispatcher(); +public: + EntityRenderer *getRenderer(eINSTANCEOF e); + EntityRenderer *getRenderer(shared_ptr e); + void prepare(Level *level, Textures *textures, Font *font, shared_ptr player, Options *options, float a); + void render(shared_ptr entity, float a); + void render(shared_ptr entity, double x, double y, double z, float rot, float a, bool bItemFrame = false, bool bRenderPlayerShadow = true); + void setLevel(Level *level); + double distanceToSqr(double x, double y, double z); + Font *getFont(); + void registerTerrainTextures(IconRegister *iconRegister); +}; -- cgit v1.2.3