/**
* User: GenCloud
* Date: 02.07.2015
* Team: La2Era Team
*/
public class ConvSpawnL2jToOver
{
private static final List<SpawnInfo> spawn = new ArrayList<>();
private static ConvSpawnL2jToOver instance;
public ConvSpawnL2jToOver()
{
parse();
insert();
}
public static ConvSpawnL2jToOver getInstance()
{
return instance == null ? instance = new ConvSpawnL2jToOver() : null;
}
private void parse()
{
try
{
File file = new File("./data/spawn/data/spawn.xml");
SAXBuilder builder = new SAXBuilder();
builder.setXMLReaderFactory(XMLReaders.NONVALIDATING);
Document doc = builder.build(file);
for(final Element element : doc.getRootElement().getChildren())
{
String name = element.getName();
if (name.equalsIgnoreCase("location"))
{
final int npcId = Integer.parseInt(element.getAttributeValue("npcId"));
final int respawn = Integer.parseInt(element.getAttributeValue("respawn"));
final int x = Integer.parseInt(element.getAttributeValue("x"));
final int y = Integer.parseInt(element.getAttributeValue("y"));
final int z = Integer.parseInt(element.getAttributeValue("z"));
final int h = Integer.parseInt(element.getAttributeValue("respawn"));
SpawnInfo spawnInfo = new SpawnInfo(npcId, respawn, x, y, z, h);
spawn.add(spawnInfo);
}
}
}
catch (JDOMException | IOException e)
{
e.printStackTrace();
}
}
private void insert()
{
try
{
org.dom4j.Document doc = DocumentHelper.createDocument();
org.dom4j.Element element = doc.getRootElement();
spawn.forEach(s -> {
org.dom4j.Element spawnInfo = element.addElement("spawn");
spawnInfo.addAttribute("npcId", String.valueOf(s.getNpcId()));
spawnInfo.addAttribute("respawn", String.valueOf(s.getRespawnTime()));
org.dom4j.Element loc = spawnInfo.addElement("location");
loc.addAttribute("x", String.valueOf(s.getX()));
loc.addAttribute("y", String.valueOf(s.getY()));
loc.addAttribute("z", String.valueOf(s.getZ()));
loc.addAttribute("heading", String.valueOf(s.getH()));
});
org.dom4j.Document doc1 = doc.getDocument();
OutputFormat of = new OutputFormat("\t", true);
of.setOmitEncoding(false);
of.setEncoding("UTF-8");
XMLWriter writer = null;
File file = new File("./data/spawn/finish/spawn.xml");
try
{
writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF8"), of);
writer.write(doc1);
}
finally
{
if(writer != null)
{
writer.flush();
writer.close();
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}