diff --git a/build.gradle b/build.gradle index f0d23bd6..9e2553af 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { - id "architectury-plugin" version "3.0.97" - id "forgified-fabric-loom" version "0.6.78" apply false + id "architectury-plugin" version "3.1-SNAPSHOT" + id "forgified-fabric-loom" version "0.6-SNAPSHOT" apply false id "org.cadixdev.licenser" version "0.5.0" id "com.matthewprenger.cursegradle" version "1.4.0" apply false id "maven-publish" diff --git a/common/src/main/java/me/shedaniel/architectury/Architectury.java b/common/src/main/java/me/shedaniel/architectury/Architectury.java index ce0c85a7..9d19f01f 100644 --- a/common/src/main/java/me/shedaniel/architectury/Architectury.java +++ b/common/src/main/java/me/shedaniel/architectury/Architectury.java @@ -19,39 +19,14 @@ package me.shedaniel.architectury; -import com.google.common.collect.ImmutableMap; -import org.apache.logging.log4j.LogManager; +import me.shedaniel.architectury.targets.ArchitecturyTarget; import org.jetbrains.annotations.ApiStatus; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - @ApiStatus.Internal public class Architectury { - private static final String MOD_LOADER; - private static final ImmutableMap MOD_LOADERS = ImmutableMap.builder() - .put("net.fabricmc.loader.FabricLoader", "fabric") - .put("net.minecraftforge.fml.common.Mod", "forge") - .build(); - + @Deprecated + @ApiStatus.ScheduledForRemoval(inVersion = "2.0") public static String getModLoader() { - return MOD_LOADER; - } - - static { - List loader = new ArrayList<>(); - for (Map.Entry entry : MOD_LOADERS.entrySet()) { - try { - Class.forName(entry.getKey(), false, Architectury.class.getClassLoader()); - loader.add(entry.getValue()); - break; - } catch (ClassNotFoundException ignored) {} - } - if (loader.isEmpty()) - throw new IllegalStateException("No detected mod loader!"); - if (loader.size() >= 2) - LogManager.getLogger().error("Detected multiple mod loaders! Something is wrong on the classpath! " + String.join(", ", loader)); - MOD_LOADER = loader.get(0); + return ArchitecturyTarget.getCurrentTarget(); } } diff --git a/common/src/main/java/me/shedaniel/architectury/platform/Platform.java b/common/src/main/java/me/shedaniel/architectury/platform/Platform.java index a6543cde..4ea8fa39 100644 --- a/common/src/main/java/me/shedaniel/architectury/platform/Platform.java +++ b/common/src/main/java/me/shedaniel/architectury/platform/Platform.java @@ -21,9 +21,11 @@ package me.shedaniel.architectury.platform; import me.shedaniel.architectury.Architectury; import me.shedaniel.architectury.annotations.ExpectPlatform; +import me.shedaniel.architectury.targets.ArchitecturyTarget; import me.shedaniel.architectury.utils.Env; import net.fabricmc.api.EnvType; import net.minecraft.SharedConstants; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import java.nio.file.Path; @@ -37,8 +39,12 @@ public final class Platform { /** * @return the current mod loader, either "fabric" or "forge" + * @deprecated does not reflect the true mod loader, "quilt" is never returned, + * use {@link ArchitecturyTarget#getCurrentTarget()} instead. */ @NotNull + @Deprecated + @ApiStatus.ScheduledForRemoval(inVersion = "2.0") public static String getModLoader() { return Architectury.getModLoader(); } diff --git a/settings.gradle b/settings.gradle index f54332be..54ab33bf 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ pluginManagement { repositories { maven { url "https://maven.fabricmc.net/" } - maven { url "https://maven.shedaniel.me/" } + maven { url "https://maven.architectury.dev/" } maven { url "https://files.minecraftforge.net/maven/" } gradlePluginPortal() }