Skip to content

Commit 3d6e327

Browse files
authored
Merge pull request #72 from aternosorg/old-forge
Detect forge side and mcversion for very old Minecraft versions
2 parents 91a1731 + f70f356 commit 3d6e327

17 files changed

+5102
-45
lines changed

src/Analysis/Information/Forge/ForgeVanillaVersionInformation.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ public static function getPatterns(): array
1818
{
1919
return array_merge(parent::getPatterns(), [
2020
"/Received command line version data {0,2}: MC Version: '(". static::$vanillaVersionPattern .")'/",
21-
"/--fml\.mcVersion, (". static::$vanillaVersionPattern .")/"
21+
"/--fml\.mcVersion, (". static::$vanillaVersionPattern .")/",
22+
"/Forge Mod Loader version ". ForgeVersionInformation::getVersionPattern() ." for Minecraft (". static::$vanillaVersionPattern.") loading/",
2223
]);
2324
}
2425
}

src/Analysis/Information/Forge/ForgeVersionInformation.php

+5
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,9 @@ public static function getPatterns(): array
3535
'/--fml\.forgeVersion, ('. static::$versionPattern .')/'
3636
];
3737
}
38+
39+
public static function getVersionPattern(): string
40+
{
41+
return static::$versionPattern;
42+
}
3843
}

src/Log/Minecraft/Vanilla/Forge/ForgeClientLog.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ class ForgeClientLog extends ForgeLog implements ClientLogTypeInterface
1919
public static function getDetectors(): array
2020
{
2121
return [
22-
(new SinglePatternDetector())->setPattern('/^\[[^\]]+\] \[main\/INFO\]( \[[^\]]+\])?: ModLauncher running: .*--fml.forgeVersion.*(\n.*)*\n\[[^\]]+\] \[main\/INFO\]( \[[^\]]+\])?: Launching target \'(fml|forge)client\' with arguments.*$/m')
22+
(new SinglePatternDetector())->setPattern('/^\[[^\]]+\] \[main\/INFO\]( \[[^\]]+\])?: ModLauncher running: .*--fml.forgeVersion.*(\n.*)*\n\[[^\]]+\] \[main\/INFO\]( \[[^\]]+\])?: Launching target \'(fml|forge)client\' with arguments.*$/m'),
23+
(new SinglePatternDetector())->setPattern('/^\[[^\]]+\] \[main\/INFO\]( \[[^\]]+\])?: Forge Mod Loader version.*(\n.*)*\n\[[^\]]+\] \[main\/INFO\]( \[[^\]]+\])?: Launching wrapped minecraft \{net\.minecraft\.client/m')
2324
];
2425
}
2526
}

test/data/Vanilla/Forge/Magma/magma-mod-dependency.json

+13-13
Original file line numberDiff line numberDiff line change
@@ -917,38 +917,38 @@
917917
],
918918
"information": [
919919
{
920-
"message": "Magma version: e2b9ab6",
921-
"counter": 1,
920+
"message": "Minecraft version: 1.12.2",
921+
"counter": 2,
922922
"entry": {
923923
"level": 6,
924924
"time": null,
925-
"prefix": "[15:02:53] [Server thread\/INFO] [Minecraft]:",
925+
"prefix": "[00:04:43] [main\/INFO] [FML]:",
926926
"lines": [
927927
{
928-
"number": 6,
929-
"content": "[15:02:53] [Server thread\/INFO] [Minecraft]: This server is running Magma version e2b9ab6 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)"
928+
"number": 5,
929+
"content": "[00:04:43] [main\/INFO] [FML]: Forge Mod Loader version 14.23.5.2814 for Minecraft 1.12.2 loading"
930930
}
931931
]
932932
},
933-
"label": "Magma version",
934-
"value": "e2b9ab6"
933+
"label": "Minecraft version",
934+
"value": "1.12.2"
935935
},
936936
{
937-
"message": "Minecraft version: 1.12.2",
937+
"message": "Magma version: e2b9ab6",
938938
"counter": 1,
939939
"entry": {
940940
"level": 6,
941941
"time": null,
942-
"prefix": "[00:05:11] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]:",
942+
"prefix": "[15:02:53] [Server thread\/INFO] [Minecraft]:",
943943
"lines": [
944944
{
945-
"number": 7,
946-
"content": "[00:05:11] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]: Starting minecraft server version 1.12.2"
945+
"number": 6,
946+
"content": "[15:02:53] [Server thread\/INFO] [Minecraft]: This server is running Magma version e2b9ab6 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)"
947947
}
948948
]
949949
},
950-
"label": "Minecraft version",
951-
"value": "1.12.2"
950+
"label": "Magma version",
951+
"value": "e2b9ab6"
952952
},
953953
{
954954
"message": "Forge version: 14.23.5.2814",

test/data/Vanilla/Forge/forge-1-7-10-client.json

+4,521
Large diffs are not rendered by default.

test/data/Vanilla/Forge/forge-1-7-10-client.log

+434
Large diffs are not rendered by default.

test/data/Vanilla/Forge/forge-missing-mods-exception-2.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -3955,15 +3955,15 @@
39553955
"information": [
39563956
{
39573957
"message": "Minecraft version: 1.12.2",
3958-
"counter": 1,
3958+
"counter": 2,
39593959
"entry": {
39603960
"level": 6,
39613961
"time": null,
3962-
"prefix": "[16:53:56] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]:",
3962+
"prefix": "[16:53:46] [main\/INFO] [FML]:",
39633963
"lines": [
39643964
{
3965-
"number": 258,
3966-
"content": "[16:53:56] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]: Starting minecraft server version 1.12.2"
3965+
"number": 5,
3966+
"content": "[16:53:46] [main\/INFO] [FML]: Forge Mod Loader version 14.23.5.2860 for Minecraft 1.12.2 loading"
39673967
}
39683968
]
39693969
},

test/data/Vanilla/Forge/forge-missing-mods-exception.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1406,15 +1406,15 @@
14061406
"information": [
14071407
{
14081408
"message": "Minecraft version: 1.12.2",
1409-
"counter": 1,
1409+
"counter": 2,
14101410
"entry": {
14111411
"level": 6,
14121412
"time": null,
1413-
"prefix": "[14:43:24] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]:",
1413+
"prefix": "[14:43:12] [main\/INFO] [FML]:",
14141414
"lines": [
14151415
{
1416-
"number": 67,
1417-
"content": "[14:43:24] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]: Starting minecraft server version 1.12.2"
1416+
"number": 5,
1417+
"content": "[14:43:12] [main\/INFO] [FML]: Forge Mod Loader version 14.23.5.2860 for Minecraft 1.12.2 loading"
14181418
}
14191419
]
14201420
},

test/data/Vanilla/Forge/forge-mod-dependency.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -907,15 +907,15 @@
907907
"information": [
908908
{
909909
"message": "Minecraft version: 1.12.2",
910-
"counter": 1,
910+
"counter": 2,
911911
"entry": {
912912
"level": 6,
913913
"time": null,
914-
"prefix": "[00:05:11] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]:",
914+
"prefix": "[00:04:43] [main\/INFO] [FML]:",
915915
"lines": [
916916
{
917-
"number": 6,
918-
"content": "[00:05:11] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]: Starting minecraft server version 1.12.2"
917+
"number": 5,
918+
"content": "[00:04:43] [main\/INFO] [FML]: Forge Mod Loader version 14.23.5.2814 for Minecraft 1.12.2 loading"
919919
}
920920
]
921921
},

test/data/Vanilla/Forge/forge-mod-duplicate.json

+19-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"id": "forge\/server",
33
"name": "Forge",
44
"type": "Server Log",
5-
"version": null,
6-
"title": "Forge Server Log",
5+
"version": "1.7.10",
6+
"title": "Forge 1.7.10 Server Log",
77
"entries": [
88
{
99
"level": 7,
@@ -3455,6 +3455,23 @@
34553455
}
34563456
],
34573457
"information": [
3458+
{
3459+
"message": "Minecraft version: 1.7.10",
3460+
"counter": 1,
3461+
"entry": {
3462+
"level": 6,
3463+
"time": null,
3464+
"prefix": "[22:32:20] [main\/INFO] [FML\/]:",
3465+
"lines": [
3466+
{
3467+
"number": 2,
3468+
"content": "[22:32:20] [main\/INFO] [FML\/]: Forge Mod Loader version 7.99.40.1614 for Minecraft 1.7.10 loading"
3469+
}
3470+
]
3471+
},
3472+
"label": "Minecraft version",
3473+
"value": "1.7.10"
3474+
},
34583475
{
34593476
"message": "Forge version: 10.13.4.1614",
34603477
"counter": 1,

test/data/Vanilla/Forge/forge-mod-exception.json

+19-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"id": "forge\/server",
33
"name": "Forge",
44
"type": "Server Log",
5-
"version": null,
6-
"title": "Forge Server Log",
5+
"version": "1.7.10",
6+
"title": "Forge 1.7.10 Server Log",
77
"entries": [
88
{
99
"level": 7,
@@ -3820,6 +3820,23 @@
38203820
}
38213821
],
38223822
"information": [
3823+
{
3824+
"message": "Minecraft version: 1.7.10",
3825+
"counter": 1,
3826+
"entry": {
3827+
"level": 6,
3828+
"time": null,
3829+
"prefix": "[22:50:07] [main\/INFO] [FML\/]:",
3830+
"lines": [
3831+
{
3832+
"number": 2,
3833+
"content": "[22:50:07] [main\/INFO] [FML\/]: Forge Mod Loader version 7.99.40.1614 for Minecraft 1.7.10 loading"
3834+
}
3835+
]
3836+
},
3837+
"label": "Minecraft version",
3838+
"value": "1.7.10"
3839+
},
38233840
{
38243841
"message": "Forge version: 10.13.4.1614",
38253842
"counter": 1,

test/data/Vanilla/Forge/forge-mod-required.json

+19-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"id": "forge\/server",
33
"name": "Forge",
44
"type": "Server Log",
5-
"version": null,
6-
"title": "Forge Server Log",
5+
"version": "1.7.10",
6+
"title": "Forge 1.7.10 Server Log",
77
"entries": [
88
{
99
"level": 7,
@@ -4724,6 +4724,23 @@
47244724
}
47254725
],
47264726
"information": [
4727+
{
4728+
"message": "Minecraft version: 1.7.10",
4729+
"counter": 1,
4730+
"entry": {
4731+
"level": 6,
4732+
"time": null,
4733+
"prefix": "[03:23:25] [main\/INFO] [FML\/]:",
4734+
"lines": [
4735+
{
4736+
"number": 2,
4737+
"content": "[03:23:25] [main\/INFO] [FML\/]: Forge Mod Loader version 7.99.40.1614 for Minecraft 1.7.10 loading"
4738+
}
4739+
]
4740+
},
4741+
"label": "Minecraft version",
4742+
"value": "1.7.10"
4743+
},
47274744
{
47284745
"message": "Forge version: 10.13.4.1614",
47294746
"counter": 1,

test/data/Vanilla/Forge/forge-mod-wrong-minecraft-version.json

+19-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"id": "forge\/server",
33
"name": "Forge",
44
"type": "Server Log",
5-
"version": null,
6-
"title": "Forge Server Log",
5+
"version": "1.10.2",
6+
"title": "Forge 1.10.2 Server Log",
77
"entries": [
88
{
99
"level": 7,
@@ -5643,6 +5643,23 @@
56435643
}
56445644
],
56455645
"information": [
5646+
{
5647+
"message": "Minecraft version: 1.10.2",
5648+
"counter": 1,
5649+
"entry": {
5650+
"level": 6,
5651+
"time": null,
5652+
"prefix": "[13:41:25] [main\/INFO] [FML\/]:",
5653+
"lines": [
5654+
{
5655+
"number": 2,
5656+
"content": "[13:41:25] [main\/INFO] [FML\/]: Forge Mod Loader version 12.18.3.2511 for Minecraft 1.10.2 loading"
5657+
}
5658+
]
5659+
},
5660+
"label": "Minecraft version",
5661+
"value": "1.10.2"
5662+
},
56465663
{
56475664
"message": "Forge version: 12.18.3.2511",
56485665
"counter": 1,

test/data/Vanilla/Forge/forge-ptrlib-dependency.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -8004,15 +8004,15 @@
80048004
"information": [
80058005
{
80068006
"message": "Minecraft version: 1.12.2",
8007-
"counter": 1,
8007+
"counter": 2,
80088008
"entry": {
80098009
"level": 6,
80108010
"time": null,
8011-
"prefix": "[17:03:51] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]:",
8011+
"prefix": "[17:03:23] [main\/INFO] [FML]:",
80128012
"lines": [
80138013
{
8014-
"number": 178,
8015-
"content": "[17:03:51] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]: Starting minecraft server version 1.12.2"
8014+
"number": 5,
8015+
"content": "[17:03:23] [main\/INFO] [FML]: Forge Mod Loader version 14.23.5.2847 for Minecraft 1.12.2 loading"
80168016
}
80178017
]
80188018
},

test/data/Vanilla/Forge/forge-world-missing-mod.json

+19-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"id": "forge\/server",
33
"name": "Forge",
44
"type": "Server Log",
5-
"version": null,
6-
"title": "Forge Server Log",
5+
"version": "1.8.9",
6+
"title": "Forge 1.8.9 Server Log",
77
"entries": [
88
{
99
"level": 7,
@@ -3796,6 +3796,23 @@
37963796
}
37973797
],
37983798
"information": [
3799+
{
3800+
"message": "Minecraft version: 1.8.9",
3801+
"counter": 1,
3802+
"entry": {
3803+
"level": 6,
3804+
"time": null,
3805+
"prefix": "[21:32:33] [main\/INFO] [FML\/]:",
3806+
"lines": [
3807+
{
3808+
"number": 2,
3809+
"content": "[21:32:33] [main\/INFO] [FML\/]: Forge Mod Loader version 11.15.1.2318 for Minecraft 1.8.9 loading"
3810+
}
3811+
]
3812+
},
3813+
"label": "Minecraft version",
3814+
"value": "1.8.9"
3815+
},
37993816
{
38003817
"message": "Forge version: 11.15.1.2318",
38013818
"counter": 1,

test/data/Vanilla/Forge/forge-world-mod-version.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1388,15 +1388,15 @@
13881388
"information": [
13891389
{
13901390
"message": "Minecraft version: 1.12.2",
1391-
"counter": 1,
1391+
"counter": 2,
13921392
"entry": {
13931393
"level": 6,
13941394
"time": null,
1395-
"prefix": "[16:48:56] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]:",
1395+
"prefix": "[16:48:17] [main\/INFO] [FML]:",
13961396
"lines": [
13971397
{
1398-
"number": 18,
1399-
"content": "[16:48:56] [Server thread\/INFO] [net.minecraft.server.dedicated.DedicatedServer]: Starting minecraft server version 1.12.2"
1398+
"number": 4,
1399+
"content": "[16:48:17] [main\/INFO] [FML]: Forge Mod Loader version 14.23.5.2811 for Minecraft 1.12.2 loading"
14001400
}
14011401
]
14021402
},

test/tests/Logs/AutoLogsTest.php

+10
Original file line numberDiff line numberDiff line change
@@ -874,6 +874,16 @@ public function test_mohist_crash_report(): void
874874
$this->assertStringEqualsFile($log->getExpectedPath(), $log->getOutput(), $log->getLogPath());
875875
}
876876

877+
/**
878+
* @return void
879+
* @throws Exception
880+
*/
881+
public function test_forge_1_7_10_client(): void
882+
{
883+
$log = new TestLog('Vanilla/Forge/forge-1-7-10-client.log');
884+
$this->assertStringEqualsFile($log->getExpectedPath(), $log->getOutput(), $log->getLogPath());
885+
}
886+
877887
/**
878888
* @return void
879889
* @throws Exception

0 commit comments

Comments
 (0)