2013-12-06 21:56:00 -06:00

102 lines
2.8 KiB
Java

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();
//Corners
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());
//Tele in
flat.set(node + "tps.in.x", j.getTeleportIn().getX());
flat.set(node + "tps.in.y", j.getTeleportIn().getY());
flat.set(node + "tps.in.z", j.getTeleportIn().getZ());
flat.set(node + "tps.in.pitch", j.getTeleportIn().getPitch());
flat.set(node + "tps.in.yaw", j.getTeleportIn().getYaw());
//Tele out
flat.set(node + "tps.free.x", j.getTeleportFree().getX());
flat.set(node + "tps.free.y", j.getTeleportFree().getY());
flat.set(node + "tps.free.z", j.getTeleportFree().getZ());
flat.set(node + "tps.free.pitch", j.getTeleportFree().getPitch());
flat.set(node + "tps.free.yaw", j.getTeleportFree().getYaw());
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;
}
}
}