From 6e0ee029a62fe9ce86c13a457bde09125d526dc9 Mon Sep 17 00:00:00 2001 From: themode Date: Thu, 5 Sep 2024 01:33:58 +0200 Subject: [PATCH] Remove mojang utils cache --- .../server/utils/mojang/MojangUtils.java | 37 +++++-------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/src/main/java/net/minestom/server/utils/mojang/MojangUtils.java b/src/main/java/net/minestom/server/utils/mojang/MojangUtils.java index 2bf3e9f16..e4aa269fa 100644 --- a/src/main/java/net/minestom/server/utils/mojang/MojangUtils.java +++ b/src/main/java/net/minestom/server/utils/mojang/MojangUtils.java @@ -1,10 +1,7 @@ package net.minestom.server.utils.mojang; -import com.github.benmanes.caffeine.cache.Cache; -import com.github.benmanes.caffeine.cache.Caffeine; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import net.minestom.server.MinecraftServer; import net.minestom.server.utils.url.URLUtils; import org.jetbrains.annotations.Blocking; import org.jetbrains.annotations.NotNull; @@ -12,7 +9,6 @@ import org.jetbrains.annotations.Nullable; import java.io.IOException; import java.util.UUID; -import java.util.concurrent.TimeUnit; /** * Utils class using mojang API. @@ -20,13 +16,10 @@ import java.util.concurrent.TimeUnit; public final class MojangUtils { private static final String FROM_UUID_URL = "https://sessionserver.mojang.com/session/minecraft/profile/%s?unsigned=false"; private static final String FROM_USERNAME_URL = "https://api.mojang.com/users/profiles/minecraft/%s"; - private static final Cache URL_CACHE = Caffeine.newBuilder() - .expireAfterWrite(30, TimeUnit.SECONDS) - .softValues() - .build(); /** * Gets a player's UUID from their username + * * @param username The players username * @return The {@link UUID} * @throws IOException with text detailing the exception @@ -46,6 +39,7 @@ public final class MojangUtils { /** * Gets a player's username from their UUID + * * @param playerUUID The {@link UUID} of the player * @return The player's username * @throws IOException with text detailing the exception @@ -57,6 +51,7 @@ public final class MojangUtils { /** * Gets a {@link JsonObject} with the response from the mojang API + * * @param uuid The UUID as a {@link UUID} * @return The {@link JsonObject} or {@code null} if the mojang API is down or the UUID is invalid */ @@ -67,6 +62,7 @@ public final class MojangUtils { /** * Gets a {@link JsonObject} with the response from the mojang API + * * @param uuid The UUID as a {@link String} * @return The {@link JsonObject} or {@code null} if the mojang API is down or the UUID is invalid */ @@ -81,6 +77,7 @@ public final class MojangUtils { /** * Gets a {@link JsonObject} with the response from the mojang API + * * @param username The username as a {@link String} * @return The {@link JsonObject} or {@code null} if the mojang API is down or the username is invalid */ @@ -95,37 +92,21 @@ public final class MojangUtils { /** * Gets the JsonObject from a URL, expects a mojang player URL so the errors might not make sense if it is not + * * @param url The url to retrieve * @return The {@link JsonObject} of the result * @throws IOException with the text detailing the exception */ private static @NotNull JsonObject retrieve(@NotNull String url) throws IOException { - @Nullable final var cacheResult = URL_CACHE.getIfPresent(url); - - if (cacheResult != null) { - return cacheResult; - } - - final String response; - try { - // Retrieve from the rate-limited Mojang API - response = URLUtils.getText(url); - } catch (IOException e) { - MinecraftServer.getExceptionManager().handleException(e); - throw new RuntimeException(e); - } - + // Retrieve from the rate-limited Mojang API + final String response = URLUtils.getText(url); // If our response is "", that means the url did not get a proper object from the url // So the username or UUID was invalid, and therefore we return null - if (response.isEmpty()) { - throw new IOException("The Mojang API is down"); - } - + if (response.isEmpty()) throw new IOException("The Mojang API is down"); JsonObject jsonObject = JsonParser.parseString(response).getAsJsonObject(); if (jsonObject.has("errorMessage")) { throw new IOException(jsonObject.get("errorMessage").getAsString()); } - URL_CACHE.put(url, jsonObject); return jsonObject; } }