Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-197368

Projectile inBlockState is set before the Target block has updated.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Awaiting Response
    • None
    • 1.16.1, 1.16.2 Release Candidate 1
    • Confirmed
    • (Unassigned)

      In 20w10a and 20w11a, projectiles that get stuck in a block get their inBlockState nbt data set AFTER it has hit the block, which means that the target block has time to update its values. The projectile then stores that new data. This was useful for knowing how high the power output is on the impact by checking the projectile's data.

      In 20w12a and onwards (still in 1.16.2 RC1), projectiles that get stuck in a block get their inBlockState nbt data set BEFORE it hits the block. The value of the power output is useless, as this is 0 in most cases, except just after another projectile hit the block setting it's power state higher. The new projectile will then read the output value of the old projectile.

      I expect the state of the block to change before it is stored in the inBlockState nbt.

      There is currently no easy way to check the target block's power output based on a projectile hit. Also because the 'eye facing direction' of the arrow is inconsistent with where it actually points to: MC-112474

      You can only get this reliably by using computationally intensive algorithms to find the block that the arrow has stuck in, since the position: x, y, z is also no longer stored in the arrow's NBT.

            Unassigned Unassigned
            m124367 AgentM
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: