LatestVersion.py 998 B

1234567891011121314151617181920212223242526272829
  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(card,arg,res):
  18. if len(arg) <= 2 or (count := int(arg[2])) <= 1:
  19. return f"{LATEST_VERSIONS[arg[1]]} | latest = true"
  20. for version in FULL_VERSIONS:
  21. if version['type'] == arg[1]:
  22. count -= 1
  23. if count == 0:
  24. return version['id']
  25. return ''