class CompendiumPacks extends DirectoryCollectionMixin(Collection) { /** * Get a Collection of Folders which contain Compendium Packs * @returns {Collection} */ get folders() { return game.folders.reduce((collection, folder) => { if ( folder.type === "Compendium" ) { collection.set(folder.id, folder); } return collection; }, new foundry.utils.Collection()); } /* -------------------------------------------- */ /** @override */ _getVisibleTreeContents() { return this.contents.filter(pack => pack.visible); } /* -------------------------------------------- */ /** @override */ static _sortAlphabetical(a, b) { if ( a.metadata && b.metadata ) return a.metadata.label.localeCompare(b.metadata.label, game.i18n.lang); else return super._sortAlphabetical(a, b); } }