Initialize wield mesh colors when changing item. (#12254)

Fixes #12245
This commit is contained in:
x2048 2022-05-01 17:21:00 +02:00 committed by GitHub
parent a89afe1229
commit c7bcebb628
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -457,6 +457,10 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, Client *client, bool che
material.setFlag(video::EMF_BILINEAR_FILTER, m_bilinear_filter);
material.setFlag(video::EMF_TRILINEAR_FILTER, m_trilinear_filter);
}
// initialize the color
if (!m_lighting)
setColor(video::SColor(0xFFFFFFFF));
return;
} else {
if (!def.inventory_image.empty()) {
@ -469,6 +473,10 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, Client *client, bool che
m_colors.emplace_back();
// overlay is white, if present
m_colors.emplace_back(true, video::SColor(0xFFFFFFFF));
// initialize the color
if (!m_lighting)
setColor(video::SColor(0xFFFFFFFF));
return;
}