From efb7ed2d587334b48735c811dc6b882b8db1cf86 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Sun, 7 Jan 2024 05:23:03 +0100 Subject: [PATCH] Updates quest classes to 5.0.0 --- pom.xml | 8 ++-- .../questmobspawns/QuestMobSpawns.java | 46 +++++++++---------- .../listener/MobBlockDamageListener.java | 26 +++++------ 3 files changed, 40 insertions(+), 40 deletions(-) diff --git a/pom.xml b/pom.xml index 987d79d..6910a73 100644 --- a/pom.xml +++ b/pom.xml @@ -71,15 +71,15 @@ provided - me.blackvein.quests + me.pikamug.quests quests-api - 4.8.1 + 5.0.0-rc.3 provided - me.blackvein.quests + me.pikamug.quests quests-core - 4.8.1 + 5.0.0-rc.3 provided diff --git a/src/main/java/net/knarcraft/questmobspawns/QuestMobSpawns.java b/src/main/java/net/knarcraft/questmobspawns/QuestMobSpawns.java index f8538f0..170c9ee 100644 --- a/src/main/java/net/knarcraft/questmobspawns/QuestMobSpawns.java +++ b/src/main/java/net/knarcraft/questmobspawns/QuestMobSpawns.java @@ -1,9 +1,9 @@ package net.knarcraft.questmobspawns; -import me.blackvein.quests.QuestsAPI; -import me.blackvein.quests.player.IQuester; -import me.blackvein.quests.quests.IQuest; -import me.blackvein.quests.quests.IStage; +import me.pikamug.quests.Quests; +import me.pikamug.quests.player.Quester; +import me.pikamug.quests.quests.Quest; +import me.pikamug.quests.quests.components.Stage; import net.knarcraft.questmobspawns.listener.MobBlockDamageListener; import net.knarcraft.questmobspawns.listener.MobDeathListener; import net.knarcraft.questmobspawns.util.QuestMobHelper; @@ -36,7 +36,7 @@ public final class QuestMobSpawns extends JavaPlugin { private final Random random = new Random(); private static QuestMobSpawns plugin; - private QuestsAPI questsAPI; + private Quests questsAPI; public static QuestMobSpawns getPlugin() { return plugin; @@ -46,7 +46,7 @@ public final class QuestMobSpawns extends JavaPlugin { public void onEnable() { plugin = this; // Set up the quests API - questsAPI = (QuestsAPI) Bukkit.getServer().getPluginManager().getPlugin("Quests"); + questsAPI = (Quests) Bukkit.getServer().getPluginManager().getPlugin("Quests"); if (questsAPI == null) { this.setEnabled(false); return; @@ -64,22 +64,22 @@ public final class QuestMobSpawns extends JavaPlugin { */ private void spawnMobs() { // Find the players taking each quest - Set questsWithPlayers = new HashSet<>(); - Map> stagePlayerMap = new HashMap<>(); - Collection onlineQuestTakers = questsAPI.getOnlineQuesters(); + Set questsWithPlayers = new HashSet<>(); + Map> stagePlayerMap = new HashMap<>(); + Collection onlineQuestTakers = questsAPI.getOnlineQuesters(); // If no quest takers are online, abort if (onlineQuestTakers == null || onlineQuestTakers.isEmpty()) { return; } - for (IQuester questPlayer : onlineQuestTakers) { - for (IQuest quest : questPlayer.getQuestData().keySet()) { + for (Quester questPlayer : onlineQuestTakers) { + for (Quest quest : questPlayer.getCurrentQuests().keySet()) { questsWithPlayers.add(quest); - IStage playerStage = questPlayer.getCurrentStage(quest); + Stage playerStage = questPlayer.getCurrentStage(quest); for (int i = 0; i < playerStage.getMobsToKill().size(); i++) { // If the player has not killed enough mobs, spawn the mobs - if (questPlayer.getQuestData(quest).getMobNumKilled().get(i) >= playerStage.getMobNumToKill().get(i)) { + if (questPlayer.getQuestDataOrDefault(quest).getMobNumKilled().get(i) >= playerStage.getMobNumToKill().get(i)) { continue; } @@ -97,13 +97,13 @@ public final class QuestMobSpawns extends JavaPlugin { return; } - for (IQuest quest : questsAPI.getLoadedQuests()) { + for (Quest quest : questsAPI.getLoadedQuests()) { // Ignore quests with no players if (!questsWithPlayers.contains(quest)) { continue; } - for (IStage stage : quest.getStages()) { + for (Stage stage : quest.getStages()) { for (int i = 0; i < stage.getLocationsToKillWithin().size(); i++) { spawnMobsForStage(stagePlayerMap, quest, stage, i); } @@ -119,9 +119,9 @@ public final class QuestMobSpawns extends JavaPlugin { * @param stage

The stage to spawn mobs for

* @param index

The index of the kill location to spawn mobs for

*/ - private void spawnMobsForStage(@NotNull Map> questPlayerMap, @NotNull IQuest quest, - @NotNull IStage stage, int index) { - Location killLocation = stage.getLocationsToKillWithin().get(index).clone(); + private void spawnMobsForStage(@NotNull Map> questPlayerMap, @NotNull Quest quest, + @NotNull Stage stage, int index) { + Location killLocation = ((Location) stage.getLocationsToKillWithin().get(index)).clone(); int radius = stage.getRadiiToKillWithin().get(index); // TODO: De-spawn custom mobs if players are no longer in the area (should probably save the state) @@ -139,7 +139,7 @@ public final class QuestMobSpawns extends JavaPlugin { } // If there are a bunch of mobs in the area, don't spawn more - EntityType entityType = stage.getMobsToKill().get(index); + EntityType entityType = (EntityType) stage.getMobsToKill().get(index); int nearby = entitiesInKillZone(killLocation, radius, entityType); if (nearby >= maxMobs) { return; @@ -206,14 +206,14 @@ public final class QuestMobSpawns extends JavaPlugin { * @param maxMobs

The maximum amount of mobs allowed in the kill zone

* @return

The number of mobs to spawn

*/ - private int calculateMobNumber(@NotNull Map> questPlayerMap, @NotNull IQuest quest, - @NotNull IStage stage, int index, @NotNull Location killLocation, int radius, + private int calculateMobNumber(@NotNull Map> questPlayerMap, @NotNull Quest quest, + @NotNull Stage stage, int index, @NotNull Location killLocation, int radius, int maxMobs) { int mobsToSpawn = 0; - for (IQuester player : questPlayerMap.get(stage)) { + for (Quester player : questPlayerMap.get(stage)) { Location playerLocation = player.getPlayer().getLocation().clone(); playerLocation.setY(0); - if (player.getQuestData(quest).getMobNumKilled().get(index) < stage.getMobNumToKill().get(index) && + if (player.getQuestDataOrDefault(quest).getMobNumKilled().get(index) < stage.getMobNumToKill().get(index) && QuestMobHelper.get2dDistance(killLocation, playerLocation) < radius) { mobsToSpawn++; } diff --git a/src/main/java/net/knarcraft/questmobspawns/listener/MobBlockDamageListener.java b/src/main/java/net/knarcraft/questmobspawns/listener/MobBlockDamageListener.java index 2a9ac82..006a61d 100644 --- a/src/main/java/net/knarcraft/questmobspawns/listener/MobBlockDamageListener.java +++ b/src/main/java/net/knarcraft/questmobspawns/listener/MobBlockDamageListener.java @@ -1,9 +1,9 @@ package net.knarcraft.questmobspawns.listener; -import me.blackvein.quests.QuestsAPI; -import me.blackvein.quests.player.IQuester; -import me.blackvein.quests.quests.IQuest; -import me.blackvein.quests.quests.IStage; +import me.pikamug.quests.Quests; +import me.pikamug.quests.player.Quester; +import me.pikamug.quests.quests.Quest; +import me.pikamug.quests.quests.components.Stage; import net.knarcraft.questmobspawns.util.QuestMobHelper; import org.bukkit.Location; import org.bukkit.entity.Entity; @@ -26,9 +26,9 @@ import org.jetbrains.annotations.Nullable; */ public class MobBlockDamageListener implements Listener { - private final QuestsAPI questsAPI; + private final Quests questsAPI; - public MobBlockDamageListener(@NotNull QuestsAPI questsAPI) { + public MobBlockDamageListener(@NotNull Quests questsAPI) { this.questsAPI = questsAPI; } @@ -95,12 +95,12 @@ public class MobBlockDamageListener implements Listener { * @return

True if the player has the quest stored in the entity

*/ private Boolean hasQuest(@NotNull Entity entity, @NotNull Player player) { - IQuester questPlayer = questsAPI.getQuester(player.getUniqueId()); + Quester questPlayer = questsAPI.getQuester(player.getUniqueId()); String questId = QuestMobHelper.getQuestId(entity); if (questId == null) { return false; } - IQuest quest = getQuest(questId); + Quest quest = getQuest(questId); if (quest == null) { // Remove the entity if the quest it belongs to no longer exists entity.remove(); @@ -110,13 +110,13 @@ public class MobBlockDamageListener implements Listener { if (stageId == null) { return false; } - IStage stage = quest.getStage(stageId); + Stage stage = quest.getStage(stageId); Integer index = QuestMobHelper.getIndex(entity); if (index == null) { return false; } - return questPlayer.getQuestData().containsKey(quest) && questPlayer.getCurrentStage(quest) == stage && - questPlayer.getQuestData(quest).getMobNumKilled().get(index) < stage.getMobNumToKill().get(index); + return questPlayer.getCurrentQuests().containsKey(quest) && questPlayer.getCurrentStage(quest) == stage && + questPlayer.getQuestDataOrDefault(quest).getMobNumKilled().get(index) < stage.getMobNumToKill().get(index); } /** @@ -125,8 +125,8 @@ public class MobBlockDamageListener implements Listener { * @param questId

The id of the quest to get

* @return

The quest, or null if no such quest exists

*/ - private @Nullable IQuest getQuest(@NotNull String questId) { - for (IQuest quest : questsAPI.getLoadedQuests()) { + private @Nullable Quest getQuest(@NotNull String questId) { + for (Quest quest : questsAPI.getLoadedQuests()) { if (quest.getId().equalsIgnoreCase(questId)) { return quest; }