Restore exp requirement check, fixes #1997

This commit is contained in:
PikaMug 2022-08-11 17:17:46 -04:00
parent 7e194579d2
commit 0df7b37529
2 changed files with 7 additions and 2 deletions

View File

@ -128,6 +128,8 @@ public interface IQuester extends Comparable<IQuester> {
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);

View File

@ -631,7 +631,7 @@ public class Quest implements IQuest {
/**
* Check that a quester has met all Requirements to accept this quest<p>
*
* 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<p>
*
* 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()) {