Updates Quests-related code for the Quests 5 pre-release

This commit is contained in:
Kristian Knarvik 2023-10-26 08:42:53 +02:00
parent 87a99ed559
commit d288b5c575
9 changed files with 94 additions and 99 deletions

28
pom.xml
View File

@ -68,10 +68,6 @@
</build>
<repositories>
<repository>
<id>knarcraft-repo</id>
<url>https://git.knarcraft.net/api/packages/EpicKnarvik97/maven</url>
</repository>
<repository>
<id>codemc-repo</id>
<url>https://repo.codemc.io/repository/maven-public/</url>
@ -96,6 +92,10 @@
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<repository>
<id>knarcraft-repo</id>
<url>https://git.knarcraft.net/api/packages/EpicKnarvik97/maven</url>
</repository>
</repositories>
<distributionManagement>
<repository>
@ -109,10 +109,16 @@
</distributionManagement>
<dependencies>
<dependency>
<groupId>me.pikamug.quests</groupId>
<artifactId>quests-api</artifactId>
<version>5.0.0-rc.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.19.4-R0.1-SNAPSHOT</version>
<version>1.20.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
@ -128,18 +134,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>me.blackvein.quests</groupId>
<artifactId>quests-api</artifactId>
<version>4.8.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>me.blackvein.quests</groupId>
<artifactId>quests-core</artifactId>
<version>4.8.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>us.dynmap</groupId>
<artifactId>dynmap-api</artifactId>

View File

@ -1,6 +1,6 @@
package net.knarcraft.dynmapcitizens.handler.trait.quests;
import me.blackvein.quests.quests.IQuest;
import me.pikamug.quests.quests.Quest;
import net.knarcraft.dynmapcitizens.property.Icon;
import java.util.ArrayList;
@ -11,17 +11,17 @@ import java.util.List;
*/
public class NPCQuestInfo {
private final List<IQuest> questStart = new ArrayList<>();
private final List<IQuest> questKill = new ArrayList<>();
private final List<IQuest> questDeliver = new ArrayList<>();
private final List<IQuest> questInteract = new ArrayList<>();
private final List<Quest> questStart = new ArrayList<>();
private final List<Quest> questKill = new ArrayList<>();
private final List<Quest> questDeliver = new ArrayList<>();
private final List<Quest> questInteract = new ArrayList<>();
/**
* Adds the given quest to the list of quests this NPC provides
*
* @param quest <p>The quest to add</p>
*/
public void addQuestStart(IQuest quest) {
public void addQuestStart(Quest quest) {
this.questStart.add(quest);
}
@ -30,7 +30,7 @@ public class NPCQuestInfo {
*
* @param quest <p>The quest to add</p>
*/
public void addQuestKill(IQuest quest) {
public void addQuestKill(Quest quest) {
this.questKill.add(quest);
}
@ -39,7 +39,7 @@ public class NPCQuestInfo {
*
* @param quest <p>The quest to add</p>
*/
public void addQuestDeliver(IQuest quest) {
public void addQuestDeliver(Quest quest) {
this.questDeliver.add(quest);
}
@ -48,7 +48,7 @@ public class NPCQuestInfo {
*
* @param quest <p>The quest to add</p>
*/
public void addQuestInteract(IQuest quest) {
public void addQuestInteract(Quest quest) {
this.questInteract.add(quest);
}
@ -57,7 +57,7 @@ public class NPCQuestInfo {
*
* @return <p>All quests this NPC is used to start</p>
*/
public List<IQuest> getQuestStarts() {
public List<Quest> getQuestStarts() {
return new ArrayList<>(this.questStart);
}
@ -66,7 +66,7 @@ public class NPCQuestInfo {
*
* @return <p>All kill quests involving this NPC</p>
*/
public List<IQuest> getQuestKills() {
public List<Quest> getQuestKills() {
return new ArrayList<>(this.questKill);
}
@ -75,7 +75,7 @@ public class NPCQuestInfo {
*
* @return <p>All quests delivering to this NPC</p>
*/
public List<IQuest> getQuestDeliveries() {
public List<Quest> getQuestDeliveries() {
return new ArrayList<>(this.questDeliver);
}
@ -84,7 +84,7 @@ public class NPCQuestInfo {
*
* @return <p>All quests requiring interaction with this NPC</p>
*/
public List<IQuest> getQuestInteractions() {
public List<Quest> getQuestInteractions() {
return new ArrayList<>(this.questInteract);
}

View File

@ -1,8 +1,8 @@
package net.knarcraft.dynmapcitizens.handler.trait.quests;
import me.blackvein.quests.QuestsAPI;
import me.blackvein.quests.quests.IQuest;
import me.blackvein.quests.quests.IStage;
import me.pikamug.quests.Quests;
import me.pikamug.quests.quests.Quest;
import me.pikamug.quests.quests.components.Stage;
import net.knarcraft.dynmapcitizens.DynmapCitizens;
import net.knarcraft.dynmapcitizens.settings.QuestsSettings;
import net.knarcraft.dynmapcitizens.util.DynmapHelper;
@ -28,11 +28,11 @@ import static net.knarcraft.dynmapcitizens.formatting.QuestsTranslatableMessage.
*/
public class QuestAreaHandler {
private final QuestsAPI questsAPI;
private final Quests questsAPI;
private final MarkerSet killAreaMarkerSet;
private final MarkerSet reachAreaMarkerSet;
private final QuestsSettings settings;
private final List<IQuest> unavailableQuests;
private final List<Quest> unavailableQuests;
private final StringFormatter formatter;
/**
@ -43,8 +43,8 @@ public class QuestAreaHandler {
* @param settings <p>The quests settings to use</p>
* @param unavailableQuests <p>The list of currently unavailable quests to possibly skip</p>
*/
public QuestAreaHandler(QuestsAPI questsAPI, DynmapAPI dynmapAPI, QuestsSettings settings,
List<IQuest> unavailableQuests) {
public QuestAreaHandler(Quests questsAPI, DynmapAPI dynmapAPI, QuestsSettings settings,
List<Quest> unavailableQuests) {
this.questsAPI = questsAPI;
this.settings = settings;
this.unavailableQuests = unavailableQuests;
@ -59,12 +59,12 @@ public class QuestAreaHandler {
public void updateQuestAreas() {
this.killAreaMarkerSet.getCircleMarkers().forEach(GenericMarker::deleteMarker);
this.reachAreaMarkerSet.getCircleMarkers().forEach(GenericMarker::deleteMarker);
for (IQuest quest : questsAPI.getLoadedQuests()) {
for (Quest quest : questsAPI.getLoadedQuests()) {
//Skip marker if quest is unavailable, and unavailable quests are hidden
if (settings.hideUnavailableQuests() && this.unavailableQuests.contains(quest)) {
continue;
}
for (IStage stage : quest.getStages()) {
for (Stage stage : quest.getStages()) {
markKillLocations(quest, stage);
markReachLocations(quest, stage);
}
@ -78,12 +78,12 @@ public class QuestAreaHandler {
* @param quest <p>The quest the stage belongs to</p>
* @param stage <p>The stage to search for reach locations</p>
*/
private void markReachLocations(IQuest quest, IStage stage) {
private void markReachLocations(Quest quest, Stage stage) {
if (settings.getReachAreaSettings().isDisabled()) {
return;
}
for (int i = 0; i < stage.getLocationsToReach().size(); i++) {
Location location = stage.getLocationsToReach().get(i);
Location location = (Location) stage.getLocationsToReach().get(i);
int radius = stage.getRadiiToReachWithin().get(i);
String areaName = stage.getLocationNames().get(i);
@ -106,14 +106,14 @@ public class QuestAreaHandler {
* @param quest <p>The quest the stage belongs to</p>
* @param stage <p>The stage to search for kill locations</p>
*/
private void markKillLocations(IQuest quest, IStage stage) {
private void markKillLocations(Quest quest, Stage stage) {
if (settings.getKillAreaSettings().isDisabled()) {
return;
}
for (int i = 0; i < stage.getLocationsToKillWithin().size(); i++) {
Location location = stage.getLocationsToKillWithin().get(i);
Location location = (Location) stage.getLocationsToKillWithin().get(i);
int radius = stage.getRadiiToKillWithin().get(i);
EntityType mob = stage.getMobsToKill().get(i);
EntityType mob = (EntityType) stage.getMobsToKill().get(i);
int mobAmount = stage.getMobNumToKill().get(i);
String areaName = stage.getKillNames().get(i);

View File

@ -1,7 +1,7 @@
package net.knarcraft.dynmapcitizens.handler.trait.quests;
import me.blackvein.quests.quests.IQuest;
import me.blackvein.quests.quests.Planner;
import me.pikamug.quests.quests.Quest;
import me.pikamug.quests.quests.components.Planner;
import net.knarcraft.dynmapcitizens.DynmapCitizens;
import net.knarcraft.knarlib.formatting.TimeFormatter;
@ -14,14 +14,14 @@ import java.util.Date;
*/
public class QuestPlannerInfoGenerator {
private final IQuest quest;
private final Quest quest;
/**
* Instantiates a new quest planner info generator
*
* @param quest <p>The quest to generate information about</p>
*/
public QuestPlannerInfoGenerator(IQuest quest) {
public QuestPlannerInfoGenerator(Quest quest) {
this.quest = quest;
}

View File

@ -1,8 +1,8 @@
package net.knarcraft.dynmapcitizens.handler.trait.quests;
import me.blackvein.quests.QuestsAPI;
import me.blackvein.quests.quests.IQuest;
import me.blackvein.quests.quests.Requirements;
import me.pikamug.quests.Quests;
import me.pikamug.quests.quests.Quest;
import me.pikamug.quests.quests.components.Requirements;
import net.knarcraft.dynmapcitizens.DynmapCitizens;
import net.knarcraft.dynmapcitizens.util.QuestsHelper;
import net.knarcraft.knarlib.formatting.StringFormatter;
@ -32,8 +32,8 @@ import static net.knarcraft.dynmapcitizens.formatting.QuestsTranslatableMessage.
*/
public class QuestRequirementsInfoGenerator {
private final QuestsAPI questsAPI;
private final IQuest quest;
private final Quests questsAPI;
private final Quest quest;
private final StringFormatter formatter;
/**
@ -42,7 +42,7 @@ public class QuestRequirementsInfoGenerator {
* @param questsAPI <p>The API to use for getting quest information</p>
* @param quest <p>The quest to generate information about</p>
*/
public QuestRequirementsInfoGenerator(QuestsAPI questsAPI, IQuest quest) {
public QuestRequirementsInfoGenerator(Quests questsAPI, Quest quest) {
this.questsAPI = questsAPI;
this.quest = quest;
formatter = DynmapCitizens.getFormatter();
@ -131,10 +131,10 @@ public class QuestRequirementsInfoGenerator {
* @param items <p>The items to get the names of</p>
* @return <p>The names of the given items</p>
*/
private List<String> getItemNames(List<ItemStack> items) {
private List<String> getItemNames(List<?> items) {
List<String> itemNames = new ArrayList<>();
for (ItemStack itemStack : items) {
itemNames.add(QuestsHelper.getUpperCasedItemStackString(itemStack));
for (Object itemStack : items) {
itemNames.add(QuestsHelper.getUpperCasedItemStackString((ItemStack) itemStack));
}
return itemNames;
}
@ -148,7 +148,7 @@ public class QuestRequirementsInfoGenerator {
private List<String> getQuestNames(List<String> questIds) {
List<String> questNames = new ArrayList<>(questIds.size());
for (String questId : questIds) {
IQuest quest = getQuest(questId);
Quest quest = getQuest(questId);
if (quest != null) {
questNames.add(quest.getName());
}
@ -162,8 +162,8 @@ public class QuestRequirementsInfoGenerator {
* @param questId <p>The id of the quest to get</p>
* @return <p>The quest, or null if not found</p>
*/
private IQuest getQuest(String questId) {
for (IQuest quest : questsAPI.getLoadedQuests()) {
private Quest getQuest(String questId) {
for (Quest quest : questsAPI.getLoadedQuests()) {
if (quest.getId().equals(questId)) {
return quest;
}

View File

@ -1,7 +1,7 @@
package net.knarcraft.dynmapcitizens.handler.trait.quests;
import me.blackvein.quests.quests.IQuest;
import me.blackvein.quests.quests.Rewards;
import me.pikamug.quests.quests.Quest;
import me.pikamug.quests.quests.components.Rewards;
import net.knarcraft.dynmapcitizens.util.QuestsHelper;
import org.bukkit.inventory.ItemStack;
@ -10,14 +10,14 @@ import org.bukkit.inventory.ItemStack;
*/
public class QuestRewardsInfoGenerator {
private final IQuest quest;
private final Quest quest;
/**
* Instantiates a new quest reward info generator
*
* @param quest <p>The quest to generate information about</p>
*/
public QuestRewardsInfoGenerator(IQuest quest) {
public QuestRewardsInfoGenerator(Quest quest) {
this.quest = quest;
}
@ -47,8 +47,8 @@ public class QuestRewardsInfoGenerator {
rewardInfo.append("<li>").append("Permission: ").append(permission).append("</li>");
}
for (ItemStack item : reward.getItems()) {
rewardInfo.append("<li>").append(QuestsHelper.getUpperCasedItemStackString(item)).append("</li>");
for (Object item : reward.getItems()) {
rewardInfo.append("<li>").append(QuestsHelper.getUpperCasedItemStackString((ItemStack) item)).append("</li>");
}
for (String command : reward.getCommands()) {

View File

@ -1,11 +1,12 @@
package net.knarcraft.dynmapcitizens.handler.trait.quests;
import me.blackvein.quests.quests.IQuest;
import me.blackvein.quests.quests.IStage;
import me.pikamug.quests.quests.Quest;
import me.pikamug.quests.quests.components.Stage;
import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.npc.NPCRegistry;
import net.knarcraft.dynmapcitizens.util.QuestsHelper;
import org.bukkit.DyeColor;
import org.bukkit.Location;
import org.bukkit.inventory.ItemStack;
@ -17,14 +18,14 @@ import java.util.UUID;
*/
public class QuestStagesInfoGenerator {
private final IQuest quest;
private final Quest quest;
/**
* Instantiates a new quest stages info generator
*
* @param quest <p>The quest to generate information about</p>
*/
public QuestStagesInfoGenerator(IQuest quest) {
public QuestStagesInfoGenerator(Quest quest) {
this.quest = quest;
}
@ -43,7 +44,7 @@ public class QuestStagesInfoGenerator {
questInfo.append(getStageInfo(quest.getStage(0), registry));
} else {
questInfo.append("<b>Stages:</b><ul>");
for (IStage stage : quest.getStages()) {
for (Stage stage : quest.getStages()) {
questInfo.append("<li><b>Stage ").append(stageCounter).append(" tasks:</b><ul>");
questInfo.append(getStageInfo(stage, registry));
@ -64,11 +65,11 @@ public class QuestStagesInfoGenerator {
* @param registry <p>The registry to get NPC info from</p>
* @return <p>Information about the stage's tasks</p>
*/
private String getStageInfo(IStage stage, NPCRegistry registry) {
private String getStageInfo(Stage stage, NPCRegistry registry) {
StringBuilder questInfo = new StringBuilder();
int mobTypes = stage.getMobsToKill().size();
for (int i = 0; i < mobTypes; i++) {
questInfo.append("<li>Kill ").append(QuestsHelper.normalizeName(stage.getMobsToKill().get(i).name()));
questInfo.append("<li>Kill ").append(QuestsHelper.normalizeName(((DyeColor) stage.getMobsToKill().get(i)).name()));
questInfo.append(" x ").append(stage.getMobNumToKill().get(i));
if (stage.getKillNames().size() > i) {
questInfo.append(" at ").append(stage.getKillNames().get(i));
@ -79,13 +80,13 @@ public class QuestStagesInfoGenerator {
for (int i = 0; i < reachLocations; i++) {
questInfo.append("<li>Reach ").append(stage.getLocationNames().get(i)).append(", within ");
questInfo.append(stage.getRadiiToReachWithin().get(i)).append(" blocks of ");
questInfo.append(getLocationString(stage.getLocationsToReach().get(i))).append("</li>");
questInfo.append(getLocationString((Location) stage.getLocationsToReach().get(i))).append("</li>");
}
int deliveries = stage.getItemDeliveryTargets().size();
for (int i = 0; i < deliveries; i++) {
NPC npc = registry.getByUniqueId(stage.getItemDeliveryTargets().get(i));
questInfo.append("<li>Deliver ").append(QuestsHelper.getItemStackString(stage.getItemsToDeliver().get(i))).append(
questInfo.append("<li>Deliver ").append(QuestsHelper.getItemStackString((ItemStack) stage.getItemsToDeliver().get(i))).append(
" to ").append(npc.getName()).append("</li>");
}
if (stage.getFishToCatch() != null) {
@ -113,7 +114,7 @@ public class QuestStagesInfoGenerator {
int sheepTypes = stage.getSheepToShear().size();
for (int i = 0; i < sheepTypes; i++) {
questInfo.append("<li>Shear ").append(stage.getSheepNumToShear().get(i)).append(" ").append(
QuestsHelper.normalizeName(stage.getSheepToShear().get(i).name())).append(" sheep").append("</li>");
QuestsHelper.normalizeName(((DyeColor) stage.getSheepToShear().get(i)).name())).append(" sheep").append("</li>");
}
if (stage.getCowsToMilk() != null) {
questInfo.append("<li>Milk ").append(stage.getCowsToMilk()).append(" cows").append("</li>");
@ -122,7 +123,7 @@ public class QuestStagesInfoGenerator {
int mobTamingEntries = stage.getMobsToTame().size();
for (int i = 0; i < mobTamingEntries; i++) {
questInfo.append("<li>Tame ").append(stage.getMobNumToTame().get(i)).append(" ").append(
QuestsHelper.normalizeName(stage.getMobsToTame().get(i).name())).append("</li>");
QuestsHelper.normalizeName(((DyeColor) stage.getMobsToTame().get(i)).name())).append("</li>");
}
return questInfo.toString();
@ -149,10 +150,10 @@ public class QuestStagesInfoGenerator {
* @param explanation <p>The explanation of what the player needs to do with the items</p>
* @return <p>A string describing the necessary tasks</p>
*/
private String getQuestItemsTaskString(List<ItemStack> items, String explanation) {
private String getQuestItemsTaskString(List<?> items, String explanation) {
StringBuilder questInfo = new StringBuilder();
for (ItemStack itemStack : items) {
questInfo.append(explanation).append(QuestsHelper.getItemStackString(itemStack));
for (Object itemStack : items) {
questInfo.append(explanation).append(QuestsHelper.getItemStackString((ItemStack) itemStack));
}
return questInfo.toString();
}

View File

@ -1,8 +1,8 @@
package net.knarcraft.dynmapcitizens.handler.trait.quests;
import me.blackvein.quests.QuestsAPI;
import me.blackvein.quests.quests.IQuest;
import me.blackvein.quests.quests.IStage;
import me.pikamug.quests.Quests;
import me.pikamug.quests.quests.Quest;
import me.pikamug.quests.quests.components.Stage;
import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.npc.NPCRegistry;
import net.knarcraft.dynmapcitizens.DynmapCitizens;
@ -29,16 +29,16 @@ import java.util.UUID;
*/
public class QuestsHandler extends AbstractTraitHandler {
private QuestsAPI questsAPI;
private Quests questsAPI;
private Map<Icon, MarkerIcon> markerIcons;
private final Map<UUID, NPCQuestInfo> questGiverInfo = new HashMap<>();
private final QuestsSettings settings = new QuestsSettings();
private final List<IQuest> unavailableQuests = new ArrayList<>();
private final List<Quest> unavailableQuests = new ArrayList<>();
private QuestAreaHandler questAreaHandler;
@Override
public void initialize() {
questsAPI = (QuestsAPI) Bukkit.getServer().getPluginManager().getPlugin("Quests");
questsAPI = (Quests) Bukkit.getServer().getPluginManager().getPlugin("Quests");
DynmapAPI dynmapAPI = DynmapCitizens.getInstance().getDynmapAPI();
markerIcons = DynmapCitizens.getInstance().getGlobalSettings().getMarkerIcons();
if (questsAPI != null) {
@ -87,7 +87,7 @@ public class QuestsHandler extends AbstractTraitHandler {
questGiverInfo.clear();
unavailableQuests.clear();
//Generation information about NPC's parts in each quest
for (IQuest quest : questsAPI.getLoadedQuests()) {
for (Quest quest : questsAPI.getLoadedQuests()) {
if (QuestsHelper.isQuestUnavailable(quest)) {
unavailableQuests.add(quest);
//If unavailable quests aren't displayed, there is no point in continuing
@ -98,7 +98,7 @@ public class QuestsHandler extends AbstractTraitHandler {
if (quest.getNpcStart() != null) {
getInfo(quest.getNpcStart()).addQuestStart(quest);
}
for (IStage stage : quest.getStages()) {
for (Stage stage : quest.getStages()) {
for (UUID npcId : stage.getNpcsToKill()) {
getInfo(npcId).addQuestKill(quest);
}
@ -121,7 +121,7 @@ public class QuestsHandler extends AbstractTraitHandler {
for (UUID npcId : questGiverInfo.keySet()) {
NPCQuestInfo info = questGiverInfo.get(npcId);
MarkerIcon icon = markerIcons.get(info.getNPCIcon());
List<IQuest> offeredQuests = info.getQuestStarts();
List<Quest> offeredQuests = info.getQuestStarts();
StringBuilder markerDescription = new StringBuilder();
markerDescription.append("<h2>").append(registry.getByUniqueId(npcId).getName()).append("</h2>");
@ -151,9 +151,9 @@ public class QuestsHandler extends AbstractTraitHandler {
* @param stringBuilder <p>The string builder to append to</p>
* @param offeredQuests <p>The list of quests the NPC offers</p>
*/
private void appendOfferedQuestsInfo(StringBuilder stringBuilder, List<IQuest> offeredQuests) {
private void appendOfferedQuestsInfo(StringBuilder stringBuilder, List<Quest> offeredQuests) {
stringBuilder.append("<h3>Quests offered:</h3><ul>");
for (IQuest quest : offeredQuests) {
for (Quest quest : offeredQuests) {
stringBuilder.append("<li><h4><b>").append(quest.getName()).append("</b></h4><h5><b>- ");
stringBuilder.append(quest.getDescription()).append("</b></h5>");
if (settings.displayStageInfo()) {
@ -180,9 +180,9 @@ public class QuestsHandler extends AbstractTraitHandler {
* @return <p>Information about an NPC's involvement in different quests</p>
*/
private String getInvolvedInQuestsString(NPCQuestInfo info) {
List<IQuest> questKills = info.getQuestKills();
List<IQuest> questInteractions = info.getQuestInteractions();
List<IQuest> questDeliveries = info.getQuestDeliveries();
List<Quest> questKills = info.getQuestKills();
List<Quest> questInteractions = info.getQuestInteractions();
List<Quest> questDeliveries = info.getQuestDeliveries();
if (questKills.isEmpty() && questInteractions.isEmpty() && questDeliveries.isEmpty()) {
return "";
@ -203,8 +203,8 @@ public class QuestsHandler extends AbstractTraitHandler {
* @param quests <p>The quests the NPC is involved in</p>
* @param builder <p>The string builder to append to</p>
*/
private void addInvolvedInString(String prefix, List<IQuest> quests, StringBuilder builder) {
for (IQuest quest : new HashSet<>(quests)) {
private void addInvolvedInString(String prefix, List<Quest> quests, StringBuilder builder) {
for (Quest quest : new HashSet<>(quests)) {
builder.append("<li>").append(prefix).append(": ").append(quest.getName()).append("</li>");
}
}

View File

@ -1,7 +1,7 @@
package net.knarcraft.dynmapcitizens.util;
import me.blackvein.quests.quests.IQuest;
import me.blackvein.quests.quests.Planner;
import me.pikamug.quests.quests.Quest;
import me.pikamug.quests.quests.components.Planner;
import net.knarcraft.dynmapcitizens.DynmapCitizens;
import net.knarcraft.dynmapcitizens.handler.VaultHandler;
import net.knarcraft.dynmapcitizens.handler.trait.quests.QuestNPCType;
@ -89,7 +89,7 @@ public class QuestsHelper {
* @param quest <p>The quest to check for availability</p>
* @return <p>True if the quest is unavailable</p>
*/
public static boolean isQuestUnavailable(IQuest quest) {
public static boolean isQuestUnavailable(Quest quest) {
Planner planner = quest.getPlanner();
long currentTime = System.currentTimeMillis();