From d9b5d6c12b850ceb2845f143d6908ad8b7465c1e Mon Sep 17 00:00:00 2001 From: lionarius Date: Wed, 25 Sep 2024 14:46:58 +0300 Subject: [PATCH] do not allow registering of providers with built-in names --- .../src/main/java/net/lionarius/skinrestorer/SkinRestorer.java | 3 ++- .../net/lionarius/skinrestorer/skin/provider/SkinProvider.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/net/lionarius/skinrestorer/SkinRestorer.java b/common/src/main/java/net/lionarius/skinrestorer/SkinRestorer.java index 2518497..a324c84 100644 --- a/common/src/main/java/net/lionarius/skinrestorer/SkinRestorer.java +++ b/common/src/main/java/net/lionarius/skinrestorer/SkinRestorer.java @@ -20,6 +20,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.nio.file.Path; +import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.Optional; @@ -71,7 +72,7 @@ public final class SkinRestorer { var isDefaultName = config.name().equals(defaultName); SkinRestorer.providersRegistry.register(defaultName, provider, config.enabled() && isDefaultName); - if (!isDefaultName) + if (!isDefaultName && Arrays.stream(SkinProvider.BUILTIN_PROVIDER_NAMES).noneMatch(name -> name.equals(config.name()))) SkinRestorer.providersRegistry.register(config.name(), provider, config.enabled()); } diff --git a/common/src/main/java/net/lionarius/skinrestorer/skin/provider/SkinProvider.java b/common/src/main/java/net/lionarius/skinrestorer/skin/provider/SkinProvider.java index 4df3b6a..86a5815 100644 --- a/common/src/main/java/net/lionarius/skinrestorer/skin/provider/SkinProvider.java +++ b/common/src/main/java/net/lionarius/skinrestorer/skin/provider/SkinProvider.java @@ -12,6 +12,8 @@ public interface SkinProvider { ElyBySkinProvider ELY_BY = new ElyBySkinProvider(); MineskinSkinProvider MINESKIN = new MineskinSkinProvider(); + String[] BUILTIN_PROVIDER_NAMES = new String[]{EmptySkinProvider.PROVIDER_NAME, MojangSkinProvider.PROVIDER_NAME, ElyBySkinProvider.PROVIDER_NAME, MineskinSkinProvider.PROVIDER_NAME}; + String getArgumentName(); boolean hasVariantSupport();