More wooden materials, gui, mixins, registries

This commit is contained in:
paulevsGitch 2020-09-26 16:36:48 +03:00
parent 6ec2b53edd
commit 720103bd45
97 changed files with 2414 additions and 14 deletions

View file

@ -0,0 +1,92 @@
package paulevs.wooden;
public class Helper
{
public static final String MASK = "%name%";
public static final String[] BLOCKSTATES = new String[] {
"%name%_bark.json",
"%name%_button.json",
"%name%_door.json",
"%name%_fence.json",
"%name%_gate.json",
"%name%_ladder.json",
"%name%_log.json",
"%name%_planks.json",
"%name%_plate.json",
"%name%_slab.json",
"%name%_stairs.json",
"%name%_trapdoor.json",
"barrel_%name%.json",
"bar_stool_%name%.json",
"chair_%name%.json",
"chest_%name%.json",
"crafting_table_%name%.json",
"sign_%name%.json",
"striped_bark_%name%.json",
"striped_log_%name%.json",
"taburet_%name%.json"
};
public static final String[] BLOCKS = new String[] {
"%name%_bark.json",
"%name%_button.json",
"%name%_button_inventory.json",
"%name%_button_pressed.json",
"%name%_door_bottom.json",
"%name%_door_bottom_hinge.json",
"%name%_door_top.json",
"%name%_door_top_hinge.json",
"%name%_fence_gate_closed.json",
"%name%_fence_gate_open.json",
"%name%_fence_inventory.json",
"%name%_fence_post.json",
"%name%_fence_side.json",
"%name%_half_slab.json",
"%name%_inner_stairs.json",
"%name%_ladder.json",
"%name%_log.json",
"%name%_outer_stairs.json",
"%name%_planks.json",
"%name%_pressure_plate_down.json",
"%name%_pressure_plate_up.json",
"%name%_stairs.json",
"%name%_trapdoor.json",
"%name%_wall_gate_closed.json",
"%name%_wall_gate_open.json",
"barrel_%name%.json",
"barrel_%name%_open.json",
"bar_stool_%name%.json",
"chair_%name%.json",
"chair_%name%_top.json",
"crafting_table_%name%.json",
"empty_%name%.json",
"striped_bark_%name%.json",
"striped_log_%name%.json",
"taburet_%name%.json"
};
public static final String[] ITEMS = new String[] {
"%name%_bark.json",
"%name%_button.json",
"%name%_door.json",
"%name%_fence.json",
"%name%_gate.json",
"%name%_ladder.json",
"%name%_log.json",
"%name%_planks.json",
"%name%_plate.json",
"%name%_slab.json",
"%name%_stairs.json",
"%name%_trapdoor.json",
"barrel_%name%.json",
"bar_stool_%name%.json",
"chair_%name%.json",
"chest_%name%.json",
"crafting_table_%name%.json",
"sign_%name%.json",
"striped_bark_%name%.json",
"striped_log_%name%.json",
"taburet_%name%.json"
};
}

View file

@ -0,0 +1,93 @@
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) + "\",");
}
}
}