44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
import {RightClickAction, settingsKey} from "./settings.js";
|
|
|
|
const currentDataVersion = "1.10.0";
|
|
|
|
export async function performMigrations() {
|
|
if (game.user.isGM) await performWorldMigraionts();
|
|
await performClientMigrations();
|
|
}
|
|
|
|
async function performWorldMigraionts() {
|
|
let dataVersion = game.settings.get(settingsKey, "dataVersion");
|
|
|
|
if (dataVersion === currentDataVersion) return;
|
|
|
|
if (dataVersion === "fresh install") {
|
|
game.settings.set(settingsKey, "dataVersion", currentDataVersion);
|
|
return;
|
|
}
|
|
|
|
if (dataVersion === "1.3.0") {
|
|
dataVersion = "1.10.0";
|
|
}
|
|
|
|
game.settings.set(settingsKey, "dataVersion", dataVersion);
|
|
}
|
|
|
|
async function performClientMigrations() {
|
|
let dataVersion = game.settings.get(settingsKey, "clientDataVersion");
|
|
|
|
if (dataVersion === "fresh install") {
|
|
// Start of migration from unnamed version (< 1.10.0). TODO Remove in a future version
|
|
const swapSpacebarRightClick = game.settings.storage
|
|
.get("client")
|
|
.getItem(`${settingsKey}.swapSpacebarRightClick`);
|
|
if (swapSpacebarRightClick) {
|
|
game.settings.set(settingsKey, "rightClickAction", RightClickAction.CREATE_WAYPOINT);
|
|
await game.keybindings.set(settingsKey, "createWaypoint", []);
|
|
await game.keybindings.set(settingsKey, "deleteWaypoint", [{key: "Space"}]);
|
|
}
|
|
// End of migration from unnamed version
|
|
game.settings.set(settingsKey, "clientDataVersion", currentDataVersion);
|
|
}
|
|
}
|