From dce2ad79cafbf2f212b573d67a998a2366c35cd6 Mon Sep 17 00:00:00 2001 From: Paul Vogel Date: Fri, 16 Oct 2026 11:48:00 +0200 Subject: [PATCH] add unit tests for file endpoints --- tests/Unit/Client/CurseForgeAPIClientTest.php | 140 ++++++++++ tests/Unit/Client/Fixtures/getFiles.json | 243 +++++++++++++++++ tests/Unit/Client/Fixtures/getModFile.json | 117 ++++++++ .../Client/Fixtures/getModFileChangelog.json | 3 + .../Fixtures/getModFileDownloadURL.json | 3 + tests/Unit/Client/Fixtures/getModFiles.json | 249 ++++++++++++++++++ 6 files changed, 755 insertions(+) create mode 100644 tests/Unit/Client/Fixtures/getFiles.json create mode 100644 tests/Unit/Client/Fixtures/getModFile.json create mode 100644 tests/Unit/Client/Fixtures/getModFileChangelog.json create mode 100644 tests/Unit/Client/Fixtures/getModFileDownloadURL.json create mode 100644 tests/Unit/Client/Fixtures/getModFiles.json diff --git a/tests/Unit/Client/CurseForgeAPIClientTest.php b/tests/Unit/Client/CurseForgeAPIClientTest.php index 3520e7c..29252b3 100644 --- a/tests/Unit/Client/CurseForgeAPIClientTest.php +++ b/tests/Unit/Client/CurseForgeAPIClientTest.php @@ -4,15 +4,19 @@ use Aternos\CurseForgeApi\ApiException; use Aternos\CurseForgeApi\Client\Category; +use Aternos\CurseForgeApi\Client\File; use Aternos\CurseForgeApi\Client\Game; use Aternos\CurseForgeApi\Client\GameVersionType; use Aternos\CurseForgeApi\Client\Mod; +use Aternos\CurseForgeApi\Client\Options\ModFilesOptions; use Aternos\CurseForgeApi\Client\Options\ModSearchOptions; use Aternos\CurseForgeApi\Configuration; +use Aternos\CurseForgeApi\Model\FileReleaseType; use Aternos\CurseForgeApi\Model\GameVersion; use Aternos\CurseForgeApi\Model\GameVersionsByTypeV2; use Aternos\CurseForgeApi\Model\ModLoaderType; use Aternos\CurseForgeApi\Model\ModSearchSortField; +use Aternos\CurseForgeApi\Model\PlatformType; use Aternos\CurseForgeApi\Model\PremiumType; use Aternos\CurseForgeApi\Model\SortOrder; use GuzzleHttp\Client; @@ -435,4 +439,140 @@ public function testGetModDescriptionWithLanguage(): void $this->assertGetRequest("/v1/mods/420561/description", ["lang" => "de"]); } + + /** + * @throws ApiException + */ + public function testGetModFiles(): void + { + $client = $this->createClient([new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getModFiles.json"))]); + + $files = $client->getModFiles(new ModFilesOptions(420561)); + + $this->assertGetRequest("/v1/mods/420561/files", ["index" => "0", "pageSize" => "50"]); + $this->assertSame(["index", "pageSize"], array_keys($this->getQuery())); + $this->assertCount(2, $files); + $this->assertContainsOnlyInstancesOf(File::class, $files->getResults()); + $this->assertSame(117, $files->getPagination()->getTotalCount()); + $this->assertSame("mclogs-neoforge-26.1-3.3.4.jar", $files[0]->getData()->getFileName()); + $this->assertSame("mclogs-fabric-26.1-3.3.4.jar", $files[1]->getData()->getFileName()); + } + + /** + * @throws ApiException + */ + public function testGetModFilesSendsAllOptions(): void + { + $client = $this->createClient([new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getModFiles.json"))]); + $options = (new ModFilesOptions(420561, 10, 20)) + ->setGameVersion("1.21.1") + ->setModLoaderType(ModLoaderType::FABRIC) + ->setGameVersionTypeId(77784) + ->setOlderThanProjectFileId(8946029) + ->setReleaseTypes([FileReleaseType::RELEASE, FileReleaseType::BETA]) + ->setPlatformType(PlatformType::WINDOWS) + ->setClientCompatible(true); + + $client->getModFiles($options); + + $this->assertGetRequest("/v1/mods/420561/files", [ + "index" => "10", + "pageSize" => "20", + "gameVersion" => "1.21.1", + "modLoaderType" => "4", + "gameVersionTypeId" => "77784", + "olderThanProjectFileId" => "8946029", + "releaseTypes" => ["1", "2"], + "platformType" => "1", + "clientCompatible" => "true", + ]); + } + + /** + * @throws ApiException + */ + public function testGetModFilesNextPageKeepsOptions(): void + { + $client = $this->createClient([ + new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getModFiles.json")), + new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getModFiles.json")), + ]); + + $files = $client->getModFiles((new ModFilesOptions(420561, 0, 2))->setGameVersion("1.21.1")); + $files->getNextPage(); + + $this->assertGetRequest("/v1/mods/420561/files", ["index" => "2", "pageSize" => "2", "gameVersion" => "1.21.1"], 1); + } + + /** + * @throws ApiException + */ + public function testGetModFile(): void + { + $client = $this->createClient([new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getModFile.json"))]); + + $file = $client->getModFile(420561, 8946029); + + $this->assertGetRequest("/v1/mods/420561/files/8946029"); + $this->assertSame(8946029, $file->getData()->getId()); + $this->assertSame(420561, $file->getData()->getModId()); + $this->assertSame("mclogs-integration 3.3.4", $file->getData()->getDisplayName()); + $this->assertSame("mclogs-neoforge-26.1-3.3.4.jar", $file->getData()->getFileName()); + $this->assertSame(FileReleaseType::RELEASE, $file->getData()->getReleaseType()); + $this->assertSame(317339, $file->getData()->getFileLength()); + } + + /** + * @throws ApiException + */ + public function testGetFiles(): void + { + $client = $this->createClient([new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getFiles.json"))]); + + $files = $client->getFiles([8946029, 8946028]); + + $this->assertPostRequest("/v1/mods/files", ["fileIds" => [8946029, 8946028]]); + $this->assertCount(2, $files); + $this->assertContainsOnlyInstancesOf(File::class, $files); + $this->assertSame([8946029, 8946028], array_map(fn(File $file) => $file->getData()->getId(), $files)); + } + + /** + * @throws ApiException + */ + public function testGetModFileChangelog(): void + { + $client = $this->createClient([new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getModFileChangelog.json"))]); + + $changelog = $client->getModFileChangelog(420561, 8946029); + + $this->assertGetRequest("/v1/mods/420561/files/8946029/changelog"); + $this->assertSame([], $this->getQuery()); + $this->assertSame("\n", $changelog); + } + + /** + * @throws ApiException + */ + public function testGetModFileChangelogWithOptions(): void + { + $client = $this->createClient([new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getModFileChangelog.json"))]); + + $client->getModFileChangelog(420561, 8946029, true, false, true); + + $this->assertGetRequest("/v1/mods/420561/files/8946029/changelog", ["raw" => "true", "stripped" => "false", "markup" => "true"]); + } + + /** + * @throws ApiException + */ + public function testGetModFileDownloadURL(): void + { + $client = $this->createClient([new Response(200, [], file_get_contents(__DIR__ . "/Fixtures/getModFileDownloadURL.json"))]); + + $url = $client->getModFileDownloadURL(420561, 8946029); + + $this->assertGetRequest("/v1/mods/420561/files/8946029/download-url"); + $this->assertSame("https://edge.forgecdn.net/files/8946/29/mclogs-neoforge-26.1-3.3.4.jar", $url); + } } diff --git a/tests/Unit/Client/Fixtures/getFiles.json b/tests/Unit/Client/Fixtures/getFiles.json new file mode 100644 index 0000000..600e20f --- /dev/null +++ b/tests/Unit/Client/Fixtures/getFiles.json @@ -0,0 +1,243 @@ +{ + "data": [ + { + "id": 8946029, + "gameId": 432, + "modId": 420561, + "isAvailable": true, + "displayName": "mclogs-integration 3.3.4", + "fileName": "mclogs-neoforge-26.1-3.3.4.jar", + "releaseType": 1, + "fileStatus": 4, + "hashes": [ + { + "value": "8b7833e7a63352c697bceac5ca29a80bf2ffbb31", + "algo": 1 + }, + { + "value": "c5b26ce87cbcb04c0eae7e5d6e153e92", + "algo": 2 + } + ], + "fileDate": "2026-09-22T09:44:53.913Z", + "fileLength": 317339, + "downloadCount": 8, + "fileSizeOnDisk": 440958, + "downloadUrl": "https://edge.forgecdn.net/files/8946/29/mclogs-neoforge-26.1-3.3.4.jar", + "gameVersions": [ + "Client", + "NeoForge", + "Server", + "26.1", + "26.1.1", + "26.1.2", + "26.2", + "26.3" + ], + "sortableGameVersions": [ + { + "gameVersionName": "Client", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "NeoForge", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2023-07-25T00:00:00Z", + "gameVersionTypeId": 68441 + }, + { + "gameVersionName": "Server", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "26.1", + "gameVersionPadded": "0000000026.0000000001", + "gameVersion": "26.1", + "gameVersionReleaseDate": "2026-03-24T16:40:19.29Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.1", + "gameVersionPadded": "0000000026.0000000001.0000000001", + "gameVersion": "26.1.1", + "gameVersionReleaseDate": "2026-04-01T11:40:06.78Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.2", + "gameVersionPadded": "0000000026.0000000001.0000000002", + "gameVersion": "26.1.2", + "gameVersionReleaseDate": "2026-04-09T11:39:54.243Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.2", + "gameVersionPadded": "0000000026.0000000002", + "gameVersion": "26.2", + "gameVersionReleaseDate": "2026-06-16T15:39:22.26Z", + "gameVersionTypeId": 86297 + }, + { + "gameVersionName": "26.3", + "gameVersionPadded": "0000000026.0000000003", + "gameVersion": "26.3", + "gameVersionReleaseDate": "2026-09-15T15:46:48.187Z", + "gameVersionTypeId": 88556 + } + ], + "dependencies": [], + "alternateFileId": 0, + "isServerPack": false, + "fileFingerprint": 3750113338, + "modules": [ + { + "name": "META-INF", + "fingerprint": 4071606703 + }, + { + "name": "gs", + "fingerprint": 3870032045 + }, + { + "name": "pack.mcmeta", + "fingerprint": 845577715 + }, + { + "name": "assets", + "fingerprint": 2304246846 + } + ] + }, + { + "id": 8946028, + "gameId": 432, + "modId": 420561, + "isAvailable": true, + "displayName": "mclogs-integration 3.3.4", + "fileName": "mclogs-fabric-26.1-3.3.4.jar", + "releaseType": 1, + "fileStatus": 4, + "hashes": [ + { + "value": "2d8e1836174d52dd3d985a2ceb672750578f8ee6", + "algo": 1 + }, + { + "value": "f64758f2e909f77b632672b98e802fd6", + "algo": 2 + } + ], + "fileDate": "2026-09-22T09:44:53.427Z", + "fileLength": 697989, + "downloadCount": 12, + "fileSizeOnDisk": 873760, + "downloadUrl": "https://edge.forgecdn.net/files/8946/28/mclogs-fabric-26.1-3.3.4.jar", + "gameVersions": [ + "Client", + "Fabric", + "Server", + "26.1", + "26.1.1", + "26.1.2", + "26.2", + "26.3" + ], + "sortableGameVersions": [ + { + "gameVersionName": "Client", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "Fabric", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-09-01T00:00:00Z", + "gameVersionTypeId": 68441 + }, + { + "gameVersionName": "Server", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "26.1", + "gameVersionPadded": "0000000026.0000000001", + "gameVersion": "26.1", + "gameVersionReleaseDate": "2026-03-24T16:40:19.29Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.1", + "gameVersionPadded": "0000000026.0000000001.0000000001", + "gameVersion": "26.1.1", + "gameVersionReleaseDate": "2026-04-01T11:40:06.78Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.2", + "gameVersionPadded": "0000000026.0000000001.0000000002", + "gameVersion": "26.1.2", + "gameVersionReleaseDate": "2026-04-09T11:39:54.243Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.2", + "gameVersionPadded": "0000000026.0000000002", + "gameVersion": "26.2", + "gameVersionReleaseDate": "2026-06-16T15:39:22.26Z", + "gameVersionTypeId": 86297 + }, + { + "gameVersionName": "26.3", + "gameVersionPadded": "0000000026.0000000003", + "gameVersion": "26.3", + "gameVersionReleaseDate": "2026-09-15T15:46:48.187Z", + "gameVersionTypeId": 88556 + } + ], + "dependencies": [ + { + "modId": 306612, + "relationType": 3 + } + ], + "alternateFileId": 0, + "isServerPack": false, + "fileFingerprint": 2407613531, + "modules": [ + { + "name": "META-INF", + "fingerprint": 191245894 + }, + { + "name": "gs", + "fingerprint": 3759374645 + }, + { + "name": "fabric.mod.json", + "fingerprint": 1077561078 + }, + { + "name": "pack.mcmeta", + "fingerprint": 845577715 + }, + { + "name": "assets", + "fingerprint": 2304246846 + } + ] + } + ] +} diff --git a/tests/Unit/Client/Fixtures/getModFile.json b/tests/Unit/Client/Fixtures/getModFile.json new file mode 100644 index 0000000..7344b94 --- /dev/null +++ b/tests/Unit/Client/Fixtures/getModFile.json @@ -0,0 +1,117 @@ +{ + "data": { + "id": 8946029, + "gameId": 432, + "modId": 420561, + "isAvailable": true, + "displayName": "mclogs-integration 3.3.4", + "fileName": "mclogs-neoforge-26.1-3.3.4.jar", + "releaseType": 1, + "fileStatus": 4, + "hashes": [ + { + "value": "8b7833e7a63352c697bceac5ca29a80bf2ffbb31", + "algo": 1 + }, + { + "value": "c5b26ce87cbcb04c0eae7e5d6e153e92", + "algo": 2 + } + ], + "fileDate": "2026-09-22T09:44:53.913Z", + "fileLength": 317339, + "downloadCount": 8, + "fileSizeOnDisk": 440958, + "downloadUrl": "https://edge.forgecdn.net/files/8946/29/mclogs-neoforge-26.1-3.3.4.jar", + "gameVersions": [ + "Client", + "NeoForge", + "Server", + "26.1", + "26.1.1", + "26.1.2", + "26.2", + "26.3" + ], + "sortableGameVersions": [ + { + "gameVersionName": "Client", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "NeoForge", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2023-07-25T00:00:00Z", + "gameVersionTypeId": 68441 + }, + { + "gameVersionName": "Server", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "26.1", + "gameVersionPadded": "0000000026.0000000001", + "gameVersion": "26.1", + "gameVersionReleaseDate": "2026-03-24T16:40:19.29Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.1", + "gameVersionPadded": "0000000026.0000000001.0000000001", + "gameVersion": "26.1.1", + "gameVersionReleaseDate": "2026-04-01T11:40:06.78Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.2", + "gameVersionPadded": "0000000026.0000000001.0000000002", + "gameVersion": "26.1.2", + "gameVersionReleaseDate": "2026-04-09T11:39:54.243Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.2", + "gameVersionPadded": "0000000026.0000000002", + "gameVersion": "26.2", + "gameVersionReleaseDate": "2026-06-16T15:39:22.26Z", + "gameVersionTypeId": 86297 + }, + { + "gameVersionName": "26.3", + "gameVersionPadded": "0000000026.0000000003", + "gameVersion": "26.3", + "gameVersionReleaseDate": "2026-09-15T15:46:48.187Z", + "gameVersionTypeId": 88556 + } + ], + "dependencies": [], + "alternateFileId": 0, + "isServerPack": false, + "fileFingerprint": 3750113338, + "modules": [ + { + "name": "META-INF", + "fingerprint": 4071606703 + }, + { + "name": "gs", + "fingerprint": 3870032045 + }, + { + "name": "pack.mcmeta", + "fingerprint": 845577715 + }, + { + "name": "assets", + "fingerprint": 2304246846 + } + ] + } +} diff --git a/tests/Unit/Client/Fixtures/getModFileChangelog.json b/tests/Unit/Client/Fixtures/getModFileChangelog.json new file mode 100644 index 0000000..62dbd84 --- /dev/null +++ b/tests/Unit/Client/Fixtures/getModFileChangelog.json @@ -0,0 +1,3 @@ +{ + "data": "\n" +} diff --git a/tests/Unit/Client/Fixtures/getModFileDownloadURL.json b/tests/Unit/Client/Fixtures/getModFileDownloadURL.json new file mode 100644 index 0000000..5a0d395 --- /dev/null +++ b/tests/Unit/Client/Fixtures/getModFileDownloadURL.json @@ -0,0 +1,3 @@ +{ + "data": "https://edge.forgecdn.net/files/8946/29/mclogs-neoforge-26.1-3.3.4.jar" +} diff --git a/tests/Unit/Client/Fixtures/getModFiles.json b/tests/Unit/Client/Fixtures/getModFiles.json new file mode 100644 index 0000000..8be316e --- /dev/null +++ b/tests/Unit/Client/Fixtures/getModFiles.json @@ -0,0 +1,249 @@ +{ + "data": [ + { + "id": 8946029, + "gameId": 432, + "modId": 420561, + "isAvailable": true, + "displayName": "mclogs-integration 3.3.4", + "fileName": "mclogs-neoforge-26.1-3.3.4.jar", + "releaseType": 1, + "fileStatus": 4, + "hashes": [ + { + "value": "8b7833e7a63352c697bceac5ca29a80bf2ffbb31", + "algo": 1 + }, + { + "value": "c5b26ce87cbcb04c0eae7e5d6e153e92", + "algo": 2 + } + ], + "fileDate": "2026-09-22T09:44:53.913Z", + "fileLength": 317339, + "downloadCount": 8, + "fileSizeOnDisk": 440958, + "downloadUrl": "https://edge.forgecdn.net/files/8946/29/mclogs-neoforge-26.1-3.3.4.jar", + "gameVersions": [ + "Client", + "NeoForge", + "Server", + "26.1", + "26.1.1", + "26.1.2", + "26.2", + "26.3" + ], + "sortableGameVersions": [ + { + "gameVersionName": "Client", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "NeoForge", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2023-07-25T00:00:00Z", + "gameVersionTypeId": 68441 + }, + { + "gameVersionName": "Server", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "26.1", + "gameVersionPadded": "0000000026.0000000001", + "gameVersion": "26.1", + "gameVersionReleaseDate": "2026-03-24T16:40:19.29Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.1", + "gameVersionPadded": "0000000026.0000000001.0000000001", + "gameVersion": "26.1.1", + "gameVersionReleaseDate": "2026-04-01T11:40:06.78Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.2", + "gameVersionPadded": "0000000026.0000000001.0000000002", + "gameVersion": "26.1.2", + "gameVersionReleaseDate": "2026-04-09T11:39:54.243Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.2", + "gameVersionPadded": "0000000026.0000000002", + "gameVersion": "26.2", + "gameVersionReleaseDate": "2026-06-16T15:39:22.26Z", + "gameVersionTypeId": 86297 + }, + { + "gameVersionName": "26.3", + "gameVersionPadded": "0000000026.0000000003", + "gameVersion": "26.3", + "gameVersionReleaseDate": "2026-09-15T15:46:48.187Z", + "gameVersionTypeId": 88556 + } + ], + "dependencies": [], + "alternateFileId": 0, + "isServerPack": false, + "fileFingerprint": 3750113338, + "modules": [ + { + "name": "META-INF", + "fingerprint": 4071606703 + }, + { + "name": "gs", + "fingerprint": 3870032045 + }, + { + "name": "pack.mcmeta", + "fingerprint": 845577715 + }, + { + "name": "assets", + "fingerprint": 2304246846 + } + ] + }, + { + "id": 8946028, + "gameId": 432, + "modId": 420561, + "isAvailable": true, + "displayName": "mclogs-integration 3.3.4", + "fileName": "mclogs-fabric-26.1-3.3.4.jar", + "releaseType": 1, + "fileStatus": 4, + "hashes": [ + { + "value": "2d8e1836174d52dd3d985a2ceb672750578f8ee6", + "algo": 1 + }, + { + "value": "f64758f2e909f77b632672b98e802fd6", + "algo": 2 + } + ], + "fileDate": "2026-09-22T09:44:53.427Z", + "fileLength": 697989, + "downloadCount": 12, + "fileSizeOnDisk": 873760, + "downloadUrl": "https://edge.forgecdn.net/files/8946/28/mclogs-fabric-26.1-3.3.4.jar", + "gameVersions": [ + "Client", + "Fabric", + "Server", + "26.1", + "26.1.1", + "26.1.2", + "26.2", + "26.3" + ], + "sortableGameVersions": [ + { + "gameVersionName": "Client", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "Fabric", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-09-01T00:00:00Z", + "gameVersionTypeId": 68441 + }, + { + "gameVersionName": "Server", + "gameVersionPadded": "0", + "gameVersion": "", + "gameVersionReleaseDate": "2022-12-08T00:00:00Z", + "gameVersionTypeId": 75208 + }, + { + "gameVersionName": "26.1", + "gameVersionPadded": "0000000026.0000000001", + "gameVersion": "26.1", + "gameVersionReleaseDate": "2026-03-24T16:40:19.29Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.1", + "gameVersionPadded": "0000000026.0000000001.0000000001", + "gameVersion": "26.1.1", + "gameVersionReleaseDate": "2026-04-01T11:40:06.78Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.1.2", + "gameVersionPadded": "0000000026.0000000001.0000000002", + "gameVersion": "26.1.2", + "gameVersionReleaseDate": "2026-04-09T11:39:54.243Z", + "gameVersionTypeId": 83806 + }, + { + "gameVersionName": "26.2", + "gameVersionPadded": "0000000026.0000000002", + "gameVersion": "26.2", + "gameVersionReleaseDate": "2026-06-16T15:39:22.26Z", + "gameVersionTypeId": 86297 + }, + { + "gameVersionName": "26.3", + "gameVersionPadded": "0000000026.0000000003", + "gameVersion": "26.3", + "gameVersionReleaseDate": "2026-09-15T15:46:48.187Z", + "gameVersionTypeId": 88556 + } + ], + "dependencies": [ + { + "modId": 306612, + "relationType": 3 + } + ], + "alternateFileId": 0, + "isServerPack": false, + "fileFingerprint": 2407613531, + "modules": [ + { + "name": "META-INF", + "fingerprint": 191245894 + }, + { + "name": "gs", + "fingerprint": 3759374645 + }, + { + "name": "fabric.mod.json", + "fingerprint": 1077561078 + }, + { + "name": "pack.mcmeta", + "fingerprint": 845577715 + }, + { + "name": "assets", + "fingerprint": 2304246846 + } + ] + } + ], + "pagination": { + "index": 0, + "pageSize": 2, + "resultCount": 2, + "totalCount": 117 + } +}