Skip to content

API reference / @jsprismarine/advancements / PlayerAdvancements

Class: PlayerAdvancements ​

Defined in: progress.ts:50

One player's advancement progress.

The store holds completed criteria and their instants, and derives completion from the advancement's requirements every time it is asked, so reloading a datapack that changes requirements re-derives completion instead of trusting a stale flag. It owns no clock: a caller that wants reproducible instants passes at to grant.

Constructors ​

Constructor ​

new PlayerAdvancements(): PlayerAdvancements

Returns ​

PlayerAdvancements

Methods ​

grant() ​

grant(advancement, criterion, at?): boolean

Defined in: progress.ts:80

Marks one criterion completed.

Parameters ​

advancement ​

string

criterion ​

string

at? ​

string = ...

ISO-8601 instant to record; defaults to now.

Returns ​

boolean

Whether this call changed anything, which is false when the criterion was already completed.


hasCriterion() ​

hasCriterion(advancement, criterion): boolean

Defined in: progress.ts:69

Whether one criterion of one advancement is already completed.

Parameters ​

advancement ​

string

criterion ​

string

Returns ​

boolean


isDone() ​

isDone(advancement): boolean

Defined in: progress.ts:110

Whether the player has met the advancement's requirements.

Parameters ​

advancement ​

ParsedAdvancement

Returns ​

boolean


progressOf() ​

progressOf(advancement): AdvancementProgressView

Defined in: progress.ts:117

The player's standing on one advancement, including the group count a progress bar shows.

Parameters ​

advancement ​

ParsedAdvancement

Returns ​

AdvancementProgressView


revoke() ​

revoke(advancement): boolean

Defined in: progress.ts:105

Clears every criterion of one advancement.

Parameters ​

advancement ​

string

Returns ​

boolean

Whether the player had any progress on it.


revokeCriterion() ​

revokeCriterion(advancement, criterion): boolean

Defined in: progress.ts:93

Clears one criterion.

Parameters ​

advancement ​

string

criterion ​

string

Returns ​

boolean

Whether the criterion had been completed.


toJSON() ​

toJSON(advancements?): PlayerProgressJson

Defined in: progress.ts:135

The persistable form.

Parameters ​

advancements? ​

(id) => ParsedAdvancement | undefined

Looks up an advancement by id so each entry can carry the done flag a client needs. Without it every entry reports done: false.

Returns ​

PlayerProgressJson


fromJSON() ​

static fromJSON(json): PlayerAdvancements

Defined in: progress.ts:58

Restores a store from toJSON output. The done flags are ignored and recomputed, because only the advancement knows its requirements.

Parameters ​

json ​

PlayerProgressJson

Returns ​

PlayerAdvancements