Shield blocking happens even while eating
The bug
Shield blocking happens even while eating in third person.
How to reproduce
- Put a shield in your off-hand, and food in your main hand
- When you are hungry, eat the food
→
You will eat the food, and your shield will come up to block
This doesn't happen with inverse slot arrangement, mind you. Also appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
Code analysis by Marcono1234 can be found in this comment.
Linked Issues
is duplicated by2
Created Issue:
Shield blocking happens even while eating
Put a shield in your off hand, and food in your main hand.
When you are hungry, eat the food. (I tested with cooked beef and a white shield, if that matters)
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
Environment
Windows 10
JRE 8u45
Put a shield in your off hand, and food in your main hand.
When you are hungry, eat the food. (I tested with cooked beef and a white shield, if that matters)
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
Edit: This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
relates to
relates to
Put a shield in your off hand, and food in your main hand.
When you are hungry, eat the food. (I tested with cooked beef and a white shield, if that matters)
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
Edit: This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis by Marcono1234 can be found in this comment.
Put a shield in your off
hand, and food in your main hand.When you are hungry, eat the food.
(I tested with cooked beef and a white shield, if that matters)
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
Edit: This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis by Marcono1234 can be found in this comment.
Put a shield in your off-hand, and food in your main hand.
When you are hungry, eat the food.
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
Edit: This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis by Marcono1234 can be found in this comment.
Windows 10
JRE 8u45
relates to
Put a shield in your off-hand, and food in your main hand.
When you are hungry, eat the food.
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
Edit: This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis by Marcono1234 can be found in
this comment.The bug
Put a shield in your off-hand, and food in your main hand.
When you are hungry, eat the food.
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
Edit: This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
Code analysis by Marcono1234 can be found in this comment.
The bug
Put a shield in your off-hand, and food in your main hand.
When you are hungry, eat the food.
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
Edit:This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
Code analysis by Marcono1234 can be found in this comment.
The bug
How to reproduce
Put a shield in your off-hand, and food in your main hand.
When you are hungry, eat the food.
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
By Marcono1234 can be found in this comment.
The bugHow to reproduce
Put a shield in your off-hand, and food in your main hand.
When you are hungry, eat the food.
You will eat the food, and your shield will come up to block.This doesn't happen with inverse slot arrangement, mind you.
This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
By Marcono1234 can be found in this comment.
The bug
Shield blocking happens even while eating in third person.
How to reproduce
- Put a shield in your off-hand, and food in your main hand.
- When you are hungry, eat the food.
->You will eat the food, and your shield will come up to block.
This doesn't happen with inverse slot arrangement, mind you.
This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
By Marcono1234 can be found in this comment.
The bugShield blocking happens even while eating in third person.
How to reproduce
- Put a shield in your off-hand, and food in your main hand.
- When you are hungry, eat the food.
->You will eat the food, and your shield will come up to block.
This doesn't happen with inverse slot arrangement, mind you.
This appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
By Marcono1234 can be found in this comment.
The bug
Shield blocking happens even while eating in third person.
How to reproduce
- Put a shield in your off-hand, and food in your main hand.
- When you are hungry, eat the food.
->You will eat the food, and your shield will come up to block.
This doesn't happen with inverse slot arrangement, mind you. Also appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
By Marcono1234 can be found in this comment.
The bug
Shield blocking happens even while eating in third person.
How to reproduce
- Put a shield in your off-hand, and food in your main hand.
- When you are hungry, eat the food.
->You will eat the food, and your shield will come up to block.
This doesn't happen with inverse slot arrangement, mind you. Also appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
By Marcono1234 can be found in this comment.
The bug
Shield blocking happens even while eating in third person.
How to reproduce
- Put a shield in your off-hand, and food in your main hand.
- When you are hungry, eat the food.
->You will eat the food, and your shield will come up to block.
This doesn't happen with inverse slot arrangement, mind you. Also appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
By Marcono1234 can be found in this comment.
The bug
Shield blocking happens even while eating in third person.
How to reproduce
- Put a shield in your off-hand, and food in your main hand
.- When you are hungry, eat the food
.
->You will eat the food, and your shield will come up to block
.
This doesn't happen with inverse slot arrangement, mind you. Also appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
By Marcono1234 can be found in this comment.
The bug
Shield blocking happens even while eating in third person.
How to reproduce
- Put a shield in your off-hand, and food in your main hand
- When you are hungry, eat the food
→You will eat the food, and your shield will come up to block
This doesn't happen with inverse slot arrangement, mind you. Also appears to only be happening in third person, and it's more of a "partial block". Your arm doesn't go up all the way to block.
Code analysis
Code analysis by Marcono1234 can be found in this comment.
is duplicated by
is duplicated by
relates to
Please link to this comment in the description
The following is based on decompiled version of Minecraft 1.11 using MCP 9.35 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is because the method net.minecraft.client.renderer.entity.RenderPlayer.setModelVisibilities(AbstractClientPlayer) is not setting the ArmPose's based on the used item, but instead based on what the items in both hands can do.
The following shows how this could be solved using the existing methods net.minecraft.entity.EntityLivingBase.getActiveItemStack() and net.minecraft.entity.EntityLivingBase.getActiveHand().
private void setModelVisibilities(AbstractClientPlayer clientPlayer) { ModelPlayer modelplayer = this.getMainModel(); if (clientPlayer.isSpectator()) { modelplayer.setInvisible(false); modelplayer.bipedHead.showModel = true; modelplayer.bipedHeadwear.showModel = true; } else { ItemStack itemstack = clientPlayer.getHeldItemMainhand(); ItemStack itemstack1 = clientPlayer.getHeldItemOffhand(); //... ModelBiped.ArmPose modelbiped$armpose = ModelBiped.ArmPose.EMPTY; ModelBiped.ArmPose modelbiped$armpose1 = ModelBiped.ArmPose.EMPTY; // Replaced this //if (itemstack != null) //{ // modelbiped$armpose = ModelBiped.ArmPose.ITEM; // // if (clientPlayer.getItemInUseCount() > 0) // { // EnumAction enumaction = itemstack.getItemUseAction(); // // if (enumaction == EnumAction.BLOCK) // { // modelbiped$armpose = ModelBiped.ArmPose.BLOCK; // } // else if (enumaction == EnumAction.BOW) // { // modelbiped$armpose = ModelBiped.ArmPose.BOW_AND_ARROW; // } // } //} // //if (itemstack1 != null) //{ // modelbiped$armpose1 = ModelBiped.ArmPose.ITEM; // // if (clientPlayer.getItemInUseCount() > 0) // { // EnumAction enumaction1 = itemstack1.getItemUseAction(); // // if (enumaction1 == EnumAction.BLOCK) // { // modelbiped$armpose1 = ModelBiped.ArmPose.BLOCK; // } // } //} if (itemstack != null) { modelbiped$armpose = ModelBiped.ArmPose.ITEM; } if (itemstack1 != null) { modelbiped$armpose1 = ModelBiped.ArmPose.ITEM; } ItemStack itemStackInUse = clientPlayer.getActiveItemStack(); if (itemStackInUse != null) { ModelBiped.ArmPose armPose = ModelBiped.ArmPose.EMPTY; EnumAction enumAction = itemStackInUse.getItemUseAction(); if (enumAction == EnumAction.BLOCK) { armPose = ModelBiped.ArmPose.BLOCK; } else if (enumAction == EnumAction.BOW) { armPose = ModelBiped.ArmPose.BOW_AND_ARROW; } if (clientPlayer.getActiveHand() == EnumHand.MAIN_HAND) { modelbiped$armpose = armPose; } else { modelbiped$armpose1 = armPose; } } // End replacement if (clientPlayer.getPrimaryHand() == EnumHandSide.RIGHT) { modelplayer.rightArmPose = modelbiped$armpose; modelplayer.leftArmPose = modelbiped$armpose1; } else { modelplayer.rightArmPose = modelbiped$armpose1; modelplayer.leftArmPose = modelbiped$armpose; } } }
They are duplicates because the RenderPlayer is setting the pose to what can be done with both items. For example with MC-86197 the one item has eating as action and the other item has blocking as action. Both poses would be diplayed, but as eating has no arm pose only blocking is displayed.
But you can leave them as related if you want to.
Thank you for your report!
We're actually already tracking this issue in MC-86197, so I resolved and linked this ticket as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature in the future to see if the issue has already been reported.
Quick Links:
📓 Issue Guidelines – 💬 Community Support – 📧 Customer Support – 📖 Game Wiki

Confirmed for 16w06a
Is this still an issue in the latest snapshot 16w44a? If so please update the affected versions.
This is an automated comment on any open or reopened issue with out-of-date affected versions.
Confirmed for 1.13.1.
Fixed in 1.16 Pre-release 8.
Confirmed fixed.