From b851c0fcfc97754a7f1cfb3afa6177a0f9157f95 Mon Sep 17 00:00:00 2001 From: LMBishop <13875753+LMBishop@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:51:32 +0000 Subject: Add quest tracking command & relicensed under GPLv3 - The GPLv3 license is to comply with Spigot's GPL license. --- .../quests/commands/CommandQuests.java | 31 +++++++--------------- .../questprogressfile/QuestProgressFile.java | 3 +-- 2 files changed, 11 insertions(+), 23 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java b/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java index 4df5cd7d..00b7640e 100644 --- a/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java +++ b/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java @@ -370,30 +370,19 @@ public class CommandQuests implements TabExecutor { if (args.length >= 3) { Quest quest = plugin.getQuestManager().getQuestById(args[1]); QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); - + if (qPlayer == null) { + sender.sendMessage(ChatColor.RED + "Your quest progress file has not been loaded yet."); + return true; + } + if (quest == null) { + sender.sendMessage(Messages.COMMAND_QUEST_GENERAL_DOESNTEXIST.getMessage().replace("{quest}", args[1])); + } if (args[2].equalsIgnoreCase("s") || args[2].equalsIgnoreCase("start")) { - if (quest == null) { - sender.sendMessage(Messages.COMMAND_QUEST_START_DOESNTEXIST.getMessage().replace("{quest}", args[1])); - } else { - if (qPlayer == null) { - // shit + fan - sender.sendMessage(ChatColor.RED + "Your quest progress file has not been loaded yet."); //lazy? :) - } else { - qPlayer.getQuestProgressFile().startQuest(quest); - } - } + qPlayer.getQuestProgressFile().startQuest(quest); } else if (args[2].equalsIgnoreCase("c") || args[2].equalsIgnoreCase("cancel")) { - if (qPlayer == null) { - sender.sendMessage(ChatColor.RED + "Your quest progress file has not been loaded yet."); //lazy x2? ;) - } else { - qPlayer.getQuestProgressFile().cancelQuest(quest); - } + qPlayer.getQuestProgressFile().cancelQuest(quest); } else if (args[2].equalsIgnoreCase("t") || args[2].equalsIgnoreCase("track")) { - if (qPlayer == null) { - sender.sendMessage(ChatColor.RED + "Your quest progress file has not been loaded yet."); //lazy x2? ;) - } else { - qPlayer.getQuestProgressFile().trackQuest(quest); - } + qPlayer.getQuestProgressFile().trackQuest(quest); } else { sender.sendMessage(Messages.COMMAND_SUB_DOESNTEXIST.getMessage().replace("{sub}", args[2])); } 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 e7a77853..5af227f5 100644 --- a/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java +++ b/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java @@ -95,12 +95,11 @@ public class QuestProgressFile { /** * Attempt to track a quest for the player. This will also play all effects (such as titles, messages etc.) * - * Warning: will fail if the player is not online. + * Warning: {@link PlayerStopTrackQuestEvent} is not fired if the player is not online * * @param quest the quest to track */ public void trackQuest(Quest quest) { - //TODO change how this works Player player = Bukkit.getPlayer(playerUUID); if (quest == null) { playerPreferences.setTrackedQuestId(null); -- cgit v1.2.3-70-g09d2