deleted.user
Мошенник
- 321
- 43
Держите, может кому сгодится. И перегонщик течне и парсер звуков для модов.
Java:
public class OldTechneParser {
public static void main(String[] args) throws Exception {
File fXmlFile = new File("/путь/до/model.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Shape");
System.out.println("r=new ModelRenderer[" + nList.getLength() + "];");
for (int temp = 0; temp < nList.getLength(); ++temp) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() != 1) continue;
Element eElement = (Element)nNode;
System.out.println("r[" + temp + "] = new ModelRenderer(this," + eElement.getElementsByTagName("TextureOffset").item(0).getTextContent() + ");");
System.out.println("r[" + temp + "].addBox(" + OldTechneParser.parseFloat(eElement.getElementsByTagName("Offset").item(0).getTextContent()) + "," + eElement.getElementsByTagName("Size").item(0).getTextContent() + ");");
System.out.println("r[" + temp + "].setRotationPoint(" + OldTechneParser.parseFloat(eElement.getElementsByTagName("Position").item(0).getTextContent()) + ");");
System.out.println("setRotation(r[" + temp + "]," + OldTechneParser.parseFloat(eElement.getElementsByTagName("Rotation").item(0).getTextContent()) + ");");
}
}
public static String parseFloat(String in) {
String[] ar = in.split(",");
StringBuilder b = new StringBuilder();
for (int i = 0; i < ar.length; ++i) {
b.append(ar[i]).append("f");
if (i == ar.length - 1) continue;
b.append(",");
}
return b.toString();
}
}
Java:
public class Sound {
public static void main(String[] args) {
try {
File file = new File("sounds.json");
file.delete();
file.createNewFile();
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write("{\n");
for (File s : new File("путь/до/папки/с/звуками").listFiles()) {
if (s.isFile()) {
String a = s.getName().replace(".ogg", "");
bw.write("\"" + a + "\":{\"category\":\"player\",\"sounds\":[\"" + a + "\"]},\n");
continue;
}
Sound.parseFolder(bw, s.getName() + "/", s);
}
bw.write("}");
bw.flush();
bw.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void parseFolder(BufferedWriter bw, String dirName, File file) throws Exception {
for (File s : file.listFiles()) {
if (s.isFile()) {
String a = s.getName().replace(".ogg", "");
bw.write("\"" + dirName + a + "\":{\"category\":\"player\",\"sounds\":[\"" + dirName + a + "\"]},\n");
continue;
}
Sound.parseFolder(bw, dirName + s.getName() + "/", s);
}
}
}