From 416c4f6a0e0b2a5d6950cbc44df2ac7ffbd57ca0 Mon Sep 17 00:00:00 2001 From: Edward Badel Date: Fri, 21 Jan 2022 21:43:20 -0500 Subject: [PATCH] Prevent double registering of mods --- src/js/mods/modloader.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/js/mods/modloader.js b/src/js/mods/modloader.js index 96743038..e9c0f281 100644 --- a/src/js/mods/modloader.js +++ b/src/js/mods/modloader.js @@ -135,14 +135,18 @@ export class ModLoader { }; mods.forEach(modCode => { - modCode += ` - if (typeof Mod !== 'undefined') { - if (typeof METADATA !== 'object') { - throw new Error("No METADATA variable found"); - } - window.$shapez_registerMod(Mod, METADATA); + modCode += modCode.includes("window.$shapez_registerMod") + ? "" + : ` + if (typeof Mod !== 'undefined') { + if (typeof METADATA !== 'object') { + throw new Error("No METADATA variable found"); } - `; + window.$shapez_registerMod(Mod, METADATA); + } else { + throw new Error('No "Mod" class found') + } + `; try { const func = new Function(modCode); func();