private static String formatMultiStateJson(String modid, Block block)
{
IMultiBlockStateBlock states = (IMultiBlockStateBlock) block;
IProperty<?>[] props = states.getProps();
StringBuilder sb = new StringBuilder();
for(IProperty<?> prop : props)
{
getJsonsForProps(prop, states, sb);
}
return String.format(""
+ "{"
+ "\t\"forge_marker\": 1,\n"
+ "\t\"defaults\": {\n"
+ "\t\t%s\n"
+ "}\n"
+ "\t\"variants\": {\n"
+ "\t\t\"normal\": [{}]\n"
+ "%s"
+ "\t}\n"
+ "}"
,states.getDefaultJson(), sb);
}
public static <T extends Comparable<T>> void getJsonsForProps(IProperty<T> prop, IMultiBlockStateBlock states, StringBuilder sb)
{
sb.append(String.format("\t\t\"%s\":{\n", prop.getName()));
for(T val : prop.getAllowedValues())
{
sb.append(String.format("\t\t\t\"%s\":{\n", prop.getName(val)));
sb.append(states.getJson(prop, val));
sb.append("\t\t\t}\n");
}
sb.append("\t\t}\n");
}
Comments