diff options
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/platform')
| -rw-r--r-- | src/main/java/cc/polyfrost/oneconfig/platform/LoaderPlatform.java | 22 | ||||
| -rw-r--r-- | src/main/java/cc/polyfrost/oneconfig/platform/Platform.java | 5 |
2 files changed, 24 insertions, 3 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/platform/LoaderPlatform.java b/src/main/java/cc/polyfrost/oneconfig/platform/LoaderPlatform.java index b271602..a9fc24e 100644 --- a/src/main/java/cc/polyfrost/oneconfig/platform/LoaderPlatform.java +++ b/src/main/java/cc/polyfrost/oneconfig/platform/LoaderPlatform.java @@ -26,20 +26,38 @@ package cc.polyfrost.oneconfig.platform; +import cc.polyfrost.oneconfig.libs.checker.nullness.qual.Nullable; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.util.List; + public interface LoaderPlatform { boolean isModLoaded(String id); + boolean hasActiveModContainer(); - ActiveMod getActiveModContainer(); + + @Nullable ActiveMod getActiveModContainer(); + + @Nullable ActiveMod toActiveMod(@Nullable Object in); + + /** + * Note: the list may contain null elements + */ + @NotNull + List<ActiveMod> getLoadedMods(); class ActiveMod { public final String name; public final String id; public final String version; + public final File source; - public ActiveMod(String name, String id, String version) { + public ActiveMod(String name, String id, String version, File source) { this.name = name; this.id = id; this.version = version; + this.source = source; } } } diff --git a/src/main/java/cc/polyfrost/oneconfig/platform/Platform.java b/src/main/java/cc/polyfrost/oneconfig/platform/Platform.java index 1298214..b4cbd28 100644 --- a/src/main/java/cc/polyfrost/oneconfig/platform/Platform.java +++ b/src/main/java/cc/polyfrost/oneconfig/platform/Platform.java @@ -30,7 +30,7 @@ import java.util.ServiceLoader; /** * Contains various platform-specific utilities for OneConfig. - * + * <p> * This is meant for internal usage, however other mods may use these (unless otherwise stated). */ public interface Platform { @@ -71,12 +71,15 @@ public interface Platform { int getMinecraftVersion(); + boolean isDevelopmentEnvironment(); + Loader getLoader(); class PlatformHolder { private PlatformHolder() { } + static PlatformHolder INSTANCE = new PlatformHolder(); Platform platform = ServiceLoader.load(Platform.class, Platform.class.getClassLoader()).iterator().next(); MousePlatform mousePlatform = ServiceLoader.load(MousePlatform.class, MousePlatform.class.getClassLoader()).iterator().next(); |
