diff --git a/api/src/main/java/me/blackvein/quests/player/IQuester.java b/api/src/main/java/me/blackvein/quests/player/IQuester.java index 313c2f32e..c535328b1 100644 --- a/api/src/main/java/me/blackvein/quests/player/IQuester.java +++ b/api/src/main/java/me/blackvein/quests/player/IQuester.java @@ -128,6 +128,8 @@ public interface IQuester extends Comparable { boolean canAcceptOffer(final IQuest quest, final boolean giveReason); + boolean isOnTime(final IQuest quest, final boolean giveReason); + void takeQuest(final IQuest quest, final boolean ignoreRequirements); boolean abandonQuest(final IQuest quest, final String message); diff --git a/core/src/main/java/me/blackvein/quests/Quest.java b/core/src/main/java/me/blackvein/quests/Quest.java index 01adcfff1..a06b365d7 100644 --- a/core/src/main/java/me/blackvein/quests/Quest.java +++ b/core/src/main/java/me/blackvein/quests/Quest.java @@ -631,7 +631,7 @@ public class Quest implements IQuest { /** * Check that a quester has met all Requirements to accept this quest

* - * Item, permission and custom Requirements are only checked for online players + * Item, experience, permission and custom Requirements are only checked for online players * * @param quester The quester to check * @return true if all Requirements have been met @@ -643,7 +643,7 @@ public class Quest implements IQuest { /** * Check that a player has met all Requirements to accept this quest

* - * Item, permission and custom Requirements are only checked for online players + * Item, experience, permission and custom Requirements are only checked for online players * * @param player The player to check * @return true if all Requirements have been met @@ -686,6 +686,9 @@ public class Quest implements IQuest { } if (player.isOnline()) { final Player p = (Player)player; + if (p.getTotalExperience() < requirements.getExp()) { + return false; + } final Inventory fakeInv = Bukkit.createInventory(null, InventoryType.PLAYER); fakeInv.setContents(p.getInventory().getContents().clone()); for (final ItemStack is : requirements.getItems()) {