aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit/src/main/java/com')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java2
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java2
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java2
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/AbortCancelMenuElement.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/BackMenuElement.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CategoryMenuElement.java2
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/ConfirmCancelMenuElement.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CustomMenuElement.java16
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/MenuElement.java4
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageDescMenuElement.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageNextMenuElement.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PagePrevMenuElement.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/QuestMenuElement.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/SpacerMenuElement.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java9
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/DispatchUtils.java20
16 files changed, 55 insertions, 26 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java
index 5cc19b6b..97846b12 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/CancelQMenu.java
@@ -33,7 +33,7 @@ public class CancelQMenu extends QMenu {
MenuElement questMenuElement = new QuestMenuElement(plugin, quest, this, true);
MenuElement confirmCancelMenuElement = new ConfirmCancelMenuElement(plugin, owner, quest, superMenu);
MenuElement abortCancelMenuElement = new AbortCancelMenuElement(plugin, owner, superMenu);
- MenuElement border = new CustomMenuElement(plugin, owner.getPlayerUUID(), null, config.getItem("gui.quest-cancel-background"));
+ MenuElement border = new CustomMenuElement(plugin, owner.getPlayerUUID(), config.getItem("gui.quest-cancel-background"));
for (int i = 0; i < 27; i++) {
menuElements.put(i, border);
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java
index 47d97adc..ec183803 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/MenuController.java
@@ -61,7 +61,7 @@ public class MenuController implements Listener {
if (menuElement == null) {
return;
}
- ClickResult result = menuElement.handleClick(event.getClick());
+ ClickResult result = menuElement.handleClick(player, event.getClick());
if (result == ClickResult.DO_NOTHING) {
return;
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java
index d84a70c6..a5c9620c 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java
@@ -99,7 +99,7 @@ public abstract class PaginatedQMenu extends QMenu {
if (plugin.getConfig().contains(customElementsPath + "." + s + ".display")) {
ItemStack is = plugin.getConfiguredItemStack(customElementsPath + "." + s + ".display", plugin.getConfig());
List<String> commands = plugin.getQuestsConfig().getStringList(customElementsPath + "." + s + ".commands");
- menuElement = new CustomMenuElement(plugin, owner.getPlayerUUID(), player.getName(), is, commands);
+ menuElement = new CustomMenuElement(plugin, owner.getPlayerUUID(), is, commands);
} else if (plugin.getConfig().getBoolean(customElementsPath + "." + s + ".spacer", false)) {
menuElement = spacer;
} else {
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/AbortCancelMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/AbortCancelMenuElement.java
index e55c42e4..8ce289b7 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/AbortCancelMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/AbortCancelMenuElement.java
@@ -6,6 +6,7 @@ import com.leonardobishop.quests.bukkit.menu.ClickResult;
import com.leonardobishop.quests.bukkit.menu.QMenu;
import com.leonardobishop.quests.bukkit.util.MenuUtils;
import com.leonardobishop.quests.common.player.QPlayer;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -27,7 +28,7 @@ public class AbortCancelMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
if (clickType == ClickType.LEFT) {
if (returnMenu != null) {
plugin.getMenuController().openMenu(owner.getPlayerUUID(), returnMenu);
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/BackMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/BackMenuElement.java
index 07964c53..34168499 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/BackMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/BackMenuElement.java
@@ -6,6 +6,7 @@ import com.leonardobishop.quests.bukkit.menu.ClickResult;
import com.leonardobishop.quests.bukkit.menu.MenuController;
import com.leonardobishop.quests.bukkit.menu.QMenu;
import com.leonardobishop.quests.bukkit.util.MenuUtils;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -34,7 +35,7 @@ public class BackMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
controller.openMenu(player, previousMenu);
return ClickResult.DO_NOTHING;
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CategoryMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CategoryMenuElement.java
index adb4617f..8df98c49 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CategoryMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CategoryMenuElement.java
@@ -45,7 +45,7 @@ public class CategoryMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
Player player = Bukkit.getPlayer(owner);
if (player == null) {
return ClickResult.DO_NOTHING;
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/ConfirmCancelMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/ConfirmCancelMenuElement.java
index d3cc871b..f18b46fa 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/ConfirmCancelMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/ConfirmCancelMenuElement.java
@@ -7,6 +7,7 @@ import com.leonardobishop.quests.bukkit.menu.QMenu;
import com.leonardobishop.quests.bukkit.util.MenuUtils;
import com.leonardobishop.quests.common.player.QPlayer;
import com.leonardobishop.quests.common.quest.Quest;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -30,7 +31,7 @@ public class ConfirmCancelMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
if (clickType == ClickType.LEFT) {
if (owner.cancelQuest(quest)) {
if (returnMenu != null) {
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CustomMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CustomMenuElement.java
index 048ad48d..8b826829 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CustomMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/CustomMenuElement.java
@@ -2,8 +2,9 @@ package com.leonardobishop.quests.bukkit.menu.element;
import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
import com.leonardobishop.quests.bukkit.menu.ClickResult;
+import com.leonardobishop.quests.bukkit.util.DispatchUtils;
import com.leonardobishop.quests.bukkit.util.MenuUtils;
-import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -17,17 +18,15 @@ public class CustomMenuElement extends MenuElement{
private final BukkitQuestsPlugin plugin;
private final ItemStack itemStack;
private final List<String> commands;
- private final String playerName;
- public CustomMenuElement(BukkitQuestsPlugin plugin, UUID owner, String name, ItemStack itemStack) {
- this(plugin, owner, name, itemStack, new ArrayList<>());
+ public CustomMenuElement(BukkitQuestsPlugin plugin, UUID owner, ItemStack itemStack) {
+ this(plugin, owner, itemStack, new ArrayList<>());
}
- public CustomMenuElement(BukkitQuestsPlugin plugin, UUID owner, String name, ItemStack itemStack, List<String> commands) {
+ public CustomMenuElement(BukkitQuestsPlugin plugin, UUID owner, ItemStack itemStack, List<String> commands) {
this.plugin = plugin;
this.itemStack = MenuUtils.applyPlaceholders(plugin, owner, itemStack);
this.commands = commands;
- this.playerName = name;
}
@Override
@@ -36,15 +35,14 @@ public class CustomMenuElement extends MenuElement{
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
if (commands.isEmpty()) {
return ClickResult.DO_NOTHING;
}
this.plugin.getScheduler().runTask(() -> {
for (String command : commands) {
- command = command.replace("{player}", playerName);
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command);
+ DispatchUtils.dispatchCommand(whoClicked, this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.GUI, whoClicked, command));
}
});
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/MenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/MenuElement.java
index 7be44a5a..98ced8d4 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/MenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/MenuElement.java
@@ -1,6 +1,7 @@
package com.leonardobishop.quests.bukkit.menu.element;
import com.leonardobishop.quests.bukkit.menu.ClickResult;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -11,10 +12,11 @@ public abstract class MenuElement {
/**
* Handle a click.
*
+ * @param whoClicked who clicked
* @param clickType the type of click
* @return whether the calling menu should be refreshed
*/
- public abstract ClickResult handleClick(ClickType clickType);
+ public abstract ClickResult handleClick(Player whoClicked, ClickType clickType);
public boolean isEnabled() {
return true;
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageDescMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageDescMenuElement.java
index b35c134b..cfb3aa50 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageDescMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageDescMenuElement.java
@@ -4,6 +4,7 @@ import com.leonardobishop.quests.bukkit.config.BukkitQuestsConfig;
import com.leonardobishop.quests.bukkit.menu.ClickResult;
import com.leonardobishop.quests.bukkit.menu.PaginatedQMenu;
import com.leonardobishop.quests.bukkit.util.MenuUtils;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -28,7 +29,7 @@ public class PageDescMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
return ClickResult.DO_NOTHING;
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageNextMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageNextMenuElement.java
index d4536449..e00da422 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageNextMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PageNextMenuElement.java
@@ -5,6 +5,7 @@ import com.leonardobishop.quests.bukkit.menu.ClickResult;
import com.leonardobishop.quests.bukkit.menu.PaginatedQMenu;
import com.leonardobishop.quests.bukkit.util.MenuUtils;
import org.bukkit.Material;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -30,7 +31,7 @@ public class PageNextMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
if (menu.getCurrentPage() == menu.getMaxPage()) {
return ClickResult.DO_NOTHING;
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PagePrevMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PagePrevMenuElement.java
index e5d96f6e..8fa1cc97 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PagePrevMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/PagePrevMenuElement.java
@@ -5,6 +5,7 @@ import com.leonardobishop.quests.bukkit.menu.ClickResult;
import com.leonardobishop.quests.bukkit.menu.PaginatedQMenu;
import com.leonardobishop.quests.bukkit.util.MenuUtils;
import org.bukkit.Material;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -30,7 +31,7 @@ public class PagePrevMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
if (menu.getCurrentPage() == menu.getMinPage()) {
return ClickResult.DO_NOTHING;
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/QuestMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/QuestMenuElement.java
index 051a5269..4fc397e6 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/QuestMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/QuestMenuElement.java
@@ -14,6 +14,7 @@ import com.leonardobishop.quests.common.enums.QuestStartResult;
import com.leonardobishop.quests.common.player.QPlayer;
import com.leonardobishop.quests.common.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.common.quest.Quest;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -132,7 +133,7 @@ public class QuestMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
if (dummy) {
return ClickResult.DO_NOTHING;
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/SpacerMenuElement.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/SpacerMenuElement.java
index 6f450cb6..d01c9a63 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/SpacerMenuElement.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/SpacerMenuElement.java
@@ -2,6 +2,7 @@ package com.leonardobishop.quests.bukkit.menu.element;
import com.leonardobishop.quests.bukkit.menu.ClickResult;
import org.bukkit.Material;
+import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -16,7 +17,7 @@ public class SpacerMenuElement extends MenuElement {
}
@Override
- public ClickResult handleClick(ClickType clickType) {
+ public ClickResult handleClick(Player whoClicked, ClickType clickType) {
return ClickResult.DO_NOTHING;
}
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java
index 6bd319cb..670b35ee 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java
@@ -11,6 +11,7 @@ import com.leonardobishop.quests.bukkit.api.event.PreStartQuestEvent;
import com.leonardobishop.quests.bukkit.config.BukkitQuestsConfig;
import com.leonardobishop.quests.bukkit.hook.vault.rewards.VaultReward;
import com.leonardobishop.quests.bukkit.menu.itemstack.QItemStack;
+import com.leonardobishop.quests.bukkit.util.DispatchUtils;
import com.leonardobishop.quests.bukkit.util.FormatUtils;
import com.leonardobishop.quests.bukkit.util.Messages;
import com.leonardobishop.quests.bukkit.util.SoundUtils;
@@ -139,7 +140,7 @@ public class NormalQuestController implements QuestController {
);
}
for (String s : quest.getStartCommands()) {
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s));
+ DispatchUtils.dispatchCommand(player, this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s));
}
for (String s : quest.getStartString()) {
Chat.send(player, this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s), true);
@@ -262,7 +263,7 @@ public class NormalQuestController implements QuestController {
vaultReward.give(player);
for (String s : quest.getRewards()) {
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s));
+ DispatchUtils.dispatchCommand(player, this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s));
}
});
Messages.send(questFinishEvent.getQuestFinishMessage(), player);
@@ -325,7 +326,7 @@ public class NormalQuestController implements QuestController {
// PlayerCancelQuestEvent -- end
Messages.send(questCancelEvent.getQuestCancelMessage(), player);
for (String s : quest.getCancelCommands()) {
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s));
+ DispatchUtils.dispatchCommand(player, this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s));
}
for (String s : quest.getCancelString()) {
Chat.send(player, this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s), true);
@@ -359,7 +360,7 @@ public class NormalQuestController implements QuestController {
// PlayerCancelQuestEvent -- end
Messages.send(questCancelEvent.getQuestExpireMessage(), player);
for (String s : quest.getExpiryCommands()) {
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s));
+ DispatchUtils.dispatchCommand(player, this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s));
}
for (String s : quest.getExpiryString()) {
Chat.send(player, this.plugin.applyPlayerAndPAPI(BukkitQuestsPlugin.PAPIType.QUESTS, player, s), true);
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/DispatchUtils.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/DispatchUtils.java
new file mode 100644
index 00000000..8027f695
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/DispatchUtils.java
@@ -0,0 +1,20 @@
+package com.leonardobishop.quests.bukkit.util;
+
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
+import org.jspecify.annotations.NullMarked;
+
+@NullMarked
+public final class DispatchUtils {
+
+ private static final String PLAYER_PREFIX = "player: ";
+
+ public static void dispatchCommand(CommandSender sender, String command) {
+ if (command.startsWith(PLAYER_PREFIX)) {
+ command = command.substring(PLAYER_PREFIX.length());
+ } else {
+ sender = Bukkit.getConsoleSender();
+ }
+ Bukkit.dispatchCommand(sender, command);
+ }
+}