aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authornicuch <nicuch100@gmail.com>2020-01-12 13:15:46 +0200
committernicuch <nicuch100@gmail.com>2020-01-12 13:15:46 +0200
commitc93607c05a2182b5001b50877d0a1f9e993d2607 (patch)
treec5588f19d2348a26194d3897af1f22ace0e951da /src/main/java
parenta54bf34c41a2ceb1e8bf5e7be2957892df0c8ce9 (diff)
Added Quest Events API
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/leonardobishop/quests/api/QuestsAPI.java (renamed from src/main/java/com/leonardobishop/quests/QuestsAPI.java)3
-rw-r--r--src/main/java/com/leonardobishop/quests/api/events/PlayerCancelQuestEvent.java51
-rw-r--r--src/main/java/com/leonardobishop/quests/api/events/PlayerFinishQuestEvent.java51
-rw-r--r--src/main/java/com/leonardobishop/quests/api/events/PlayerQuestEvent.java19
-rw-r--r--src/main/java/com/leonardobishop/quests/api/events/PlayerStartQuestEvent.java51
-rw-r--r--src/main/java/com/leonardobishop/quests/events/EventInventory.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java66
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java4
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java3
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MythicMobsKillingType.java13
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java3
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java2
33 files changed, 247 insertions, 63 deletions
diff --git a/src/main/java/com/leonardobishop/quests/QuestsAPI.java b/src/main/java/com/leonardobishop/quests/api/QuestsAPI.java
index aaacea55..9aaf6c7b 100644
--- a/src/main/java/com/leonardobishop/quests/QuestsAPI.java
+++ b/src/main/java/com/leonardobishop/quests/api/QuestsAPI.java
@@ -1,5 +1,6 @@
-package com.leonardobishop.quests;
+package com.leonardobishop.quests.api;
+import com.leonardobishop.quests.Quests;
import com.leonardobishop.quests.player.QPlayerManager;
import com.leonardobishop.quests.quests.QuestManager;
import com.leonardobishop.quests.quests.tasktypes.TaskTypeManager;
diff --git a/src/main/java/com/leonardobishop/quests/api/events/PlayerCancelQuestEvent.java b/src/main/java/com/leonardobishop/quests/api/events/PlayerCancelQuestEvent.java
new file mode 100644
index 00000000..58e46206
--- /dev/null
+++ b/src/main/java/com/leonardobishop/quests/api/events/PlayerCancelQuestEvent.java
@@ -0,0 +1,51 @@
+package com.leonardobishop.quests.api.events;
+
+import com.leonardobishop.quests.player.QPlayer;
+import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
+import org.bukkit.entity.Player;
+import org.bukkit.event.HandlerList;
+import org.jetbrains.annotations.NotNull;
+
+public class PlayerCancelQuestEvent extends PlayerQuestEvent {
+ private final static HandlerList handlers = new HandlerList();
+ private final QuestProgress questProgress;
+ private String questCancelMessage;
+
+ public PlayerCancelQuestEvent(@NotNull Player who, @NotNull QPlayer questPlayer, @NotNull QuestProgress questProgress, String questCancelMessage) {
+ super(who, questPlayer);
+ this.questProgress = questProgress;
+ this.questCancelMessage = questCancelMessage;
+ }
+
+ /**
+ * @return The quest progress
+ */
+ public QuestProgress getQuestProgress() {
+ return this.questProgress;
+ }
+
+ /**
+ * @return The message sent to the player that cancel the quest
+ */
+ public String getQuestCancelMessage() {
+ return this.questCancelMessage;
+ }
+
+ /**
+ * @param questCancelMessage The quest cancel message
+ * @return The quest cancel message set
+ */
+ public String setQuestCancelMessage(String questCancelMessage) {
+ return (this.questCancelMessage = questCancelMessage);
+ }
+
+ @NotNull
+ @Override
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+}
diff --git a/src/main/java/com/leonardobishop/quests/api/events/PlayerFinishQuestEvent.java b/src/main/java/com/leonardobishop/quests/api/events/PlayerFinishQuestEvent.java
new file mode 100644
index 00000000..8bd4c5e6
--- /dev/null
+++ b/src/main/java/com/leonardobishop/quests/api/events/PlayerFinishQuestEvent.java
@@ -0,0 +1,51 @@
+package com.leonardobishop.quests.api.events;
+
+import com.leonardobishop.quests.player.QPlayer;
+import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
+import org.bukkit.entity.Player;
+import org.bukkit.event.HandlerList;
+import org.jetbrains.annotations.NotNull;
+
+public class PlayerFinishQuestEvent extends PlayerQuestEvent {
+ private final static HandlerList handlers = new HandlerList();
+ private final QuestProgress questProgress;
+ private String questFinishMessage;
+
+ public PlayerFinishQuestEvent(@NotNull Player who, @NotNull QPlayer questPlayer, @NotNull QuestProgress questProgress, String questFinishMessage) {
+ super(who, questPlayer);
+ this.questProgress = questProgress;
+ this.questFinishMessage = questFinishMessage;
+ }
+
+ /**
+ * @return The quest progress
+ */
+ public QuestProgress getQuestProgress() {
+ return this.questProgress;
+ }
+
+ /**
+ * @return The message sent to the player that finish the quest
+ */
+ public String getQuestFinishMessage() {
+ return this.questFinishMessage;
+ }
+
+ /**
+ * @param questFinishMessage The quest finish message
+ * @return The quest finish message set
+ */
+ public String setQuestFinishMessage(String questFinishMessage) {
+ return (this.questFinishMessage = questFinishMessage);
+ }
+
+ @NotNull
+ @Override
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+}
diff --git a/src/main/java/com/leonardobishop/quests/api/events/PlayerQuestEvent.java b/src/main/java/com/leonardobishop/quests/api/events/PlayerQuestEvent.java
new file mode 100644
index 00000000..b78726ef
--- /dev/null
+++ b/src/main/java/com/leonardobishop/quests/api/events/PlayerQuestEvent.java
@@ -0,0 +1,19 @@
+package com.leonardobishop.quests.api.events;
+
+import com.leonardobishop.quests.player.QPlayer;
+import org.bukkit.entity.Player;
+import org.bukkit.event.player.PlayerEvent;
+import org.jetbrains.annotations.NotNull;
+
+public abstract class PlayerQuestEvent extends PlayerEvent {
+ private final QPlayer questPlayer;
+
+ public PlayerQuestEvent(@NotNull Player who, @NotNull QPlayer questPlayer) {
+ super(who);
+ this.questPlayer = questPlayer;
+ }
+
+ public QPlayer getQuestPlayer() {
+ return this.questPlayer;
+ }
+}
diff --git a/src/main/java/com/leonardobishop/quests/api/events/PlayerStartQuestEvent.java b/src/main/java/com/leonardobishop/quests/api/events/PlayerStartQuestEvent.java
new file mode 100644
index 00000000..3602979f
--- /dev/null
+++ b/src/main/java/com/leonardobishop/quests/api/events/PlayerStartQuestEvent.java
@@ -0,0 +1,51 @@
+package com.leonardobishop.quests.api.events;
+
+import com.leonardobishop.quests.player.QPlayer;
+import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
+import org.bukkit.entity.Player;
+import org.bukkit.event.HandlerList;
+import org.jetbrains.annotations.NotNull;
+
+public class PlayerStartQuestEvent extends PlayerQuestEvent {
+ private final static HandlerList handlers = new HandlerList();
+ private final QuestProgress questProgress;
+ private String questStartMessage;
+
+ public PlayerStartQuestEvent(@NotNull Player who, @NotNull QPlayer questPlayer, @NotNull QuestProgress questProgress, String questStartMessage) {
+ super(who, questPlayer);
+ this.questProgress = questProgress;
+ this.questStartMessage = questStartMessage;
+ }
+
+ /**
+ * @return The quest progress
+ */
+ public QuestProgress getQuestProgress() {
+ return this.questProgress;
+ }
+
+ /**
+ * @return The message sent to the player that start the quest
+ */
+ public String getQuestStartMessage() {
+ return this.questStartMessage;
+ }
+
+ /**
+ * @param questStartMessage The quest start message
+ * @return The quest start message set
+ */
+ public String setQuestStartMessage(String questStartMessage) {
+ return (this.questStartMessage = questStartMessage);
+ }
+
+ @NotNull
+ @Override
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+}
diff --git a/src/main/java/com/leonardobishop/quests/events/EventInventory.java b/src/main/java/com/leonardobishop/quests/events/EventInventory.java
index 1ac57ed7..bde57436 100644
--- a/src/main/java/com/leonardobishop/quests/events/EventInventory.java
+++ b/src/main/java/com/leonardobishop/quests/events/EventInventory.java
@@ -85,7 +85,7 @@ public class EventInventory implements Listener {
Quest quest = plugin.getQuestManager().getQuestById(questid);
if (event.getClick() == ClickType.LEFT) {
if (qMenuQuest.getOwner().getQuestProgressFile().startQuest(quest) == 0) {
- event.getWhoClicked().closeInventory();
+ event.getWhoClicked().closeInventory(); //TODO Option to keep the menu open
}
} else if (event.getClick() == ClickType.RIGHT && Options.ALLOW_QUEST_CANCEL.getBooleanValue()) {
QMenuCancel qMenuCancel = new QMenuCancel(qMenuQuest.getOwner(), qMenuQuest, quest);
diff --git a/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java b/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java
index 043deadf..40377e4b 100644
--- a/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java
+++ b/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java
@@ -1,8 +1,13 @@
package com.leonardobishop.quests.player.questprogressfile;
import com.leonardobishop.quests.Quests;
+import com.leonardobishop.quests.api.QuestsAPI;
+import com.leonardobishop.quests.api.events.PlayerCancelQuestEvent;
+import com.leonardobishop.quests.api.events.PlayerFinishQuestEvent;
+import com.leonardobishop.quests.api.events.PlayerStartQuestEvent;
import com.leonardobishop.quests.obj.Messages;
import com.leonardobishop.quests.obj.Options;
+import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.quests.Quest;
import com.leonardobishop.quests.quests.Task;
import org.bukkit.Bukkit;
@@ -34,14 +39,21 @@ public class QuestProgressFile {
questProgress.setCompleted(true);
questProgress.setCompletedBefore(true);
questProgress.setCompletionDate(System.currentTimeMillis());
- if (Bukkit.getPlayer(playerUUID) != null) {
- Player player = Bukkit.getPlayer(this.playerUUID);
+ Player player = Bukkit.getPlayer(this.playerUUID);
+ if (player != null) {
+ QPlayer questPlayer = QuestsAPI.getPlayerManager().getPlayer(this.playerUUID);
+ String questFinishMessage = Messages.QUEST_COMPLETE.getMessage().replace("{quest}", quest.getDisplayNameStripped());
+ // PlayerFinishQuestEvent -- start
+ PlayerFinishQuestEvent questFinishEvent = new PlayerFinishQuestEvent(player, questPlayer, questProgress, questFinishMessage);
+ Bukkit.getPluginManager().callEvent(questFinishEvent);
+ // PlayerFinishQuestEvent -- end
Bukkit.getServer().getScheduler().runTask(plugin, () -> {
for (String s : quest.getRewards()) {
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), s.replace("{player}", player.getName()));
+ Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), s.replace("{player}", player.getName())); //TODO PlaceholderAPI support
}
});
- player.sendMessage(Messages.QUEST_COMPLETE.getMessage().replace("{quest}", quest.getDisplayNameStripped()));
+ if (questFinishEvent.getQuestFinishMessage() != null)
+ player.sendMessage(questFinishEvent.getQuestFinishMessage());
if (Options.TITLES_ENABLED.getBooleanValue()) {
plugin.getTitle().sendTitle(player, Messages.TITLE_QUEST_COMPLETE_TITLE.getMessage().replace("{quest}", quest
.getDisplayNameStripped()), Messages.TITLE_QUEST_COMPLETE_SUBTITLE.getMessage().replace("{quest}", quest
@@ -117,34 +129,34 @@ public class QuestProgressFile {
* no permission, 7 if no permission for category, 8 if other
*/
public int startQuest(Quest quest) {
- Player p = Bukkit.getPlayer(playerUUID);
+ Player player = Bukkit.getPlayer(playerUUID);
int code = canStartQuest(quest);
- if (p != null) {
+ if (player != null) {
switch (code) {
case 0:
break;
case 1:
- p.sendMessage(Messages.QUEST_START_LIMIT.getMessage().replace("{limit}", String.valueOf(Options.QUESTS_START_LIMIT.getIntValue())));
+ player.sendMessage(Messages.QUEST_START_LIMIT.getMessage().replace("{limit}", String.valueOf(Options.QUESTS_START_LIMIT.getIntValue())));
break;
case 2:
- p.sendMessage(Messages.QUEST_START_DISABLED.getMessage());
+ player.sendMessage(Messages.QUEST_START_DISABLED.getMessage());
break;
case 3:
long cooldown = getCooldownFor(quest);
- p.sendMessage(Messages.QUEST_START_COOLDOWN.getMessage().replace("{time}", String.valueOf(plugin.convertToFormat(TimeUnit.MINUTES.convert
+ player.sendMessage(Messages.QUEST_START_COOLDOWN.getMessage().replace("{time}", String.valueOf(plugin.convertToFormat(TimeUnit.MINUTES.convert
(cooldown, TimeUnit.MILLISECONDS)))));
break;
case 4:
- p.sendMessage(Messages.QUEST_START_LOCKED.getMessage());
+ player.sendMessage(Messages.QUEST_START_LOCKED.getMessage());
break;
case 5:
- p.sendMessage(Messages.QUEST_START_STARTED.getMessage());
+ player.sendMessage(Messages.QUEST_START_STARTED.getMessage());
break;
case 6:
- p.sendMessage(Messages.QUEST_START_PERMISSION.getMessage());
+ player.sendMessage(Messages.QUEST_START_PERMISSION.getMessage());
break;
case 7:
- p.sendMessage(Messages.QUEST_CATEGORY_QUEST_PERMISSION.getMessage());
+ player.sendMessage(Messages.QUEST_CATEGORY_QUEST_PERMISSION.getMessage());
break;
}
}
@@ -156,9 +168,15 @@ public class QuestProgressFile {
taskProgress.setProgress(null);
}
questProgress.setCompleted(false);
- if (Bukkit.getPlayer(playerUUID) != null) {
- Player player = Bukkit.getPlayer(getPlayerUUID());
- player.sendMessage(Messages.QUEST_START.getMessage().replace("{quest}", quest.getDisplayNameStripped()));
+ if (player != null) {
+ QPlayer questPlayer = QuestsAPI.getPlayerManager().getPlayer(this.playerUUID);
+ String questStartMessage = Messages.QUEST_START.getMessage().replace("{quest}", quest.getDisplayNameStripped()); //TODO PlaceholderAPI support
+ // PlayerStartQuestEvent -- start
+ PlayerStartQuestEvent questStartEvent = new PlayerStartQuestEvent(player, questPlayer, questProgress, questStartMessage);
+ Bukkit.getPluginManager().callEvent(questStartEvent);
+ // PlayerStartQuestEvent -- end
+ if (questStartEvent.getQuestStartMessage() != null)
+ player.sendMessage(questStartEvent.getQuestStartMessage()); //Don't send a message if the event message is null
if (Options.TITLES_ENABLED.getBooleanValue()) {
plugin.getTitle().sendTitle(player, Messages.TITLE_QUEST_START_TITLE.getMessage().replace("{quest}", quest
.getDisplayNameStripped()), Messages.TITLE_QUEST_START_SUBTITLE.getMessage().replace("{quest}", quest
@@ -174,9 +192,10 @@ public class QuestProgressFile {
public boolean cancelQuest(Quest quest) {
QuestProgress questProgress = getQuestProgress(quest);
+ Player player = Bukkit.getPlayer(this.playerUUID);
if (!questProgress.isStarted()) {
- if (Bukkit.getPlayer(playerUUID) != null) {
- Bukkit.getPlayer(getPlayerUUID()).sendMessage(Messages.QUEST_CANCEL_NOTSTARTED.getMessage());
+ if (player != null) {
+ player.sendMessage(Messages.QUEST_CANCEL_NOTSTARTED.getMessage());
}
return false;
}
@@ -184,8 +203,15 @@ public class QuestProgressFile {
for (TaskProgress taskProgress : questProgress.getTaskProgress()) {
taskProgress.setProgress(null);
}
- if (Bukkit.getPlayer(playerUUID) != null) {
- Bukkit.getPlayer(getPlayerUUID()).sendMessage(Messages.QUEST_CANCEL.getMessage().replace("{quest}", quest.getDisplayNameStripped()));
+ if (player != null) {
+ QPlayer questPlayer = QuestsAPI.getPlayerManager().getPlayer(this.playerUUID);
+ String questCancelMessage = Messages.QUEST_CANCEL.getMessage().replace("{quest}", quest.getDisplayNameStripped());
+ // PlayerCancelQuestEvent -- start
+ PlayerCancelQuestEvent questCancelEvent = new PlayerCancelQuestEvent(player, questPlayer, questProgress, questCancelMessage);
+ Bukkit.getPluginManager().callEvent(questCancelEvent);
+ // PlayerCancelQuestEvent -- end
+ if (questCancelEvent.getQuestCancelMessage() != null)
+ player.sendMessage(questCancelEvent.getQuestCancelMessage());
}
return true;
}
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java
index 43268bc0..6d74bcaa 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ASkyBlockLevelType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java
index eb90743b..8054dcf7 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BreedingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java
index 34428d78..a9e3bcfe 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BrewingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java
index cc46906f..7804e9ab 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingCertainTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java
index ffcf5912..ea12415d 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/BuildingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java
index 6cba3ffa..a97fe6df 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/CitizensInteractTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java
index b587a1e1..d66942fe 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DealDamageTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java
index 041bac96..94b9e832 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/DistancefromTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java
index 120575c9..a82ff444 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/EnchantingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java
index 56d6b879..58f2f87d 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ExpEarnTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java
index ce612417..174af9b9 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FarmingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java
index c724dec1..986ae62f 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/FishingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java
index a6cc2fd2..1938c842 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/InventoryTaskType.java
@@ -1,7 +1,7 @@
package com.leonardobishop.quests.quests.tasktypes.types;
import com.leonardobishop.quests.Quests;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java
index 0f9cf1d2..2998fb83 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MilkingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java
index 486c21d5..4674f48e 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningCertainTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java
index 72bf5464..944ba067 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MiningTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java
index 5059c9c4..b30b0547 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingCertainTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
@@ -13,11 +13,9 @@ import org.bukkit.ChatColor;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
-import org.bukkit.entity.Projectile;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.entity.EntityDeathEvent;
-import org.bukkit.projectiles.ProjectileSource;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java
index 03da5903..6a946e32 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MobkillingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
@@ -13,7 +13,6 @@ import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.entity.EntityDeathEvent;
-import org.bukkit.projectiles.ProjectileSource;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MythicMobsKillingType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MythicMobsKillingType.java
index 695df8fd..ce481d34 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MythicMobsKillingType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/MythicMobsKillingType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
@@ -12,10 +12,8 @@ import com.leonardobishop.quests.quests.tasktypes.TaskType;
import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicMobDeathEvent;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
-import org.bukkit.entity.Projectile;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
-import org.bukkit.projectiles.ProjectileSource;
import java.util.ArrayList;
import java.util.List;
@@ -44,15 +42,6 @@ public final class MythicMobsKillingType extends TaskType {
return;
}
- if (killer instanceof Projectile) { //killer can be a projectile
- ProjectileSource source = ((Projectile) killer).getShooter();
- if (source == null)
- return;
- if (source instanceof Player)
- killer = (Entity) source;
- else return;
- }
-
if (killer == null) {
return;
}
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java
index a04871f8..6cf6292c 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlayerkillingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java
index 6ad6dd4c..d181a548 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java
@@ -1,7 +1,7 @@
package com.leonardobishop.quests.quests.tasktypes.types;
import com.leonardobishop.quests.Quests;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java
index 3101864d..d798e845 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PositionTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java
index fb62859d..6fae7167 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/ShearingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java
index 53c57266..28cb7325 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/TamingTaskType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java
index 05ce36f8..372254b7 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/WalkingTaskType.java
@@ -1,7 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.Quests;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;
diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java
index fd8b4840..21bd17b5 100644
--- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java
+++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/uSkyBlockLevelType.java
@@ -1,6 +1,6 @@
package com.leonardobishop.quests.quests.tasktypes.types;
-import com.leonardobishop.quests.QuestsAPI;
+import com.leonardobishop.quests.api.QuestsAPI;
import com.leonardobishop.quests.player.QPlayer;
import com.leonardobishop.quests.player.questprogressfile.QuestProgress;
import com.leonardobishop.quests.player.questprogressfile.QuestProgressFile;