69 lines
2.7 KiB
Java
69 lines
2.7 KiB
Java
![]() |
package com.yaohun.aurechargedata.manage;
|
||
|
|
||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||
|
|
||
|
import java.io.File;
|
||
|
import java.io.IOException;
|
||
|
import java.util.HashMap;
|
||
|
import java.util.Map;
|
||
|
|
||
|
public class ConsumeManage {
|
||
|
private File file;
|
||
|
private FileConfiguration yml;
|
||
|
private String dataKey = "ConsumeData";
|
||
|
private HashMap<String,Double> consumeData = new HashMap<>();
|
||
|
private HashMap<String, Double> dayDataMap = new HashMap<>();
|
||
|
private HashMap<String, Double> monthDataMap = new HashMap<>();
|
||
|
|
||
|
public ConsumeManage(){
|
||
|
file = new File("plugins/AuRechargeData", "consume.yml");
|
||
|
yml = YamlConfiguration.loadConfiguration(file);
|
||
|
// 检查配置文件中是否包含 "RechargeData" 节点
|
||
|
if (yml.getConfigurationSection(dataKey) != null) {
|
||
|
// 遍历 "RechargeData" 节点下的所有键(用户名)
|
||
|
for (String name : yml.getConfigurationSection(dataKey).getKeys(false)) {
|
||
|
// 构建键路径前缀
|
||
|
String str = dataKey+"." + name + ".";
|
||
|
// 获取每日充值数据并存储到 dayDataMap
|
||
|
double day = yml.getDouble(str + "daydata");
|
||
|
dayDataMap.put(name, day);
|
||
|
// 获取每月充值数据并存储到 monthDataMap
|
||
|
double month = yml.getDouble(str + "monthdata");
|
||
|
monthDataMap.put(name, month);
|
||
|
// 获取长期充值数据并存储到 rechargeData
|
||
|
double term = yml.getDouble(str + "longTermData");
|
||
|
consumeData.put(name, term);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void SaveData(){
|
||
|
yml.set(dataKey,null);
|
||
|
// 保存 dayDataMap 到配置文件
|
||
|
for (Map.Entry<String, Double> entry : dayDataMap.entrySet()) {
|
||
|
String name = entry.getKey();
|
||
|
double dayData = entry.getValue();
|
||
|
yml.set(dataKey+"." + name + ".daydata", dayData);
|
||
|
}
|
||
|
// 保存 monthDataMap 到配置文件
|
||
|
for (Map.Entry<String, Double> entry : monthDataMap.entrySet()) {
|
||
|
String name = entry.getKey();
|
||
|
double monthData = entry.getValue();
|
||
|
yml.set(dataKey+"." + name + ".monthdata", monthData);
|
||
|
}
|
||
|
// 保存 rechargeData 到配置文件
|
||
|
for (Map.Entry<String, Double> entry : consumeData.entrySet()) {
|
||
|
String name = entry.getKey();
|
||
|
double longTermData = entry.getValue();
|
||
|
yml.set(dataKey+"." + name + ".longTermData", longTermData);
|
||
|
}
|
||
|
// 保存配置文件
|
||
|
try {
|
||
|
yml.save(file);
|
||
|
} catch (IOException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
}
|
||
|
}
|