diff --git a/src/main/java/cam72cam/mod/ModCore.java b/src/main/java/cam72cam/mod/ModCore.java index ed924e90..aceb1529 100644 --- a/src/main/java/cam72cam/mod/ModCore.java +++ b/src/main/java/cam72cam/mod/ModCore.java @@ -20,7 +20,6 @@ import net.minecraft.client.resources.FolderResourcePack; import net.minecraft.client.resources.IResourcePack; import net.minecraft.client.resources.SimpleReloadableResourceManager; -import net.minecraft.world.World; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.SidedProxy; @@ -28,6 +27,7 @@ import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLServerStartedEvent; +import net.minecraftforge.fml.relauncher.CoreModManager; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import org.apache.commons.io.FileUtils; @@ -39,6 +39,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.lang.reflect.Field; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; @@ -371,4 +372,28 @@ public static synchronized File cacheFile(Identifier id) { usedCacheFiles.add(f); return f; } + + /* Loader Utils */ + public static String loaderBrand() { + return "forge"; + } + + public static int mcVersion() { + return 11202; + } + + private static Boolean isDev = null; + + public static boolean isDevelopmentEnvironment() { + if (isDev == null) { + try { + Field field = CoreModManager.class.getDeclaredField("deobfuscatedEnvironment"); + field.setAccessible(true); + isDev = field.getBoolean(null); + } catch (NoSuchFieldException | IllegalAccessException ignore) { + isDev = false; + } + } + return isDev; + } } diff --git a/src/main/java/cam72cam/mod/UMCMixinPlugin.java b/src/main/java/cam72cam/mod/UMCMixinPlugin.java index e5efbd11..78898473 100644 --- a/src/main/java/cam72cam/mod/UMCMixinPlugin.java +++ b/src/main/java/cam72cam/mod/UMCMixinPlugin.java @@ -28,7 +28,9 @@ public UMCMixinPlugin() { if (file.isFile() && !CoreModManager.getReparseableCoremods().contains(file.getName())) { //Due to FML's bad behaviour on processing FMLCorePluginContainsFMLMod we add here manually CoreModManager.getIgnoredMods().remove(file.getName()); - CoreModManager.getReparseableCoremods().add(file.getName()); + if (!ModCore.isDevelopmentEnvironment()) { + CoreModManager.getReparseableCoremods().add(file.getName()); + } } } catch (URISyntaxException e) { FMLLog.log.warn(e);