gt22 icon

Untitled

gt22 | PRO | 11/02/16 05:34:07 PM UTC | 0 ⭐ | 572 👁️ | Never ⏰ | []
Java |

960 B

|

None

|

0 👍

/

0 👎

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