Let's try and load the jails from flatfile.
This commit is contained in:
@ -2,11 +2,13 @@ package com.graywolf336.jail;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import com.graywolf336.jail.beans.Jail;
|
||||
import com.graywolf336.jail.beans.SimpleLocation;
|
||||
|
||||
public class JailIO {
|
||||
private JailMain pl;
|
||||
@ -50,10 +52,22 @@ public class JailIO {
|
||||
break;
|
||||
default:
|
||||
//load the jails from flatfile
|
||||
if(flat.contains("jails"))
|
||||
pl.getLogger().info("Jails exists");
|
||||
if(flat.isConfigurationSection("jails")) {
|
||||
Set<String> jails = flat.getConfigurationSection("jails").getKeys(false);
|
||||
if(!jails.isEmpty()) {
|
||||
pl.getLogger().info("Jails configuration section exists and there are " + jails.size() + ".");
|
||||
for(String name : jails) {
|
||||
loadJail(name);
|
||||
}
|
||||
}else {
|
||||
pl.getLogger().warning("Jails configuration section exists but no jails are there.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
int s = pl.getJailManager().getJails().size();
|
||||
pl.getLogger().info("Loaded " + s + (s == 1 ? " jail." : " jails."));
|
||||
}
|
||||
|
||||
public void saveJail(Jail j) {
|
||||
@ -66,6 +80,7 @@ public class JailIO {
|
||||
String node = "jails." + j.getName() + ".";
|
||||
|
||||
//Corners
|
||||
flat.set(node + "world", j.getWorldName());
|
||||
flat.set(node + "top.x", j.getMaxPoint().getBlockX());
|
||||
flat.set(node + "top.y", j.getMaxPoint().getBlockY());
|
||||
flat.set(node + "top.z", j.getMaxPoint().getBlockZ());
|
||||
@ -77,15 +92,16 @@ public class JailIO {
|
||||
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());
|
||||
flat.set(node + "tps.in.pitch", j.getTeleportIn().getPitch());
|
||||
|
||||
//Tele out
|
||||
flat.set(node + "tps.free.world", j.getTeleportFree().getWorld().getName());
|
||||
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());
|
||||
flat.set(node + "tps.free.pitch", j.getTeleportFree().getPitch());
|
||||
|
||||
try {
|
||||
flat.save(new File(pl.getDataFolder(), "data.yml"));
|
||||
@ -98,4 +114,37 @@ public class JailIO {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void loadJail(String name) {
|
||||
switch(storage) {
|
||||
case 1:
|
||||
case 2:
|
||||
break;
|
||||
default:
|
||||
String node = "jails." + name + ".";
|
||||
Jail j = new Jail(pl, name);
|
||||
|
||||
j.setWorld(node + "world");
|
||||
j.setMaxPoint(new int[] {flat.getInt(node + "top.x"), flat.getInt(node + "top.y"), flat.getInt(node + "top.z")});
|
||||
j.setMinPoint(new int[] {flat.getInt(node + "bottom.x"), flat.getInt(node + "bottom.y"), flat.getInt(node + "bottom.z")});
|
||||
|
||||
j.setTeleportIn(new SimpleLocation(
|
||||
flat.getString(node + "world"),
|
||||
flat.getDouble(node + "tps.in.x"),
|
||||
flat.getDouble(node + "tps.in.y"),
|
||||
flat.getDouble(node + "tps.in.z"),
|
||||
(float) flat.getDouble(node + "tps.in.yaw"),
|
||||
(float) flat.getDouble(node + "tps.in.pitch")));
|
||||
j.setTeleportFree(new SimpleLocation(
|
||||
flat.getString(node + "tps.free.world"),
|
||||
flat.getDouble(node + "tps.free.x"),
|
||||
flat.getDouble(node + "tps.free.y"),
|
||||
flat.getDouble(node + "tps.free.z"),
|
||||
(float) flat.getDouble(node + "tps.free.yaw"),
|
||||
(float) flat.getDouble(node + "tps.free.pitch")));
|
||||
|
||||
pl.getJailManager().addJail(j, false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user