Problem with op check wasn't with isPlayerOp, it was in PermissionsHandler, passing a non-toLower()'d username :P