/* * This file is a part of the SteamWar software. * * Copyright (C) 2025 SteamWar.de-Serverteam * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package de.steamwar.lobby.special.advent; import de.steamwar.lobby.LobbySystem; 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.time.LocalDate; import java.time.Month; import java.util.ArrayList; import java.util.List; public class AdventsCalendar { private static List presentList = new ArrayList<>(); private static File file = new File(LobbySystem.getInstance().getDataFolder(), "presents.yml"); private static FileConfiguration fileConfiguration = YamlConfiguration.loadConfiguration(file); static { for (int i = 1; i <= 31; i++) { if (i > 24 && i < 31) continue; ConfigurationSection section = fileConfiguration.getConfigurationSection(i + ""); if (section == null) { section = fileConfiguration.createSection(i + ""); } presentList.add(new Present(i, section)); if (i == 24) { presentList.add(new Present(25, section)); presentList.add(new Present(26, section)); } } } public static List getPresentList() { return presentList; } public static void save() { long time = System.currentTimeMillis(); try { fileConfiguration.save(file); } catch (IOException e) { // Ignore } System.out.println("Save time: " + (System.currentTimeMillis() - time) + "ms"); } public static boolean active() { LocalDate localDate = LocalDate.now(); Month month = localDate.getMonth(); return month == Month.DECEMBER; } }