diff --git a/MMOCore-API/pom.xml b/MMOCore-API/pom.xml
index a95c596d..5964ed71 100644
--- a/MMOCore-API/pom.xml
+++ b/MMOCore-API/pom.xml
@@ -94,17 +94,18 @@
https://maven.enginehub.org/repo/
-
- dmulloy2-repo
- https://repo.dmulloy2.net/repository/public/
-
-
simonsators Repo
https://simonsator.de/repo
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/maven-public/
+
+
- me.blackvein
- Quests
- 4.4.1-b340
+ me.pikamug.quests
+ quests-core
+ 5.2.7
provided
true
diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/QuestModuleType.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/QuestModuleType.java
index c39d3b76..80067ee7 100644
--- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/QuestModuleType.java
+++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/QuestModuleType.java
@@ -1,7 +1,7 @@
package net.Indyuce.mmocore.quest;
import net.Indyuce.mmocore.quest.compat.BeautyQuestModule;
-import net.Indyuce.mmocore.quest.compat.BlackVeinQuestsModule;
+import net.Indyuce.mmocore.quest.compat.QuestsModule;
import net.Indyuce.mmocore.quest.compat.QuestCreatorModule;
import net.Indyuce.mmocore.quest.compat.QuestModule;
import org.bukkit.Bukkit;
@@ -10,7 +10,7 @@ import javax.inject.Provider;
public enum QuestModuleType {
MMOCORE("MMOCore", MMOCoreQuestModule::new),
- QUESTS("Quests", BlackVeinQuestsModule::new),
+ QUESTS("Quests", QuestsModule::new),
BEAUTY_QUEST("BeautyQuests", BeautyQuestModule::new),
QUEST_CREATOR("QuestCreator", QuestCreatorModule::new);
diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/compat/BlackVeinQuestsModule.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/compat/BlackVeinQuestsModule.java
deleted file mode 100644
index 8819b5ef..00000000
--- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/compat/BlackVeinQuestsModule.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package net.Indyuce.mmocore.quest.compat;
-
-import me.blackvein.quests.Quest;
-import me.blackvein.quests.Quester;
-import me.blackvein.quests.Quests;
-import net.Indyuce.mmocore.quest.AbstractQuest;
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-
-
-public class BlackVeinQuestsModule implements QuestModule {
- private final Quests plugin = (Quests) Bukkit.getPluginManager().getPlugin("Quests");
-
-
-
- @Override
- public BlackVeinQuestQuest getQuestOrThrow(String id) {
- Quests plugin = (Quests) Bukkit.getPluginManager().getPlugin("Quests");
- return plugin.getQuestById(id)==null?null:new BlackVeinQuestQuest(plugin.getQuestById(id));
- }
-
-
- @Override
- public boolean hasCompletedQuest(String questId, Player player) {
- Quester quester = plugin.getQuester(player.getUniqueId());
- if(quester==null)
- return false;
- for(Quest quest:quester.getCompletedQuests()) {
- if(quest.getId().equals(questId))
- return true;
- }
- return false;
- }
-
-
- public class BlackVeinQuestQuest implements AbstractQuest {
- private final Quest quest;
-
- public BlackVeinQuestQuest(Quest quest) {
- this.quest = quest;
- }
-
- @Override
- public String getName() {
- return quest.getName();
- }
-
- @Override
- public String getId() {
- return quest.getId();
- }
- }
-
-}
diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/compat/QuestsModule.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/compat/QuestsModule.java
new file mode 100644
index 00000000..1b69b47f
--- /dev/null
+++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/quest/compat/QuestsModule.java
@@ -0,0 +1,52 @@
+package net.Indyuce.mmocore.quest.compat;
+
+import me.pikamug.quests.BukkitQuestsPlugin;
+import me.pikamug.quests.player.Quester;
+import me.pikamug.quests.quests.Quest;
+import net.Indyuce.mmocore.quest.AbstractQuest;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+
+public class QuestsModule implements QuestModule {
+ private final BukkitQuestsPlugin plugin;
+
+ public QuestsModule() {
+ plugin = (BukkitQuestsPlugin) Bukkit.getPluginManager().getPlugin("Quests");
+ }
+
+ @Override
+ public QuestImpl getQuestOrThrow(String id) {
+ final var found = plugin.getQuest(id);
+ return found == null ? null : new QuestImpl(found);
+ }
+
+
+ @Override
+ public boolean hasCompletedQuest(String questId, Player player) {
+ Quester quester = plugin.getQuester(player.getUniqueId());
+ if (quester == null) return false;
+
+ for (var quest : quester.getCompletedQuests())
+ if (quest.getId().equals(questId)) return true;
+
+ return false;
+ }
+
+ public static class QuestImpl implements AbstractQuest {
+ private final Quest quest;
+
+ public QuestImpl(Quest quest) {
+ this.quest = quest;
+ }
+
+ @Override
+ public String getName() {
+ return quest.getName();
+ }
+
+ @Override
+ public String getId() {
+ return quest.getId();
+ }
+ }
+}