package com.graywolf336.jail; import java.io.File; import java.io.IOException; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import com.graywolf336.jail.beans.Jail; public class JailIO { private JailMain pl; private FileConfiguration flat; private int storage; //0 = flatfile, 1 = sqlite, 2 = mysql public JailIO(JailMain plugin) { this.pl = plugin; String st = pl.getConfig().getString("storage.type", "flatfile"); if(st.equalsIgnoreCase("sqlite")) { storage = 1; }else if(st.equalsIgnoreCase("mysql")) { storage = 2; }else { storage = 0; } } public void prepareStorage() { switch(storage) { case 1: //prepare sqlite, I need to research this break; case 2: //prepare mysql, research this as well break; default: flat = YamlConfiguration.loadConfiguration(new File(pl.getDataFolder(), "data.yml")); break; } } public void loadJails() { switch(storage) { case 1: //load the jails from sqlite break; case 2: //load the jails from mysql break; default: //load the jails from flatfile if(flat.contains("jails")) pl.getLogger().info("Jails exists"); break; } } public void saveJail(Jail j) { switch(storage) { case 1: case 2: break; default: if(flat != null) { String node = "jails." + j.getName(); flat.set(node + "top.x", j.getMaxPoint().getBlockX()); flat.set(node + "top.y", j.getMaxPoint().getBlockY()); flat.set(node + "top.z", j.getMaxPoint().getBlockZ()); flat.set(node + "bottom.x", j.getMinPoint().getBlockX()); flat.set(node + "bottom.y", j.getMinPoint().getBlockY()); flat.set(node + "bottom.z", j.getMinPoint().getBlockZ()); try { flat.save(new File(pl.getDataFolder(), "data.yml")); } catch (IOException e) { pl.getLogger().severe("Unable to save the Jail data: " + e.getMessage()); } }else { pl.getLogger().severe("Storage not enabled, could not save the jail " + j.getName()); } break; } } }