diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-01-20 15:50:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-20 15:50:36 -0500 |
commit | 301c82728132e76da9e93d0bd326f6c44593b5c0 (patch) | |
tree | b4c09f9886e6aa0951a77c688c737594ccedeeeb /src/main/java/de/hysky/skyblocker/utils/ApiUtils.java | |
parent | d5817947d1b3b64087a8b4592087037d02529e45 (diff) | |
download | Skyblocker-301c82728132e76da9e93d0bd326f6c44593b5c0.tar.gz Skyblocker-301c82728132e76da9e93d0bd326f6c44593b5c0.tar.bz2 Skyblocker-301c82728132e76da9e93d0bd326f6c44593b5c0.zip |
Handle rate limits (#507)
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils/ApiUtils.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/ApiUtils.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/ApiUtils.java b/src/main/java/de/hysky/skyblocker/utils/ApiUtils.java index 0121f8ad..c63af3ba 100644 --- a/src/main/java/de/hysky/skyblocker/utils/ApiUtils.java +++ b/src/main/java/de/hysky/skyblocker/utils/ApiUtils.java @@ -31,6 +31,10 @@ public class ApiUtils { * Multithreading is to be handled by the method caller */ public static String name2Uuid(String name) { + return name2Uuid(name, 0); + } + + private static String name2Uuid(String name, int retries) { Session session = MinecraftClient.getInstance().getSession(); if (session.getUsername().equals(name)) return UndashedUuid.toString(session.getUuidOrNull()); @@ -43,6 +47,10 @@ public class ApiUtils { NAME_2_UUID_CACHE.put(name, uuid); return uuid; + } else if (response.ratelimited() && retries < 3) { + Thread.sleep(800); + + return name2Uuid(name, ++retries); } } catch (Exception e) { LOGGER.error("[Skyblocker] Name to uuid lookup failed! Name: {}", name, e); |