diff --git a/Minecraft.Client/PlayerRenderer.cpp b/Minecraft.Client/PlayerRenderer.cpp index ad0a9b1fc..b08ed7e35 100644 --- a/Minecraft.Client/PlayerRenderer.cpp +++ b/Minecraft.Client/PlayerRenderer.cpp @@ -264,6 +264,31 @@ void PlayerRenderer::render(shared_ptr _mob, double x, double y, double armorParts2->idle=false; } + // Get armor in armor slot so we can hide the armor layer of the skin - Langtanium + shared_ptr itemHelmet = mob->inventory->getArmor(3); + shared_ptr itemChestplate = mob->inventory->getArmor(2); + shared_ptr itemLeggings = mob->inventory->getArmor(1); + shared_ptr itemBoots = mob->inventory->getArmor(0); + + // Hide armor layer of skin if corresponnding piece of armor is worn - Langtanium + if (itemChestplate != nullptr && resModel->texHeight == 64) + { + resModel->bodyArmor->visible=false; + resModel->armArmor0->visible=false; + resModel->armArmor1->visible=false; + } + if (itemLeggings != nullptr && resModel->texHeight == 64) + { + resModel->belt->visible=false; + resModel->legging0->visible=false; + resModel->legging1->visible=false; + } + if (itemBoots != nullptr && resModel->texHeight == 64) + { + resModel->boot0->visible=false; + resModel->boot1->visible=false; + } + // 4J-PB - any additional parts to turn on for this player (skin dependent) vector *pAdditionalModelParts=mob->GetAdditionalModelParts(); //turn them on @@ -271,8 +296,7 @@ void PlayerRenderer::render(shared_ptr _mob, double x, double y, double { for(ModelPart *pModelPart : *pAdditionalModelParts) { - shared_ptr itemInstance = mob->inventory->getArmor(3); - if (itemInstance == nullptr || !pModelPart->hideWithHelmet) + if (itemHelmet == nullptr || !pModelPart->hideWithHelmet) // Hide the skin boxes that have the hide when wearing a helmet pModelPart->visible=true; } }