BetterEnd/utilities/paulevs/wooden/ModelHelper.java
2020-09-26 16:36:48 +03:00

93 lines
3.3 KiB
Java

package paulevs.wooden;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ModelHelper {
public static void main(String[] args) throws IOException {
new ModelHelper("nether_sakura");
}
private ModelHelper(String name) throws IOException {
clearOutput();
editBlockstates(name);
editBlocks(name);
editItems(name);
printStates(name);
}
private void clearOutput() {
for (File file: new File("./output/blockstates").listFiles())
file.delete();
for (File file: new File("./output/models/block").listFiles())
file.delete();
for (File file: new File("./output/models/item").listFiles())
file.delete();
}
private void editBlockstates(String name) throws IOException {
String string;
new File("./output/blockstates").mkdirs();
for (String state: Helper.BLOCKSTATES) {
InputStream stream = Helper.class.getResourceAsStream("/blockstates/" + state);
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
BufferedWriter wr = new BufferedWriter(new FileWriter(new File("./output/blockstates/" + state.replace(Helper.MASK, name))));
while ((string = br.readLine()) != null) wr.write(string.replace(Helper.MASK, name) + "\n");
wr.close();
br.close();
}
}
private void editBlocks(String name) throws IOException {
String string;
new File("./output/models/block").mkdirs();
for (String block: Helper.BLOCKS) {
InputStream stream = Helper.class.getResourceAsStream("/block/" + block);
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
BufferedWriter wr = new BufferedWriter(new FileWriter(new File("./output/models/block/" + block.replace(Helper.MASK, name))));
while ((string = br.readLine()) != null) wr.write(string.replace(Helper.MASK, name) + "\n");
wr.close();
br.close();
}
}
private void editItems(String name) throws IOException {
String string;
new File("./output/models/item").mkdirs();
for (String item: Helper.ITEMS) {
InputStream stream = Helper.class.getResourceAsStream("/item/" + item);
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
BufferedWriter wr = new BufferedWriter(new FileWriter(new File("./output/models/item/" + item.replace(Helper.MASK, name))));
while ((string = br.readLine()) != null) wr.write(string.replace(Helper.MASK, name) + "\n");
wr.close();
br.close();
}
}
private String capitalize(String str) {
String out = "";
for (int i = 0; i < str.length(); i++)
{
if (i == 0 || str.charAt(i - 1) == ' ')
out += Character.toUpperCase(str.charAt(i));
else
out += str.charAt(i);
}
return out;
}
private void printStates(String name) {
for (String state: Helper.BLOCKSTATES)
{
String rname = state.replace(Helper.MASK, name);
String onlyName = rname.substring(0, rname.indexOf('.'));
String finName = name.replace('_', ' ') + " " + state.substring(0, state.indexOf('.')).replace(Helper.MASK, "").replace('_', ' ').trim();
System.out.println("\"block.betternether." + onlyName + "\": \"" + capitalize(finName) + "\",");
}
}
}