From 53e3ef8b1dc566e81046ac6345e311a6742826d7 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Mon, 5 Sep 2022 23:35:46 +0200 Subject: [PATCH] Added a way to specify how often a quest type gets picked --- .../com/alttd/altitudequests/config/Config.java | 11 +++++++++++ .../com/alttd/altitudequests/objects/Quest.java | 14 +++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/alttd/altitudequests/config/Config.java b/src/main/java/com/alttd/altitudequests/config/Config.java index bf06dd3..7dbf058 100644 --- a/src/main/java/com/alttd/altitudequests/config/Config.java +++ b/src/main/java/com/alttd/altitudequests/config/Config.java @@ -44,4 +44,15 @@ public final class Config extends AbstractConfig { NPC_NAME = config.getString("settings.npc-name", NPC_NAME); DEBUG = config.getBoolean("settings.debug", DEBUG); } + + public static int MINE_QUEST_FREQ = 1; + public static int KILL_QUEST_FREQ = 1; + public static int COLLECT_QUEST_FREQ = 1; + public static int BREED_QUEST_FREQ = 1; + private static void loadQuestTypeFrequency() { + MINE_QUEST_FREQ = config.getInt("quest-type-frequency.mine", MINE_QUEST_FREQ); + KILL_QUEST_FREQ = config.getInt("quest-type-frequency.kill", KILL_QUEST_FREQ); + COLLECT_QUEST_FREQ = config.getInt("quest-type-frequency.collect", COLLECT_QUEST_FREQ); + BREED_QUEST_FREQ = config.getInt("quest-type-frequency.breed", BREED_QUEST_FREQ); + } } diff --git a/src/main/java/com/alttd/altitudequests/objects/Quest.java b/src/main/java/com/alttd/altitudequests/objects/Quest.java index 1c70180..e04b7c6 100644 --- a/src/main/java/com/alttd/altitudequests/objects/Quest.java +++ b/src/main/java/com/alttd/altitudequests/objects/Quest.java @@ -33,11 +33,15 @@ public abstract class Quest { // private static Quest weeklyQuest = null; private static final List> possibleQuests = new ArrayList<>(); - static { - possibleQuests.add(MineQuest.class); - possibleQuests.add(KillMobsQuest.class); - possibleQuests.add(CollectDropsQuest.class); - possibleQuests.add(BreedMobsQuest.class); + static { // maybe make this make more sense idk + for (int i = 0; i < Config.MINE_QUEST_FREQ; i++) + possibleQuests.add(MineQuest.class); + for (int i = 0; i < Config.KILL_QUEST_FREQ; i++) + possibleQuests.add(KillMobsQuest.class); + for (int i = 0; i < Config.COLLECT_QUEST_FREQ; i++) + possibleQuests.add(CollectDropsQuest.class); + for (int i = 0; i < Config.BREED_QUEST_FREQ; i++) + possibleQuests.add(BreedMobsQuest.class); } private final UUID uuid;