aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit')
-rw-r--r--bukkit/libs/IridiumSkyblock-2.6.7.jarbin0 -> 1591042 bytes
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java7
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueTaskType.java80
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueType.java87
4 files changed, 84 insertions, 90 deletions
diff --git a/bukkit/libs/IridiumSkyblock-2.6.7.jar b/bukkit/libs/IridiumSkyblock-2.6.7.jar
new file mode 100644
index 00000000..4cc372ac
--- /dev/null
+++ b/bukkit/libs/IridiumSkyblock-2.6.7.jar
Binary files differ
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
index bcc86d2a..48a9d0ef 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
@@ -56,6 +56,7 @@ import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensDeliverT
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensInteractTaskType;
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EssentialsBalanceTaskType;
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EssentialsMoneyEarnTaskType;
+import com.leonardobishop.quests.bukkit.tasktype.type.dependent.IridiumSkyblockValueTaskType;
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.MythicMobsKillingType;
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PlaceholderAPIEvaluateTaskType;
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ShopGUIPlusBuyCertainTaskType;
@@ -284,9 +285,9 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
BentoBoxLevelTaskType.register(this, taskTypeManager);
}
//TODO FIX
-// if (Bukkit.getPluginManager().isPluginEnabled("IridiumSkyblock")) {
-// taskTypeManager.registerTaskType(new IridiumSkyblockValueType());
-// }
+ if (Bukkit.getPluginManager().isPluginEnabled("IridiumSkyblock")) {
+ taskTypeManager.registerTaskType(new IridiumSkyblockValueTaskType(this));
+ }
if (Bukkit.getPluginManager().isPluginEnabled("uSkyBlock")) {
taskTypeManager.registerTaskType(new uSkyBlockLevelTaskType(this));
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueTaskType.java
new file mode 100644
index 00000000..5885f645
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueTaskType.java
@@ -0,0 +1,80 @@
+package com.leonardobishop.quests.bukkit.tasktype.type.dependent;
+
+import com.iridium.iridiumskyblock.Island;
+import com.iridium.iridiumskyblock.api.IslandWorthCalculatedEvent;
+import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
+import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
+import com.leonardobishop.quests.bukkit.util.TaskUtils;
+import com.leonardobishop.quests.common.config.ConfigProblem;
+import com.leonardobishop.quests.common.player.QPlayer;
+import com.leonardobishop.quests.common.player.questprogressfile.QuestProgress;
+import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
+import com.leonardobishop.quests.common.quest.Quest;
+import com.leonardobishop.quests.common.quest.Task;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.UUID;
+
+//TODO update to latest ver
+public final class IridiumSkyblockValueTaskType extends BukkitTaskType {
+
+ private final BukkitQuestsPlugin plugin;
+
+ public IridiumSkyblockValueTaskType(BukkitQuestsPlugin plugin) {
+ super("iridiumskyblock_value", TaskUtils.TASK_ATTRIBUTION_STRING, "Reach a certain island value for Iridium Skyblock.");
+ this.plugin = plugin;
+ }
+
+ @Override
+ public List<ConfigProblem> validateConfig(String root, HashMap<String, Object> config) {
+ ArrayList<ConfigProblem> problems = new ArrayList<>();
+ if (TaskUtils.configValidateExists(root + ".value", config.get("value"), problems, "value", super.getType()))
+ TaskUtils.configValidateInt(root + ".value", config.get("value"), problems, false, false, "value");
+ return problems;
+ }
+
+ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+ public void onIslandLevel(IslandWorthCalculatedEvent event) {
+ Island island = event.getIsland();
+ for (String player : island.members) {
+ UUID uuid;
+ try {
+ uuid = UUID.fromString(player);
+ } catch (Exception e) {
+ continue;
+ }
+ QPlayer qPlayer = plugin.getPlayerManager().getPlayer(uuid);
+ if (qPlayer == null) {
+ continue;
+ }
+
+ for (Quest quest : IridiumSkyblockValueTaskType.super.getRegisteredQuests()) {
+ if (qPlayer.hasStartedQuest(quest)) {
+ QuestProgress questProgress = qPlayer.getQuestProgressFile().getQuestProgress(quest);
+
+ for (Task task : quest.getTasksOfType(IridiumSkyblockValueTaskType.super.getType())) {
+ TaskProgress taskProgress = questProgress.getTaskProgress(task.getId());
+
+ if (taskProgress.isCompleted()) {
+ continue;
+ }
+
+ int islandValueNeeded = (int) task.getConfigValue("value");
+
+ taskProgress.setProgress(event.getIslandWorth());
+
+ if (((double) taskProgress.getProgress()) >= islandValueNeeded) {
+ taskProgress.setCompleted(true);
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueType.java
deleted file mode 100644
index 35934250..00000000
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueType.java
+++ /dev/null
@@ -1,87 +0,0 @@
-//package com.leonardobishop.quests.bukkit.tasktype.type.dependent;
-//
-//import com.iridium.iridiumskyblock.Island;
-//import com.iridium.iridiumskyblock.api.IslandWorthCalculatedEvent;
-//import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
-//import com.leonardobishop.quests.util.QuestsConfigLoader;
-//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.TaskProgress;
-//import com.leonardobishop.quests.quest.Quest;
-//import com.leonardobishop.quests.quest.Task;
-//import com.leonardobishop.quests.tasktype.ConfigValue;
-//import com.leonardobishop.quests.tasktype.TaskType;
-//import com.leonardobishop.quests.tasktype.TaskUtils;
-//import org.bukkit.event.EventHandler;
-//import org.bukkit.event.EventPriority;
-//
-//import java.util.ArrayList;
-//import java.util.HashMap;
-//import java.util.List;
-//import java.util.UUID;
-//
-//TODO update to latest ver
-//public final class IridiumSkyblockValueType extends BukkitTaskType {
-//
-// private List<ConfigValue> creatorConfigValues = new ArrayList<>();
-//
-// public IridiumSkyblockValueType() {
-// super("iridiumskyblock_value", TaskUtils.TASK_ATTRIBUTION_STRING, "Reach a certain island value for Iridium Skyblock.");
-// this.creatorConfigValues.add(new ConfigValue("value", true, "Minimum island value needed."));
-// }
-//
-// @Override
-// public List<QuestsConfigLoader.ConfigProblem> detectProblemsInConfig(String root, HashMap<String, Object> config) {
-// ArrayList<QuestsConfigLoader.ConfigProblem> problems = new ArrayList<>();
-// if (TaskUtils.configValidateExists(root + ".value", config.get("value"), problems, "value", super.getType()))
-// TaskUtils.configValidateInt(root + ".value", config.get("value"), problems, false, false, "value");
-// return problems;
-// }
-//
-// @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
-// public void onIslandLevel(IslandWorthCalculatedEvent event) {
-// Island island = event.getIsland();
-// for (String player : island.members) {
-// UUID uuid;
-// try {
-// uuid = UUID.fromString(player);
-// } catch (Exception e) {
-// continue;
-// }
-// QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(uuid);
-// if (qPlayer == null) {
-// continue;
-// }
-//
-// for (Quest quest : IridiumSkyblockValueType.super.getRegisteredQuests()) {
-// if (qPlayer.hasStartedQuest(quest)) {
-// QuestProgress questProgress = qPlayer.getQuestProgressFile().getQuestProgress(quest);
-//
-// for (Task task : quest.getTasksOfType(IridiumSkyblockValueType.super.getType())) {
-// TaskProgress taskProgress = questProgress.getTaskProgress(task.getId());
-//
-// if (taskProgress.isCompleted()) {
-// continue;
-// }
-//
-// int islandValueNeeded = (int) task.getConfigValue("value");
-//
-// taskProgress.setProgress(event.getIslandWorth());
-//
-// if (((double) taskProgress.getProgress()) >= islandValueNeeded) {
-// taskProgress.setCompleted(true);
-// }
-// }
-// }
-// }
-// }
-//
-// }
-//
-// @Override
-// public List<ConfigValue> getCreatorConfigValues() {
-// return creatorConfigValues;
-// }
-//
-//}