2022-05-21 00:38:34 +00:00
|
|
|
package com.alttd.altitudequests.config;;
|
|
|
|
|
|
2022-06-02 20:12:29 +00:00
|
|
|
import com.alttd.altitudequests.objects.variants.MineQuestObject;
|
2022-06-01 17:33:02 +00:00
|
|
|
import com.alttd.altitudequests.util.Logger;
|
2022-05-21 00:38:34 +00:00
|
|
|
import org.bukkit.Material;
|
|
|
|
|
import org.bukkit.configuration.ConfigurationSection;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
|
|
public class QuestsConfig extends AbstractConfig {
|
|
|
|
|
static QuestsConfig config;
|
|
|
|
|
|
|
|
|
|
public QuestsConfig() {
|
2022-06-01 17:33:02 +00:00
|
|
|
super(new File(System.getProperty("user.home") + File.separator + "share" + File.separator + "configs"
|
|
|
|
|
+ File.separator + "AltitudeQuests"), "quests.yml");
|
2022-05-21 00:38:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void reload() {
|
|
|
|
|
config = new QuestsConfig();
|
|
|
|
|
config.readConfig(QuestsConfig.class, null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static List<MineQuestObject> MINE_QUESTS = new ArrayList<>();
|
2022-06-02 20:12:29 +00:00
|
|
|
public static String MINE_QUEST_NAME = "<green>Mine quest</green>";
|
2022-06-01 17:33:02 +00:00
|
|
|
|
2022-05-21 00:38:34 +00:00
|
|
|
private static void loadMineQuests() {
|
|
|
|
|
MINE_QUESTS.clear();
|
|
|
|
|
ConfigurationSection configurationSection = config.getConfigurationSection("mining.possible_tasks");
|
2022-06-01 17:33:02 +00:00
|
|
|
if (configurationSection == null) {
|
|
|
|
|
Logger.warning("No mining quests in config");
|
|
|
|
|
return;
|
|
|
|
|
}
|
2022-05-21 00:38:34 +00:00
|
|
|
Set<String> keys = configurationSection.getKeys(false);
|
|
|
|
|
for (String key : keys) {
|
2022-06-01 17:33:02 +00:00
|
|
|
Material material = Material.valueOf(configurationSection.getString(key + ".material"));
|
2022-05-21 00:38:34 +00:00
|
|
|
MINE_QUESTS.add(new MineQuestObject(key,
|
2022-06-01 17:33:02 +00:00
|
|
|
configurationSection.getString(key + ".name"),
|
2022-05-21 00:38:34 +00:00
|
|
|
material,
|
2022-06-01 17:33:02 +00:00
|
|
|
configurationSection.getInt(key + ".amount"),
|
2022-06-02 20:12:29 +00:00
|
|
|
configurationSection.getStringList(key + ".quest-pages"),
|
|
|
|
|
configurationSection.getStringList(key + ".done-pages")));
|
2022-05-21 00:38:34 +00:00
|
|
|
}
|
2022-06-02 20:12:29 +00:00
|
|
|
MINE_QUEST_NAME = config.getString("mining.name", MINE_QUEST_NAME);
|
2022-05-21 00:38:34 +00:00
|
|
|
}
|
|
|
|
|
}
|