package com.yaohun.levelreward.config; import com.yaohun.levelreward.LevelReward; import com.yaohun.levelreward.data.RewardData; import me.Demon.DemonPlugin.DemonAPI; import me.Demon.DemonPlugin.data.GuiItemData; import me.Demon.DemonPlugin.data.LangData; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.inventory.ItemStack; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class Config { public static LangData langData; private static HashMap guiItemDataMap = new HashMap<>(); private static List rewardDataList = new ArrayList<>(); public static void reloadConfig(LevelReward plugin) { // 调用了DemonAPI中的LangData // 需要在AuLangs目录中创建一个 LevelReward.yml 文件存语言配置 langData = DemonAPI.getLangData("LevelReward"); plugin.reloadConfig(); plugin.saveConfig(); FileConfiguration config = plugin.getConfig(); loadGuiItemData(config); loadRewardSettings(config); } private static void loadRewardSettings(FileConfiguration config){ rewardDataList.clear(); ConfigurationSection section = config.getConfigurationSection("RewardSettings"); if(section == null) {return;} for (String rewardKey : section.getKeys(false)){ rewardDataList.add(new RewardData(rewardKey,section)); } } private static void loadGuiItemData(FileConfiguration configuration){ guiItemDataMap.clear(); ConfigurationSection section = configuration.getConfigurationSection("GuiItemData"); if(section == null){return;} for (String itemKey : section.getKeys(false)){ guiItemDataMap.put(itemKey,new GuiItemData(itemKey,section)); } } public static ItemStack getItemStack(String itemKey) { if(guiItemDataMap.containsKey(itemKey)){ return guiItemDataMap.get(itemKey).getItemStack().clone(); } return DemonAPI.getErrItems(); } public static List getRewardDataList() { return rewardDataList; } public static RewardData getRewardData(String rewardKey) { for (RewardData rewardData : rewardDataList){ if(rewardData.getRewardKey().equals(rewardKey)){ return rewardData; } } return null; } }