Box2dLights Filtering

I’ve been trying to get lighting to filter depending on the box2d fixture. I’ve used filtering for collision detections which has worked fine but when filtering the objects that should have lights applied to them it doesn’t seem to make any change. All objects get the light apply to them. I’m using libgdx and box2d.

One thing I have noticed is that shadows are created as though there are objects at point (0,0). This leads me to think there could be an issue to do with the camera projection possibly but I’m not too sure.

Bitmasks:

  public static short CAT_PLAYER = 1;
    public static short CAT_BLOCK =2;
    public static short CAT_WALL_BLOCK = 4;
    public static short CAT_LIGHTING = 8;
    public static short CAT_COLLECTIBLE = 16;

    public static short GROUP = 0;

    public static short MASK_PLAYER = (short)(CAT_BLOCK | CAT_COLLECTIBLE);
    public static short MASK_BLOCK = (short)(CAT_PLAYER | CAT_COLLECTIBLE);
    public static short MASK_WALL_BLOCK = (short)(CAT_LIGHTING);
    public static short MASK_LIGHTING = (short)( CAT_BLOCK);
    public static short MASK_COLLECTIBLE = (short)(CAT_PLAYER | CAT_BLOCK);

Pointlight that is centred on the player:

    pointLight = new PointLight(rayHandler, 128, new Color(0.3f, 0.3f, 0.3f, 1f), 800, getX() + getWidth() / 2, getY() + getHeight() / 2);
        pointLight.setPosition(getX() + getWidth() / 2, getY() + getHeight() / 2);
        pointLight.setContactFilter(Constants.CAT_LIGHTING, Constants.GROUP, Constants.MASK_LIGHTING);

Blocks which should be ignored by the lighting:

   ChainShape shape = new ChainShape();
            shape.createLoop(vertices);
            FixtureDef fixtureDef = new FixtureDef();
            fixtureDef.shape = shape;
            fixtureDef.density = 0.1f;
            fixtureDef.restitution = 0;
            fixtureDef.filter.categoryBits = Constants.CAT_BLOCK;
            fixtureDef.filter.maskBits = Constants.MASK_BLOCK;
            getBody().createFixture(fixtureDef);
            shape.dispose();

Rayhandler after drawing all objects:

     rayHandler.setCombinedMatrix(Constants.camera.combined,
                Constants.camera.position.x, Constants.camera.position.y,
                Constants.camera.viewportWidth * Constants.camera.zoom,
                Constants.camera.viewportHeight * Constants.camera.zoom);
        rayHandler.updateAndRender();

If anybody can help it will be much appreciated! Let me know if any more information is required.