diff --git a/src/Analysis/Problem/Forge/ModDependencyProblem.php b/src/Analysis/Problem/Forge/ModDependencyProblem.php index 7b79e4f..958dbe7 100644 --- a/src/Analysis/Problem/Forge/ModDependencyProblem.php +++ b/src/Analysis/Problem/Forge/ModDependencyProblem.php @@ -45,9 +45,9 @@ public static function getPatterns(): array { return [ '/The mod \S+ \(([^\)]+)\) requires mods \[([^\]]+)\] to be available/', - '/net\.minecraftforge\.fml\.common\.MissingModsException: Mod \S+ \((.+)\) requires (.+)/', - '/net\.minecraftforge\.fml\.ModLoadingException: Mod \§.([^\§]+)\§. requires \§.([^\§]+)\§. \§.([^ \§]+)[^\§]*\§./', - '/net\.minecraftforge\.fml\.LoadingFailedException: Loading errors encountered: \[\n(?:.*\n)*Mod \§.([^\§]+)§. requires \§.([^\§]+)\§. \§.([^ \§]+)[^\§]*\§./' + '/net\.minecraftforge\.fml\.common\.MissingModsException: Mod \S+ \((.+)\) requires (?!minecraft[,\s])(.+)/', + '/net\.minecraftforge\.fml\.ModLoadingException: Mod \§.([^\§]+)\§. requires \§.(?!minecraft\§.)([^\§]+)\§. \§.([^ \§]+)[^\§]*\§./', + '/net\.minecraftforge\.fml\.LoadingFailedException: Loading errors encountered: \[\n(?:.*\n)*Mod \§.([^\§]+)§. requires \§.(?!minecraft\§.)([^\§]+)\§. \§.([^ \§]+)[^\§]*\§./' ]; } diff --git a/src/Analysis/Problem/Forge/ModWrongMinecraftVersionProblem.php b/src/Analysis/Problem/Forge/ModWrongMinecraftVersionProblem.php index 01be8ea..b66a50d 100644 --- a/src/Analysis/Problem/Forge/ModWrongMinecraftVersionProblem.php +++ b/src/Analysis/Problem/Forge/ModWrongMinecraftVersionProblem.php @@ -45,7 +45,10 @@ public function getMessage(): string */ public static function getPatterns(): array { - return ['/The mod (\S+) does not wish to run in Minecraft version Minecraft ([0-9\.]+)\. You will have to remove it to play\./']; + return [ + '/The mod (\S+) does not wish to run in Minecraft version Minecraft ([0-9\.]+)\. You will have to remove it to play\./', + '/net\.minecraftforge\.fml\.ModLoadingException: Mod \§.([^\§]+)\§. requires \§.minecraft\§. \§.([^ \§]+)[^\§]*\§./', + ]; } /** diff --git a/test/data/Vanilla/Forge/forge-mod-loading-dependency.json b/test/data/Vanilla/Forge/forge-mod-loading-dependency.json index 335c4c7..83cc38f 100644 --- a/test/data/Vanilla/Forge/forge-mod-loading-dependency.json +++ b/test/data/Vanilla/Forge/forge-mod-loading-dependency.json @@ -1773,8 +1773,8 @@ ] }, { - "message": "The mod 'car' is missing the required mod 'minecraft'.", - "counter": 2, + "message": "The mod 'car' is not compatible with the Minecraft version 1.15.1.", + "counter": 1, "entry": { "level": 2, "time": null, @@ -1884,7 +1884,10 @@ }, "solutions": [ { - "message": "Install the mod 'minecraft' with version 1.15.1." + "message": "Remove the mod 'car'." + }, + { + "message": "Install a different Forge version." } ] } diff --git a/test/data/Vanilla/Forge/forge-mod-missing-minecraft.json b/test/data/Vanilla/Forge/forge-mod-missing-minecraft.json new file mode 100644 index 0000000..4f23a08 --- /dev/null +++ b/test/data/Vanilla/Forge/forge-mod-missing-minecraft.json @@ -0,0 +1,474 @@ +{ + "id": "forge\/server", + "name": "Forge", + "type": "Server Log", + "version": null, + "title": "Forge Server Log", + "entries": [ + { + "level": 3, + "time": null, + "prefix": "[27Jan2022 14:45:30.276] [main\/ERROR] [net.minecraftforge.fml.loading.ModSorter\/LOADING]:", + "lines": [ + { + "number": 1, + "content": "[27Jan2022 14:45:30.276] [main\/ERROR] [net.minecraftforge.fml.loading.ModSorter\/LOADING]: Missing mandatory dependencies: minecraft" + } + ] + }, + { + "level": 6, + "time": null, + "prefix": "[27Jan2022 14:45:35.923] [main\/INFO] [mixin\/]:", + "lines": [ + { + "number": 2, + "content": "[27Jan2022 14:45:35.923] [main\/INFO] [mixin\/]: Compatibility level set to JAVA_17" + } + ] + }, + { + "level": 6, + "time": null, + "prefix": "[27Jan2022 14:45:35.962] [main\/INFO] [cpw.mods.modlauncher.LaunchServiceHandler\/MODLAUNCHER]:", + "lines": [ + { + "number": 3, + "content": "[27Jan2022 14:45:35.962] [main\/INFO] [cpw.mods.modlauncher.LaunchServiceHandler\/MODLAUNCHER]: Launching target 'forgeserver' with arguments [nogui]" + } + ] + }, + { + "level": 6, + "time": null, + "prefix": "[27Jan2022 14:45:36.068] [main\/INFO] [Sodium\/]:", + "lines": [ + { + "number": 4, + "content": "[27Jan2022 14:45:36.068] [main\/INFO] [Sodium\/]: Loaded configuration file for Sodium: 29 options available, 0 override(s) found" + } + ] + }, + { + "level": 2, + "time": null, + "prefix": "[27Jan2022 14:45:49.558] [main\/FATAL] [net.minecraftforge.fml.ModLoader\/CORE]:", + "lines": [ + { + "number": 5, + "content": "[27Jan2022 14:45:49.558] [main\/FATAL] [net.minecraftforge.fml.ModLoader\/CORE]: Error during pre-loading phase" + }, + { + "number": 6, + "content": "net.minecraftforge.fml.ModLoadingException: Mod \u00a7emagnesium\u00a7r requires \u00a76minecraft\u00a7r \u00a7o1.18\u00a7r" + }, + { + "number": 7, + "content": "\u00a77Currently, \u00a76minecraft\u00a7r\u00a77 is \u00a7o1.18.1" + }, + { + "number": 8, + "content": "\tat net.minecraftforge.fml.ModLoadingException.lambda$fromEarlyException$0(ModLoadingException.java:64) ~[fmlcore-1.18.1-39.0.59.jar%2355!\/:?]" + }, + { + "number": 9, + "content": "\tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]" + }, + { + "number": 10, + "content": "\tat java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) ~[?:?]" + }, + { + "number": 11, + "content": "\tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]" + }, + { + "number": 12, + "content": "\tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]" + }, + { + "number": 13, + "content": "\tat java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]" + }, + { + "number": 14, + "content": "\tat java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]" + }, + { + "number": 15, + "content": "\tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]" + }, + { + "number": 16, + "content": "\tat java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]" + }, + { + "number": 17, + "content": "\tat java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) ~[?:?]" + }, + { + "number": 18, + "content": "\tat java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]" + }, + { + "number": 19, + "content": "\tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]" + }, + { + "number": 20, + "content": "\tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]" + }, + { + "number": 21, + "content": "\tat java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]" + }, + { + "number": 22, + "content": "\tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]" + }, + { + "number": 23, + "content": "\tat java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]" + }, + { + "number": 24, + "content": "\tat net.minecraftforge.fml.ModLoader.(ModLoader.java:108) ~[fmlcore-1.18.1-39.0.59.jar%2355!\/:?]" + }, + { + "number": 25, + "content": "\tat net.minecraftforge.fml.ModLoader.get(ModLoader.java:140) ~[fmlcore-1.18.1-39.0.59.jar%2355!\/:?]" + }, + { + "number": 26, + "content": "\tat net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:46) ~[forge-1.18.1-39.0.59-universal.jar%2358!\/:?]" + }, + { + "number": 27, + "content": "\tat net.minecraft.server.Main.main(Main.java:104) ~[server-1.18.1-20211210.034407-srg.jar%2354!\/:?]" + }, + { + "number": 28, + "content": "\tat jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]" + }, + { + "number": 29, + "content": "\tat jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]" + }, + { + "number": 30, + "content": "\tat jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]" + }, + { + "number": 31, + "content": "\tat java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]" + }, + { + "number": 32, + "content": "\tat net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:46) ~[fmlloader-1.18.1-39.0.59.jar%2323!\/:?]" + }, + { + "number": 33, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 34, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 35, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 36, + "content": "\tat cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 37, + "content": "\tat cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 38, + "content": "\tat cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 39, + "content": "\tat cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 40, + "content": "\tat cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?]" + } + ] + }, + { + "level": 2, + "time": null, + "prefix": "[27Jan2022 14:45:49.843] [main\/FATAL] [net.minecraftforge.server.loading.ServerModLoader\/]:", + "lines": [ + { + "number": 41, + "content": "[27Jan2022 14:45:49.843] [main\/FATAL] [net.minecraftforge.server.loading.ServerModLoader\/]: Crash report saved to .\/crash-reports\/crash-2022-01-27_14.45.49-fml.txt" + } + ] + }, + { + "level": 2, + "time": null, + "prefix": "[27Jan2022 14:45:49.851] [main\/FATAL] [net.minecraft.server.Main\/]:", + "lines": [ + { + "number": 42, + "content": "[27Jan2022 14:45:49.851] [main\/FATAL] [net.minecraft.server.Main\/]: Failed to start the minecraft server" + }, + { + "number": 43, + "content": "net.minecraftforge.fml.LoadingFailedException: Loading errors encountered: [" + }, + { + "number": 44, + "content": "\tMod \u00a7emagnesium\u00a7r requires \u00a76minecraft\u00a7r \u00a7o1.18\u00a7r" + }, + { + "number": 45, + "content": "\u00a77Currently, \u00a76minecraft\u00a7r\u00a77 is \u00a7o1.18.1" + }, + { + "number": 46, + "content": "]" + }, + { + "number": 47, + "content": "\tat net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:160) ~[fmlcore-1.18.1-39.0.59.jar%2355!\/:?]" + }, + { + "number": 48, + "content": "\tat net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:46) ~[forge-1.18.1-39.0.59-universal.jar%2358!\/:?]" + }, + { + "number": 49, + "content": "\tat net.minecraft.server.Main.main(Main.java:104) ~[server-1.18.1-20211210.034407-srg.jar%2354!\/:?]" + }, + { + "number": 50, + "content": "\tat jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]" + }, + { + "number": 51, + "content": "\tat jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]" + }, + { + "number": 52, + "content": "\tat jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]" + }, + { + "number": 53, + "content": "\tat java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]" + }, + { + "number": 54, + "content": "\tat net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:46) ~[fmlloader-1.18.1-39.0.59.jar%2323!\/:?]" + }, + { + "number": 55, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 56, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 57, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 58, + "content": "\tat cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 59, + "content": "\tat cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 60, + "content": "\tat cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 61, + "content": "\tat cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 62, + "content": "\tat cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?]" + } + ] + } + ], + "analysis": { + "problems": [ + { + "message": "The mod 'magnesium' is not compatible with the Minecraft version 1.18.", + "counter": 1, + "entry": { + "level": 2, + "time": null, + "prefix": "[27Jan2022 14:45:49.558] [main\/FATAL] [net.minecraftforge.fml.ModLoader\/CORE]:", + "lines": [ + { + "number": 5, + "content": "[27Jan2022 14:45:49.558] [main\/FATAL] [net.minecraftforge.fml.ModLoader\/CORE]: Error during pre-loading phase" + }, + { + "number": 6, + "content": "net.minecraftforge.fml.ModLoadingException: Mod \u00a7emagnesium\u00a7r requires \u00a76minecraft\u00a7r \u00a7o1.18\u00a7r" + }, + { + "number": 7, + "content": "\u00a77Currently, \u00a76minecraft\u00a7r\u00a77 is \u00a7o1.18.1" + }, + { + "number": 8, + "content": "\tat net.minecraftforge.fml.ModLoadingException.lambda$fromEarlyException$0(ModLoadingException.java:64) ~[fmlcore-1.18.1-39.0.59.jar%2355!\/:?]" + }, + { + "number": 9, + "content": "\tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]" + }, + { + "number": 10, + "content": "\tat java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) ~[?:?]" + }, + { + "number": 11, + "content": "\tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]" + }, + { + "number": 12, + "content": "\tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]" + }, + { + "number": 13, + "content": "\tat java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]" + }, + { + "number": 14, + "content": "\tat java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]" + }, + { + "number": 15, + "content": "\tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]" + }, + { + "number": 16, + "content": "\tat java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]" + }, + { + "number": 17, + "content": "\tat java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) ~[?:?]" + }, + { + "number": 18, + "content": "\tat java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]" + }, + { + "number": 19, + "content": "\tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]" + }, + { + "number": 20, + "content": "\tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]" + }, + { + "number": 21, + "content": "\tat java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]" + }, + { + "number": 22, + "content": "\tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]" + }, + { + "number": 23, + "content": "\tat java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]" + }, + { + "number": 24, + "content": "\tat net.minecraftforge.fml.ModLoader.(ModLoader.java:108) ~[fmlcore-1.18.1-39.0.59.jar%2355!\/:?]" + }, + { + "number": 25, + "content": "\tat net.minecraftforge.fml.ModLoader.get(ModLoader.java:140) ~[fmlcore-1.18.1-39.0.59.jar%2355!\/:?]" + }, + { + "number": 26, + "content": "\tat net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:46) ~[forge-1.18.1-39.0.59-universal.jar%2358!\/:?]" + }, + { + "number": 27, + "content": "\tat net.minecraft.server.Main.main(Main.java:104) ~[server-1.18.1-20211210.034407-srg.jar%2354!\/:?]" + }, + { + "number": 28, + "content": "\tat jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]" + }, + { + "number": 29, + "content": "\tat jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]" + }, + { + "number": 30, + "content": "\tat jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]" + }, + { + "number": 31, + "content": "\tat java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]" + }, + { + "number": 32, + "content": "\tat net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:46) ~[fmlloader-1.18.1-39.0.59.jar%2323!\/:?]" + }, + { + "number": 33, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 34, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 35, + "content": "\tat cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 36, + "content": "\tat cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 37, + "content": "\tat cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 38, + "content": "\tat cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 39, + "content": "\tat cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.0.jar%235!\/:?]" + }, + { + "number": 40, + "content": "\tat cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?]" + } + ] + }, + "solutions": [ + { + "message": "Remove the mod 'magnesium'." + }, + { + "message": "Install a different Forge version." + } + ] + } + ], + "information": [] + } +} \ No newline at end of file diff --git a/test/data/Vanilla/Forge/forge-mod-missing-minecraft.log b/test/data/Vanilla/Forge/forge-mod-missing-minecraft.log new file mode 100644 index 0000000..d70d281 --- /dev/null +++ b/test/data/Vanilla/Forge/forge-mod-missing-minecraft.log @@ -0,0 +1,62 @@ +[27Jan2022 14:45:30.276] [main/ERROR] [net.minecraftforge.fml.loading.ModSorter/LOADING]: Missing mandatory dependencies: minecraft +[27Jan2022 14:45:35.923] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 +[27Jan2022 14:45:35.962] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeserver' with arguments [nogui] +[27Jan2022 14:45:36.068] [main/INFO] [Sodium/]: Loaded configuration file for Sodium: 29 options available, 0 override(s) found +[27Jan2022 14:45:49.558] [main/FATAL] [net.minecraftforge.fml.ModLoader/CORE]: Error during pre-loading phase +net.minecraftforge.fml.ModLoadingException: Mod §emagnesium§r requires §6minecraft§r §o1.18§r +§7Currently, §6minecraft§r§7 is §o1.18.1 + at net.minecraftforge.fml.ModLoadingException.lambda$fromEarlyException$0(ModLoadingException.java:64) ~[fmlcore-1.18.1-39.0.59.jar%2355!/:?] + at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] + at java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) ~[?:?] + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] + at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?] + at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?] + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] + at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?] + at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) ~[?:?] + at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?] + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] + at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?] + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] + at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?] + at net.minecraftforge.fml.ModLoader.(ModLoader.java:108) ~[fmlcore-1.18.1-39.0.59.jar%2355!/:?] + at net.minecraftforge.fml.ModLoader.get(ModLoader.java:140) ~[fmlcore-1.18.1-39.0.59.jar%2355!/:?] + at net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:46) ~[forge-1.18.1-39.0.59-universal.jar%2358!/:?] + at net.minecraft.server.Main.main(Main.java:104) ~[server-1.18.1-20211210.034407-srg.jar%2354!/:?] + at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] + at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] + at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] + at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] + at net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:46) ~[fmlloader-1.18.1-39.0.59.jar%2323!/:?] + at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] +[27Jan2022 14:45:49.843] [main/FATAL] [net.minecraftforge.server.loading.ServerModLoader/]: Crash report saved to ./crash-reports/crash-2022-01-27_14.45.49-fml.txt +[27Jan2022 14:45:49.851] [main/FATAL] [net.minecraft.server.Main/]: Failed to start the minecraft server +net.minecraftforge.fml.LoadingFailedException: Loading errors encountered: [ + Mod §emagnesium§r requires §6minecraft§r §o1.18§r +§7Currently, §6minecraft§r§7 is §o1.18.1 +] + at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:160) ~[fmlcore-1.18.1-39.0.59.jar%2355!/:?] + at net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:46) ~[forge-1.18.1-39.0.59-universal.jar%2358!/:?] + at net.minecraft.server.Main.main(Main.java:104) ~[server-1.18.1-20211210.034407-srg.jar%2354!/:?] + at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] + at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] + at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] + at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] + at net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:46) ~[fmlloader-1.18.1-39.0.59.jar%2323!/:?] + at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.0.jar%235!/:?] + at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] \ No newline at end of file diff --git a/test/tests/Logs/AutoLogsTest.php b/test/tests/Logs/AutoLogsTest.php index e0ff301..0adbd57 100644 --- a/test/tests/Logs/AutoLogsTest.php +++ b/test/tests/Logs/AutoLogsTest.php @@ -1344,6 +1344,16 @@ public function test_forge_mod_loading_dependency(): void $this->assertStringEqualsFile($log->getExpectedPath(), $log->getOutput(), $log->getLogPath()); } + /** + * @return void + * @throws Exception + */ + public function test_forge_mod_missing_minecraft(): void + { + $log = new TestLog('Vanilla/Forge/forge-mod-missing-minecraft.log'); + $this->assertStringEqualsFile($log->getExpectedPath(), $log->getOutput(), $log->getLogPath()); + } + /** * @return void * @throws Exception