From b4d9c48fd7f685a4dbd1017f37cb5c892631c52c Mon Sep 17 00:00:00 2001 From: aro Date: Tue, 8 Nov 2022 20:41:35 +0100 Subject: [PATCH] fix: crash on anvil --- .../artelnatif/nicko/anvil/AnvilManager.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/anvil/AnvilManager.java b/nicko-core/src/main/java/net/artelnatif/nicko/anvil/AnvilManager.java index 7bed31e..5504ef0 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/anvil/AnvilManager.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/anvil/AnvilManager.java @@ -22,8 +22,7 @@ public class AnvilManager { } public void openNameThenSkinAnvil() { - openNameAnvil(); - openSkinAnvil(); + getNameThenSkinAnvil().open(player); } public void openSkinAnvil() { @@ -34,6 +33,22 @@ public class AnvilManager { getNameAnvil().open(player); } + public AnvilGUI.Builder getNameThenSkinAnvil() { + return new AnvilGUI.Builder() + .plugin(NickoBukkit.getInstance()) + .itemLeft(getLeftItem(false)) + .onComplete((anvilPlayer, response) -> { + if (MojangUtils.isUsernameInvalid(response)) { + return AnvilGUI.Response.text("Invalid username!"); + } else { + appearanceManager.setName(response); + openSkinAnvil(); + return AnvilGUI.Response.close(); + } + }) + .text("New name..."); + } + public AnvilGUI.Builder getNameAnvil() { return new AnvilGUI.Builder() .plugin(NickoBukkit.getInstance())