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:"