diff options
| author | nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> | 2022-09-03 12:50:40 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-03 13:50:40 +0200 |
| commit | 4c60b452efda24794c0faa5f300fdd830edcd383 (patch) | |
| tree | 06c4d425bdc405af0189f4707ba1302b864f7328 /src/main/java/cc/polyfrost/oneconfig/platform | |
| parent | b7169237c543bf549a4b03dcc9a23b516da635eb (diff) | |
| download | OneConfig-4c60b452efda24794c0faa5f300fdd830edcd383.tar.gz OneConfig-4c60b452efda24794c0faa5f300fdd830edcd383.tar.bz2 OneConfig-4c60b452efda24794c0faa5f300fdd830edcd383.zip | |
deprecator + Stack trace utilities (#121)
* deprecator
* check for more system packages because iterators n stuff
* add LogScanner, new loader platform features, spam protection
* oop~
* move to Preferences
* diamond review
* add back the exception
* try-catch things and associate OneConfig mods with an ActiveMod
* ok maybe not + api my beloved
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(); |
