Use the correct nexus game id
Instead of the internal vortex game id.
This commit is contained in:
parent
d67e75af4a
commit
01a58f45cf
@ -31,5 +31,8 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"url-loader": "^4.1.1"
|
"url-loader": "^4.1.1"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"extensionName": "Modmapper integration"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
12
src/index.ts
12
src/index.ts
@ -16,6 +16,11 @@ const excludedPlugins = [
|
|||||||
"Dragonborn.esm",
|
"Dragonborn.esm",
|
||||||
].map(s => s.toLowerCase());
|
].map(s => s.toLowerCase());
|
||||||
|
|
||||||
|
const gameIdConversions = {
|
||||||
|
'skyrimse': 'skyrimspecialedition',
|
||||||
|
'skyrimvr': 'skyrimspecialedition',
|
||||||
|
};
|
||||||
|
|
||||||
const modmapperModUrl = (gameId: string, modId: number): string => `${modMapperBase}?mod=${modId}&game=${gameId}`;
|
const modmapperModUrl = (gameId: string, modId: number): string => `${modMapperBase}?mod=${modId}&game=${gameId}`;
|
||||||
const modmapperPluginUrl = (hash: string): string => `${modMapperBase}?plugin=${hash}`;
|
const modmapperPluginUrl = (hash: string): string => `${modMapperBase}?plugin=${hash}`;
|
||||||
|
|
||||||
@ -41,8 +46,11 @@ function main(context: IExtensionContext) {
|
|||||||
const mod = util.getSafe(state, ['persistent', 'mods', gameId, instanceIds[0]], undefined);
|
const mod = util.getSafe(state, ['persistent', 'mods', gameId, instanceIds[0]], undefined);
|
||||||
// could not find the mod in the state.
|
// could not find the mod in the state.
|
||||||
if (!mod) return;
|
if (!mod) return;
|
||||||
// Is this mod from gather the info about the mod.
|
// Get nexus game id for the mod.
|
||||||
const game: string = mod.attributes?.downloadGame;
|
const downloadGame: string = mod.attributes?.downloadGame;
|
||||||
|
const knownGames = util.getSafe(state, ['session', 'gameMode', 'known'], []);
|
||||||
|
const game = knownGames.find(g => g.id === downloadGame)?.details?.nexusPageId ?? gameIdConversions[downloadGame] ?? downloadGame;
|
||||||
|
|
||||||
const modId: number = mod.attributes?.modId;
|
const modId: number = mod.attributes?.modId;
|
||||||
return util.opn(modmapperModUrl(game, modId)).catch((err) => log('error', 'Could not open web page', err));
|
return util.opn(modmapperModUrl(game, modId)).catch((err) => log('error', 'Could not open web page', err));
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user