package tv.mineinthebox.essentials.managers; import java.io.File; import org.bukkit.Location; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import tv.mineinthebox.essentials.xEssentials; import tv.mineinthebox.essentials.instances.Warp; public class WarpManager { private final xEssentials pl; public WarpManager(xEssentials pl) { this.pl = pl; } /** * @author xize * @param name - the name of the warp * @return boolean */ public boolean isWarp(String name) { File f = new File(pl.getDataFolder() + File.separator + "warps" + File.separator + name.toLowerCase() + ".yml"); return f.exists(); } /** * @author xize * @param warpname - the name of the warp * @return Warp */ public Warp getWarp(String warpname, Player p) { if(isWarp(warpname)) { File f = new File(pl.getDataFolder() + File.separator + "warps" + File.separator + warpname.toLowerCase()+".yml"); FileConfiguration con = YamlConfiguration.loadConfiguration(f); return new Warp(con, f, p, pl); } throw new NullPointerException("warp does not exist"); } public void setWarp(String warpname, Player p, Location loc) { try { File f = new File(pl.getDataFolder() + File.separator + "warps" + File.separator + warpname.toLowerCase() + ".yml"); FileConfiguration con = YamlConfiguration.loadConfiguration(f); con.set("warp.name", warpname); con.set("warp.owner", p.getName()); con.set("warp.uuid", p.getUniqueId().toString()); con.set("warp.x", loc.getBlockX()); con.set("warp.y", loc.getBlockY()); con.set("warp.z", loc.getBlockZ()); con.set("warp.world", loc.getWorld().getName()); con.save(f); } catch(Exception e) { e.printStackTrace(); } } public Warp[] getWarps() { File dir = new File(pl.getDataFolder() + File.separator + "warps"); File[] files = dir.listFiles(); Warp[] warps = new Warp[files.length]; int i = 0; for(File f : files) { FileConfiguration con = YamlConfiguration.loadConfiguration(f); warps[i] = new Warp(con, f, pl); i++; } return warps; } public Warp[] getWarps(Player p) { File dir = new File(pl.getDataFolder() + File.separator + "warps"); File[] files = dir.listFiles(); int i = 0; Warp[] warps = new Warp[i]; for(File f : files) { FileConfiguration con = YamlConfiguration.loadConfiguration(f); Warp warp = new Warp(con, f, p, pl); if(warp.isOwner()) { warps[i] = warp; } i++; } return warps; } }