All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.redtea.carcadex.data.bukkitextensions.yaml.YamlRepo Maven / Gradle / Ivy

package me.redtea.carcadex.data.bukkitextensions.yaml;

import me.redtea.carcadex.data.bukkitextensions.yaml.strategy.ParseStrategy;
import me.redtea.carcadex.data.repo.impl.map.MapRepo;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.Plugin;

import java.io.File;

public class YamlRepo extends MapRepo {
    protected final File file;

    protected final Plugin plugin;

    protected final ParseStrategy parseStrategy;

    public YamlRepo(File file, Plugin plugin, ParseStrategy parseStrategy) {
        this.file = file;
        this.plugin = plugin;
        this.parseStrategy = parseStrategy;
        init();
    }


    protected FileConfiguration initFile() {
        if (!file.exists()) plugin.saveResource(file.getName(), false);
        return YamlConfiguration.loadConfiguration(file);
    }

    public void init() {
        data.putAll(parseStrategy.fromYaml(initFile()));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy