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/SheepRenderer.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Minecraft.Client/SheepRenderer.cpp (limited to 'Minecraft.Client/SheepRenderer.cpp') diff --git a/Minecraft.Client/SheepRenderer.cpp b/Minecraft.Client/SheepRenderer.cpp new file mode 100644 index 00000000..4af155d3 --- /dev/null +++ b/Minecraft.Client/SheepRenderer.cpp @@ -0,0 +1,34 @@ +#include "stdafx.h" +#include "SheepRenderer.h" +#include "MultiPlayerLocalPlayer.h" +#include "..\Minecraft.World\net.minecraft.world.entity.animal.h" + +SheepRenderer::SheepRenderer(Model *model, Model *armor, float shadow) : MobRenderer(model, shadow) +{ + setArmor(armor); +} + +int SheepRenderer::prepareArmor(shared_ptr _sheep, int layer, float a) +{ + // 4J - dynamic cast required because we aren't using templates/generics in our version + shared_ptr sheep = dynamic_pointer_cast(_sheep); + + if (layer == 0 && !sheep->isSheared() && + !sheep->isInvisibleTo(Minecraft::GetInstance()->player)) // 4J-JEV: Todo, merge with java fix (for invisible sheep armour) in '1.7.5'. + { + MemSect(31); + bindTexture(TN_MOB_SHEEP_FUR); // 4J was L"/mob/sheep_fur.png" + MemSect(0); + // 4J - change brought forward from 1.8.2 + float brightness = SharedConstants::TEXTURE_LIGHTING ? 1.0f : sheep->getBrightness(a); + int color = sheep->getColor(); + glColor3f(brightness * Sheep::COLOR[color][0], brightness * Sheep::COLOR[color][1], brightness * Sheep::COLOR[color][2]); + return 1; + } + return -1; +} + +void SheepRenderer::render(shared_ptr mob, double x, double y, double z, float rot, float a) +{ + MobRenderer::render(mob, x, y, z, rot, a); +} -- cgit v1.2.3