package vazkii.minetunes.config;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import net.minecraft.client.Minecraft;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
import vazkii.minetunes.gui.GuiDevTools;
import vazkii.minetunes.lib.LibMisc;
public final class MTConfig {
private static final String CONFIG_FILE = "config.dat";
private static final String TAG_PLAY_MODE = "playMode";
private static final String TAG_HUD_ENABLED = "hudEnabled";
private static final String TAG_HUD_RELATIVE_TO = "hudRelativeTo";
private static final String TAG_HUD_POS_X = "hudPosX";
private static final String TAG_HUD_POS_Y = "hudPosY";
public static int playMode = 0;
public static boolean hudEnabled = true;
public static int hudRelativeTo = 0;
public static int hudPosX = 0;
public static int hudPosY = 0;
public static void findCompoundAndLoad() {
try {
File file = CacheHelper.getCacheFile(CONFIG_FILE);
NBTTagCompound cmp = CacheHelper.getCacheCompound(file);
if(cmp.hasNoTags())
findCompoundAndWrite(file);
else {
playMode = cmp.getInteger(TAG_PLAY_MODE);
hudEnabled = cmp.getBoolean(TAG_HUD_ENABLED);
hudRelativeTo = cmp.getInteger(TAG_HUD_RELATIVE_TO);
hudPosX = cmp.getInteger(TAG_HUD_POS_X);
hudPosY = cmp.getInteger(TAG_HUD_POS_Y);
}
} catch (IOException e) {
GuiDevTools.logThrowable(e);
}
}
public static void findCompoundAndWrite() {
try {
findCompoundAndWrite(CacheHelper.getCacheFile(CONFIG_FILE));
} catch (IOException e) {
GuiDevTools.logThrowable(e);
}
}
public static void findCompoundAndWrite(File f) {
NBTTagCompound cmp = new NBTTagCompound();
cmp.setInteger(TAG_PLAY_MODE, playMode);
cmp.setBoolean(TAG_HUD_ENABLED, hudEnabled);
cmp.setInteger(TAG_HUD_RELATIVE_TO, hudRelativeTo);
cmp.setInteger(TAG_HUD_POS_X, hudPosX);
cmp.setInteger(TAG_HUD_POS_Y, hudPosY);
CacheHelper.injectNBTToFile(f, cmp);
}
}