From c8c55611a0f050e1d95ee8cc8f0704079dcc702d Mon Sep 17 00:00:00 2001 From: ineanto Date: Sat, 1 Jul 2023 18:30:24 +0200 Subject: [PATCH] fix: mojangapi returns --- .../nicko/command/sub/NickoDebugSubCmd.java | 23 +++++++++++++++---- .../nicko/disguise/AppearanceManager.java | 11 +++++---- .../xyz/atnrch/nicko/mojang/MojangAPI.java | 2 +- src/main/resources/en.yml | 4 ++-- src/main/resources/fr.yml | 4 ++-- 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/main/java/xyz/atnrch/nicko/command/sub/NickoDebugSubCmd.java b/src/main/java/xyz/atnrch/nicko/command/sub/NickoDebugSubCmd.java index c416898..aac6b71 100644 --- a/src/main/java/xyz/atnrch/nicko/command/sub/NickoDebugSubCmd.java +++ b/src/main/java/xyz/atnrch/nicko/command/sub/NickoDebugSubCmd.java @@ -1,7 +1,9 @@ package xyz.atnrch.nicko.command.sub; import xyz.atnrch.nicko.NickoBukkit; +import xyz.atnrch.nicko.disguise.ActionResult; import xyz.atnrch.nicko.disguise.AppearanceManager; +import xyz.atnrch.nicko.i18n.I18N; import xyz.atnrch.nicko.mojang.MojangUtils; import org.bukkit.Bukkit; import org.bukkit.Sound; @@ -35,14 +37,25 @@ public class NickoDebugSubCmd { } } - final AppearanceManager appearanceManager = AppearanceManager.get(target.getPlayer()); - - if (MojangUtils.isUsernameInvalid(name) || MojangUtils.isUsernameInvalid(skin)) { + if (MojangUtils.isUsernameInvalid(name)) { sender.sendMessage(prefix + "§cSpecified username is invalid."); + return; } + if (MojangUtils.isUsernameInvalid(skin)) { + sender.sendMessage(prefix + "§cSpecified skin is invalid."); + return; + } + + final AppearanceManager appearanceManager = AppearanceManager.get(target.getPlayer()); appearanceManager.setNameAndSkin(name, skin); - target.sendMessage(prefix + "§aWhoosh!"); - target.playSound(target.getLocation(), Sound.ENTITY_ITEM_FRAME_PLACE, 1, 1); + final ActionResult result = appearanceManager.updatePlayer(true, false); + if (!result.isError()) { + target.sendMessage(prefix + "§aWhoosh!"); + target.playSound(target.getLocation(), Sound.ENTITY_ITEM_FRAME_PLACE, 1, 1); + } else { + final I18N i18n = new I18N(target); + target.sendMessage(prefix + "§cWhoops. Something happened: " + i18n.translateWithoutPrefix(result.getErrorKey())); + } } } diff --git a/src/main/java/xyz/atnrch/nicko/disguise/AppearanceManager.java b/src/main/java/xyz/atnrch/nicko/disguise/AppearanceManager.java index ca541a2..e85359e 100644 --- a/src/main/java/xyz/atnrch/nicko/disguise/AppearanceManager.java +++ b/src/main/java/xyz/atnrch/nicko/disguise/AppearanceManager.java @@ -79,7 +79,6 @@ public class AppearanceManager { public void setNameAndSkin(String name, String skin) { this.profile.setName(name); this.profile.setSkin(skin); - updatePlayer(true, false); } public ActionResult reset() { @@ -105,11 +104,11 @@ public class AppearanceManager { updateTabList(gameProfile, displayName); respawnPlayer(); updateOthers(); + player.teleport(player.getLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN); + player.setFlying(wasFlying); + player.updateInventory(); } - player.teleport(player.getLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN); - player.setFlying(wasFlying); - player.updateInventory(); - return ActionResult.ok(); + return result; } public void updateOthers() { @@ -144,6 +143,8 @@ public class AppearanceManager { } else { return ActionResult.error(I18NDict.Error.MOJANG_SKIN); } + } else { + return ActionResult.error(I18NDict.Error.MOJANG_NAME); } return ActionResult.ok(); } catch (ExecutionException e) { diff --git a/src/main/java/xyz/atnrch/nicko/mojang/MojangAPI.java b/src/main/java/xyz/atnrch/nicko/mojang/MojangAPI.java index f5689fe..fac38e2 100644 --- a/src/main/java/xyz/atnrch/nicko/mojang/MojangAPI.java +++ b/src/main/java/xyz/atnrch/nicko/mojang/MojangAPI.java @@ -62,7 +62,7 @@ public class MojangAPI { final MojangSkin skin = MojangSkin.buildFromJson(object); return Optional.of(skin); } - + System.out.println("got empty optional !!!"); return Optional.empty(); } diff --git a/src/main/resources/en.yml b/src/main/resources/en.yml index ac2de53..d60b361 100644 --- a/src/main/resources/en.yml +++ b/src/main/resources/en.yml @@ -1,8 +1,8 @@ error: generic: "Unknown error" invalid_username: "§cThis is not a valid Minecraft username." - mojang_name: "Unable to get username from Mojang." - mojang_skin: "Unable to get skin from Mojang." + mojang_name: "There is no Minecraft account with this name." + mojang_skin: "This Minecraft account has no skin." offline: "§c{0} §fis offline!" cache: "Unable to get skin from the cache." sql: "SQL Error" diff --git a/src/main/resources/fr.yml b/src/main/resources/fr.yml index 4471e6c..70d597a 100644 --- a/src/main/resources/fr.yml +++ b/src/main/resources/fr.yml @@ -1,8 +1,8 @@ error: generic: Erreur inconnue" invalid_username: "§cLe pseudo n''est pas un pseudo Minecraft valide." - mojang_name: "Impossible de récupérer le nom d''utilisateur depuis Mojang." - mojang_skin: "Impossible de récupérer le skin depuis Mojang." + mojang_name: "Un compte Minecraft avec ce nom n'existe pas." + mojang_skin: "Ce compte Minecraft n'a pas de skin." offline: "§c{0} §fest hors-ligne!" cache: "Impossible de récupérer le skin depuis le cache." sql: "Erreur SQL"