oft/module/settings/preventUserConfigOpen.mjs

35 lines
877 B
JavaScript

import { __ID__ } from "../consts.mjs";
import { Logger } from "../utils/Logger.mjs";
const key = `preventUserConfigOpen`;
export function preventUserConfigOpen() {
const prevented = Hooks.call(`${__ID__}.preventSetting`, key);
if (!prevented) {
Logger.log(`Preventing setting "${key}" from being registered`);
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
};