2013-12-06 16:05:11 -06:00
|
|
|
package com.graywolf336.jail;
|
|
|
|
|
|
|
|
import java.io.File;
|
2013-12-06 21:47:03 -06:00
|
|
|
import java.io.IOException;
|
2013-12-06 16:05:11 -06:00
|
|
|
|
|
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
|
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
|
|
|
2013-12-06 21:47:03 -06:00
|
|
|
import com.graywolf336.jail.beans.Jail;
|
|
|
|
|
2013-12-06 16:05:11 -06:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
2013-12-06 21:47:03 -06:00
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
2013-12-06 16:05:11 -06:00
|
|
|
}
|