aboutsummaryrefslogtreecommitdiffstats
path: root/src/me/fatpigsarefat/quests/commands/CommandQuests.java
diff options
context:
space:
mode:
authorfatpigsarefat <fatpigsarefat@outlook.com>2018-07-21 21:25:00 +0100
committerfatpigsarefat <fatpigsarefat@outlook.com>2018-07-21 21:25:01 +0100
commitbcd4d141c04768c2ed3d00d4963e4f40424b5bc4 (patch)
treeb79a965aaa19bee8f859f1de5272feae2fbb0153 /src/me/fatpigsarefat/quests/commands/CommandQuests.java
parent56aae6d737aa523f23160256b5022b8cce8fe9c5 (diff)
Now using Maven
- pom.xml was added - Source files moved - .gitignore adjusted to allow .xml - All Title classes changed to use Bukkit method instead
Diffstat (limited to 'src/me/fatpigsarefat/quests/commands/CommandQuests.java')
-rw-r--r--src/me/fatpigsarefat/quests/commands/CommandQuests.java342
1 files changed, 0 insertions, 342 deletions
diff --git a/src/me/fatpigsarefat/quests/commands/CommandQuests.java b/src/me/fatpigsarefat/quests/commands/CommandQuests.java
deleted file mode 100644
index 8c9baec7..00000000
--- a/src/me/fatpigsarefat/quests/commands/CommandQuests.java
+++ /dev/null
@@ -1,342 +0,0 @@
-package me.fatpigsarefat.quests.commands;
-
-import me.fatpigsarefat.quests.Quests;
-import me.fatpigsarefat.quests.obj.Messages;
-import me.fatpigsarefat.quests.obj.Options;
-import me.fatpigsarefat.quests.player.QPlayer;
-import me.fatpigsarefat.quests.player.questprogressfile.QuestProgressFile;
-import me.fatpigsarefat.quests.quests.Category;
-import me.fatpigsarefat.quests.quests.Quest;
-import me.fatpigsarefat.quests.quests.tasktypes.TaskType;
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-import org.bukkit.scheduler.BukkitRunnable;
-
-import java.util.UUID;
-
-public class CommandQuests implements CommandExecutor {
-
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (Quests.getInstance().isBrokenConfig()) {
- sender.sendMessage(ChatColor.RED + "You have a YAML error in your config and Quests cannot load. If this is your first time using Quests, please " +
- "delete the Quests folder and RESTART (not reload!) the server. If you have modified the config, check for errors in a YAML parser.");
- return true;
- }
-
- if (args.length >= 1 && args[0].equalsIgnoreCase("help")) {
- showHelp(sender);
- return true;
- }
-
- if (args.length == 0 && sender instanceof Player) {
- Player player = (Player) sender;
- QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId());
- qPlayer.openQuests();
- return true;
- } else if (args.length >= 1) {
- if (args[0].equalsIgnoreCase("a") || args[0].equalsIgnoreCase("admin") && sender.hasPermission("quests.admin")) {
- if (args.length == 2) {
- if (args[1].equalsIgnoreCase("opengui")) {
- showAdminHelp(sender, "opengui");
- return true;
- } else if (args[1].equalsIgnoreCase("moddata")) {
- showAdminHelp(sender, "moddata");
- return true;
- } else if (args[1].equalsIgnoreCase("reload")) {
- Quests.getInstance().reloadConfig();
- Quests.getInstance().reloadQuests();
- sender.sendMessage(ChatColor.GRAY + "Quests was reloaded.");
- return true;
- } else if (args[1].equalsIgnoreCase("types")) {
- sender.sendMessage(ChatColor.GRAY + "Registered task types:");
- for (TaskType taskType : Quests.getTaskTypeManager().getTaskTypes()) {
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + taskType.getType());
- }
- sender.sendMessage(ChatColor.DARK_GRAY + "View info using /q a types [type].");
- return true;
- } else if (args[1].equalsIgnoreCase("update")) {
- sender.sendMessage(ChatColor.GRAY + "Checking for updates...");
- new BukkitRunnable() {
- @Override
- public void run() {
- Quests.getUpdater().check();
- if (Quests.getUpdater().isUpdateReady()) {
- sender.sendMessage(Quests.getUpdater().getMessage());
- } else {
- sender.sendMessage(ChatColor.GRAY + "No updates were found.");
- }
- }
- }.runTaskAsynchronously(Quests.getInstance());
- return true;
- }
- } else if (args.length == 3) {
- if (args[1].equalsIgnoreCase("opengui")) {
- showAdminHelp(sender, "opengui");
- return true;
- } else if (args[1].equalsIgnoreCase("moddata")) {
- showAdminHelp(sender, "moddata");
- return true;
- } else if (args[1].equalsIgnoreCase("types")) {
- TaskType taskType = null;
- for (TaskType task : Quests.getTaskTypeManager().getTaskTypes()) {
- if (task.getType().equals(args[2])) {
- taskType = task;
- }
- }
- if (taskType == null) {
- sender.sendMessage(Messages.COMMAND_TASKVIEW_ADMIN_FAIL.getMessage().replace("{task}", args[2]));
- } else {
- sender.sendMessage(ChatColor.RED + "Task type: " + ChatColor.GRAY + taskType.getType());
- sender.sendMessage(ChatColor.RED + "Author: " + ChatColor.GRAY + taskType.getAuthor());
- sender.sendMessage(ChatColor.RED + "Description: " + ChatColor.GRAY + taskType.getDescription());
- }
- return true;
- }
- } else if (args.length == 4) {
- if (args[1].equalsIgnoreCase("opengui")) {
- if (args[2].equalsIgnoreCase("q") || args[2].equalsIgnoreCase("quests")) {
- Player player = Bukkit.getPlayer(args[3]);
- if (player != null) {
- QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId());
- if (qPlayer != null) {
- qPlayer.openQuests();
- sender.sendMessage(Messages.COMMAND_QUEST_OPENQUESTS_ADMIN_SUCCESS.getMessage().replace("{player}", player.getName()));
- return true;
- }
- }
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_PLAYERNOTFOUND.getMessage().replace("{player}", args[3]));
- return true;
- }
- showAdminHelp(sender, "opengui");
- return true;
- } else if (args[1].equalsIgnoreCase("moddata")) {
- Player player;
- OfflinePlayer ofp;
- UUID uuid;
- String name;
- if ((player = Bukkit.getPlayer(args[3])) != null) {
- uuid = player.getUniqueId();
- name = player.getName();
- } else if ((ofp = Bukkit.getOfflinePlayer(args[3])) != null) {
- uuid = ofp.getUniqueId();
- name = ofp.getName();
- } else {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_PLAYERNOTFOUND.getMessage().replace("{player}", args[3]));
- return true;
- }
- if (args[2].equalsIgnoreCase("fullreset")) {
- if (Quests.getPlayerManager().getPlayer(uuid) == null) {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_LOADDATA.getMessage().replace("{player}", name));
- Quests.getPlayerManager().loadPlayer(uuid, true);
- }
- if (Quests.getPlayerManager().getPlayer(uuid) == null) {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_NODATA.getMessage().replace("{player}", name));
- return true;
- }
- QuestProgressFile questProgressFile = Quests.getPlayerManager().getPlayer(uuid).getQuestProgressFile();
- questProgressFile.clear();
- questProgressFile.saveToDisk();
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_FULLRESET.getMessage().replace("{player}", name));
- return true;
- }
- if (Quests.getPlayerManager().getPlayer(uuid).isOnlyDataLoaded()) {
- Quests.getPlayerManager().removePlayer(uuid);
- }
- showAdminHelp(sender, "moddata");
- return true;
- }
- } else if (args.length == 5) {
- if (args[1].equalsIgnoreCase("opengui")) {
- if (args[2].equalsIgnoreCase("c") || args[2].equalsIgnoreCase("category")) {
- if (!Options.CATEGORIES_ENABLED.getBooleanValue()) {
- sender.sendMessage(Messages.COMMAND_CATEGORY_OPEN_DISABLED.getMessage());
- return true;
- }
- Category category = Quests.getQuestManager().getCategoryById(args[4]);
- if (category == null) {
- sender.sendMessage(Messages.COMMAND_CATEGORY_OPEN_DOESNTEXIST.getMessage().replace("{category}", args[4]));
- return true;
- }
- Player player = Bukkit.getPlayer(args[3]);
- if (player != null) {
- QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId());
- if (qPlayer != null) {
- qPlayer.openCategory(category);
- sender.sendMessage(Messages.COMMAND_QUEST_OPENCATEGORY_ADMIN_SUCCESS.getMessage().replace("{player}", player.getName())
- .replace("{category}", category.getId()));
- return true;
- }
- }
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_PLAYERNOTFOUND.getMessage().replace("{player}", args[3]));
- return true;
- }
- } else if (args[1].equalsIgnoreCase("moddata")) {
- boolean success = false;
- Player player;
- OfflinePlayer ofp;
- UUID uuid;
- String name;
- if ((player = Bukkit.getPlayer(args[3])) != null) {
- uuid = player.getUniqueId();
- name = player.getName();
- } else if ((ofp = Bukkit.getOfflinePlayer(args[3])) != null) {
- uuid = ofp.getUniqueId();
- name = ofp.getName();
- } else {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_PLAYERNOTFOUND.getMessage().replace("{player}", args[3]));
- return true;
- }
- if (Quests.getPlayerManager().getPlayer(uuid) == null) {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_LOADDATA.getMessage().replace("{player}", name));
- Quests.getPlayerManager().loadPlayer(uuid, true);
- }
- if (Quests.getPlayerManager().getPlayer(uuid) == null) {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_NODATA.getMessage().replace("{player}", name));
- success = true;
- }
- QuestProgressFile questProgressFile = Quests.getPlayerManager().getPlayer(uuid).getQuestProgressFile();
- Quest quest = Quests.getQuestManager().getQuestById(args[4]);
- if (quest == null) {
- sender.sendMessage(Messages.COMMAND_QUEST_START_DOESNTEXIST.getMessage().replace("{quest}", args[4]));
- success = true;
- }
- if (args[2].equalsIgnoreCase("reset")) {
- questProgressFile.generateBlankQuestProgress(quest.getId());
- questProgressFile.saveToDisk();
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_RESET_SUCCESS.getMessage().replace("{player}", name).replace("{quest}", quest.getId()));
- success = true;
- } else if (args[2].equalsIgnoreCase("start")) {
- int response = questProgressFile.startQuest(quest);
- if (response == 1) {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_START_FAILLIMIT.getMessage().replace("{player}", name).replace("{quest}", quest.getId()));
- return true;
- } else if (response == 2) {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_START_FAILCOMPLETE.getMessage().replace("{player}", name).replace("{quest}", quest.getId()));
- return true;
- } else if (response == 3) {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_START_FAILCOOLDOWN.getMessage().replace("{player}", name).replace("{quest}", quest.getId()));
- return true;
- } else if (response == 4) {
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_START_FAILLOCKED.getMessage().replace("{player}", name).replace("{quest}", quest.getId()));
- return true;
- }
- questProgressFile.saveToDisk();
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_START_SUCCESS.getMessage().replace("{player}", name).replace("{quest}", quest.getId()));
- success = true;
- } else if (args[2].equalsIgnoreCase("complete")) {
- questProgressFile.completeQuest(quest);
- questProgressFile.saveToDisk();
- sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_COMPLETE_SUCCESS.getMessage().replace("{player}", name).replace("{quest}", quest.getId()));
- success = true;
- }
- if (Quests.getPlayerManager().getPlayer(uuid).isOnlyDataLoaded()) {
- Quests.getPlayerManager().removePlayer(uuid);
- }
- if (!success) {
- showAdminHelp(sender, "moddata");
- }
- return true;
- }
-
- showAdminHelp(sender, null);
- return true;
- }
- }
- if (sender instanceof Player && (args[0].equalsIgnoreCase("q") || args[0].equalsIgnoreCase("quests"))) {
- Player player = (Player) sender;
- if (args.length >= 2) {
- Quest quest = Quests.getQuestManager().getQuestById(args[1]);
- if (quest == null) {
- sender.sendMessage(Messages.COMMAND_QUEST_START_DOESNTEXIST.getMessage().replace("{quest}", args[1]));
- } else {
- QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId());
- if (qPlayer == null) {
- // shit + fan
- sender.sendMessage(ChatColor.RED + "An error occurred finding your player.");
- } else {
- qPlayer.getQuestProgressFile().startQuest(quest);
- }
- }
- return true;
- }
- } else if (sender instanceof Player && (args[0].equalsIgnoreCase("c") || args[0].equalsIgnoreCase("category"))) {
- if (!Options.CATEGORIES_ENABLED.getBooleanValue()) {
- sender.sendMessage(Messages.COMMAND_CATEGORY_OPEN_DISABLED.getMessage());
- return true;
- }
- Player player = (Player) sender;
- if (args.length >= 2) {
- Category category = Quests.getQuestManager().getCategoryById(args[1]);
- if (category == null) {
- sender.sendMessage(Messages.COMMAND_CATEGORY_OPEN_DOESNTEXIST.getMessage().replace("{category}", args[1]));
- } else {
- QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId());
- qPlayer.openCategory(category);
- return true;
- }
- return true;
- }
- }
- showHelp(sender);
- return true;
- } else {
- sender.sendMessage(ChatColor.RED + "Only admin commands are available to non-player senders.");
- }
- return true;
- }
-
- private void showHelp(CommandSender sender) {
- sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "------------=[" + ChatColor.RED + " Quests v" + Quests.getInstance()
- .getDescription().getVersion() + " " + ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "]=------------");
- sender.sendMessage(ChatColor.GRAY + "The following commands are available: ");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests " + ChatColor.DARK_GRAY + ": show quests");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests c/category <categoryid> " + ChatColor.DARK_GRAY + ": open category by ID");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests q/quest <questid> " + ChatColor.DARK_GRAY + ": start quest by ID");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a/admin " + ChatColor.DARK_GRAY + ": view help for admins");
- sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "-----=[" + ChatColor.RED + " made with <3 by fatpigsarefat " + ChatColor
- .GRAY.toString() + ChatColor.STRIKETHROUGH + "]=-----");
- }
-
- private void showAdminHelp(CommandSender sender, String command) {
- if (command != null && command.equalsIgnoreCase("opengui")) {
- sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "------------=[" + ChatColor.RED + " Quests Admin: opengui " + ChatColor
- .GRAY.toString() + ChatColor.STRIKETHROUGH + "]=------------");
- sender.sendMessage(ChatColor.GRAY + "The following commands are available: ");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a opengui q/quest <player> " + ChatColor.DARK_GRAY + ": forcefully show" +
- " quests for player");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a opengui c/category <player> <category> " + ChatColor.DARK_GRAY + ": " +
- "forcefully " +
- "open category by ID for player");
- sender.sendMessage(ChatColor.GRAY + "These commands are useful for command NPCs. These will bypass the usual quests.command permission.");
- } else if (command != null && command.equalsIgnoreCase("moddata")) {
- sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "------------=[" + ChatColor.RED + " Quests Admin: moddata " + ChatColor
- .GRAY.toString() + ChatColor.STRIKETHROUGH + "]=------------");
- sender.sendMessage(ChatColor.GRAY + "The following commands are available: ");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a moddata fullreset <player> " + ChatColor.DARK_GRAY + ": clear a " +
- "players quest data file");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a moddata reset <player> <questid>" + ChatColor.DARK_GRAY + ": clear a " +
- "players data for specifc quest");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a moddata start <player> <questid>" + ChatColor.DARK_GRAY + ": start a " +
- "quest for a player");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a moddata complete <player> <questid>" + ChatColor.DARK_GRAY + ": " +
- "complete a quest for a player");
- sender.sendMessage(ChatColor.GRAY + "These commands modify quest progress for players. Use them cautiously. Changes are irreversible.");
- } else {
- sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "------------=[" + ChatColor.RED + " Quests Admin " + ChatColor.GRAY
- .toString() + ChatColor.STRIKETHROUGH + "]=------------");
- sender.sendMessage(ChatColor.GRAY + "The following commands are available: ");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a opengui " + ChatColor.DARK_GRAY + ": view help for opengui");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a moddata " + ChatColor.DARK_GRAY + ": view help for quest progression");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a types [type]" + ChatColor.DARK_GRAY + ": view registered task types");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a reload " + ChatColor.DARK_GRAY + ": reload Quests configuration");
- sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a update " + ChatColor.DARK_GRAY + ": check for updates");
- }
- sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "-----=[" + ChatColor.RED + " requires permission: quests.admin " +
- ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "]=-----");
- }
-}