Skip to content

Instantly share code, notes, and snippets.

@zkitefly
Created January 28, 2024 15:10
Show Gist options
  • Save zkitefly/1df88b5b3c7f6af3d2e87eade04aad3f to your computer and use it in GitHub Desktop.
Save zkitefly/1df88b5b3c7f6af3d2e87eade04aad3f to your computer and use it in GitHub Desktop.
optifinelist.py
[
{
"name": "1.20.4-OptiFine_HD_U_I7_pre2",
"time": "2023-12-22",
"ispreview": true,
"mcversion": "1.20.4",
"filename": "preview_OptiFine_1.20.4_HD_U_I7_pre2.jar",
"forge": null
},
{
"name": "1.20.2-OptiFine_HD_U_I7_pre1",
"time": "2023-12-21",
"ispreview": true,
"mcversion": "1.20.2",
"filename": "preview_OptiFine_1.20.2_HD_U_I7_pre1.jar",
"forge": null
},
{
"name": "1.20.1-OptiFine_HD_U_I6",
"time": "2023-12-21",
"ispreview": false,
"mcversion": "1.20.1",
"filename": "OptiFine_1.20.1_HD_U_I6.jar",
"forge": "47.2.18"
},
{
"name": "1.20.1-OptiFine_HD_U_I5",
"time": "2023-07-07",
"ispreview": false,
"mcversion": "1.20.1",
"filename": "OptiFine_1.20.1_HD_U_I5.jar",
"forge": "47.0.35"
},
{
"name": "1.20-OptiFine_HD_U_I5_pre5",
"time": "2023-06-22",
"ispreview": true,
"mcversion": "1.20",
"filename": "preview_OptiFine_1.20_HD_U_I5_pre5.jar",
"forge": "46.0.14"
},
{
"name": "1.20-OptiFine_HD_U_I5_pre4",
"time": "2023-06-21",
"ispreview": true,
"mcversion": "1.20",
"filename": "preview_OptiFine_1.20_HD_U_I5_pre4.jar",
"forge": "46.0.14"
},
{
"name": "1.19.4-OptiFine_HD_U_I4",
"time": "2023-06-23",
"ispreview": false,
"mcversion": "1.19.4",
"filename": "OptiFine_1.19.4_HD_U_I4.jar",
"forge": "45.1.0"
},
{
"name": "1.19.4-OptiFine_HD_U_I3",
"time": "2023-03-24",
"ispreview": false,
"mcversion": "1.19.4",
"filename": "OptiFine_1.19.4_HD_U_I3.jar",
"forge": "45.0.23"
},
{
"name": "1.19.3-OptiFine_HD_U_I3",
"time": "2023-03-24",
"ispreview": false,
"mcversion": "1.19.3",
"filename": "OptiFine_1.19.3_HD_U_I3.jar",
"forge": "44.1.23"
},
{
"name": "1.19.2-OptiFine_HD_U_I2",
"time": "2023-06-23",
"ispreview": false,
"mcversion": "1.19.2",
"filename": "OptiFine_1.19.2_HD_U_I2.jar",
"forge": "43.2.14"
},
{
"name": "1.19.2-OptiFine_HD_U_I1",
"time": "2022-12-13",
"ispreview": false,
"mcversion": "1.19.2",
"filename": "OptiFine_1.19.2_HD_U_I1.jar",
"forge": "43.1.52"
},
{
"name": "1.19.2-OptiFine_HD_U_H9",
"time": "2022-08-20",
"ispreview": false,
"mcversion": "1.19.2",
"filename": "OptiFine_1.19.2_HD_U_H9.jar",
"forge": "43.1.1"
},
{
"name": "1.19.1-OptiFine_HD_U_H9",
"time": "2022-08-20",
"ispreview": false,
"mcversion": "1.19.1",
"filename": "OptiFine_1.19.1_HD_U_H9.jar",
"forge": "42.0.9"
},
{
"name": "1.19-OptiFine_HD_U_H9",
"time": "2022-07-31",
"ispreview": false,
"mcversion": "1.19",
"filename": "OptiFine_1.19_HD_U_H9.jar",
"forge": "41.1.0"
},
{
"name": "1.19-OptiFine_HD_U_H8",
"time": "2022-07-09",
"ispreview": false,
"mcversion": "1.19",
"filename": "OptiFine_1.19_HD_U_H8.jar",
"forge": "41.0.63"
},
{
"name": "1.18.2-OptiFine_HD_U_H9",
"time": "2023-06-26",
"ispreview": false,
"mcversion": "1.18.2",
"filename": "OptiFine_1.18.2_HD_U_H9.jar",
"forge": "40.2.9"
},
{
"name": "1.18.2-OptiFine_HD_U_H7",
"time": "2022-04-10",
"ispreview": false,
"mcversion": "1.18.2",
"filename": "OptiFine_1.18.2_HD_U_H7.jar",
"forge": "40.0.24"
},
{
"name": "1.18.2-OptiFine_HD_U_H6",
"time": "2022-03-13",
"ispreview": false,
"mcversion": "1.18.2",
"filename": "OptiFine_1.18.2_HD_U_H6.jar",
"forge": "40.0.12"
},
{
"name": "1.18.1-OptiFine_HD_U_H6",
"time": "2022-03-24",
"ispreview": false,
"mcversion": "1.18.1",
"filename": "OptiFine_1.18.1_HD_U_H6.jar",
"forge": "39.1.0"
},
{
"name": "1.18.1-OptiFine_HD_U_H5",
"time": "2022-03-03",
"ispreview": false,
"mcversion": "1.18.1",
"filename": "OptiFine_1.18.1_HD_U_H5.jar",
"forge": "39.0.66"
},
{
"name": "1.18.1-OptiFine_HD_U_H4",
"time": "2021-12-12",
"ispreview": false,
"mcversion": "1.18.1",
"filename": "OptiFine_1.18.1_HD_U_H4.jar",
"forge": "39.0.0"
},
{
"name": "1.18-OptiFine_HD_U_H3",
"time": "2021-12-06",
"ispreview": false,
"mcversion": "1.18",
"filename": "OptiFine_1.18_HD_U_H3.jar",
"forge": "38.0.14"
},
{
"name": "1.17.1-OptiFine_HD_U_H2_pre1",
"time": "2021-11-04",
"ispreview": true,
"mcversion": "1.17.1",
"filename": "preview_OptiFine_1.17.1_HD_U_H2_pre1.jar",
"forge": "37.0.103"
},
{
"name": "1.17.1-OptiFine_HD_U_H1",
"time": "2021-11-03",
"ispreview": false,
"mcversion": "1.17.1",
"filename": "OptiFine_1.17.1_HD_U_H1.jar",
"forge": "37.0.103"
},
{
"name": "1.17.1-OptiFine_HD_U_G9",
"time": "2021-08-30",
"ispreview": false,
"mcversion": "1.17.1",
"filename": "OptiFine_1.17.1_HD_U_G9.jar",
"forge": null
},
{
"name": "1.17-OptiFine_HD_U_G9_pre26",
"time": "2021-07-09",
"ispreview": true,
"mcversion": "1.17",
"filename": "preview_OptiFine_1.17_HD_U_G9_pre26.jar",
"forge": null
},
{
"name": "1.17-OptiFine_HD_U_G9_pre25",
"time": "2021-07-06",
"ispreview": true,
"mcversion": "1.17",
"filename": "preview_OptiFine_1.17_HD_U_G9_pre25.jar",
"forge": null
},
{
"name": "1.16.5-OptiFine_HD_U_G8",
"time": "2021-05-15",
"ispreview": false,
"mcversion": "1.16.5",
"filename": "OptiFine_1.16.5_HD_U_G8.jar",
"forge": "36.1.0"
},
{
"name": "1.16.5-OptiFine_HD_U_G7",
"time": "2021-03-04",
"ispreview": false,
"mcversion": "1.16.5",
"filename": "OptiFine_1.16.5_HD_U_G7.jar",
"forge": "36.0.42"
},
{
"name": "1.16.5-OptiFine_HD_U_G6",
"time": "2021-01-16",
"ispreview": false,
"mcversion": "1.16.5",
"filename": "OptiFine_1.16.5_HD_U_G6.jar",
"forge": "36.0.0"
},
{
"name": "1.16.4-OptiFine_HD_U_G7",
"time": "2021-02-20",
"ispreview": false,
"mcversion": "1.16.4",
"filename": "OptiFine_1.16.4_HD_U_G7.jar",
"forge": "35.1.37"
},
{
"name": "1.16.4-OptiFine_HD_U_G6",
"time": "2021-01-16",
"ispreview": false,
"mcversion": "1.16.4",
"filename": "OptiFine_1.16.4_HD_U_G6.jar",
"forge": "35.1.36"
},
{
"name": "1.16.4-OptiFine_HD_U_G5",
"time": "2020-11-06",
"ispreview": false,
"mcversion": "1.16.4",
"filename": "OptiFine_1.16.4_HD_U_G5.jar",
"forge": "35.0.1"
},
{
"name": "1.16.3-OptiFine_HD_U_G5",
"time": "2020-11-06",
"ispreview": false,
"mcversion": "1.16.3",
"filename": "OptiFine_1.16.3_HD_U_G5.jar",
"forge": "34.1.42"
},
{
"name": "1.16.3-OptiFine_HD_U_G4",
"time": "2020-11-02",
"ispreview": false,
"mcversion": "1.16.3",
"filename": "OptiFine_1.16.3_HD_U_G4.jar",
"forge": "34.0.0"
},
{
"name": "1.16.3-OptiFine_HD_U_G3",
"time": "2020-09-16",
"ispreview": false,
"mcversion": "1.16.3",
"filename": "OptiFine_1.16.3_HD_U_G3.jar",
"forge": "34.0.0"
},
{
"name": "1.16.2-OptiFine_HD_U_G5",
"time": "2020-11-06",
"ispreview": false,
"mcversion": "1.16.2",
"filename": "OptiFine_1.16.2_HD_U_G5.jar",
"forge": "33.0.61"
},
{
"name": "1.16.2-OptiFine_HD_U_G3",
"time": "2020-08-29",
"ispreview": false,
"mcversion": "1.16.2",
"filename": "OptiFine_1.16.2_HD_U_G3.jar",
"forge": "33.0.20"
},
{
"name": "1.16.1-OptiFine_HD_U_G2",
"time": "2020-08-01",
"ispreview": false,
"mcversion": "1.16.1",
"filename": "OptiFine_1.16.1_HD_U_G2.jar",
"forge": "32.0.98"
},
{
"name": "1.15.2-OptiFine_HD_U_G6",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.15.2",
"filename": "OptiFine_1.15.2_HD_U_G6.jar",
"forge": "31.2.45"
},
{
"name": "1.14.4-OptiFine_HD_U_G5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.14.4",
"filename": "OptiFine_1.14.4_HD_U_G5.jar",
"forge": "28.2.23"
},
{
"name": "1.14.4-OptiFine_HD_U_F5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.14.4",
"filename": "OptiFine_1.14.4_HD_U_F5.jar",
"forge": "28.1.56"
},
{
"name": "1.14.4-OptiFine_HD_U_F4",
"time": "2019-10-25",
"ispreview": false,
"mcversion": "1.14.4",
"filename": "OptiFine_1.14.4_HD_U_F4.jar",
"forge": "28.1.56"
},
{
"name": "1.14.4-OptiFine_HD_U_F3",
"time": "2019-08-06",
"ispreview": false,
"mcversion": "1.14.4",
"filename": "OptiFine_1.14.4_HD_U_F3.jar",
"forge": null
},
{
"name": "1.14.4-OptiFine_HD_U_F2",
"time": "2019-07-25",
"ispreview": false,
"mcversion": "1.14.4",
"filename": "OptiFine_1.14.4_HD_U_F2.jar",
"forge": null
},
{
"name": "1.14.3-OptiFine_HD_U_F2",
"time": "2019-07-20",
"ispreview": false,
"mcversion": "1.14.3",
"filename": "OptiFine_1.14.3_HD_U_F2.jar",
"forge": null
},
{
"name": "1.14.3-OptiFine_HD_U_F1",
"time": "2019-06-28",
"ispreview": false,
"mcversion": "1.14.3",
"filename": "OptiFine_1.14.3_HD_U_F1.jar",
"forge": null
},
{
"name": "1.14.2-OptiFine_HD_U_F1",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.14.2",
"filename": "OptiFine_1.14.2_HD_U_F1.jar",
"forge": null
},
{
"name": "1.13.2-OptiFine_HD_U_G5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.13.2",
"filename": "OptiFine_1.13.2_HD_U_G5.jar",
"forge": null
},
{
"name": "1.13.2-OptiFine_HD_U_F5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.13.2",
"filename": "OptiFine_1.13.2_HD_U_F5.jar",
"forge": null
},
{
"name": "1.13.2-OptiFine_HD_U_E7",
"time": "2019-03-22",
"ispreview": false,
"mcversion": "1.13.2",
"filename": "OptiFine_1.13.2_HD_U_E7.jar",
"forge": null
},
{
"name": "1.13.2-OptiFine_HD_U_E6",
"time": "2019-02-14",
"ispreview": false,
"mcversion": "1.13.2",
"filename": "OptiFine_1.13.2_HD_U_E6.jar",
"forge": null
},
{
"name": "1.13.2-OptiFine_HD_U_E5",
"time": "2018-12-21",
"ispreview": false,
"mcversion": "1.13.2",
"filename": "OptiFine_1.13.2_HD_U_E5.jar",
"forge": null
},
{
"name": "1.13.2-OptiFine_HD_U_E4",
"time": "2018-10-25",
"ispreview": false,
"mcversion": "1.13.2",
"filename": "OptiFine_1.13.2_HD_U_E4.jar",
"forge": null
},
{
"name": "1.13.1-OptiFine_HD_U_E4",
"time": "2018-10-25",
"ispreview": false,
"mcversion": "1.13.1",
"filename": "OptiFine_1.13.1_HD_U_E4.jar",
"forge": null
},
{
"name": "1.13.1-OptiFine_HD_U_E3",
"time": "2018-10-18",
"ispreview": false,
"mcversion": "1.13.1",
"filename": "OptiFine_1.13.1_HD_U_E3.jar",
"forge": null
},
{
"name": "1.13-OptiFine_HD_U_E4",
"time": "2018-10-25",
"ispreview": false,
"mcversion": "1.13",
"filename": "OptiFine_1.13_HD_U_E4.jar",
"forge": null
},
{
"name": "1.12.2-OptiFine_HD_U_G6_pre1",
"time": "2021-03-23",
"ispreview": true,
"mcversion": "1.12.2",
"filename": "preview_OptiFine_1.12.2_HD_U_G6_pre1.jar",
"forge": "2847"
},
{
"name": "1.12.2-OptiFine_HD_U_G5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_G5.jar",
"forge": "2847"
},
{
"name": "1.12.2-OptiFine_HD_U_F5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_F5.jar",
"forge": "2847"
},
{
"name": "1.12.2-OptiFine_HD_U_F4",
"time": "2019-10-23",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_F4.jar",
"forge": "2847"
},
{
"name": "1.12.2-OptiFine_HD_U_E3",
"time": "2018-12-10",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_E3.jar",
"forge": "2795"
},
{
"name": "1.12.2-OptiFine_HD_U_E2",
"time": "2018-07-28",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_E2.jar",
"forge": "2729"
},
{
"name": "1.12.2-OptiFine_HD_U_E1",
"time": "2018-06-28",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_E1.jar",
"forge": "2712"
},
{
"name": "1.12.2-OptiFine_HD_U_D3",
"time": "2018-05-15",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_D3.jar",
"forge": "2691"
},
{
"name": "1.12.2-OptiFine_HD_U_D2",
"time": "2018-04-30",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_D2.jar",
"forge": "2673"
},
{
"name": "1.12.2-OptiFine_HD_U_D1",
"time": "2018-03-23",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_D1.jar",
"forge": "2627"
},
{
"name": "1.12.2-OptiFine_HD_U_C9",
"time": "2018-02-14",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_C9.jar",
"forge": "2615"
},
{
"name": "1.12.2-OptiFine_HD_U_C8",
"time": "2018-01-10",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_C8.jar",
"forge": "2587"
},
{
"name": "1.12.2-OptiFine_HD_U_C7",
"time": "2017-12-13",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_C7.jar",
"forge": "2555"
},
{
"name": "1.12.2-OptiFine_HD_U_C6",
"time": "2017-10-03",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_C6.jar",
"forge": "2493"
},
{
"name": "1.12.2-OptiFine_HD_U_C5",
"time": "2017-09-22",
"ispreview": false,
"mcversion": "1.12.2",
"filename": "OptiFine_1.12.2_HD_U_C5.jar",
"forge": null
},
{
"name": "1.12.1-OptiFine_HD_U_G5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.12.1",
"filename": "OptiFine_1.12.1_HD_U_G5.jar",
"forge": "2485"
},
{
"name": "1.12.1-OptiFine_HD_U_F5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.12.1",
"filename": "OptiFine_1.12.1_HD_U_F5.jar",
"forge": "2485"
},
{
"name": "1.12.1-OptiFine_HD_U_C7",
"time": "2017-12-28",
"ispreview": false,
"mcversion": "1.12.1",
"filename": "OptiFine_1.12.1_HD_U_C7.jar",
"forge": "2485"
},
{
"name": "1.12.1-OptiFine_HD_U_C6",
"time": "2017-10-03",
"ispreview": false,
"mcversion": "1.12.1",
"filename": "OptiFine_1.12.1_HD_U_C6.jar",
"forge": "2485"
},
{
"name": "1.12.1-OptiFine_HD_U_C5",
"time": "2017-08-07",
"ispreview": false,
"mcversion": "1.12.1",
"filename": "OptiFine_1.12.1_HD_U_C5.jar",
"forge": "2446"
},
{
"name": "1.12-OptiFine_HD_U_G5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.12",
"filename": "OptiFine_1.12_HD_U_G5.jar",
"forge": "2443"
},
{
"name": "1.12-OptiFine_HD_U_F5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.12",
"filename": "OptiFine_1.12_HD_U_F5.jar",
"forge": "2443"
},
{
"name": "1.12-OptiFine_HD_U_C7",
"time": "2017-12-28",
"ispreview": false,
"mcversion": "1.12",
"filename": "OptiFine_1.12_HD_U_C7.jar",
"forge": "2443"
},
{
"name": "1.12-OptiFine_HD_U_C5",
"time": "2017-08-07",
"ispreview": false,
"mcversion": "1.12",
"filename": "OptiFine_1.12_HD_U_C5.jar",
"forge": "2424"
},
{
"name": "1.12-OptiFine_HD_U_C4",
"time": "2017-07-03",
"ispreview": false,
"mcversion": "1.12",
"filename": "OptiFine_1.12_HD_U_C4.jar",
"forge": "2387"
},
{
"name": "1.12-OptiFine_HD_U_C3",
"time": "2017-06-26",
"ispreview": false,
"mcversion": "1.12",
"filename": "OptiFine_1.12_HD_U_C3.jar",
"forge": "2331"
},
{
"name": "1.12-OptiFine_HD_U_C2",
"time": "2017-06-18",
"ispreview": false,
"mcversion": "1.12",
"filename": "OptiFine_1.12_HD_U_C2.jar",
"forge": "2331"
},
{
"name": "1.11.2-OptiFine_HD_U_G5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_G5.jar",
"forge": "2588"
},
{
"name": "1.11.2-OptiFine_HD_U_F5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_F5.jar",
"forge": "2588"
},
{
"name": "1.11.2-OptiFine_HD_U_C7",
"time": "2017-12-28",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_C7.jar",
"forge": "2530"
},
{
"name": "1.11.2-OptiFine_HD_U_C3",
"time": "2017-06-27",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_C3.jar",
"forge": "2366"
},
{
"name": "1.11.2-OptiFine_HD_U_C2",
"time": "2017-06-13",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_C2.jar",
"forge": "2311"
},
{
"name": "1.11.2-OptiFine_HD_U_C1",
"time": "2017-06-02",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_C1.jar",
"forge": "2311"
},
{
"name": "1.11.2-OptiFine_HD_U_B9",
"time": "2017-05-18",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_B9.jar",
"forge": "2298"
},
{
"name": "1.11.2-OptiFine_HD_U_B8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_B8.jar",
"forge": "2294"
},
{
"name": "1.11.2-OptiFine_HD_U_B7",
"time": "2017-02-09",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_B7.jar",
"forge": "2227"
},
{
"name": "1.11.2-OptiFine_HD_U_B6",
"time": "2017-01-12",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_B6.jar",
"forge": "2214"
},
{
"name": "1.11.2-OptiFine_HD_U_B5",
"time": "2016-12-22",
"ispreview": false,
"mcversion": "1.11.2",
"filename": "OptiFine_1.11.2_HD_U_B5.jar",
"forge": null
},
{
"name": "1.11-OptiFine_HD_U_G5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_G5.jar",
"forge": "2199"
},
{
"name": "1.11-OptiFine_HD_U_F5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_F5.jar",
"forge": "2199"
},
{
"name": "1.11-OptiFine_HD_U_C7",
"time": "2017-12-28",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_C7.jar",
"forge": "2199"
},
{
"name": "1.11-OptiFine_HD_U_C3",
"time": "2017-06-27",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_C3.jar",
"forge": "2199"
},
{
"name": "1.11-OptiFine_HD_U_B8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_B8.jar",
"forge": "2199"
},
{
"name": "1.11-OptiFine_HD_U_B7",
"time": "2017-03-14",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_B7.jar",
"forge": "2199"
},
{
"name": "1.11-OptiFine_HD_U_B6",
"time": "2017-01-12",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_B6.jar",
"forge": "2199"
},
{
"name": "1.11-OptiFine_HD_U_B5",
"time": "2016-12-22",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_B5.jar",
"forge": "2198"
},
{
"name": "1.11-OptiFine_HD_U_B3",
"time": "2016-12-19",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_B3.jar",
"forge": "2188"
},
{
"name": "1.11-OptiFine_HD_U_B2",
"time": "2016-12-01",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_B2.jar",
"forge": "2157"
},
{
"name": "1.11-OptiFine_HD_U_B1",
"time": "2016-11-24",
"ispreview": false,
"mcversion": "1.11",
"filename": "OptiFine_1.11_HD_U_B1.jar",
"forge": "2157"
},
{
"name": "1.10.2-OptiFine_HD_U_I5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_I5.jar",
"forge": "2511"
},
{
"name": "1.10.2-OptiFine_HD_U_H5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_H5.jar",
"forge": "2511"
},
{
"name": "1.10.2-OptiFine_HD_U_E7",
"time": "2017-12-28",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_E7.jar",
"forge": "2511"
},
{
"name": "1.10.2-OptiFine_HD_U_E3",
"time": "2017-06-29",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_E3.jar",
"forge": "2316"
},
{
"name": "1.10.2-OptiFine_HD_U_D8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_D8.jar",
"forge": "2221"
},
{
"name": "1.10.2-OptiFine_HD_U_D7",
"time": "2017-03-14",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_D7.jar",
"forge": "2221"
},
{
"name": "1.10.2-OptiFine_HD_U_D6",
"time": "2017-01-12",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_D6.jar",
"forge": "2209"
},
{
"name": "1.10.2-OptiFine_HD_U_D4",
"time": "2016-11-24",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_D4.jar",
"forge": "2151"
},
{
"name": "1.10.2-OptiFine_HD_U_D3",
"time": "2016-11-16",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_D3.jar",
"forge": "2125"
},
{
"name": "1.10.2-OptiFine_HD_U_D2",
"time": "2016-10-28",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_D2.jar",
"forge": "2099"
},
{
"name": "1.10.2-OptiFine_HD_U_D1",
"time": "2016-10-17",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_D1.jar",
"forge": "2099"
},
{
"name": "1.10.2-OptiFine_HD_U_C3",
"time": "2016-08-25",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_C3.jar",
"forge": "2073"
},
{
"name": "1.10.2-OptiFine_HD_U_C2",
"time": "2016-07-06",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_C2.jar",
"forge": "2002"
},
{
"name": "1.10.2-OptiFine_HD_U_C1",
"time": "2016-06-30",
"ispreview": false,
"mcversion": "1.10.2",
"filename": "OptiFine_1.10.2_HD_U_C1.jar",
"forge": "2002"
},
{
"name": "1.10-OptiFine_HD_U_I5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_I5.jar",
"forge": "2000"
},
{
"name": "1.10-OptiFine_HD_U_H5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_H5.jar",
"forge": "2000"
},
{
"name": "1.10-OptiFine_HD_U_E7",
"time": "2017-12-28",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_E7.jar",
"forge": "2000"
},
{
"name": "1.10-OptiFine_HD_U_E3",
"time": "2017-06-29",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_E3.jar",
"forge": "2000"
},
{
"name": "1.10-OptiFine_HD_U_D8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_D8.jar",
"forge": "2000"
},
{
"name": "1.10-OptiFine_HD_U_D7",
"time": "2017-03-14",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_D7.jar",
"forge": "2000"
},
{
"name": "1.10-OptiFine_HD_U_C1",
"time": "2016-06-30",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_C1.jar",
"forge": "2000"
},
{
"name": "1.10-OptiFine_HD_U_B7",
"time": "2016-06-24",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_B7.jar",
"forge": null
},
{
"name": "1.10-OptiFine_HD_U_B6",
"time": "2016-06-15",
"ispreview": false,
"mcversion": "1.10",
"filename": "OptiFine_1.10_HD_U_B6.jar",
"forge": null
},
{
"name": "1.9.4-OptiFine_HD_U_I5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_I5.jar",
"forge": "2051"
},
{
"name": "1.9.4-OptiFine_HD_U_H5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_H5.jar",
"forge": "2051"
},
{
"name": "1.9.4-OptiFine_HD_U_E7",
"time": "2017-12-28",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_E7.jar",
"forge": "2051"
},
{
"name": "1.9.4-OptiFine_HD_U_E3",
"time": "2017-06-29",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_E3.jar",
"forge": "2051"
},
{
"name": "1.9.4-OptiFine_HD_U_D8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_D8.jar",
"forge": "2051"
},
{
"name": "1.9.4-OptiFine_HD_U_D7",
"time": "2017-03-14",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_D7.jar",
"forge": "2051"
},
{
"name": "1.9.4-OptiFine_HD_U_B6",
"time": "2016-06-30",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_B6.jar",
"forge": "1987"
},
{
"name": "1.9.4-OptiFine_HD_U_B5",
"time": "2016-06-07",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_B5.jar",
"forge": "1937"
},
{
"name": "1.9.4-OptiFine_HD_U_B4",
"time": "2016-05-19",
"ispreview": false,
"mcversion": "1.9.4",
"filename": "OptiFine_1.9.4_HD_U_B4.jar",
"forge": "1909"
},
{
"name": "1.9.2-OptiFine_HD_U_E3",
"time": "2017-06-29",
"ispreview": false,
"mcversion": "1.9.2",
"filename": "OptiFine_1.9.2_HD_U_E3.jar",
"forge": null
},
{
"name": "1.9.2-OptiFine_HD_U_D8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.9.2",
"filename": "OptiFine_1.9.2_HD_U_D8.jar",
"forge": null
},
{
"name": "1.9.2-OptiFine_HD_U_D7",
"time": "2017-03-16",
"ispreview": false,
"mcversion": "1.9.2",
"filename": "OptiFine_1.9.2_HD_U_D7.jar",
"forge": null
},
{
"name": "1.9.2-OptiFine_HD_U_B3",
"time": "2016-05-13",
"ispreview": false,
"mcversion": "1.9.2",
"filename": "OptiFine_1.9.2_HD_U_B3.jar",
"forge": null
},
{
"name": "1.9.2-OptiFine_HD_U_B2",
"time": "2016-04-27",
"ispreview": false,
"mcversion": "1.9.2",
"filename": "OptiFine_1.9.2_HD_U_B2.jar",
"forge": "1863"
},
{
"name": "1.9.2-OptiFine_HD_U_B1",
"time": "2016-04-02",
"ispreview": false,
"mcversion": "1.9.2",
"filename": "OptiFine_1.9.2_HD_U_B1.jar",
"forge": null
},
{
"name": "1.9.0-OptiFine_HD_U_I5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_I5.jar",
"forge": "1938"
},
{
"name": "1.9.0-OptiFine_HD_U_H5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_H5.jar",
"forge": "1938"
},
{
"name": "1.9.0-OptiFine_HD_U_E7",
"time": "2017-12-29",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_E7.jar",
"forge": "1938"
},
{
"name": "1.9.0-OptiFine_HD_U_E3",
"time": "2017-06-29",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_E3.jar",
"forge": "1938"
},
{
"name": "1.9.0-OptiFine_HD_U_D8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_D8.jar",
"forge": "1938"
},
{
"name": "1.9.0-OptiFine_HD_U_D7",
"time": "2017-03-14",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_D7.jar",
"forge": "1938"
},
{
"name": "1.9.0-OptiFine_HD_U_B5",
"time": "2016-06-07",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_B5.jar",
"forge": "1907"
},
{
"name": "1.9.0-OptiFine_HD_U_B3",
"time": "2016-05-13",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_B3.jar",
"forge": "1867"
},
{
"name": "1.9.0-OptiFine_HD_U_B2",
"time": "2016-04-27",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_B2.jar",
"forge": "1863"
},
{
"name": "1.9.0-OptiFine_HD_U_B1",
"time": "2016-03-26",
"ispreview": false,
"mcversion": "1.9.0",
"filename": "OptiFine_1.9.0_HD_U_B1.jar",
"forge": "1797"
},
{
"name": "1.8.9-OptiFine_HD_U_M6_pre2",
"time": "2021-11-01",
"ispreview": true,
"mcversion": "1.8.9",
"filename": "preview_OptiFine_1.8.9_HD_U_M6_pre2.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_M6_pre1",
"time": "2021-03-26",
"ispreview": true,
"mcversion": "1.8.9",
"filename": "preview_OptiFine_1.8.9_HD_U_M6_pre1.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_M5",
"time": "2021-01-24",
"ispreview": false,
"mcversion": "1.8.9",
"filename": "OptiFine_1.8.9_HD_U_M5.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_L5",
"time": "2019-12-04",
"ispreview": false,
"mcversion": "1.8.9",
"filename": "OptiFine_1.8.9_HD_U_L5.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_I7",
"time": "2018-04-04",
"ispreview": false,
"mcversion": "1.8.9",
"filename": "OptiFine_1.8.9_HD_U_I7.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_I3",
"time": "2017-10-26",
"ispreview": false,
"mcversion": "1.8.9",
"filename": "OptiFine_1.8.9_HD_U_I3.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_H8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.8.9",
"filename": "OptiFine_1.8.9_HD_U_H8.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_H7",
"time": "2017-03-14",
"ispreview": false,
"mcversion": "1.8.9",
"filename": "OptiFine_1.8.9_HD_U_H7.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_H6",
"time": "2016-06-07",
"ispreview": false,
"mcversion": "1.8.9",
"filename": "OptiFine_1.8.9_HD_U_H6.jar",
"forge": "1902"
},
{
"name": "1.8.9-OptiFine_HD_U_H5",
"time": "2016-03-20",
"ispreview": false,
"mcversion": "1.8.9",
"filename": "OptiFine_1.8.9_HD_U_H5.jar",
"forge": "1764"
},
{
"name": "1.8.8-OptiFine_HD_U_I7",
"time": "2018-04-04",
"ispreview": false,
"mcversion": "1.8.8",
"filename": "OptiFine_1.8.8_HD_U_I7.jar",
"forge": "1655"
},
{
"name": "1.8.8-OptiFine_HD_U_I3",
"time": "2017-10-26",
"ispreview": false,
"mcversion": "1.8.8",
"filename": "OptiFine_1.8.8_HD_U_I3.jar",
"forge": "1902"
},
{
"name": "1.8.8-OptiFine_HD_U_H8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.8.8",
"filename": "OptiFine_1.8.8_HD_U_H8.jar",
"forge": "1655"
},
{
"name": "1.8.8-OptiFine_HD_U_H7",
"time": "2017-03-15",
"ispreview": false,
"mcversion": "1.8.8",
"filename": "OptiFine_1.8.8_HD_U_H7.jar",
"forge": "1655"
},
{
"name": "1.8.8-OptiFine_HD_U_H6",
"time": "2016-06-07",
"ispreview": false,
"mcversion": "1.8.8",
"filename": "OptiFine_1.8.8_HD_U_H6.jar",
"forge": "1655"
},
{
"name": "1.8.8-OptiFine_HD_U_H5",
"time": "2016-03-20",
"ispreview": false,
"mcversion": "1.8.8",
"filename": "OptiFine_1.8.8_HD_U_H5.jar",
"forge": "1655"
},
{
"name": "1.8.0-OptiFine_HD_U_I7",
"time": "2018-04-04",
"ispreview": false,
"mcversion": "1.8.0",
"filename": "OptiFine_1.8.0_HD_U_I7.jar",
"forge": "1577"
},
{
"name": "1.8.0-OptiFine_HD_U_I3",
"time": "2017-10-26",
"ispreview": false,
"mcversion": "1.8.0",
"filename": "OptiFine_1.8.0_HD_U_I3.jar",
"forge": "1577"
},
{
"name": "1.8.0-OptiFine_HD_U_H8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.8.0",
"filename": "OptiFine_1.8.0_HD_U_H8.jar",
"forge": "1577"
},
{
"name": "1.8.0-OptiFine_HD_U_H7",
"time": "2017-03-14",
"ispreview": false,
"mcversion": "1.8.0",
"filename": "OptiFine_1.8.0_HD_U_H7.jar",
"forge": "1577"
},
{
"name": "1.8.0-OptiFine_HD_U_H6",
"time": "2016-06-07",
"ispreview": false,
"mcversion": "1.8.0",
"filename": "OptiFine_1.8.0_HD_U_H6.jar",
"forge": "1577"
},
{
"name": "1.8.0-OptiFine_HD_U_H5",
"time": "2016-03-20",
"ispreview": false,
"mcversion": "1.8.0",
"filename": "OptiFine_1.8.0_HD_U_H5.jar",
"forge": "1577"
},
{
"name": "1.7.10-OptiFine_HD_U_E7",
"time": "2018-04-04",
"ispreview": false,
"mcversion": "1.7.10",
"filename": "OptiFine_1.7.10_HD_U_E7.jar",
"forge": "1614"
},
{
"name": "1.7.10-OptiFine_HD_U_E3",
"time": "2017-12-29",
"ispreview": false,
"mcversion": "1.7.10",
"filename": "OptiFine_1.7.10_HD_U_E3.jar",
"forge": "1614"
},
{
"name": "1.7.10-OptiFine_HD_U_D8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.7.10",
"filename": "OptiFine_1.7.10_HD_U_D8.jar",
"forge": "1614"
},
{
"name": "1.7.10-OptiFine_HD_U_D7",
"time": "2017-03-14",
"ispreview": false,
"mcversion": "1.7.10",
"filename": "OptiFine_1.7.10_HD_U_D7.jar",
"forge": "1614"
},
{
"name": "1.7.10-OptiFine_HD_U_D6",
"time": "2016-06-29",
"ispreview": false,
"mcversion": "1.7.10",
"filename": "OptiFine_1.7.10_HD_U_D6.jar",
"forge": "1614"
},
{
"name": "1.7.10-OptiFine_HD_U_D4",
"time": "2016-04-28",
"ispreview": false,
"mcversion": "1.7.10",
"filename": "OptiFine_1.7.10_HD_U_D4.jar",
"forge": "1614"
},
{
"name": "1.7.10-OptiFine_HD_U_D3",
"time": "2016-03-20",
"ispreview": false,
"mcversion": "1.7.10",
"filename": "OptiFine_1.7.10_HD_U_D3.jar",
"forge": "1614"
},
{
"name": "1.7.2-OptiFine_HD_U_F7",
"time": "2018-04-04",
"ispreview": false,
"mcversion": "1.7.2",
"filename": "OptiFine_1.7.2_HD_U_F7.jar",
"forge": "1161"
},
{
"name": "1.7.2-OptiFine_HD_U_F3",
"time": "2017-10-26",
"ispreview": false,
"mcversion": "1.7.2",
"filename": "OptiFine_1.7.2_HD_U_F3.jar",
"forge": "1161"
},
{
"name": "1.7.2-OptiFine_HD_U_E8",
"time": "2017-05-04",
"ispreview": false,
"mcversion": "1.7.2",
"filename": "OptiFine_1.7.2_HD_U_E8.jar",
"forge": "1161"
},
{
"name": "1.7.2-OptiFine_HD_U_E7",
"time": "2017-03-16",
"ispreview": false,
"mcversion": "1.7.2",
"filename": "OptiFine_1.7.2_HD_U_E7.jar",
"forge": "1161"
},
{
"name": "1.7.2-OptiFine_HD_U_E4",
"time": "2016-04-28",
"ispreview": false,
"mcversion": "1.7.2",
"filename": "OptiFine_1.7.2_HD_U_E4.jar",
"forge": "1161"
},
{
"name": "1.7.2-OptiFine_HD_U_E3",
"time": "2016-03-20",
"ispreview": false,
"mcversion": "1.7.2",
"filename": "OptiFine_1.7.2_HD_U_E3.jar",
"forge": "1161"
}
]
import requests
import re
import json
# 发送HTTP GET请求获取网页内容
def get_page(url):
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
raise Exception("无法获取页面内容")
# 正则表达式搜索函数
def regex_search(pattern, text):
return re.findall(pattern, text)
# 主函数
def main():
url = "https://optifine.net/downloads"
page_content = get_page(url)
if len(page_content) < 200:
raise Exception("获取到的版本列表长度不足")
# 获取所有版本信息
forge_versions = regex_search("(?<=colForge'>)[^<]*", page_content)
release_times = regex_search("(?<=colDate'>)[^<]+", page_content)
names = regex_search("(?<=OptiFine_)[0-9A-Za-z_.]+(?=.jar\")", page_content)
if not len(release_times) == len(names):
raise Exception("版本与发布时间数据无法对应")
if not len(forge_versions) == len(names):
raise Exception("版本与 Forge 兼容数据无法对应")
if len(release_times) < 10:
raise Exception("获取到的版本数量不足")
# 转化为列表输出
versions = []
for i in range(len(release_times)):
names[i] = names[i].replace("_", " ")
entry = {
"name": names[i].replace("HD U ", "").replace(".0 ", " "),
"time": "-".join(release_times[i].split(".")[::-1]),
"ispreview": "pre" in names[i].lower(),
"mcversion": names[i].split(" ")[0],
"filename": ("preview_" if "pre" in names[i].lower() else "") + "OptiFine_" + names[i].replace(" ", "_") + ".jar",
"forge": forge_versions[i].replace("Forge ", "").replace("#", "") if "N/A" not in forge_versions[i] else None
}
entry["name"] = entry["mcversion"] + "-OptiFine_" + names[i].replace(" ", "_").replace(entry["mcversion"] + "_", "")
versions.append(entry)
# 将数据保存为optifine.json文件
with open("optifine.json", "w", encoding="utf-8") as file:
json.dump(versions, file, ensure_ascii=False, indent=4)
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment