import { SettingStatusEnum, status } from "../utils/SettingStatus.mjs"; import { __ID__ } from "../consts.mjs"; import { Logger } from "../utils/Logger.mjs"; const key = `preventUserConfigOpen`; export function preventUserConfigOpen() { status[key] = SettingStatusEnum.Unknown; const prevented = Hooks.call(`${__ID__}.preventSetting`, key); if (!prevented) { Logger.log(`Preventing setting "${key}" from being registered`); status[key] = SettingStatusEnum.Blocked; return; }; // #region Registration Logger.log(`Registering setting: ${key}`); game.settings.register(__ID__, key, { name: `OFT.setting.${key}.name`, hint: `OFT.setting.${key}.hint`, scope: `user`, type: Boolean, default: false, config: !game.user.isGM, requiresReload: false, }); // #endregion Registration // #region Implementation Hooks.once(`renderUserConfig`, (app, element) => { if (!game.ready && game.settings.get(__ID__, key)) { element.style.display = `none`; app.close(); }; }); // #endregion Implementation status[key] = SettingStatusEnum.Registered; };