From 69da26fb7c129ad676d232ecb207e692ab1ec431 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Sun, 20 Mar 2022 20:00:00 -0700 Subject: [PATCH] Throw an error if a skin is classic AND modern --- packages/skin-database/addSkin.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/skin-database/addSkin.ts b/packages/skin-database/addSkin.ts index bfcc8b51..196d6933 100644 --- a/packages/skin-database/addSkin.ts +++ b/packages/skin-database/addSkin.ts @@ -123,10 +123,15 @@ async function addClassicSkinFromBuffer( } export async function getSkinType(zip: JSZip): Promise { - if (zip.file(/main\.bmp$/i).length > 0) { + const classic = (zip.file(/main\.bmp$/i).length > 0) + const modern = (zip.file(/skin\.xml$/i).length > 0); + if (classic && modern) { + throw new Error("Skin is both modern and classic."); + } + if (classic) { return "CLASSIC"; } - if (zip.file(/skin\.xml$/i).length > 0) { + if (modern) { return "MODERN"; } throw new Error("Not a skin");