From 9b840ee53f808ebdb29b41fb3725caa639aa7b7d Mon Sep 17 00:00:00 2001 From: aro Date: Mon, 30 Jan 2023 10:43:55 +0100 Subject: [PATCH] refactor: update anvilgui usage --- .../nicko/bukkit/anvil/AnvilManager.java | 56 ++++++++++--------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/bukkit/anvil/AnvilManager.java b/nicko-core/src/main/java/net/artelnatif/nicko/bukkit/anvil/AnvilManager.java index c155361..a3e1021 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/bukkit/anvil/AnvilManager.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/bukkit/anvil/AnvilManager.java @@ -12,6 +12,9 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import java.util.Collections; +import java.util.List; + public class AnvilManager { private final Player player; private final AppearanceManager appearanceManager; @@ -37,13 +40,13 @@ public class AnvilManager { return new AnvilGUI.Builder() .plugin(NickoBukkit.getInstance()) .itemLeft(getLeftItem(false)) - .onComplete((anvilPlayer, response) -> { - if (MojangUtils.isUsernameInvalid(response)) { - return AnvilGUI.Response.text("Invalid username!"); + .onComplete((completion) -> { + if (MojangUtils.isUsernameInvalid(completion.getText())) { + return Collections.singletonList(AnvilGUI.ResponseAction.replaceInputText("Invalid username!")); } else { - appearanceManager.setName(response); + appearanceManager.setName(completion.getText()); openSkinAnvil(); - return AnvilGUI.Response.close(); + return Collections.singletonList(AnvilGUI.ResponseAction.close()); } }) .text("New name..."); @@ -53,18 +56,13 @@ public class AnvilManager { return new AnvilGUI.Builder() .plugin(NickoBukkit.getInstance()) .itemLeft(getLeftItem(false)) - .onComplete((anvilPlayer, response) -> { - if (MojangUtils.isUsernameInvalid(response)) { - return AnvilGUI.Response.text("Invalid username!"); + .onComplete((completion) -> { + if (MojangUtils.isUsernameInvalid(completion.getText())) { + return Collections.singletonList(AnvilGUI.ResponseAction.replaceInputText("Invalid username!")); } else { - appearanceManager.setName(response); - final ActionResult actionResult = appearanceManager.updatePlayer(false); - if (!actionResult.isError()) { - player.sendMessage(I18N.translate(player, I18NDict.Event.Disguise.SUCCESS)); - } else { - player.sendMessage(I18N.translate(player, I18NDict.Event.Disguise.FAIL, I18N.translateWithoutPrefix(player, actionResult.getErrorMessage()))); - } - return AnvilGUI.Response.close(); + appearanceManager.setName(completion.getText()); + final ActionResult actionResult = appearanceManager.updatePlayer(false); + return sendResultAndClose(actionResult); } }) .text("New name..."); @@ -74,23 +72,27 @@ public class AnvilManager { return new AnvilGUI.Builder() .plugin(NickoBukkit.getInstance()) .itemLeft(getLeftItem(true)) - .onComplete((anvilPlayer, response) -> { - if (MojangUtils.isUsernameInvalid(response)) { - return AnvilGUI.Response.text("Invalid username!"); + .onComplete((completion) -> { + if (MojangUtils.isUsernameInvalid(completion.getText())) { + return Collections.singletonList(AnvilGUI.ResponseAction.replaceInputText("Invalid username!")); } else { - appearanceManager.setSkin(response); - final ActionResult actionResult = appearanceManager.updatePlayer(true); - if (!actionResult.isError()) { - player.sendMessage(I18N.translate(player, I18NDict.Event.Disguise.SUCCESS)); - } else { - player.sendMessage(I18N.translate(player, I18NDict.Event.Disguise.FAIL, I18N.translateWithoutPrefix(player, actionResult.getErrorMessage()))); - } - return AnvilGUI.Response.close(); + appearanceManager.setSkin(completion.getText()); + final ActionResult actionResult = appearanceManager.updatePlayer(true); + return sendResultAndClose(actionResult); } }) .text("New skin..."); } + private List sendResultAndClose(ActionResult actionResult) { + if (!actionResult.isError()) { + player.sendMessage(I18N.translate(player, I18NDict.Event.Disguise.SUCCESS)); + } else { + player.sendMessage(I18N.translate(player, I18NDict.Event.Disguise.FAIL, I18N.translateWithoutPrefix(player, actionResult.getErrorMessage()))); + } + return Collections.singletonList(AnvilGUI.ResponseAction.close()); + } + private ItemStack getLeftItem(boolean skin) { final ItemStack item = new ItemStack(Material.PAPER); final ItemMeta meta = item.getItemMeta();