Developers
API reference
The calls available to script plugins through BA, and their external-pack equivalents.
Progress
BA.award(player, "gems:root", "emerald"); // complete one goal
BA.grant(player, "gems:root"); // complete an advancement
BA.revoke(player, "gems:root");
BA.isDone(player, "gems:root"); // true or false
BA.progress(player, "gems:hoarder"); // { done, total }
Events
BA.emit(player, "gems:polished", "ruby"); // progresses { trigger: "event", event: "gems:polished" }
BA.onComplete(({ player, advancement }) => {
// every completion, from any pack
});
An event goal can require a value with data (a string or number, compared exactly) or, in script plugins, test it with match(data, player).
The screen
BA.open(player, { tabId: "gems:main" });
Content
BA.remove("minecraft:story/root"); // remove a built-in advancement
BA.english({ "my.tab.title": "My Tab" }); // English text for Discord when you use lang keys
External packs
| Script plugin | External pack (baClient.js) |
|---|---|
BA.award(player, id, criterion) | ba.award(player, id, criterion) |
BA.grant / BA.revoke | ba.grant / ba.revoke |
BA.emit(player, event, data) | ba.emit(player, event, data) |
BA.onComplete(fn) | ba.onCompleted(fn) |
BA.open(player, { tabId }) | ba.open(player, tabId) |