mojira.dev
MC-100949

Shield blocking is delayed

The bug

If you use a shield, it will not block for a fraction of a second, so it doesn't protect you instantly.

How to reproduce

  1. On survival mode, spawn a skeleton

  2. When it shoots you, block with the shield
    → ❌ You will not stop the arrow and it will deal damage to you

Linked issues

MC-97772 Shield Blocking Failure Resolved MC-101905 Shield blocking delay Resolved MC-104363 Shields don't block the moment they are raised Resolved MC-120021 Shields sometimes don't block skeleton arrows Resolved MC-129384 Shields cannot withstand external damage at raise instant. Resolved

Attachments

Comments 63

[^[1] invisible delay before shield actually starts blocking (1) (1).mp4]
[^[2] invisible delay before shield actually starts blocking.mp4]

[media][media][media][media]

Please do not mark unreleased versions as affected.
You don't have access to them yet.

Still applies to version 1.9.4. Does anyone know if this is actually a bug or it's intended purpose?

It happens even when you block before the arrow shoots, I always hit the skeleton when his bow is empty, and have to pull up shield as soon as he charges another arrow, if I'm too late the arrow ignores the shield.

Confirmed for release 1.10

53 more comments

In 25w04a shields now have a component which determines how long it takes for the shield to start blocking, and the default is 0, however, that doesn't seem to actually work and shields still have the delay.

This should probably now be marked as intended as despite the tag existing, a spawned item with a set delay of 0 works.

/give @p diamond_sword[minecraft:blocks_attacks={block_delay_seconds:0}]

This item can block damage and reflect noticeably faster than a vanilla shield, which means the shield should have a specified value of 0.25 in the block delay seconds property. Assuming this item works properly and can be verified, that would mean that the way shields work is considered intentional.

Shields are intended to have a block delay of 0.25 seconds, as can be seen now in the default components of the item:

"minecraft:shield": {
    "components": {
      "minecraft:attribute_modifiers": [],
      "minecraft:banner_patterns": [],
      "minecraft:blocks_attacks": {
        "block_delay_seconds": 0.25,
        "block_sound": "minecraft:item.shield.block",
        "bypassed_by": "#minecraft:bypasses_shield",
        "disabled_sound": "minecraft:item.shield.break",
        "item_damage": {
          "base": 1.0,
          "factor": 1.0,
          "threshold": 3.0
        }
      },
 ...

This seems like it should be marked as intended.

I want to confirm that this issue has also happened to me in version 1.21.4

Among the many fights I've had against skeletons, pillagers and piglins or even blazes, I've noticed for a while now that even though my reaction time is sufficient to stop a projectile with my shield, I still get hit because there seems to be a delay in the shield's functioning

As the user called Migrated mentioned above, the only case where the shield works is when you use it preemptively and wait for the skeleton to fire. But, again, running up to a skeleton and waiting until the last moment to block isn't possible, as the instant effective block doesn't work

Let's take the following example: I'm in the forest cutting down a tree, when suddenly I hear a skeleton behind me about to shoot me. When I quickly turn around and use my shield, I can clearly see that the arrow hasn't hit me yet, but upon impact I take damage as if I hadn't used the shield. This may be a little annoying and inconvenient

To conclude, I just want to say that in my opinion, protecting yourself with the shield is very good and it does its job, but I feel that the reaction to projectile attacks still needs to be improved

This is most likely intentional now as the new minecraft:blocks_attacks component has a block_delay_seconds field.
Also, MC-279799 exists.

Pablo

Greg Milson

(Unassigned)

Confirmed

Gameplay

Normal

Player

block, delay, shield

Minecraft 1.9.2, Minecraft 16w14a, Minecraft 16w15a, Minecraft 16w15b, Minecraft 1.9.3 Pre-Release 3, ..., 1.21, 1.21.4, 1.21.5, 1.21.6 Pre-Release 3, 25w31a

Retrieved