huh i got sth wrong

This commit is contained in:
zimzaza4
2024-07-22 13:43:37 +08:00
parent 22830ac485
commit fb4682b038
2 changed files with 27 additions and 17 deletions

View File

@@ -8,6 +8,7 @@ import re.imc.geysermodelenginepackgenerator.generator.*;
import java.io.File; import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
@@ -50,13 +51,6 @@ public class GeneratorMain {
canAdd = true; canAdd = true;
textureMap.put(modelId, new Texture(modelId, currentPath, e.toPath())); textureMap.put(modelId, new Texture(modelId, currentPath, e.toPath()));
} }
if (e.getName().equals("config.properties")) {
try {
entity.getProperties().load(new FileReader(e));
} catch (IOException ex) {
ex.printStackTrace();
}
}
if (e.getName().endsWith(".json")) { if (e.getName().endsWith(".json")) {
try { try {
String json = Files.readString(e.toPath()); String json = Files.readString(e.toPath());
@@ -81,6 +75,17 @@ public class GeneratorMain {
} }
} }
if (canAdd) { if (canAdd) {
File config = new File(folder, "config.properties");
try {
if (config.exists()) {
entity.getProperties().load(new FileReader(config));
} else {
entity.getProperties().setProperty("enable-part-visibility", "false");
entity.getProperties().store(new FileWriter(config), "For some reasons, the part visibility render controller may cause client crash");
}
} catch (IOException ex) {
ex.printStackTrace();
}
entity.setPath(currentPath); entity.setPath(currentPath);
entityMap.put(modelId, entity); entityMap.put(modelId, entity);
} }

View File

@@ -2,6 +2,7 @@ package re.imc.geysermodelenginepackgenerator.generator;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import re.imc.geysermodelenginepackgenerator.GeneratorMain;
import java.util.List; import java.util.List;
@@ -37,19 +38,23 @@ public class RenderController {
JsonArray textures = new JsonArray(); JsonArray textures = new JsonArray();
textures.add("Texture.default"); textures.add("Texture.default");
controller.add("textures", textures); controller.add("textures", textures);
Entity entity = GeneratorMain.entityMap
.get(modelId);
boolean enable = Boolean.parseBoolean(entity.getProperties().getProperty("enable-part-visibility", "false"));
JsonArray partVisibility = new JsonArray(); if (enable) {
JsonObject visibilityDefault = new JsonObject(); JsonArray partVisibility = new JsonArray();
visibilityDefault.addProperty("*", true); JsonObject visibilityDefault = new JsonObject();
partVisibility.add(visibilityDefault); visibilityDefault.addProperty("*", true);
partVisibility.add(visibilityDefault);
for (String bone : bones) { for (String bone : bones) {
JsonObject visibilityItem = new JsonObject(); JsonObject visibilityItem = new JsonObject();
visibilityItem.addProperty(bone, "query.property('" + modelId + ":" + bone + "')"); visibilityItem.addProperty(bone, "query.property('" + modelId + ":" + bone + "')");
partVisibility.add(visibilityItem); partVisibility.add(visibilityItem);
}
controller.add("part_visibility", partVisibility);
} }
controller.add("part_visibility", partVisibility);
return root.toString(); return root.toString();
} }