Better tab complete for set quest

This commit is contained in:
Teriuihi 2022-09-08 01:10:36 +02:00
parent bd4b8a4f81
commit 6a100a2327
5 changed files with 30 additions and 1 deletions

View File

@ -4,6 +4,10 @@ import com.alttd.altitudequests.AQuest;
import com.alttd.altitudequests.commands.SubCommand; import com.alttd.altitudequests.commands.SubCommand;
import com.alttd.altitudequests.config.MessagesConfig; import com.alttd.altitudequests.config.MessagesConfig;
import com.alttd.altitudequests.objects.Quest; 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.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -13,6 +17,7 @@ import org.bukkit.scheduler.BukkitRunnable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class CommandSetQuest extends SubCommand { public class CommandSetQuest extends SubCommand {
@ -56,7 +61,15 @@ public class CommandSetQuest extends SubCommand {
.map(Player::getName) .map(Player::getName)
.collect(Collectors.toList())); .collect(Collectors.toList()));
case 3 -> res.addAll(Quest.getTypes()); 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; return res;
} }

View File

@ -134,4 +134,8 @@ public class BreedMobsQuest extends Quest {
addStep1(1); addStep1(1);
checkDone(); checkDone();
} }
public static List<String> getSubTypes() {
return QuestsConfig.BREED_MOB_QUEST.stream().map(Variant::getInternalName).collect(Collectors.toList());
}
} }

View File

@ -164,4 +164,8 @@ public class CollectDropsQuest extends Quest {
addStep1(Math.min(total, getAmount() - getStep1())); addStep1(Math.min(total, getAmount() - getStep1()));
checkDone(); checkDone();
} }
public static List<String> getSubTypes() {
return QuestsConfig.COLLECT_DROPS_QUEST.stream().map(Variant::getInternalName).collect(Collectors.toList());
}
} }

View File

@ -134,4 +134,8 @@ public class KillMobsQuest extends Quest {
addStep1(1); addStep1(1);
checkDone(); checkDone();
} }
public static List<String> getSubTypes() {
return QuestsConfig.KILL_MOB_QUEST.stream().map(Variant::getInternalName).collect(Collectors.toList());
}
} }

View File

@ -155,4 +155,8 @@ public class MineQuest extends Quest {
addStep1(1); addStep1(1);
checkDone(); checkDone();
} }
public static List<String> getSubTypes() {
return QuestsConfig.MINE_QUESTS.stream().map(Variant::getInternalName).collect(Collectors.toList());
}
} }