1
0
mirror of https://github.com/Suiranoil/SkinRestorer.git synced 2026-01-16 04:42:12 +00:00

do not allow registering of providers with built-in names

This commit is contained in:
2024-09-25 14:46:58 +03:00
parent 86a1d4de14
commit d9b5d6c12b
2 changed files with 4 additions and 1 deletions

View File

@@ -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());
}

View File

@@ -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();