@CommandRequirements()
@Command(aliases = "quest", usage = "abort", desc = "aborts current quest", modifiers = "abort", min = 1, max = 1)
@CommandPermissions("quester.use.quests.abort")
public static void abortCurrentQuest(CommandContext args, Player player, HumanNPC npc) {
PlayerProfile profile = PlayerProfile.getProfile(player.getName());
if (!profile.hasQuest()) {
player.sendMessage(ChatColor.GRAY + "You don't have a quest at the moment.");
} else {
Bukkit.getPluginManager().callEvent(
new QuestCancelEvent(QuestManager.getQuest(profile.getProgress().getQuestName()), player));
List<Reward> abort = QuestManager.getQuest(profile.getQuest()).getAbortRewards();
if (abort != null) {
for (Reward reward : abort)
reward.grant(player, profile.getProgress().getQuesterUID());
}
profile.setProgress(null);
player.sendMessage(ChatColor.GREEN + "Quest cleared.");
}
}