diff --git a/src/main/java/com/alttd/altitudequests/commands/subcommands/CommandSetQuest.java b/src/main/java/com/alttd/altitudequests/commands/subcommands/CommandSetQuest.java index 2f4221a..e5bde1e 100644 --- a/src/main/java/com/alttd/altitudequests/commands/subcommands/CommandSetQuest.java +++ b/src/main/java/com/alttd/altitudequests/commands/subcommands/CommandSetQuest.java @@ -4,6 +4,10 @@ import com.alttd.altitudequests.AQuest; import com.alttd.altitudequests.commands.SubCommand; import com.alttd.altitudequests.config.MessagesConfig; import com.alttd.altitudequests.objects.Quest; +import com.alttd.altitudequests.objects.quests.BreedMobsQuest; +import com.alttd.altitudequests.objects.quests.CollectDropsQuest; +import com.alttd.altitudequests.objects.quests.KillMobsQuest; +import com.alttd.altitudequests.objects.quests.MineQuest; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import org.bukkit.Bukkit; @@ -13,6 +17,7 @@ import org.bukkit.scheduler.BukkitRunnable; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; public class CommandSetQuest extends SubCommand { @@ -56,7 +61,15 @@ public class CommandSetQuest extends SubCommand { .map(Player::getName) .collect(Collectors.toList())); case 3 -> res.addAll(Quest.getTypes()); - case 4 -> res.add("enter quest type"); + case 4 -> { + switch (args[3].toLowerCase()) { + case "breedmobsquest" -> res.addAll(BreedMobsQuest.getSubTypes()); + case "collectdropsquest" -> res.addAll(CollectDropsQuest.getSubTypes()); + case "killmobsquest" -> res.addAll(KillMobsQuest.getSubTypes()); + case "minequest" -> res.addAll(MineQuest.getSubTypes()); + default -> res.add("invalid quest type"); + } + } } return res; } diff --git a/src/main/java/com/alttd/altitudequests/objects/quests/BreedMobsQuest.java b/src/main/java/com/alttd/altitudequests/objects/quests/BreedMobsQuest.java index b91e069..d76e312 100644 --- a/src/main/java/com/alttd/altitudequests/objects/quests/BreedMobsQuest.java +++ b/src/main/java/com/alttd/altitudequests/objects/quests/BreedMobsQuest.java @@ -134,4 +134,8 @@ public class BreedMobsQuest extends Quest { addStep1(1); checkDone(); } + + public static List getSubTypes() { + return QuestsConfig.BREED_MOB_QUEST.stream().map(Variant::getInternalName).collect(Collectors.toList()); + } } diff --git a/src/main/java/com/alttd/altitudequests/objects/quests/CollectDropsQuest.java b/src/main/java/com/alttd/altitudequests/objects/quests/CollectDropsQuest.java index 080fe05..02a043d 100644 --- a/src/main/java/com/alttd/altitudequests/objects/quests/CollectDropsQuest.java +++ b/src/main/java/com/alttd/altitudequests/objects/quests/CollectDropsQuest.java @@ -164,4 +164,8 @@ public class CollectDropsQuest extends Quest { addStep1(Math.min(total, getAmount() - getStep1())); checkDone(); } + + public static List getSubTypes() { + return QuestsConfig.COLLECT_DROPS_QUEST.stream().map(Variant::getInternalName).collect(Collectors.toList()); + } } diff --git a/src/main/java/com/alttd/altitudequests/objects/quests/KillMobsQuest.java b/src/main/java/com/alttd/altitudequests/objects/quests/KillMobsQuest.java index f3345ad..2cc07c3 100644 --- a/src/main/java/com/alttd/altitudequests/objects/quests/KillMobsQuest.java +++ b/src/main/java/com/alttd/altitudequests/objects/quests/KillMobsQuest.java @@ -134,4 +134,8 @@ public class KillMobsQuest extends Quest { addStep1(1); checkDone(); } + + public static List getSubTypes() { + return QuestsConfig.KILL_MOB_QUEST.stream().map(Variant::getInternalName).collect(Collectors.toList()); + } } diff --git a/src/main/java/com/alttd/altitudequests/objects/quests/MineQuest.java b/src/main/java/com/alttd/altitudequests/objects/quests/MineQuest.java index 8999db8..5674b2d 100644 --- a/src/main/java/com/alttd/altitudequests/objects/quests/MineQuest.java +++ b/src/main/java/com/alttd/altitudequests/objects/quests/MineQuest.java @@ -155,4 +155,8 @@ public class MineQuest extends Quest { addStep1(1); checkDone(); } + + public static List getSubTypes() { + return QuestsConfig.MINE_QUESTS.stream().map(Variant::getInternalName).collect(Collectors.toList()); + } }