LatestVersion.py 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. from Core.Debug import LogWarning, LogInfo
  2. import requests
  3. import json
  4. LAUNCHER_MANIFSET_URL = 'https://piston-meta.mojang.com/mc/game/version_manifest.json'
  5. def fetch_mainfest():
  6. try:
  7. response = requests.get(LAUNCHER_MANIFSET_URL)
  8. return json.loads(response.content)
  9. except Exception as e:
  10. LogWarning(f'获取版本列表失败:{e.with_traceback()}')
  11. return {}
  12. MANIFSET = fetch_mainfest()
  13. LATEST_VERSIONS = {'snapshot':'','release':''}
  14. LATEST_VERSIONS.update(MANIFSET['latest'])
  15. FULL_VERSIONS = MANIFSET.get('versions')
  16. LogInfo(f'[VersionScript] 最新快照版:{LATEST_VERSIONS["snapshot"]}; 最新正式版:{LATEST_VERSIONS["release"]}')
  17. def script(version_type,version_rank = '1',**kwagrs):
  18. version_rank = int(version_rank)
  19. if version_rank <= 1:
  20. return f"{LATEST_VERSIONS[version_type]} | latest = true"
  21. count = version_rank
  22. for version in FULL_VERSIONS:
  23. if version['type'] == version_type:
  24. count -= 1
  25. if count == 0:
  26. return version['id']
  27. return ''