mojira.dev
MC-299320

Game event "block_change" created by player inserts music disc into jukebox is always created twice

When player inserts music disc into jukebox, the level will create block_change game event, it's expected behavior. But level will create this event twice. The first event records the source entity (the player, exactly), the second event does not.

Because vibration system prefers the latest game event if other condition is equal, vibration listener always listen the second game event. But it doesn't make sense, the level will create game event block_change from jukebox block pos in 1 tick anyway. This will only increase unnecessary calculations to game.

Steps to reproduce

  1. Load this data pack and prepare blocks by screenshot.

  2. Run command /tick freeze.

  3. Inserting music disc into jukebox.

  4. Run command /data get block <pos> listener.

Expected Result

The return information from sculk shriker and sculk sensor should be same, or only sculk shrieker is {selector: {tick: -1L}, event_delay: 0}.

Observed Result

See the screenshot. Sculk shriker only listens event created by player, it causes sculk shriker listens the first game event and sculk sensor listens the second event.

Attachments

Comments 0

No comments.

wplxfore

(Unassigned)

Unconfirmed

(Unassigned)

1.21.7

Retrieved