The scoreboard players reset <targets> <objective> command no longer works. Resetting them for all scoreboards does still seem to work.
Steps to reproduce:
Add the scoreboard using
/scoreboard objectives add TestScoreboard dummyGive
examplea score using/scoreboard players set example TestScoreboard 123Reset the score using the following command
/scoreboard players reset example TestScoreboardTry to get
example's score using/scoreboard players get example TestScoreboardNotice how the score is still present
(Alternatively you can use
/scoreboard objectives setdisplay sidebar TestScoreboardand see the score being displayed in the sidebar)
Simple code analysis (official mappings):
PlayerScorespublic boolean remove(Objective objective) {return this.scores.get(objective) != null;{{}}}
This method is used by the
Scoreboardto remove a specific objective from a "Player", but the current implementation doesn't remove it.To actually remove the objective entry from the scores Map, it needs to be replaced with something like this:
public boolean remove(Objective objective) {return this.scores.remove(objective) != null;{{}}}
I have written a simple fabric mod to fix this bug!