package com.yaohun.gameranking.manager; import com.yaohun.gameranking.GameRanking; import com.yaohun.gameranking.data.UserData; import com.yaohun.gameranking.data.UserJson; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; public class UserManager { private File manageFile; private FileConfiguration manageConfig; private HashMap userJsonMap = new HashMap<>(); public UserManager(){ manageFile = new File(GameRanking.inst().getDataFolder(),"user.yml"); manageConfig = YamlConfiguration.loadConfiguration(manageFile); for (String nickName : manageConfig.getKeys(false)){ this.userJsonMap.put(nickName,new UserJson(manageConfig,nickName)); } } public void SaveUserData(){ for (String nickName : userJsonMap.keySet()){ UserJson userJson = userJsonMap.get(nickName); manageConfig.set(nickName+".secUid",userJson.getSecUid()); manageConfig.set(nickName+".shortId",userJson.getShortId()); manageConfig.set(nickName+".avatarUrl",userJson.getAvatarUrl()); manageConfig.set(nickName+".dataObject",userJson.getDataObject().toString()); } try { manageConfig.save(manageFile); } catch (IOException e) { throw new RuntimeException(e); } } public boolean isUserJsonDataExit(String nickName){ if(this.userJsonMap.get(nickName) == null){ return false; } return true; } public UserJson getUserJsonData(String nickName){ if(isUserJsonDataExit(nickName)){ return this.userJsonMap.get(nickName); } return null; } public void setUserJsonData(String nickName,UserJson userJson) { this.userJsonMap.put(nickName,userJson); } public HashMap getUserJsonMap() { return userJsonMap; } }