diff --git a/src/main/java/io/github/toberocat/guiengine/components/AbstractGuiComponent.java b/src/main/java/io/github/toberocat/guiengine/components/AbstractGuiComponent.java index ff9f034a..c19a1385 100644 --- a/src/main/java/io/github/toberocat/guiengine/components/AbstractGuiComponent.java +++ b/src/main/java/io/github/toberocat/guiengine/components/AbstractGuiComponent.java @@ -120,7 +120,6 @@ public void clickedComponent(@NotNull InventoryClickEvent event) { if (null == context || null == api) return; FunctionProcessor.callFunctions(clickFunctions, api, context); - context.render(); } @Override diff --git a/src/main/java/io/github/toberocat/guiengine/context/GuiContext.java b/src/main/java/io/github/toberocat/guiengine/context/GuiContext.java index 440220ee..587961b7 100644 --- a/src/main/java/io/github/toberocat/guiengine/context/GuiContext.java +++ b/src/main/java/io/github/toberocat/guiengine/context/GuiContext.java @@ -178,10 +178,16 @@ public void add(@NotNull GuiEngineApi api, @NotNull XmlComponent @NotNull ... co @Override public void clickedComponent(@NotNull InventoryClickEvent event) { interpreter().clickedComponent(event); - componentsDescending().filter(x -> x.isInComponent(event.getSlot())).filter(x -> !x.hidden()).findFirst().ifPresentOrElse(component -> { - Bukkit.getPluginManager().callEvent(new GuiComponentClickEvent(this, event, component)); - component.clickedComponent(event); - }, () -> Bukkit.getPluginManager().callEvent(new GuiComponentClickEvent(this, event, null))); + componentsDescending() + .filter(x -> x.isInComponent(event.getSlot())) + .filter(x -> !x.hidden()) + .findFirst() + .ifPresentOrElse(component -> { + Bukkit.getPluginManager().callEvent(new GuiComponentClickEvent(this, event, component)); + component.clickedComponent(event); + }, () -> Bukkit.getPluginManager().callEvent( + new GuiComponentClickEvent(this, event, null))); + render(); } /** @@ -198,6 +204,7 @@ public void draggedComponent(@NotNull InventoryDragEvent event) { Bukkit.getPluginManager().callEvent(new GuiComponentDragEvent(this, event, null)); interpreter().draggedComponent(event); }); + render(); } /**