From eb5eca03c87ad82c26304dd77d8b52b35778565d Mon Sep 17 00:00:00 2001 From: Goldy <153996346+g0ldyy@users.noreply.github.com> Date: Sat, 28 Jun 2025 14:23:25 +0200 Subject: [PATCH] fancydialogs: Fix wrong dialog open permission and allow console to open dialog on players (#76) --- .../fancydialogs/commands/DialogCMD.java | 20 ++++++++++++------- .../src/main/resources/languages/default.yml | 1 + 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/commands/DialogCMD.java b/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/commands/DialogCMD.java index 5acfacb8..44257ac9 100644 --- a/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/commands/DialogCMD.java +++ b/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/commands/DialogCMD.java @@ -47,17 +47,23 @@ public final class DialogCMD { @Command("dialog open ") @Description("Opens a dialog (for a player) by its ID") - @CommandPermission("fancydialogs.commands.registry.unregister") + @CommandPermission("fancydialogs.commands.dialog.open") public void open( - Player actor, + BukkitCommandActor actor, Dialog dialog, @Optional EntitySelector target ) { if (target == null) { - dialog.open(actor); - translator.translate("commands.dialog.open.self") - .replace("id", dialog.getId()) - .send(actor); + if (actor.isPlayer()) { + dialog.open(actor.asPlayer()); + translator.translate("commands.dialog.open.self") + .replace("id", dialog.getId()) + .send(actor.sender()); + } else { + translator.translate("commands.dialog.open.console_requires_target") + .replace("id", dialog.getId()) + .send(actor.sender()); + } } else { for (Player player : target) { dialog.open(player); @@ -71,7 +77,7 @@ public final class DialogCMD { translator.translate("commands.dialog.open.other") .replace("id", dialog.getId()) .replace("target", playersStr) - .send(actor); + .send(actor.sender()); } } } diff --git a/plugins/fancydialogs/src/main/resources/languages/default.yml b/plugins/fancydialogs/src/main/resources/languages/default.yml index a20cf36d..fecae7cb 100644 --- a/plugins/fancydialogs/src/main/resources/languages/default.yml +++ b/plugins/fancydialogs/src/main/resources/languages/default.yml @@ -7,6 +7,7 @@ messages: open: self: "Opened dialog {warningColor}{id}." other: "Opened dialog {warningColor}{id} for {target}." + console_requires_target: "Console must specify a target player to open dialog {warningColor}{id}. Use: /dialog open {id} " list: empty: "There are no dialogs registered." header: "Registered dialogs:"