GameRanking/src/main/java/com/yaohun/gameranking/manager/UserManager.java
2024-09-19 22:00:04 +08:00

65 lines
2.1 KiB
Java

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<String, UserJson> 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<String, UserJson> getUserJsonMap() {
return userJsonMap;
}
}