24 lines
793 B
JavaScript
24 lines
793 B
JavaScript
import { SettingStatusEnum, status } from "./SettingStatus.mjs";
|
|
import { __ID__ } from "../consts.mjs";
|
|
import { Logger } from "./Logger.mjs";
|
|
|
|
export function preventTweakRegistration(key, invasive = false) {
|
|
let prevented = Hooks.call(`${__ID__}.preRegisterTweak`, key, invasive);
|
|
|
|
// Compatibility Code
|
|
if (Hooks.events[`${__ID__}.preventSetting`] != null) {
|
|
foundry.utils.logCompatibilityWarning(
|
|
`The hook "${__ID__}.preventSetting" has been renamed "${__ID__}.registerTweak".`,
|
|
{ since: `v1.2.0`, until: `v2.0.0`, stack: false, once: true },
|
|
);
|
|
prevented &&= Hooks.call(`${__ID__}.preventSetting`);
|
|
};
|
|
|
|
if (!prevented) {
|
|
Logger.log(`Preventing setting "${key}" from being registered`);
|
|
status[key] = SettingStatusEnum.Blocked;
|
|
return true;
|
|
};
|
|
|
|
return false;
|
|
};
|