mirror of
https://github.com/BluTac10/Xbox-Neo.git
synced 2026-06-29 21:37:12 +00:00
fix: armorstand head now renders correctly
This commit is contained in:
@@ -86,10 +86,8 @@ unsigned int PlayerRenderer::getNametagColour(int index)
|
||||
|
||||
int PlayerRenderer::prepareArmor(shared_ptr<LivingEntity> _player, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
shared_ptr<Player> player = dynamic_pointer_cast<Player>(_player);
|
||||
|
||||
// 4J-PB - need to disable rendering armour for some special skins (Daleks)
|
||||
unsigned int uiAnimOverrideBitmask=player->getAnimOverrideBitmask();
|
||||
if(uiAnimOverrideBitmask&(1<<HumanoidModel::eAnim_DontRenderArmour))
|
||||
{
|
||||
@@ -105,7 +103,6 @@ int PlayerRenderer::prepareArmor(shared_ptr<LivingEntity> _player, int layer, fl
|
||||
ArmorItem *armorItem = dynamic_cast<ArmorItem *>(item);
|
||||
bindTexture(HumanoidMobRenderer::getArmorLocation(armorItem, layer));
|
||||
|
||||
SkullItem* skullItem = dynamic_cast<SkullItem*>(item);
|
||||
HumanoidModel *armor = layer == 2 ? armorParts2 : armorParts1;
|
||||
|
||||
armor->head->visible = layer == 0;
|
||||
@@ -143,53 +140,10 @@ int PlayerRenderer::prepareArmor(shared_ptr<LivingEntity> _player, int layer, fl
|
||||
return 1;
|
||||
}
|
||||
else if (dynamic_cast<SkullItem*>(item)) {
|
||||
SkullItem* skullItem = dynamic_cast<SkullItem*>(item);
|
||||
HumanoidModel* armor = armorParts3;
|
||||
auto t = new SkeletonHeadModel(0, 0, 64, 64, 1);
|
||||
//armor->head->_init();
|
||||
armor->head = t->head;
|
||||
//armor->head->addHumanoidBox(-4, -8, -4, 8, 8, 8, 0.5); // Head
|
||||
|
||||
armor->head->visible = layer == 0;
|
||||
|
||||
armor->hair->visible = false;
|
||||
armor->body->visible = false;
|
||||
armor->arm0->visible = false;
|
||||
armor->arm1->visible = false;
|
||||
armor->leg0->visible = false;
|
||||
armor->leg1->visible = false;
|
||||
|
||||
switch (itemInstance->getAuxValue())
|
||||
{
|
||||
case SkullTileEntity::TYPE_WITHER:
|
||||
bindTexture(&WITHER_SKELETON_LOCATION);
|
||||
break;
|
||||
case SkullTileEntity::TYPE_ZOMBIE:
|
||||
bindTexture(&ZOMBIE_LOCATION);
|
||||
break;
|
||||
case SkullTileEntity::TYPE_CREEPER:
|
||||
bindTexture(&CREEPER_LOCATION);
|
||||
break;
|
||||
case SkullTileEntity::TYPE_CHAR:
|
||||
{
|
||||
bindTexture(&PlayerRenderer::DEFAULT_LOCATION);
|
||||
break;
|
||||
}
|
||||
case SkullTileEntity::TYPE_SKELETON:
|
||||
default:
|
||||
bindTexture(&SKELETON_LOCATION);
|
||||
break;
|
||||
}
|
||||
setArmor(armor);
|
||||
if (armor != nullptr) armor->attackTime = model->attackTime;
|
||||
if (armor != nullptr) armor->riding = model->riding;
|
||||
if (armor != nullptr) armor->young = model->young;
|
||||
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
|
||||
}
|
||||
|
||||
void PlayerRenderer::prepareSecondPassArmor(shared_ptr<LivingEntity> _player, int layer, float a)
|
||||
|
||||
Reference in New Issue
Block a user