{
    "outputPath" : "./src/main/java/electrosphere/net/parser/",
    "packageName" : "electrosphere.net.parser",
    "categories":[


        {
            "categoryName" : "Status",
            "data" : [
                {
                    "name" : "ready",
                    "type" : "FIXED_INT"
                }
            ],
            "messageTypes" : [
                {
                    "messageName" : "Ready",
                    "data" : [
                        "ready"
                    ]
                }
            ]
        },


        

        {
            "categoryName" : "World",
            "data" : [
                {
                    "name" : "worldSizeDiscrete",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "dynamicInterpolationRatio",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "randomDampener",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "worldMinX",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "worldMinY",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "worldMaxX",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "worldMaxY",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "worldX",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "worldY",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "value",
                    "type" : "FIXED_FLOAT"
                },




                {
                    "name" : "locationX",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "locationY",
                    "type" : "FIXED_INT"
                },


                {
                    "name" : "realLocationX",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "realLocationY",
                    "type" : "FIXED_FLOAT"
                },






                {
                    "name" : "macroValue00",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue01",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue02",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue03",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue04",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue10",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue11",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue12",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue13",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue14",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue20",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue21",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue22",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue23",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue24",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue30",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue31",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue32",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue33",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue34",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue40",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue41",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue42",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue43",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "macroValue44",
                    "type" : "FIXED_FLOAT"
                },



                {
                    "name" : "randomizerValue00",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue01",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue02",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue03",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue04",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue10",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue11",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue12",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue13",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue14",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue20",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue21",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue22",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue23",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue24",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue30",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue31",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue32",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue33",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue34",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue40",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue41",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue42",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue43",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "randomizerValue44",
                    "type" : "FIXED_LONG"
                }
            ],
            "messageTypes" : [
                {
                    "messageName" : "Metadata",
                    "data" : [
                        "worldSizeDiscrete",
                        "dynamicInterpolationRatio",
                        "randomDampener",
                        "worldMinX",
                        "worldMinY",
                        "worldMaxX",
                        "worldMaxY"
                    ]
                },
                {
                    "messageName" : "RequestChunk",
                    "data" : [
                        "worldX",
                        "worldY"
                    ]
                },
                {
                    "messageName" : "Update",
                    "data" : [
                        "locationX",
                        "locationY"
                    ]
                },
                {
                    "messageName" : "chunkLoadStart",
                    "data" : [
                        "worldX",
                        "worldY",
                        "value"
                    ]
                },
                {
                    "messageName" : "MacroValue",
                    "data" : [
                        "worldX",
                        "worldY",
                        "macroValue00",
                        "macroValue01",
                        "macroValue02",
                        "macroValue03",
                        "macroValue04",
                        "macroValue10",
                        "macroValue11",
                        "macroValue12",
                        "macroValue13",
                        "macroValue14",
                        "macroValue20",
                        "macroValue21",
                        "macroValue22",
                        "macroValue23",
                        "macroValue24",
                        "macroValue30",
                        "macroValue31",
                        "macroValue32",
                        "macroValue33",
                        "macroValue34",
                        "macroValue40",
                        "macroValue41",
                        "macroValue42",
                        "macroValue43",
                        "macroValue44",
                        "randomizerValue00",
                        "randomizerValue01",
                        "randomizerValue02",
                        "randomizerValue03",
                        "randomizerValue04",
                        "randomizerValue10",
                        "randomizerValue11",
                        "randomizerValue12",
                        "randomizerValue13",
                        "randomizerValue14",
                        "randomizerValue20",
                        "randomizerValue21",
                        "randomizerValue22",
                        "randomizerValue23",
                        "randomizerValue24",
                        "randomizerValue30",
                        "randomizerValue31",
                        "randomizerValue32",
                        "randomizerValue33",
                        "randomizerValue34",
                        "randomizerValue40",
                        "randomizerValue41",
                        "randomizerValue42",
                        "randomizerValue43",
                        "randomizerValue44"
                    ]
                },
                {
                    "messageName" : "heightMapModification",
                    "data" : [
                        "value",
                        "worldX",
                        "worldY",
                        "locationX",
                        "locationY"
                    ]
                },
                {
                    "messageName" : "SpawnPosition",
                    "data" : [
                        "realLocationX",
                        "realLocationY"
                    ]
                }
            ]
        },










        {
            "categoryName" : "Player",
            "data" : [
                {
                    "name" : "playerID",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "initialDiscretePositionX",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "initialDiscretePositionY",
                    "type" : "FIXED_INT"
                }
            ],
            "messageTypes" : [
                {
                    "messageName" : "Set_ID",
                    "data" : [
                        "playerID"
                    ]
                },
                {
                    "messageName" : "SetInitialDiscretePosition",
                    "data" : [
                        "initialDiscretePositionX",
                        "initialDiscretePositionY"
                    ]
                }
            ]
        },









        {
            "categoryName" : "Entity",
            "data" : [
                {
                    "name" : "entityCategory",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "entitySubtype",
                    "type" : "VAR_STRING"
                },
                {
                    "name" : "entityID",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "positionX",
                    "type" : "FIXED_DOUBLE"
                },
                {
                    "name" : "positionY",
                    "type" : "FIXED_DOUBLE"
                },
                {
                    "name" : "positionZ",
                    "type" : "FIXED_DOUBLE"
                },
                {
                    "name" : "rotationW",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "rotationX",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "rotationY",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "rotationZ",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "velocity",
                    "type" : "FIXED_FLOAT"
                },
                {
                    "name" : "treeState",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "propertyType",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "propertyValue",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "treeType",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "treeStatus",
                    "type" : "FIXED_INT"
                },
                {
                    "name" : "time",
                    "type" : "FIXED_LONG"
                },
                {
                    "name" : "bone",
                    "type" : "VAR_STRING"
                },
                {
                    "name" : "targetID",
                    "type" : "FIXED_INT"
                }
            ],
            "messageTypes" : [
                {
                    "messageName" : "Create",
                    "data" : [
                        "entityID",
                        "entityCategory",
                        "entitySubtype",
                        "positionX",
                        "positionY",
                        "positionZ"
                    ]
                },
                {
                    "messageName" : "SetPosition",
                    "data" : [
                        "entityID",
                        "time",
                        "positionX",
                        "positionY",
                        "positionZ"
                    ]
                },
                {
                    "messageName" : "setFacing",
                    "data" : [
                        "entityID",
                        "time",
                        "rotationX",
                        "rotationY",
                        "rotationZ"
                    ]
                },
                {
                    "messageName" : "moveUpdate",
                    "data" : [
                        "entityID",
                        "time",
                        "positionX",
                        "positionY",
                        "positionZ",
                        "rotationX",
                        "rotationY",
                        "rotationZ",
                        "velocity",
                        "treeState"
                    ]
                },
                {
                    "messageName" : "attackUpdate",
                    "data" : [
                        "entityID",
                        "time",
                        "positionX",
                        "positionY",
                        "positionZ",
                        "rotationX",
                        "rotationY",
                        "rotationZ",
                        "velocity",
                        "treeState"
                    ]
                },
                {
                    "messageName" : "Move",
                    "data" : [
                        "entityID",
                        "time",
                        "positionX",
                        "positionY",
                        "positionZ"
                    ]
                },
                {
                    "messageName" : "Destroy",
                    "data" : [
                        "entityID"
                    ]
                },
                {
                    "messageName" : "SetBehaviorTree",
                    "data" : [
                        "entityID",

                        "time",
                        "treeType",
                        "treeStatus"
                    ]
                },
                {
                    "messageName" : "setProperty",
                    "data" : [
                        "entityID",
                        "time",
                        "propertyType",
                        "propertyValue"
                    ]
                },
                {
                    "messageName" : "attachEntityToEntity",
                    "data" : [
                        "entityID",
                        "bone",
                        "targetID"
                    ]
                }



            ]
        }





    ]
}