Affects Version/s: 1.14.4, 19w34a, 1.15 Pre-release 5, 1.15.2, 20w06a, 20w07a, 20w08a, 20w09a, 20w10a, 20w11a, 20w12a, 20w14a, 20w16a, 20w17a, 20w18a, 20w20b, 1.16 Pre-release 5, 1.16.1, 1.16.2 Pre-release 1
Fix Version/s: None
When a scoreboard objective captured by a command callback (a score result consumer) is removed from the server scoreboard, the objective remains in the callback and create an inaccessible score.
→ data.PlayerScores in data/scoreboard.dat has two identical objects.
(1) The argument objective is captured by the callback. The callback is executed after objective is removed from the server scoreboard.
(2) playerScore is definitely an empty map in this case since all the scores of the objective in playerScores are removed when the objective is removed.
(3) Since playerScore is empty, the mapping function is definitely applied and a score with count 0 is created using the removed objective. This causes duplication of player scores.