From 3377dcf2bf1d5df0004d8d28b9a5c2933bfeabd0 Mon Sep 17 00:00:00 2001 From: ineanto Date: Fri, 22 Dec 2023 15:01:30 +0100 Subject: [PATCH] feat: error handling on invalid skin/name --- .../xyz/ineanto/nicko/appearance/AppearanceManager.java | 7 +++++++ .../java/xyz/ineanto/nicko/event/PlayerJoinListener.java | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java b/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java index 26dd09e..fa7bd53 100644 --- a/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java +++ b/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java @@ -114,15 +114,22 @@ public class AppearanceManager { properties.get("textures").clear(); properties.put("textures", new WrappedSignedProperty("textures", skinResult.value(), skinResult.signature())); } else { + profile.setSkin(null); + dataStore.updateCache(player.getUniqueId(), profile); return ActionResult.error(I18NDict.Error.MOJANG_SKIN); } } else { + profile.setName(null); + dataStore.updateCache(player.getUniqueId(), profile); return ActionResult.error(I18NDict.Error.MOJANG_NAME); } return ActionResult.ok(); } catch (ExecutionException e) { return ActionResult.error(I18NDict.Error.CACHE); } catch (IOException e) { + profile.setName(null); + profile.setSkin(null); + dataStore.updateCache(player.getUniqueId(), profile); return ActionResult.error(I18NDict.Error.MOJANG_NAME); } } diff --git a/src/main/java/xyz/ineanto/nicko/event/PlayerJoinListener.java b/src/main/java/xyz/ineanto/nicko/event/PlayerJoinListener.java index 9921802..7e06e37 100644 --- a/src/main/java/xyz/ineanto/nicko/event/PlayerJoinListener.java +++ b/src/main/java/xyz/ineanto/nicko/event/PlayerJoinListener.java @@ -1,6 +1,5 @@ package xyz.ineanto.nicko.event; -import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -41,7 +40,6 @@ public class PlayerJoinListener implements Listener { optionalProfile.ifPresent(profile -> { // Random Skin on connection feature if (profile.isRandomSkin()) { - Bukkit.broadcast(Component.text("§c[ELITE DEBUG] §fJoined with Random Skin.")); final String name = instance.getNameFetcher().getRandomUsername(); final String skin = instance.getNameFetcher().getRandomUsername(); profile.setName(name);