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

Related issues

MC-97772 Shield Blocking Failure MC-101905 Shield blocking delay MC-104363 Shields don't block the moment they are raised MC-120021 Shields sometimes don't block skeleton arrows MC-129384 Shields cannot withstand external damage at raise instant. MC-150035 Shield has a big delay before working MC-154637 Shields don't protect when lifted just before attack MC-170613 The shield did not protect MC-170633 shields not blocking arrows MC-193964 Arrows pass through the shield MC-194995 Skeletons and mobs can hit you while blocking with a shield MC-196642 Arrows go through shields MC-200588 Shield Delay MC-206450 Shields don't protect right after you activate them. MC-217060 Shield blocking MC-223229 Skeleton Shield Glitch MC-225524 Shields sometimes don't work MC-232772 Minecraft Shield Bug MC-233794 Arrows fired prior to shield blocking will always deal damage, even if hitting a shield that is up MC-264769 You can still get hit after blocking with the shield MC-271333 The shield doesn't work when a skeleton shoots you MC-274463 Shield doesn't cancel damage if you start blocking too late MC-274806 Shield is not working properly MC-279477 When I shield 2 seconds or less before a creeper explodes the shield does not work MC-297303 creepers bypass shields on newer versions

Attachments

Comments

migrated

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

[media][media][media][media]
migrated

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

migrated

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

migrated

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.

migrated

Confirmed for release 1.10

wobst.michael

Duplicate of MC-97772

[Mod] Neko

Forward resolving MC-97772 to here.

migrated

Still affects 1.12.2, although the Minecraft Wiki at the very least treats this as intended behavior; there was .5s after raising shield before it was effective in early 1.9 snapshots, but this was reduced to .25s before 1.9's release. If the delay is longer than this, and isn't due to some form of lag, then it's a definitely a bug.

But even if it is intended, it shouldn't exist

migrated

What the wiki states is irrelevant. It only states the current behavior, not intended behavior. And as such is not a relyable source regarding if it's intended or not.

migrated

Still an issue in 18w21b

wobst.michael

@unknown, ticket is yours now.

adri2711

It is actually a feature. It is unknown why they would have such a stupid mechanic but thats how the mojang works

migrated

Source that this is intended?

migrated

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

migrated

I don't know if it's intended, but have no sense. 

The main problem is that there is a desynchronization between what the player sees and what happens in the game. The player is seeing that he raised the shield in time to block that arrow, but the arrow hits him and makes him lose life points. 

If the player is seeing that he is protected, he must not lose the points of life.

There is already a delay since the player presses the button until the shield rises (the visual animation time)

migrated

This feels completly wrong. As Dídac said, the animation should be synced with the intended action in-game. Also, having this feature fixed would feel rewarding for the skills of the player; defending in the last second is an act of reflexes, and the gaming community when rewarded for their skills gives back to the game whichi finally means, a better image for the game itself.

Probably the younger players wont care about this and keep playing as pretended by the limitations, but the more adult community will turn away from a game that displays and ignores this "spaghetti code" behaviour. By the end of the day, this means advertising and finally, a bigger and more mature community.

This affects especially the PvP and PvE players, which makes up the fighting and adventure sides of the game.

migrated

Confirmed to be fixed in a future version 😃:
https://twitter.com/jeb_/status/1136935340827127813

migrated

Affects versions 20w20a and 20w20b as well. This is the one bug I want to be fixed, I literally don't use shields because of this bug and it's beginning to really frustrate me.

migrated

Affects 1.16.1

migrated

In 20w27a

migrated

The way i play the game, this bug seems like it should have far more ubiquity. That reaction time is pretty much pointless when blocking, that you're effectively punished for doing something to the same effect as parrying, is pretty dumb. But fix it on your own time, Mojang! 🙂 🙂 🙂 🙂 🙂 😉

Avoma

Can confirm in 20w51a.

Avoma

Can confirm in 21w03a.

Avoma

Can confirm in 21w05b.

Avoma

Can confirm in 21w06a.

Avoma

Can confirm in 21w07a.

Butterlicker

I thought this was an intended feature

migrated

Can confirm in 21w11a.

Avoma

Can confirm in 21w14a.

migrated

Can confirm in 21w18a

Avoma

Can confirm in 1.17.

migrated

Can confirm in 21w38a

migrated

Not sure if developers intended for shield blocking to be instantaneous or if they intended for there to be a delay. Either way, current functionality is insufficient because with the delay we have right now, it is not shown to the player, therefore the instantaneous shield blocking we see is misleading – a potential fix if developers wish to keep a delay functionality is to maybe make an animation that shows the delay, and the animation only ends once the delay is over and the shield is in blocking position. If this is the route we go, it would also be essential for pvp that this animation and its timing is correctly visible to other players as well.
Just attached 2 more vids recorded in 1.17.1, latest release at time of typing this, which show this happening in melee cases as the existing vids were with projectiles.

migrated

Can confirm in both 21w39a and 21w40a. 

 

Also Megalodab in this video that does code analysis of this issue I assume it is intended. In short, there is an arbitrary 250ms delay after you hold up a shield until it is permitted to block attacks. I don't know how you would add this to the description like how other reports have a Code analysis section but maybe someone else knows how. 

In any case I feel like the delay should be removed entirely (which from what I can understand would involve just changing a 5 to a 0) rather than syncing the animation to the delay because it just adds unneeded jank to the shield and makes you play arbitrarily slow with it, not just with pvp, but also with pve fighting multiple skeletons, for example.

migrated

Yeah I agree zeta I’d prolly want the instantaneous option

migrated

In 22w15a and in 1.18.2

migrated

Affects 1.19

SoloAlguien

Can confirm in 1.19.2.

migrated

yes finally

migrated

To the people who say this might be intended, Mojang can easily clear that up by marking this issue as "Works as Intended".
However they keep it open for unknown reasons (as far as we know), which leads me to believe it was intended.

migrated

Can confirm in 23w05a

migrated

Confirmed in 1.20

SeaOfPixels

This should be WAI, in the combat tests this was intentionally changed and discussed by Jeb. It will not be changed for the current combat system, as it is intended there.

migrated

@SeaOfPixels If this is WAI then it should not play the pull up animation until after whatever time it can start blocking attacks so it doesn't just lift up the shield to find out it won't work right away.

 

Confirmed in 1.20.2.

AyaSensei067

If you guys didn't know, shields have a cooldown of 0.25 seconds before blocking damage so unfortunately, it does not block instantly.

 

Can also confirm in 23w42a

migrated

There's nothing more annoying than blocking a skeleton arrow only to still get hit by it, and it gets annoying having to pre emptively block and wait for the skeleton to shoot

AyaSensei067

Confirmed in 23w43a and 23w43b

AyaSensei067

Confirmed in 23w44a

AyaSensei067

Also confirmed in 23w45a

AyaSensei067

Confirmed in 23w46a

AyaSensei067

Confirmed in 1.20.3-pre2

AyaSensei067

Confirmed in 1.20.3

migrated

Can confirm in 1.20.4 Release Candidate 1

AyaSensei067

Confirmed in 24w05b

AyaSensei067

Confirmed in 24w14a

AyaSensei067

Confirmed in 1.20.6-rc1

AyaSensei067

Confirmed in 24w18a

fakemario1

grab a shield in your non-dominant (or dominant) hand and try to block instantly

Brevort

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.

PearUhDox

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.

Ellivers

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.

NicoVA

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

flow_santohyj123

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

migrated

(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, ..., 24w18a, 1.21, 1.21.4, 1.21.5, 1.21.6 Pre-Release 3

Retrieved