mojira.dev
MCPE-109330

Experience orbs sink very slowly in falling water

In 1.16.100 experience orbs were changed to float in water instead of sinking. Presumably this change was intended to match the behavior of item entities in water. However, the behaviors in falling water do not match. Experience orbs now sink much more slowly in falling water than item entities do, taking about 3 seconds to sink by 1 block. This makes makes them harder to collect in some situations, and can create problems for transport systems.

The attached test world,

[media]

, contains a labelled system of command blocks and water streams to automate testing this issue. The test area has four parts labelled with crimson signs and separated by black concrete lines. Only part 3 relates to this bug report (parts 1, 2 and 4 demonstrate issues reported at MCPE-109326, which seem to have a different cause). Each water stream also has a number.

Steps to reproduce

  1. Open

[media]
  1. .

  2. Stand on the gold block and face the test area. Note that the player must stay ~10 blocks from the test area to not disturb the experience orbs.

  3. Press the button on the command blocks. This deletes all existing items and orbs and runs a new trial.

  4. Examine the results in the third part, streams 13-14.

Expected result

The experience orbs and item entities reach the end of streams 13 and 14 at the same time.

Actual result

The experience orbs reach the end of stream 14 about 15 seconds after the item entities reach the end of stream 13.

Related issues

Attachments

Comments

migrated
[media][media]
GoldenHelmet

This isssue is caused by the minecraft:buoyant component added to the vanilla behavior pack entities\xp_orb.json file. In particular, the line

"apply_gravity": false,

However, this line is also what makes XP orbs float, so it cannot simply be changed.

In order to fix this bug, xp_orbs need to be given two component groups containing buoyant components, one with {color:#00875A}"apply_gravity": false{color} and one with {color:#00875A}"apply_gravity": true{color}. These component groups can be added and removed by events called by the "minecraft:inside_block_notifier" component detecting when the xp_orb enters and leaves falling water, i.e. with the following block filter:

"block": {
              "name": "minecraft:water",
              "states": {
                "liquid_depth": 8
              }
            }

The fix for MCPE-106439 is analogous, so I have made a behavior pack that fixes both bugs.

[media]

migrated

Can confirm.

migrated

Affects 1.17.40.20

GoldenHelmet

(Unassigned)

445094, 1321740

Confirmed

Multiple

1.17.11 Hotfix, 1.16.100, 1.16.200, 1.16.210, 1.17.40, 1.20.0, 1.21.21 Hotfix

Retrieved