diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/gui/EditGuiElementGUI.java b/rpgregions/src/main/java/net/islandearth/rpgregions/gui/EditGuiElementGUI.java index 6352fe8..7034e39 100644 --- a/rpgregions/src/main/java/net/islandearth/rpgregions/gui/EditGuiElementGUI.java +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/gui/EditGuiElementGUI.java @@ -113,21 +113,24 @@ public class EditGuiElementGUI extends RPGRegionsGUI { new AnvilGUI.Builder() .onClose(player -> open()) - .onComplete((player, text) -> { + .onClickAsync((slot, stateSnapshot) -> { + final String text = stateSnapshot.getText(); if (ICustomGuiFeedback.class.isAssignableFrom(guiEditable.getClass())) { ICustomGuiFeedback customGuiFeedback = (ICustomGuiFeedback) guiEditable; boolean flag = customGuiFeedback.feedback(player, text); if (flag) { player.playSound(player.getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1f, 1f); - return AnvilGUI.Response.close(); + return CompletableFuture.completedFuture(List.of(AnvilGUI.ResponseAction.close())); } } + CompletableFuture> responses = new CompletableFuture<>(); element.set(player, guiEditable, field, text).thenAccept(done -> { player.playSound(player.getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1f, 1f); + responses.complete(List.of(AnvilGUI.ResponseAction.close())); open(); }); - return AnvilGUI.Response.text("Please wait."); + return responses; }) .text("Enter value") .itemLeft(new ItemStack(Material.WRITABLE_BOOK))