Skip to content

Commit 67a9e3c

Browse files
committed
Update index.ts
1 parent d1ceee7 commit 67a9e3c

File tree

1 file changed

+8
-15
lines changed

1 file changed

+8
-15
lines changed

scripts/set-score/index.ts

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,32 +51,25 @@ function setScore (entity: Entity, objectiveId: string, score: number, action?:
5151
const objective = world.scoreboard.getObjective(objectiveId);
5252
if (!objective) throw new ReferenceError('Scoreboard objective does not exist in world.');
5353

54+
const previousScore = !!entity.scoreboardIdentity ? entity.scoreboardIdentity.getScore(objective) : 0;
55+
5456
switch (action) {
5557
case ScoreboardAction.add:
56-
// If entity doesnt have scoreboard property, run command
57-
if (!entity.scoreboardIdentity) entity.runCommandAsync('scoreboard players add @s ' + objective + ' ' + score);
58-
else {
59-
const previousScore = entity.scoreboardIdentity.getScore(objective);
60-
entity.scoreboardIdentity.setScore(objective, previousScore + score);
61-
};
58+
score += previousScore;
6259
break;
6360

6461
case ScoreboardAction.remove:
65-
// If entity doesnt have scoreboard property, run command
66-
if (!entity.scoreboardIdentity) entity.runCommandAsync('scoreboard players remove @s ' + objective + ' ' + score);
67-
else {
68-
const previousScore = entity.scoreboardIdentity.getScore(objective);
69-
entity.scoreboardIdentity.setScore(objective, previousScore - score);
70-
};
62+
score -= previousScore;
7163
break;
7264

7365
default:
74-
// If entity doesnt have scoreboard property, run command
75-
if (!entity.scoreboardIdentity) entity.runCommandAsync('scoreboard players set @s ' + objective + ' ' + score);
76-
else entity.scoreboardIdentity.setScore(objective, score);
7766
break;
7867
}
7968

69+
// If entity doesnt have scoreboard property, run command
70+
if (!entity.scoreboardIdentity) entity.runCommand('scoreboard players set @s ' + objective + ' ' + score);
71+
else entity.scoreboardIdentity.setScore(objective, score);
72+
8073
if (fetch) updateDisplay(objective);
8174
};
8275

0 commit comments

Comments
 (0)