public void loadShapes(JsonValue shapes, float x, float y) {
    Body body = null;
    JsonValue types = shapes.get("shapes");

    if (types != null) {
      for (JsonValue shapeVal : types) {
        String shape = shapeVal.get("shape").asString();
        String type = shapeVal.get("type").asString();

        float[] pos = shapeVal.get("location").asFloatArray();
        float friction = shapeVal.get("friction").asFloat();
        float density = shapeVal.get("density").asFloat();

        JsonValue jsonName = shapeVal.get("name");
        Shape.TYPE typeLookup = Shape.TYPE.WALL;

        // looking up enum type
        if (type.equals("GROUND")) {
          typeLookup = Shape.TYPE.GROUND;
        } else if (type.equals("DEATH")) {
          typeLookup = Shape.TYPE.DEATH;
        }

        if (shape.equals("box")) {
          float[] size = shapeVal.get("size").asFloatArray();
          controller.createBox(
              typeLookup, pos[0] + x, pos[1] + y, size[0], size[1], friction, density);

        } else if (shape.equals("circle")) {
          float radius = shapeVal.get("radius").asFloat();
          controller.createCircle(typeLookup, pos[0] + x, pos[1] + y, radius, 0, 0);
        }

        // Only add named blocks
        if (jsonName != null && body != null) {
          String name = shapeVal.get("name").asString();
        }
      }
    }
  }
  public void loadPoints(JsonValue maps) {
    JsonValue points = maps.get("points");

    for (JsonValue value : points) {
      float[] pos = value.get("location").asFloatArray();
      String type = value.get("type").asString();
      String subtype = value.get("subtype").asString();
      Point.TYPE typeLookup = Point.TYPE.SPAWN;

      // looking up enum type
      if (type.equals("NODE")) {
        typeLookup = Point.TYPE.NODE;
        typeLookup = Point.TYPE.PICKUP;
      }
      controller.createPoint(typeLookup, subtype, pos[0], pos[1]);
    }
  }