Every time i go to place a Shulker named "Dinnerbone" or "Grumm" on every side (not the top or bottom) it renders somewhat normally except its not upside down.
I thought it would be to where the bottom texture of the Shulker would show up on the opposite side its supposed to, what i got is only the shulkers placed on the top & bottom east & west flipping correctly.
This affects 1.9+
the code below is probably outdated
Code Analysis
The method responsible for rotating an entity named "Dinnerbone
" or "Grumm
", net.minecraft.client.renderer.entity.RenderLivingBase.rotateCorpse(T entityLiving, float p_77043_2_, float p_77043_3_, float partialTicks)
, will render the entity 2 pixels higher than it's actual height.
GlStateManager.translate(0.0F, entityLiving.height + 0.1F, 0.0F);
The reason the Shulker appears that it is not flipped is because the code does not take the Shulkers rotation into consideration.
Linked issues
Attachments
Comments 4
You're right except that shulkers on Certain walls DO flip but on others Don't.
see 2016-10-23_23.19.29.png
it should also be noted that while it does seem to work as intended i think this could be a problem for future entities.
and no, the way to fix this would be to flip everything on its local Y axis like this
[media]and as stated before this does not seem to work as intended as the shulkers Do flip only on the east/west & up/down directions but not the north/south directions, which if it flips on one it only seems logical for it to do it the other way, even though this is an easter egg technically in minecraft, if they were to use the code for this somewhere else it will cause problems.
PS: I drew this in haste as so to show what i meant by local axis
Here is a diagram to explain how Dinnerbone and Grumm flip entities and why that appears to fail on shulkers who are facing walls.
(edit: Dinnerbone and Grumm do not++ flip any entity around its own axis, only one axis for every entity. To "fix" this would be to create an inconsistency in how Dinnerbone and Grumm affect entities.)
[media]