Hub / src / main / java / com / lifeknight / relaymchub / SpecialConfiguration.java
SpecialConfiguration.java
Raw
package com.lifeknight.relaymchub;

import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import com.lifeknight.relaymchub.statistics.StatisticsLeaderboard;
import com.lifeknight.relaymcutils.RelayMCUtils;
import com.lifeknight.relaymcutils.utilities.Configuration;
import com.lifeknight.relaymcutils.utilities.Parkour;
import com.lifeknight.relaymcutils.utilities.SmartNPC;

import java.io.File;

public class SpecialConfiguration extends Configuration {
    public SpecialConfiguration(File dataFolder, String id) {
        super(dataFolder, id);
    }

    @Override
    public void updateVariablesFromConfiguration() {
        super.updateVariablesFromConfiguration();
        StatisticsLeaderboard.readConfig(this.configurationAsJsonObject);
    }

    @Override
    public void updateConfigurationFromVariables() {
        JsonObject configAsJsonReplacement = new JsonObject();
        this.lastTime = System.currentTimeMillis();
        configAsJsonReplacement.add("time", new JsonPrimitive(this.lastTime));
        configAsJsonReplacement.add("smartNPCs", SmartNPC.getSmartNPCsAsJsonArray());
        configAsJsonReplacement.add("parkours", Parkour.getParkoursAsJsonArray());
        configAsJsonReplacement.add("leaderboards", StatisticsLeaderboard.getLeaderboardsAsJsonArray());
        configAsJsonReplacement.add("restart", new JsonPrimitive(RelayMCUtils.restart));
        this.configurationAsJsonObject = configAsJsonReplacement;
        this.writeToConfigurationFile();
        RelayMCUtils.info("Wrote configuration file.");
    }
}