Files

42 lines
1.1 KiB
JavaScript
Raw Permalink Normal View History

2025-01-04 00:34:03 +01:00
/**
* The Collection of Setting documents which exist within the active World.
* This collection is accessible as game.settings.storage.get("world")
* @extends {WorldCollection}
*
* @see {@link Setting} The Setting document
*/
class WorldSettings extends WorldCollection {
/** @override */
static documentName = "Setting";
/* -------------------------------------------- */
/** @override */
get directory() {
return null;
}
/* -------------------------------------------- */
/* World Settings Methods */
/* -------------------------------------------- */
/**
* Return the Setting document with the given key.
* @param {string} key The setting key
* @returns {Setting} The Setting
*/
getSetting(key) {
return this.find(s => s.key === key);
}
/**
* Return the serialized value of the world setting as a string
* @param {string} key The setting key
* @returns {string|null} The serialized setting string
*/
getItem(key) {
return this.getSetting(key)?.value ?? null;
}
}