diff options
56 files changed, 345 insertions, 435 deletions
@@ -1,4 +1,4 @@ -[](http://isitmaintained.com/project/LMBishop/Quests "Average time to resolve an issue") [](http://isitmaintained.com/project/LMBishop/Quests "Percentage of issues still open") +[](http://isitmaintained.com/project/LMBishop/Quests "Average time to resolve an issue") [](http://isitmaintained.com/project/LMBishop/Quests "Percentage of issues still open") ## About Quests This plugin will allow your players to do quests in-game to earn rewards. This can all be configured. diff --git a/src/main/java/com/leonardobishop/quests/Quests.java b/src/main/java/com/leonardobishop/quests/Quests.java index fac08e53..1cead356 100644 --- a/src/main/java/com/leonardobishop/quests/Quests.java +++ b/src/main/java/com/leonardobishop/quests/Quests.java @@ -51,23 +51,24 @@ public class Quests extends JavaPlugin { private static QPlayerManager qPlayerManager; private static TaskTypeManager taskTypeManager; private static Updater updater; + private static Metrics metrics; private static Title title; private boolean brokenConfig = false; private QuestsConfigLoader questsConfigLoader; - public static Quests getInstance() { + public static Quests get() { return instance; } - public static QuestManager getQuestManager() { + public QuestManager getQuestManager() { return questManager; } - public static QPlayerManager getPlayerManager() { + public QPlayerManager getPlayerManager() { return qPlayerManager; } - public static TaskTypeManager getTaskTypeManager() { + public TaskTypeManager getTaskTypeManager() { return taskTypeManager; } @@ -79,11 +80,11 @@ public class Quests extends JavaPlugin { this.brokenConfig = brokenConfig; } - public static Title getTitle() { + public Title getTitle() { return title; } - public static Updater getUpdater() { + public Updater getUpdater() { return updater; } @@ -91,7 +92,7 @@ public class Quests extends JavaPlugin { return questsConfigLoader; } - public static String convertToFormat(long m) { + public String convertToFormat(long m) { long hours = m / 60; long minutesLeft = m - hours * 60; @@ -117,32 +118,24 @@ public class Quests extends JavaPlugin { super(loader, description, dataFolder, file); } - public void prepareForTest() { - instance = this; - taskTypeManager = new TaskTypeManager(); - questManager = new QuestManager(); - qPlayerManager = new QPlayerManager(); - - updater = new Updater(this); - } - @Override public void onEnable() { instance = this; - taskTypeManager = new TaskTypeManager(); - questManager = new QuestManager(); - qPlayerManager = new QPlayerManager(); + taskTypeManager = new TaskTypeManager(this); + questManager = new QuestManager(this); + qPlayerManager = new QPlayerManager(this); + QuestsAPI.initialise(this); dataGenerator(); setupTitle(); - Bukkit.getPluginCommand("quests").setExecutor(new CommandQuests()); - Bukkit.getPluginManager().registerEvents(new EventPlayerJoin(), this); - Bukkit.getPluginManager().registerEvents(new EventInventory(), this); - Bukkit.getPluginManager().registerEvents(new EventPlayerLeave(), this); + Bukkit.getPluginCommand("quests").setExecutor(new CommandQuests(this)); + Bukkit.getPluginManager().registerEvents(new EventPlayerJoin(this), this); + Bukkit.getPluginManager().registerEvents(new EventInventory(this), this); + Bukkit.getPluginManager().registerEvents(new EventPlayerLeave(this), this); - Metrics metrics = new Metrics(this); + metrics = new Metrics(this); this.getLogger().log(Level.INFO, "Metrics started. This can be disabled at /plugins/bStats/config.yml."); questsConfigLoader = new QuestsConfigLoader(Quests.this); @@ -215,7 +208,7 @@ public class Quests extends JavaPlugin { continue; } QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); - for (Map.Entry<String, Quest> entry : Quests.getQuestManager().getQuests().entrySet()) { + for (Map.Entry<String, Quest> entry : Quests.this.getQuestManager().getQuests().entrySet()) { Quest quest = entry.getValue(); QuestProgress questProgress = questProgressFile.getQuestProgress(quest); if (questProgressFile.hasStartedQuest(quest)) { diff --git a/src/main/java/com/leonardobishop/quests/QuestsAPI.java b/src/main/java/com/leonardobishop/quests/QuestsAPI.java new file mode 100644 index 00000000..d36fece3 --- /dev/null +++ b/src/main/java/com/leonardobishop/quests/QuestsAPI.java @@ -0,0 +1,37 @@ +package com.leonardobishop.quests; + +import com.leonardobishop.quests.player.QPlayerManager; +import com.leonardobishop.quests.quests.QuestManager; +import com.leonardobishop.quests.quests.tasktypes.TaskTypeManager; + +/** + * This contains some methods from the main Quests class which + * will be useful in task type development. This is no different than + * simply getting an instance of the main class, however this is the + * preferred method of obtaining an instance of Quest classes outside + * of the core plugin itself. + * + * It is recommended to use this over {@code Quests.get()}, unless there + * are methods there that you absolutely need. + */ +public class QuestsAPI { + + private static Quests plugin; + + protected static void initialise(Quests plugin) { + QuestsAPI.plugin = plugin; + } + + public static QuestManager getQuestManager() { + return plugin.getQuestManager(); + } + + public static QPlayerManager getPlayerManager() { + return plugin.getPlayerManager(); + } + + public static TaskTypeManager getTaskTypeManager() { + return plugin.getTaskTypeManager(); + } + +} diff --git a/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java b/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java index a8abb580..1d37b68e 100644 --- a/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java +++ b/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java @@ -21,10 +21,10 @@ import java.util.logging.Level; public class QuestsConfigLoader { private Map<String, ConfigLoadError> brokenFiles = new HashMap<>(); - private Quests quests; + private Quests plugin; - public QuestsConfigLoader(Quests quests) { - this.quests = quests; + public QuestsConfigLoader(Quests plugin) { + this.plugin = plugin; } /** @@ -36,22 +36,22 @@ public class QuestsConfigLoader { // test CONFIG file integrity try { YamlConfiguration config = new YamlConfiguration(); - config.load(new File(String.valueOf(quests.getDataFolder() + File.separator + "config.yml"))); + config.load(new File(String.valueOf(plugin.getDataFolder() + File.separator + "config.yml"))); } catch (Exception ex) { brokenFiles.put("<MAIN CONFIG> config.yml", ConfigLoadError.MAIN_CONFIG_ERROR); - quests.setBrokenConfig(true); + plugin.setBrokenConfig(true); return; } - for (String id : quests.getConfig().getConfigurationSection("categories").getKeys(false)) { - ItemStack displayItem = quests.getItemStack("categories." + id + ".display", quests.getConfig()); - boolean permissionRequired = quests.getConfig().getBoolean("categories." + id + ".permission-required", false); + for (String id : plugin.getConfig().getConfigurationSection("categories").getKeys(false)) { + ItemStack displayItem = plugin.getItemStack("categories." + id + ".display", plugin.getConfig()); + boolean permissionRequired = plugin.getConfig().getBoolean("categories." + id + ".permission-required", false); Category category = new Category(id, displayItem, permissionRequired); - Quests.getQuestManager().registerCategory(category); + plugin.getQuestManager().registerCategory(category); } - File questDirectory = new File(quests.getDataFolder() + File.separator + "quests"); + File questDirectory = new File(plugin.getDataFolder() + File.separator + "quests"); if (questDirectory.isDirectory()) { File[] fileList = questDirectory.listFiles(); for (File questFile : fileList) { @@ -102,7 +102,7 @@ public class QuestsConfigLoader { quest = new Quest(id, displayItem, rewards, requirements, repeatable, cooldown, cooldownTime, permissionRequired, rewardString); } else { quest = new Quest(id, displayItem, rewards, requirements, repeatable, cooldown, cooldownTime, permissionRequired, rewardString, category); - Category c = Quests.getQuestManager().getCategoryById(category); + Category c = plugin.getQuestManager().getCategoryById(category); if (c != null) { c.registerQuestId(id); } @@ -121,11 +121,11 @@ public class QuestsConfigLoader { quest.registerTask(task); } - if (quests.getConfig().getBoolean("options.show-quest-registrations")) { - quests.getLogger().log(Level.INFO, "Registering quest " + quest.getId() + " with " + quest.getTasks().size() + " tasks."); + if (plugin.getConfig().getBoolean("options.show-quest-registrations")) { + plugin.getLogger().log(Level.INFO, "Registering quest " + quest.getId() + " with " + quest.getTasks().size() + " tasks."); } - Quests.getQuestManager().registerQuest(quest); - Quests.getTaskTypeManager().registerQuestTasksWithTaskTypes(quest); + plugin.getQuestManager().registerQuest(quest); + plugin.getTaskTypeManager().registerQuestTasksWithTaskTypes(quest); } } } diff --git a/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java b/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java index fe6e5c92..db3f496b 100644 --- a/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java +++ b/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java @@ -23,8 +23,14 @@ import java.util.UUID; public class CommandQuests implements CommandExecutor { + private Quests plugin; + + public CommandQuests(Quests plugin) { + this.plugin = plugin; + } + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (Quests.getInstance().isBrokenConfig()) { + if (plugin.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; @@ -37,7 +43,7 @@ public class CommandQuests implements CommandExecutor { if (args.length == 0 && sender instanceof Player) { Player player = (Player) sender; - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); qPlayer.openQuests(); return true; } else if (args.length >= 1) { @@ -50,11 +56,11 @@ public class CommandQuests implements CommandExecutor { showAdminHelp(sender, "moddata"); return true; } else if (args[1].equalsIgnoreCase("reload")) { - Quests.getInstance().reloadConfig(); - Quests.getInstance().reloadQuests(); - if (!Quests.getInstance().getQuestsConfigLoader().getBrokenFiles().isEmpty()) { + plugin.reloadConfig(); + plugin.reloadQuests(); + if (!plugin.getQuestsConfigLoader().getBrokenFiles().isEmpty()) { sender.sendMessage(ChatColor.RED + "Quests has failed to load the following files:"); - for (Map.Entry<String, QuestsConfigLoader.ConfigLoadError> entry : Quests.getInstance().getQuestsConfigLoader().getBrokenFiles().entrySet()) { + for (Map.Entry<String, QuestsConfigLoader.ConfigLoadError> entry : plugin.getQuestsConfigLoader().getBrokenFiles().entrySet()) { sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + entry.getKey() + ": " + ChatColor.GRAY + entry.getValue().getMessage()); } } else { @@ -63,7 +69,7 @@ public class CommandQuests implements CommandExecutor { return true; } else if (args[1].equalsIgnoreCase("types")) { sender.sendMessage(ChatColor.GRAY + "Registered task types:"); - for (TaskType taskType : Quests.getTaskTypeManager().getTaskTypes()) { + for (TaskType taskType : plugin.getTaskTypeManager().getTaskTypes()) { sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + taskType.getType()); } sender.sendMessage(ChatColor.DARK_GRAY + "View info using /q a types [type]."); @@ -73,14 +79,14 @@ public class CommandQuests implements CommandExecutor { new BukkitRunnable() { @Override public void run() { - Quests.getUpdater().check(); - if (Quests.getUpdater().isUpdateReady()) { - sender.sendMessage(Quests.getUpdater().getMessage()); + plugin.getUpdater().check(); + if (plugin.getUpdater().isUpdateReady()) { + sender.sendMessage(plugin.getUpdater().getMessage()); } else { sender.sendMessage(ChatColor.GRAY + "No updates were found."); } } - }.runTaskAsynchronously(Quests.getInstance()); + }.runTaskAsynchronously(plugin); return true; } } else if (args.length == 3) { @@ -92,7 +98,7 @@ public class CommandQuests implements CommandExecutor { return true; } else if (args[1].equalsIgnoreCase("types")) { TaskType taskType = null; - for (TaskType task : Quests.getTaskTypeManager().getTaskTypes()) { + for (TaskType task : plugin.getTaskTypeManager().getTaskTypes()) { if (task.getType().equals(args[2])) { taskType = task; } @@ -111,7 +117,7 @@ public class CommandQuests implements CommandExecutor { 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()); + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); if (qPlayer != null) { qPlayer.openQuests(); sender.sendMessage(Messages.COMMAND_QUEST_OPENQUESTS_ADMIN_SUCCESS.getMessage().replace("{player}", player.getName())); @@ -139,22 +145,22 @@ public class CommandQuests implements CommandExecutor { return true; } if (args[2].equalsIgnoreCase("fullreset")) { - if (Quests.getPlayerManager().getPlayer(uuid) == null) { + if (plugin.getPlayerManager().getPlayer(uuid) == null) { sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_LOADDATA.getMessage().replace("{player}", name)); - Quests.getPlayerManager().loadPlayer(uuid, true); + plugin.getPlayerManager().loadPlayer(uuid, true); } - if (Quests.getPlayerManager().getPlayer(uuid) == null) { + if (plugin.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 questProgressFile = plugin.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); + if (plugin.getPlayerManager().getPlayer(uuid).isOnlyDataLoaded()) { + plugin.getPlayerManager().removePlayer(uuid); } showAdminHelp(sender, "moddata"); return true; @@ -166,14 +172,14 @@ public class CommandQuests implements CommandExecutor { sender.sendMessage(Messages.COMMAND_CATEGORY_OPEN_DISABLED.getMessage()); return true; } - Category category = Quests.getQuestManager().getCategoryById(args[4]); + Category category = plugin.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()); + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); if (qPlayer != null) { if (qPlayer.openCategory(category, null, false) == 0) { sender.sendMessage(Messages.COMMAND_QUEST_OPENCATEGORY_ADMIN_SUCCESS.getMessage().replace("{player}", player.getName()) @@ -204,16 +210,16 @@ public class CommandQuests implements CommandExecutor { sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_PLAYERNOTFOUND.getMessage().replace("{player}", args[3])); return true; } - if (Quests.getPlayerManager().getPlayer(uuid) == null) { + if (plugin.getPlayerManager().getPlayer(uuid) == null) { sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_LOADDATA.getMessage().replace("{player}", name)); - Quests.getPlayerManager().loadPlayer(uuid, true); + plugin.getPlayerManager().loadPlayer(uuid, true); } - if (Quests.getPlayerManager().getPlayer(uuid) == null) { + if (plugin.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]); + QuestProgressFile questProgressFile = plugin.getPlayerManager().getPlayer(uuid).getQuestProgressFile(); + Quest quest = plugin.getQuestManager().getQuestById(args[4]); if (quest == null) { sender.sendMessage(Messages.COMMAND_QUEST_START_DOESNTEXIST.getMessage().replace("{quest}", args[4])); success = true; @@ -257,8 +263,8 @@ public class CommandQuests implements CommandExecutor { 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 (plugin.getPlayerManager().getPlayer(uuid).isOnlyDataLoaded()) { + plugin.getPlayerManager().removePlayer(uuid); } if (!success) { showAdminHelp(sender, "moddata"); @@ -272,11 +278,11 @@ public class CommandQuests implements CommandExecutor { 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]); + Quest quest = plugin.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()); + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); if (qPlayer == null) { // shit + fan sender.sendMessage(ChatColor.RED + "An error occurred finding your player."); @@ -293,11 +299,11 @@ public class CommandQuests implements CommandExecutor { } Player player = (Player) sender; if (args.length >= 2) { - Category category = Quests.getQuestManager().getCategoryById(args[1]); + Category category = plugin.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 qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); qPlayer.openCategory(category, null, false); return true; } @@ -313,14 +319,14 @@ public class CommandQuests implements CommandExecutor { } private void showHelp(CommandSender sender) { - sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "------------=[" + ChatColor.RED + " Quests v" + Quests.getInstance() + sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "------------=[" + ChatColor.RED + " Quests v" + plugin .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 lmbishop " + ChatColor + sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "--------=[" + ChatColor.RED + " made with <3 by LMBishop " + ChatColor .GRAY.toString() + ChatColor.STRIKETHROUGH + "]=--------"); } diff --git a/src/main/java/com/leonardobishop/quests/events/EventInventory.java b/src/main/java/com/leonardobishop/quests/events/EventInventory.java index 623f8c25..a791500e 100644 --- a/src/main/java/com/leonardobishop/quests/events/EventInventory.java +++ b/src/main/java/com/leonardobishop/quests/events/EventInventory.java @@ -21,22 +21,39 @@ import java.util.UUID; public class EventInventory implements Listener { private static HashMap<UUID, QMenu> tracker = new HashMap<>(); + private Quests plugin; + + // ADD PLAYERS TO THE BUFFER BEFORE AN ANTICIPATED MENU CHANGE SO THAT + // THEY ARE NOT LOST FROM THE TRACKER WHEN CHANGING MENUS private ArrayList<UUID> buffer = new ArrayList<>(); + public EventInventory(Quests plugin) { + this.plugin = plugin; + } + + /** + * Add a player to the tracker so the event can watch them in the menu. + * + * @param uuid UUID of player to track + * @param qMenu The menu they have open + */ public static void track(UUID uuid, QMenu qMenu) { tracker.put(uuid, qMenu); } @EventHandler public void onEvent(InventoryClickEvent event) { + // check if the player has a quest menu open if (tracker.containsKey(event.getWhoClicked().getUniqueId())) { event.setCancelled(true); QMenu qMenu = tracker.get(event.getWhoClicked().getUniqueId()); + // **** MENU TYPE: QUESTS IN CATEGORY/ALL QUESTS **** if (qMenu instanceof QMenuQuest) { QMenuQuest qMenuQuest = (QMenuQuest) qMenu; if (qMenuQuest.getPagePrevLocation() == event.getSlot()) { + // (see line 26) buffer.add(event.getWhoClicked().getUniqueId()); event.getWhoClicked().openInventory(qMenuQuest.toInventory(qMenuQuest.getCurrentPage() - 1)); @@ -44,18 +61,21 @@ public class EventInventory implements Listener { buffer.add(event.getWhoClicked().getUniqueId()); event.getWhoClicked().openInventory(qMenuQuest.toInventory(qMenuQuest.getCurrentPage() + 1)); + // return to QMenuCategory (category listing) } else if (Options.CATEGORIES_ENABLED.getBooleanValue() && qMenuQuest.getBackButtonLocation() == event.getSlot()) { QMenuCategory qMenuCategory = qMenuQuest.getSuperMenu(); buffer.add(event.getWhoClicked().getUniqueId()); event.getWhoClicked().openInventory(qMenuCategory.toInventory(1)); tracker.put(event.getWhoClicked().getUniqueId(), qMenuCategory); + // handle when player wishes to start a quest by matching the slot they clicked to a predetermined + // map which maps quests to slots so you do not have to compare the item stack } else if (event.getSlot() < qMenuQuest.getPageSize() && qMenuQuest.getSlotsToMenu().containsKey(event.getSlot() + (((qMenuQuest .getCurrentPage()) - 1) * qMenuQuest.getPageSize()))) { if (Options.QUEST_AUTOSTART.getBooleanValue()) return; String questid = qMenuQuest.getSlotsToMenu().get(event.getSlot() + (((qMenuQuest.getCurrentPage()) - 1) * qMenuQuest.getPageSize())); - Quest quest = Quests.getQuestManager().getQuestById(questid); + Quest quest = plugin.getQuestManager().getQuestById(questid); if (event.getClick() == ClickType.LEFT) { if (qMenuQuest.getOwner().getQuestProgressFile().startQuest(quest) == 0) { event.getWhoClicked().closeInventory(); @@ -67,17 +87,21 @@ public class EventInventory implements Listener { tracker.put(event.getWhoClicked().getUniqueId(), qMenuCancel); } } + + // **** MENU TYPE: CATEGORY LISTING **** } else if (qMenu instanceof QMenuCategory) { QMenuCategory qMenuCategory = (QMenuCategory) qMenu; if (qMenuCategory.getSlotsToMenu().containsKey(event.getSlot())) { QMenuQuest qMenuQuest = qMenuCategory.getSlotsToMenu().get(event.getSlot()); buffer.add(event.getWhoClicked().getUniqueId()); - if (qMenuCategory.getOwner().openCategory(Quests.getQuestManager().getCategoryById(qMenuQuest.getCategoryName()), qMenuQuest) != 0) { + if (qMenuCategory.getOwner().openCategory(plugin.getQuestManager().getCategoryById(qMenuQuest.getCategoryName()), qMenuQuest) != 0) { buffer.remove(event.getWhoClicked().getUniqueId()); event.getWhoClicked().sendMessage(Messages.QUEST_CATEGORY_PERMISSION.getMessage()); } } + + // **** MENU TYPE: CANCELLING QUEST MENU **** } else if (qMenu instanceof QMenuCancel) { QMenuCancel qMenuCancel = (QMenuCancel) qMenu; @@ -98,6 +122,8 @@ public class EventInventory implements Listener { @EventHandler public void onEvent(InventoryCloseEvent event) { + // the buffer prevents players being lost from the tracker when changing menus, add to the buffer before + // an anticipated menu change if (buffer.contains(event.getPlayer().getUniqueId())) { buffer.remove(event.getPlayer().getUniqueId()); } else if (tracker.containsKey(event.getPlayer().getUniqueId())) { diff --git a/src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java b/src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java index 3a083456..3ddf18cd 100644 --- a/src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java +++ b/src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java @@ -5,20 +5,33 @@ import com.leonardobishop.quests.obj.Messages; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.scheduler.BukkitRunnable; import java.util.UUID; public class EventPlayerJoin implements Listener { + private Quests plugin; + + public EventPlayerJoin(Quests plugin) { + this.plugin = plugin; + } + @EventHandler public void onEvent(PlayerJoinEvent event) { UUID playerUuid = event.getPlayer().getUniqueId(); - Quests.getPlayerManager().loadPlayer(playerUuid); - if (Quests.getInstance().getDescription().getVersion().contains("beta") && event.getPlayer().hasPermission("quests.admin")) { + plugin.getPlayerManager().loadPlayer(playerUuid); + if (plugin.getDescription().getVersion().contains("beta") && event.getPlayer().hasPermission("quests.admin")) { event.getPlayer().sendMessage(Messages.BETA_REMINDER.getMessage()); } - if (Quests.getUpdater().isUpdateReady() && event.getPlayer().hasPermission("quests.admin")) { - event.getPlayer().sendMessage(Quests.getUpdater().getMessage()); + if (plugin.getUpdater().isUpdateReady() && event.getPlayer().hasPermission("quests.admin")) { + // delay for a bit so they actually see the message + new BukkitRunnable() { + @Override + public void run() { + event.getPlayer().sendMessage(plugin.getUpdater().getMessage()); + } + }.runTaskLater(plugin, 50L); } } diff --git a/src/main/java/com/leonardobishop/quests/events/EventPlayerLeave.java b/src/main/java/com/leonardobishop/quests/events/EventPlayerLeave.java index dbe7a6d6..4700d1a9 100644 --- a/src/main/java/com/leonardobishop/quests/events/EventPlayerLeave.java +++ b/src/main/java/com/leonardobishop/quests/events/EventPlayerLeave.java @@ -10,21 +10,27 @@ import java.util.UUID; public class EventPlayerLeave implements Listener { + private Quests plugin; + + public EventPlayerLeave(Quests plugin) { + this.plugin = plugin; + } + @EventHandler public void onEvent(PlayerQuitEvent event) { UUID playerUuid = event.getPlayer().getUniqueId(); new BukkitRunnable() { @Override public void run() { - Quests.getPlayerManager().getPlayer(playerUuid).getQuestProgressFile().saveToDisk(); + plugin.getPlayerManager().getPlayer(playerUuid).getQuestProgressFile().saveToDisk(); new BukkitRunnable() { @Override public void run() { - Quests.getPlayerManager().removePlayer(playerUuid); + plugin.getPlayerManager().removePlayer(playerUuid); } - }.runTask(Quests.getInstance()); + }.runTask(plugin); } - }.runTaskAsynchronously(Quests.getInstance()); + }.runTaskAsynchronously(plugin); } } diff --git a/src/main/java/com/leonardobishop/quests/obj/Items.java b/src/main/java/com/leonardobishop/quests/obj/Items.java index 9b5f4430..d26ae1eb 100644 --- a/src/main/java/com/leonardobishop/quests/obj/Items.java +++ b/src/main/java/com/leonardobishop/quests/obj/Items.java @@ -23,7 +23,7 @@ public enum Items { } public ItemStack getItem() { - return Quests.getInstance().getItemStack(path, Quests.getInstance().getConfig()); + return Quests.get().getItemStack(path, Quests.get().getConfig()); } } diff --git a/src/main/java/com/leonardobishop/quests/obj/Messages.java b/src/main/java/com/leonardobishop/quests/obj/Messages.java index 56d53833..41b4c4f8 100644 --- a/src/main/java/com/leonardobishop/quests/obj/Messages.java +++ b/src/main/java/com/leonardobishop/quests/obj/Messages.java @@ -56,8 +56,8 @@ public enum Messages { } public String getMessage() { - if (Quests.getInstance().getConfig().contains(path)) { - String message = Quests.getInstance().getConfig().getString(path); + if (Quests.get().getConfig().contains(path)) { + String message = Quests.get().getConfig().getString(path); if (message != null) { return ChatColor.translateAlternateColorCodes('&', message); } diff --git a/src/main/java/com/leonardobishop/quests/obj/Options.java b/src/main/java/com/leonardobishop/quests/obj/Options.java index 238c77cf..84230a7b 100644 --- a/src/main/java/com/leonardobishop/quests/obj/Options.java +++ b/src/main/java/com/leonardobishop/quests/obj/Options.java @@ -29,19 +29,19 @@ public enum Options { } public int getIntValue() { - return Quests.getInstance().getConfig().getInt(path); + return Quests.get().getConfig().getInt(path); } public String getStringValue() { - return Quests.getInstance().getConfig().getString(path); + return Quests.get().getConfig().getString(path); } public boolean getBooleanValue() { - return Quests.getInstance().getConfig().getBoolean(path); + return Quests.get().getConfig().getBoolean(path); } public List<String> getStringListValue() { - return Quests.getInstance().getConfig().getStringList(path); + return Quests.get().getConfig().getStringList(path); } public static String color(String s) { diff --git a/src/main/java/com/leonardobishop/quests/obj/misc/QMenuCategory.java b/src/main/java/com/leonardobishop/quests/obj/misc/QMenuCategory.java index 66a572e4..38da8d09 100644 --- a/src/main/java/com/leonardobishop/quests/obj/misc/QMenuCategory.java +++ b/src/main/java/com/leonardobishop/quests/obj/misc/QMenuCategory.java @@ -28,7 +28,7 @@ public class QMenuCategory implements QMenu { public void populate(List<QMenuQuest> menuQuests) { int slot = 0; for (QMenuQuest qMenuQuest : menuQuests) { - if (Options.GUI_HIDE_CATEGORIES_NOPERMISSION.getBooleanValue() && Quests.getQuestManager().getCategoryById(qMenuQuest.getCategoryName()).isPermissionRequired()) { + if (Options.GUI_HIDE_CATEGORIES_NOPERMISSION.getBooleanValue() && Quests.get().getQuestManager().getCategoryById(qMenuQuest.getCategoryName()).isPermissionRequired()) { if (!Bukkit.getPlayer(owner.getUuid()).hasPermission("quests.category." + qMenuQuest.getCategoryName())) { continue; } @@ -59,7 +59,7 @@ public class QMenuCategory implements QMenu { for (int pointer = pageMin; pointer < pageMax; pointer++) { if (slotsToMenuQuest.containsKey(pointer)) { - Category category = Quests.getQuestManager().getCategoryById(slotsToMenuQuest.get(pointer).getCategoryName()); + Category category = Quests.get().getQuestManager().getCategoryById(slotsToMenuQuest.get(pointer).getCategoryName()); if (category != null) { inventory.setItem(pointer, category.getDisplayItem()); } diff --git a/src/main/java/com/leonardobishop/quests/obj/misc/QMenuQuest.java b/src/main/java/com/leonardobishop/quests/obj/misc/QMenuQuest.java index 370374f1..2ab4907b 100644 --- a/src/main/java/com/leonardobishop/quests/obj/misc/QMenuQuest.java +++ b/src/main/java/com/leonardobishop/quests/obj/misc/QMenuQuest.java @@ -105,13 +105,13 @@ public class QMenuQuest implements QMenu { int invSlot = 0; for (int pointer = pageMin; pointer < pageMax; pointer++) { if (slotsToQuestIds.containsKey(pointer)) { - Quest quest = Quests.getQuestManager().getQuestById(slotsToQuestIds.get(pointer)); + Quest quest = Quests.get().getQuestManager().getQuestById(slotsToQuestIds.get(pointer)); QuestProgress questProgress = owner.getQuestProgressFile().getQuestProgress(quest); long cooldown = owner.getQuestProgressFile().getCooldownFor(quest); if (!owner.getQuestProgressFile().hasMetRequirements(quest)) { List<String> quests = new ArrayList<>(); for (String requirement : quest.getRequirements()) { - quests.add(Quests.getQuestManager().getQuestById(requirement).getDisplayNameStripped()); + quests.add(Quests.get().getQuestManager().getQuestById(requirement).getDisplayNameStripped()); } Map<String, String> placeholders = new HashMap<>(); placeholders.put("{quest}", quest.getDisplayNameStripped()); @@ -130,12 +130,12 @@ public class QMenuQuest implements QMenu { inventory.setItem(invSlot, is); } else if (cooldown > 0) { Map<String, String> placeholders = new HashMap<>(); - placeholders.put("{time}", Quests.convertToFormat(TimeUnit.MINUTES.convert(cooldown, TimeUnit.MILLISECONDS))); + placeholders.put("{time}", Quests.get().convertToFormat(TimeUnit.MINUTES.convert(cooldown, TimeUnit.MILLISECONDS))); placeholders.put("{quest}", quest.getDisplayNameStripped()); ItemStack is = replaceItemStack(Items.QUEST_COOLDOWN.getItem(), placeholders); inventory.setItem(invSlot, is); } else { - inventory.setItem(invSlot, Quests.getQuestManager().getQuestById(quest.getId()).getDisplayItem().toItemStack(quest, owner.getQuestProgressFile(), questProgress)); + inventory.setItem(invSlot, Quests.get().getQuestManager().getQuestById(quest.getId()).getDisplayItem().toItemStack(quest, owner.getQuestProgressFile(), questProgress)); } } invSlot++; diff --git a/src/main/java/com/leonardobishop/quests/player/QPlayer.java b/src/main/java/com/leonardobishop/quests/player/QPlayer.java index f7d1c11c..c2f0d0d9 100644 --- a/src/main/java/com/leonardobishop/quests/player/QPlayer.java +++ b/src/main/java/com/leonardobishop/quests/player/QPlayer.java @@ -1,14 +1,13 @@ package com.leonardobishop.quests.player; -import com.leonardobishop.quests.obj.misc.QMenu; -import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; -import com.leonardobishop.quests.quests.Category; -import com.leonardobishop.quests.quests.Quest; import com.leonardobishop.quests.Quests; import com.leonardobishop.quests.events.EventInventory; import com.leonardobishop.quests.obj.Options; import com.leonardobishop.quests.obj.misc.QMenuCategory; import com.leonardobishop.quests.obj.misc.QMenuQuest; +import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; +import com.leonardobishop.quests.quests.Category; +import com.leonardobishop.quests.quests.Quest; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -22,15 +21,17 @@ public class QPlayer { private UUID uuid; private QuestProgressFile questProgressFile; private boolean onlyDataLoaded; + private Quests plugin; - public QPlayer(UUID uuid, QuestProgressFile questProgressFile) { - this(uuid, questProgressFile, false); + public QPlayer(UUID uuid, QuestProgressFile questProgressFile, Quests plugin) { + this(uuid, questProgressFile, false, plugin); } - public QPlayer(UUID uuid, QuestProgressFile questProgressFile, boolean onlyDataLoaded) { + public QPlayer(UUID uuid, QuestProgressFile questProgressFile, boolean onlyDataLoaded, Quests plugin) { this.uuid = uuid; this.questProgressFile = questProgressFile; this.onlyDataLoaded = onlyDataLoaded; + this.plugin = plugin; } public UUID getUuid() { @@ -54,10 +55,10 @@ public class QPlayer { return 1; } - QMenuQuest qMenuQuest = new QMenuQuest(Quests.getPlayerManager().getPlayer(player.getUniqueId()), category.getId(), superMenu); + QMenuQuest qMenuQuest = new QMenuQuest(plugin.getPlayerManager().getPlayer(player.getUniqueId()), category.getId(), superMenu); List<Quest> quests = new ArrayList<>(); for (String questid : category.getRegisteredQuestIds()) { - Quest quest = Quests.getQuestManager().getQuestById(questid); + Quest quest = plugin.getQuestManager().getQuestById(questid); if (quest != null) { quests.add(quest); } @@ -103,13 +104,13 @@ public class QPlayer { } if (Options.CATEGORIES_ENABLED.getBooleanValue()) { - QMenuCategory qMenuCategory = new QMenuCategory(Quests.getPlayerManager().getPlayer(player.getUniqueId())); + QMenuCategory qMenuCategory = new QMenuCategory(plugin.getPlayerManager().getPlayer(player.getUniqueId())); List<QMenuQuest> questMenus = new ArrayList<>(); - for (Category category : Quests.getQuestManager().getCategories()) { - QMenuQuest qMenuQuest = new QMenuQuest(Quests.getPlayerManager().getPlayer(player.getUniqueId()), category.getId(), qMenuCategory); + for (Category category : plugin.getQuestManager().getCategories()) { + QMenuQuest qMenuQuest = new QMenuQuest(plugin.getPlayerManager().getPlayer(player.getUniqueId()), category.getId(), qMenuCategory); List<Quest> quests = new ArrayList<>(); for (String questid : category.getRegisteredQuestIds()) { - Quest quest = Quests.getQuestManager().getQuestById(questid); + Quest quest = plugin.getQuestManager().getQuestById(questid); if (quest != null) { quests.add(quest); } @@ -122,9 +123,9 @@ public class QPlayer { player.openInventory(qMenuCategory.toInventory(1)); EventInventory.track(player.getUniqueId(), qMenuCategory); } else { - QMenuQuest qMenuQuest = new QMenuQuest(Quests.getPlayerManager().getPlayer(player.getUniqueId()), "", null); + QMenuQuest qMenuQuest = new QMenuQuest(plugin.getPlayerManager().getPlayer(player.getUniqueId()), "", null); List<Quest> quests = new ArrayList<>(); - for (Map.Entry<String, Quest> entry : Quests.getQuestManager().getQuests().entrySet()) { + for (Map.Entry<String, Quest> entry : plugin.getQuestManager().getQuests().entrySet()) { quests.add(entry.getValue()); } qMenuQuest.populate(quests); diff --git a/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java b/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java index 45d1eff6..8230f412 100644 --- a/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java +++ b/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java @@ -11,6 +11,12 @@ import java.util.*; public class QPlayerManager { + private Quests plugin; + + public QPlayerManager(Quests plugin) { + this.plugin = plugin; + } + private Map<UUID, QPlayer> qPlayers = new HashMap<>(); public void addPlayer(QPlayer qPlayer) { @@ -35,12 +41,12 @@ public class QPlayerManager { public void loadPlayer(UUID uuid, boolean onlyData) { if (getPlayer(uuid) == null || getPlayer(uuid).isOnlyDataLoaded()) { - QuestProgressFile questProgressFile = new QuestProgressFile(uuid); + QuestProgressFile questProgressFile = new QuestProgressFile(uuid, plugin); try { - File directory = new File(Quests.getInstance().getDataFolder() + File.separator + "playerdata"); + File directory = new File(plugin.getDataFolder() + File.separator + "playerdata"); if (directory.exists() && directory.isDirectory()) { - File file = new File(Quests.getInstance().getDataFolder() + File.separator + "playerdata" + File.separator + uuid.toString() + ".yml"); + File file = new File(plugin.getDataFolder() + File.separator + "playerdata" + File.separator + uuid.toString() + ".yml"); if (file.exists()) { YamlConfiguration data = YamlConfiguration.loadConfiguration(file); if (data.contains("quest-progress")) { @@ -66,12 +72,12 @@ public class QPlayerManager { } } } catch (Exception ex) { - Quests.getInstance().getLogger().severe("Failed to load player: " + uuid + "! This WILL cause errors."); + plugin.getLogger().severe("Failed to load player: " + uuid + "! This WILL cause errors."); ex.printStackTrace(); // fuck } - QPlayer qPlayer = new QPlayer(uuid, questProgressFile, onlyData); + QPlayer qPlayer = new QPlayer(uuid, questProgressFile, onlyData, plugin); addPlayer(qPlayer); } diff --git a/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java b/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java index 5fbb9e9f..6396bc13 100644 --- a/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java +++ b/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java @@ -19,9 +19,11 @@ public class QuestProgressFile { private Map<String, QuestProgress> questProgress = new HashMap<>(); private UUID player; + private Quests plugin; - public QuestProgressFile(UUID player) { + public QuestProgressFile(UUID player, Quests plugin) { this.player = player; + this.plugin = plugin; } //TODO change back to quest id to save performance @@ -34,14 +36,14 @@ public class QuestProgressFile { questProgress.setCompletionDate(System.currentTimeMillis()); if (Bukkit.getPlayer(player) != null) { Player player = Bukkit.getPlayer(this.player); - Bukkit.getServer().getScheduler().runTask(Quests.getInstance(), () -> { + Bukkit.getServer().getScheduler().runTask(plugin, () -> { for (String s : quest.getRewards()) { Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), s.replace("{player}", player.getName())); } }); player.sendMessage(Messages.QUEST_COMPLETE.getMessage().replace("{quest}", quest.getDisplayNameStripped())); if (Options.TITLES_ENABLED.getBooleanValue()) { - Quests.getTitle().sendTitle(player, Messages.TITLE_QUEST_COMPLETE_TITLE.getMessage().replace("{quest}", quest + plugin.getTitle().sendTitle(player, Messages.TITLE_QUEST_COMPLETE_TITLE.getMessage().replace("{quest}", quest .getDisplayNameStripped()), Messages.TITLE_QUEST_COMPLETE_SUBTITLE.getMessage().replace("{quest}", quest .getDisplayNameStripped())); } @@ -92,7 +94,7 @@ public class QuestProgressFile { return 6; } } - if (quest.getCategoryId() != null && Quests.getQuestManager().getCategoryById(quest.getCategoryId()) != null && Quests.getQuestManager() + if (quest.getCategoryId() != null && plugin.getQuestManager().getCategoryById(quest.getCategoryId()) != null && plugin.getQuestManager() .getCategoryById(quest.getCategoryId()).isPermissionRequired()) { if (player != null) { if (!p.hasPermission("quests.category." + quest.getCategoryId())) { @@ -129,7 +131,7 @@ public class QuestProgressFile { break; case 3: long cooldown = getCooldownFor(quest); - p.sendMessage(Messages.QUEST_START_COOLDOWN.getMessage().replace("{time}", String.valueOf(Quests.convertToFormat(TimeUnit.MINUTES.convert + p.sendMessage(Messages.QUEST_START_COOLDOWN.getMessage().replace("{time}", String.valueOf(plugin.convertToFormat(TimeUnit.MINUTES.convert (cooldown, TimeUnit.MILLISECONDS))))); break; case 4: @@ -158,7 +160,7 @@ public class QuestProgressFile { Player player = Bukkit.getPlayer(getPlayer()); player.sendMessage(Messages.QUEST_START.getMessage().replace("{quest}", quest.getDisplayNameStripped())); if (Options.TITLES_ENABLED.getBooleanValue()) { - Quests.getTitle().sendTitle(player, Messages.TITLE_QUEST_START_TITLE.getMessage().replace("{quest}", quest + plugin.getTitle().sendTitle(player, Messages.TITLE_QUEST_START_TITLE.getMessage().replace("{quest}", quest .getDisplayNameStripped()), Messages.TITLE_QUEST_START_SUBTITLE.getMessage().replace("{quest}", quest .getDisplayNameStripped())); } @@ -193,7 +195,7 @@ public class QuestProgressFile { List<Quest> startedQuests = new ArrayList<>(); for (QuestProgress questProgress : questProgress.values()) { if (questProgress.isStarted()) { - startedQuests.add(Quests.getQuestManager().getQuestById(questProgress.getQuestId())); + startedQuests.add(plugin.getQuestManager().getQuestById(questProgress.getQuestId())); } } return startedQuests; @@ -229,7 +231,7 @@ public class QuestProgressFile { public boolean hasMetRequirements(Quest quest) { for (String id : quest.getRequirements()) { - Quest q = Quests.getQuestManager().getQuestById(id); + Quest q = plugin.getQuestManager().getQuestById(id); if (q == null) { continue; } @@ -256,8 +258,8 @@ public class QuestProgressFile { } public boolean generateBlankQuestProgress(String questid) { - if (Quests.getQuestManager().getQuestById(questid) != null) { - Quest quest = Quests.getQuestManager().getQuestById(questid); + if (plugin.getQuestManager().getQuestById(questid) != null) { + Quest quest = plugin.getQuestManager().getQuestById(questid); QuestProgress questProgress = new QuestProgress(quest.getId(), false, false, 0, player, false, false); for (Task task : quest.getTasks()) { TaskProgress taskProgress = new TaskProgress(task.getId(), null, player, false); @@ -271,11 +273,11 @@ public class QuestProgressFile { } public void saveToDisk() { - File directory = new File(Quests.getInstance().getDataFolder() + File.separator + "playerdata"); + File directory = new File(plugin.getDataFolder() + File.separator + "playerdata"); if (!directory.exists() && !directory.isDirectory()) { directory.mkdirs(); } - File file = new File(Quests.getInstance().getDataFolder() + File.separator + "playerdata" + File.separator + player.toString() + ".yml"); + File file = new File(plugin.getDataFolder() + File.separator + "playerdata" + File.separator + player.toString() + ".yml"); if (!file.exists()) { try { file.createNewFile(); diff --git a/src/main/java/com/leonardobishop/quests/quests/QuestManager.java b/src/main/java/com/leonardobishop/quests/quests/QuestManager.java index fd01711c..5d104cb6 100644 --- a/src/main/java/com/leonardobishop/quests/quests/QuestManager.java +++ b/src/main/java/com/leonardobishop/quests/quests/QuestManager.java @@ -1,5 +1,7 @@ package com.leonardobishop.quests.quests; +import com.leonardobishop.quests.Quests; + import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; @@ -7,6 +9,12 @@ import java.util.Map; public class QuestManager { + private Quests plugin; + + public QuestManager(Quests plugin) { + this.plugin = plugin; + } + private Map<String, Quest> quests = new LinkedHashMap<>(); private List<Category> categories = new ArrayList<>(); diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/TaskTypeManager.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/TaskTypeManager.java index a5141460..b9f1a011 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/TaskTypeManager.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/TaskTypeManager.java @@ -10,6 +10,12 @@ import java.util.logging.Level; public class TaskTypeManager { + private Quests plugin; + + public TaskTypeManager(Quests plugin) { + this.plugin = plugin; + } + private ArrayList<TaskType> taskTypes = new ArrayList<>(); public ArrayList<TaskType> getTaskTypes() { @@ -23,8 +29,8 @@ public class TaskTypeManager { } public void registerTaskType(TaskType taskType) { - Bukkit.getPluginManager().registerEvents(taskType, Quests.getInstance()); - Quests.getInstance().getLogger().log(Level.INFO, "Task type " + taskType.getType() + " has been registered."); + Bukkit.getPluginManager().registerEvents(taskType, plugin); + plugin.getLogger().log(Level.INFO, "Task type " + taskType.getType() + " has been registered."); taskTypes.add(taskType); } diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java index 24f4947e..43268bc0 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -21,7 +21,7 @@ public final class ASkyBlockLevelType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public ASkyBlockLevelType() { - super("askyblock_level", "lmbishop", "Reach a certain island level for ASkyBlock."); + super("askyblock_level", "LMBishop", "Reach a certain island level for ASkyBlock."); this.creatorConfigValues.add(new ConfigValue("level", true, "Minimum island level needed.")); } @@ -32,7 +32,7 @@ public final class ASkyBlockLevelType extends TaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onIslandLevel(IslandPostLevelEvent event) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(event.getPlayer()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(event.getPlayer()); if (qPlayer == null) { return; } diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java index b77b05c6..eb90743b 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java @@ -1,16 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import java.util.ArrayList; -import java.util.List; - -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.entity.CreatureSpawnEvent; -import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; - -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -19,6 +9,15 @@ import com.leonardobishop.quests.quests.Quest; import com.leonardobishop.quests.quests.Task; import com.leonardobishop.quests.quests.tasktypes.ConfigValue; import com.leonardobishop.quests.quests.tasktypes.TaskType; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.entity.CreatureSpawnEvent; +import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; + +import java.util.ArrayList; +import java.util.List; public final class BreedingTaskType extends TaskType { @@ -51,7 +50,7 @@ public final class BreedingTaskType extends TaskType { if (current instanceof Player) { Player player = (Player) current; - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java index ca7f58b9..34428d78 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -31,7 +31,7 @@ public final class BrewingTaskType extends TaskType { private HashMap<Location, UUID> brewingStands = new HashMap<>(); public BrewingTaskType() { - super("brewing", "lmbishop", "Brew a potion."); + super("brewing", "LMBishop", "Brew a potion."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of potions to be brewed.")); } @@ -59,7 +59,7 @@ public final class BrewingTaskType extends TaskType { return; } - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java index 4967580e..2e680490 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.blocktype.Block; import com.leonardobishop.quests.blocktype.SimilarBlocks; import com.leonardobishop.quests.player.QPlayer; @@ -25,7 +25,7 @@ public final class BuildingCertainTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public BuildingCertainTaskType() { - super("blockplacecertain", "lmbishop", "Place a set amount of a specific block."); + super("blockplacecertain", "LMBishop", "Place a set amount of a specific block."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of blocks to be placed.")); this.creatorConfigValues.add(new ConfigValue("block", true, "Name or ID of block.")); this.creatorConfigValues.add(new ConfigValue("data", false, "Data code for block.")); @@ -39,7 +39,7 @@ public final class BuildingCertainTaskType extends TaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockPlace(BlockPlaceEvent event) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java index 20a6561e..ffcf5912 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -21,7 +21,7 @@ public final class BuildingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public BuildingTaskType() { - super("blockplace", "lmbishop", "Place a set amount of blocks."); + super("blockplace", "LMBishop", "Place a set amount of blocks."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of blocks to be placed.")); } @@ -32,7 +32,7 @@ public final class BuildingTaskType extends TaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockPlace(BlockPlaceEvent event) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java index c2b2621f..224176bf 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensDeliverTaskType.java @@ -9,7 +9,6 @@ import com.leonardobishop.quests.quests.Quest; import com.leonardobishop.quests.quests.Task; import com.leonardobishop.quests.quests.tasktypes.ConfigValue; import com.leonardobishop.quests.quests.tasktypes.TaskType; -import net.citizensnpcs.api.event.NPCLeftClickEvent; import net.citizensnpcs.api.event.NPCRightClickEvent; import org.apache.commons.lang.StringUtils; import org.bukkit.ChatColor; @@ -17,8 +16,6 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; -import org.bukkit.event.inventory.InventoryInteractEvent; -import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitRunnable; @@ -30,7 +27,7 @@ public final class CitizensDeliverTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public CitizensDeliverTaskType() { - super("citizens_deliver", "lmbishop", "Deliver a set of items to a NPC."); + super("citizens_deliver", "LMBishop", "Deliver a set of items to a NPC."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of item to retrieve.")); this.creatorConfigValues.add(new ConfigValue("item", true, "Name or ID of item.")); this.creatorConfigValues.add(new ConfigValue("npc-name", true, "Name of the NPC.")); @@ -50,11 +47,11 @@ public final class CitizensDeliverTaskType extends TaskType { public void run() { checkInventory(event.getClicker(), event.getNPC().getName()); } - }.runTaskLater(Quests.getInstance(), 1L); + }.runTaskLater(Quests.get(), 1L); } private void checkInventory(Player player, String citizenName) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = Quests.get().getPlayerManager().getPlayer(player.getUniqueId()); if (qPlayer == null) { return; } diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java index aea19b72..6cba3ffa 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -10,14 +10,9 @@ import com.leonardobishop.quests.quests.Task; import com.leonardobishop.quests.quests.tasktypes.ConfigValue; import com.leonardobishop.quests.quests.tasktypes.TaskType; import net.citizensnpcs.api.event.NPCRightClickEvent; -import org.apache.commons.lang.StringUtils; import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; -import org.bukkit.inventory.ItemStack; -import org.bukkit.scheduler.BukkitRunnable; import java.util.ArrayList; import java.util.List; @@ -27,7 +22,7 @@ public final class CitizensInteractTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public CitizensInteractTaskType() { - super("citizens_interact", "lmbishop", "Interact with an NPC to complete the quest."); + super("citizens_interact", "LMBishop", "Interact with an NPC to complete the quest."); this.creatorConfigValues.add(new ConfigValue("npc-name", true, "Name of the NPC.")); } @@ -38,7 +33,7 @@ public final class CitizensInteractTaskType extends TaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onNPCClick(NPCRightClickEvent event) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(event.getClicker().getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(event.getClicker().getUniqueId()); if (qPlayer == null) { return; } diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java index e46d9bf6..8a9677c0 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java @@ -1,14 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import java.util.ArrayList; -import java.util.List; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.entity.EntityDamageByEntityEvent; - -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -17,6 +9,13 @@ import com.leonardobishop.quests.quests.Quest; import com.leonardobishop.quests.quests.Task; import com.leonardobishop.quests.quests.tasktypes.ConfigValue; import com.leonardobishop.quests.quests.tasktypes.TaskType; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.entity.EntityDamageByEntityEvent; + +import java.util.ArrayList; +import java.util.List; public final class DealDamageTaskType extends TaskType { @@ -42,7 +41,7 @@ public final class DealDamageTaskType extends TaskType { Player player = (Player) e.getDamager(); double damage = e.getDamage(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java index 997a5d13..041bac96 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -25,7 +25,7 @@ public final class DistancefromTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public DistancefromTaskType() { - super("distancefrom", "lmbishop", "Distance yourself from a set of co-ordinates."); + super("distancefrom", "LMBishop", "Distance yourself from a set of co-ordinates."); this.creatorConfigValues.add(new ConfigValue("x", true, "X position.")); this.creatorConfigValues.add(new ConfigValue("y", true, "Y position.")); this.creatorConfigValues.add(new ConfigValue("z", true, "Z position.")); @@ -46,7 +46,7 @@ public final class DistancefromTaskType extends TaskType { Player player = event.getPlayer(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java index 014f6896..120575c9 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java @@ -1,14 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import java.util.ArrayList; -import java.util.List; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.enchantment.EnchantItemEvent; - -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -17,6 +9,13 @@ import com.leonardobishop.quests.quests.Quest; import com.leonardobishop.quests.quests.Task; import com.leonardobishop.quests.quests.tasktypes.ConfigValue; import com.leonardobishop.quests.quests.tasktypes.TaskType; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.enchantment.EnchantItemEvent; + +import java.util.ArrayList; +import java.util.List; public final class EnchantingTaskType extends TaskType { @@ -36,7 +35,7 @@ public final class EnchantingTaskType extends TaskType { public void onEnchant(EnchantItemEvent e) { Player player = e.getEnchanter(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java index f186c9f9..56d6b879 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java @@ -1,13 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import java.util.ArrayList; -import java.util.List; - -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.player.PlayerExpChangeEvent; - -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -16,6 +9,12 @@ import com.leonardobishop.quests.quests.Quest; import com.leonardobishop.quests.quests.Task; import com.leonardobishop.quests.quests.tasktypes.ConfigValue; import com.leonardobishop.quests.quests.tasktypes.TaskType; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.player.PlayerExpChangeEvent; + +import java.util.ArrayList; +import java.util.List; public final class ExpEarnTaskType extends TaskType { @@ -33,7 +32,7 @@ public final class ExpEarnTaskType extends TaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onExpEarn(PlayerExpChangeEvent e) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(e.getPlayer().getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(e.getPlayer().getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java index 95756ba6..1e190d11 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -24,7 +24,7 @@ public final class FarmingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public FarmingTaskType() { - super("farming", "lmbishop", "Break a set amount of a crop."); + super("farming", "LMBishop", "Break a set amount of a crop."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of crops to be broken.")); this.creatorConfigValues.add(new ConfigValue("crop", true, "Name or ID of crop.")); } @@ -42,7 +42,7 @@ public final class FarmingTaskType extends TaskType { } Crops crop = (Crops) event.getBlock().getState(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java index 81ee1a23..4cd43fbf 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -9,7 +9,6 @@ import com.leonardobishop.quests.quests.Quest; import com.leonardobishop.quests.quests.Task; import com.leonardobishop.quests.quests.tasktypes.ConfigValue; import com.leonardobishop.quests.quests.tasktypes.TaskType; - import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -25,7 +24,7 @@ public final class FishingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public FishingTaskType() { - super("fishing", "lmbishop", "Catch a set amount of items from the sea."); + super("fishing", "LMBishop", "Catch a set amount of items from the sea."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of fish to be caught.")); } @@ -48,7 +47,7 @@ public final class FishingTaskType extends TaskType { Player player = event.getPlayer(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java index eda0ad6c..080f9073 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java @@ -1,6 +1,7 @@ package com.leonardobishop.quests.quests.tasktypes.types; import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -27,7 +28,7 @@ public final class InventoryTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public InventoryTaskType() { - super("inventory", "lmbishop", "Obtain a set of items."); + super("inventory", "LMBishop", "Obtain a set of items."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of item to retrieve.")); this.creatorConfigValues.add(new ConfigValue("item", true, "Name or ID of item.")); this.creatorConfigValues.add(new ConfigValue("remove-items-when-complete", false, "Take the items away from the player on completion (true/false, " + @@ -46,7 +47,7 @@ public final class InventoryTaskType extends TaskType { public void run() { checkInventory(event.getPlayer()); } - }.runTaskLater(Quests.getInstance(), 1L); + }.runTaskLater(Quests.get(), 1L); } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) @@ -56,11 +57,11 @@ public final class InventoryTaskType extends TaskType { public void run() { checkInventory((Player) event.getWhoClicked()); } - }.runTaskLater(Quests.getInstance(), 1L); + }.runTaskLater(Quests.get(), 1L); } private void checkInventory(Player player) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); if (qPlayer == null) { return; } diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java index 71e4c2cb..beeae684 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -24,7 +24,7 @@ public final class MilkingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public MilkingTaskType() { - super("milking", "lmbishop", "Milk a set amount of cows."); + super("milking", "LMBishop", "Milk a set amount of cows."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of cows to be milked.")); } @@ -41,7 +41,7 @@ public final class MilkingTaskType extends TaskType { Player player = event.getPlayer(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java index 1ef5708c..8ee5a84e 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.blocktype.Block; import com.leonardobishop.quests.blocktype.SimilarBlocks; import com.leonardobishop.quests.player.QPlayer; @@ -25,7 +25,7 @@ public final class MiningCertainTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public MiningCertainTaskType() { - super("blockbreakcertain", "lmbishop", "Break a set amount of a specific block."); + super("blockbreakcertain", "LMBishop", "Break a set amount of a specific block."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of blocks to be broken.")); this.creatorConfigValues.add(new ConfigValue("block", true, "Name or ID of block.")); this.creatorConfigValues.add(new ConfigValue("data", false, "Data code for block.")); @@ -39,7 +39,7 @@ public final class MiningCertainTaskType extends TaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockBreak(BlockBreakEvent event) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java index f6f2ec48..72bf5464 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -22,7 +22,7 @@ public final class MiningTaskType extends TaskType { public MiningTaskType() { // type, author, description - super("blockbreak", "lmbishop", "Break a set amount of blocks."); + super("blockbreak", "LMBishop", "Break a set amount of blocks."); // config values for the quest creator to use, if unspecified then the quest creator will not know what to put here (and will require users to // go into the config and manually configure there) @@ -36,7 +36,7 @@ public final class MiningTaskType extends TaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockBreak(BlockBreakEvent event) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); // get the qplayer so you can get their progress + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); // get the qplayer so you can get their progress QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); // the quest progress file stores progress about all quests and tasks for (Quest quest : super.getRegisteredQuests()) { // iterate through all quests which are registered to use this task type diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java index f0012422..39107702 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -25,7 +25,7 @@ public final class MobkillingCertainTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public MobkillingCertainTaskType() { - super("mobkillingcertain", "lmbishop", "Kill a set amount of a specific entity type."); + super("mobkillingcertain", "LMBishop", "Kill a set amount of a specific entity type."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of mobs to be killed.")); this.creatorConfigValues.add(new ConfigValue("mob", true, "Name of mob.")); this.creatorConfigValues.add(new ConfigValue("name", false, "Only allow a specific name for mob (unspecified = any name allowed).")); @@ -51,7 +51,7 @@ public final class MobkillingCertainTaskType extends TaskType { Player player = event.getEntity().getKiller(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java index 593e617d..5cb627eb 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -25,7 +25,7 @@ public final class MobkillingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public MobkillingTaskType() { - super("mobkilling", "lmbishop", "Kill a set amount of entities."); + super("mobkilling", "LMBishop", "Kill a set amount of entities."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of mobs to be killed.")); this.creatorConfigValues.add(new ConfigValue("hostile", false, "Only allow hostile or non-hostile mobs (unspecified = any type allowed).")); } @@ -50,7 +50,7 @@ public final class MobkillingTaskType extends TaskType { Player player = event.getEntity().getKiller(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java index d3694fa4..06006fa7 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -23,7 +23,7 @@ public final class PlayerkillingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public PlayerkillingTaskType() { - super("playerkilling", "lmbishop", "Kill a set amount of players."); + super("playerkilling", "LMBishop", "Kill a set amount of players."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of mobs to be killed.")); this.creatorConfigValues.add(new ConfigValue("hostile", false, "Only allow hostile or non-hostile mobs (unspecified = any type allowed).")); } @@ -48,7 +48,7 @@ public final class PlayerkillingTaskType extends TaskType { Player player = event.getEntity().getKiller(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java index e2e3117c..e1fb9020 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java @@ -1,6 +1,7 @@ package com.leonardobishop.quests.quests.tasktypes.types; import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -24,7 +25,7 @@ public final class PlaytimeTaskType extends TaskType { @Override public void run() { for (Player player : Bukkit.getOnlinePlayers()) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : PlaytimeTaskType.super.getRegisteredQuests()) { if (questProgressFile.hasStartedQuest(quest)) { @@ -48,7 +49,7 @@ public final class PlaytimeTaskType extends TaskType { } } } - }.runTaskTimer(Quests.getInstance(), 1200L, 1200L); + }.runTaskTimer(Quests.get(), 1200L, 1200L); } } diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java index 1ced81db..3101864d 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -25,7 +25,7 @@ public final class PositionTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public PositionTaskType() { - super("position", "lmbishop", "Reach a set of co-ordinates."); + super("position", "LMBishop", "Reach a set of co-ordinates."); this.creatorConfigValues.add(new ConfigValue("x", true, "X position.")); this.creatorConfigValues.add(new ConfigValue("y", true, "Y position.")); this.creatorConfigValues.add(new ConfigValue("z", true, "Z position.")); @@ -46,7 +46,7 @@ public final class PositionTaskType extends TaskType { Player player = event.getPlayer(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java index 04e326c6..fb62859d 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -23,7 +23,7 @@ public final class ShearingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public ShearingTaskType() { - super("shearing", "lmbishop", "Shear a set amount of sheep."); + super("shearing", "LMBishop", "Shear a set amount of sheep."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of cows to be milked.")); } @@ -40,7 +40,7 @@ public final class ShearingTaskType extends TaskType { Player player = event.getPlayer(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java index 820b4672..53c57266 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -22,7 +22,7 @@ public final class TamingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public TamingTaskType() { - super("taming", "lmbishop", "Tame a set amount of animals."); + super("taming", "LMBishop", "Tame a set amount of animals."); this.creatorConfigValues.add(new ConfigValue("amount", true, "Amount of animals to be tamed.")); } @@ -39,7 +39,7 @@ public final class TamingTaskType extends TaskType { Player player = (Player) event.getOwner(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java index 6729926d..05ce36f8 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java @@ -1,6 +1,7 @@ package com.leonardobishop.quests.quests.tasktypes.types; import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -22,7 +23,7 @@ public final class WalkingTaskType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public WalkingTaskType() { - super("walking", "lmbishop", "Walk a set distance."); + super("walking", "LMBishop", "Walk a set distance."); this.creatorConfigValues.add(new ConfigValue("distance", true, "Amount of meters (blocks) to be travelled.")); } @@ -39,7 +40,7 @@ public final class WalkingTaskType extends TaskType { Player player = event.getPlayer(); - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(player.getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); for (Quest quest : super.getRegisteredQuests()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java index 55d958a5..fd8b4840 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java @@ -1,6 +1,6 @@ package com.leonardobishop.quests.quests.tasktypes.types; -import com.leonardobishop.quests.Quests; +import com.leonardobishop.quests.QuestsAPI; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile; @@ -21,7 +21,7 @@ public final class uSkyBlockLevelType extends TaskType { private List<ConfigValue> creatorConfigValues = new ArrayList<>(); public uSkyBlockLevelType() { - super("uskyblock_level", "lmbishop", "Reach a certain island level for uSkyBlock."); + super("uskyblock_level", "LMBishop", "Reach a certain island level for uSkyBlock."); this.creatorConfigValues.add(new ConfigValue("level", true, "Minimum island level needed.")); } @@ -32,7 +32,7 @@ public final class uSkyBlockLevelType extends TaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onIslandLevel(uSkyBlockScoreChangedEvent event) { - QPlayer qPlayer = Quests.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(event.getPlayer().getUniqueId()); if (qPlayer == null) { return; } diff --git a/src/main/java/com/leonardobishop/quests/title/Title.java b/src/main/java/com/leonardobishop/quests/title/Title.java index e2178735..73362632 100644 --- a/src/main/java/com/leonardobishop/quests/title/Title.java +++ b/src/main/java/com/leonardobishop/quests/title/Title.java @@ -4,5 +4,5 @@ import org.bukkit.entity.Player; public interface Title { - public void sendTitle(Player player, String message, String submessage); + void sendTitle(Player player, String message, String submessage); }
\ No newline at end of file diff --git a/src/main/java/com/leonardobishop/quests/title/Title_Bukkit.java b/src/main/java/com/leonardobishop/quests/title/Title_Bukkit.java index d88de717..d05f815b 100644 --- a/src/main/java/com/leonardobishop/quests/title/Title_Bukkit.java +++ b/src/main/java/com/leonardobishop/quests/title/Title_Bukkit.java @@ -4,6 +4,7 @@ import org.bukkit.entity.Player; public class Title_Bukkit implements Title { + // new title function with timings @Override public void sendTitle(Player player, String message, String submessage) { player.sendTitle(message, submessage, 10, 100, 10); diff --git a/src/main/java/com/leonardobishop/quests/title/Title_Other.java b/src/main/java/com/leonardobishop/quests/title/Title_Other.java index 96d9914e..e4e998b9 100644 --- a/src/main/java/com/leonardobishop/quests/title/Title_Other.java +++ b/src/main/java/com/leonardobishop/quests/title/Title_Other.java @@ -6,14 +6,6 @@ public class Title_Other implements Title { @Override public void sendTitle(Player player, String message, String submessage) { - /* - I'm too lazy to do a null check each time I want to send a title, so here. - Anyway, hello there programmer! I see you're rummaging through my source code. - Try not to leave a mess please. If you see anything dodgy or looks like it - could do with a little improvement make a pull request. - Also join my discord: https://discord.gg/8amrJnX - Have a great day! - - fatpigsarefat - */ + // title function does not exist } } diff --git a/src/main/java/com/leonardobishop/quests/title/Title_v1_10_R1.java b/src/main/java/com/leonardobishop/quests/title/Title_v1_10_R1.java deleted file mode 100644 index 0343ccbd..00000000 --- a/src/main/java/com/leonardobishop/quests/title/Title_v1_10_R1.java +++ /dev/null @@ -1,22 +0,0 @@ -//package me.fatpigsarefat.quests.title; -// -//import net.minecraft.server.v1_10_R1.IChatBaseComponent.ChatSerializer; -//import net.minecraft.server.v1_10_R1.PacketPlayOutTitle; -//import net.minecraft.server.v1_10_R1.PacketPlayOutTitle.EnumTitleAction; -//import org.bukkit.craftbukkit.v1_10_R1.entity.CraftPlayer; -//import org.bukkit.entity.Player; -// -//public class Title_v1_10_R1 implements Title { -// -// @Override -// public void sendTitle(Player player, String message, String submessage) { -// message = "{\"text\":\"" + message + "\"}"; -// PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a(message), 10, 100, -// 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title); -// submessage = "{\"text\":\"" + submessage + "\"}"; -// PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a(submessage), 10, -// 100, 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(subtitle); -// } -//} diff --git a/src/main/java/com/leonardobishop/quests/title/Title_v1_11_R1.java b/src/main/java/com/leonardobishop/quests/title/Title_v1_11_R1.java deleted file mode 100644 index edb7e9e7..00000000 --- a/src/main/java/com/leonardobishop/quests/title/Title_v1_11_R1.java +++ /dev/null @@ -1,22 +0,0 @@ -//package me.fatpigsarefat.quests.title; -// -//import net.minecraft.server.v1_11_R1.IChatBaseComponent.ChatSerializer; -//import net.minecraft.server.v1_11_R1.PacketPlayOutTitle; -//import net.minecraft.server.v1_11_R1.PacketPlayOutTitle.EnumTitleAction; -//import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer; -//import org.bukkit.entity.Player; -// -//public class Title_v1_11_R1 implements Title { -// -// @Override -// public void sendTitle(Player player, String message, String submessage) { -// message = "{\"text\":\"" + message + "\"}"; -// PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a(message), 10, 100, -// 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title); -// submessage = "{\"text\":\"" + submessage + "\"}"; -// PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a(submessage), 10, -// 100, 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(subtitle); -// } -//} diff --git a/src/main/java/com/leonardobishop/quests/title/Title_v1_12_R1.java b/src/main/java/com/leonardobishop/quests/title/Title_v1_12_R1.java deleted file mode 100644 index daebefa3..00000000 --- a/src/main/java/com/leonardobishop/quests/title/Title_v1_12_R1.java +++ /dev/null @@ -1,22 +0,0 @@ -//package me.fatpigsarefat.quests.title; -// -//import net.minecraft.server.v1_12_R1.IChatBaseComponent.ChatSerializer; -//import net.minecraft.server.v1_12_R1.PacketPlayOutTitle; -//import net.minecraft.server.v1_12_R1.PacketPlayOutTitle.EnumTitleAction; -//import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer; -//import org.bukkit.entity.Player; -// -//public class Title_v1_12_R1 implements Title { -// -// @Override -// public void sendTitle(Player player, String message, String submessage) { -// message = "{\"text\":\"" + message + "\"}"; -// PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a(message), 10, 100, -// 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title); -// submessage = "{\"text\":\"" + submessage + "\"}"; -// PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a(submessage), 10, -// 100, 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(subtitle); -// } -//} diff --git a/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R1.java b/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R1.java deleted file mode 100644 index 4de97c98..00000000 --- a/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R1.java +++ /dev/null @@ -1,23 +0,0 @@ -//package me.fatpigsarefat.quests.title; -// -//import net.minecraft.server.v1_8_R1.ChatSerializer; -//import net.minecraft.server.v1_8_R1.EnumTitleAction; -//import net.minecraft.server.v1_8_R1.PacketPlayOutTitle; -//import org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer; -//import org.bukkit.entity.Player; -// -//public class Title_v1_8_R1 implements Title { -// -// @Override -// public void sendTitle(Player player, String message, String submessage) { -// message = "{\"text\":\"" + message + "\"}"; -// PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a(message), 10, 100, -// 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title); -// submessage = "{\"text\":\"" + submessage + "\"}"; -// PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a(submessage), 10, -// 100, 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(subtitle); -// } -// -//}
\ No newline at end of file diff --git a/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R2.java b/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R2.java deleted file mode 100644 index acda3c70..00000000 --- a/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R2.java +++ /dev/null @@ -1,22 +0,0 @@ -//package me.fatpigsarefat.quests.title; -// -//import net.minecraft.server.v1_8_R2.IChatBaseComponent.ChatSerializer; -//import net.minecraft.server.v1_8_R2.PacketPlayOutTitle; -//import net.minecraft.server.v1_8_R2.PacketPlayOutTitle.EnumTitleAction; -//import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer; -//import org.bukkit.entity.Player; -// -//public class Title_v1_8_R2 implements Title { -// -// @Override -// public void sendTitle(Player player, String message, String submessage) { -// message = "{\"text\":\"" + message + "\"}"; -// PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a(message), 10, 100, -// 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title); -// submessage = "{\"text\":\"" + submessage + "\"}"; -// PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a(submessage), 10, -// 100, 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(subtitle); -// } -//}
\ No newline at end of file diff --git a/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R3.java b/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R3.java deleted file mode 100644 index 0bc56b5f..00000000 --- a/src/main/java/com/leonardobishop/quests/title/Title_v1_8_R3.java +++ /dev/null @@ -1,22 +0,0 @@ -//package me.fatpigsarefat.quests.title; -// -//import net.minecraft.server.v1_8_R3.IChatBaseComponent.ChatSerializer; -//import net.minecraft.server.v1_8_R3.PacketPlayOutTitle; -//import net.minecraft.server.v1_8_R3.PacketPlayOutTitle.EnumTitleAction; -//import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer; -//import org.bukkit.entity.Player; -// -//public class Title_v1_8_R3 implements Title { -// -// @Override -// public void sendTitle(Player player, String message, String submessage) { -// message = "{\"text\":\"" + message + "\"}"; -// PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a(message), 10, 100, -// 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title); -// submessage = "{\"text\":\"" + submessage + "\"}"; -// PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a(submessage), 10, -// 100, 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(subtitle); -// } -//} diff --git a/src/main/java/com/leonardobishop/quests/title/Title_v1_9_R1.java b/src/main/java/com/leonardobishop/quests/title/Title_v1_9_R1.java deleted file mode 100644 index 80e25392..00000000 --- a/src/main/java/com/leonardobishop/quests/title/Title_v1_9_R1.java +++ /dev/null @@ -1,22 +0,0 @@ -//package me.fatpigsarefat.quests.title; -// -//import net.minecraft.server.v1_9_R1.IChatBaseComponent.ChatSerializer; -//import net.minecraft.server.v1_9_R1.PacketPlayOutTitle; -//import net.minecraft.server.v1_9_R1.PacketPlayOutTitle.EnumTitleAction; -//import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer; -//import org.bukkit.entity.Player; -// -//public class Title_v1_9_R1 implements Title { -// -// @Override -// public void sendTitle(Player player, String message, String submessage) { -// message = "{\"text\":\"" + message + "\"}"; -// PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a(message), 10, 100, -// 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title); -// submessage = "{\"text\":\"" + submessage + "\"}"; -// PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a(submessage), 10, -// 100, 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(subtitle); -// } -//} diff --git a/src/main/java/com/leonardobishop/quests/title/Title_v1_9_R2.java b/src/main/java/com/leonardobishop/quests/title/Title_v1_9_R2.java deleted file mode 100644 index 29b52bbd..00000000 --- a/src/main/java/com/leonardobishop/quests/title/Title_v1_9_R2.java +++ /dev/null @@ -1,22 +0,0 @@ -//package me.fatpigsarefat.quests.title; -// -//import net.minecraft.server.v1_9_R2.IChatBaseComponent.ChatSerializer; -//import net.minecraft.server.v1_9_R2.PacketPlayOutTitle; -//import net.minecraft.server.v1_9_R2.PacketPlayOutTitle.EnumTitleAction; -//import org.bukkit.craftbukkit.v1_9_R2.entity.CraftPlayer; -//import org.bukkit.entity.Player; -// -//public class Title_v1_9_R2 implements Title { -// -// @Override -// public void sendTitle(Player player, String message, String submessage) { -// message = "{\"text\":\"" + message + "\"}"; -// PacketPlayOutTitle title = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a(message), 10, 100, -// 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(title); -// submessage = "{\"text\":\"" + submessage + "\"}"; -// PacketPlayOutTitle subtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, ChatSerializer.a(submessage), 10, -// 100, 10); -// ((CraftPlayer) player).getHandle().playerConnection.sendPacket(subtitle); -// } -//} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 460c5122..e2abbc3b 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,7 +4,7 @@ name: Quests version: %PLUGIN_VERSION% main: com.leonardobishop.quests.Quests -author: lmbishop +author: LMBishop softdepend: [ASkyBlock, uSkyBlock, Citizens] prefix: Quests |
