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

Merge remote-tracking branch 'origin/1.21-multiloader' into 1.21-multiloader

This commit is contained in:
2024-09-03 20:09:26 +03:00
12 changed files with 113 additions and 5 deletions

View File

@@ -2,6 +2,7 @@ package net.lionarius.skinrestorer;
import com.mojang.authlib.GameProfile;
import net.lionarius.skinrestorer.config.Config;
import net.lionarius.skinrestorer.platform.Services;
import net.lionarius.skinrestorer.skin.SkinIO;
import net.lionarius.skinrestorer.skin.SkinStorage;
import net.lionarius.skinrestorer.skin.SkinValue;
@@ -54,8 +55,8 @@ public final class SkinRestorer {
return Optional.ofNullable(SkinRestorer.providersRegistry.get(name));
}
public static void onInitialize(Path rootConfigDir) {
SkinRestorer.configDir = rootConfigDir.resolve(SkinRestorer.MOD_ID);
public static void onInitialize() {
SkinRestorer.configDir = Services.PLATFORM.getConfigDirectory().resolve(SkinRestorer.MOD_ID);
SkinRestorer.reloadConfig();
SkinRestorer.providersRegistry.register(EmptySkinProvider.PROVIDER_NAME, SkinProvider.EMPTY, false);

View File

@@ -0,0 +1,21 @@
package net.lionarius.skinrestorer.platform;
import net.lionarius.skinrestorer.SkinRestorer;
import net.lionarius.skinrestorer.platform.services.PlatformHelper;
import java.util.ServiceLoader;
public final class Services {
private Services() {}
public final static PlatformHelper PLATFORM = load(PlatformHelper.class);
private static <T> T load(Class<T> clazz) {
final T loadedService = ServiceLoader.load(clazz)
.findFirst()
.orElseThrow(() -> new NullPointerException("Failed to load service for " + clazz.getName()));
SkinRestorer.LOGGER.debug("Loaded {} for service {}", loadedService, clazz);
return loadedService;
}
}

View File

@@ -0,0 +1,12 @@
package net.lionarius.skinrestorer.platform.services;
import java.nio.file.Path;
public interface PlatformHelper {
String getPlatformName();
boolean isModLoaded(String modId);
Path getConfigDirectory();
}