No more "Module Disabled"!
// ==UserScript==
// @name Redirect Old Links
// @version 0.3
// @description No more "Module Disabled"!
// @author comp500
// @namespace https://infra.link/
// @match https://minecraft.curseforge.com/mc-mods/*
// @homepageURL https://github.com/comp500/Curseforge-Userscripts/
// @supportURL https://github.com/comp500/Curseforge-Userscripts/issues/
// @source https://github.com/comp500/Curseforge-Userscripts/
// @run-at document-end
// @grant GM_xmlhttpRequest
// @connect addons-ecs.forgesvc.net
// ==/UserScript==
(async function() {
'use strict';
let greaseMonkeyXHR = details => {
details.method = details.method ? details.method : "GET";
details.anonymous = true;
details.responseType = details.responseType ? details.responseType : "arraybuffer";
return new Promise((resolve, reject) => {
details.onload = resolve;
details.onerror = reject;
GM_xmlhttpRequest(details);
});
};
// Match project IDs
let matches = location.href.match(/https:\/\/minecraft.curseforge.com\/mc-mods\/(\d+)/);
if (matches != null && matches[1] != null) {
location.href = "https://www.curseforge.com/projects/" + matches[1];
} else {
// Match slug IDs
matches = location.href.match(/https:\/\/minecraft.curseforge.com\/mc-mods\/([a-z][\da-z\-_]{1,127})\/?$/);
if (matches != null && matches[1] != null) {
location.href = "https://www.curseforge.com/minecraft/mc-mods/" + matches[1];
}
}
})();