68 lines
2.6 KiB
Java
68 lines
2.6 KiB
Java
package de.mviper.adventskalender;
|
|
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
import org.bukkit.entity.Player;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.util.List;
|
|
|
|
public class CalendarData {
|
|
|
|
private static File file;
|
|
private static FileConfiguration customFile;
|
|
|
|
public static void setup() {
|
|
file = new File(Adventskalender.getInstance().getDataFolder(), "calendar.yml");
|
|
if (!file.exists()) {
|
|
try {
|
|
file.createNewFile();
|
|
} catch (IOException e) {
|
|
Adventskalender.getInstance().getLogger().severe("Konnte calendar.yml nicht erstellen: " + e.getMessage());
|
|
}
|
|
}
|
|
customFile = YamlConfiguration.loadConfiguration(file);
|
|
}
|
|
|
|
public static void save() {
|
|
try {
|
|
customFile.save(file);
|
|
} catch (IOException e) {
|
|
Adventskalender.getInstance().getLogger().severe("Konnte calendar.yml nicht speichern: " + e.getMessage());
|
|
}
|
|
}
|
|
|
|
public static boolean hasClaimed(Player player, int day) {
|
|
boolean isGlobal = Adventskalender.getInstance().getConfig().getBoolean("calendar.use_global_calendar");
|
|
if (isGlobal) {
|
|
List<Integer> claimedDays = customFile.getIntegerList("global_claimed_days");
|
|
return claimedDays.contains(day);
|
|
} else {
|
|
List<Integer> claimedDays = customFile.getIntegerList(player.getUniqueId().toString());
|
|
return claimedDays.contains(day);
|
|
}
|
|
}
|
|
|
|
public static void setClaimed(Player player, int day) {
|
|
boolean isGlobal = Adventskalender.getInstance().getConfig().getBoolean("calendar.use_global_calendar");
|
|
if (isGlobal) {
|
|
List<Integer> claimedDays = customFile.getIntegerList("global_claimed_days");
|
|
claimedDays.add(day);
|
|
customFile.set("global_claimed_days", claimedDays);
|
|
} else {
|
|
List<Integer> claimedDays = customFile.getIntegerList(player.getUniqueId().toString());
|
|
claimedDays.add(day);
|
|
customFile.set(player.getUniqueId().toString(), claimedDays);
|
|
}
|
|
save();
|
|
}
|
|
|
|
public static int getClaimedCount(Player player) {
|
|
if (Adventskalender.getInstance().getConfig().getBoolean("calendar.use_global_calendar")) {
|
|
return customFile.getIntegerList("global_claimed_days").size();
|
|
} else {
|
|
return customFile.getIntegerList(player.getUniqueId().toString()).size();
|
|
}
|
|
}
|
|
} |