From e9dfcdeb106dd477ee99f25bdc36d3d8377ecf39 Mon Sep 17 00:00:00 2001 From: NEZNAMY Date: Sun, 19 Jan 2025 18:16:04 +0100 Subject: [PATCH] [Layout] If trying to use skin of an online player in fixed slot, try to get it from the player's profile if online --- .../tab/shared/features/layout/skin/PlayerSkin.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/shared/src/main/java/me/neznamy/tab/shared/features/layout/skin/PlayerSkin.java b/shared/src/main/java/me/neznamy/tab/shared/features/layout/skin/PlayerSkin.java index 49ba5d996..e043c05e8 100644 --- a/shared/src/main/java/me/neznamy/tab/shared/features/layout/skin/PlayerSkin.java +++ b/shared/src/main/java/me/neznamy/tab/shared/features/layout/skin/PlayerSkin.java @@ -3,6 +3,7 @@ import me.neznamy.tab.shared.TAB; import me.neznamy.tab.shared.config.file.ConfigurationFile; import me.neznamy.tab.shared.platform.TabList.Skin; +import me.neznamy.tab.shared.platform.TabPlayer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.json.simple.JSONObject; @@ -24,6 +25,14 @@ protected PlayerSkin(@NotNull ConfigurationFile file) { @Nullable public Skin download(@NotNull String input) { try { + TabPlayer player = TAB.getInstance().getPlayer(input); + if (player != null) { + Skin skin = player.getSkin(); + if (skin != null) { + TAB.getInstance().debug("Skipping downloading of PLAYER skin " + input + ", because such player is online. Taking skin from their profile instead."); + return skin; + } + } long time = System.currentTimeMillis(); JSONObject json = getResponse("https://api.ashcon.app/mojang/v2/user/" + input); JSONObject textures = (JSONObject) json.get("textures");