Skip to content

Commit 7debaf7

Browse files
committed
2 parents 4b998cb + 0d1f99d commit 7debaf7

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { getScore, getScores } from "./index.js";
2+
import { world } from "mojang-minecraft";
3+
4+
let player = [...world.getPlayers()][0];
5+
6+
getScores(player);
7+
8+
getScore(player, "myObjective");

scripts/get-scores/index.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Player, Entity, world, ScoreboardIdentityType } from "mojang-minecraft";
1+
import { Player, Entity, world, ScoreboardIdentityType, ScoreboardIdentity, ScoreboardObjective } from "mojang-minecraft";
22

33
/**
44
* Get all scoreboard scores from a player or entity.
@@ -10,9 +10,27 @@ export function getScores (target) {
1010
let objectives = world.scoreboard.getObjectives();
1111
let targetScoreboard = {};
1212

13-
if (target.scoreboard === undefined) return targetScoreboard;
13+
if (!(target.scoreboard instanceof ScoreboardIdentity)) return targetScoreboard;
1414
for (const objective of objectives) targetScoreboard[objective.id] = objective.getScores().find((score) => score.participant.type !== ScoreboardIdentityType.fakePlayer ? score.participant.getEntity() === target : false)?.score;
1515
return targetScoreboard;
1616
};
1717

18-
console.warn(JSON.stringify(getScores([...world.getPlayers()][0])));
18+
/**
19+
* Get scoreboard scores from a player or entity.
20+
* Does not support fake player.
21+
* @param {Player | Entity} target
22+
* @param {string} objectiveId
23+
* @return {number}
24+
*/
25+
export function getScore (target, objectiveId) {
26+
let objective = world.scoreboard.getObjective(objectiveId);
27+
28+
if (!(target.scoreboard instanceof ScoreboardIdentity)) return;
29+
if (!(objective instanceof ScoreboardObjective)) return;
30+
31+
try {
32+
return objective.getScore(target.scoreboard);
33+
} catch (err) {
34+
console.error(err);
35+
};
36+
};

0 commit comments

Comments
 (0)