oft/module/settings/preventMovementHistory.mjs

42 lines
1.1 KiB
JavaScript

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;
};