import { SettingStatusEnum, status } from "../utils/SettingStatus.mjs"; import { __ID__ } from "../consts.mjs"; import { Logger } from "../utils/Logger.mjs"; const key = `preventMovementHistory`; export function preventMovementHistory() { 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: `world`, type: Boolean, default: false, config: true, reloadRequired: true, }); // #endregion Registration // #region Implementation if (game.settings.get(__ID__, key)) { class OFTTokenDocument extends CONFIG.Token.documentClass { _shouldRecordMovementHistory() { return false; }; }; CONFIG.Token.documentClass = OFTTokenDocument; }; // #endregion Implementation status[key] = SettingStatusEnum.Registered; };