fix: better error handling
This commit is contained in:
parent
9a10ea2982
commit
863aa46a7b
8 changed files with 28 additions and 18 deletions
|
@ -62,7 +62,7 @@ public class AnvilManager {
|
|||
if (!updateResult.isError()) {
|
||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_SUCCESS));
|
||||
} else {
|
||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_FAIL, updateResult.getErrorMessage()));
|
||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_FAIL, I18N.translateFlat(player, updateResult.getErrorMessage())));
|
||||
}
|
||||
return AnvilGUI.Response.close();
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ public class AnvilManager {
|
|||
if (!updateResult.isError()) {
|
||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_SUCCESS));
|
||||
} else {
|
||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_FAIL, updateResult.getErrorMessage()));
|
||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_FAIL, I18N.translateFlat(player, updateResult.getErrorMessage())));
|
||||
}
|
||||
return AnvilGUI.Response.close();
|
||||
}
|
||||
|
|
|
@ -42,4 +42,17 @@ public class I18N {
|
|||
return NickoBukkit.getInstance().getNickoConfig().getPrefix() + key.key();
|
||||
}
|
||||
}
|
||||
|
||||
public static String translateFlat(Player player, I18NDict key, Object... arguments) {
|
||||
if (Locale.getDefault() == Locale.CUSTOM) {
|
||||
// TODO: 12/6/22 Actually return from custom language file
|
||||
return key.key();
|
||||
}
|
||||
try {
|
||||
formatter.applyPattern(getBundle(player).getString(key.key()));
|
||||
return formatter.format(arguments);
|
||||
} catch (Exception e) {
|
||||
return key.key();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@ event.undisguise.success=§aDisguise removed.
|
|||
event.undisguise.fail=§cUnable to remove your disguise. It will be set back to default on your next login. Sorry!
|
||||
event.undisguise.notactive=§cYou do not have an active disguise.
|
||||
error.player_offline=§c{0} §fis offline, please try again.
|
||||
error.generic=§cAn unknown error occured. Please contact the developer.
|
||||
error.couldnt_get_name_from_mojang=§cFailed to get username from Mojang. Does the user exists?
|
||||
error.couldnt_get_skin_from_mojang=§cFailed to get skin from Mojang.
|
||||
error.couldnt_get_skin_from_cache=§cFailed to get skin from cache.
|
||||
error.generic=Unknown error
|
||||
error.couldnt_get_name_from_mojang=Failed to get username from Mojang
|
||||
error.couldnt_get_skin_from_mojang=Failed to get skin from Mojang
|
||||
error.couldnt_get_skin_from_cache=Failed to get skin from cache
|
||||
error.invalid_username=§cThe specified username is not a valid Minecraft username.
|
|
@ -6,8 +6,8 @@ event.undisguise.success=§aDéguisement retiré.
|
|||
event.undisguise.fail=§cImpossible de retier votre déguisement. Il sera remis par défaut à votre prochaine reconnexion. Désolé !
|
||||
event.undisguise.notactive=§cVous n'avez pas de déguisement.
|
||||
error.player_offline=§c{0} §fest hors-ligne, veuillez réessayer.
|
||||
error.generic=§cUne erreur inconnue est survenue. Veuillez contacter le développeur.
|
||||
error.couldnt_get_name_from_mojang=§cImpossible de récupérer le nom d'utilisateur depuis Mojang. Cet utilisateur existe-il?
|
||||
error.couldnt_get_skin_from_mojang=§cImpossible de récupérer le skin depuis Mojang.
|
||||
error.couldnt_get_skin_from_cache=§cImpossible de récupérer le skin depuis le cache.
|
||||
error.generic=Erreur inconnue
|
||||
error.couldnt_get_name_from_mojang=Impossible de récupérer le nom d'utilisateur depuis Mojang
|
||||
error.couldnt_get_skin_from_mojang=Impossible de récupérer le skin depuis Mojang
|
||||
error.couldnt_get_skin_from_cache=Impossible de récupérer le skin depuis le cache
|
||||
error.invalid_username=§cLe pseudo spécifié n'est pas un pseudo Minecraft valide.
|
|
@ -89,8 +89,6 @@ public class v1_17_R1 implements Internals {
|
|||
Optional<MojangSkin> skin;
|
||||
|
||||
final PacketPlayOutPlayerInfo remove = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.e, entityPlayer);
|
||||
entityPlayer.b.sendPacket(remove);
|
||||
|
||||
final PacketPlayOutPlayerInfo add = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.a);
|
||||
final GameProfile gameProfile = new GameProfile(player.getUniqueId(), profile.getName());
|
||||
|
||||
|
@ -120,6 +118,7 @@ public class v1_17_R1 implements Internals {
|
|||
add.b().add(new PacketPlayOutPlayerInfo.PlayerInfoData(gameProfile,
|
||||
player.getPing(),
|
||||
EnumGamemode.getById(player.getGameMode().ordinal()), IChatBaseComponent.a(profile.getName())));
|
||||
entityPlayer.b.sendPacket(remove);
|
||||
entityPlayer.b.sendPacket(add);
|
||||
|
||||
Bukkit.getOnlinePlayers().forEach(online -> {
|
||||
|
|
|
@ -91,8 +91,6 @@ public class v1_18_R1 implements Internals {
|
|||
Optional<MojangSkin> skin;
|
||||
|
||||
final PacketPlayOutPlayerInfo remove = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.e, entityPlayer);
|
||||
entityPlayer.b.a(remove);
|
||||
|
||||
final PacketPlayOutPlayerInfo add = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.a);
|
||||
final GameProfile gameProfile = new GameProfile(player.getUniqueId(), profile.getName());
|
||||
|
||||
|
@ -122,6 +120,7 @@ public class v1_18_R1 implements Internals {
|
|||
add.b().add(new PacketPlayOutPlayerInfo.PlayerInfoData(gameProfile,
|
||||
player.getPing(),
|
||||
EnumGamemode.a(player.getGameMode().ordinal()), IChatBaseComponent.a(profile.getName())));
|
||||
entityPlayer.b.a(remove);
|
||||
entityPlayer.b.a(add);
|
||||
|
||||
Bukkit.getOnlinePlayers().forEach(online -> {
|
||||
|
|
|
@ -91,8 +91,6 @@ public class v1_18_R2 implements Internals {
|
|||
Optional<MojangSkin> skin;
|
||||
|
||||
final PacketPlayOutPlayerInfo remove = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.e, entityPlayer);
|
||||
entityPlayer.b.a(remove);
|
||||
|
||||
final PacketPlayOutPlayerInfo add = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.a);
|
||||
final GameProfile gameProfile = new GameProfile(player.getUniqueId(), profile.getName());
|
||||
|
||||
|
@ -122,6 +120,7 @@ public class v1_18_R2 implements Internals {
|
|||
add.b().add(new PacketPlayOutPlayerInfo.PlayerInfoData(gameProfile,
|
||||
player.getPing(),
|
||||
EnumGamemode.a(player.getGameMode().ordinal()), IChatBaseComponent.a(profile.getName())));
|
||||
entityPlayer.b.a(remove);
|
||||
entityPlayer.b.a(add);
|
||||
|
||||
Bukkit.getOnlinePlayers().forEach(online -> {
|
||||
|
|
|
@ -94,7 +94,6 @@ public class v1_19_R1 implements Internals {
|
|||
|
||||
final PacketPlayOutPlayerInfo add = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.a);
|
||||
final PacketPlayOutPlayerInfo remove = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.e, entityPlayer);
|
||||
entityPlayer.b.a(remove);
|
||||
|
||||
// "It's a Surprise Tool That Will Help Us Later!"
|
||||
final ProfilePublicKey.a key = remove.b().get(0).e();
|
||||
|
@ -118,7 +117,7 @@ public class v1_19_R1 implements Internals {
|
|||
} catch (ExecutionException e) {
|
||||
return new UpdateResult(I18NDict.Error.SKIN_FAIL_CACHE);
|
||||
} catch (IOException e) {
|
||||
return new UpdateResult(I18NDict.Error.UNEXPECTED_ERROR);
|
||||
return new UpdateResult(I18NDict.Error.NAME_FAIL_MOJANG);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -130,6 +129,7 @@ public class v1_19_R1 implements Internals {
|
|||
IChatBaseComponent.a(profile.getName()),
|
||||
key)); // f mojang
|
||||
|
||||
entityPlayer.b.a(remove);
|
||||
entityPlayer.b.a(add);
|
||||
Bukkit.getOnlinePlayers().forEach(online -> {
|
||||
EntityPlayer onlineEntityPlayer = ((CraftPlayer) online).getHandle();
|
||||
|
|
Loading…
Reference in a new issue